More Detailed Planet/Object Class Information

The place to discuss creating, porting and modifying Celestia's source code.
Topic author
MKruer
Posts: 501
Joined: 18.09.2002
With us: 22 years 2 months

More Detailed Planet/Object Class Information

Post #1by MKruer » 02.02.2005, 07:27

I have been playing with Celestia on an off since the 1.1 days, one of the new features that was included 1.2.4 was the object Class. Currently this class is limited to five types. (Planet, Moon, Commit, Asteroid, Spacecraft)

I would like to extend this to include more types. These would replace Planet, Moon, Commit, Asteroid class with much more highly detailed classes.


Asteroidal Class

Sideritic
Silicaceous
Carbonaceous
Basaltic
Oortean (Short-period Comet; Mid-period Comet; Long-period Comet; Transient Comet)

Planetesimal Class
Hadean
Cerean
Kuiperian

Terrestrial Class

Vulcanian
Ferrinian
Mercurian
Selenian
Arean (Eoarean; Euarean)
Gaian (Eogaian; Hyperarid; Arid; Campian; Paludial; Eugaian; Pelagic; Bathypelagic; Tundral)
Venusian (Pelavenusian; Euvenusian)
Titanian
Lithic-Gelidian (Europan; Callistoan; Hyperborean; Cimmerian; Borean; Poseidonian; Tartarian)
Plutonian
Glacian

Jovian Class
Subjovian
Midjovian
Superjovian
Epistellar (Near Epistellar Jovian; Far Epistellar Jovian; Eccentric Jovian)

Rogue Class
Stevensonian

Anyone think this would be worth adding in an upcomming release?

Edit: Feb 02, 2005 10:14
Information Originally gathered from: (No Longer Available)
http://isaac.freeman.org.nz/writing/spa ... ation.html Note: I believe this predates any of the other "World Builder" sites, because I collected this information back in 2001.I do not have the information on who exactly originally created the site.

Edit: Feb 02, 2005 10:26
Planet Type Information.doc Microsoft Word Document
Last edited by MKruer on 02.02.2005, 18:26, edited 5 times in total.

Brendan
Posts: 296
Joined: 15.07.2003
With us: 21 years 4 months
Location: Bellows Falls, VT
Contact:

Post #2by Brendan » 02.02.2005, 09:15

It would be easy to add more classes. The new classes just need to be added to the enum in body.h and more else ifs in solarsys.cpp to test for those classes. I'll likely do it in the next few days after seeing what classes people want. It'd also be a good idea to make additions to celestiacore.cpp to display the class in the information display.
Another thing that could be done afterwards is to see if the guessing code in solarsys.ssc, which guesses the class if none is given, could be improved.

Michael Kilderry
Posts: 499
Joined: 11.10.2004
With us: 20 years 1 month
Location: London, UK

Post #3by Michael Kilderry » 02.02.2005, 09:34

Many of those planetary types are from the ArcBuilders website. The ones that I don't recognise sound interesting, such as Plutonian and Stevensonian.

What about putting the ability in Celestia for people to make up their own types of worlds? That way you could classify the truly bizarre.

Michael Kilderry :)
My shatters.net posting milestones:

First post - 11th October 2004
100th post - 11th November 2004
200th post - 23rd January 2005
300th post - 21st February 2005
400th post - 23rd July 2005

First addon: The Lera Solar System

- Michael

Brendan
Posts: 296
Joined: 15.07.2003
With us: 21 years 4 months
Location: Bellows Falls, VT
Contact:

Post #4by Brendan » 02.02.2005, 09:53

Michael Kilderry wrote:What about putting the ability in Celestia for people to make up their own types of worlds? That way you could classify the truly bizarre.


To make it that flexible, I guess I'd change it from using an enum to using strings.

jestr
Posts: 612
Joined: 14.09.2003
With us: 21 years 2 months
Location: Bridgwater,UK

Post #5by jestr » 02.02.2005, 10:20

How about a class 'location' or 'surface feature' for models of volcanoes or anything else.Jestr

Dollan
Posts: 1150
Joined: 18.12.2003
Age: 54
With us: 20 years 11 months
Location: Havre, Montana

Post #6by Dollan » 02.02.2005, 11:13

I should note that the classes listed are indeed from my ArcBuilder website. While I certainly do not mind their use, I would appreciate credit.

To speak towards Michael's observations, the Plutonian Types are actually somewhat outmoded, and the Stevensonian words are named after hypothetical rogue planets, postulated by the astronomer Stevenson (I forget his first name at this late hour), which are Earth-massed or greater and might harbor simple life forms through specific means.

For reference, the current working PCL is located at http://j.dollan.home.bresnan.net/ARCpclindex.html while the newest version, still very much under construction, is located here: http://j.dollan.home.bresnan.net/ARCPCLIndex4ed.html

And one final mention: this list of mine was created specifically for the ArcBuilder Universe setting, and is *fictional*. While I try to use real research and planetary theories when I construct this list, it is still a fictional compilation that probably really doesn't have a place in a program like Celestia, unless the installation is meant to be strictly for fictional add ons. As the good Evil Doctor could point out, this list still has a lot of problems, and there is still a lot of work ahead of it before I will consider it even remotely finished.....

...John...
"To make an apple pie from scratch, you must first create the universe..."
--Carl Sagan

Topic author
MKruer
Posts: 501
Joined: 18.09.2002
With us: 22 years 2 months

Post #7by MKruer » 02.02.2005, 20:07

I added credits to the location where I originally found the information. (What was before World builder?)

Anywho. Hope this clears everything up.

Dollan
Posts: 1150
Joined: 18.12.2003
Age: 54
With us: 20 years 11 months
Location: Havre, Montana

Post #8by Dollan » 02.02.2005, 20:16

MKruer wrote:I added credits to the location where I originally found the information. (What was before World builder?)

Anywho. Hope this clears everything up.


The info on here: http://vegastrike.sourceforge.net/users ... mation.doc is taken verbatim from a much older version of my PCL, which can now only be found here: http://web.archive.org/web/200102161718 ... /wb03.html This, the earliest version to appear online, dates back to the late 90's. Work on the PCL itself began on the old Nocturn.org World Building mailing list back in 1995. Alas, the archives died with that incarnation of the list.

Also, the other link you posted (not the one leading to the world document) does not work.

...John...
"To make an apple pie from scratch, you must first create the universe..."
--Carl Sagan

Evil Dr Ganymede
Posts: 1386
Joined: 06.06.2003
With us: 21 years 5 months

Re: More Detailed Planet/Object Class Information

Post #9by Evil Dr Ganymede » 02.02.2005, 20:48

MKruer wrote:I have been playing with Celestia on an off since the 1.1 days, one of the new features that was included 1.2.4 was the object Class. Currently this class is limited to five types. (Planet, Moon, Commit, Asteroid, Spacecraft)

I would like to extend this to include more types. These would replace Planet, Moon, Commit, Asteroid class with much more highly detailed classes.


Problem is, I can't see how using any of these classes would actually contribute anything useful to Celestia. Doesn't matter if a planet is vulcanian, gaian, or whatever - to Celestia it's still just a planet.

As I've pointed out to Dollan on the arcbuilders list, it's also a rather convoluted, specific way of classifying worlds - and it's based on a combination of things like age, volcanic activity, atmosphere type, surface temperature, and hydrographics, rather than just a single parameter out of that list. That makes it a lot harder to figure out what classification to use for a given planet, since there are so many things to consider.

maxim
Posts: 1036
Joined: 13.11.2003
With us: 21 years
Location: N?rnberg, Germany

Post #10by maxim » 02.02.2005, 23:46

I'm absolutely NOT convinced about such a feature beeing added to celestia as long as there is not reliable sientific background.

One may be however think about a 'user data' parameter (that is also displayed in topleft window corner) added to a ssc definition section - so that everyone can add additional information on his needs.

maxim

Dollan
Posts: 1150
Joined: 18.12.2003
Age: 54
With us: 20 years 11 months
Location: Havre, Montana

Post #11by Dollan » 02.02.2005, 23:53

maxim wrote:I'm absolutely NOT convinced about such a feature beeing added to celestia as long as there is not reliable sientific background.

Precisely. The PCL is meant to be fictional. I'm not at all convinced that, realistically, one could even classify planets except in the most general terms.

One may be however think about a 'user data' parameter (that is also displayed in topleft window corner) added to a ssc definition section - so that everyone can add additional information on his needs.

maxim


I've wondered about this. But what I'll likely end up doing for my ArcBuilder add-ons is simply adding the planet classification after the name... if I decide to add them at all.

...John...
"To make an apple pie from scratch, you must first create the universe..."
--Carl Sagan

Brendan
Posts: 296
Joined: 15.07.2003
With us: 21 years 4 months
Location: Bellows Falls, VT
Contact:

Post #12by Brendan » 03.02.2005, 10:57

I made an addition to BCelestia to allow a string given with ExtendedClassification to be displayed in the extra information display. For bodies that don't have ExtendedClassification, the defaults such as planet or moon are used. The file in the extras folder has one example, which is "Gaian Planet" for Earth. Now you can use whatever classification scheme you want.
It's here with the diff files, sources and a windows executable:
http://www.rit.edu/~bjr5096/celestia/BCelestia.html
I really should look into how to create dialog boxes so people could choose what to display in the information display and in what order.

Rassilon
Posts: 1887
Joined: 29.01.2002
With us: 22 years 10 months
Location: Altair

Post #13by Rassilon » 04.02.2005, 13:40

For planet classifications to really serve any purpose would require that they conform a planet to thier supposed description....eg: A Vulcan type world when added class "vulcan" would make the planet internally hot thus affecting the surface temprature...which Celestia ignores anyways....

A simpler classification of planets could however serve a purpose to reduce the size of a definition of the planet in the ssc file say:

Code: Select all


"Earth" "Sol"
{
   Texture "earth.*"
   NightTexture "earthnight.*"
   
   # SpecularTexture "earth-spec.*"
   Color [ 0.85 0.85 1.0 ]
   SpecularColor [ 0.5 0.5 0.55 ]
   SpecularPower 25.0
   HazeColor [ 1 1 1 ]
   HazeDensity 0.3
   Radius 6378.140  # equatorial
   # Oblateness 0.0034

   # BumpMap "earthbump.*"
   # BumpHeight 4.5

   Atmosphere {
      Height 60
      Lower [ 0.43 0.52 0.65 ]
      Upper [ 0.26 0.47 0.84 ]
      Sky [ 0.40 0.6 1.0 ]
      Sunset [ 1.0 0.6 0.2 ]
      # Sunset [ 0.3 1.0 0.5 ]
      CloudHeight 7
      CloudSpeed 65
      CloudMap "earth-clouds.*"
   }

   CustomOrbit "vsop87-earth"
   EllipticalOrbit {   
      Period            1.0000
      SemiMajorAxis     1.0000
      Eccentricity      0.0167
      Inclination       0.0001
      AscendingNode   348.739
      LongOfPericenter 102.947
           MeanLongitude   100.464
   }

   RotationPeriod   23.9344694 # 23.93419
   Obliquity        -23.45
   RotationOffset   280.5    # offset at default epoch J2000

   Albedo            0.30
}


could become

Code: Select all


"Earth" "Sol"
{
   Class "terrain"
   Texture "earth.*"
   NightTexture "earthnight.*"
   
   # SpecularTexture "earth-spec.*"
   Radius 6378.140  # equatorial
   # Oblateness 0.0034

   # BumpMap "earthbump.*"
   # BumpHeight 4.5

   Atmosphere {
      Height 60
      CloudHeight 7
      CloudSpeed 65
      CloudMap "earth-clouds.*"
   }

   CustomOrbit "vsop87-earth"
   EllipticalOrbit {   
      Period            1.0000
      SemiMajorAxis     1.0000
      Eccentricity      0.0167
      Inclination       0.0001
      AscendingNode   348.739
      LongOfPericenter 102.947
           MeanLongitude   100.464
   }

   RotationPeriod   23.9344694 # 23.93419
   Obliquity        -23.45
   RotationOffset   280.5    # offset at default epoch J2000

   Albedo            0.30
}


Affecting the default colorisation to point to Earth standard or the like...making it simple to define planets....You could even go so far as to make class definition files that set up these classifications with default values...That I could see as a useful tool....
I'm trying to teach the cavemen how to play scrabble, its uphill work. The only word they know is Uhh and they dont know how to spell it!

Topic author
MKruer
Posts: 501
Joined: 18.09.2002
With us: 22 years 2 months

Post #14by MKruer » 05.02.2005, 00:56

This is true. The biggest trick IMHO is not making the worlds, but rather finding out the proper world for the orbit.

Right now there is a missing gap between the star, and the planet. The easiest way that this manifest itself is look at start types, the ?€?habited zone?€

Dollan
Posts: 1150
Joined: 18.12.2003
Age: 54
With us: 20 years 11 months
Location: Havre, Montana

Post #15by Dollan » 05.02.2005, 03:09

I still don't see how this would affect worlds shown in Celestia. Most fictional add-on authors will either have their own ideas for what type of planet their creation might be, or they won't care about a classification scheme in the first place. And such a schema, whether based on my PCL or some other set of parameters, really doesn't have a place with real planets.

Don't get me wrong, this would be a very interesting project in regards to something separate from Celestia. But for the program itself, I just don't see how it would be practical, given the wide range of creations that people tend to make.

...John...
"To make an apple pie from scratch, you must first create the universe..."
--Carl Sagan

Sirius
Posts: 31
Joined: 03.04.2002
With us: 22 years 7 months
Location: Germany

Post #16by Sirius » 12.02.2005, 12:50

Introducing classes in SSC files is principally a good idea, yet I think this should be planned as expandable as possible. There exist two possibilities:
    Add the possibility to name Structures in arbitrary ssc-files and then reference them when needed
    Add "real" classes that are reflected in the source code (automatic object generation in the parser)

The latter option (perhaps using an alias table to make the internal class names invisible) would enable the radical simplification of the ssc parsing code and also add extendability. The ssc syntax itself wouldn't have to change very much, actually.

The SSC would then be be a generic and extendable "instance map" of classes.

This would also eliminate the need to modify the SSC parser each time you add for example a new Orbit (which I have done with a dynamic (numerically simulated) orbit).
Such a rewrite would also help in the development of substantial addons, as the parser wouldn't change constantly and new classes could just be linked in (perhaps even in runtime?) . As I have seen it you can add a new Orbit type with just one .o Object, but to use it you have to modify the parser.
I'll look into the matter myself this weekend, and perhaps I'll come up with something.
Any comments?

Greetings, Sirius


Return to “Development”