h4tt3n Posted March 2, 2006 Posted March 2, 2006 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
s pepperchin Posted March 2, 2006 Posted March 2, 2006 There must be some way to figure it out. Copernicus figured out that the orbit is an ellipse and the eccentricities of the orbits have been calculated. I'm not quit sure how it s done though.
Sisyphus Posted March 2, 2006 Posted March 2, 2006 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...
h4tt3n Posted March 2, 2006 Author Posted March 2, 2006 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
s pepperchin Posted March 2, 2006 Posted March 2, 2006 The equation for an ellipse is [math]\frac{(x-x_0)^2}{b^2}+\frac{(y-y_0)^2}{a^2}=1[/math] where [math]x_0[/math] and [math]y_0[/math] is the center of the ellipse. the values for a and b determine the lengths of the axis.
Janus Posted March 2, 2006 Posted March 2, 2006 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.
h4tt3n Posted March 2, 2006 Author Posted March 2, 2006 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
s pepperchin Posted March 2, 2006 Posted March 2, 2006 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.
h4tt3n Posted March 2, 2006 Author Posted March 2, 2006 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
s pepperchin Posted March 2, 2006 Posted March 2, 2006 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.
h4tt3n Posted March 2, 2006 Author Posted March 2, 2006 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
Janus Posted March 2, 2006 Posted March 2, 2006 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.
h4tt3n Posted March 3, 2006 Author Posted March 3, 2006 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
s pepperchin Posted March 3, 2006 Posted March 3, 2006 units shouldn't matter as long as you are consistant throughout.
h4tt3n Posted March 3, 2006 Author Posted March 3, 2006 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
s pepperchin Posted March 4, 2006 Posted March 4, 2006 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.
Smashinbedrock Posted June 23, 2015 Posted June 23, 2015 H = (((A)^2)-((A-R2)^2))^0.5Were H is the semi major axis A is the semi major axis R2 is the periapsis of your orbit
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now