Guest User

Untitled

a guest
Sep 20th, 2011
388
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //degree
  2. var degree:Number = 0;
  3. //acceleration
  4. var ax:Number;
  5. var ay:Number;
  6. //time step
  7. var dt:Number = .00001;
  8. //initial position
  9. var yo:Number=(red.y-blue.y);
  10. var xo:Number=(blue.x-red.x);
  11. //current position
  12. var xi:Number = 0;
  13. var yi:Number = 0;
  14. //initial velocity
  15. var vxo:Number = 0;
  16. var vyo:Number = -1;
  17. //current velocity
  18. var vxi:Number = 0;
  19. var vyi:Number = 0;
  20. //trig a
  21. var a:Number = 0;
  22. //trig b
  23. var b:Number = 0;
  24. //radius (hypotenous)
  25. var r:Number = 0;
  26. //mass
  27. var bluemass:Number = 1000;
  28. var redmass:Number = 100000000;
  29. //radian of angle
  30. var radian:Number = 0;
  31. //gravity
  32. var g:Number = 0;
  33. var grav:Number = Math.pow(1,-8);
  34. //blue pos
  35. var xpos:Number = blue.x;
  36. var ypos:Number = blue.y;
  37. //red pos
  38. var xpossave:Number=red.x;
  39. var ypossave:Number=red.y;
  40. //rk4
  41. var kx1:Number = 0;
  42. var kvx1:Number = 0;
  43. var kx2:Number = 0;
  44. var kvx2:Number = 0;
  45. var kx3:Number = 0;
  46. var kvx3:Number = 0;
  47. var kx4:Number = 0;
  48. var kvx4:Number = 0;
  49. var ky1:Number = 0;
  50. var kvy1:Number = 0;
  51. var ky2:Number = 0;
  52. var kvy2:Number = 0;
  53. var ky3:Number = 0;
  54. var kvy3:Number = 0;
  55. var ky4:Number = 0;
  56. var kvy4:Number = 0;
  57. addEventListener(Event.ENTER_FRAME,world); function world(e:Event):void {
  58. a = ypos-ypossave;
  59. b = xpossave-xpos;
  60.  
  61. if (b >= 0 && a >= 0)
  62. {  
  63.     kx1 = vxo;
  64.     ky1 = vyo;
  65.     r = Math.sqrt(Math.pow(a,2) + Math.pow(b,2));
  66.     radian=(Math.asin(a/r));
  67.     g=(grav)*(bluemass*redmass)/(Math.pow(r,2));;
  68.     kvx1=-((g)*Math.cos(radian))/bluemass;
  69.     kvy1=((g)*Math.sin(radian))/bluemass;
  70.  
  71.     kx2=vxo+(kvx1*(dt/2));
  72.     ky2=vyo+(kvy1*(dt/2));
  73.     a = (a+ky2);
  74.     b = (b+kx2);
  75.     r = Math.sqrt(Math.pow(a,2) + Math.pow(b,2));
  76.     radian=(Math.asin(a/r));
  77.     g=(grav)*(bluemass*redmass)/(Math.pow(r,2));
  78.     kvx2=-((g)*Math.cos(radian))/bluemass;
  79.     kvy2=((g)*Math.sin(radian))/bluemass;
  80.  
  81.  
  82.     kx3=vxo+(kvx2*(dt/2));
  83.     ky3=vyo+(kvy2*(dt/2));
  84.     a = (a+ky3);
  85.     b = (b+kx3);
  86.     r = Math.sqrt(Math.pow(a,2) + Math.pow(b,2));
  87.     radian=(Math.asin(a/r));
  88.     g=(grav)*(bluemass*redmass)/(Math.pow(r,2));
  89.     kvx3=-((g)*Math.cos(radian))/bluemass;
  90.     kvy3=((g)*Math.sin(radian))/bluemass;
  91.  
  92.  
  93.     kx4=vxo+(kvx3*(dt));
  94.     ky4=vyo+(kvy3*(dt));
  95.     a = (a+ky4);
  96.     b = (b+kx4);
  97.     r = Math.sqrt(Math.pow(a,2) + Math.pow(b,2));
  98.     radian=(Math.asin(a/r));
  99.     g=(grav)*(bluemass*redmass)/(Math.pow(r,2));
  100.     kvx4=-((g)*Math.cos(radian))/bluemass;
  101.     kvy4=((g)*Math.sin(radian))/bluemass;
  102.  
  103. }
  104. xi=xo+(dt/6)*(kx1+2*(kx2)+2*(kx3)+kx4);
  105. vxi=vxo+(dt/6)*(kvx1+2*(kvx2)+2*(kvx3)+kvx4);
  106. yi=yo+(dt/6)*(ky1+2*(ky2)+2*(ky3)+ky4);
  107. vyi=vyo+(dt/6)*(kvy1+2*(kvy2)+2*(kvy3)+kvy4);
  108. vxo = vxi;
  109. vyo = vyi;
  110. xpos = xi;
  111. ypos = yi;
  112. yo=(yi);
  113. xo=(xi);
  114. }
  115. addEventListener(Event.ENTER_FRAME,drawing); function drawing(e:Event):void {
  116. blue.x = xpos+xpossave;
  117. blue.y = ypossave-ypos;
  118. }
Advertisement
Add Comment
Please, Sign In to add comment