home *** CD-ROM | disk | FTP | other *** search
- "File DIF_APPS.MTH, copyright (c) 1990-2000 by Texas Instruments Incorporated"
-
- LINE_AUX(x0,y0,d1,x):=y0+d1*(x-x0)
-
- CIRCLE_AUX(v0,r,alpha):=[v0 SUB 1+r*COS(alpha),v0 SUB 2+r*SIN(alpha)]
-
- CURVATURE_AUX(d1,d2):=d2/(1+d1^2)^(3/2)
-
- CURVATURE(y,x):=CURVATURE_AUX(DIF(y,x),DIF(y,x,2))
-
- CENTER_OF_CURVATURE_AUX(v,d1,d2):=v+[-d1,1]*(1+d1^2)/d2
-
- CENTER_OF_CURVATURE(y,x):=CENTER_OF_CURVATURE_AUX([x,y],DIF(y,x),DIF(y,x,2))
-
- TANGENT(y,x,x0):=LIM(LINE_AUX(x_,LIM(y,x,x_),LIM(DIF(y,x),x,x_),x),x_,x0,0)
-
- PERPENDICULAR(y,x,x0):=LIM(LINE_AUX(x_,LIM(y,x,x_),(-1)/LIM(DIF(y,x),x,x_),x),~
- x_,x0,0)
-
- OSCULATING_CIRCLE(y,x,theta):=CIRCLE_AUX(CENTER_OF_CURVATURE(y,x),1/CURVATURE(~
- y,x),theta)
-
- [default1:=1,PARA_DIF(v,t,default1):=ITERATE(DIF(dk,t)/DIF(v SUB 1,t),dk,v SUB~
- 2,default1)]
-
- PARA_CURVATURE(v,t):=CURVATURE_AUX(PARA_DIF(v,t,1),PARA_DIF(v,t,2))
-
- PARA_CENTER_OF_CURVATURE(v,t):=CENTER_OF_CURVATURE_AUX(v,PARA_DIF(v,t,1),PARA_~
- DIF(v,t,2))
-
- PARA_TANGENT(v,t,t0,x):=LIM(LINE_AUX(LIM(v SUB 1,t,t_),LIM(v SUB 2,t,t_),LIM(P~
- ARA_DIF(v,t,1),t,t_),x),t_,t0,0)
-
- PARA_PERPENDICULAR(v,t,t0,x):=LIM(LINE_AUX(LIM(v SUB 1,t,t_),LIM(v SUB 2,t,t_)~
- ,-1/LIM(PARA_DIF(v,t,1),t,t_),x),t_,t0,0)
-
- PARA_OSCULATING_CIRCLE(v,t,t0,phi):=CIRCLE_AUX(LIM(PARA_CENTER_OF_CURVATURE(v,~
- t),t,t0),1/LIM(PARA_CURVATURE(v,t),t,t0),phi)
-
- [default1:=1,POLAR_DIF(r,theta,default1):=PARA_DIF([r*COS(theta),r*SIN(theta)]~
- ,theta,default1)]
-
- POLAR_CURVATURE(r,theta):=PARA_CURVATURE([r*COS(theta),r*SIN(theta)],theta)
-
- POLAR_CENTER_OF_CURVATURE(r,theta):=PARA_CENTER_OF_CURVATURE([r*COS(theta),r*S~
- IN(theta)],theta)
-
- POLAR_TANGENT(r,theta,theta0,x):=PARA_TANGENT([r*COS(theta),r*SIN(theta)],thet~
- a,theta0,x)
-
- POLAR_PERPENDICULAR(r,theta,theta0,x):=PARA_PERPENDICULAR([r*COS(theta),r*SIN(~
- theta)],theta,theta0,x)
-
- POLAR_OSCULATING_CIRCLE(r,theta,theta0,phi):=PARA_OSCULATING_CIRCLE([r*COS(the~
- ta),r*SIN(theta)],theta,theta0,phi)
-
- IMP_DIF_AUX(d1,x,y,n):=ITERATE(DIF(dk,x)+d1*DIF(dk,y),dk,d1,n-1)
-
- [default1:=1,IMP_DIF(u,x,y,default1):=IMP_DIF_AUX(-DIF(u,x)/DIF(u,y),x,y,defau~
- lt1)]
-
- IMP_CURVATURE(u,x,y):=CURVATURE_AUX(IMP_DIF(u,x,y,1),IMP_DIF(u,x,y,2))
-
- IMP_CENTER_OF_CURVATURE(u,x,y):=CENTER_OF_CURVATURE_AUX([x,y],IMP_DIF(u,x,y,1)~
- ,IMP_DIF(u,x,y,2))
-
- IMP_TANGENT(u,x,y,x0,y0):=LIM(LINE_AUX(x_,y_,LIM(IMP_DIF(u,x,y,1),[x,y],[x_,y_~
- ]),x),[x_,y_],[x0,y0])
-
- IMP_PERPENDICULAR(u,x,y,x0,y0):=LIM(LINE_AUX(x_,y_,-1/LIM(IMP_DIF(u,x,y,1),[x,~
- y],[x_,y_]),x),[x_,y_],[x0,y0])
-
- IMP_OSCULATING_CIRCLE(u,x,y,x0,y0,theta):=CIRCLE_AUX(LIM(IMP_CENTER_OF_CURVATU~
- RE(u,x,y),[x,y],[x0,y0]),1/LIM(IMP_CURVATURE(u,x,y),[x,y],[x0,y0]),x,theta)
-
- TANGENT_PLANE(u,v,v0):=LIM(GRAD(u,v),v,v0) . (v-v0)
-
- NORMAL_LINE(u,v,v0,t):=v0+t*LIM(GRAD(u,v),v,v0)