Vision and Mobile Robotics Laboratory | Software
|
|
Home | Members | Projects | Publications | Software | Videos | Internal |
Computes the area of overlap between two meshes. A graphic display shows the
points on each mesh that are considered overlapping. A point is considered overlapping
if the closest point on the other mesh surface is not on the boundary of the
mesh and if the normals of the two points are similar (within a user specified
threshold). Overlapping area is computed using one of the user specified methods
to approximate the area of triangles that straddle boundaries.
Overlap.c command line interface and mesh display routines
Usage: Overlap - computes overlapping regions of two meshes (see Overlap.html for details)
%S mesh1 wrl file [required]
%S mesh2 wrl file [required]
-readTrans %S transform mapping 2 to 1 [optional]
-calc %d set which overlap calc to perform [0]: 0 = both, 1 = mesh1 overlaps mesh2, 2 = mesh2 overlaps mesh1
-normalT %F angle threshold (in degrees) for compatible normals [45]
-sigmoid %F %F midpoint offset (dmid) [500] and slope (k) [1] parameters in sigmoid function
-area_method %d method for calculating overlap area [0] 0 = approximation by thirds, 1 = binary search on edges
-edgeT %F stopping condition for computing overlap boundary on an edge (only used for area method) [100]
-closeT %F threshold distance for definition of close [500]
-noDisplay do not open graphics display [off]
-histogram %S save distances to a file for generating histogram [off]
-scale %F multiplier for scaling length to a useful unit [0.001]
%S mesh1 wrl file [required]
In standard wrl file format.
%S mesh2 wrl file [required]
In standard wrl file format.
-readTrans %S transform mapping 2 to 1 [optional]
Read transformation from file of six floats. Mesh2 will be transformed before overlap calculations are performed.
-calc %d set which overlap calc to perform [0]: 0 = both, 1 = mesh1 overlaps mesh2, 2 = mesh2 overlaps mesh1
Overlap is not symmetric. Set to 1 or 2 if you are only interested in one one direction of calculations. This will speed up program execution by 50%.
-normalT %F angle threshold (in degrees) for compatible normals [45]
A point on a mesh will not be considered overlapping if the normal of the closest point on the other mesh is different by more than this angle.
-sigmoid %F %F midpoint offset (dmid) [500] and slope (k) [1] parameters in sigmoid function
Parameters to control the sigmoid function. sigmoid(x) = exp(k*(dmid - x)) / (1 + exp(k*(dmid - x))). Dmid is the distance such that sigmoid(dmid) = 0.5. k controls the slope of the sigmoid, with larger values giving a steeper slope.
-area_method %d method for calculating overlap area [0] 0 = approximation by thirds, 1 = binary search on edges
This only affects triangles that partially overlap. With approximation by thirds, the overlapping area of a triangle is the original area * *number of overlapping points) / 3. With binary search, a more accurate area approximation is computed by searching for the boundary point along edges that transition from overlapping to non-overlapping.
-edgeT %F stopping condition for computing overlap boundary on an edge (only used for area method) [100]
When using the binary search area calculation method, this is the edge length stopping condition during the binary search. The true boundary must be within this distance of the computed value.
-closeT %F threshold distance for definition of close [500]
When reporting percent of surface that is close, this threshold is used to determine which points are close.
-noDisplay do not open graphics display [off]
Useful for text only processing.
-histogram %S save distances to a file for generating histogram [off]
research use only
-scale %F multiplier for scaling length to a useful unit [0.001]
This option scales the length and area units appropriately for the units of your scanner. For example, if the scanner outputs data in millimeters, then multiplying by 0.001 will convert to meters, and Overlap will give results in meters and square meters.
Here we do the simplest overlap calculation between mesh1.wrl and mesh2.wrl, where m12.trans is the transformation from coordinates of mesh2 to mesh1:
Overlap mesh1.wrl mesh2.wrl -readTrans m12.trans