CartesianRepresentation#
- class astropy.coordinates.CartesianRepresentation(x, y=None, z=None, unit=None, xyz_axis=None, differentials=None, copy=True)[源代码]#
-
三维笛卡尔坐标中点的表示。
- 参数:
- x, y, z :
Quantity
orarray
数量或数组 点的x、y和z坐标。如果
x
,y
和z
有不同的形状,它们应该是可广播的。如果不是数量,unit
应该设置。只要x
假定它包含一个数组,其中存储了3个坐标xyz_axis
.- unit : astropy:unit-like占星体:单位状
如果给定坐标,坐标将转换为该单位(如果未给出,则视为以该单位为单位)。
- xyz_axis :
int
,可选PYTHON:int,可选 当提供一个数组而不是不同的数组时,坐标的存储轴
x
,y
和z
(默认值:0)。- differentials :
dict
,CartesianDifferential
,可选Python:Dict,CartesianDifferential,可选 应与此表示法关联的任何差异类。输入必须是单个
CartesianDifferential
实例,或一个CartesianDifferential
S,关键字设置为对其进行微分(导数)的SI单位的字符串表示。例如,对于位置表达上的速度差,关键字为's'
秒,指示该派生为时间派生。- copy : bool ,可选可选的布尔
- x, y, z :
属性摘要
点的“x”分量。
返回x、y和z坐标的向量数组。
点的“y”分量。
点的“z”分量。
方法总结
cross
(其他)两个表示的叉积。
dot
(其他)两个表示的点积。
from_cartesian
(其他)从提供的笛卡尔表示创建此类的表示形式。
get_xyz
([xyz_axis])返回x、y和z坐标的向量数组。
mean
(*args, **kwargs)向量平均值。
norm
\()向量范数。
scale_factors
\()每个组件方向的比例因子。
sum
(*args, **kwargs)矢量和。
to_cartesian
\()将表示转换为笛卡尔形式。
transform
\(矩阵)使用3x3矩阵变换笛卡尔坐标。
unit_vectors
\()每个分量方向上的笛卡尔单位向量。
属性文档
- attr_classes = {'x': <class 'astropy.units.quantity.Quantity'>, 'y': <class 'astropy.units.quantity.Quantity'>, 'z': <class 'astropy.units.quantity.Quantity'>}#
- x#
点的“x”分量。
- xyz#
返回x、y和z坐标的向量数组。
- y#
点的“y”分量。
- z#
点的“z”分量。
方法文件
- cross(other)[源代码]#
两个表示的叉积。
- 参数:
- 其他 :
BaseRepresentation
子类实例BaseRepresentation子类实例 如果不是笛卡尔坐标,则转换为笛卡尔坐标。
- 其他 :
- 返回:
- cross_product :
CartesianRepresentation
CartesianRepresentation
向量垂直于两者
self
和other
.
- cross_product :
- dot(other)[源代码]#
两个表示的点积。
请注意,在此操作过程中,所有相关的差速器都将被丢弃。
- 参数:
- 其他 :
BaseRepresentation
子类实例BaseRepresentation子类实例 如果不是笛卡尔坐标,则转换为笛卡尔坐标。
- 其他 :
- 返回:
- dot_product :
Quantity
数量 的x、y和z分量乘积的和
self
和other
.
- dot_product :
- classmethod from_cartesian(other)[源代码]#
从提供的笛卡尔表示创建此类的表示形式。
- 参数:
- other :
CartesianRepresentation
CartesianRepresentation
变成这个类的表示
- other :
- 返回:
- representation :
BaseRepresentation
子类实例BaseRepresentation子类实例 此类类型的新表示形式。
- representation :
- mean(*args, **kwargs)[源代码]#
向量平均值。
使用x、y和z组件返回一个新的CartesianRepresentation实例。
参照
mean
关于论点的完整文档,请注意axis
是在shape
代表性,以及out
无法使用参数。
- norm()[源代码]#
向量范数。
范数是标准的Frobenius范数,即所有非角单位分量平方和的平方根。
请注意,在此操作过程中,所有相关的差速器都将被丢弃。
- 返回:
- norm :
astropy.units.Quantity
astropy.units.Quantity
向量范数,与表示形式相同。
- norm :
- scale_factors()[源代码]#
每个组件方向的比例因子。
给定单位向量 \(\hat{{e}}_c\) 和比例因子 \(f_c\) ,一个组成部分的变化 \(\delta c\) 对应于 \(\delta c \times f_c \times \hat{{e}}_c\) .
- sum(*args, **kwargs)[源代码]#
矢量和。
返回一个包含x、y和z分量之和的新CartesianRepresentation实例。
参照
sum
关于论点的完整文档,请注意axis
是在shape
代表性,以及out
无法使用参数。
- to_cartesian()[源代码]#
将表示转换为笛卡尔形式。
请注意,任何差分都会丢失。还要注意原点的方向信息是 not 通过笛卡尔坐标转换保存。例如,通过笛卡尔坐标变换在距离=0处定义的角度位置并将其向后转换将丢失原始角度坐标:
>>> import astropy.units as u >>> import astropy.coordinates as coord >>> rep = coord.SphericalRepresentation( ... lon=15*u.deg, ... lat=-11*u.deg, ... distance=0*u.pc) >>> rep.to_cartesian().represent_as(coord.SphericalRepresentation) <SphericalRepresentation (lon, lat, distance) in (rad, rad, pc) (0., 0., 0.)>
- 返回:
- cartrepr :
CartesianRepresentation
CartesianRepresentation
笛卡尔形式的表示。
- cartrepr :
- transform(matrix)[源代码]#
使用3x3矩阵变换笛卡尔坐标。
这将返回一个新的表示形式,而不修改原始表示形式。附加到这个表示的任何微分也将被转换。
- 参数:
- matrix :
ndarray
恩达雷 3x3变换矩阵,如旋转矩阵。
- matrix :
实例
我们可以从创建笛卡尔表示对象开始:
>>> from astropy import units as u >>> from astropy.coordinates import CartesianRepresentation >>> rep = CartesianRepresentation([1, 2] * u.pc, ... [2, 3] * u.pc, ... [3, 4] * u.pc)
现在,我们围绕z轴创建旋转矩阵:
>>> from astropy.coordinates.matrix_utilities import rotation_matrix >>> rotation = rotation_matrix(30 * u.deg, axis='z')
最后,我们可以应用此转换:
>>> rep_new = rep.transform(rotation) >>> rep_new.xyz <Quantity [[ 1.8660254 , 3.23205081], [ 1.23205081, 1.59807621], [ 3. , 4. ]] pc>
- unit_vectors()[源代码]#
每个分量方向上的笛卡尔单位向量。
给定单位向量 \(\hat{{e}}_c\) 和比例因子 \(f_c\) ,一个组成部分的变化 \(\delta c\) 对应于 \(\delta c \times f_c \times \hat{{e}}_c\) .
- 返回:
- unit_vectors :
dict
的CartesianRepresentation
Python :笛卡尔表现法 键是组件名称。
- unit_vectors :