convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cart (Operator)

Name

convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cart — Konvertieren sphärischer Koordinaten eines 3D-Punktes in kartesische Koordinaten.

Signatur

convert_point_3d_spher_to_cart( : : Longitude, Latitude, Radius, EquatPlaneNormal, ZeroMeridian : X, Y, Z)

Herror convert_point_3d_spher_to_cart(double Longitude, double Latitude, double Radius, const char* EquatPlaneNormal, const char* ZeroMeridian, double* X, double* Y, double* Z)

Herror T_convert_point_3d_spher_to_cart(const Htuple Longitude, const Htuple Latitude, const Htuple Radius, const Htuple EquatPlaneNormal, const Htuple ZeroMeridian, Htuple* X, Htuple* Y, Htuple* Z)

void ConvertPoint3dSpherToCart(const HTuple& Longitude, const HTuple& Latitude, const HTuple& Radius, const HTuple& EquatPlaneNormal, const HTuple& ZeroMeridian, HTuple* X, HTuple* Y, HTuple* Z)

static void HMisc::ConvertPoint3dSpherToCart(const HTuple& Longitude, const HTuple& Latitude, const HTuple& Radius, const HString& EquatPlaneNormal, const HString& ZeroMeridian, HTuple* X, HTuple* Y, HTuple* Z)

static void HMisc::ConvertPoint3dSpherToCart(double Longitude, double Latitude, double Radius, const HString& EquatPlaneNormal, const HString& ZeroMeridian, double* X, double* Y, double* Z)

static void HMisc::ConvertPoint3dSpherToCart(double Longitude, double Latitude, double Radius, const char* EquatPlaneNormal, const char* ZeroMeridian, double* X, double* Y, double* Z)

static void HMisc::ConvertPoint3dSpherToCart(double Longitude, double Latitude, double Radius, const wchar_t* EquatPlaneNormal, const wchar_t* ZeroMeridian, double* X, double* Y, double* Z)   (Nur Windows)

static void HOperatorSet.ConvertPoint3dSpherToCart(HTuple longitude, HTuple latitude, HTuple radius, HTuple equatPlaneNormal, HTuple zeroMeridian, out HTuple x, out HTuple y, out HTuple z)

static void HMisc.ConvertPoint3dSpherToCart(HTuple longitude, HTuple latitude, HTuple radius, string equatPlaneNormal, string zeroMeridian, out HTuple x, out HTuple y, out HTuple z)

static void HMisc.ConvertPoint3dSpherToCart(double longitude, double latitude, double radius, string equatPlaneNormal, string zeroMeridian, out double x, out double y, out double z)

def convert_point_3d_spher_to_cart(longitude: MaybeSequence[float], latitude: MaybeSequence[float], radius: MaybeSequence[float], equat_plane_normal: str, zero_meridian: str) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]

def convert_point_3d_spher_to_cart_s(longitude: MaybeSequence[float], latitude: MaybeSequence[float], radius: MaybeSequence[float], equat_plane_normal: str, zero_meridian: str) -> Tuple[float, float, float]

Beschreibung

Der Operator convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cart konvertiert die sphärischen Koordinaten eines 3D-Punktes, die in LongitudeLongitudeLongitudeLongitudelongitudelongitude (geographische Länge), LatitudeLatitudeLatitudeLatitudelatitudelatitude (geographische Breite) und RadiusRadiusRadiusRadiusradiusradius gegeben sind, in kartesische Koordinaten XXXXxx, YYYYyy und ZZZZzz. Die sphärischen Koordinaten LongitudeLongitudeLongitudeLongitudelongitudelongitude und LatitudeLatitudeLatitudeLatitudelatitudelatitude müssen im Bogenmaß übergeben werden. Der Parameter LatitudeLatitudeLatitudeLatitudelatitudelatitude muss dabei im Bereich liegen, wobei der Nordpol die Breite und der Südpol entsprechend die Breite hat.

Die Lage des sphärischen Koordinatensystems bezüglich des kartesischen Koordinatensystems kann mit den Parametern EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormalequat_plane_normal und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridianzero_meridian festgelegt werden.

EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormalequat_plane_normal bestimmt dabei die Normale der Äquatorebene (Länge == 0) in Richtung Nordpol (positive Breite) und kann die folgenden Werte annehmen:

'x'"x""x""x""x""x":

Die Äquatorebene ist die yz-Ebene. Die positive x-Achse zeigt zum Nordpol.

'-x'"-x""-x""-x""-x""-x":

Die Äquatorebene ist die yz-Ebene. Die positive x-Achse zeigt zum Südpol.

'y'"y""y""y""y""y":

Die Äquatorebene ist die xz-Ebene. Die positive y-Achse zeigt zum Nordpol.

'-y'"-y""-y""-y""-y""-y":

Die Äquatorebene ist die xz-Ebene. Die positive y-Achse zeigt zum Südpol.

'z'"z""z""z""z""z":

Die Äquatorebene ist die xy-Ebene. Die positive z-Achse zeigt zum Nordpol.

'-z'"-z""-z""-z""-z""-z":

Die Äquatorebene ist die xy-Ebene. Die positive z-Achse zeigt zum Südpol.

Die Lage des Nullmeridians kann mit dem Parameter ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridianzero_meridian festgelegt werden. Dazu muss die (in der Äquatorebene liegende) Koordinatenachse angegeben werden, die zum Nullmeridian zeigen soll. Folgende Werte für ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridianzero_meridian sind zulässig:

'x'"x""x""x""x""x":

Die positive x-Achse zeigt in Richtung des Nullmeridians.

'-x'"-x""-x""-x""-x""-x":

Die negative x-Achse zeigt in Richtung des Nullmeridians.

'y'"y""y""y""y""y":

Die positive y-Achse zeigt in Richtung des Nullmeridians.

'-y'"-y""-y""-y""-y""-y":

Die negative y-Achse zeigt in Richtung des Nullmeridians.

'z'"z""z""z""z""z":

Die positive z-Achse zeigt in Richtung des Nullmeridians.

'-z'"-z""-z""-z""-z""-z":

Die negative z-Achse zeigt in Richtung des Nullmeridians.

Es sind nur sinnvolle Kombinationen von EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormalequat_plane_normal und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridianzero_meridian zulässig, d.h. die Normale der Äquatorebene darf nicht parallel zur Richtung des Nullmeridians sein. Demnach ist beispielsweise die Kombination EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormalequat_plane_normal='y'"y""y""y""y""y" und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridianzero_meridian='-y'"-y""-y""-y""-y""-y" ungültig.

Beachte: Um eine konsistente Rückkonvertierung von kartesischen in sphärische Koordinaten mit convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spher zu gewährleisten, müssen für EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormalequat_plane_normal und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridianzero_meridian die selben Werte angegeben werden wie bei convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cart.

Der Operator convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cart kann z.B. dazu genutzt werden, eine in sphärischen Koordinaten gegebene Kameraposition in kartesische Koordinaten umzurechnen. Das Ergebnis kann dann mit create_cam_pose_look_at_pointcreate_cam_pose_look_at_pointCreateCamPoseLookAtPointCreateCamPoseLookAtPointCreateCamPoseLookAtPointcreate_cam_pose_look_at_point in eine vollständige Kamera-Pose umgerechnet werden.

Ausführungsinformationen

Parameter

LongitudeLongitudeLongitudeLongitudelongitudelongitude (input_control)  angle.rad(-array) HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)

Geographische Länge des 3D-Punktes.

LatitudeLatitudeLatitudeLatitudelatitudelatitude (input_control)  angle.rad(-array) HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)

Geographische Breite des 3D-Punktes.

Restriktion: - pi / 2 <= Latitude && Latitude <= pi / 2

RadiusRadiusRadiusRadiusradiusradius (input_control)  real(-array) HTupleMaybeSequence[float]HTupleHtuple (real) (double) (double) (double)

Radius des 3D-Punktes.

EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormalequat_plane_normal (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Normalenvektor der Äquatorebene (zeigt zum Nordpol).

Defaultwert: '-y' "-y" "-y" "-y" "-y" "-y"

Werteliste: '-x'"-x""-x""-x""-x""-x", '-y'"-y""-y""-y""-y""-y", '-z'"-z""-z""-z""-z""-z", 'x'"x""x""x""x""x", 'y'"y""y""y""y""y", 'z'"z""z""z""z""z"

ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridianzero_meridian (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Koordinatenachse in der Äquatorebene, die zum Nullmeridian zeigt.

Defaultwert: '-z' "-z" "-z" "-z" "-z" "-z"

Werteliste: '-x'"-x""-x""-x""-x""-x", '-y'"-y""-y""-y""-y""-y", '-z'"-z""-z""-z""-z""-z", 'x'"x""x""x""x""x", 'y'"y""y""y""y""y", 'z'"z""z""z""z""z"

XXXXxx (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

X-Koordinate des 3D-Punktes.

YYYYyy (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Y-Koordinate des 3D-Punktes.

ZZZZzz (output_control)  real(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Z-Koordinate des 3D-Punktes.

Ergebnis

Sind die Parameterwerte korrekt, dann liefert convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cart den Wert TRUE. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

get_shape_model_3d_paramsget_shape_model_3d_paramsGetShapeModel3dParamsGetShapeModel3dParamsGetShapeModel3dParamsget_shape_model_3d_params

Siehe auch

convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spher

Modul

3D Metrology