Near-Polar Orbitting Satellite

Near-Polar Orbitting Satellite
Loading the math board and drawing, please wait…
2016-02-04 21:46
This example demonstrates the orbit of a near-polar satellite. Key mathematical concepts include the geometry of circles, parametric equations, and transformations. Using GeoGebra commands such as Rotate, Point, Circle, etc., the dynamic changes in the satellite's orbit can be shown. Suitable for high school and above students or teachers.

GeoGebra Commands & Parameters

  1. Rotate(IntersectPath[Rotate[Plane[Line[centreearth, (x(centreearth) + 1, y(centreearth), z(centreearth))], Line[centreearth, (x(centreearth), y(centreearth) + 1, z(centreearth))]], ((-orbitinclination))°, Line[centreearth, (x(centreearth), y(centreearth) + 1, z(centreearth))]], Sphere[centreearth, radiusearth + altitude]], ((-15 * timeofday))°, Line[(0, 0, 0), (0, 0, 1)]) → orbit
  2. Point(orbit, orbitpos) → satellite
  3. Sphere(centreearth, radiusearth) → planet
  4. Segment(satellite, Intersect[Line[satellite, centreearth], planet]) → height
  5. Sphere(centreearth, radiusorbit + focallength) → a
  6. Intersect(Line[satellite, centreearth], a) → A, B
  7. OrthogonalLine(A, orbit) → c
  8. Point(c) → S1
  9. Point(c) → S2
  10. Intersect(Line[S1, satellite], planet) → E, F
  11. Intersect(Line[S2, satellite], planet) → G, H
  12. IntersectPath(Plane[(x(centreearth), y(centreearth), z(centreearth)), (x(centreearth) + 1, y(centreearth), z(centreearth)), (x(centreearth), y(centreearth) + 1, z(centreearth))], planet) → equator
  13. Segment((0, 0, radiusearth + (radiusearth * 0.2)), (0, 0, (-(radiusearth + (radiusearth * 0.2))))) → earthaxis
  14. PointIn(planet) → merideanpoint
  15. Circle(merideanpoint, (0, 0, (-radiusearth)), (0, 0, radiusearth)) → meridean
  16. Point(c) → S3
  17. Rotate(meridean, 45°, Line[(0, 0, 0), (0, 0, 1)]) → meridean45
  18. Rotate(meridean, 90°, Line[(0, 0, 0), (0, 0, 1)]) → meridean90
  19. Rotate(meridean, 135°, Line[(0, 0, 0), (0, 0, 1)]) → meridean135
  20. IntersectPath(Plane[(x(centreearth), y(centreearth), z(centreearth) + (radiusearth * sin(latitude°))), (x(centreearth) + 1, y(centreearth), z(centreearth) + (radiusearth * sin(latitude°))), (x(centreearth), y(centreearth) + 1, z(centreearth) + (radiusearth * sin(latitude°)))], planet) → parallel
  21. Intersect(Line[satellite, centreearth], planet) → C, D
  22. CircumcircleArc(E, C, G) → coverage
  23. Point(orbit, 0.25 + viewaltitude / 360) → viewpoint
  24. If((orbitpos ≥ 0) ∧ (orbitpos ≤ 0.5), true, false) → descending
  25. If(abs(orbitpos - latitudepos) ≤ miss, true, false) → pass