visual3d:documentation:pipeline:signal_commands:compute_distance_map
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
visual3d:documentation:pipeline:signal_commands:compute_distance_map [2024/06/19 12:52] – sgranger | visual3d:documentation:pipeline:signal_commands:compute_distance_map [2024/07/17 15:46] (current) – created sgranger | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | {{{{{{{{{{{{{{{{====== | + | ====== |
- | this command will color two regions of interest (roi) on opposing segments, and calculate the weighted-average contact point on each one. the rois are defined in obj files created with dsx. | + | ===== Compute Distance Map ===== |
- | distance maps: | + | This command will color two regions of interest (ROI) on opposing segments, and calculate the weighted-average contact point on each one. The ROIs are defined in OBJ files created with DSX. |
- | * each vertex is colored according to its closest distance to the other surface (which can be to a vertex, edge, or triangle of the other surface). smooth shading is used so that a triangle' | + | Distance maps: |
- | contact point: | + | * Each vertex is colored according to its closest distance to the other surface (which can be to a vertex, edge, or triangle of the other surface). Smooth shading is used so that a triangle' |
- | | + | Contact point: |
- | * the contact point is the weighted minimum distance ([[#contact_path|_contact]]) | + | |
+ | | ||
+ | * The contact point is the weighted minimum distance ([[#Contact_Path|_Contact]]) | ||
\\ | \\ | ||
- | ===== background ===== | + | ==== Background |
- | a polygonal surface mesh is defined by a set of faces, each of which is defined by a set of vertices connected by edges. | + | A polygonal surface mesh is defined by a set of faces, each of which is defined by a set of vertices connected by edges. |
- | compute_distance_map_vertex_triangles.png | + | {{:compute_distance_map_vertex_triangles.png}} |
- | a normal vector is defined for each triangle, vertex and edge: | + | A normal vector is defined for each triangle, vertex and edge: |
- | normals|{{/ | + | {{:normals|{{/ |
- | ===== command output ===== | + | ==== Command Output |
**** | **** | ||
**** | **** | ||
- | |for every result name specified, there will be 6 results:\\ \\ * resultname_segmentname[[#minimum_distance|_min]]\\ * resultname_segmentname[[#contact_path|_contact]]\\ * resultname_segmentname[[#min_vertex_distances|_vert]] | compute_distance_map_data_tree.png| | + | |For every Result Name specified, there will be 6 results:\\ \\ * ResultName_SegmentName[[#Minimum_Distance|_Min]]\\ * ResultName_SegmentName[[#Contact_Path|_Contact]]\\ * ResultName_SegmentName[[#Min_Vertex_Distances|_Vert]] | |
**** | **** | ||
**** | **** | ||
- | the result for _min and _contact | + | The result for _Min and _Contact |
+ | |||
+ | === Minimum Distance === | ||
- | ==== minimum distance | + | |The minimum distance |
- | |the minimum distance between each triangle on one segment' | + | === Contact Point === |
- | ==== contact point ==== | + | The weighted minimum distance between the two segments. |
- | the weighted | + | * Once each triangle has been assigned a minimum distance, a preliminary contact point is found by calculating a weighted average of all the triangle centers. Each center is weighted |
- | * once each triangle has been assigned a minimum distance, a preliminary contact point is found by calculating a weighted average of all the triangle centers. each center is weighted by the triangle' | + | === Min Vertex Distances === |
- | ==== min vertex | + | This is the minimum distance value that is used to color each vertex |
- | this is the minimum distance value that is used to color each vertex in the obj. | + | **Note:** Do not click on this signal and open the data view, Visual3D will not be able to open the data view due to the number of columns. |
- | **note:** do not click on this signal and open the data view, visual3d will not be able to open the data view due to the number of columns. | + | === Sign of the Minimum Distance === |
- | ==== sign of the minimum | + | Any of the distances calculated by this command can be positive (the opposing ROI surfaces do not intersect) or negative (the surfaces intersect). The sign of each distance |
- | any of the distances calculated by this command can be positive (the opposing roi surfaces do not intersect) or negative (the surfaces intersect). the sign of each distance is calculated using the appropriate normal vector (triangle, edge, or vertex). for example, to determine which side of a triangle a given vertex is on, the vector from the vertex to the triangle is compared to the normal of the triangle. | + | ==== Command Dialog ==== |
- | ===== command dialog ===== | + | |**Result Signal Information: |
- | |**result signal information: | + | ==== Drawing |
- | ===== drawing | + | |You can draw the contact |
- | |you can draw the contact point and its path on the surface: | + | === Steps === |
- | ==== steps ==== | + | |For every Result Name specified, there will be 6 results:\\ \\ * ResultName_SegmentName[[# |
- | |for every result name specified, there will be 6 results:\\ \\ * resultname_segmentname[[# | + | |* Target Size: |
- | |* target size:\\ * size of contact | + | **NOTE:** If the contact |
- | **note:** if the contact point is still too large, go to **settings -> modify scale of 3d graphics** and decrease the target size. | + | === Camera Settings === |
- | ==== camera settings ==== | + | The skeleton toggle button on the toolbar turns segment drawings on/off: |
- | the skeleton toggle button | + | * All on |
+ | * Kinematic | ||
+ | * Kinetic on | ||
+ | * All off | ||
- | * all on | + | You can set one segment to be always drawn by right click on the segment name under Kinetic_Kinematic in the data tree, and selecting "Draw Segment Properties" |
- | * kinematic on | + | |
- | * kinetic on | + | |
- | * all off | + | |
- | you can set one segment to be always drawn by right click on the segment name under kinetic_kinematic in the data tree, and selecting "draw segment properties" | + | You can manually adjust |
- | you can manually adjust the camera perspective: | + | * Right Mouse: Zoom in/out |
+ | * Left Mouse: Rotation | ||
+ | * Right + Left Mouse: Translate | ||
- | * right mouse: zoom in/out | + | You can set the camera perspective to lock onto a segment by going to View -> Set Camera Perspective. |
- | * left mouse: rotation | + | |
- | * right + left mouse: translate | + | |
- | you can set the camera perspective to lock onto a segment by going to view -> set camera perspective. | ||
- | }}}}}}}}}}}}}}}} |
visual3d/documentation/pipeline/signal_commands/compute_distance_map.1718801573.txt.gz · Last modified: 2024/06/19 12:52 by sgranger