EVOLUTE 3D
> with(plots):
Warning, the name changecoords has been redefined
> spacecurve([sin(t)*sin(2*t),1+sin(t)*cos(2*t),cos(t)*sin(3*t),t=0..2*Pi],color=red,numpoints=500);
> spacecurve([sin(3*t)*sin(2*t),1+sin(t)*cos(2*t),cos(t)*sin(3*t),t=0..2*Pi],color=red,numpoints=500);
define r(t) = vector (x, y, z ),
>
x:=t->sin(t)*sin(2*t):
y:=t->1+sin(t)*cos(2*t):
z:=t->cos(t)*sin(3*t):
compute r' = vector( x', y', z' )
r'' = vector (x'', y'', z'' )
>
xp:=t->diff(x(t),t):xpp:=t->diff(xp(t),t):
yp:=t->diff(y(t),t):ypp:=t->diff(yp(t),t):
zp:=t->diff(z(t),t):zpp:=t->diff(zp(t),t):
> AC:=spacecurve([x(t),y(t),z(t)],t=0..2*Pi,color=red,thickness=3,numpoints=150):display3d(AC);
> mr:=t->sqrt(x(t)*x(t)+y(t)*y(t)+z(t)*z(t)):mp:=t->sqrt(xp(t)*xp(t)+yp(t)*yp(t)+zp(t)*zp(t)):mpp:=t->sqrt(xpp(t)*xpp(t)+ypp(t)*ypp(t)+zpp(t)*zpp(t)):
N = vector r' X r'' so N perp. to r' and N perp. to r''
> Nx:=t->yp(t)*zpp(t)-ypp(t)*zp(t):Ny:=t->xpp(t)*zp(t)-xp(t)*zpp(t):Nz:=t->xp(t)*ypp(t)-xpp(t)*yp(t):
BN = vector N X r' this should be the radial vector
> BNx:=t->Ny(t)*zp(t)-yp(t)*Nz(t):BNy:=t->xp(t)*Nz(t)-Nx(t)*zp(t):BNz:=t->Nx(t)*yp(t)-xp(t)*Ny(t):
magnitudes of the normal N and binormal BN
> mN:=t->sqrt((Nx(t))^2+(Ny(t))^2+(Nz(t))^2):mBN:=t->sqrt((BNx(t))^2+(BNy(t))^2+(BNz(t))^2):
curvature and radius of curvature
> pk:=t->mN(t)/(mp(t))^3: curvature
> RK:=t->1/pk(t): radius of curvature
define the components of the center of curvature (evolute)
> cx:=t->x(t)+RK(t)*BNx(t)/mBN(t):cy:=t->y(t)+RK(t)*BNy(t)/mBN(t):cz:=t->z(t)+RK(t)*BNz(t)/mBN(t):
> CC:=spacecurve([cx(t),cy(t),cz(t),t=0..2*Pi],color=blue,thickness=2,numpoints=350):
> display3d(AC,CC);
> display3d(CC);
>
>
define r(t) = vector (x, y, z ),
>
x:=t->cos(t):
y:=t->sin(t):
z:=t->(1+.2*sin(t))*sin(2*t):
>
mobius boundary (knotted evolute)
>
x:=t->(4+3.5*cos(t))*cos(2*t):
y:=t->(4+3.5*cos(t))*sin(2*t):
z:=t->sin(t):
>
>
mobius boundary (unknotted evolute)
>
x:=t->(5+2*cos(t))*cos(2*t):
y:=t->(5+2*cos(t))*sin(2*t):
z:=t->sin(t):
>