orientation_points_xldorientation_points_xldOrientationPointsXldOrientationPointsXldorientation_points_xld (Operator)

Name

orientation_points_xldorientation_points_xldOrientationPointsXldOrientationPointsXldorientation_points_xld — Berechnen der 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()

def orientation_points_xld(xld: HObject) -> Sequence[float]

def orientation_points_xld_s(xld: HObject) -> float

Beschreibung

orientation_points_xldorientation_points_xldOrientationPointsXldOrientationPointsXldOrientationPointsXldorientation_points_xld berechnet die Orientierung PhiPhiPhiPhiphiphi der von den Eingabekonturen oder -polygonen XLDXLDXLDXLDXLDxld definierten Punktwolken (die Reihenfolge der Kontur- oder Polygonpunkte wird nicht berücksichtigt). Die Orientierung PhiPhiPhiPhiphiphi wird analog zu elliptic_axis_points_xldelliptic_axis_points_xldEllipticAxisPointsXldEllipticAxisPointsXldEllipticAxisPointsXldelliptic_axis_points_xld 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.

Außerdem wird der Konturpunkt mit maximalem Abstand zum Schwerpunkt berechnet. Falls der Winkel zwischen dem Vektor vom Mittelpunkt zum Punkt und dem durch PhiPhiPhiPhiphiphi bestimmten Vector größer als ist, wird auf den den Winkel PhiPhiPhiPhiphiphi addiert. Für den Fall, dass XLDXLDXLDXLDXLDxld nur aus zwei Punkten besteht, ergibt sich PhiPhiPhiPhiphiphi aus der Richtung vom ersten zum zweiten Punkt.

orientation_points_xldorientation_points_xldOrientationPointsXldOrientationPointsXldOrientationPointsXldorientation_points_xld sollte dann verwendet werden, wenn die Kontur XLDXLDXLDXLDXLDxld entweder nicht kreuzungsfrei ist oder nicht kreuzungsfrei durch eine Line vom End- zum Anfangspunkt geschlossen werden kann. In diesem Fall liefert orientation_xldorientation_xldOrientationXldOrientationXldOrientationXldorientation_xld keine sinnvollen Ergebnisse. Ob sich die Konturen oder Polygone selbst schneiden, kann leicht mit test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXldTestSelfIntersectionXldtest_self_intersection_xld ü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 XLDXLDXLDXLDXLDxld abgespeichert.

Ausführungsinformationen

Parameter

XLDXLDXLDXLDXLDxld (input_object)  xld(-array) objectHXLDHObjectHXLDHobject

Zu untersuchende Konturen bzw. Polygone.

PhiPhiPhiPhiphiphi (output_control)  angle.rad(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Orientierung der Konturen bzw. Polygone (Bogenmaß).

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

Vorgänger

gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld, edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixEdgesSubPixedges_sub_pix, threshold_sub_pixthreshold_sub_pixThresholdSubPixThresholdSubPixThresholdSubPixthreshold_sub_pix, gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXldGenContourPolygonXldgen_contour_polygon_xld

Alternativen

orientation_xldorientation_xldOrientationXldOrientationXldOrientationXldorientation_xld, elliptic_axis_points_xldelliptic_axis_points_xldEllipticAxisPointsXldEllipticAxisPointsXldEllipticAxisPointsXldelliptic_axis_points_xld, smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2XldSmallestRectangle2Xldsmallest_rectangle2_xld

Siehe auch

moments_region_2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2ndMomentsRegion2ndmoments_region_2nd

Modul

Foundation