surface_normals_object_model_3dT_surface_normals_object_model_3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3d (Operator)

Name

surface_normals_object_model_3dT_surface_normals_object_model_3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3d — Berechnet die 3D-Oberflächennormalen eines 3D-Objektmodells.

Signatur

surface_normals_object_model_3d( : : ObjectModel3D, Method, GenParamName, GenParamValue : ObjectModel3DNormals)

Herror T_surface_normals_object_model_3d(const Htuple ObjectModel3D, const Htuple Method, const Htuple GenParamName, const Htuple GenParamValue, Htuple* ObjectModel3DNormals)

void SurfaceNormalsObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Method, const HTuple& GenParamName, const HTuple& GenParamValue, HTuple* ObjectModel3DNormals)

static HObjectModel3DArray HObjectModel3D::SurfaceNormalsObjectModel3d(const HObjectModel3DArray& ObjectModel3D, const HString& Method, const HTuple& GenParamName, const HTuple& GenParamValue)

HObjectModel3D HObjectModel3D::SurfaceNormalsObjectModel3d(const HString& Method, const HTuple& GenParamName, const HTuple& GenParamValue) const

HObjectModel3D HObjectModel3D::SurfaceNormalsObjectModel3d(const char* Method, const HTuple& GenParamName, const HTuple& GenParamValue) const

HObjectModel3D HObjectModel3D::SurfaceNormalsObjectModel3d(const wchar_t* Method, const HTuple& GenParamName, const HTuple& GenParamValue) const   (Nur Windows)

static void HOperatorSet.SurfaceNormalsObjectModel3d(HTuple objectModel3D, HTuple method, HTuple genParamName, HTuple genParamValue, out HTuple objectModel3DNormals)

static HObjectModel3D[] HObjectModel3D.SurfaceNormalsObjectModel3d(HObjectModel3D[] objectModel3D, string method, HTuple genParamName, HTuple genParamValue)

HObjectModel3D HObjectModel3D.SurfaceNormalsObjectModel3d(string method, HTuple genParamName, HTuple genParamValue)

Beschreibung

Der Operator surface_normals_object_model_3dsurface_normals_object_model_3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3d berechnet die 3D-Oberflächennormalen eines Objekts ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D. Die Berechnung wird mit dem in MethodMethodMethodMethodmethod gewählten Verfahren durchgeführt.

Für MethodMethodMethodMethodmethod='mls'"mls""mls""mls""mls" wird das Verfahren Moving Least Squares (MLS) angewandt. Das MLS-Verfahren für Normalenberechnung ist identisch zu dem MLS-Verfahren für Punktglättung, das im Operator smooth_object_model_3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3dSmoothObjectModel3d implementiert ist. Anders als smooth_object_model_3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3dSmoothObjectModel3d glättet der Operator surface_normals_object_model_3dsurface_normals_object_model_3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3dSurfaceNormalsObjectModel3d die Punkte allerdings nicht, d.h. die ursprünglichen 3D-Punkte von ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D bleiben unverändert. Weitere Information über das MLS-Verfahren und seine Parameter stehen mit der Beschreibung des Operators smooth_object_model_3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3dSmoothObjectModel3d zur Verfügung.

Beinhaltet das Objekt ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D Dreiecke, können mit dem Verfahren MethodMethodMethodMethodmethod='triangles'"triangles""triangles""triangles""triangles" die Punktnormalen aus den Flächennormalen der angrenzenden Dreiecke berechnet werden. Die Flächennormalen werden dabei mit dem Winkel gewichtet, den die Dreiecke an dem Punkt umschließen.

Beinhaltet das Objekt ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D ein 2D-Mapping (wie z.B. 3D-Objektmodelle, die mittels xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d erstellt wurden), können mit dem Verfahren MethodMethodMethodMethodmethod='xyz_mapping'"xyz_mapping""xyz_mapping""xyz_mapping""xyz_mapping" die Punktnormalen aus der Umgebung der Punkte im 2D-Mapping berechnet werden. Dazu wird in einer 5x5-Nachbarschaft der Punkte im 2D-Mapping eine Ebene durch die zugehörigen 3D-Punkte gefittet. Die Richtung der Normale dieser Ebene wird anschließend konsistent zum 2D-Mapping gewählt, z.B. in oder entgegen der Blickrichtung des Sensors.

Kann der Normalenvektor eines Punktes nicht bestimmt werden, so wird dieser auf 0 gesetzt. Dies ist beispielsweise der Fall, wenn das 3D-Objektmodell den gleichen Punkt mehr als 'mls_kNN'"mls_kNN""mls_kNN""mls_kNN""mls_kNN" mal enthält.

Ausführungsinformationen

Dieser Operator unterstützt Cancel-Timeouts und Interrupts.

Parameter

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle eines 3D-Objektmodells mit 3D-Punktdaten.

MethodMethodMethodMethodmethod (input_control)  string HTupleHTupleHtuple (string) (string) (HString) (char*)

Methode für Normalenberechnung.

Defaultwert: 'mls' "mls" "mls" "mls" "mls"

Werteliste: 'mls'"mls""mls""mls""mls", 'triangles'"triangles""triangles""triangles""triangles", 'xyz_mapping'"xyz_mapping""xyz_mapping""xyz_mapping""xyz_mapping"

GenParamNameGenParamNameGenParamNameGenParamNamegenParamName (input_control)  attribute.name-array HTupleHTupleHtuple (string) (string) (HString) (char*)

Namen der generischen Parameter.

Defaultwert: []

Werteliste: 'mls_abs_sigma'"mls_abs_sigma""mls_abs_sigma""mls_abs_sigma""mls_abs_sigma", 'mls_force_inwards'"mls_force_inwards""mls_force_inwards""mls_force_inwards""mls_force_inwards", 'mls_kNN'"mls_kNN""mls_kNN""mls_kNN""mls_kNN", 'mls_order'"mls_order""mls_order""mls_order""mls_order", 'mls_relative_sigma'"mls_relative_sigma""mls_relative_sigma""mls_relative_sigma""mls_relative_sigma"

GenParamValueGenParamValueGenParamValueGenParamValuegenParamValue (input_control)  attribute.value-array HTupleHTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Werte der generischen Parameter.

Defaultwert: []

Wertevorschläge: 10, 20, 40, 60, 0.1, 0.5, 1.0, 2.0, 0, 1, 2, 'true'"true""true""true""true", 'false'"false""false""false""false"

ObjectModel3DNormalsObjectModel3DNormalsObjectModel3DNormalsObjectModel3DNormalsobjectModel3DNormals (output_control)  object_model_3d(-array) HObjectModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des 3D-Objektmodells mit berechneten 3D-Normalen.

Vorgänger

sample_object_model_3dsample_object_model_3dSampleObjectModel3dSampleObjectModel3dSampleObjectModel3d

Nachfolger

create_surface_modelcreate_surface_modelCreateSurfaceModelCreateSurfaceModelCreateSurfaceModel, fuse_object_model_3dfuse_object_model_3dFuseObjectModel3dFuseObjectModel3dFuseObjectModel3d

Alternativen

smooth_object_model_3dsmooth_object_model_3dSmoothObjectModel3dSmoothObjectModel3dSmoothObjectModel3d

Modul

3D Metrology