Jet and Wind Vector Synthesis Simulation

Jet and Wind Vector Synthesis Simulation
Loading the math board and drawing, please wait…
2012-09-18 01:13
This GeoGebra example dynamically demonstrates the resultant flight trajectory and position changes of a jet plane when synthesizing its velocity vector with the wind velocity vector in a two-dimensional plane. The core mathematical concepts involved include vectors, the parallelogram rule for vector addition, the decomposition and synthesis of velocity and direction, and parametric coordinate geometry. In terms of construction, the `Vector` command is utilized to define the plane's velocity `vector_j` and the wind's velocity `vector_w`, while the `Translate` command is applied to simulate the resultant displacement over time `time`. Visual elements like the plane polygon `poly1`, direction segments, and guide circles are rendered using `Polygon`, `Segment`, and `Circle` commands, with interactive sliders controlling speed and direction parameters. This example is highly suitable for high school and college-level physics, analytic geometry, and linear algebra courses, serving as an intuitive teaching tool for vector addition and kinematic synthesis.

GeoGebra Commands & Parameters

  1. Vector((0, 0), StartPoint) → vector_s
  2. Vector((0, 0), (0 + speed_w * cos(direction_w / 180 * 3.14), 0 + speed_w * sin(direction_w / 180 * 3.14))) → vector_w
  3. Vector((0, 0), (0 + speed_j * cos(direction_j / 180 * 3.14), 0 + speed_j * sin(direction_j / 180 * 3.14))) → vector_j
  4. Translate((-383.74751, 427.82819), Vector[vector_w * time]) → B_9
  5. Translate((-101.94722, 122.76974), Vector[vector_w * time]) → B_1
  6. Translate((373.59867, -717.66124), Vector[vector_w * time]) → B_2
  7. Translate((291.78433, -304.20541), Vector[vector_w * time]) → B_3
  8. Translate((-478.63411, 139.75126), Vector[vector_w * time]) → B_4
  9. Translate((158.83601, 627.76471), Vector[vector_w * time]) → B_5
  10. Translate((-605.40599, -232.82316), Vector[vector_w * time]) → B_6
  11. Translate((670.17568, 302.42241), Vector[vector_w * time]) → B_7
  12. Translate((218.49231, 305.81139), Vector[vector_w * time]) → B_8
  13. Circle(B_1, 100) → c_1
  14. Circle(B_2, 50) → c_2
  15. Circle(B_3, 80) → c_3
  16. Circle(B_4, 50) → c_4
  17. Circle(B_8, 75) → c_8
  18. Circle(B_7, 100) → c_7
  19. Circle(B_5, 20) → c
  20. Circle(B_6, 40) → c_6
  21. Polygon(A, B, C, D) → poly1, a_1, b, c_5, d
  22. Polygon(E, F, G, H) → poly2, e, f, g, h
  23. Circle(B_9, 30) → c_9
  24. Vector((1500, 600), (1500 + speed_w * cos(direction_w / 180 * 3.14), 600 + speed_w * sin(direction_w / 180 * 3.14))) → vector_1
  25. Translate((-1000, 250), Vector[vector_1 * time]) → B_{10}
  26. Circle(B_{10}, 80) → c_10
  27. Translate((0, 0), Vector[time * vector_j + time * vector_w + vector_s]) → plane_w
  28. Translate(Rotate[pic1, direction_j / 180 * 3.14, (0, 0)], Vector[vector_s + (vector_j + vector_w) * time]) → pic1'
  29. Translate((0, 0), Vector[time * vector_j + vector_s]) → planexxnoxxwind
  30. Segment(StartPoint, plane_w) → i
  31. Vector((0, 0), (0 + speed_w * cos(direction_w / 180 * 3.14), 0 + speed_w * sin(direction_w / 180 * 3.14))) → vector_2
  32. Vector((0, 0), (0 + speed_w * cos(direction_w / 180 * 3.14), 0 + speed_w * sin(direction_w / 180 * 3.14))) → vector_3
  33. Vector((0, 0), (0 + speed_w * cos(direction_w / 180 * 3.14), 0 + speed_w * sin(direction_w / 180 * 3.14))) → vector_4
  34. Translate((-1400.59867, 607.66124), Vector[vector_2 * time]) → B_{11}
  35. Translate((1300.59867, 617.66124), Vector[vector_4 * time]) → B_{13}
  36. Translate((1103.59867, -517.66124), Vector[vector_3 * time]) → B_{12}
  37. Circle(B_{13}, 90) → c_13
  38. Circle(B_{12}, 50) → c_12
  39. Circle(B_{11}, 75) → c_11
  40. Vector((0, 0), (0 + speed_w * cos(direction_w / 180 * 3.14), 0 + speed_w * sin(direction_w / 180 * 3.14))) → vector_5
  41. Vector((0, 0), (0 + speed_w * cos(direction_w / 180 * 3.14), 0 + speed_w * sin(direction_w / 180 * 3.14))) → vector_6
  42. Translate((-1473.59867, -717.66124), Vector[vector_5 * time]) → B_{14}
  43. Translate((800.59867, -100.66124), Vector[vector_6 * time]) → B_{15}
  44. Circle(B_{15}, 50) → c_15
  45. Circle(B_{14}, 70) → c_14
  46. Polygon(J, L, R, S) → poly3, j_1, l, r, s