CartesianRepresentation#

class astropy.coordinates.CartesianRepresentation(x, y=None, z=None, unit=None, xyz_axis=None, differentials=None, copy=True)[源代码]#

基类:BaseRepresentation

三维笛卡尔坐标中点的表示。

参数:
x, y, z : Quantity or array数量或数组

点的x、y和z坐标。如果 xyz 有不同的形状,它们应该是可广播的。如果不是数量, unit 应该设置。只要 x 假定它包含一个数组,其中存储了3个坐标 xyz_axis .

unit : astropy:unit-like占星体:单位状

如果给定坐标,坐标将转换为该单位(如果未给出,则视为以该单位为单位)。

xyz_axis : int ,可选PYTHON:int,可选

当提供一个数组而不是不同的数组时,坐标的存储轴 xyz (默认值:0)。

differentials : dictCartesianDifferential ,可选Python:Dict,CartesianDifferential,可选

应与此表示法关联的任何差异类。输入必须是单个 CartesianDifferential 实例,或一个 CartesianDifferential S,关键字设置为对其进行微分(导数)的SI单位的字符串表示。例如,对于位置表达上的速度差,关键字为 's' 秒,指示该派生为时间派生。

copy : bool ,可选可选的布尔

如果 True (默认),将复制数组。如果 False ,数组将作为引用,但可能会广播以确保形状匹配。

属性摘要

attr_classes 

x 

点的“x”分量。

xyz 

返回x、y和z坐标的向量数组。

y 

点的“y”分量。

z 

点的“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坐标的向量数组。

参数:
xyz_axis : int ,可选PYTHON:int,可选

最终阵列中x、y、z组件应沿其存储的轴(默认值:0)。

返回:
xyzQuantity数量

与尺寸3一起 xyz_axis . 请注意,如果可能,这将是一个视图。

y#

点的“y”分量。

z#

点的“z”分量。

方法文件

cross(other)[源代码]#

两个表示的叉积。

参数:
其他BaseRepresentation 子类实例BaseRepresentation子类实例

如果不是笛卡尔坐标,则转换为笛卡尔坐标。

返回:
cross_productCartesianRepresentationCartesianRepresentation

向量垂直于两者 selfother .

dot(other)[源代码]#

两个表示的点积。

请注意,在此操作过程中,所有相关的差速器都将被丢弃。

参数:
其他BaseRepresentation 子类实例BaseRepresentation子类实例

如果不是笛卡尔坐标,则转换为笛卡尔坐标。

返回:
dot_productQuantity数量

的x、y和z分量乘积的和 selfother .

classmethod from_cartesian(other)[源代码]#

从提供的笛卡尔表示创建此类的表示形式。

参数:
otherCartesianRepresentationCartesianRepresentation

变成这个类的表示

返回:
representationBaseRepresentation 子类实例BaseRepresentation子类实例

此类类型的新表示形式。

get_xyz(xyz_axis=0)[源代码]#

返回x、y和z坐标的向量数组。

参数:
xyz_axis : int ,可选PYTHON:int,可选

最终阵列中x、y、z组件应沿其存储的轴(默认值:0)。

返回:
xyzQuantity数量

与尺寸3一起 xyz_axis . 请注意,如果可能,这将是一个视图。

mean(*args, **kwargs)[源代码]#

向量平均值。

使用x、y和z组件返回一个新的CartesianRepresentation实例。

参照 mean 关于论点的完整文档,请注意 axis 是在 shape 代表性,以及 out 无法使用参数。

norm()[源代码]#

向量范数。

范数是标准的Frobenius范数,即所有非角单位分量平方和的平方根。

请注意,在此操作过程中,所有相关的差速器都将被丢弃。

返回:
normastropy.units.Quantityastropy.units.Quantity

向量范数,与表示形式相同。

scale_factors()[源代码]#

每个组件方向的比例因子。

给定单位向量 \(\hat{{e}}_c\) 和比例因子 \(f_c\) ,一个组成部分的变化 \(\delta c\) 对应于 \(\delta c \times f_c \times \hat{{e}}_c\) .

返回:
scale_factors : dictQuantityPython :数量决定论

键是组件名称。

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.)>
返回:
cartreprCartesianRepresentationCartesianRepresentation

笛卡尔形式的表示。

transform(matrix)[源代码]#

使用3x3矩阵变换笛卡尔坐标。

这将返回一个新的表示形式,而不修改原始表示形式。附加到这个表示的任何微分也将被转换。

参数:
matrix : ndarray恩达雷

3x3变换矩阵,如旋转矩阵。

实例

我们可以从创建笛卡尔表示对象开始:

>>> 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 : dictCartesianRepresentationPython :笛卡尔表现法

键是组件名称。