Page 1 of 1
More Detailed Planet/Object Class Information
Posted: 02.02.2005, 07:27
by MKruer
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
Posted: 02.02.2005, 09:15
by Brendan
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.
Posted: 02.02.2005, 09:34
by Michael Kilderry
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
Posted: 02.02.2005, 09:53
by Brendan
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.
Posted: 02.02.2005, 10:20
by jestr
How about a class 'location' or 'surface feature' for models of volcanoes or anything else.Jestr
Posted: 02.02.2005, 11:13
by Dollan
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...
Posted: 02.02.2005, 20:07
by MKruer
I added credits to the location where I originally found the information. (What was before World builder?)
Anywho. Hope this clears everything up.
Posted: 02.02.2005, 20:16
by Dollan
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...
Re: More Detailed Planet/Object Class Information
Posted: 02.02.2005, 20:48
by Evil Dr Ganymede
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.
Posted: 02.02.2005, 23:46
by maxim
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
Posted: 02.02.2005, 23:53
by Dollan
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...
Posted: 03.02.2005, 10:57
by Brendan
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.
Posted: 04.02.2005, 13:40
by Rassilon
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....
Posted: 05.02.2005, 00:56
by MKruer
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?€
Posted: 05.02.2005, 03:09
by Dollan
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...
Posted: 12.02.2005, 12:50
by Sirius
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