Name
moments_points_xldmoments_points_xldMomentsPointsXldmoments_points_xldMomentsPointsXldMomentsPointsXld — Geometrische Momente M20, M02 und
M11 von Konturen oder Polygonen die als Punktwolke betrachtet
werden.
Herror moments_points_xld(const Hobject XLD, double* M11, double* M20, double* M02)
Herror T_moments_points_xld(const Hobject XLD, Htuple* M11, Htuple* M20, Htuple* M02)
Herror moments_points_xld(Hobject XLD, double* M11, double* M20, double* M02)
Herror moments_points_xld(Hobject XLD, HTuple* M11, HTuple* M20, HTuple* M02)
double HXLD::MomentsPointsXld(double* M20, double* M02) const
HTuple HXLDArray::MomentsPointsXld(HTuple* M20, HTuple* M02) const
void MomentsPointsXld(const HObject& XLD, HTuple* M11, HTuple* M20, HTuple* M02)
HTuple HXLD::MomentsPointsXld(HTuple* M20, HTuple* M02) const
double HXLD::MomentsPointsXld(double* M20, double* M02) const
moments_points_xldmoments_points_xldMomentsPointsXldmoments_points_xldMomentsPointsXldMomentsPointsXld berechnet die Momente (M20M20M20M20M20m20,
M02M02M02M02M02m02) und das Trägheitsprodukt der Achsen durch den
Schwerpunkt parallel zu den Koordinatenachsen (M11M11M11M11M11m11) der von den
Eingabekonturen bzw. -polygonen definierten Punktwolken. Die Momente ergeben
sich damit durch
M(p,q) = sum (r_{i} - r_{c})^p * (c_{i} - c_{c} )^q.
(r_{c},c_{c}) bezeichnet dabei den Schwerpunkt und n die Anzahl der
Punkte.
Bei geschlossenen Konturen oder Polygonen (Anfangspunkt = Endpunkt) wird der
Endpunkt der Kontur oder des Polygons nicht berücksichtigt, da er sonst
doppeltes Gewicht erhielte.
moments_points_xldmoments_points_xldMomentsPointsXldmoments_points_xldMomentsPointsXldMomentsPointsXld 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 moments_xldmoments_xldMomentsXldmoments_xldMomentsXldMomentsXld 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 in Tupeln 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.
Trägheitsprodukt der Achsen durch den Schwerpunkt
parallel zu den Koordinatenachsen.
Moment 2. Ordnung in Zeilenrichtung.
Moment 2. Ordnung in Spaltenrichtung.
Sei n die Anzahl der Punkte in der Kontur bzw. dem
Polygon. Dann ist die Laufzeit O(n).
moments_points_xldmoments_points_xldMomentsPointsXldmoments_points_xldMomentsPointsXldMomentsPointsXld liefert den Wert 2 (H_MSG_TRUE), falls die Eingabe
nicht leer ist. Das Verhalten bei leerer Eingabe lässt sich
mittels set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)
festlegen. Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXld,
smooth_contours_xldsmooth_contours_xldSmoothContoursXldsmooth_contours_xldSmoothContoursXldSmoothContoursXld,
gen_polygons_xldgen_polygons_xldGenPolygonsXldgen_polygons_xldGenPolygonsXldGenPolygonsXld
moments_xldmoments_xldMomentsXldmoments_xldMomentsXldMomentsXld,
moments_any_xldmoments_any_xldMomentsAnyXldmoments_any_xldMomentsAnyXldMomentsAnyXld,
moments_any_points_xldmoments_any_points_xldMomentsAnyPointsXldmoments_any_points_xldMomentsAnyPointsXldMomentsAnyPointsXld
moments_any_points_xldmoments_any_points_xldMomentsAnyPointsXldmoments_any_points_xldMomentsAnyPointsXldMomentsAnyPointsXld,
area_center_points_xldarea_center_points_xldAreaCenterPointsXldarea_center_points_xldAreaCenterPointsXldAreaCenterPointsXld,
moments_region_2ndmoments_region_2ndMomentsRegion2ndmoments_region_2ndMomentsRegion2ndMomentsRegion2nd,
area_centerarea_centerAreaCenterarea_centerAreaCenterAreaCenter
Foundation