Class to compute various attributes of a 2-D ellipse.
|
|
|
|
|
arc(self,
deg2,
deg1=0)
Compute the length of elliptic arc (deg2 -
deg1), both counter-clockwise from semi-axis
a to b of the ellipse. |
|
|
|
|
arc_(self,
rad2,
rad1=0)
Compute the length of elliptic arc (rad2 -
rad1), both counter-clockwise from semi-axis
a to b of the ellipse. |
|
|
|
|
hartzell4(self,
x,
y,
los=False)
Compute the intersection of this ellipse with a Line-Of-Sight from
Point-Of-View (x, y) outside this
ellipse. |
|
|
|
|
height4(self,
x,
y,
**normal_eps)
Compute the projection on and distance to this ellipse from a point
(x, y) in- or outside this ellipse. |
|
|
|
|
normal3d(self,
deg_x,
y=None,
**length)
Get a 3-D vector perpendicular to this ellipse from point
(x, y) on this ellipse or at
deg degrees along this ellipse. |
|
|
|
|
normal4(self,
deg_x,
y=None,
**height_normal)
Compute a point at height above or below this
ellipse point (x, y) on this
ellipse or at deg degrees along this ellipse. |
|
|
|
|
point(self,
deg_x,
y=None)
Return the point on this ellipse at deg or
atan2d(y, x) degrees along this ellipse. |
|
|
|
|
points(self,
np,
nq=4,
ccw=False,
ended=False,
eps=2.220446049250313e-16)
Yield up to np points along this ellipse, each a 2-tuple
(x, y), starting at semi-axis +a, in
(counter-)clockwise order and distributed evenly along the minor
semi-axis. |
|
|
|
|
polar2d(self,
deg_x,
y=None)
For a point at deg or atan2d(y,
x) degrees along this ellipse, return 2-tuple
(radius, angle) with the polar radius from the center (meter,
conventionally) and angle in degrees. |
|
|
|
|
Roc(self,
deg_x,
y=None,
eps=None)
Compute the radius of curvature at a point
deg or atan2d(y, x)
degrees along this ellipse. |
|
|
|
|
Roc_(self,
rad_x,
y=None,
eps=None)
Compute the radius of curvature at a point
rad or atan2(y, x)
radians along this ellipse. |
|
|
|
|
sideOf(self,
x,
y,
eps=2.220446049250313e-16)
Return a positive, negative or
0 fraction if point (x, y) is
outside, inside respectively
on this ellipse. |
|
|
|
|
slope(self,
deg_x,
y=None,
eps=None)
Compute the tangent slope at a point deg or
atan2d(y, x) degrees along this ellipse. |
|
|
|
|
slope_(self,
rad_x,
y=None,
eps=None)
Compute the tangent slope at a point rad or
atan2(y, x) radians along this ellipse. |
|
|
|
|
|
|
|
toStr(self,
prec=8,
terse=2,
**sep_name)
Return this ellipse as a text string. |
|
|
|
|
toTriaxial_(self,
c=2.220446049250313e-16,
**Triaxial_and_kwds)
Return a Triaxial_ from this ellipse' semi-axes. |
|
|
|
Inherited from named._NamedBase:
__repr__,
__str__,
others,
toRepr
Inherited from named._Named:
__format__,
__imatmul__,
__matmul__,
__rmatmul__,
attrs,
classof,
copy,
dup,
methodname,
rename,
renamed,
toStr2
Inherited from object:
__delattr__,
__getattribute__,
__hash__,
__new__,
__reduce__,
__reduce_ex__,
__setattr__,
__sizeof__,
__subclasshook__
|
|
|
a
Get semi-axis a of this ellipse
(meter, conventionally).
|
|
|
apses2
Get 2-tuple (apoapsis, periapsis) with the apo- and periapsis of this ellipse, both meter.
|
|
|
area
Get the area of this ellipse (meter**2, conventionally).
|
|
|
b
Get semi-axis b of this ellipse
(meter, conventionally).
|
|
|
c
Get the linear eccentricity c, unsigned
(meter, conventionally).
|
|
|
e
Get the eccentricity (scalar, 0 <= e <= 1).
|
|
|
e2
Get the eccentricity squared (scalar, 0 <= e2
<= 1).
|
|
|
foci
Get the linear eccentricity, signed
(meter, conventionally), positive if this
ellipse is oblate, negative if prolate or 0
if circular.
|
|
|
isCircular
Is this ellipse circular? (bool)
|
|
|
isFlat
Is this ellipse "flat", too pro-/oblate?
(bool)
|
|
|
isOblate
Is this ellipse oblate (foci on semi-axis a)?
(bool)
|
|
|
isProlate
Is this ellipse prolate (foci on semi-axis b)?
(bool)
|
|
|
lati
Get the semi-latus rectum, signed
(meter, conventionally), positive if this
ellipse is oblate or circular, 0 if "flat" and
oblate, negative if prolate or NEG0 if
"flat" and prolate.
|
|
|
p
Get the semi-latus rectum p (aka 𝓁,
script-small-l), unsigned (meter,
conventionally).
|
|
|
perimeterAGM
Compute the perimeter of this ellipse using the Arithmetic-Geometric Mean formula
(meter, conventionally).
|
|
|
perimeter4Arc3
Compute the perimeter (and arcs) of this ellipse using the 4-Arc (aka 4-Center) approximation as a 3-Tuple
(P, Ra, Rb) with perimeter P, arc radii
Ra and Rb at the respective semi-axes (all
in meter, conventionally).
|
|
|
perimeterCR
Compute the perimeter of this ellipse using Rackauckas' approximation, also here and here (meter, conventionally).
|
|
|
perimeterGK
Compute the perimeter of this ellipse using the Gauss-Kummer series, b / a >
0.75 (meter, conventionally).
|
|
|
perimeterHGK
Compute the perimeter of this ellipse using the Hypergeometric Gauss-Kummer series
(meter, conventionally).
|
|
|
perimeter2k
Compute the perimeter of this ellipse using the complete integral of
the 2nd kind, Elliptic.cE (meter,
conventionally).
|
|
|
perimeter2k_
Compute the perimeter of this ellipse using SciPy's ellipe function if available, otherwise use
property perimeter2k (meter,
conventionally).
|
|
|
perimeter2R
Compute the perimeter of this ellipse using Ramanujan's 2nd approximation, b / a
> 0.9 (meter, conventionally).
|
|
|
perimeter2RC
Compute the perimeter of this ellipse using Cantrell Ramanujan's 2nd approximation, b
/ a > 0.9 (meter, conventionally).
|
|
|
R1
Get this ellipse' arithmetic mean radius, (2 * a + b) /
3 (meter, conventionally).
|
|
|
R2
Get this ellipse' authalic radius, sqrt(a *
b) (meter, conventionally).
|
|
|
Rgeometric
Get this ellipse' authalic radius, sqrt(a *
b) (meter, conventionally).
|
|
|
Rauthalic
Get this ellipse' authalic radius, sqrt(a *
b) (meter, conventionally).
|
|
|
Rrectifying
Get this ellipse' rectifying radius, perimeter2k_ /
PI2 (meter, conventionally).
|
|
Inherited from named._Named:
classname,
classnaming,
iteration,
name,
named,
named2,
named3,
named4,
sizeof,
typename
Inherited from object:
__class__
|