Package pygeodesy :: Module triaxials :: Class Triaxial_
[frames] | no frames]

Class Triaxial_

  object --+            
           |            
named._Named --+        
               |        
named._NamedBase --+    
                   |    
named._NamedEnumItem --+
                       |
                      Triaxial_
Known Subclasses:

Unordered triaxial ellipsoid and base class.

Triaxial ellipsoids with right-handed semi-axes a, b and c, oriented such that the large principal ellipse ab is the equator Z=0, beta=0, while the small principal ellipse ac is the prime meridian, plane Y=0, omega=0.

The four umbilic points, abs(omega) = abs(beta) = PI/2, lie on the middle principal ellipse bc in plane X=0, omega=PI/2.


Note: Geodetic lat- and longitudes are in degrees, geodetic phi and lambda are in radians, but ellipsoidal lat- and longitude beta and omega are in Radians by default (or in Degrees if converted).

Instance Methods
 
__init__(self, a_triaxial, b=None, c=None, **name)
New unordered Triaxial_.
 
__str__(self)
Default str(self).
 
area_p(self, p=1.6075)
Approximate the surface area (meter squared).
 
hartzell4(self, pov, los=False, **name)
Compute the intersection of this triaxial's surface with a Line-Of-Sight from a Point-Of-View in space.
 
height4(self, x_xyz, y=None, z=None, normal=True, eps=2.220446049250313e-16, **name)
Compute the projection on and the height above or below this triaxial's surface.
 
normal3d(self, x_xyz, y=None, z=None, length=1.0)
Get a 3-D vector at a cartesian on and perpendicular to this triaxial's surface.
 
sideOf(self, x_xyz, y=None, z=None, eps=8.881784197001252e-16)
Is a cartesian on, above or below the surface of this triaxial?
 
toEllipsoid(self, **name)
Convert this triaxial to an Ellipsoid, provided 2 axes match.
 
toStr(self, prec=9, **name)
Return this Triaxial as a string.

Inherited from named._NamedEnumItem: unregister

Inherited from named._NamedBase: __repr__, others, toRepr

Inherited from named._Named: __imatmul__, __matmul__, __rmatmul__, attrs, classof, copy, dup, methodname, rename, renamed, toStr2

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Properties
  a
  area
  b
  c
  e2ab
  e2ac
  e2bc
  isOrdered
  isSpherical
  unOrdered
  volume

Inherited from named._NamedEnumItem: name

Inherited from named._Named: classname, classnaming, iteration, named, named2, named3, named4, sizeof

Inherited from object: __class__

Method Details

__init__ (self, a_triaxial, b=None, c=None, **name)
(Constructor)

 

New unordered Triaxial_.

Arguments:
  • a_triaxial - Large, X semi-axis (scalar, conventionally in meter) or an other Triaxial or Triaxial_ instance.
  • b - Middle, Y semi-axis (meter, same units as a), required if a_triaxial is scalar, ignored otherwise.
  • c - Small, Z semi-axis (meter, b).
  • name - Optional name=NN (str).
Raises:
Overrides: object.__init__

__str__ (self)
(Informal representation operator)

 

Default str(self).

Overrides: object.__str__
(inherited documentation)

area_p (self, p=1.6075)

 

Approximate the surface area (meter squared).

Arguments:
  • p - Exponent (scalar > 0), 1.6 for near-spherical or 1.5849625007 for "near-flat" triaxials.

See Also: Surface area.

hartzell4 (self, pov, los=False, **name)

 

Compute the intersection of this triaxial's surface with a Line-Of-Sight from a Point-Of-View in space.

See Also: Function hartzell4 for further details.

height4 (self, x_xyz, y=None, z=None, normal=True, eps=2.220446049250313e-16, **name)

 

Compute the projection on and the height above or below this triaxial's surface.

Arguments:
  • x_xyz - X component (scalar) or a cartesian (Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz if scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • normal - If True, the projection is the perpendicular, plumb to the triaxial's surface, otherwise the radial line to the center of this triaxial (bool).
  • eps - Tolerance for root finding and validation (scalar), use a negative value to skip validation.
  • name - Optional name="heigh4" (str).
Returns:
Vector4Tuple(x, y, z, h) with the cartesian coordinates x, y and z of the projection on or the intersection with and with the height h above or below the triaxial's surface in meter, conventionally.
Raises:
  • TriaxialError - Non-cartesian xyz, invalid eps, no convergence in root finding or validation failed.

normal3d (self, x_xyz, y=None, z=None, length=1.0)

 

Get a 3-D vector at a cartesian on and perpendicular to this triaxial's surface.

Arguments:
  • x_xyz - X component (scalar) or a cartesian (Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz if scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • length - Optional, signed length and in-/outward direction (scalar).
Returns:
A Vector3d(x_, y_, z_) normalized to length, pointing in- or outward for neg- respectively positive length.
Raises:

Note: Cartesian (x, y, z) must be on this triaxial's surface, use method Triaxial.sideOf to validate.

See Also: Methods Triaxial.height4 and Triaxial.sideOf.

sideOf (self, x_xyz, y=None, z=None, eps=8.881784197001252e-16)

 

Is a cartesian on, above or below the surface of this triaxial?

Arguments:
  • x_xyz - X component (scalar) or a cartesian (Cartesian, Ecef9Tuple, Vector3d, Vector3Tuple or Vector4Tuple).
  • y - Y component (scalar), required if x_xyz if scalar, ignored otherwise.
  • z - Z component (scalar), like y.
  • eps - On-surface tolerance (scalar, distance squared).
Returns:
INT0 if (x, y, z) is near this triaxial's surface within tolerance eps, otherwise the signed, radial distance squared (float), negative for in- or positive for outside this triaxial.

See Also: Methods Triaxial.height4 and Triaxial.normal3d.

toEllipsoid (self, **name)

 

Convert this triaxial to an Ellipsoid, provided 2 axes match.

Arguments:
  • name - Optional name=NN (str).
Returns:
An Ellipsoid with north along this Z axis if a == b, this Y axis if a == c or this X axis if b == c.
Raises:

See Also: Method Ellipsoid.toTriaxial.

toStr (self, prec=9, **name)

 

Return this Triaxial as a string.

Arguments:
  • prec - Precision, number of decimal digits (0..9).
  • name - Optional name (str), to override or None to exclude this triaxial's name.
Returns:
This Triaxial's attributes (str).
Overrides: named._Named.toStr

Property Details

a

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

area

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

b

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

c

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

e2ab

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

e2ac

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

e2bc

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

isOrdered

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

isSpherical

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

unOrdered

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.

volume

Get method:
_fget(inst) - Get and cache/memoize the property value.
Set method:
_fset_error(inst, val) - Throws an AttributeError, always.
Delete Method:
_fdel(inst) - Zap the cached/memoized property value.