Jump to content

determining semiminor axis in elliptic orbit


h4tt3n

Recommended Posts

Hello,

 

I'm building a small, simple program that allows people to easily experiment with interactions between bodies in our solar-system and any fictive system you want to play with.

 

Since each body may loose its original orbit due to gravitational influence from other bodies, I need a way to determine its new orbit from its distance to the sun, mass and speed alone.

 

The semi-major axis of the elliptic orbit can be determined since:

 

v^2 = GM((2/r)-(1/a))

 

and therefore

 

a = -(1/((v^2/GM)+(2/r)))

 

Now, my question is: Is there a similar way to determine the orbits semi-minor axis (and eccentricity) from speed, mass and distance to sun alone?

 

 

thanks,

 

Michael

Link to comment
Share on other sites

Copernicus demonstrated elliptical orbits by precisely measuring positions of the planets in the sky, not by mathematically deriving them from forces and velocities. He was indifferent towards whatever forces might be guiding them. Kepler demonstrated that if there is a centripital force towards a point, it will trace out equal areas in equal times, and that under such a rule a centripital force which varies inversely with the square of the distance will generate an elliptical orbit, with the center of forces at one of the foci. This, too, is not particularly helpful, I realize...

Link to comment
Share on other sites

Ah, yes. I know this.

 

I'm simply looking for an equation from which I'll be able to extract the orbits semiminor axis or eccentricity from the orbiting body's velocity - given the premise that semimajor axis and distance to sun is known but nothing else.

 

Well, either that or any explanation that will help me figure out the relations between those values on my own.

 

Best regards,

 

Michael

Link to comment
Share on other sites

You can get the semi-major axis from conservation of energy.

 

The total energy of an orbiting body is given by

[math]E= \frac{mv^2}{2}- \frac{GMm}{d}[/math]

or

[math]E= \frac{GMm}{2a}[/math]

 

Where M is the mass of primary

m is the mass of the orbiting object

v is the velocity

d is the distance to the primary

a is the semi-major axis

 

Just equate these two formulas and solve for a to get the semi-major axis when you know the velocity and distance of your object.

Link to comment
Share on other sites

To Janus:

 

Thanks for helping, but I'm looking for the semiminor axis, not the semimajor one. Do you know how to somehow isolate this value?

 

 

To Pepperchin:

 

(Correction)

 

Sorry, but the x, y coordinates of the centre of the ellipse are unknown. If I had them, I'd be able to find b...

 

best regards,

 

Michael

Link to comment
Share on other sites

 

Thanks for the formula - I'm just not sure I understand it...

 

X0 and Y0 is one of the foci (centre of sun) in cartesian coordinates' date=' right?

 

X and Y is a point on the perimeter of the ellipse (orbiting planet), right?

 

Should this formula work regardless of ellipse angle relative to coordinate system? I can't make it work...

[/quote']

 

These are the coordinates of the center of the ellipse, to find the coordinates of the foci we need to find c and that is:

 

[math]c=\sqrt{a^2 -b^2}[/math]

 

all we have to do then is add and subtract c from the center coordinate for the semimajor axis. so for instance if I have an ellipse centered at (0,0), with the semimajor axis being the x-axis and the value for c is 2 then the coordinates of the foci would be (-2,0) and (2,0). Now with c we can calculate the eccentricity, e.

 

[math]e=\frac{a}{c}=\frac{a}{\sqrt{a^2 -b^2}}[/math]

 

and this equation is assuming that the axis of the ellipse are aligned with the coordinate axis. This may create some difficulty but that can be fixed by defining the axis so they are aligned. If however you are using a single set of coordinate axis for multiple planets which axis aren't aligned with each other you can use a transformation to rotate each set of planetary axis by a particular angle. If I am not mistaken you would use the following two equations:

 

[math]x=x'cos\theta-y'sin\theta[/math]

 

[math]y=x'sin\theta+y'cos\theta[/math]

 

and [math]\theta[/math] is just the angle from the ellipse axis to the coordinate axis.

 

since you can move around the origin of your axis then I would use the location of the sun as (0,0) and that would make the other focus at (2c,0) atleast for the example I gave here.

 

as far as using the eccentricity and the axis of the ellipse I will look at it somemore and get back to you. Do me favor and give me some numbers you are trying to use and I will put them into my explanation.

Link to comment
Share on other sites

Sorry, won't work. The ellipse centre coordinates are unknown, and so is the ellipse angle. But thank you very much for trying to help. Only known facors are:

 

-Sun's mass

 

-Orbiting body's mass

 

-Orbiting body's speed

 

-Orbit's semimajor axis (approx. value)

 

and

 

-distance between sun and orbiting body

 

All I want to find is orbit's semiminor axis, eccentricity or c-value. From any one of these values, the two others can be calculated.

 

Can this be done, or is it impossible? :)

 

Best regards,

 

Michael

Link to comment
Share on other sites

Try this equation:

 

[math]b=\sqrt{\frac{a(d^2-a^2)}{a-1}}[/math]

 

It should work if you want I can explain where I got it from. Are you graaphically representing the orbit or just giving numbers? If you are going to be creating a program which graphically representss what is happening this is not the mathematical approach that I would suggest.

Link to comment
Share on other sites

Pepperchin, to your now-deleted question: I use Cartesian coordinates. I simply use the built-in screen coordinates of the computer, beeing 0,0 in the upper left corner and 1280, 800 in the lower right.

 

My trouble is that I don't use any of the typical formulas to calculate planetary motion. I throw in a number of bodies and simply find the resulting force vector for each of them using Newton: F=G(M+m)/r^2. Then the programs move all bodies accordingly, calculates new force vectors and so on...

It's not entirely accurate, but it allows me to play with n-body problems for n=300 or so using very simple mathematics. And you can run some pretty spectacular scenarios using relatively little computer power.

 

For the same reason all nice-to-know values about each body's orbit are unknown, since the program doesn't use any of them to get it's result...

 

Hope that was any help.

 

Best regards,

 

Michael

Link to comment
Share on other sites

To Janus:

 

Thanks for helping' date=' but I'm looking for the semi[b']minor[/b] axis, not the semimajor one. Do you know how to somehow isolate this value?

 

 

 

 

Michael

 

Sorry, not careful enough reading on my part.

 

Okay then, to find the semi-minor[/b} axis you can use the formula:

 

[math]b= a \sqrt{(1-e^2)}[/math]

 

for which you need to know the eccentricity (e).

 

You can find the eccentricity thusly:

 

The Areal velocity can be found by

 

[math]A = \frac{cos{\theta}vd}{2}[/math]

or

[math]A= \frac{\pi a^2 \sqrt{(1-e^2)}}{P}[/math]

 

where:

[math]\theta[/math] is the angle of the objects path relative to a line perpendicular to the radial vector (e.g. at perapis or apapis, or for a circular orbit [math]\theta=0][/math])

and

[math]P[/math] is the period of the orbit and can be found by

 

[math]P= 2 \pi \sqrt{\frac{a^3}{GM}}[/math]

 

Again, if you equate the two equations for Areal velocity and solve for e, you will get the eccentricity.

Link to comment
Share on other sites

Thank you! This seems to solve some of my problems. Can't get it to work, though - and I think the main problem is unit confusion.

 

Are we using AU, km or m for distance?

 

Are we using degrees or radians for angles?

 

Are we using seconds, days or years for orbital period?

 

(as a european I always use SI units as much as possible... :) )

 

regards,

 

Michael

Link to comment
Share on other sites

units shouldn't matter as long as you are consistant throughout.

 

Hehe, except if your programming language only works with radians! I got it fixed, though. Now it automatically calculats a, b, and e for any object.

 

Now I only need to figure out how to calculate the orbit's angle relative to frame of reference.

 

Thank you very much for helping me so far!

 

I'll post a download-link to the program as soon as it's finished for beta-testing.

 

Best regards,

 

Michael

Link to comment
Share on other sites

If you break it down into matrices you can use a transfer matrix to shift it. Look up linear algebra and transformation matrix on wikipedia or something and see if that info helps you. If you post a few more details about it here maybe we can help you figure it out. The problem sounds to me like a vector addition problem where one of the vectors is changing.

Link to comment
Share on other sites

  • 9 years later...
  • 4 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.