distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMindistance_cc_min (Operator)

Name

distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMindistance_cc_min — Berechnen des minimalen Abstandes zwischen zwei Konturen.

Signatur

distance_cc_min(Contour1, Contour2 : : Mode : DistanceMin)

Herror distance_cc_min(const Hobject Contour1, const Hobject Contour2, const char* Mode, double* DistanceMin)

Herror T_distance_cc_min(const Hobject Contour1, const Hobject Contour2, const Htuple Mode, Htuple* DistanceMin)

void DistanceCcMin(const HObject& Contour1, const HObject& Contour2, const HTuple& Mode, HTuple* DistanceMin)

HTuple HXLDCont::DistanceCcMin(const HXLDCont& Contour2, const HString& Mode) const

HTuple HXLDCont::DistanceCcMin(const HXLDCont& Contour2, const char* Mode) const

HTuple HXLDCont::DistanceCcMin(const HXLDCont& Contour2, const wchar_t* Mode) const   (Nur Windows)

static void HOperatorSet.DistanceCcMin(HObject contour1, HObject contour2, HTuple mode, out HTuple distanceMin)

HTuple HXLDCont.DistanceCcMin(HXLDCont contour2, string mode)

def distance_cc_min(contour_1: HObject, contour_2: HObject, mode: str) -> Sequence[float]

def distance_cc_min_s(contour_1: HObject, contour_2: HObject, mode: str) -> float

Beschreibung

distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMinDistanceCcMindistance_cc_min berechnet den minimalen Abstand zwischen zwei Konturen. Als Eingabe werden die beiden Konturen Contour1Contour1Contour1Contour1contour1contour_1, Contour2Contour2Contour2Contour2contour2contour_2 erwartet. Das Ergebnis wird in DistanceMinDistanceMinDistanceMinDistanceMindistanceMindistance_min übergeben.

Der Parameter ModeModeModeModemodemode gibt dabei an, auf welche Weise der Abstand berechnet wird. 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point""point_to_point" bestimmt nur die nächstgelegenen Konturpunkte und deren Abstand, 'fast_point_to_segment'"fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment" berechnet den Abstand der Liniensegmente in der Umgebung dieser Eckpunkte und 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment" bestimmt den tatsächlichen minimalen Abstand der Kontursegmente.

Während 'point_to_point'"point_to_point""point_to_point""point_to_point""point_to_point""point_to_point" und 'fast_point_to_segment'"fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment" effiziente Algorithmen der Komplexität n*log(n) sind, hat 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment" quadratische Komplexität, die sich in einer längeren Rechenzeit niederschlägt, insbesondere bei Konturen mit vielen Liniensegmenten.

Achtung

Die beiden ikonischen Eingabeparameter müssen die gleiche Anzahl von Konturen enthalten.

Ausführungsinformationen

Parameter

Contour1Contour1Contour1Contour1contour1contour_1 (input_object)  xld_cont(-array) objectHXLDContHObjectHXLDContHobject

Erste Eingabekontur.

Contour2Contour2Contour2Contour2contour2contour_2 (input_object)  xld_cont(-array) objectHXLDContHObjectHXLDContHobject

Zweite Eingabekontur.

ModeModeModeModemodemode (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Art der Abstandsberechnung.

Defaultwert: 'fast_point_to_segment' "fast_point_to_segment" "fast_point_to_segment" "fast_point_to_segment" "fast_point_to_segment" "fast_point_to_segment"

Werteliste: '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 (output_control)  number(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Minimaler Abstand zwischen beiden Konturen.

Beispiel (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);

Ergebnis

distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMinDistanceCcMindistance_cc_min liefert den Wert TRUE.

Alternativen

distance_scdistance_scDistanceScDistanceScDistanceScdistance_sc, distance_pcdistance_pcDistancePcDistancePcDistancePcdistance_pc, distance_ccdistance_ccDistanceCcDistanceCcDistanceCcdistance_cc, distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXldDistanceContoursXlddistance_contours_xld

Siehe auch

distance_srdistance_srDistanceSrDistanceSrDistanceSrdistance_sr, distance_prdistance_prDistancePrDistancePrDistancePrdistance_pr

Modul

Foundation