distance_cc_min — Berechnen des minimalen Abstandes zwischen zwei Konturen.
distance_cc_min(Contour1, Contour2 : : Mode : DistanceMin)
distance_cc_min berechnet den minimalen Abstand zwischen zwei
Konturen.
Als Eingabe werden die beiden Konturen Contour1, Contour2
erwartet. Das Ergebnis wird in DistanceMin übergeben.
Der Parameter Mode gibt dabei an, auf welche Weise der Abstand
berechnet wird. 'point_to_point' bestimmt nur die
nächstgelegenen Konturpunkte und deren Abstand,
'fast_point_to_segment' berechnet den Abstand der Liniensegmente
in der Umgebung dieser Eckpunkte und 'point_to_segment' bestimmt
den tatsächlichen minimalen Abstand der Kontursegmente.
Während 'point_to_point' und 'fast_point_to_segment' effiziente Algorithmen der Komplexität n*log(n) sind, hat 'point_to_segment' quadratische Komplexität, die sich in einer längeren Rechenzeit niederschlägt, insbesondere bei Konturen mit vielen Liniensegmenten.
Die beiden ikonischen Eingabeparameter müssen die gleiche Anzahl von Konturen enthalten.
Contour1 (input_object) xld_cont(-array) → object
Erste Eingabekontur.
Contour2 (input_object) xld_cont(-array) → object
Zweite Eingabekontur.
Mode (input_control) string → (string)
Art der Abstandsberechnung.
Defaultwert: 'fast_point_to_segment'
Werteliste: 'fast_point_to_segment', 'point_to_point', 'point_to_segment'
DistanceMin (output_control) number(-array) → (real)
Minimaler Abstand zwischen beiden Konturen.
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_min liefert den Wert 2 (H_MSG_TRUE).
distance_sc,
distance_pc,
distance_cc,
distance_contours_xld
Foundation