Modelling a Geocentric Map of the Solar System

554 Views Asked by At

all. Recently, I discovered that any point $(x, y)$ could be expressed in terms of $(\cos(\theta), \sin(\theta))$ (because I don't study mathematics seriously -- I'm just an enthusiastic amateur). Furthermore, in exploring a YouTube channel on worldbuilding, I learnt about Kepler orbits and how to model them in 2D using programmes like Desmos.

Anyway, I was looking at a map of the Solar System according to the Geocentric Model and it has these really cool loops (see below) and I'd like to model it.

enter image description here

This model, obviously, is long since debunked, but the map is pretty cool and I know that to model a basic 2D solar system, one has to use the elliptical formula $\frac{(x-h)^2}{a^2}+\frac{(y-k)^2}{b^2}=1$ and then model a point orbit it in the form of $(a\cos(\theta)+h, b\sin(\theta)+k)$. I also know that a flower/rose-like pattern can be made using the formula $r=nt(k\theta)$ where $t(x)$ is either $\sin(x)$ or $\cos(x)$, $n$ is the radial distance from the origin to the extremes of the petals, and $k$ describes the number of petals such that $(k\mod2=0\Rightarrow N=2|k|) \land (k\mod2=1\Rightarrow N=|k|)$. The problem with the latter formula is that the petals extend outward from the origin instead of describing a similar shape where the petals are almost indentations of a circle with a given radius as depicted in the map.

So my question is two-fold:

  1. How would one model the looping patterns with one function (call it $O(x)$ for argument's sake)?
  2. How would one model a point in the form $(f(x), g(y))$ such that the point moves continuously around $O(x)$ either clockwise or counterclockwise (directionality doesn't matter for the purposes of my model)?

Thank you in advance!


2

There are 2 best solutions below

2
On

The issue is that those paths you find interesting are not proper functions in polar coordinates (or in Cartesian coordinates for that matter). That is, you cannot describe them with a one-to-one pairing of points $(\theta, r(\theta))$ since there are single angle values $\theta$ that map to multiple radius values $r$.

So you can't actually draw those paths with a single function.

You could however, describe the paths parametrically with 2 separate functions of some auxiliary variable $t$ such that your path is the set of points ${ (\theta(t), r(t)) }$. But I'm not sure what exactly those functions would be for these particular paths.

0
On

The previous answer is correct in that you can get a planet's coordinates from the Geocentric Inertial reference frame by subtracting the Earth's Sun centered position from the planet's Sun centered position.

To do this in Desmos, the easiest method would be to use parametric equations. https://help.desmos.com/hc/en-us/articles/4406906208397-Parametric-Equations

Just subtract the x,y vectors component wise and it should work.

R_MarsGEO = R_MarsSS - R_EarthSS

For mars Tm = Orbital period of Mars For mars Te = Orbital period of Earth

am,bm half the major and minor axis of Mars's orbit ae,be half the major and minor axis of Earth's orbit

xm = am cos(2pi/Tm t) - ae cos(2pi/Te t) ym = bm sin(2pi/Tm t) - be sin(2pi/Te t)

This would give you the positions in an Earth centered Inertial frame. If you want to convert it to an Earth Centered Earth Fixed reference frame, you'll need to transform it after.

R_MarsGEO = [SS to ECEF](R_MarsSS - R_EarthSS)

This will be an approximation of course.

If you want to re-create this map using actual time integrated Ephemeris data JPL's National Ancillary Information Facility provides a software for this called SPICE. The python version for this is probably the easiest to use if you just want to plot it. Probably not the rabbit hole you want, but it is there.