orientation_points_xldorientation_points_xldOrientationPointsXldOrientationPointsXld (Operator)

Name

orientation_points_xldorientation_points_xldOrientationPointsXldOrientationPointsXld — Orientierung von Konturen oder Polygonen, die wie Punktwolken behandelt werden.

Signatur

orientation_points_xld(XLD : : : Phi)

Herror orientation_points_xld(const Hobject XLD, double* Phi)

Herror T_orientation_points_xld(const Hobject XLD, Htuple* Phi)

void OrientationPointsXld(const HObject& XLD, HTuple* Phi)

HTuple HXLD::OrientationPointsXld() const

static void HOperatorSet.OrientationPointsXld(HObject XLD, out HTuple phi)

HTuple HXLD.OrientationPointsXld()

Beschreibung

orientation_points_xldorientation_points_xldOrientationPointsXldOrientationPointsXldOrientationPointsXld berechnet die Orientierung PhiPhiPhiPhiphi der von den Eingabekonturen oder -polygonen XLDXLDXLDXLDXLD definierten Punktwolken (d.h. die Reihenfolge der Kontur- oder Polygonpunkte wird nicht berücksichtigt). Der Winkel Phi wird analog zu elliptic_axis_points_xldelliptic_axis_points_xldEllipticAxisPointsXldEllipticAxisPointsXldEllipticAxisPointsXld bestimmt. Es wird jedoch zusätzlich der Punkt mit maximalem Abstand bestimmt. Bei geschlossenen Konturen oder Polygonen (Anfangspunkt = Endpunkt) wird der Endpunkt der Kontur oder des Polygons nicht berücksichtigt, da er sonst doppeltes Gewicht erhielte.

Falls der Winkel zwischen dem Vektor vom Mittelpunkt zum Punkt und dem durch Phi bestimmten Vector größer als ist, wird auf den den Winkel Phi addiert. Für den Fall, dass XLDXLDXLDXLDXLD nur aus zwei Punkten besteht, ergibt sich PhiPhiPhiPhiphi aus der Richtung vom ersten zum zweiten Punkt.

orientation_points_xldorientation_points_xldOrientationPointsXldOrientationPointsXldOrientationPointsXld sollte dann verwendet werden, wenn die Kontur XLDXLDXLDXLDXLD entweder nicht kreuzungsfrei ist oder nicht kreuzungsfrei durch eine Line vom End- zum Anfangspunkt geschlossen werden kann. In diesem Fall liefert orientation_xldorientation_xldOrientationXldOrientationXldOrientationXld keine sinnvollen Ergebnisse. Ob sich die Konturen oder Polygone selbst schneiden, kann leicht mit test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXld überprüft werden.

Wird mehr als eine Kontur oder ein Polygon übergeben, dann werden die Ergebnisse für die Orientierungen in einem Tupel in der gleichen Reihenfolge wie die entsprechenden Konturen bzw. Polygone in XLDXLDXLDXLDXLD abgespeichert.

Ausführungsinformationen

Parameter

XLDXLDXLDXLDXLD (input_object)  xld(-array) objectHXLDHXLDHobject

Zu untersuchende Konturen bzw. Polygone.

PhiPhiPhiPhiphi (output_control)  angle.rad(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Orientierung der Konturen bzw. Polygone (Bogenmaß).

Zusicherung: - pi < Phi && Phi <= pi

Vorgänger

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXld, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPix, threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPix, gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXld

Alternativen

orientation_xldorientation_xldOrientationXldOrientationXldOrientationXld, elliptic_axis_points_xldelliptic_axis_points_xldEllipticAxisPointsXldEllipticAxisPointsXldEllipticAxisPointsXld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xld

Siehe auch

moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2nd

Modul

Foundation