Jump to content

Atomic Space Tools: Orbit Toy and System Builder(updated may 23)


Recommended Posts

Greetings! I'm something of a space enthusiast who has recently produced a pair of tools that I think the people around here might find interesting.

Orbit Toy is a gravitational simulation that can take editable system definitions and simulate them out for hundreds or thousands of years. I've tested it against NASA data on the solar system over a century, and while I'm not sure I'd trust it for planning actual missions it does appear stable and to closely resemble reality if not exactly match it. There are a number of command line options that can be used to get interesting data out of long runs, as well.

System Builder is a tool I just released today that makes designing new systems for use in Orbit Toy far easier, with a GUI that does the hard math for you rather than hand editing position and velocity values. It comes with system files for Sol and five exoplanet systems.

Though these were both produced as stepping stones to a larger goal(a rather ambitious space wargame project) they do function as they are. I know someone who is already planning to use them to vet a fictional star system, and I've found it quite fascinating to enter in the data for discovered extra-solar planets and view those systems. If you do get use out of them, or have problems with them, or have suggestions, let me know! Both tools are pretty rough in places, and I do have plans to improve the further, so all feedback is useful.

As a treat for these forums, I've put together a system file for based on the KSP system, with values taken from the fan wiki. Download here

Version history

ATOMIC SPACE TOOLS:
Combined orbit toy and system builder into one project.
Corrected improper camera positioning in both programs.
Numerous changes to level files.
Lots of under the hood cleanup and reorganizing.
Added a visible scale reference to all current tools.
Adjusted line width and look to something a bit nicer.
Changed player settings to run in background.

ORBIT TOY:
Motion plots now scale to consistent screen sizes as the camera moves.
Added an indication of what system is currently being simulated.
Camera zoom is now adjusted to fit systems on load.
Level listings now scroll if there are enough levels to require it.

SYSTEM BUILDER:
Corrected handling of phase angle(true anomaly). Twice.
Paths and labels are now hidden when the visual size of the orbit is very small to avoid clutter.
Duplicate body names will no longer be accepted.
Added the ability to update all edited values of a body in one click.
Added the ability to revert all unapplied changes to a body.
The camera now auto-focuses on the furthest-orbiting planet at load.
The tree view is automatic sorted by semi major axis whenever that is updated.
Tool now starts properly even if Sol system is absent.

Edited by EatThePath
Link to comment
Share on other sites


the Sun,1.756567E+28,0,0,0,0,0,0
Moho,2.526362E+21,-6.314428E+09,-1.15379E+08,-1.416677E+07,280.3696,-12092.36,1484.755
Eve,1.224413E+23,-9.930657E+09,-8.343732E+07,-3059507,91.80465,-10802.74,396.1184
Gilly,1.242051E+17,-9.921505E+09,-6.949604E+07,-96196.75,-421.3681,-10152.34,257.8731
Kerbin,5.291579E+22,-1.359982E+10,2.16584E+07,0,-14.78584,-9284.378,0
the Mun,9.760024E+20,-1.36046E+10,3.266765E+07,0,-512.4847,-9500.223,0
Minmus,2.64579E+19,-1.35721E+10,5.94057E+07,3967402,-236.149,-9123.595,-16.89904
Duna,4.515481E+21,-2.176244E+10,3.465774E+07,36293.52,-11.99215,-7153.642,7.491279
Ike,2.782195E+20,-2.176573E+10,3.466299E+07,36311.84,-12.48108,-7451.445,8.530811
Dres,3.219132E+20,3.467694E+10,5.929882E+09,5.187974E+08,-915.4492,6067.387,-530.8276
Jool,4.233263E+24,6.502395E+10,6.522467E+09,1.484711E+08,-412.6948,4318.755,-98.30793
Laythe,2.939766E+22,6.503227E+10,6.548349E+09,1.484711E+08,-3482.049,5304.649,-98.30793
Vall,3.108803E+21,6.503715E+10,6.563552E+09,1.484711E+08,-2848.84,5101.259,-98.30793
Tylo,4.233263E+22,6.495654E+10,6.510311E+09,1.484658E+08,-52.29337,2320.128,-97.43587
Bop,3.726153E+19,6.508187E+10,6.609597E+09,1.718176E+08,-1697.968,5469.987,-406.7797
Pol,1.081364E+19,6.504737E+10,6.353836E+09,1.359396E+08,846.9989,4708.323,-127.2578
Eeloo,1.114936E+21,-1.873955E+10,-8.663364E+10,-6.818215E+09,3651.25,183.2199,-14.41972

Have fun!

EDIT: You already made one :(. Oh well, here's some alternate version.

Edited by Holo
Link to comment
Share on other sites

My only gripes:

(removed)

Level file format should be more readable

I agree it's pretty hard on the eyes. I made System Builder in part to get around that problem, since it exists the need for hand editing is lower. I fully expect the file format to change dramatically as the project grows and I learn more about file parsing, but if readability is a priority during that remains to be seen.

Link to comment
Share on other sites

I agree it's pretty hard on the eyes. I made System Builder in part to get around that problem, since it exists the need for hand editing is lower. I fully expect the file format to change dramatically as the project grows and I learn more about file parsing, but if readability is a priority during that remains to be seen.

Also, it would be better if the camera were to pivot around the focus body, rather than itself, allowing for easy views of the various orbits.

Finally, one should be able to use the following units:

Ms - Solar mass

Me - Earth Mass

AU - Astronomical Unit

LU - Lunar unit (The moon's SMA) (can replace with the light-second)

Kilograms and metres are too small for this purpose, and it is difficult to visualise in them.

Link to comment
Share on other sites

Also, it would be better if the camera were to pivot around the focus body, rather than itself, allowing for easy views of the various orbits.

I'm not entirely sure what you mean, actually. The camera 'pivot' gets placed at the body the focus target is orbiting, so it can frame the whole orbit. Or are you suggesting full 3D rotation? I can understand the desire for 3D camera control but it's a complex enough problem that it's pretty low down my list.

As for the rest, picking units is also a sticky problem, but it's also fairly high up on my to-do list. Though I do think that scientific notation and fundamental units get the job done fine, myself :)

Link to comment
Share on other sites

I'm not entirely sure what you mean, actually. The camera 'pivot' gets placed at the body the focus target is orbiting, so it can frame the whole orbit. Or are you suggesting full 3D rotation? I can understand the desire for 3D camera control but it's a complex enough problem that it's pretty low down my list.

As for the rest, picking units is also a sticky problem, but it's also fairly high up on my to-do list. Though I do think that scientific notation and fundamental units get the job done fine, myself :)

For your first point, just think of the camera movement in KSP.

For the other, you just need a check to see what letters are after the number.

Ie, if its AU, automatically multiply by 1.5E11, and so on. I don't know how you would do this in Unity, but I knw it is trivial in C.

Link to comment
Share on other sites

For camera, the top down is more useful for my ends personally, but I can understand the desire for freer camera movement and will take it under advisment.

For units, anyone one conversion isn't particularly hard. Supporting all units people might want to use, and working display preferences into the already knotty UI code so that it remembers what units you want to see things in as you switch objects and sessions, is a somewhat larger task.

Link to comment
Share on other sites

The trails of the planets are too wide, I can't see the moons. They should fade once you reach a certain zoom level.

Also, what is this "Atomic Space Navy" thing? It sounds like something nyrath would make :-)

Link to comment
Share on other sites

The orbit lines should only ever be two pixels wide, give or take a little. If they're obscuring the moons then you are too far away to see the moon's orbit at all,unless I'm misunderstanding the situation.

As for Atomic Space Navy, I don't want to talk it up too much at such an early stage, but if it comes to fruition I like to think it's something Nyrath would be interested in. Simply put it's an attempt to see if it's possible to make a space wargame with realistic ranges, speeds, and orbital mechanics and still have it be fun. Kerbal Space Program is one of the things that inspired me to first actually honestly try to make this.

Link to comment
Share on other sites

The orbit lines should only ever be two pixels wide, give or take a little. If they're obscuring the moons then you are too far away to see the moon's orbit at all,unless I'm misunderstanding the situation.

Well, this is what happens when I zoom into Jool:

qbjjGuz.png

All I can see is Bop and Pol, and even then only when they are in the right place.

Link to comment
Share on other sites

Argh, since orbit toy is months old and system builder is new, I just assume people are talking about system builder. Sorry, my mistake. Orbit Toy is getting various improvements at present, and inheriting System Builder's line scaling is one of them. No promises on update timetable, though.

Link to comment
Share on other sites

You can expect a version history to be available, either here, on the blog, or in the files, when there is a version history to recount. There isn't much of one yet.

I've been patching up various issues and doing the line rendering changes I mentioned before. A little teaser:

Jool_Whoops_3.png

That's Jool there with all it's moons. Seems to be a bit unstable! Though admittedly there's still a bit of error in the input of the start state, I've not properly converted the mean anomaly values on the wiki into correct true anomaly, I'm not sure it'll be a big enough change to stabilize that system. Once I do it'll be interesting to do a long run and see if the Jool system settles down into a stable state after a while.

Link to comment
Share on other sites

Alright! Those updates have now happened. Anyone who downloaded the tools at their initial posting should check out the updated tools posted today. Lots of improvements have been made to many areas. The updated tools can be found at this link.

ATOMIC SPACE TOOLS:
Combined orbit toy and system builder into one project.
Corrected improper camera positioning in both programs.
Numerous changes to level files.
Lots of under the hood cleanup and reorganizing.
Added a visible scale reference to all current tools.
Adjusted line width and look to something a bit nicer.
Changed player settings to run in background.

ORBIT TOY:
Motion plots now scale to consistent screen sizes as the camera moves.
Added an indication of what system is currently being simulated.
Camera zoom is now adjusted to fit systems on load.
Level listings now scroll if there are enough levels to require it.

SYSTEM BUILDER:
Corrected handling of phase angle(true anomaly). Twice.
Paths and labels are now hidden when the visual size of the orbit is very small to avoid clutter.
Duplicate body names will no longer be accepted.
Added the ability to update all edited values of a body in one click.
Added the ability to revert all unapplied changes to a body.
The camera now auto-focuses on the furthest-orbiting planet at load.
The tree view is automatic sorted by semi major axis whenever that is updated.
Tool now starts properly even if Sol system is absent.

I've also been doing some more simulation of the KSP system. Preliminary results suggests that Jool loses at least two moons and moves around noticeably, Minmus' orbit changes dramaticly, and Eve loses Gilly. Fun times!

Link to comment
Share on other sites

I've also been doing some more simulation of the KSP system. Preliminary results suggests that Jool loses at least two moons and moves around noticeably, Minmus' orbit changes dramaticly, and Eve loses Gilly. Fun times!

A little update on that: I've been working on improving Orbit Toy Console's reporting. The new version is pretty rough, but I used a 94608000 second run(aprox three years) of the KSP system to stretch it's legs.

The report before the run

Kerbol is system center
Moho orbits Kerbol at 6.315765E+09 meters
Eve orbits Kerbol at 9.931012E+09 meters
Gilly orbits Eve at 1.692783E+07 meters
Kerbin orbits Kerbol at 1.359984E+10 meters
Minmus orbits Kerbin at 4.700274E+07 meters
Mun orbits Kerbin at 1.199863E+07 meters
Duna orbits Kerbol at 2.176247E+10 meters
Ike orbits Duna at 3290000 meters
Dres orbits Kerbol at 3.518412E+10 meters
Jool orbits Kerbol at 6.535038E+10 meters
Pol orbits Jool at 1.707127E+08 meters
Bop orbits Jool at 1.071973E+08 meters
Tylo orbits Jool at 6.849674E+07 meters
Vall orbits Jool at 4.315246E+07 meters
Laythe orbits Jool at 2.71864E+07 meters
Eeloo orbits Kerbol at 8.889949E+10 meters

And after:

Kerbol is system center
Moho orbits Kerbol at 4.682423E+09 meters
Eve orbits Kerbol at 9.820839E+09 meters
Gilly orbits Eve at 5.920415E+07 meters
Kerbin orbits Kerbol at 1.36333E+10 meters
Minmus orbits Kerbin at 2266073 meters
Mun orbits Kerbin at 1.178361E+07 meters
Duna orbits Kerbol at 1.945858E+10 meters
Ike orbits Duna at 6014023 meters
Dres orbits Kerbol at 3.516957E+10 meters
Jool orbits Kerbol at 1.587453E+11 meters
Pol orbits Jool at 2.863533E+07 meters
Bop orbits Jool at 3.339007E+07 meters
Vall orbits Jool at 8.485741E+07 meters
Laythe orbits Kerbol at 1.110553E+12 meters
Tylo orbits Kerbol at 1.739705E+12 meters
Eeloo orbits Kerbol at 1.10614E+11 meters

The biggest thing to be aware of is that the reported distances aren't presently properly calculated semi-major axis, but rather raw distance at time of report. Still useful for getting an idea of what is where, though. Of particular note in my eyes is the migration of minmus.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...