|
| | __init__ (self, float a, float b, float n, float pitch, float nturns, float theta0=0.0, int sense=+1, int nodes_per_turn=64) |
| | __repr__ (self) |
| | __init__ (self, sp.Symbol theta, xexpr, yexpr, float pitch, float nturns, float theta0=0.0, int sense=+1, int nodes_per_turn=64) |
| np.ndarray | derivs_theta (self, float theta) |
| np.ndarray | base_point (self, float theta) |
| np.ndarray | outward_normal (self, float theta) |
| np.ndarray | point_theta (self, float theta) |
| float | speed_theta (self, float theta) |
| float | s_of_theta (self, float theta) |
| float | theta_of_s (self, float s) |
| float | theta (self, float s) |
| np.ndarray | r (self, float s) |
| np.ndarray | v (self, float s) |
| np.ndarray | a (self, float s) |
| np.ndarray | b (self, float s) |
| float | speed (self, float s) |
| float | segment_length (self, float ta, float tb, int nsub=1) |
| float | length (self) |
| np.ndarray | equidistant (self, int n) |
| | frame (self, float s) |
| | curvatures (self, float s) |
| float | signed_curvature (self, float s) |
| float | turn_gap (self, float theta) |
| | __init__ (self, float tmin=0.0, float tmax=1.0) |
| np.ndarray | sample (self, int n) |
| | 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) |
|
| float | _gl_length (self, float ta, float tb) |
| | _eval (self, float s) |
| int | _nsub_default (self) |
| float | _theta_sym = theta |
| list | _fun = [sp.lambdify(theta, [ex, ey], modules="numpy", cse=True) for ex, ey in exprs] |
| | _base_fun = sp.lambdify(theta, [xexpr, yexpr], modules="numpy") |
| | _normal_fun = sp.lambdify(theta, [dy / nrm, -dx / nrm], modules="numpy") |
| | _theta_nodes = np.linspace(self.theta0, self.theta1, m + 1) |
| | _s_nodes = np.zeros(m + 1) |
| | _cache_s = None |
| | _cache_val = None |
Spiral winding on a Lame curve (superellipse) |x/a|^n + |y/b|^n = 1.
Parameters
----------
a, b : semi-axes of the innermost turn (mandrel) along x and y
n : Lame exponent (2 = ellipse; 4 ... 6 = rounded rectangle). Even integers
give an analytic curve; other exponents are only C^(ceil(n)-1) on the axes.
pitch : radial growth per turn (tape thickness plus insulation)
nturns : number of turns (may be fractional)
theta0 : polar angle where the winding starts
sense : +1 winds counter-clockwise (seen from +z), -1 clockwise