project_shape_model_3dT_project_shape_model_3dProjectShapeModel3dProjectShapeModel3d (Operator)

Name

project_shape_model_3dT_project_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)

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 HShapeModel3D::ProjectShapeModel3d(const HCamPar& CamParam, const HPose& Pose, const wchar_t* HiddenSurfaceRemoval, double MinFaceAngle) const   (Nur Windows)

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 HCamPar::ProjectShapeModel3d(const HShapeModel3D& ShapeModel3DID, const HPose& Pose, const wchar_t* HiddenSurfaceRemoval, double MinFaceAngle) const   (Nur Windows)

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

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

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_3dProjectShapeModel3dProjectShapeModel3dProjectShapeModel3d projiziert die Kanten des 3D-Objektmodells, das zur Erstellung des 3D-Formmodells ShapeModel3DIDShapeModel3DIDShapeModel3DIDShapeModel3DIDshapeModel3DID verwendet wurde, in das Bildkoordinatensystem und liefert die projizierten Kanten in ModelContoursModelContoursModelContoursModelContoursmodelContours zurück. Die Koordinaten des 3D-Objektmodells sind im 3D-Weltkoordinatensystem (mcs) gegeben. Sie werden zuerst mittels der gegebenen 3D-Lage PosePosePosePosepose in Kamerakoordinaten (ccs) transformiert und dann basierend auf den internen Kameraparametern CamParamCamParamCamParamCamParamcamParam in das Bildkoordinatensystem projiziert.

Die internen Kameraparameter CamParamCamParamCamParamCamParamcamParam beschreiben dabei die Abbildungseigenschaften der Kamera (siehe Kalibrierung). Die 3D-Lage PosePosePosePosepose wird in der Form erwartet, siehe auch Transformationen / Posen und „Solution Guide III-C - 3D Vision“. Dies bedeutet, sie beschreibt die Position und Lage des Modellkoordinatensystems, welches über das 3D Objektmodel definiert ist, im Kamerakoordinatensystem.

Mit dem Parameter HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval kann die Verdeckungsberechnung ein- bzw. ausgeschaltet werden. Wenn der Parameter HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval auf '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 HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval auf 'false'"false""false""false""false" gesetzt, werden alle projizierten Kanten des 3D-Objektmodells zurückgegeben. Dieser Modus ist schneller als wenn HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval auf 'true'"true""true""true""true" gesetzt ist.

Ist die Systemvariable (siehe set_systemset_systemSetSystemSetSystemSetSystem) '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" gesetzt (Standard, sofern es verfügbar ist) und HiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalHiddenSurfaceRemovalhiddenSurfaceRemoval auf '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 (CamParamCamParamCamParamCamParamcamParam) sichtbar sind.

Mit dem Parameter MinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleminFaceAngle wird der minimale Winkel angegeben, den zwei benachbarte Flächen einschließen müssen, damit die Kante zwischen ihnen projiziert wird. Wird MinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleminFaceAngle auf 0.0 gesetzt, werden alle Kanten projiziert. Wird MinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleminFaceAngle 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_3dCreateShapeModel3dCreateShapeModel3dCreateShapeModel3d der Parameter '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_3dProjectShapeModel3dProjectShapeModel3dProjectShapeModel3d und project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dProjectObjectModel3d liefern das selbe Ergebnis, wenn an project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dProjectObjectModel3d das 3D-Objektmodell übergeben wird, das zur Erstellung des 3D-Formmodells verwendet wurde.

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

Ausführungsinformationen

Parameter

ModelContoursModelContoursModelContoursModelContoursmodelContours (output_object)  xld_cont-array objectHXLDContHXLDContHobject *

Konturrepräsentation der Modellansicht.

ShapeModel3DIDShapeModel3DIDShapeModel3DIDShapeModel3DIDshapeModel3DID (input_control)  shape_model_3d HShapeModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des 3D-Formmodells.

CamParamCamParamCamParamCamParamcamParam (input_control)  campar HCamPar, HTupleHTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Interne Kameraparameter.

PosePosePosePosepose (input_control)  pose HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

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

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

Verdeckte Flächen eliminieren?

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

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

MinFaceAngleMinFaceAngleMinFaceAngleMinFaceAngleminFaceAngle (input_control)  angle.rad HTupleHTupleHtuple (real / integer) (double / int / long) (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_3dProjectShapeModel3dProjectShapeModel3dProjectShapeModel3d den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3dCreateShapeModel3d, read_shape_model_3dread_shape_model_3dReadShapeModel3dReadShapeModel3dReadShapeModel3d, get_shape_model_3d_paramsget_shape_model_3d_paramsGetShapeModel3dParamsGetShapeModel3dParamsGetShapeModel3dParams, find_shape_model_3dfind_shape_model_3dFindShapeModel3dFindShapeModel3dFindShapeModel3d

Alternativen

project_object_model_3dproject_object_model_3dProjectObjectModel3dProjectObjectModel3dProjectObjectModel3d

Siehe auch

convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherConvertPoint3dCartToSpher, convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartConvertPoint3dSpherToCart, create_cam_pose_look_at_pointcreate_cam_pose_look_at_pointCreateCamPoseLookAtPointCreateCamPoseLookAtPointCreateCamPoseLookAtPoint, trans_pose_shape_model_3dtrans_pose_shape_model_3dTransPoseShapeModel3dTransPoseShapeModel3dTransPoseShapeModel3d

Modul

3D Metrology