convert_point_3d_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher convert_point_3d_cart_to_spher (Operator)
convert_point_3d_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher convert_point_3d_cart_to_spher
— Convert Cartesian coordinates of a 3D point to spherical
coordinates.
Signature
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 )
(
Windows only)
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]
Description
The operator convert_point_3d_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher convert_point_3d_cart_to_spher
converts
Cartesian coordinates of a 3D point, which are given in X X X x x
,
Y Y Y y y
, and Z Z Z z z
, into spherical coordinates. The
spherical coordinates are returned in Longitude Longitude Longitude longitude longitude
,
Latitude Latitude Latitude latitude latitude
, and Radius Radius Radius radius radius
. The Longitude Longitude Longitude longitude longitude
is
returned in the range
while the
Latitude Latitude Latitude latitude latitude
is returned in the range
. Furthermore, the latitude of
the north pole is
, and hence, the latitude of the
south pole is
.
The orientation of the spherical coordinate system with respect to
the Cartesian coordinate system can be specified with the parameters
EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal equatPlaneNormal equat_plane_normal
and ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian zero_meridian
.
EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal equatPlaneNormal equat_plane_normal
determines the normal of the equatorial
plane (longitude == 0) pointing to the north pole (positive
latitude) and may take the following values:
'x' "x" "x" "x" "x" :
The equatorial plane is the yz plane. The positive x axis points
to the north pole.
'-x' "-x" "-x" "-x" "-x" :
The equatorial plane is the yz plane. The positive x axis points
to the south pole.
'y' "y" "y" "y" "y" :
The equatorial plane is the xz plane. The positive y axis points
to the north pole.
'-y' "-y" "-y" "-y" "-y" :
The equatorial plane is the xz plane. The positive y axis points
to the south pole.
'z' "z" "z" "z" "z" :
The equatorial plane is the xy plane. The positive z axis points
to the north pole.
'-z' "-z" "-z" "-z" "-z" :
The equatorial plane is the xy plane. The positive z axis points
to the south pole.
The position of the zero meridian can be specified with the
parameter ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian zero_meridian
. For this, the coordinate axis
(lying in the equatorial plane) that points to the zero meridian
must be passed. The following values for ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian zero_meridian
are
valid:
'x' "x" "x" "x" "x" :
The positive x axis points in the direction of the zero
meridian.
'-x' "-x" "-x" "-x" "-x" :
The negative x axis points in the direction of the zero
meridian.
'y' "y" "y" "y" "y" :
The positive y axis points in the direction of the zero
meridian.
'-y' "-y" "-y" "-y" "-y" :
The negative y axis points in the direction of the zero
meridian.
'z' "z" "z" "z" "z" :
The positive z axis points in the direction of the zero
meridian.
'-z' "-z" "-z" "-z" "-z" :
The negative z axis points in the direction of the zero
meridian.
Only reasonable combinations of EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal equatPlaneNormal equat_plane_normal
and
ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian zero_meridian
are permitted, i.e., the normal of the
equatorial plane must not be parallel to the direction of the zero
meridian. For example, the combination
EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal equatPlaneNormal equat_plane_normal
='y' "y" "y" "y" "y" and
ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian zero_meridian
='-y' "-y" "-y" "-y" "-y" is not permitted.
Note that in order to guarantee a consistent conversion back from
spherical to Cartesian coordinates by using
convert_point_3d_spher_to_cart convert_point_3d_spher_to_cart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart convert_point_3d_spher_to_cart
, the same values must be
passed for EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal equatPlaneNormal equat_plane_normal
and ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian zero_meridian
as
were passed to convert_point_3d_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher convert_point_3d_cart_to_spher
.
The operator convert_point_3d_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher convert_point_3d_cart_to_spher
can be used, for
example, to convert a given camera position into spherical
coordinates. If multiple camera positions are converted in this way,
one obtains a pose range (in spherical coordinates), which can be
passed to create_shape_model_3d create_shape_model_3d CreateShapeModel3d CreateShapeModel3d create_shape_model_3d
in order to create a 3D
shape model.
Execution Information
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Processed without parallelization.
Parameters
X X X x x
(input_control) real(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
X coordinate of the 3D point.
Y Y Y y y
(input_control) real(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Y coordinate of the 3D point.
Z Z Z z z
(input_control) real(-array) →
HTuple MaybeSequence[float] HTuple Htuple (real) (double ) (double ) (double )
Z coordinate of the 3D point.
EquatPlaneNormal EquatPlaneNormal EquatPlaneNormal equatPlaneNormal equat_plane_normal
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Normal vector of the equatorial plane (points to the
north pole).
Default:
'-y'
"-y"
"-y"
"-y"
"-y"
List of values:
'-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"
ZeroMeridian ZeroMeridian ZeroMeridian zeroMeridian zero_meridian
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Coordinate axis in the equatorial plane that points
to the zero meridian.
Default:
'-z'
"-z"
"-z"
"-z"
"-z"
List of values:
'-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"
Longitude Longitude Longitude longitude longitude
(output_control) angle.rad(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Longitude of the 3D point.
Latitude Latitude Latitude latitude latitude
(output_control) angle.rad(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Latitude of the 3D point.
Radius Radius Radius radius radius
(output_control) real(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Radius of the 3D point.
Result
If the parameters are valid, the operator
convert_point_3d_cart_to_spher convert_point_3d_cart_to_spher ConvertPoint3dCartToSpher ConvertPoint3dCartToSpher convert_point_3d_cart_to_spher
returns the value 2 (
H_MSG_TRUE )
. If
necessary an exception is raised.
Possible Successors
create_shape_model_3d create_shape_model_3d CreateShapeModel3d CreateShapeModel3d create_shape_model_3d
,
find_shape_model_3d find_shape_model_3d FindShapeModel3d FindShapeModel3d find_shape_model_3d
See also
convert_point_3d_spher_to_cart convert_point_3d_spher_to_cart ConvertPoint3dSpherToCart ConvertPoint3dSpherToCart convert_point_3d_spher_to_cart
Module
3D Metrology