distance_ccdistance_ccDistanceCcDistanceCcdistance_cc (Operator)

Name

distance_ccdistance_ccDistanceCcDistanceCcdistance_cc — Berechnen des Abstandes zwischen zwei Konturen.

Signatur

distance_cc(Contour1, Contour2 : : Mode : DistanceMin, DistanceMax)

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

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

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

void HXLDCont::DistanceCc(const HXLDCont& Contour2, const HString& Mode, HTuple* DistanceMin, HTuple* DistanceMax) const

void HXLDCont::DistanceCc(const HXLDCont& Contour2, const HString& Mode, double* DistanceMin, double* DistanceMax) const

void HXLDCont::DistanceCc(const HXLDCont& Contour2, const char* Mode, double* DistanceMin, double* DistanceMax) const

void HXLDCont::DistanceCc(const HXLDCont& Contour2, const wchar_t* Mode, double* DistanceMin, double* DistanceMax) const   (Nur Windows)

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

void HXLDCont.DistanceCc(HXLDCont contour2, string mode, out HTuple distanceMin, out HTuple distanceMax)

void HXLDCont.DistanceCc(HXLDCont contour2, string mode, out double distanceMin, out double distanceMax)

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

def distance_cc_s(contour_1: HObject, contour_2: HObject, mode: str) -> Tuple[float, float]

Beschreibung

distance_ccdistance_ccDistanceCcDistanceCcDistanceCcdistance_cc berechnet den minimalen und maximalen Abstand zwischen den Stützpunkten zweier Konturen. Als Eingabe werden die beiden Konturen (Contour1Contour1Contour1Contour1contour1contour_1,Contour2Contour2Contour2Contour2contour2contour_2) erwartet. Das jeweilige Ergebnis wird in den Parametern DistanceMinDistanceMinDistanceMinDistanceMindistanceMindistance_min und DistanceMaxDistanceMaxDistanceMaxDistanceMaxdistanceMaxdistance_max zurückgegeben.

Der Parameter ModeModeModeModemodemode gibt 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 den kleinsten und größten Abstand der Stützpunkte der Konturen, was sich zwar schneller berechnen lässt, jedoch zu Ungenauigkeiten beim minimalem Abstand führen kann. 'point_to_segment'"point_to_segment""point_to_segment""point_to_segment""point_to_segment""point_to_segment" bestimmt dagegen den tatsächlichen minimalen Abstand der Kontursegmente. In beiden Fällen hat der Suchalgorithmus quadratische Komplexität (n*n). Wird nur der minimale Abstand der Konturen benötigt, kann auch der Operator distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMinDistanceCcMindistance_cc_min verwendet werden, welcher Algorithmen mit einer Komplexität der Ordnung n*log(n) zur Verfügung stellt.

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: 'point_to_point' "point_to_point" "point_to_point" "point_to_point" "point_to_point" "point_to_point"

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

Minimaler Abstand zwischen beiden Konturen.

DistanceMaxDistanceMaxDistanceMaxDistanceMaxdistanceMaxdistance_max (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Maximaler 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(Cont1, Cont2, 'point_to_point', &distance_min, &distance_max);

Ergebnis

distance_ccdistance_ccDistanceCcDistanceCcDistanceCcdistance_cc liefert den Wert TRUE.

Alternativen

distance_scdistance_scDistanceScDistanceScDistanceScdistance_sc, distance_pcdistance_pcDistancePcDistancePcDistancePcdistance_pc, distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMinDistanceCcMindistance_cc_min, distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXldDistanceContoursXlddistance_contours_xld

Siehe auch

distance_srdistance_srDistanceSrDistanceSrDistanceSrdistance_sr, distance_prdistance_prDistancePrDistancePrDistancePrdistance_pr

Modul

Foundation