Public Member Functions | |
| __init__ (self, float tmin=0.0, float tmax=1.0) | |
| np.ndarray | r (self, float t) |
| np.ndarray | v (self, float t) |
| np.ndarray | a (self, float t) |
| np.ndarray | b (self, float t) |
| float | speed (self, float t) |
| float | segment_length (self, float ta, float tb, int nsub=1) |
| float | length (self) |
| np.ndarray | equidistant (self, int n) |
| np.ndarray | sample (self, int n) |
| frame (self, float t) | |
| curvatures (self, float t) | |
| kappa_tau (self, float t) | |
| twisted_frame (self, float t, float theta_T=0.0) | |
| np.ndarray | transform (self, float t, float theta_T=0.0) |
| strip_curvatures (self, float t, float theta_T=0.0, float dtheta_T_ds=0.0) | |
| np.ndarray | darboux (self, float t) |
Public Attributes | |
| tmin = float(tmin) | |
| tmax = float(tmax) | |
| np.ndarray | t = None |
Protected Member Functions | |
| int | _nsub_default (self) |
Regular space curve r(t) on [tmin, tmax] with derivatives v, a, b.
Subclasses implement
r(t) -> position (3,)
v(t) -> dr/dt (3,)
a(t) -> d2r/dt2 (3,)
b(t) -> d3r/dt3 ("jerk") (3,)
The parameter t need not be the arc length, but all frame quantities are
computed such that they are invariant under reparametrization.
| pancake.basecurve.Basecurve.__init__ | ( | self, | |
| float | tmin = 0.0, | ||
| float | tmax = 1.0 ) |
|
protected |
| np.ndarray pancake.basecurve.Basecurve.a | ( | self, | |
| float | t ) |
Reimplemented in pancake.basecurve.RigidTransform, pancake.pancake.PancakeCurve, and pancake.spiral.PlanarSpiral.
| np.ndarray pancake.basecurve.Basecurve.b | ( | self, | |
| float | t ) |
Reimplemented in pancake.basecurve.RigidTransform, pancake.pancake.PancakeCurve, and pancake.spiral.PlanarSpiral.
| pancake.basecurve.Basecurve.curvatures | ( | self, | |
| float | t ) |
Curvature parameters (tau, kappa_g, kappa_n) of the frame returned by `frame`. For the Frenet frame this is (tau, 0, kappa), Eq. (3.30).
Reimplemented in pancake.basecurve.RigidTransform, pancake.pancake.PancakeCurve, and pancake.spiral.PlanarSpiral.
| np.ndarray pancake.basecurve.Basecurve.darboux | ( | self, | |
| float | t ) |
Darboux vector of the strip frame in space coordinates: tau T + kappa_g n + kappa_n b.
| np.ndarray pancake.basecurve.Basecurve.equidistant | ( | self, | |
| int | n ) |
Parameters t_0..t_{n-1} such that the arc length between neighbours is constant.
Reimplemented in pancake.basecurve.RigidTransform, pancake.pancake.PancakeCurve, and pancake.spiral.PlanarSpiral.
| pancake.basecurve.Basecurve.frame | ( | self, | |
| float | t ) |
Strip frame (T, n, b). Default: Frenet frame (T, N, B), Eq. (3.29).
Reimplemented in pancake.basecurve.RigidTransform, pancake.pancake.PancakeCurve, and pancake.spiral.PlanarSpiral.
| pancake.basecurve.Basecurve.kappa_tau | ( | self, | |
| float | t ) |
Frenet curvature and torsion, Eq. (3.30).
| float pancake.basecurve.Basecurve.length | ( | self | ) |
Reimplemented in pancake.pancake.PancakeCurve, and pancake.spiral.PlanarSpiral.
| np.ndarray pancake.basecurve.Basecurve.r | ( | self, | |
| float | t ) |
Reimplemented in pancake.basecurve.RigidTransform, pancake.pancake.PancakeCurve, and pancake.spiral.PlanarSpiral.
| np.ndarray pancake.basecurve.Basecurve.sample | ( | self, | |
| int | n ) |
Store and return n parameters with equal arc-length spacing.
| float pancake.basecurve.Basecurve.segment_length | ( | self, | |
| float | ta, | ||
| float | tb, | ||
| int | nsub = 1 ) |
Arc length between ta and tb by composite 7-point Gauss-Legendre.
Reimplemented in pancake.pancake.PancakeCurve, and pancake.spiral.PlanarSpiral.
| float pancake.basecurve.Basecurve.speed | ( | self, | |
| float | t ) |
Reimplemented in pancake.pancake.PancakeCurve, and pancake.spiral.PlanarSpiral.
| pancake.basecurve.Basecurve.strip_curvatures | ( | self, | |
| float | t, | ||
| float | theta_T = 0.0, | ||
| float | dtheta_T_ds = 0.0 ) |
(tau*, kappa_g*, kappa_n*) of the twisted strip, Eqs. (19.30), (19.34), (19.35).
| np.ndarray pancake.basecurve.Basecurve.transform | ( | self, | |
| float | t, | ||
| float | theta_T = 0.0 ) |
Rotation matrix mapping local cross-section coordinates to space. Column 0: b* (tape width direction) Column 1: -n* (tape thickness direction) Column 2: T (tape length direction) Local coordinates (x0, y0, 0) of a cross section are mapped by r(t) + R @ (x0, y0, 0). The triple (b, -n, T) is right handed.
| pancake.basecurve.Basecurve.twisted_frame | ( | self, | |
| float | t, | ||
| float | theta_T = 0.0 ) |
Frame (T, n*, b*) after twisting about T by theta_T, Eqs. (19.31)-(19.33).
| np.ndarray pancake.basecurve.Basecurve.v | ( | self, | |
| float | t ) |
Reimplemented in pancake.basecurve.RigidTransform, pancake.pancake.PancakeCurve, and pancake.spiral.PlanarSpiral.
| np.ndarray pancake.basecurve.Basecurve.t = None |
| pancake.basecurve.Basecurve.tmax = float(tmax) |
| pancake.basecurve.Basecurve.tmin = float(tmin) |