类 SphericalCoordinates
java.lang.Object
org.hipparchus.geometry.euclidean.threed.SphericalCoordinates
- 所有已实现的接口:
-
Serializable
This class provides conversions related to 球坐标.
这里使用的约定是数学约定,即球坐标与笛卡尔坐标的关系如下:
- x = r cos(θ) sin(Φ)
- y = r sin(θ) sin(Φ)
- z = r cos(Φ)
- r = √(x2+y2+z2)
- θ = atan2(y, x)
- Φ = acos(z/r)
r是半径,θ是x-y平面上的方位角,Φ是极角(共纬度)角度。这些约定与物理学中使用的约定(特别是球谐函数中)不同,其中θ和Φ的含义被颠倒。
这个类提供了球坐标和笛卡尔坐标之间的坐标、梯度和Hessian的转换。
- 另请参阅:
-
构造器概要
-
方法概要
修饰符和类型方法说明获取笛卡尔坐标。double
getPhi()
获取极角(共纬度)角度。double
getR()
获取半径。double
getTheta()
获取x-y平面上的方位角。double[]
toCartesianGradient
(double[] sGradient) 将相对于球坐标的梯度转换为相对于笛卡尔坐标的梯度。double[][]
toCartesianHessian
(double[][] sHessian, double[] sGradient) 将相对于球坐标的Hessian转换为相对于笛卡尔坐标的Hessian。
-
构造器详细资料
-
SphericalCoordinates
从笛卡尔坐标构建球坐标转换器。- 参数:
-
v
- 笛卡尔坐标
-
SphericalCoordinates
public SphericalCoordinates(double r, double theta, double phi) 从球坐标构建球坐标转换器。- 参数:
-
r
- 半径 -
theta
- x-y平面上的方位角 -
phi
- 极角(共纬度)角度
-
-
方法详细资料
-
getCartesian
获取笛卡尔坐标。- 返回:
- 笛卡尔坐标
-
getR
public double getR()获取半径。- 返回:
- 半径r
- 另请参阅:
-
getTheta
public double getTheta()获取x-y平面上的方位角。- 返回:
- x-y平面上的方位角θ
- 另请参阅:
-
getPhi
public double getPhi()获取极角(共纬度)角度。- 返回:
- 极角(共纬度)角度Φ
- 另请参阅:
-
toCartesianGradient
public double[] toCartesianGradient(double[] sGradient) 将相对于球坐标的梯度转换为相对于笛卡尔坐标的梯度。- 参数:
-
sGradient
- 相对于球坐标的梯度 {df/dr, df/dθ, df/dΦ} - 返回:
- 相对于笛卡尔坐标的梯度 {df/dx, df/dy, df/dz}
-
toCartesianHessian
public double[][] toCartesianHessian(double[][] sHessian, double[] sGradient) 将相对于球坐标的Hessian转换为相对于笛卡尔坐标的Hessian。由于Hessian始终对称,我们只使用所提供球坐标Hessian的左下部分,因此上部分可能未初始化。但是,我们仍然填充我们创建的完整数组,保证对称性。
- 参数:
-
sHessian
- 相对于球坐标的Hessian {{d2f/dr2, d2f/drdθ, d2f/drdΦ}, {d2f/drdθ, d2f/dθ2, d2f/dθdΦ}, {d2f/drdΦ, d2f/dθdΦ, d2f/dΦ2} -
sGradient
- 相对于球坐标的梯度 {df/dr, df/dθ, df/dΦ} - 返回:
- 相对于笛卡尔坐标的Hessian {{d2f/dx2, d2f/dxdy, d2f/dxdz}, {d2f/dxdy, d2f/dy2, d2f/dydz}, {d2f/dxdz, d2f/dydz, d2f/dz2}}
-