Fractal System Creation Algorithm

The place to discuss creating, porting and modifying Celestia's source code.
Guest

Fractal System Creation Algorithm

Post #1by Guest » 31.05.2002, 07:23

Fractal System Creation Algorithm

What the is the FSCA

First you have to know what a Fractal is.
http://www.dictionary.com/search?q=Fractal%20
Fractal
A geometric pattern that is repeated at ever smaller scales to produce irregular shapes and surfaces that cannot be represented by classical geometry. Fractals are used especially in computer modeling of irregular patterns and structures in nature.

Currently The Milky Way is the galaxy which is the home of our Solar System together with at least 200 billion other stars (more recent estimates have given numbers around 400 billion) and their planets, now I don’t know about you, but I would hate for someone(s) to create a system for every star. The FSCA is a simple and elegant way to automatically create systems on the fly that are always reproducible with 100% accuracy, and will be extremely accurate.

What would the algorithm have to do?
I see only two steps to the algorithm. First one is Planet Creation. Details like how many, size, location, speed, mass, etc… The next step is Planet Mapping. Using the algorithm, and information generated from the Planet Creation, maps for the planets would be generating on the fly.

Why is this a good idea to pursue?
Sheer size. It is not reasonable to have information and maps for 400 billion systems. This way each star just has to have a single 64bit number assigned to it to generate all the information.
No one will know what all the systems will look like. And now people ac literally discover new systems. Foreign, bizarre, but cool.

In order to leave enough variety the system would have to hand at least a 40bit integer, just for the Milky Way but to leave some slack space for the future might as well bump it up to 64bit this would allow for over 18.4 quintillion systems

What do I need from you?
A programmer and a list of variables to take into account for creating the algorithm.

Axel

Rescue from Fractalus :)

Post #2by Axel » 31.05.2002, 09:33

Hmmmmm,

sounds pretty cool. 8) Please tell one more thing.

For your fractal approach you need a fixed number for every star. And you'll use the known values to as a starting point. What can the fractal approach doe what any reproducable pseudo-random algorythm can't? Booth can produce reproducable results if started with identical values.

Please don't missunderstand me here, I'm fascinated by the fractal approach. I just don't see it's uniqueness here...

Tace care, :wink:
Axel

Guest

Post #3by Guest » 31.05.2002, 11:12

The concept of randomising the rest of the galaxy for completeness, by whatever method, is very intruiging. But I don't see it as necessary if Chris gets galaxy rendering to look more convincing. Personally I'd be content to explore only the star systems we know about and have a good-looking but totally inexploreable 'model' to represent the rest of the galaxy. The concept of being able to "go to" any star in the galaxy, as we can currently do with 100,000 stars, just isn't very appealing to me since they'd just be made up to "fill in the gaps" as it were. I think I'd positively dislike it if some of these imaginary stars had planets around them since it would be a total fiction. I've got nothing against those people trying to model fictional galaxy which are literally that - fictional, as in, from fiction (e.g. Dune, Star Wars etc.), but if I couldn't distinguish the line between fiction and reality I'd be very annoyed.

Nontheless, randominity (is that a word ?) has the advantage of creating large galaxies from small amounts of information. Of course it would be nice to explore the entire galaxy rather than just look at it, but only if there was a clear and obvious distiction between reality and fiction.

(Mad Boris)

marc
Posts: 426
Joined: 13.03.2002
With us: 22 years 8 months
Location: Outback Australia

Post #4by marc » 31.05.2002, 17:42

A random universe has been done before by david braben with Elite.

As part of my MostlyHarmless project (i want to do it again) ive been gathering information to make a solarsystem generator which will create *.ssc files. I aim to populate celestia's stars with planets. That'll push it.

Ive been mucking about with some fractal texture generators for planets.
these are the best ive found

Franz-Xaver Schweiger has made a good gas giant texture generator.
http://bruckner.homelinux.net/addons.html

And I found this earthlike texture generator.
http://www.circuitpsyche.com/fracplan/

Image

Image

It took 20 minutes each to calculate these textures. I think a fractal celestia would be rather slow.

As far as the rest of the universe goes you may as well stick to standard astro physics and statistics, leave fractals for the complex stuff like fluid dynamics and image compression.

Will probably be a lot of binomial calcs in there. with the occanional 1% way out there to make it interesting.

and a bunch of basic laws
Roches limit, Keplers laws. etc,
Nasa's kepler project has some good info on habitabal planets,

Ive also got a random name generator to give the stars and planets some nice names

and its all fictional of course.

another shameless plug
http://mostlyharmless.sourceforge.net

Guest

Post #5by Guest » 01.06.2002, 06:34

Axel: The main difference between the fractal approach and any reproducible pseudo-random algorithm is that fractal algorithm is built on the concept of infinite depth that never repeats. If you are really interested look at the Mandelbrot Set at
http://aleph0.clarku.edu/~djoyce/julia/explorer.html

Mad Boris: The main idea is you can if you want but you don’t have too. The real advantage is sheer size. A complex equation to generate up to 18.4 quintillion unique systems that is only a few hundred kilobytes OR having to download hundreds of megabytes for only tens of systems. The Fractal approach is just to make Celestia more interesting and it would not be to override other systems, just fill in the gaps. So if you see a star and it does not have any planets generate it.

Marc: You bring up a good point. The amount of time that it takes to generate a system is extremely important. No one wants to wait several hours to see a system, but there are ways around it or limit its build time. One way is to reduce the number of irritations.

Here is an example.

Image
80 irritations

Image
1 irritation

The difference is the first one I did had 80 irritations and took a little under five minutes; the other had only 1 irritation and took only 18 seconds. Although quality is not as good as the one with 80 irritations, but its pretty damn good for a quick preview.

So just using a quick calc, if an average system had about 100 Planets and moons, the total processing time would take around 30 minutes per system. If you consider how much detail it would add, that’s not really that much time. Also to speed up the process, aster you visit the system you could just save the data, so if you revisit the system everything thing would be there. Also because fractals are based upon irritations if some one finds an interesting planet or system they should have the option to reprocess the system and increase the number of irritations hence increasing the level of detail.

Looking at all the information you sent me it looks like a fair chunk of the fractals have been done. Only a system fractals needs to be done and making of targeted fractal algorithm for specific looks

Mapping Fractals:
Crater fractal = for moons an planets
Planet fractal = for planets (the one you have listed kicks ass)
Whether fractal = for clouds for planets
Gas fractal = for create gas giant (good, but I would like to see more options)
Star fractal = for stars


System Fractals:
Planet fractal = make all the planets and moons
Asteroid fractal = make a random asteroid belt

With a little help form Chris in terms of integration, and the community I sure we can come up with something viable quickly

-Matt-

Guest

Whoops!

Post #6by Guest » 01.06.2002, 06:47

Be for I forget to mention it the time it takes to process doesn’t mean anything unless you know what type of system I have. Hell I could be using a Cray Super Computer and I could process 80 irritations in 18 seconds, well anyway here are my specs

AMD 1800+ (1.53GHz)
512MB, 266DDR RAM
Epox 8K3A+ Motherboard

That should help.

-Matt-

alexis
Posts: 55
Joined: 02.05.2002
With us: 22 years 6 months
Location: Stockholm, Sweden

Post #7by alexis » 01.06.2002, 08:53

Fractal System Creation Algorithm

For this approach taken to its extreme, see the incredible Blueberry 3D developed by a friend of mine. Here's a generated (realtime at 30 fps!) detail of our home planet:

Image

Your may zoom in to the level that you see blueberries, hence its name.

/Alexis
Last edited by alexis on 01.06.2002, 10:36, edited 1 time in total.

Avatar
t00fri
Developer
Posts: 8772
Joined: 29.03.2002
Age: 22
With us: 22 years 7 months
Location: Hamburg, Germany

Post #8by t00fri » 01.06.2002, 10:31

Anonymous wrote:With a little help form Chris in terms of integration, and the community I sure we can come up with something viable quickly

-Matt-


Your fractal approach certainly represents an exciting experiment in computer graphics and has lots of immediate applications typically in games and the like where scientific accuracy is irrelevant.

Personally I strongly prefer that within the simulator the boundary between /facts and fiction/ always remain evident. It does not make sense to me, to work hard generating arc-second accuracy for the planet positions with 400 VSOP87 terms on the one hand and mix this seamlessly with fractally generated phantasy...

Bye Fridger

Sum0
Posts: 273
Joined: 10.03.2002
With us: 22 years 8 months
Location: Norwich, UK

Post #9by Sum0 » 01.06.2002, 11:21

Isn't Noctis a randomly generated galaxy?
http://members.designheaven.com/~44/noctis.html
"I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question."

Mad Boris
Posts: 50
Joined: 03.04.2002
With us: 22 years 7 months
Location: Cardiff, UK

Post #10by Mad Boris » 01.06.2002, 14:21

Fridger wrote :
Personally I strongly prefer that within the simulator the boundary between /facts and fiction/ always remain evident. It does not make sense to me, to work hard generating arc-second accuracy for the planet positions with 400 VSOP87 terms on the one hand and mix this seamlessly with fractally generated phantasy...


Exactly what I was trying to get at.

Matt, was that very specific 18.4 quintillion (which I think means 18.4 * 10 ^ 15) a literal figure i.e. is it really that powerful ? Because that's damned amazing. But would Celestia (on an ordinairy PC)be able to handle an entire galaxy of star systems ? 100,000 stars is a lot, but nowhere near the 100 billion odd stars of the Milky Way. I'm still not fully convinced about this idea of a fractal galaxy, however, but I'm more inclined to it after having seen more results. It would certainly be very useful for modelling fictional universes, but in the normal version of Celestia, how would people know whats real and what isn't ?

Guest

Post #11by Guest » 01.06.2002, 18:43

Perhaps people are getting the wrong idea about the fractal system generator. :( The idea was not to build new stars, but planets around existing know stars (however Building a complete galaxy would be possible, albeit a little much for the ordinary system to handle at the moment. Maybe when 64 bit processing comes to the desk top then it will be more viable.

Personally I strongly prefer that within the simulator the boundary between /facts and fiction/ always remain evident. It does not make sense to me, to work hard generating arc-second accuracy for the planet positions with 400 VSOP87 terms on the one hand and mix this seamlessly with fractally generated phantasy...



I don’t see a problem here. Just make it optional like various other features in Celestia are now. But to make sure no one is ever confused, what’s real and what’s not just using a standard naming convention such as “Fractal System 12345: Planet V” that should suffice, and that way people can easily identify what’s real and what is not. Though I would doubt most would believe that we were suddenly able to identify complete systems across the universe, but there is always someone that foolish.

Finally As for the 64 bit question, I did not just randomly choose that number, well maybe I did, but there is logic to it. 64 Bit processing is the next evolution in computer processing, and should be available for the home users sometime early 2003 (if AMD is successful)
2^64 = 18,446,744,073,709,551,616 or 1.8 x 10^19
For the US that’s 18.4 Quintillion
For the UK that’s 18.4 Trillion

Hope that clarifies things.

Also as a final note, I would like everyone to think along these lines. The creators of DOOM3 Purposefully are making the game knowing that not a single video card now can run the game at full quality. They are betting that when the game does become available mid 2003) video cards will finally have matured enough that then those cards can be used to run the game at full quality. :D

-Matt-

Mikeydude750
Posts: 169
Joined: 31.01.2002
With us: 22 years 9 months
Location: Wisconsin

Post #12by Mikeydude750 » 01.06.2002, 19:39

I read somewhere online that AMD and Intel are both releasing 64-bit CPUs for home users by early 2003, but I don't know how much they'll cost.

Only thing I know is that my dad has a SGI computer up at his workplace that could easily process 100 iterations in 20-30 seconds. Of course, he uses his computer for real-time atmospheric models(he's a weatherman)

Mikeydude750
Posts: 169
Joined: 31.01.2002
With us: 22 years 9 months
Location: Wisconsin

Post #13by Mikeydude750 » 01.06.2002, 19:42

Anonymous wrote:Axel: The main difference between the fractal approach and any reproducible pseudo-random algorithm is that fractal algorithm is built on the concept of infinite depth that never repeats. If you are really interested look at the Mandelbrot Set at
http://aleph0.clarku.edu/~djoyce/julia/explorer.html

Mad Boris: The main idea is you can if you want but you don’t have too. The real advantage is sheer size. A complex equation to generate up to 18.4 quintillion unique systems that is only a few hundred kilobytes OR having to download hundreds of megabytes for only tens of systems. The Fractal approach is just to make Celestia more interesting and it would not be to override other systems, just fill in the gaps. So if you see a star and it does not have any planets generate it.

Marc: You bring up a good point. The amount of time that it takes to generate a system is extremely important. No one wants to wait several hours to see a system, but there are ways around it or limit its build time. One way is to reduce the number of irritations.

Here is an example.

Image
80 irritations

Image
1 irritation

The difference is the first one I did had 80 irritations and took a little under five minutes; the other had only 1 irritation and took only 18 seconds. Although quality is not as good as the one with 80 irritations, but its pretty damn good for a quick preview.

So just using a quick calc, if an average system had about 100 Planets and moons, the total processing time would take around 30 minutes per system. If you consider how much detail it would add, that’s not really that much time. Also to speed up the process, aster you visit the system you could just save the data, so if you revisit the system everything thing would be there. Also because fractals are based upon irritations if some one finds an interesting planet or system they should have the option to reprocess the system and increase the number of irritations hence increasing the level of detail.

Looking at all the information you sent me it looks like a fair chunk of the fractals have been done. Only a system fractals needs to be done and making of targeted fractal algorithm for specific looks

Mapping Fractals:
Crater fractal = for moons an planets
Planet fractal = for planets (the one you have listed kicks ass)
Whether fractal = for clouds for planets
Gas fractal = for create gas giant (good, but I would like to see more options)
Star fractal = for stars


System Fractals:
Planet fractal = make all the planets and moons
Asteroid fractal = make a random asteroid belt

With a little help form Chris in terms of integration, and the community I sure we can come up with something viable quickly

-Matt-


Irritations? You make it sound like it irritates you. You must mean iterations, right?

Guest

Post #14by Guest » 01.06.2002, 23:53

:oops: Sorry your right, it is Iterations nor Irritations

-Matt-

Mikeydude750
Posts: 169
Joined: 31.01.2002
With us: 22 years 9 months
Location: Wisconsin

Post #15by Mikeydude750 » 02.06.2002, 01:07

Anonymous wrote::oops: Sorry your right, it is Iterations nor Irritations

-Matt-

Yeah,it must be irritating to spell iterations wrong.

My dad's work computer will own all of your computers.

Here are the specs(just for the curious)
2 64-bit custom RISC processors(1.5 GHz each)
4 GB of RAM
2 256 MB SGI Graphics Cards
180 GB Hard Drive

All for only 20 grand =P
And the triple monitor setup cost about 6 grand.

It's so wonderful to run Celestia on that baby...my dad downloaded the highest-resolution Blue Marble Earth texture, and it still ran at a solid 30 FPS!

Guest

Post #16by Guest » 03.06.2002, 04:42

8) Searching the net for another project I came across a good system generator that will generate a lot of planetary information aground a given star fairy accurately.
http://www.ultranet.com/~brons/NerdCorn ... arGen.html

With this information it looks like the idea behind fractal creation system is closer to reality if I can find someone to work on tying it all the parts together into a single product

The source code is also available

-Matt-

alexis
Posts: 55
Joined: 02.05.2002
With us: 22 years 6 months
Location: Stockholm, Sweden

StarGen

Post #17by alexis » 03.06.2002, 09:02

Please note that StarGen uses a very old and completely obsolete theory of planet formation to generate planetary systems. Not a single system of the 70+ extrasolar planets found since 1995 can be explained by that accretion model, for instance (you need migration scenarios). So I wouldn't use it to generate extrasolar systems in Celestia.

/Alexis

Guest

Post #18by Guest » 04.06.2002, 07:40

Do you know where I can find information on a more accurate model of systems? It may not be perfect, or anywhere near perfect, but it’s still a good start for just building models don’t you think?

-Matt-

alexis
Posts: 55
Joined: 02.05.2002
With us: 22 years 6 months
Location: Stockholm, Sweden

Planetary systems models

Post #19by alexis » 04.06.2002, 09:04

Unfortunately, we presently know that we know much less about planetary systems formation than we knew back then that we knew :?. Formation of these systems is still an unsolved problem. I'm afraid I cannot point you to a good realistic planetary systems generator, but I suggest that you make one yourself (it will probably be as good or better as StarGen). If you want to be more realistic you can take your time to study some of the latest papers on the subject (see the Astrophysics Data Service for abstract service) or ask a local astronomer ;).

/Alexis

marc
Posts: 426
Joined: 13.03.2002
With us: 22 years 8 months
Location: Outback Australia

StarGen

Post #20by marc » 05.06.2002, 07:22

Regardless it is a very clever piece of work and I think one which could be easily modified to produce *.ssc files. All the orbital data is there for instance.
It will help to make a great Fantasy celestia.


Return to “Development”