Name
distance_cc_mindistance_cc_minDistanceCcMindistance_cc_minDistanceCcMinDistanceCcMin — Calculate the minimum distance between two contours.
distance_cc_mindistance_cc_minDistanceCcMindistance_cc_minDistanceCcMinDistanceCcMin calculates the minimum distance between
two contours Contour1Contour1Contour1Contour1Contour1contour1 and Contour2Contour2Contour2Contour2Contour2contour2.
The minimum distance is returned in DistanceMinDistanceMinDistanceMinDistanceMinDistanceMindistanceMin.
The parameter ModeModeModeModeModemode sets the type of computing the distance.
'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point""point_to_point" determines the distance of the closest contour
points, 'fast_point_to_segment'"fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment" calculates the
distance of the line segments adjacent to these points, and
'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment" determines the actual minimum
distance of the contour segments.
While 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point""point_to_point" and 'fast_point_to_segment'"fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment"
are efficient algorithms with a complexity of n*log(n),
'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment" has quadratic complexity and thus
takes a longer time to execute, especially for contours with many line
segments.
Both input parameters must contain the same number of contours.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on internal data level.
Distance calculation mode.
Default value:
'fast_point_to_segment'
"fast_point_to_segment"
"fast_point_to_segment"
"fast_point_to_segment"
"fast_point_to_segment"
"fast_point_to_segment"
List of values: 'fast_point_to_segment'"fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment", 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point""point_to_point", 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment"
Minimum distance between the two contours.
gen_contour_polygon_rounded_xld(Cont1, [0,100,100,0,0], [0,0,100,100,0],
[50,50,50,50,50], 0.5);
gen_contour_polygon_rounded_xld(Cont2, [41,91,91,41,41], [41,41,91,91,41],
[25,25,25,25,25], 0.5);
distance_cc_min(Cont1, Cont2, "fast_point_to_segment", &distance_min);
distance_cc_mindistance_cc_minDistanceCcMindistance_cc_minDistanceCcMinDistanceCcMin returns 2 (H_MSG_TRUE).
distance_scdistance_scDistanceScdistance_scDistanceScDistanceSc,
distance_pcdistance_pcDistancePcdistance_pcDistancePcDistancePc,
distance_ccdistance_ccDistanceCcdistance_ccDistanceCcDistanceCc,
distance_contours_xlddistance_contours_xldDistanceContoursXlddistance_contours_xldDistanceContoursXldDistanceContoursXld
distance_srdistance_srDistanceSrdistance_srDistanceSrDistanceSr,
distance_prdistance_prDistancePrdistance_prDistancePrDistancePr
Foundation