Package pygeodesy :: Module ecef :: Class EcefMatrix |
[frames] | no frames]

# Class EcefMatrix

       object --+
                |
            tuple --+
                    |
       object --+   |
                |   |
     named._Named --+
                    |
    named._NamedTuple --+
                        |
                       EcefMatrix

A rotation matrix.

Instance Methods
column(self, column) Get matrix `column` as 3-tuple. |
copy(self, **unused) Make a shallow or deep copy of this instance. |
__deepcopy__(self, **unused) Make a shallow or deep copy of this instance. |
__copy__(self, **unused) Make a shallow or deep copy of this instance. |
multiply(self, other) Matrix multiply M0' ⋅ M this matrix transposed with an other matrix. |
rotate(self, xyz, *xyz0) Forward rotation M0' ⋅ ([x, y, z] - [x0, y0, z0])'. |
row(self, row) Get matrix `row` as 3-tuple. |
unrotate(self, xyz, *xyz0) Inverse rotation [x0, y0, z0] + M0 ⋅ [x,y,z]'. |
Inherited from `named._NamedTuple`: `__delattr__`, `__getattr__`, `__getitem__`, `__repr__`, `__setattr__`, `__str__`, `dup`, `items`, `iteritems`, `iterunits`, `toRepr`, `toStr`, `toUnits`, `units` Inherited from `tuple`: `__add__`, `__contains__`, `__eq__`, `__ge__`, `__getattribute__`, `__getnewargs__`, `__getslice__`, `__gt__`, `__hash__`, `__iter__`, `__le__`, `__len__`, `__lt__`, `__mul__`, `__ne__`, `__rmul__`, `count`, `index` Inherited from `named._Named`: `_DOT_`, `__imatmul__`, `__matmul__`, `__rmatmul__`, `attrs`, `classof`, `rename`, `toStr2` Inherited from `object`: `__format__`, `__init__`, `__reduce__`, `__reduce_ex__`, `__sizeof__`, `__subclasshook__`

Static Methods
a new object with type S, a subtype of T |
__new__(cls, sa, ca, sb, cb, *_more) New EcefMatrix matrix. |

Class Variables
| _Names_ = ``(``'``_0_0_``'``,` `'``_0_1_``'``,` `'``_0_2_``'``,` `'``_1_0_``'``,` `'``_1_1_``'``,` `'``_1_2_``...`` Tuple specifying the `name` of each `Named-Tuple` item.
| _Units_ = ``(`<class 'pygeodesy.units.Scalar'>`,` <class 'pygeodesy`...`` Tuple defining the `units` of the value of each `Named-Tuple` item.

Properties
Inherited from `named._NamedTuple`: `iteration` Inherited from `named._Named`: `classname`, `classnaming`, `name`, `named`, `named2`, `named3`, `named4` Inherited from `object`: `__class__`

Method Details

### __new__ (cls, sa, ca, sb, cb, *_more) Static Method |
New EcefMatrix matrix. Arguments: `sa` - `sin(phi)` (`float`). `ca` - `cos(phi)` (`float`). `sb` - `sin(lambda)` (`float`). `cb` - `cos(lambda)` (`float`). `_more` - (INTERNAL) from `.multiply`. Returns: a new object with type S, a subtype of T Raises: `EcefError` - If `sa`, `ca`, `sb` or `cb` outside [-1.0, +1.0]. Overrides: object.__new__

### copy (self, **unused) |
Make a shallow or deep copy of this instance. Arguments: `deep` - If `True` make a deep, otherwise a shallow copy (`bool`). `name` - Optional, non-empty name (`str`). Returns: The copy (`This class` or subclass thereof). Overrides: named._Named.copy

### __deepcopy__ (self, **unused) |
Make a shallow or deep copy of this instance. Arguments: `deep` - If `True` make a deep, otherwise a shallow copy (`bool`). `name` - Optional, non-empty name (`str`). Returns: The copy (`This class` or subclass thereof).

### __copy__ (self, **unused) |
Make a shallow or deep copy of this instance. Arguments: `deep` - If `True` make a deep, otherwise a shallow copy (`bool`). `name` - Optional, non-empty name (`str`). Returns: The copy (`This class` or subclass thereof).

### multiply (self, other) |
Matrix multiply M0' ⋅ M this matrix transposed with an other matrix. Arguments: `other` - The other matrix (EcefMatrix). Returns: The matrix product (EcefMatrix). Raises: `TypeError` - If `other` is not EcefMatrix.

### rotate (self, xyz, *xyz0) |
Forward rotation M0' ⋅ ([x, y, z] - [x0, y0, z0])'. Arguments: `xyz` - Local `(x, y, z)` coordinates (`3-tuple`). `xyz0` - Optional, local `(x0, y0, z0)` origin (`3-tuple`). Returns: Rotated `(x, y, z)` location (`3-tuple`). Raises: `LenError` - Unequal `len(xyz)` and `len(xyz0)`.

### unrotate (self, xyz, *xyz0) |
Inverse rotation [x0, y0, z0] + M0 ⋅ [x,y,z]'. Arguments: `xyz` - Local `(x, y, z)` coordinates (`3-tuple`). `xyz0` - Optional, local `(x0, y0, z0)` origin (`3-tuple`). Returns: Unrotated `(x, y, z)` location (`3-tuple`). Raises: `LenError` - Unequal `len(xyz)` and `len(xyz0)`.

Class Variable Details

  ### _Names_ Tuple specifying the `name` of each `Named-Tuple` item. Note: Specify at least 2 item names. Value:
      ('_0_0_',
       '_0_1_',
       '_0_2_',
       '_1_0_',
       '_1_1_',
       '_1_2_',
       '_2_0_',
       '_2_1_',
      ...

  ### _Units_ Tuple defining the `units` of the value of each `Named-Tuple` item. Note: The `len(_Units_)` must match `len(_Names_)`. Value:
      (<class 'pygeodesy.units.Scalar'>,
       <class 'pygeodesy.units.Scalar'>,
       <class 'pygeodesy.units.Scalar'>,
       <class 'pygeodesy.units.Scalar'>,
       <class 'pygeodesy.units.Scalar'>,
       <class 'pygeodesy.units.Scalar'>,
       <class 'pygeodesy.units.Scalar'>,
       <class 'pygeodesy.units.Scalar'>,
      ...