Changeset 7d8669


Ignore:
Timestamp:
Sep 17, 2014, 10:36:48 PM (11 years ago)
Author:
Frederik Heber <heber@…>
Parents:
2971aa
git-author:
Frederik Heber <heber@…> (07/21/14 08:20:10)
git-committer:
Frederik Heber <heber@…> (09/17/14 22:36:48)
Message:

FAIL: Modified calculateErrorOfMatching() to measure error as deviation from mean rotation angle.

  • distances between points for a equidistantly distributed set of points on a sphere does not sound too sensible. We now calculate the average rotation angle between the two given sets of points and give the L1/L2 error as maximum and squared average difference to this mean.
  • the modified calculateErrorOfMatching() does not work as intended: The idea was to detect the case where a single rotation will make the two distributions coincide. We have unit tests that simulate exactly this case: they rotate the ideal distribution and serve it to the getRemainingPoints(). However, there they are all rotated by the same angle around the same axis. In the modified function we just measure the angle between old and new position irrespective of this (unknown) axis which leads to different angles even if they should be the same if we were to measure it with respect to the original rotation axis. Either we have to fix the rotation axis as well or this ansatz simply does not work as intended.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Fragmentation/Exporters/SphericalPointDistribution.cpp

    r2971aa r7d8669  
    483483    axis.Normalize();
    484484    const double distance = newcenter.Angle(oldcenter);
     485    LOG(6, "DEBUG: Angle between old " << oldcenter << " and new center "
     486        << newcenter << " is " << distance);
    485487    distances.push_back(distance);
    486488    mean += distance;
Note: See TracChangeset for help on using the changeset viewer.