HOBBY PROJECT FOR FUN AND SHARING...
Well I'm not so sure about Project Anouncement, because many people already know it and it's not too much altogether, but after finishing some other stuff and looking back into my small solar system I kind of got fascinated again and thought I'd post some updates...
By the way being placed N°6 is really ok considering it probably didn't even run smooth or at all on all systems (still doesn't) and it's quite spaghetti-code
I changed the scale again and everything is in real proportion to each other now. Before the planets were much larger in size than they normally would be. Finding them now, effectively became impossible, without guidance. But thats exactly what I tried to achieve. I wanted to make it a little more realistic... So I started with implementing real values not arbitrary game-play tuned values like the gravity constant and real mass values divided by the scale factor again to keep proportion... So if you manually feed the method handleG() with the distance of earth radius now you will get a value of 9.81m/s^2 and not some made up value like before, and especially earth radius is the first time not inside earth but really earth radius now.
Generally as we all may or may not know if we drop a feather in vacuum it falls as fast as a lead ball, which came to my mind again when looking at 2 nearly identical formulas with the only difference being one outputs force in Newton and the other one outputs acceleration in m/s^2.
Definition of one Newton:
1 Newton is equal to the amount of force required to give a mass of one kilogram an acceleration of one meter per second
1. Fn = (G*m1*m2)/r^2; and
2. Fa = (G*M)/r^2;
Fn = is Force in newton
Fa = a acceleration in m/s^2
G = gravitational constant which is 6.67 × 10-11 m^3kg^-1s^-2
m1 = mass of object 1 (in kilograms)
m2 = mass of object 2 (in kilograms)
M = mass of central celestial body
r = distance between objects' center of mass (in meters)
kilos and meters are a bliss
only the 2nd Formula is required for our purposes but that took me some time to realize. The mass of the satellite plays no role in its velocity or orbital period, not because it is so small just because it cancels each other out if you see the whole formula. To be honest, I'm terrible at math, and looking at most of that stuff for the 15th time in my life – do I understand it ? No ? Looking at it again and reading 5 more firefox tabs (Nothing worse than bad math teachers, oh I hate them), I get a little more and then, one fine more tab and the right way of explaining and suddenly -
I'm able to extract a usefull formula and to my suprise it works as expected...Seriously...
Basically, from what I comprehend so far in terms of astronomical terminology and orbital mechanics I can now calculate what is called an 'inertial frame of reference' for successfully launching satellites (my camera) into a completly circular or eccliptical orbit for all 9 planets/planetoids in an altitude of my choosing (apogee and perigee). I can also precisly calculate before how long the orbital period will be, the exact g-pull as accelleration in m/s^2 aswell as the exact speed in Km/s. All checked and verified. I am still using what is called an iterative approach
for the 2 body problem.
The planets position is calculated based on a lot of data, precise for many centuries ahead. I ported the code from a Mr. Stephen R. Schmitt
first from an odd scripting language called zeno to a, at this time still Alias Maya, Mel Script
and now to irrlicht. It's also verified. The original zeno Programm calculated the position back translated to earth coordinates (including rotation) and just presented a screen with right ascension and declination of all 9 planets.
I am planning to integrate two game modes or two views, a planning & testing view and the normal camera view. Maybe scientific mode and freeflight mode ?
I want to be able to plan gravitational slingshots and orbital transfers between multiple planets using different burn phases to accelerate and using a guidance system to stay on flight plan of course with limited propulsion. <- wow 5 features in one sentence... well slowly... I also want to explain some concepts like escape velocity and so on... All should be kept as simple and interactive as possible because it should be made for guys like me who are not specialists in algebra but generally know how to add subtract multiply and divide. More visual than maths would be nice...
Well, long talk what I'm doing is more or less celebrating that the real values are working...
It's a hobby project more or less inspired and motivated by sheer curiosity of orbital mechanics and hopefully the abitlity for other people to learn something about it aswell by fiddling around with it. A bit of edutainment if you want. And because it's a hobby project it will probably sink into the depth of the forum soon (meaning back to the old unread threads) and there wont be too many updates, but it's here, use it however you like for your own purposes, and yes I will constantly continue working on it, probably again proportional
to my unemployment minus
curiosity for other things.
I have to change the soundtrack btw., a friend made a track called „cosmic mind stuff“ that kind of describes it aswell, and as much as I love bladerunner, I can't hear vangelis anymore.
I made 2 more youtube videos yesterday, before i had the exact inertial frame of reference figured but they show the real values for a nearly circular orbit and one slightly eccentric orbit with the new arrow mesh nodes pointing in direction of pull (red) and velocity (green) vector and being scaled accordingly...
YouTube - round http://www.youtube.com/watch?v=hXpt6wxsu9o
YouTube - eccentric http://www.youtube.com/watch?v=X2-GdGju5t0
irrSolarSystem - A solar system simulator
Ever wanted to play Hale-Bopp ?
I made a solar system that simulates newtons and keplers laws of motion using the irrlicht 3d engine... The planets position is calculated according to real data and the scales are proportional to each other...
D O W N L O A D S O U R C E & B I N A R Y
ps: change startplanet and startAlt top of declarations and camera or camera2 bottom of code to play around, you can also still accelerate in side view using left mouse and right mouse button to see more eccentric orbits... enjoy