Page 1 of 8

New accretion disk method (WORK IN PROGRESS)

Posted: 05.03.2007, 02:39
by Cham
I'm building some new accretion disks, using Mathematica to build pure CMOD models of dust clouds. There's a lot of tweaking to do, but I think this new method has a lot of potential. The user can move inside the disk and watch the flow. The model is fully 3D volumetric, and the disk move like a real fluid (differential rotation). The animation is prefectly smooth. And the user cannot click on the particles, so the models aren't in the way, if the user has to click on background stars, central body, etc.

The accretion ring shown below is actually made of three base models (color variations of the same basic model), and each model has 10000 dots (particles). The CMOD files are 516 KB only (each). In the SSC, I'm using 12 definitions for each model, with Obliquity and EquatorAscendingNode variations. So Celestia is showing 3X12X10000 = 360000 particles.

Here are three pictures of the actual experimentation :

Image

Image

A view from inside the accretion ring (the picture has been reduced a bit from the original, so the particles may appears a bit blurry) :
Image

Too bad the dots can't be made blurry in Celestia. And too bad I can't show any Doppler shift effect on the ring (this could be awesome !).

I intend to make one ring like this with a magnetic field associated to the disk and to the central body, but I'll have to assume a rigid body rotation, in this case.

I'm very inspired by the artist renderings found here :

http://photojournal.jpl.nasa.gov/catalog/PIA08626

Re: New accretion disk method (WORK IN PROGRESS)

Posted: 05.03.2007, 07:40
by chris
Cham wrote:Too bad the dots can't be made blurry in Celestia. And too bad I can't show any Doppler shift effect on the ring (this could be awesome !).


Very nice work, especially given that you're limited to just points right now. The next version of Celestia will extend the cmod format to allow point sprites--it's not that much development work, so you won't have to wait too long.

--Chris

Re: New accretion disk method (WORK IN PROGRESS)

Posted: 05.03.2007, 07:51
by Cham
chris wrote:The next version of Celestia will extend the cmod format to allow point sprites--it's not that much development work, so you won't have to wait too long.

--Chris


What are sprites, in a cmod ? How does it work ?

Posted: 05.03.2007, 08:20
by bh
Good work here Cham...

Re: New accretion disk method (WORK IN PROGRESS)

Posted: 05.03.2007, 11:40
by ElChristou
chris wrote: ...The next version of Celestia will extend the cmod format to allow point sprites--it's not that much development work, so you won't have to wait too long...


Too bad some configs won't have acess to such rendering... :?

Very cool Cham!

Posted: 05.03.2007, 17:44
by ElChristou
Image

Practical this fake and exagereted asteroid belt to appreciate it's dimension without two thousands orbits! :o

Posted: 05.03.2007, 19:57
by Cham
Here's a download link to test the concept. I reduced the number of particles, but the effect is very nice anyway. You'll notice two problems with the model :

1- there's no shadow on the particles. This is because the emissivity is set to ON. If you turn it OFF in the SSC file, the model may crash your video card. I didn't tested yet what happens if I set OFF the emissivity in the CMOD file too. I suspect there's a conflict between emissivity defined in the CMOD and in the SSC.

2- The luminosity of the emissive model doesn't change with distance, which is unrealistic. At some distance, the model becomes opaque and way too luminous. There's nothing I can do about this, until Chris change something in the code for emissive objects. I suggest adding a new parameter declared in the SSC, to turn ON a distance dependant emissivity (magnitude ?). This would be very usefull to define globular clusters too, using my technique (pure CMOD models).

DOWNLOAD LINK for a test prototype :

http://nho.ohn.free.fr/celestia/Cham/accretionTEST.zip (820 KB zip file)

Re: New accretion disk method (WORK IN PROGRESS)

Posted: 05.03.2007, 20:41
by rthorvald
Cham wrote:I'm building some new accretion disks, using Mathematica to build pure CMOD models of dust clouds.

This is extremely interesting. :idea:
Could you please tell us some more about your method...? I??d like to see more screenshots / examples, too...

- rthorvald

Re: New accretion disk method (WORK IN PROGRESS)

Posted: 05.03.2007, 21:04
by Cham
rthorvald wrote:
Cham wrote:I'm building some new accretion disks, using Mathematica to build pure CMOD models of dust clouds.
This is extremely interesting. :idea:
Could you please tell us some more about your method...? I??d like to see more screenshots / examples, too...

- rthorvald


Ok, the CMOD files were made with Mathematica (high level math software, similar to Maple). The model itself is a flattened torus made of random dots (particles). I used a gaussian (normal) distribution along the radial distance (around a mean radius value), a gaussian distribution along the transverse ("z" or thickness) axis, and a uniform distribution along the azimuthal (angle "phi") direction. I then randomly distributed 10000 points in Mathematica, then exported all the cartesian coordinates to a TEXT file, properly formatted so Celestia could use it as a CMOD. Since I developped my magnetic fields, Mathematica now exports everything directly into a CMOD file, with all the headers info, etc. So the process of CMOD file creation is extremelly fast (about 10 seconds) for each model.

Runar, did you tried the prototype from the link given in my last post ?

Here are four more shots of a variation of the accretion disk :

Image

Image

Image

Image

Also, here's another example, around a pulsar (I was inspired by this MHD rendering : http://shayol.bartol.udel.edu/massivewi ... -ori-e.png ) :

Image

Image

Image

Image

I have yet to select the best combination of colors and transparency, the best number of "base rings" to allow a proper "fluid motion", etc. You should see the disk motion. It's really like a fluid in rotation.

Re: New accretion disk method (WORK IN PROGRESS)

Posted: 05.03.2007, 21:08
by chris
Cham wrote:
chris wrote:The next version of Celestia will extend the cmod format to allow point sprites--it's not that much development work, so you won't have to wait too long.

--Chris

What are sprites, in a cmod ? How does it work ?


It's a method for using fuzzy points in a cmod. Point sprites will work a lot like point lists in cmods except that you'll specify a size for each point and a texture (which will typically a fuzzy disc of some sort.) It's a good way to do some volumetric effects.

--Chris

Re: New accretion disk method (WORK IN PROGRESS)

Posted: 05.03.2007, 21:10
by Cham
chris wrote:
Cham wrote:
chris wrote:The next version of Celestia will extend the cmod format to allow point sprites--it's not that much development work, so you won't have to wait too long.

--Chris

What are sprites, in a cmod ? How does it work ?

It's a method for using fuzzy points in a cmod. Point sprites will work a lot like point lists in cmods except that you'll specify a size for each point and a texture (which will typically a fuzzy disc of some sort.) It's a good way to do some volumetric effects.

--Chris


Can you give an explicit example of the CMOD format I'll have to use ?

Re: New accretion disk method (WORK IN PROGRESS)

Posted: 05.03.2007, 21:24
by rthorvald
Cham wrote:...So the process of CMOD file creation is extremelly fast (about 10 seconds) for each model.

Runar, did you tried the prototype from the link given in my last post ?

Yes, i tried it just after posting.

Are you able to color each point separately in the CMOD? Or is it neccecary to use an uniform color in the ssc file? By varying the color slightly in 4-5 steps, a cloud might look more natural...

Also, if you have detailed control of shape, i can imagine a lot of possibilities for this... Regrettably, it seems your method is rather specialized... Not easy to duplicate for us?

-rthorvald

Re: New accretion disk method (WORK IN PROGRESS)

Posted: 05.03.2007, 21:41
by Cham
rthorvald wrote:Are you able to color each point separately in the CMOD? Or is it neccecary to use an uniform color in the ssc file? By varying the color slightly in 4-5 steps, a cloud might look more natural...

Also, if you have detailed control of shape, i can imagine a lot of possibilities for this... Regrettably, it seems your method is rather specialized... Not easy to duplicate for us?


In theory, I could assign a different color to each particle in the same model file, but this would make the CMOD file messy, with 10000 points and the Mathematica coding would be MUCH harder. For the moment, I prefer making a single color model, and then use several models at the same time, with a different color for each one. This is a very good way. Using, say, 5 or 10 basic ring models with their own color opens the possibility for a nice color graduation on the disk, while using the rings to allow the fluid motion at the same time. Just inspect the SSC file and the CMOD headers, from the prototype I'm giving above.

The possibilities are endless, once Chris implement the sprites, and especially if Chris add the Magnitude parameter for a distance dependant luminosity. Once done, I could EASILY create fully 3D volumetric globular clusters, irregular nebulae, accretion disks around pulsars, black holes and stars, protoplanetary systems, rings of debris around a giant planet, magnetic fields, and so on.

I even have plans to create volcanoes (Io, etc) and matter bridges on the sun, pulsars/black holes jets using the same technique. However, they'll be static in their cases (no time evolution).

As I already said before, a whole new addons universe is opening to us ! :mrgreen:

Those models needs some maths, to be created, so unfortunately it would be hard stuff for must users. I'll probably publish my Mathematica notebooks, so anyone with Mathematica could try them. I also intend to create a library of objects, so anyone could use them :

basic rings of all sorts, basic spherical distributions (globular clusters), etc. So the user would have to edit the color/transparency headers only, and create their own SSC files (from templates ?).

EDIT : In the case of the accretion rings, here's the complete Mathematica code (it's MUCH simpler than the magnetic field lines code !) :

http://nho.ohn.free.fr/celestia/Cham/Divers/ring.pdf

Re: New accretion disk method (WORK IN PROGRESS)

Posted: 05.03.2007, 21:49
by rthorvald
Cham wrote:The possibilities are endless [...] I even have plans to create volcanoes (Io, etc) and matters bridges on the sun, pulsars/black holes jets using the same technique I also intend to create a library of objects, so anyone could use them :


Yes, many possibilities. Even 3d clouds and smoke ;-)

A library of objects, i think, would be most welcome. With a variety of shapes, i can see a whole lot of work becoming much easier to do, not to mention practical to implement re memory constraints...

Very, very cool work, Cham! Please continue...

- rthorvald

Re: New accretion disk method (WORK IN PROGRESS)

Posted: 05.03.2007, 23:45
by Kolano
chris wrote:
Cham wrote:
chris wrote:The next version of Celestia will extend the cmod format to allow point sprites--it's not that much development work, so you won't have to wait too long.

--Chris

What are sprites, in a cmod ? How does it work ?

It's a method for using fuzzy points in a cmod. Point sprites will work a lot like point lists in cmods except that you'll specify a size for each point and a texture (which will typically a fuzzy disc of some sort.) It's a good way to do some volumetric effects.

--Chris


Alight :D

This sounds like it could make the set of galaxy survey add-on's significantly better (i.e. a set of template galaxy images could be used instead of points)

Posted: 06.03.2007, 00:14
by buggs_moran
Really neat work Cham. I love the differential motion feel and the 3d-ness of the whole thing. I think you're right about the look as you pull away though, the fact that the brightness doesn't diminish is a shame. You need one of those Fridger culling algorithms that he uses for labels applied to points...

I would REALLY like to see someone integrate the following work into Celestia... Perhaps once I get my linux box built I will give it a try.

http://www.astro.keele.ac.uk/~apb/OGL_CV/newimage.html

Posted: 06.03.2007, 01:20
by ElChristou
Yep, I was playing with this to simulate dirt disk, and indeed whith a few tweaks to get a good rendering of the brightness vs distance this could be a really nice feature...

Chris could you please think in us poor folks who won't be able to use point sprites (and other esoteric GL rendering)? :?

Posted: 06.03.2007, 04:55
by Cham
Here's another prototype. If only the luminosity was dependant on distance ! :-(

Image

Image

Image

There are 6 concentric rotating rings here. Very fluidic motion. The frame rate is very high on my system, even in the solar system with all the comets and asteroids. The color transition is very smooth. Should I place more particles in there ? The thickness should be made variable. It's a bit too constant for my taste, but this can easily be corrected.

I can't wait to add the sprites ! :mrgreen:

Download link to the prototype :

http://nho.ohn.free.fr/celestia/Cham/AccretionTest2.zip (1.8 MB zip file)

Posted: 06.03.2007, 06:43
by Cham
Here are two very nice views from the addon prototype given in my previous post. Click for very large pictures :

Image Image

Navigating inside that field, using the keyboard, is pretty fun too. Looks like snow all around !

Posted: 06.03.2007, 21:32
by Cham
Proto-moons system in formation :

Image

Image

The planet is probably too small, compared to the size of the rings. This could easily be corrected in the SSC.

The only problems here are the inability to have a planet shadow on the rings (particles), because of that crashing bug if emissivity is set to OFF, and the luminosity which increases with distance, while it should actually decrease. This problem, if not corrected, will kill all projects based on particles-clouds models :x