KlassenKlassenKlassenKlassen | | | | Operatoren

project_shape_model_3dT_project_shape_model_3dProjectShapeModel3dproject_shape_model_3dProjectShapeModel3dProjectShapeModel3d (Operator)

Name

project_shape_model_3dT_project_shape_model_3dProjectShapeModel3dproject_shape_model_3dProjectShapeModel3dProjectShapeModel3d — Projizieren der Kanten eines 3D-Formmodells in Bildkoordinaten.

Signatur

project_shape_model_3d( : ModelContours : ShapeModel3DID, CamParam, Pose, HiddenSurfaceRemoval, MinFaceAngle : )

Herror T_project_shape_model_3d(Hobject* ModelContours, const Htuple ShapeModel3DID, const Htuple CamParam, const Htuple Pose, const Htuple HiddenSurfaceRemoval, const Htuple MinFaceAngle)

Herror project_shape_model_3d(Hobject* ModelContours, const HTuple& ShapeModel3DID, const HTuple& CamParam, const HTuple& Pose, const HTuple& HiddenSurfaceRemoval, const HTuple& MinFaceAngle)

HXLDContArray HShapeModel3D::ProjectShapeModel3d(const HTuple& CamParam, const HTuple& Pose, const HTuple& HiddenSurfaceRemoval, const HTuple& MinFaceAngle) const

void ProjectShapeModel3d(HObject* ModelContours, const HTuple& ShapeModel3DID, const HTuple& CamParam, const HTuple& Pose, const HTuple& HiddenSurfaceRemoval, const HTuple& MinFaceAngle)

HXLDCont HShapeModel3D::ProjectShapeModel3d(const HCamPar& CamParam, const HPose& Pose, const HString& HiddenSurfaceRemoval, const HTuple& MinFaceAngle) const

HXLDCont HShapeModel3D::ProjectShapeModel3d(const HCamPar& CamParam, const HPose& Pose, const HString& HiddenSurfaceRemoval, double MinFaceAngle) const

HXLDCont HShapeModel3D::ProjectShapeModel3d(const HCamPar& CamParam, const HPose& Pose, const char* HiddenSurfaceRemoval, double MinFaceAngle) const

HXLDCont HCamPar::ProjectShapeModel3d(const HShapeModel3D& ShapeModel3DID, const HPose& Pose, const HString& HiddenSurfaceRemoval, const HTuple& MinFaceAngle) const

HXLDCont HCamPar::ProjectShapeModel3d(const HShapeModel3D& ShapeModel3DID, const HPose& Pose, const HString& HiddenSurfaceRemoval, double MinFaceAngle) const

HXLDCont HCamPar::ProjectShapeModel3d(const HShapeModel3D& ShapeModel3DID, const HPose& Pose, const char* HiddenSurfaceRemoval, double MinFaceAngle) const

HXLDCont HPose::ProjectShapeModel3d(const HShapeModel3D& ShapeModel3DID, const HCamPar& CamParam, const HString& HiddenSurfaceRemoval, const HTuple& MinFaceAngle) const

HXLDCont HPose::ProjectShapeModel3d(const HShapeModel3D& ShapeModel3DID, const HCamPar& CamParam, const HString& HiddenSurfaceRemoval, double MinFaceAngle) const

HXLDCont HPose::ProjectShapeModel3d(const HShapeModel3D& ShapeModel3DID, const HCamPar& CamParam, const char* HiddenSurfaceRemoval, double MinFaceAngle) const

void HOperatorSetX.ProjectShapeModel3d(
[out] IHUntypedObjectX*ModelContours, [in] VARIANT ShapeModel3DID, [in] VARIANT CamParam, [in] VARIANT Pose, [in] VARIANT HiddenSurfaceRemoval, [in] VARIANT MinFaceAngle)

IHXLDContX* HShapeModel3DX.ProjectShapeModel3d(
[in] VARIANT CamParam, [in] VARIANT Pose, [in] BSTR HiddenSurfaceRemoval, [in] VARIANT MinFaceAngle)

IHXLDContX* HCamParX.ProjectShapeModel3d(
[in] IHShapeModel3DX* ShapeModel3DID, [in] VARIANT CamParam, [in] VARIANT Pose, [in] BSTR HiddenSurfaceRemoval, [in] VARIANT MinFaceAngle)

IHXLDContX* HPoseX.ProjectShapeModel3d(
[in] IHShapeModel3DX* ShapeModel3DID, [in] VARIANT CamParam, [in] VARIANT Pose, [in] BSTR HiddenSurfaceRemoval, [in] VARIANT MinFaceAngle)

static void HOperatorSet.ProjectShapeModel3d(out HObject modelContours, HTuple shapeModel3DID, HTuple camParam, HTuple pose, HTuple hiddenSurfaceRemoval, HTuple minFaceAngle)

HXLDCont HShapeModel3D.ProjectShapeModel3d(HCamPar camParam, HPose pose, string hiddenSurfaceRemoval, HTuple minFaceAngle)

HXLDCont HShapeModel3D.ProjectShapeModel3d(HCamPar camParam, HPose pose, string hiddenSurfaceRemoval, double minFaceAngle)

HXLDCont HCamPar.ProjectShapeModel3d(HShapeModel3D shapeModel3DID, HPose pose, string hiddenSurfaceRemoval, HTuple minFaceAngle)

HXLDCont HCamPar.ProjectShapeModel3d(HShapeModel3D shapeModel3DID, HPose pose, string hiddenSurfaceRemoval, double minFaceAngle)

HXLDCont HPose.ProjectShapeModel3d(HShapeModel3D shapeModel3DID, HCamPar camParam, string hiddenSurfaceRemoval, HTuple minFaceAngle)

HXLDCont HPose.ProjectShapeModel3d(HShapeModel3D shapeModel3DID, HCamPar camParam, string hiddenSurfaceRemoval, double minFaceAngle)

Beschreibung

Der Operator project_shape_model_3dproject_shape_model_3dProjectShapeModel3dproject_shape_model_3dProjectShapeModel3dProjectShapeModel3d projiziert die Kanten des 3D-Objektmodells, das zur Erstellung des 3D-Formmodells ShapeModel3DIDShapeModel3DIDShapeModel3DIDShapeModel3DIDShapeModel3DIDshapeModel3DID verwendet wurde, in das Bildkoordinatensystem und liefert die projizierten Kanten in ModelContoursModelContoursModelContoursModelContoursModelContoursmodelContours zurück. Die Koordinaten des 3D-Objektmodells sind im 3D-Weltkoordinatensystem gegeben. Sie werden zuerst mittels der gegebenen PosePosePosePosePosepose in Kamerakoordinaten transformiert und dann basierend auf den internen Kameraparametern CamParamCamParamCamParamCamParamCamParamcamParam in das Bildkoordinatensystem projiziert.

Die internen Kameraparameter CamParamCamParamCamParamCamParamCamParamcamParam beschreiben dabei die Abbildungseigenschaften der Kamera (siehe calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras) und die PosePosePosePosePosepose beschreibt die Position und Lage des Weltkoordinatensystems im Kamerakoordinatensystem.

Mit dem Parameter HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval kann die Verdeckungsberechnung ein- bzw. ausgeschaltet werden. Wenn der Parameter HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval auf 'true'"true""true""true""true""true" gesetzt ist, werden nur die projizierten Kanten zurückgegeben, die nicht durch Flächen des 3D-Objektmodells verdeckt sind. Ist HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval auf 'false'"false""false""false""false""false" gesetzt, werden alle projizierten Kanten des 3D-Objektmodells zurückgegeben. Dieser Modus ist schneller als wenn HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval auf 'true'"true""true""true""true""true" gesetzt ist.

Ist die Systemvariable (siehe set_systemset_systemSetSystemset_systemSetSystemSetSystem) 'opengl_hidden_surface_removal_enable'"opengl_hidden_surface_removal_enable""opengl_hidden_surface_removal_enable""opengl_hidden_surface_removal_enable""opengl_hidden_surface_removal_enable""opengl_hidden_surface_removal_enable" auf 'true'"true""true""true""true""true" gesetzt (Standard, sofern es verfügbar ist) und HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval auf 'true'"true""true""true""true""true" gesetzt, wird die Modellprojektion auf der Grafikkarte durchgeführt. Abhängig von der verwendeten Grafikkarte ist dies signifikant schneller als die analytische Projektion. Es ist zu beachten, dass die Ergebnisse der OpenGL Projektion leicht verschieden zu denen der analytischen Projektion sind. Insbesondere werden in diesem Modus nur die Kanten projiziert die im Bild der Kamera (CamParamCamParamCamParamCamParamCamParamcamParam) sichtbar sind.

Mit dem Parameter MinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleminFaceAngle wird der minimale Winkel angegeben, den zwei benachbarte Flächen einschließen müssen, damit die Kante zwischen ihnen projiziert wird. Wird MinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleminFaceAngle auf 0.0 gesetzt, werden alle Kanten projiziert. Wird MinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleminFaceAngle auf (entspricht 180 Grad) gesetzt, wird nur die Silhouette des 3D-Objektmodells zurückgegeben. Dieser Parameter kann insbesondere dafür verwendet werden, um Kanten in gekrümmten Flächen, z.B. einer Zylinder- oder Kegeloberfläche, zu unterdrücken.

Wenn bei der Erzeugung mittels create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3d der Parameter 'union_adjacent_contours'"union_adjacent_contours""union_adjacent_contours""union_adjacent_contours""union_adjacent_contours""union_adjacent_contours" aktiviert wurde, dann werden benachbarte Konturen verbunden.

project_shape_model_3dproject_shape_model_3dProjectShapeModel3dproject_shape_model_3dProjectShapeModel3dProjectShapeModel3d und project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d liefern das selbe Ergebnis, wenn an project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d das 3D-Objektmodell übergeben wird, das zur Erstellung des 3D-Formmodells verwendet wurde.

project_shape_model_3dproject_shape_model_3dProjectShapeModel3dproject_shape_model_3dProjectShapeModel3dProjectShapeModel3d ist insbesondere dazu nützlich, mit find_shape_model_3dfind_shape_model_3dFindShapeModel3dfind_shape_model_3dFindShapeModel3dFindShapeModel3d gefundene Matches zu visualisieren, wenn das zu Grunde liegende 3D-Objektmodell nicht mehr verfügbar ist.

Parallelisierung

Parameter

ModelContoursModelContoursModelContoursModelContoursModelContoursmodelContours (output_object)  xld_cont-array objectHXLDContHXLDContHXLDContArrayHXLDContXHobject *

Konturrepräsentation der Modellansicht.

ShapeModel3DIDShapeModel3DIDShapeModel3DIDShapeModel3DIDShapeModel3DIDshapeModel3DID (input_control)  shape_model_3d HShapeModel3D, HTupleHTupleHShapeModel3D, HTupleHShapeModel3DX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des 3D-Formmodells.

CamParamCamParamCamParamCamParamCamParamcamParam (input_control)  campar HCamPar, HTupleHTupleHTupleHCamParX, VARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

Interne Kameraparameter.

PosePosePosePosePosepose (input_control)  pose HPose, HTupleHTupleHTupleHPoseX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

3D-Lage (Pose) des 3D-Formmodells im Weltkoordinatensystem.

HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Verdeckte Flächen eliminieren?

Defaultwert: 'true' "true" "true" "true" "true" "true"

Werteliste: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"

MinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleminFaceAngle (input_control)  angle.rad HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Kleinster Flächenwinkel für den die Kante dargestellt wird

Defaultwert: 0.523599

Wertevorschläge: 0.17, 0.26, 0.35, 0.52

Ergebnis

Sind die Parameterwerte korrekt, dann liefert project_shape_model_3dproject_shape_model_3dProjectShapeModel3dproject_shape_model_3dProjectShapeModel3dProjectShapeModel3d den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3d, read_shape_model_3dread_shape_model_3dReadShapeModel3dread_shape_model_3dReadShapeModel3dReadShapeModel3d, get_shape_model_3d_paramsget_shape_model_3d_paramsGetShapeModel3dParamsget_shape_model_3d_paramsGetShapeModel3dParamsGetShapeModel3dParams, find_shape_model_3dfind_shape_model_3dFindShapeModel3dfind_shape_model_3dFindShapeModel3dFindShapeModel3d

Alternativen

project_object_model_3dproject_object_model_3dProjectObjectModel3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3d

Siehe auch

convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpher, convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCart, create_cam_pose_look_at_pointcreate_cam_pose_look_at_pointCreateCamPoseLookAtPointcreate_cam_pose_look_at_pointCreateCamPoseLookAtPointCreateCamPoseLookAtPoint, trans_pose_shape_model_3dtrans_pose_shape_model_3dTransPoseShapeModel3dtrans_pose_shape_model_3dTransPoseShapeModel3dTransPoseShapeModel3d

Modul

3D Metrology


KlassenKlassenKlassenKlassen | | | | Operatoren