dist_ellipse_contour_points_xldT_dist_ellipse_contour_points_xldDistEllipseContourPointsXldDistEllipseContourPointsXlddist_ellipse_contour_points_xld (Operator)
Name
dist_ellipse_contour_points_xldT_dist_ellipse_contour_points_xldDistEllipseContourPointsXldDistEllipseContourPointsXlddist_ellipse_contour_points_xld — Berechnen der Abstände von allen Punkten einer Kontur zu einer Ellipse.
Signatur
void DistEllipseContourPointsXld(const HObject& Contour, const HTuple& DistanceMode, const HTuple& ClippingEndPoints, const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Radius1, const HTuple& Radius2, HTuple* Distances)
HTuple HXLDCont::DistEllipseContourPointsXld(const HString& DistanceMode, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2) const
HTuple HXLDCont::DistEllipseContourPointsXld(const char* DistanceMode, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2) const
HTuple HXLDCont::DistEllipseContourPointsXld(const wchar_t* DistanceMode, Hlong ClippingEndPoints, double Row, double Column, double Phi, double Radius1, double Radius2) const
(Nur Windows)
static void HOperatorSet.DistEllipseContourPointsXld(HObject contour, HTuple distanceMode, HTuple clippingEndPoints, HTuple row, HTuple column, HTuple phi, HTuple radius1, HTuple radius2, out HTuple distances)
HTuple HXLDCont.DistEllipseContourPointsXld(string distanceMode, int clippingEndPoints, double row, double column, double phi, double radius1, double radius2)
Beschreibung
Der operator dist_ellipse_contour_points_xlddist_ellipse_contour_points_xldDistEllipseContourPointsXldDistEllipseContourPointsXldDistEllipseContourPointsXlddist_ellipse_contour_points_xld bestimmt die Abstände
zwischen Punkten einer Kontur ContourContourContourContourcontourcontour und einer Ellipse, welche
durch ihren Mittelpunkt (RowRowRowRowrowrow, ColumnColumnColumnColumncolumncolumn), die Orientierung
PhiPhiPhiPhiphiphi der großen Achse und den Länge der großen und kleinen Achse
Radius1Radius1Radius1Radius1radius1radius_1 beziehungsweise Radius2Radius2Radius2Radius2radius2radius_2 definiert ist.
Das Distanzmaß ist der geometrische Abstand, welcher manchmal auch
orthogonaler Abstand genannt wird. Die Abstände DistancesDistancesDistancesDistancesdistancesdistances werden
für alle Punkte auf der Kontur berechnet. Normalerweise ist der Abstand ein
positiver Wert; dann ist die Option DistanceModeDistanceModeDistanceModeDistanceModedistanceModedistance_mode gleich
'unsigned'"unsigned""unsigned""unsigned""unsigned""unsigned" zu wählen. Wird dagegen die Option 'signed'"signed""signed""signed""signed""signed"
gewählt, so weisen die Abständen positives oder negatives Vorzeichen auf,
je nachdem ob sie außerhalb oder innerhalb der Ellipse liegen.
Je nach Vorverarbeitung sind die Start- und Endpunkte einer Kontur
nicht exakt bekannt. Dann wird der Operator fit_ellipse_contour_xldfit_ellipse_contour_xldFitEllipseContourXldFitEllipseContourXldFitEllipseContourXldfit_ellipse_contour_xld
typischerweise mit einem Wert größer null für den Parameter
ClippingEndPointsClippingEndPointsClippingEndPointsClippingEndPointsclippingEndPointsclipping_end_points aufgerufen, um eine bestimmte Anzahl an Punkten
an beiden Enden der Kontur für die Berechnung auszuschließen. Damit der
geometrische Abstand für dieselben Konturpunkte wie in dem
Ellipsen-Fitting-Prozess berechnet werden kann, ist für den Parameter
ClippingEndPointsClippingEndPointsClippingEndPointsClippingEndPointsclippingEndPointsclipping_end_points auch derselbe Wert zu wählen.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
ContourContourContourContourcontourcontour (input_object) xld_cont → objectHXLDContHObjectHXLDContHobject
Eingabekonturen.
DistanceModeDistanceModeDistanceModeDistanceModedistanceModedistance_mode (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Modus für Distanzwerte mit oder ohne Vorzeichen.
Defaultwert:
'unsigned'
"unsigned"
"unsigned"
"unsigned"
"unsigned"
"unsigned"
Werteliste: 'signed'"signed""signed""signed""signed""signed", 'unsigned'"unsigned""unsigned""unsigned""unsigned""unsigned"
ClippingEndPointsClippingEndPointsClippingEndPointsClippingEndPointsclippingEndPointsclipping_end_points (input_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Anzahl der Konturpunkte am Anfang und Ende der
Kontur, die für die Abstandsberechnung ignoriert werden
sollen.
Defaultwert: 0
Restriktion: ClippingEndPoints >= 0
RowRowRowRowrowrow (input_control) ellipse.center.y → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Zeilenkoordinate des Mittelpunktes der Ellipse.
ColumnColumnColumnColumncolumncolumn (input_control) ellipse.center.x → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Spaltenkoordinate des Mittelpunktes der Ellipse.
PhiPhiPhiPhiphiphi (input_control) ellipse.angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Orientierung der Hauptachse im Bogenmaß.
Restriktion: Phi >= 0 && Phi <= 6.283185307
Radius1Radius1Radius1Radius1radius1radius_1 (input_control) ellipse.radius1 → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Länge der großen Halbachse.
Restriktion: Radius1 > 0
Radius2Radius2Radius2Radius2radius2radius_2 (input_control) ellipse.radius2 → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Länge der kleinen Halbachse.
Restriktion: Radius2 >= 0 && Radius2 <= Radius1
DistancesDistancesDistancesDistancesdistancesdistances (output_control) real-array → HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Abstände der Konturpunkte zur Ellipse.
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
dist_ellipse_contour_points_xlddist_ellipse_contour_points_xldDistEllipseContourPointsXldDistEllipseContourPointsXldDistEllipseContourPointsXlddist_ellipse_contour_points_xld den Wert TRUE.
Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
fit_ellipse_contour_xldfit_ellipse_contour_xldFitEllipseContourXldFitEllipseContourXldFitEllipseContourXldfit_ellipse_contour_xld
Alternativen
dist_ellipse_contour_xlddist_ellipse_contour_xldDistEllipseContourXldDistEllipseContourXldDistEllipseContourXlddist_ellipse_contour_xld
Modul
Foundation