Chapter 5 – Solar System Orbits (Orrery)
Posted: March 28, 2013 Filed under: Solar System Orbits, ZX Spectrum Astronomy | Tags: Astronomy, Maurice Gavin, Orrery, Planets, Programming, Sinclair Basic, Solar System Orbits, ZX Spectrum Astronomy Leave a commentOrrery, simulates the scale and relative movement of the planets about the Sun
Bode’s Law
Kepler’s Orbits, demonstrates the first two of Kepler’s Laws
Orbit Foci, plotting the second focus
Comet Orbit, eccentric orbits
Halley’s Comet, depicts one complete orbit, 1948-2023
Pluto’s Orbit, plots the relative positions of Pluto and Neptune from 1880-2128, one complete orbit for Pluto
Solar Apex, corkscrew motion of a planet towards the Solar Apex.
Astronomy and orbits go together like strawberries and cream. Banish orbits and the whole universe as we know it would literally collapse! It is the perpetual motion of moon about planet, planet about star, star about galaxy and so on, that gives the universe its form and existence. And we must not forget that the greatest galaxies in the universe are themselves composed of the smallest things in creation — electrons in orbit about atomic nuclei.
Orbits are the embodiment of perpetual motion — a concept that has fired man’s imagination and remained resolutely beyond his grasping hand as he apparently seeks something for nothing. Man’s smoothest jet engine is a very crude mechanism in comparison with the billions of orbits of our Moon about the Earth — the oily precision of which would make an engineer green with envy. But then nature is not impetuous and of course has time — more precisely, all the time in the universe — to get it right.
In the final analysis, orbits mean survival: survival for a feeble body from the gravitational bully in the neighbourhood, eager to swallow up any candidate that gets too close. The orbit is the fine tightrope that the lesser body follows to keep its distance and is perfectly balanced by the gravitational pull of the greater body that refuses to release the bondage. In the case of the Sun, its mass (to which its gravity is proportional) is 1000 times greater than all the planets and moons put together. They have no choice but to orbit the Sun, and lesser bodies no choice but to orbit them. The Spectrum and its graphics makes modelling some of these orbits easy.
Orrery
In 1715 the Earl of Orrery had made for himself the mechanical model of the solar system that bears his name today. At that time, only the six planets known from antiquity (Mercury through to Saturn) were included on his model. Uranus, Neptune and Pluto had yet to be discovered. Each planet was a globe suspended on a horizontal wire from beneath a central globe representing the Sun — the length of the wire representing the radius of the orbit. All this was contained in a superbly crafted cabinet with a handle to crank the planets into action.
Figure 5.1
An Orrery for the Earth-like planets
Figure 5.2
An Orrery for gas giant planets
The program
The following program is a computer version of that device and simulates the scale and relative movement of the planets about the Sun. The planets Mercury to Mars and Jupiter to Neptune are included using two separate scales, which may be selected by INPUT of either 1 or 5.
Included on the screen is a timer which counts in weeks as the planets advance along their respective orbits from a common starting line. You will notice how much slower the progress is for the outer planets which, in reality, are not subjected to the same high gravitational field as, for example, Mercury. Two sample COPYS are shown in Figures 5.1 and 5.2
Line 25 contains the DATA for the orbit radii which is DIMensioned and READ into the a(f) array in Line 50. Variables h and g are the vertical and horizontal coordinate PLOT positions for the Sun and centre of the orbits. Lines 60 and 70 PRINT the two options for selection and Line 90 economically overprints the one not selected with the b$ of 24 blank spaces. The remaining PRINT line serves to title the display that follows without the need to use the CLS command. Lines 120 to 130 use a FOR/NEXT n loop to CIRCLE the selected orbits. Note how the value of variable b affects the FOR/NEXT n loop:
if b = 1 then FOR n = 1*1 (ie l)TO 1 + 4(ie5)
or if b = 5 then FOR n = 1*5 (ie 5) TO 5 + 4(ie9)
A similar FOR/NEXT n loop is used in Lines 180 to 240 to CIRCLE the planets in orbit. The STEP in the FOR/NEXT d loop in Line 150 controls the length of the program RUN.
The screen display
The display is more effective if shown on a black screen using the direct command:
BORDER 0: PAPER 0: INK 7: CLS: RUN
The orbits are sufficiently far apart so as not to share the same character square. Each can be coloured for greater
clarity by amending Line 130 to:
CIRCLE INK n – (b AND b = 5) + 1; g,h,a(n): NEXT n
10 BORDER 0: PAPER 0: INK 7: CLS : PRINT “Orrery”
25 DATA 19,36,50,76,3,13,24,48,75
30 BRIGHT 1: DIM b$(24)
40 LET h=83: LET g=171
50 DIM a(9): FOR f=1 TO 9: READ a(f): NEXT f: RESTORE
60 PRINT “Jupiter – Neptune=5”
70 PRINT “Mercury – Mars=1”
80 INPUT “Select 1 or 5”,b: IF b1 AND b5 THEN GO TO 80
90 PRINT AT b/5+1,0;b$
100 PRINT AT 10,0;”1st point”‘”or Aries <“;TAB 21;”*”
110 PLOT g-5,h: DRAW -90,0
120 FOR n=b TO b+4
130 CIRCLE INK n-(b AND b=5);g,h,a(n): NEXT n
140 PRINT AT 12,21;(“s m v e m” AND b=1)+(“ej s u n” AND b=5)
150 FOR d=1 TO 400 STEP 50/b
170 PRINT FLASH 1;AT 8,0;”Week “;INT (1+d/50*2^2.7)
180 FOR n=b TO b+4
190 LET v=1/a(n)^1.4*100
200 LET e=d/400*v*PI
210 LET c=g+a(n)*COS e
220 LET s=h+a(n)*SIN e
230 CIRCLE INT c,INT s,1.5
240 NEXT n: NEXT d