PDA

View Full Version : Solar System video


Trojan123
11-08-2005, 07:26 PM
This isn't really a question, but just something to share (although I wouldn't be surprised if a question leaked out).

My 10 yr old isn't exactly doing the best in science, so I thought "wouldn't it be cool to do a little video for extra credit?". Well, he got the o.k. from his teacher so I sat down and went to work.

I found a good site with the sizes of the sun and planets and how far they are from the sun. My amazement came when laying it out to scale in 3D. Although the file size is small, it would seem that the massive distance in the scene file started to make Truespace 4 start to go buggy. By the time I got out to Pluto, the planet wouldn't maintain its size, the camera wouldn't cooperate... you know- weird stuff.

I've pretty much determined that I will fudge the scale of the last 3 planets since they are so far out there. I doubt that the sun will look any closer to Uranus than it will Pluto. That is if you can see the sun at all.

Obviously, I'll render all the elements separately- rendering time would take years otherwise.

This is my first serious project from scratch. I'll post updates from time to time.

SB

blkmaJic
11-13-2005, 10:58 PM
isn't this something your 10 year old should be doing?

Trojan123
11-14-2005, 01:47 AM
In all reality, yeah... I'm just faster at the 3D than he is. He's done a couple planets so far. I've been playing around with the animation aspect of it. He might be able to map some spheres, but any animation or compisiting is beyond him.

SB

riot1
11-14-2005, 03:16 PM
Well here's a link for satellite names and scales, if you don't already have it. Of course, modelling some of them might be a challenge. Especially, one of Jupiters moons. It's shaped like a dropped potato.

http://www.solarviews.com//eng/data2.htm

Here's a NASA link for texture maps for each of the planet, if you don't already have them.

http://maps.jpl.nasa.gov/

Good luck. I'll be very interested seeing how this turns out. Fancied doing something of my own for my kids.

You might try finding flight data for the Pioneer and Voyager missions and following their paths.

Trojan123
11-14-2005, 05:02 PM
Well here's a link for satellite names and scales, if you don't already have it. Of course, modelling some of them might be a challenge. Especially, one of Jupiters moons. It's shaped like a dropped potato.

http://www.solarviews.com//eng/data2.htm

Here's a NASA link for texture maps for each of the planet, if you don't already have them.

http://maps.jpl.nasa.gov/

Good luck. I'll be very interested seeing how this turns out. Fancied doing something of my own for my kids.

You might try finding flight data for the Pioneer and Voyager missions and following their paths.

Although I do have the info, I do appreciate the links.
As for following the paths of Pioneer and Voyager, I am gonna keep it simple and just pretend that everything is in a straight line.

What is already interesting is that the proggie doesn't seem to like having everything layed out to scale, and that things will work better rendered from a 0,0,0 location.

Thanks.

SB

ZaKKoS
11-14-2005, 08:03 PM
I remember a guy (pretty "famous" to be honest but i don't remember the name) that had a similar problem. The scales and distances were so great and different compared to each other that he had to cheat to make everything appealing.

Scratty
12-10-2005, 12:11 AM
Hmm... I think the machine precision used in your app isn't high enough. You'd need much higher precision than normal for such a scene. Pluto has a radius of 6 Mm and its current radius vector is approximately 4.5 Tm. A floating point number is represented with a number of bits that has a sign bit, an exponent part and a mantissa. Now if the mantissa bits (number of decimal places) are too few, the floating point number won't be able to represent the radius of Pluto well enough and you'll get large surface errors.
IEEE single precision has 23 decimal places. Now if we are near the sun, we shouldn't have any problem to resolve the surface of Pluto properly (assume we need a maximum absolute error of 100km ~ 1deg accuracy): dr=1E+5. But at the orbit of Pluto, we get vertices with coordinates approximately quantized like: 4.5Tm+-n*dr. I.e. x=4.5000001E+12=45000001E+5=#2AEA541*10^5.
We see that the hex representation for this value/mantissa takes up 7*4=28 bits, which is more than that for IEEE single precision.

Thus you'll need an 8 byte representation (double precision, IEEE) in order to resolve the planets properly as far out as Pluto. Problem is, the double amount of bits means that your scene will be about twice as big as previously in memory, and might have a severe impact on your computer's performance.

However, I'm not sure if you can alter the precision in truespace (I have no experience with this app) so this info might not help much more than to give you insight in what causes your planets to look weird.

Another way to go - as previously suggested - is to fake the solar system. Try to divide it into the inner solar system and outer solar system, and scale down the outer solar system so that the orbit of Pluto is about as far out as the asteroid belt or the orbit of Jupiter. That should do the trick. Only the problem is now to knot them together in your animation.

Hope this helps.

Trojan123
12-10-2005, 02:40 PM
But thanks for the info. I considered doing something similar to what you typed, but the scene would take forever- almost quite literally- to render.

I'm taking the "experimental" approach. At the moment, I'm just doing simple orbit anims. just to see how they look. I figure that by the time I am done, a lot of different passes will have been done- with a few cut-aways to boot.

Chris

Scratty
12-10-2005, 03:53 PM
But thanks for the info. I considered doing something similar to what you typed, but the scene would take forever- almost quite literally- to render.
Hmm... that's weird. Can't think of any correlation between scene size and render time except for the complexity of the scene. Perhaps you can get away with an ambient color slightly brighter than black and then darken the frames afterwards. Or try to set the raytracer (tree or recursion) depth to something as low as 5 or even 3. If you use global illumiation, you'd have extreme render times. Well, fiddle with this kind of parameters and see if you can find a good balance between quality and render time. Oh, btw, I guess there are a lot of waste of photons in your scene since it's so much emptiness compared to contents in the scene, so perhaps you need a lot of extra photons (which might increase render times). I haven't had any experience in space scenes, so I might be wrong. These are just guesses. I think there are others in this forum that knows these things much better than me (and knows your app too)...


I'm taking the "experimental" approach. At the moment, I'm just doing simple orbit anims. just to see how they look. I figure that by the time I am done, a lot of different passes will have been done- with a few cut-aways to boot.

Chris

Ok... only don't forget the Kepler laws [;)].

Good luck in your quest, and I hope your lad will make the whole class amazed!

SoLiTuDe
12-12-2005, 04:54 AM
yeah -- in nearly all apps the farther away from 0,0,0 the less accurate it will become. I'm a 3ds max user, and they say this in the manual:

Because of the nature of digital floating-point calculations, distances that are extremely large or extremely small can cause round-off error. Symptoms of round-off error include trouble navigating (zooming and panning become too fast or too slow), unwanted viewport clipping, and unexpected flipping of normals. Here are some general guidelines to avoid these problems:



Make sure your scene is roughly centered around the origin (0,0,0).

Round-off error increases at large distances from the origin.

Make sure no significant detail in the scene is smaller than one generic 3ds Max unit.

Sounds like your issue as well -- are you actually typing in 6000 miles in diamater for the stuff? i think you should use a relative scale and scale it down A LOT so that things aren't huge... also in 3ds you can change the system scale, and therefore work around some of those issues so in your case i would set it up for some more massive numbers for 1 unit... and it would therefore not be so horrible at calculating the stuff. You should be able to recreate it "to scale" without typing in real numbers... ya know like making little models of it, 4000 miles = 4 inches or whatever ya know? And i don't know if there is a way to set this up in truespace, so good luck!

Ronson2k
12-12-2005, 12:23 PM
If looking at the solar sytem is what you want to do this piece of freeware is the best at that. It will let you look at the solar system from anywhere you specify (space based observing) eg from the surface of the moon or saturn. The renderings produced can be as detailed as you want (many planetary map downloads available). It has a great community for help if required. This will save you from building an image by yourself in a rendering program. It has many other tools that will be great from a learning about the solar system standpoint. I'm pretty sure but haven't done it myself that you can make a time lapsed animation if you wish. I know the planets position is updated in real time (this can be changed to what ever speed you want - time lapse). There is a solar system tour built into the software that will take you on a trip through the system (it's the default tour - first thing you see when you run the program).

Celestia Main Site:
http://www.shatters.net/celestia/

Look through the forums for animation and you will find plenty of info.

This is the site of educational package being put together for celestia it's really quite impressive including dowloadable animations:

http://www.celestiamotherlode.net/catalog/educational.php

If observing from your backyard is what you have in mind (earth based observing). Learning the planets position in the night sky or the constellation names and location. This piece of Freeware is great for that. It also has a bevy of tools to help the beginning astronomer learn about the stars/planets.

http://stellarium.sourceforge.net/

It's more important to learn about the planets and stars from the software then illustrating them in a rendering. Both are fun and somewhat easy to use with a bit of practice. I use them often myself. If you progress to the point were you are doing observing from a telescope the Stallarium can drive a telescope direction controls (if the scope is so equiped) so you you can move from the inside to the outside and beyond with ease.

Both pieces of software have a good user base and are well supported. Being able to do the observing from your backyard can connect you the solar system and help in learning about the planets and stars. They become actual places and not just something you see in a book (or software). Both will let you set date and time. So you can time travel somewhat and see what the solar system looked like on any date you choose. You can see where the moon was when Armstrong walked on it and so on. This will also help connect your student to the solar system. The connections are important to remembering things about the solar system. The internet also has loads of data on the solar system as some have pointed out. As the Internet was first built to connect universties together that data is one of the first things on it and has remained one of biggest pieces of single scientific subjects available online.

A few other ideas would be to contact your local university and find out if they have an observatory. Many do and have open houses at times so you could perhaps go and look at the stars through a big scope. There are other things you can do aswell. Your local library most likely has a ton of stuff on the planets and stars. A trip there could be quite eye opening if you want to see the planets and stars in book form.

I also have this book:

http://www.amazon.com/gp/product/0395934311/102-5349361-3245753?v=glance&n=283155

It's quite detailed and perhaps beyond that of what a beginner would need but it is compact and easy to referance to start off with and in the future. It can help in both the locating and seeing what you perhaps can't see without a telescope. Loaded with tons of data on the planets themselves and deep sky objects (nebula/quasars/pulsars). Historical info on the constellations aswell. It's the complete referance to night sky observing aswell. The Stellarium will do that for you if your night sky is (close to city or overcast - too hot or cold to be out observing). I live in Canada so the cold can be a bit of problem for me.

Ronson2k

Scratty
12-12-2005, 01:40 PM
Sounds like your issue as well -- are you actually typing in 6000 miles in diamater for the stuff? i think you should use a relative scale and scale it down A LOT so that things aren't huge... also in 3ds you can change the system scale, and therefore work around some of those issues so in your case i would set it up for some more massive numbers for 1 unit... and it would therefore not be so horrible at calculating the stuff. You should be able to recreate it "to scale" without typing in real numbers... ya know like making little models of it, 4000 miles = 4 inches or whatever ya know? And i don't know if there is a way to set this up in truespace, so good luck!
Well, as I see it, the magnitude of things doesn't really matter (well, that's more an issue of how large exponents you can use, and you'll probably notice if you exceed the limits of the exponent), it's the relative scale between objects used in the same scene if I understand this correctly.

For single precision numbers (32 bit float, which is AFAIK the smallest standard floating point entity there is) you have exponents in the range -127 to 127. This should be more than sufficient for all situations you'd ever come across.
Thus, there should be no problem having a model of a galaxy expressed in units of metres, or a proton expressed in units of metres. However... it is when you for instance have a proton object at the rim a galaxy object in the same scene as things start to mess up really bad. Both models have to use the same length scale and this is what messes up things.
What this comes down to is that it is the number of significant digits (mantissa) used for the vertices that matters.

In the case of the Kuiper object Pluto this means that you both have to concider the displacement of the planet from the origin of the scene (the Sun) and the scale of the object itself. There would absolutely be no problem if you'd have Pluto have a radius of 6 Gm instead of 6 Mm and still have Pluto be 4.5 Tm away from the origin of the scene. That would simply mean you'd get coordinates like 45001*10^12, which is quite reasonable.

What I mean, simply put, is that if you scale down the whole solar system model by a factor of thousand, you'd still get the same errors. You have to partition the scene and use different scales.

Edit: However, there might be a less fundamental way how basic units in a 3D app works such that there might be limitations to how many basic units long an object can be. But this should IMO not correlate to the roundoff errors we see for different scene setups, but rather restrict how large objects we can use. In _that_ case, a downscaling might be appropriate.

CGTalk Moderation
12-12-2005, 01:40 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.