Planets for Munkka

Workshop for Erasmus students, October 2019, Munkkiniemen yhteiskoulu.

[edit. 9.10. corrected some errors in varible names, changed the story to work without vectors]
[edit 20.10 at tegel, berlin. fixed some errors and added some explanations to the story.]

I tested this with Munkka’s Erasmus 8th Graders. They were good.

Inner planets in Wikipedia

Look at the tables in Wikipedia pages.

Semi-major axis rM =  0.38 AU, Inclination iM = 7.0°,  Longitude of ascending node  ΩM = 48.3°, period pM = 0.241 a.

Semi-major axis rV =  0.723 AU, Inclination iV = 3.4°,  Longitude of ascending node  ΩV = 76.7°, period pV = 0.615 a.

Planets with GeoGebra 5 3D

The Plan

First we create the normal lines for the planets’ rotation plane. With the help of the norlam we create the orbits. Then we create the planets to the orbits. Finally we move them using sliders.


Lets start with Sun. I will call it Sun.

Sun = (0, 0, 0)

Xy-plane will be the plane where Earth moves, ecliptic. X-axis will be our reference for angles. It is the direction to First Point in Aries. Some day (Year -130) the Sun rose at March Equinox in that direction. Just for fun, lets draw a vector to that direction.

In Windows you can get the degree sign with Alt-o. In a Mac it is on the keyboard. You find it also in the virtual Keyboard (View -> Keyboard).

B = (5, 0, 0)
FPA = Vector(Sun, B)

We use circles for the orbits. We all know that in reality the orbits are ellipses, maybe someday you will do this with ellipses.


Inclination and Longitude of ascending node and radius in AU for Mercury. You will get Ω, using the alpha symbol in Input Bar or using the Virtual Keyboard in View Menu.

For the variables we well use M for Mercury, V for Venus and E for Earth in the variable names.

iM = 7° 
ΩM = 48.3°
rM = 0.38
pM = 0.241

We create the normal line of the Mercury plane. When we use semicolons in point coordinates, GeoGebra uses Spherical coordinates the way we use them with longitudes and latitudes on Earth (radius; longitude; latitude). Let’s create a point for our normal line for Mercury.

MMM = (1; ΩM; 90° - iM)

Normal line for Mercury.

Mnormal = Line(Sun, MMM)

The orbit for Mercury

Mcircle = Circle(Sun,rM, Mnormal)


Let’s do the same thing for Venus.

iV = 3.4°
ΩV = 76.7°
rV = 0.72
pV = 0.615
Vnormal = Line(Sun, (1; ΩV; 90° - iV))
Vcircle = Circle(Sun, rV, Vnormal)


Earth is simpler because the orbit circle is on the ecliptic plane.

Ecircle = Circle(Sun, 1, zAxis)


For animation we need variable for time. Very often you have to do trial and error to make the speed of time work OK. First we make a variable speed that make time run faster or slower.

speed = 0.002

Right click speed variable in Algebra window and choose Object Properties. These values I chose after some trial and error with our time variable. Click on the button of speed in Algebra window. Now we get a slider in Graphics window.

For real time we create a variable named t. 200π ≈ 630 in radians mean 100 revolutions (100*360°).

t  =  630

Right click t -variable in Algebra window and choose Object Properties.

The animation speed can be changed by changing the slider speed values.

Moving planets

The idea for simulation is that first we create points on the orbits and then we rotate the points around the axis using t variable.

EE = (-1, 0,0)
MM = PointIn(Mcircle)
VV = PointIn(Vcircle)

Lets use Rotate command to move the Earth.

Earth = Rotate(EE, t, zAxis)
Venus = Rotate(VV, t/pV, Vnormal)
Mercury = Rotate(MM, t/pM, Mnormal)


Lets create an animation button to start and stop the animation. First, we create a variable that changes it’s state when the button is pressed.

aaa = false

Behind Slider tool is tool for creating Button. Click it and name Animation. Open properties window and click Scripting. Choose On Click and write


First command changes the state to negation of aaa (first it is false, then true, then false, …). 2nd command starts or stops the animation depending on the value of aaa.

Finishing the app

Clean your 3D Graphics window with the buttons in Algebra window and arrange/hide your other windows to make your app look good.

I will share the final app when we have finished our workshop.



Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

Olet kommentoimassa -tilin nimissä. Log Out /  Muuta )


Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggaajaa tykkää tästä: