moments_points_xld moments_points_xld MomentsPointsXld MomentsPointsXld moments_points_xld (Operator)
Name
moments_points_xld moments_points_xld MomentsPointsXld MomentsPointsXld moments_points_xld — Geometrische Momente
,
und
von Konturen oder Polygonen die als Punktwolke betrachtet
werden.
Signatur
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 )
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
def moments_points_xld (xld : HObject) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]
def moments_points_xld_s (xld : HObject) -> Tuple[float, float, float]
Beschreibung
moments_points_xld moments_points_xld MomentsPointsXld MomentsPointsXld MomentsPointsXld moments_points_xld berechnet die Momente (M20 M20 M20 M20 m20 m20 ,
M02 M02 M02 M02 m02 m02 ) und das Trägheitsprodukt der Achsen durch den
Schwerpunkt parallel zu den Koordinatenachsen (M11 M11 M11 M11 m11 m11 ) der von den
Eingabekonturen bzw. -polygonen definierten Punktwolken. Die Momente ergeben
sich damit durch
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_xld moments_points_xld MomentsPointsXld MomentsPointsXld MomentsPointsXld moments_points_xld sollte dann verwendet werden, wenn die Kontur
XLD XLD XLD XLD XLD xld entweder nicht kreuzungsfrei ist oder nicht kreuzungsfrei durch
eine Line vom End- zum Anfangspunkt geschlossen werden kann. In diesem Fall
liefert moments_xld moments_xld MomentsXld MomentsXld MomentsXld moments_xld keine sinnvollen Ergebnisse. Ob sich die Konturen
oder Polygone selbst schneiden, kann leicht mit
test_self_intersection_xld test_self_intersection_xld TestSelfIntersectionXld TestSelfIntersectionXld TestSelfIntersectionXld test_self_intersection_xld ü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 XLD XLD XLD XLD XLD xld abgespeichert.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Automatisch parallelisiert auf Tupelebene.
Parameter
XLD XLD XLD XLD XLD xld (input_object) xld(-array) → object HXLD HObject HXLD Hobject
Zu untersuchende Konturen bzw. Polygone.
M11 M11 M11 M11 m11 m11 (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Trägheitsprodukt der Achsen durch den Schwerpunkt
parallel zu den Koordinatenachsen.
M20 M20 M20 M20 m20 m20 (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Moment 2. Ordnung in Zeilenrichtung.
M02 M02 M02 M02 m02 m02 (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Moment 2. Ordnung in Spaltenrichtung.
Komplexität
Sei n die Anzahl der Punkte in der Kontur bzw. dem
Polygon. Dann ist die Laufzeit O(n).
Ergebnis
moments_points_xld moments_points_xld MomentsPointsXld MomentsPointsXld MomentsPointsXld moments_points_xld 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>) SetSystem("no_object_result",<Result>) SetSystem("no_object_result",<Result>) set_system("no_object_result",<Result>)
festlegen. Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
Vorgänger
gen_contours_skeleton_xld gen_contours_skeleton_xld GenContoursSkeletonXld GenContoursSkeletonXld GenContoursSkeletonXld gen_contours_skeleton_xld ,
smooth_contours_xld smooth_contours_xld SmoothContoursXld SmoothContoursXld SmoothContoursXld smooth_contours_xld ,
gen_polygons_xld gen_polygons_xld GenPolygonsXld GenPolygonsXld GenPolygonsXld gen_polygons_xld
Alternativen
moments_xld moments_xld MomentsXld MomentsXld MomentsXld moments_xld ,
moments_any_xld moments_any_xld MomentsAnyXld MomentsAnyXld MomentsAnyXld moments_any_xld ,
moments_any_points_xld moments_any_points_xld MomentsAnyPointsXld MomentsAnyPointsXld MomentsAnyPointsXld moments_any_points_xld
Siehe auch
moments_any_points_xld moments_any_points_xld MomentsAnyPointsXld MomentsAnyPointsXld MomentsAnyPointsXld moments_any_points_xld ,
area_center_points_xld area_center_points_xld AreaCenterPointsXld AreaCenterPointsXld AreaCenterPointsXld area_center_points_xld ,
moments_region_2nd moments_region_2nd MomentsRegion2nd MomentsRegion2nd MomentsRegion2nd moments_region_2nd ,
area_center area_center AreaCenter AreaCenter AreaCenter area_center
Modul
Foundation