evolute 3D

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):

>