Advertisement
andreahmed

Untitled

Dec 21st, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. void guidanceSimulation()
  2. {
  3. vt1 = (-vt) * Math.Cos(beta);
  4. vt2 = vt * Math.Sin(beta*Math.PI/180);
  5. he = hedeg / 57.3;
  6. rtm1 = rt1 - rm1;
  7. rtm2 = rt2 - rm2;
  8. rtm = Math.Sqrt(rtm1 * rtm1 + rtm2 * rtm2);
  9. xlam = Math.Atan2(rtm2, rtm1);
  10. xlead = Math.Asin((vt * Math.Sin(beta*Math.PI/180 + xlam * Math.PI / 180)) / vm);
  11. thet = xlam + xlead;
  12. vm1 = vm * Math.Cos(thet * Math.PI / 180 + he * Math.PI / 180);
  13. vm2 = vm * Math.Sin(thet * Math.PI / 180 + he * Math.PI / 180);
  14. vtm1 = vt1 - vm1;
  15. vtm2 = vt2 - vm2;
  16. vc = -(rtm1 * vtm1 + rtm2 * vtm2) / rtm;
  17. xnc = xnp * vc * xlam;
  18. am1 = (-xnc) * Math.Sin(xlam * Math.PI / 180);
  19. am2 = (xnc) * Math.Cos(xlam * Math.PI / 180);
  20. betad = (xnt) / vt;
  21. beta += Time.deltaTime * betad;
  22. vm1 += Time.deltaTime * am1;
  23. vm2 += Time.deltaTime * am2;
  24. rm1 += Time.deltaTime * vm1;
  25. rm2 += Time.deltaTime * vm2;
  26. #region
  27. //while (vc >= 0)
  28. //{
  29. // if (rtm < 1000)
  30. // h = 0.0002;
  31. // else
  32. // h = 0.01;
  33.  
  34. // betaold = beta;
  35. // rt1old = rt1;
  36. // rt2old = rt2;
  37. // rm1old = rm1;
  38. // rm2old = rm2;
  39. // vm1old = vm1;
  40. // vm2old = vm2;
  41. // int step = 1;
  42. // int flag = 0;
  43. // while(step <= 1)
  44. // {
  45. // if(flag == 1)
  46. // {
  47. // step = 2;
  48. // beta = beta + h * betad;
  49. // rt1 = rt1 + h * vt1;
  50. // rt2 = rt2 + h * vt2;
  51. // rm1 = rm1 + h * vm1;
  52. // rm2 = rm2 + h * vm2;
  53. // vm1 = vm1 + h * am1;
  54. // vm2 = vm2 + h * am2;
  55. // t = t + h;
  56. // }
  57. // rtm1 = rt1 - rm1;
  58. // rtm2 = rt2 - rm2;
  59. // rtm = Math.Sqrt(rtm1 * rtm1 + rtm2 * rtm2);
  60. // vtm1 = vt1 - vm1;
  61. // vtm2 = vt2 - vm2;
  62. // vc = -(rtm1 * vtm1 + rtm2 * vtm2) / rtm;
  63. // xlam = Math.Atan2(rtm2, rtm1);
  64. // xlamd = (rtm1 * vtm2 - rtm2 * vtm1) / (rtm * rtm);
  65.  
  66. // //double XNC1 = ( (xnp + 20000000 * xlamd * xlamd) / vc) * vc * xlamd;
  67. // am1 = -xnc * Math.Sin(xlam);
  68. // am2 = xnc * Math.Cos(xlam);
  69. // vt1 = -vt * Math.Cos(beta);
  70. // vt2 = vt * Math.Sin(beta);
  71. // betad = xnt / vt;
  72. // flag = 1;
  73. // }
  74. // flag = 0;
  75. // beta = .5 * (betaold + beta + h * betad);
  76. // rt1 = .5 * (rt1old + rt1 + h * vt1);
  77. // rt2 = .5 * (rt2old + rt2 + h * vt2);
  78. // rm1 = .5 * (rm1old + rm1 + h * vm1);
  79. // rm2 = .5 * (rm2old + rm2 + h * vm2);
  80. // vm1 = .5 * (vm1old + vm1 + h * am1);
  81. // vm2 = .5 * (vm2old + vm2 + h * am2);
  82. // s = s + h;
  83. // if (s >= 0.09999)
  84. // s = 0;
  85. //}
  86. #endregion
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement