home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / zkuste / derive / download / Setup.exe / %MAINDIR% / Math / Dif_apps.mth < prev    next >
Encoding:
Text File  |  2002-05-15  |  2.7 KB  |  79 lines

  1. "File DIF_APPS.MTH, copyright (c) 1990-2000 by Texas Instruments Incorporated"
  2.  
  3. LINE_AUX(x0,y0,d1,x):=y0+d1*(x-x0)
  4.  
  5. CIRCLE_AUX(v0,r,alpha):=[v0 SUB 1+r*COS(alpha),v0 SUB 2+r*SIN(alpha)]
  6.  
  7. CURVATURE_AUX(d1,d2):=d2/(1+d1^2)^(3/2)
  8.  
  9. CURVATURE(y,x):=CURVATURE_AUX(DIF(y,x),DIF(y,x,2))
  10.  
  11. CENTER_OF_CURVATURE_AUX(v,d1,d2):=v+[-d1,1]*(1+d1^2)/d2
  12.  
  13. CENTER_OF_CURVATURE(y,x):=CENTER_OF_CURVATURE_AUX([x,y],DIF(y,x),DIF(y,x,2))
  14.  
  15. TANGENT(y,x,x0):=LIM(LINE_AUX(x_,LIM(y,x,x_),LIM(DIF(y,x),x,x_),x),x_,x0,0)
  16.  
  17. PERPENDICULAR(y,x,x0):=LIM(LINE_AUX(x_,LIM(y,x,x_),(-1)/LIM(DIF(y,x),x,x_),x),~
  18. x_,x0,0)
  19.  
  20. OSCULATING_CIRCLE(y,x,theta):=CIRCLE_AUX(CENTER_OF_CURVATURE(y,x),1/CURVATURE(~
  21. y,x),theta)
  22.  
  23. [default1:=1,PARA_DIF(v,t,default1):=ITERATE(DIF(dk,t)/DIF(v SUB 1,t),dk,v SUB~
  24.  2,default1)]
  25.  
  26. PARA_CURVATURE(v,t):=CURVATURE_AUX(PARA_DIF(v,t,1),PARA_DIF(v,t,2))
  27.  
  28. PARA_CENTER_OF_CURVATURE(v,t):=CENTER_OF_CURVATURE_AUX(v,PARA_DIF(v,t,1),PARA_~
  29. DIF(v,t,2))
  30.  
  31. PARA_TANGENT(v,t,t0,x):=LIM(LINE_AUX(LIM(v SUB 1,t,t_),LIM(v SUB 2,t,t_),LIM(P~
  32. ARA_DIF(v,t,1),t,t_),x),t_,t0,0)
  33.  
  34. PARA_PERPENDICULAR(v,t,t0,x):=LIM(LINE_AUX(LIM(v SUB 1,t,t_),LIM(v SUB 2,t,t_)~
  35. ,-1/LIM(PARA_DIF(v,t,1),t,t_),x),t_,t0,0)
  36.  
  37. PARA_OSCULATING_CIRCLE(v,t,t0,phi):=CIRCLE_AUX(LIM(PARA_CENTER_OF_CURVATURE(v,~
  38. t),t,t0),1/LIM(PARA_CURVATURE(v,t),t,t0),phi)
  39.  
  40. [default1:=1,POLAR_DIF(r,theta,default1):=PARA_DIF([r*COS(theta),r*SIN(theta)]~
  41. ,theta,default1)]
  42.  
  43. POLAR_CURVATURE(r,theta):=PARA_CURVATURE([r*COS(theta),r*SIN(theta)],theta)
  44.  
  45. POLAR_CENTER_OF_CURVATURE(r,theta):=PARA_CENTER_OF_CURVATURE([r*COS(theta),r*S~
  46. IN(theta)],theta)
  47.  
  48. POLAR_TANGENT(r,theta,theta0,x):=PARA_TANGENT([r*COS(theta),r*SIN(theta)],thet~
  49. a,theta0,x)
  50.  
  51. POLAR_PERPENDICULAR(r,theta,theta0,x):=PARA_PERPENDICULAR([r*COS(theta),r*SIN(~
  52. theta)],theta,theta0,x)
  53.  
  54. POLAR_OSCULATING_CIRCLE(r,theta,theta0,phi):=PARA_OSCULATING_CIRCLE([r*COS(the~
  55. ta),r*SIN(theta)],theta,theta0,phi)
  56.  
  57. IMP_DIF_AUX(d1,x,y,n):=ITERATE(DIF(dk,x)+d1*DIF(dk,y),dk,d1,n-1)
  58.  
  59. [default1:=1,IMP_DIF(u,x,y,default1):=IMP_DIF_AUX(-DIF(u,x)/DIF(u,y),x,y,defau~
  60. lt1)]
  61.  
  62. IMP_CURVATURE(u,x,y):=CURVATURE_AUX(IMP_DIF(u,x,y,1),IMP_DIF(u,x,y,2))
  63.  
  64. IMP_CENTER_OF_CURVATURE(u,x,y):=CENTER_OF_CURVATURE_AUX([x,y],IMP_DIF(u,x,y,1)~
  65. ,IMP_DIF(u,x,y,2))
  66.  
  67. IMP_TANGENT(u,x,y,x0,y0):=LIM(LINE_AUX(x_,y_,LIM(IMP_DIF(u,x,y,1),[x,y],[x_,y_~
  68. ]),x),[x_,y_],[x0,y0])
  69.  
  70. IMP_PERPENDICULAR(u,x,y,x0,y0):=LIM(LINE_AUX(x_,y_,-1/LIM(IMP_DIF(u,x,y,1),[x,~
  71. y],[x_,y_]),x),[x_,y_],[x0,y0])
  72.  
  73. IMP_OSCULATING_CIRCLE(u,x,y,x0,y0,theta):=CIRCLE_AUX(LIM(IMP_CENTER_OF_CURVATU~
  74. RE(u,x,y),[x,y],[x0,y0]),1/LIM(IMP_CURVATURE(u,x,y),[x,y],[x0,y0]),x,theta)
  75.  
  76. TANGENT_PLANE(u,v,v0):=LIM(GRAD(u,v),v,v0) . (v-v0)
  77.  
  78. NORMAL_LINE(u,v,v0,t):=v0+t*LIM(GRAD(u,v),v,v0)
  79.