distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMindistance_cc_min (算子)
名称
distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMindistance_cc_min — 计算两个轮廓之间的最小距离。
签名
描述
distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMinDistanceCcMindistance_cc_min calculates the minimum distance between
two contours Contour1Contour1Contour1Contour1contour1contour_1 and Contour2Contour2Contour2Contour2contour2contour_2.
The minimum distance is returned in DistanceMinDistanceMinDistanceMinDistanceMindistanceMindistance_min。
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 between 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 between 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 between 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 iconic input parameters must contain the same number of contours.
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在内部数据级别上自动并行化。
参数
Contour1Contour1Contour1Contour1contour1contour_1 (输入对象) xld_cont(-array) → objectHXLDContHObjectHXLDContHobject
First input contour.
Contour2Contour2Contour2Contour2contour2contour_2 (输入对象) xld_cont(-array) → objectHXLDContHObjectHXLDContHobject
Second input contour.
ModeModeModeModemodemode (输入控制) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Distance calculation mode.
默认值:
'fast_point_to_segment'
"fast_point_to_segment"
"fast_point_to_segment"
"fast_point_to_segment"
"fast_point_to_segment"
"fast_point_to_segment"
值列表:
'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"
DistanceMinDistanceMinDistanceMinDistanceMindistanceMindistance_min (输出控制) number(-array) → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Minimum distance between the two contours.
示例(C)
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_minDistanceCcMinDistanceCcMinDistanceCcMindistance_cc_min 返回 2 ( H_MSG_TRUE )。
替代
distance_scdistance_scDistanceScDistanceScDistanceScdistance_sc,
distance_pcdistance_pcDistancePcDistancePcDistancePcdistance_pc,
distance_ccdistance_ccDistanceCcDistanceCcDistanceCcdistance_cc,
distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXldDistanceContoursXlddistance_contours_xld
另见
distance_srdistance_srDistanceSrDistanceSrDistanceSrdistance_sr,
distance_prdistance_prDistancePrDistancePrDistancePrdistance_pr
模块
基础