Name
orientation_points_xldorientation_points_xldOrientationPointsXldorientation_points_xldOrientationPointsXldOrientationPointsXld — Orientierung von Konturen oder Polygonen, die wie Punktwolken behandelt
werden.
orientation_points_xld(XLD : : : Phi)
Herror orientation_points_xld(const Hobject XLD, double* Phi)
Herror T_orientation_points_xld(const Hobject XLD, Htuple* Phi)
Herror orientation_points_xld(Hobject XLD, double* Phi)
Herror orientation_points_xld(Hobject XLD, HTuple* Phi)
double HXLD::OrientationPointsXld() const
HTuple HXLDArray::OrientationPointsXld() const
void OrientationPointsXld(const HObject& XLD, HTuple* Phi)
HTuple HXLD::OrientationPointsXld() const
orientation_points_xldorientation_points_xldOrientationPointsXldorientation_points_xldOrientationPointsXldOrientationPointsXld berechnet die Orientierung
PhiPhiPhiPhiPhiphi der von den Eingabekonturen oder -polygonen XLDXLDXLDXLDXLDXLD
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_xldEllipticAxisPointsXldelliptic_axis_points_xldEllipticAxisPointsXldEllipticAxisPointsXld bestimmt. Es wird jedoch
zusätzlich der Punkt p_{m} 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
p_{m}c und dem durch Phi bestimmten Vector
größer als Pi ist, wird Pi auf den den Winkel Phi
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_xldOrientationPointsXldorientation_points_xldOrientationPointsXldOrientationPointsXld 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_xldOrientationXldorientation_xldOrientationXldOrientationXld keine
sinnvollen Ergebnisse. Ob sich die Konturen oder Polygone selbst
schneiden, kann leicht mit test_self_intersection_xldtest_self_intersection_xldTestSelfIntersectionXldtest_self_intersection_xldTestSelfIntersectionXldTestSelfIntersectionXld
ü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.
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Automatisch parallelisiert auf Tupelebene.
Zu untersuchende Konturen bzw. Polygone.
Orientierung der Konturen bzw. Polygone (Bogenmaß).
Zusicherung: - pi < Phi && Phi <= pi
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld,
edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix,
threshold_sub_pixthreshold_sub_pixThresholdSubPixthreshold_sub_pixThresholdSubPixThresholdSubPix,
gen_contour_polygon_xldgen_contour_polygon_xldGenContourPolygonXldgen_contour_polygon_xldGenContourPolygonXldGenContourPolygonXld
orientation_xldorientation_xldOrientationXldorientation_xldOrientationXldOrientationXld,
elliptic_axis_points_xldelliptic_axis_points_xldEllipticAxisPointsXldelliptic_axis_points_xldEllipticAxisPointsXldEllipticAxisPointsXld,
smallest_rectangle2_xldsmallest_rectangle2_xldSmallestRectangle2Xldsmallest_rectangle2_xldSmallestRectangle2XldSmallestRectangle2Xld
moments_region_2ndmoments_region_2ndMomentsRegion2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2nd
Foundation