distance_cc_min_pointsdistance_cc_min_pointsDistanceCcMinPointsDistanceCcMinPointsdistance_cc_min_points (Operator)

Name

distance_cc_min_pointsdistance_cc_min_pointsDistanceCcMinPointsDistanceCcMinPointsdistance_cc_min_points — Berechnen des minimalen Abstandes zwischen zwei Konturen und Zurückgeben der Punkte, die für die Berechnung benutzt wurden.

Signatur

distance_cc_min_points(Contour1, Contour2 : : Mode : DistanceMin, Row1, Column1, Row2, Column2)

Herror distance_cc_min_points(const Hobject Contour1, const Hobject Contour2, const char* Mode, double* DistanceMin, double* Row1, double* Column1, double* Row2, double* Column2)

Herror T_distance_cc_min_points(const Hobject Contour1, const Hobject Contour2, const Htuple Mode, Htuple* DistanceMin, Htuple* Row1, Htuple* Column1, Htuple* Row2, Htuple* Column2)

void DistanceCcMinPoints(const HObject& Contour1, const HObject& Contour2, const HTuple& Mode, HTuple* DistanceMin, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2)

HTuple HXLDCont::DistanceCcMinPoints(const HXLDCont& Contour2, const HString& Mode, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2) const

double HXLDCont::DistanceCcMinPoints(const HXLDCont& Contour2, const HString& Mode, double* Row1, double* Column1, double* Row2, double* Column2) const

double HXLDCont::DistanceCcMinPoints(const HXLDCont& Contour2, const char* Mode, double* Row1, double* Column1, double* Row2, double* Column2) const

double HXLDCont::DistanceCcMinPoints(const HXLDCont& Contour2, const wchar_t* Mode, double* Row1, double* Column1, double* Row2, double* Column2) const   (Nur Windows)

static void HOperatorSet.DistanceCcMinPoints(HObject contour1, HObject contour2, HTuple mode, out HTuple distanceMin, out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2)

HTuple HXLDCont.DistanceCcMinPoints(HXLDCont contour2, string mode, out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2)

double HXLDCont.DistanceCcMinPoints(HXLDCont contour2, string mode, out double row1, out double column1, out double row2, out double column2)

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

def distance_cc_min_points_s(contour_1: HObject, contour_2: HObject, mode: str) -> Tuple[float, float, float, float, 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 zurückgegeben. Im Vergleich zu distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMinDistanceCcMindistance_cc_min werden auch die Punkte auf den Eingabekonturen zurückgegeben, zwischen denen der minimale Abstand gemessen wurde. Der Punkt auf Contour1Contour1Contour1Contour1contour1contour_1 wird in Row1Row1Row1Row1row1row_1 und Column1Column1Column1Column1column1column_1 zurückgegeben; der Punkt auf Contour2Contour2Contour2Contour2contour2contour_2 wird in Row2Row2Row2Row2row2row_2 und Column2Column2Column2Column2column2column_2 zurückgegeben.

Der Parameter ModeModeModeModemodemode gibt dabei an, auf welche Weise der Abstand berechnet wird. '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 der nächstgelegenen Konturpunkte. '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 'fast_point_to_segment'"fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment""fast_point_to_segment" ein effizienter Algorithmen der Komplexität n*log(n) ist, 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_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.

Row1Row1Row1Row1row1row_1 (output_control)  point.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des Punktes auf Contour1Contour1Contour1Contour1contour1contour_1.

Column1Column1Column1Column1column1column_1 (output_control)  point.x(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Spaltenkoordinate des Punktes auf Contour1Contour1Contour1Contour1contour1contour_1.

Row2Row2Row2Row2row2row_2 (output_control)  point.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Zeilenkoordinate des Punktes auf Contour2Contour2Contour2Contour2contour2contour_2.

Column2Column2Column2Column2column2column_2 (output_control)  point.x(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Spaltenkoordinate des Punktes auf Contour2Contour2Contour2Contour2contour2contour_2.

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_points(Cont1, Cont2, "fast_point_to_segment", &distance_min,
                       &Row1, &Column1, &Row2, &Column2);

Ergebnis

distance_cc_min_pointsdistance_cc_min_pointsDistanceCcMinPointsDistanceCcMinPointsDistanceCcMinPointsdistance_cc_min_points liefert den Wert TRUE.

Alternativen

distance_scdistance_scDistanceScDistanceScDistanceScdistance_sc, distance_pcdistance_pcDistancePcDistancePcDistancePcdistance_pc, distance_ccdistance_ccDistanceCcDistanceCcDistanceCcdistance_cc, distance_contours_xlddistance_contours_xldDistanceContoursXldDistanceContoursXldDistanceContoursXlddistance_contours_xld, distance_cc_mindistance_cc_minDistanceCcMinDistanceCcMinDistanceCcMindistance_cc_min

Siehe auch

distance_srdistance_srDistanceSrDistanceSrDistanceSrdistance_sr, distance_prdistance_prDistancePrDistancePrDistancePrdistance_pr

Modul

Foundation