convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spher (Operator)

Name

convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spher — Konvertieren kartesischer Koordinaten eines 3D-Punktes in sphärische Koordinaten.

Signatur

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

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

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

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

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

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

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

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

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

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

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

def convert_point_3d_cart_to_spher(x: MaybeSequence[float], y: MaybeSequence[float], z: MaybeSequence[float], equat_plane_normal: str, zero_meridian: str) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]

def convert_point_3d_cart_to_spher_s(x: MaybeSequence[float], y: MaybeSequence[float], z: MaybeSequence[float], equat_plane_normal: str, zero_meridian: str) -> Tuple[float, float, float]

Beschreibung

Der Operator convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spher konvertiert die kartesischen Koordinaten eines 3D-Punktes, die in XXXXxx, YYYYyy und ZZZZzz gegeben sind, in sphärische Koordinaten. Die sphärischen Koordinaten werden in LongitudeLongitudeLongitudeLongitudelongitudelongitude (geographische Länge), LatitudeLatitudeLatitudeLatitudelatitudelatitude (geographische Breite) und RadiusRadiusRadiusRadiusradiusradius zurückgegeben. Der Wertebereich von LongitudeLongitudeLongitudeLongitudelongitudelongitude ist , der von LatitudeLatitudeLatitudeLatitudelatitudelatitude ist . Dabei hat der Nordpol die Breite , der Südpol entsprechend die Breite .

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 sphärischen in kartesische Koordinaten mit convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cart zu gewährleisten, müssen für EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormalequat_plane_normal und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridianzero_meridian die selben Werte angegeben werden wie bei convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spher.

Der Operator convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherConvertPoint3dCartToSpherconvert_point_3d_cart_to_spher kann z.B. dazu genutzt werden, eine gegebene Kameraposition in sphärische Koordinaten umzurechnen. Werden mehrere Kamerapositionen umgerechnet, erhält man somit einen Pose-Bereich (in sphärischen Koordinaten), der in create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3dCreateShapeModel3dcreate_shape_model_3d zur Erzeugung eines 3D-Formmodells übergeben werden kann.

Ausführungsinformationen

Parameter

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

X-Koordinate des 3D-Punktes.

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

Y-Koordinate des 3D-Punktes.

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

Z-Koordinate 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"

LongitudeLongitudeLongitudeLongitudelongitudelongitude (output_control)  angle.rad(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Geographische Länge des 3D-Punktes.

LatitudeLatitudeLatitudeLatitudelatitudelatitude (output_control)  angle.rad(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Geographische Breite des 3D-Punktes.

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

Radius des 3D-Punktes.

Ergebnis

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

Nachfolger

create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3dCreateShapeModel3dcreate_shape_model_3d, find_shape_model_3dfind_shape_model_3dFindShapeModel3dFindShapeModel3dFindShapeModel3dfind_shape_model_3d

Siehe auch

convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartConvertPoint3dSpherToCartconvert_point_3d_spher_to_cart

Modul

3D Metrology