CartesianRepresentation¶
-
class
astropy.coordinates.CartesianRepresentation(x, y=None, z=None, copy=True)[source] [edit on github]¶ Bases:
astropy.coordinates.BaseRepresentationRepresentation of points in 3D cartesian coordinates.
Parameters: x, y, z :
QuantityThe x, y, and z coordinates of the point(s). If
x,y, andzhave different shapes, they should be broadcastable.copy : bool, optional
If True arrays will be copied rather than referenced.
Attributes Summary
attr_classesxThe x component of the point(s). xyzyThe y component of the point(s). zThe z component of the point(s). Methods Summary
from_cartesian(other)to_cartesian()transform(matrix)Transform the cartesian coordinates using a 3x3 matrix. Attributes Documentation
-
attr_classes= OrderedDict([(u'x', <class 'astropy.units.quantity.Quantity'>), (u'y', <class 'astropy.units.quantity.Quantity'>), (u'z', <class 'astropy.units.quantity.Quantity'>)])¶
-
x¶ The x component of the point(s).
-
xyz¶
-
y¶ The y component of the point(s).
-
z¶ The z component of the point(s).
Methods Documentation
-
classmethod
from_cartesian(other)[source] [edit on github]¶
-
to_cartesian()[source] [edit on github]¶
-
transform(matrix)[source] [edit on github]¶ Transform the cartesian coordinates using a 3x3 matrix.
This returns a new representation and does not modify the original one.
Parameters: matrix :
ndarrayA 3x3 transformation matrix, such as a rotation matrix.
Examples
We can start off by creating a cartesian representation object:
>>> 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)
We now create a rotation matrix around the z axis:
>>> from astropy.coordinates.angles import rotation_matrix >>> rotation = rotation_matrix(30 * u.deg, axis='z')
Finally, we can apply this transformation:
>>> rep_new = rep.transform(rotation) >>> rep_new.xyz <Quantity [[ 1.8660254 , 3.23205081], [ 1.23205081, 1.59807621], [ 3. , 4. ]] pc>
-