convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpher (Operator)

Name

convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpher — 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)

Beschreibung

Der Operator convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherConvertPoint3dCartToSpher konvertiert die kartesischen Koordinaten eines 3D-Punktes, die in XXXXx, YYYYy und ZZZZz gegeben sind, in sphärische Koordinaten. Die sphärischen Koordinaten werden in LongitudeLongitudeLongitudeLongitudelongitude (geographische Länge), LatitudeLatitudeLatitudeLatitudelatitude (geographische Breite) und RadiusRadiusRadiusRadiusradius zurückgegeben. Der Wertebereich von LongitudeLongitudeLongitudeLongitudelongitude ist , der von LatitudeLatitudeLatitudeLatitudelatitude 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 EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian festgelegt werden.

EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal 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":

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

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

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

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

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

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

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

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

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

'-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 ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian festgelegt werden. Dazu muss die (in der Äquatorebene liegende) Koordinatenachse angegeben werden, die zum Nullmeridian zeigen soll. Folgende Werte für ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian sind zulässig:

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

Die positive x-Achse zeigt in Richtung des Nullmeridians.

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

Die negative x-Achse zeigt in Richtung des Nullmeridians.

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

Die positive y-Achse zeigt in Richtung des Nullmeridians.

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

Die negative y-Achse zeigt in Richtung des Nullmeridians.

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

Die positive z-Achse zeigt in Richtung des Nullmeridians.

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

Die negative z-Achse zeigt in Richtung des Nullmeridians.

Es sind nur sinnvolle Kombinationen von EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian zulässig, d.h. die Normale der Äquatorebene darf nicht parallel zur Richtung des Nullmeridians sein. Demnach ist beispielsweise die Kombination EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal='y'"y""y""y""y" und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian='-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_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartConvertPoint3dSpherToCart zu gewährleisten, müssen für EquatPlaneNormalEquatPlaneNormalEquatPlaneNormalEquatPlaneNormalequatPlaneNormal und ZeroMeridianZeroMeridianZeroMeridianZeroMeridianzeroMeridian die selben Werte angegeben werden wie bei convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherConvertPoint3dCartToSpher.

Der Operator convert_point_3d_cart_to_spherconvert_point_3d_cart_to_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherConvertPoint3dCartToSpher 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_3dCreateShapeModel3dCreateShapeModel3dCreateShapeModel3d zur Erzeugung eines 3D-Formmodells übergeben werden kann.

Ausführungsinformationen

Parameter

XXXXx (input_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

X-Koordinate des 3D-Punktes.

YYYYy (input_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Y-Koordinate des 3D-Punktes.

ZZZZz (input_control)  real(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Z-Koordinate des 3D-Punktes.

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

Normalenvektor der Äquatorebene (zeigt zum Nordpol).

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

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

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

Koordinatenachse in der Äquatorebene, die zum Nullmeridian zeigt.

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

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

LongitudeLongitudeLongitudeLongitudelongitude (output_control)  angle.rad(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Geographische Länge des 3D-Punktes.

LatitudeLatitudeLatitudeLatitudelatitude (output_control)  angle.rad(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Geographische Breite des 3D-Punktes.

RadiusRadiusRadiusRadiusradius (output_control)  real(-array) HTupleHTupleHtuple (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_spherConvertPoint3dCartToSpherConvertPoint3dCartToSpherConvertPoint3dCartToSpher den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

create_shape_model_3dcreate_shape_model_3dCreateShapeModel3dCreateShapeModel3dCreateShapeModel3d, find_shape_model_3dfind_shape_model_3dFindShapeModel3dFindShapeModel3dFindShapeModel3d

Siehe auch

convert_point_3d_spher_to_cartconvert_point_3d_spher_to_cartConvertPoint3dSpherToCartConvertPoint3dSpherToCartConvertPoint3dSpherToCart

Modul

3D Metrology