Page 1 of 4

Planet Builder 1.0

Posted: 08.11.2002, 23:40
by Rassilon
Ok I want to know from the comunity what features should be included in this software and help me out a bit maybe with how to go about doing it...well if its too complicated that is ;)...

I am thinking mainly of something that the user can enter star name and number of planets to begin...then will generate a template randomly or can be edited step by step...I will add as many of the variables I am aware of in the ssc files but would like to know if there are some Im unaware of...Im sure there are some...

It will also give a graphical representation of the planets as thier plotted inc warnings according to Kepler and Roche ;)...Most of my data will be surfacing from this site: http://www.dausha.net/sciences/orbits.shtml

So let me know what you want to see...and suggestions/opinions are welcome of course...

Posted: 09.11.2002, 03:36
by Don. Edwards
Go for it Rass. It will making systems a heck of a lot easier.

Posted: 09.11.2002, 04:24
by selden
Rass',

If you haven't already, you might want to take a look at StarGen. Since its author has been thinking about such things for about 30 years, it might have some useful ideas ;)

http://users.rcn.com/brons/NerdCorner/StarGen/StarGen.html

and then there's StarForm at
http://www.irony.com/StarForm.html

Posted: 09.11.2002, 04:57
by Rassilon
Thanx Selden...those will help greatly...I know Marc did one a bit back...more of a random generator though...Mine will be both random and editor...

Heres my progress on the star cluster generator...not quite what I want hehe

Image

What I need is a more spherical method applied...Anyone got some formulas I could translate to VB?? regular trig, geometry or C++ is acceptable ;)

Posted: 09.11.2002, 08:36
by HankR
Rassilon,

Have you considered using Java?

- Hank

Posted: 09.11.2002, 22:32
by Rassilon
Not really...Im getting there in VB...Heres the code thus far that generates the cluster...

Code: Select all

Private Sub cmdStar_Click()
    Dim i As Integer
    Dim r, e, d As Double
    Dim s As String * 1
    starValue = Val(starText.Text)
    If starValue < 1 Or starValue > 1000000 Then Exit Sub
    If Val(hipText.Text) < 300001 Or Val(hipText.Text) > 9999999 Then Exit Sub
    starScript = ""
    radiusValue = Val(radText.Text)
    prgReport.Max = starValue + 1
    For i = 1 To starValue
        Randomize Timer
        r = Rnd(1)
        e = Rnd(1)
        d = Rnd(1)
        r = r - Rnd(1)
        e = e - Rnd(1)
        d = d - Rnd(1)
        r = r / (100 + (starValue - i))
        e = e / (100 + (starValue - i))
        d = d / (100 + (starValue - i))
        r = r * (radiusValue)
        e = e * (radiusValue / (Val(distText.Text) / 3000))
        d = d * (radiusValue * radiusValue)
        d = d * (Val(distText.Text) / 16000)
        raValue = Val(raText.Text) + r
        decValue = Val(decText.Text) + e
        distValue = Val(distText.Text) + d
        specType = Int(13 * Rnd(1))
        If specType = 0 Then s = "O"
        If specType = 1 Then s = "B"
        If specType = 2 Then s = "A"
        If specType = 3 Then s = "F"
        If specType = 4 Then s = "G"
        If specType = 5 Then s = "K"
        If specType = 6 Then s = "M"
        If specType = 7 Then s = "R"
        If specType = 8 Then s = "S"
        If specType = 9 Then s = "N"
        If specType = 10 Then s = "WC"
        If specType = 11 Then s = "WN"
        If specType >= 12 Then s = "Q"
        prgReport.Value = i
       
        starScript = starScript & "# HIP " & (Val(hipText.Text) + i - 1)
        starScript = starScript & Chr$(13) & (Val(hipText.Text) + i - 1) & " {"
        starScript = starScript & Chr$(13) & Chr$(9) & "RA  " & Format$(raValue, "0.0000")
        starScript = starScript & Chr$(13) & Chr$(9) & "Dec  " & Format$(decValue, "0.0000")
        starScript = starScript & Chr$(13) & Chr$(9) & "Distance  " & Format$(distValue, "0.0000")
        starScript = starScript & Chr$(13) & Chr$(9) & "SpectralType " & Chr$(34) & s & "5V" & Chr$(34)
        starScript = starScript & Chr$(13) & Chr$(9) & "AppMag " & Format$(20 - (Sqr(radiusValue)), "0.00")
        starScript = starScript & Chr$(13) & "}" & Chr$(13)
    Next i
    cmdExit.Visible = True
    starData.Text = starScript
    Open "c:\Program Files\Celestia\extras" & clusterLabel.Text & ".stc" For Output As #1
    Print #1, starData.Text
    Close #1
End Sub


Im still working out a more accurate way to have the cluster more spherical vs distance...hehe the funny thing is im using the clipping limit as a divisor...coincedence?

Lemme know if any of you find a better way...

Heres a pic of the finished NGC 107 cluster using this procedure...
Image

Image

Posted: 10.11.2002, 02:01
by marc
That looks really cool ras.
Are you planning on modifying the selection of the spectral type? For instance F,G and K class stars are more common.

Im thinking something like this.

Code: Select all

specType = Rnd(100) 'zero to one hundred
               
If specType < 1 Then s = "O"     '1%  abundence
Else If specType < 40 Then s = "K"     '39%
Else If specType < 75 Then s = "G"     '35%
Else if specType < 100 Then s = "M"     '25%
End If


The abundance proportions would have to be researched and decided on of course. :wink:

Hank mentioned Java, It would be better than VB as then everyone with linux boxes can have a play with your program too.

As far as ease of programming goes, Ive used both and unless your using VB.NET I think you'd be better off with Java for the system generator.
Actually the .NET runtime framework is huge and a pain for people to aquire so forget i mentioned that. The JRE is only a few Meg in comparison.
I can help you get started if your interested in trying Java.

Posted: 10.11.2002, 03:36
by Rassilon
I might end up converting it to java at one point...just dont have it installed currently...

Yes I was thinking of something of that nature in global clusters...I am also employing a random planetary system generator...but not sure the percent chance of finding a system inside a global is...probably quite low I suspect...

Posted: 10.11.2002, 05:13
by Rassilon
Whats the formula for finding the radius of a star using distance and apparent magnitude as coded in Celestia?

or the general law as applied in physics...

Posted: 10.11.2002, 06:24
by erostosthenes
Rassilon wrote:Whats the formula for finding the radius of a star using distance and apparent magnitude as coded in Celestia?

or the general law as applied in physics...



Stellar radii are guessed at from their spectral class, not their apparent / absolute magnitude.

As far as the distribution of spectral types in globular clusters, you might want to do some research into what's called the Initial Mass Function or IMF. Usually it's something like the abundance of a spectral class is proportional to M^(-2.5) i think.

Posted: 11.11.2002, 10:26
by Rassilon
Ahh ok I figured out something that works so far...now I am wondering whats the best method for figuring out planet rotation?

Anyways heres an update...So far the generator will do the following:
* add a black hole to the center
* add pulsars using the model I did for psr1257+12
*add planets of varying shapes and sizes
* add companion stars and substellar objects
* add asteroids

All of which is optional...You can choose to add just the star cluster if you like...

Heres a few shots of the results...

Image

Image

Image

The last one is breathtaking...I could only imagine what it would be like with a landscape...Think I will model a few landscape planets to boot :mrgreen:

I am hoping this will be ready to download by tomorrow but I keep thinking of new options too add lol

Posted: 11.11.2002, 11:59
by selden
Well, planets with a high rotational speed , especially gas giants, will be slightly oblate.

Planets close to the sun may tend to be tidally locked in one way or another. (not necessarily one face toward the sun, but maybe some integral multiple or submultiple of their orbital period.)

In globular clusters, which are quite old, outer planets will have been stripped away by close encounters with other stars, so large systems will be rare.

Celestia needs to be able to mdel free planets and brown dwarf stars. Both have been detected by their infrared signatures in the Triangulum Nebula in Orion.

I hope these ideas help a little.

Posted: 11.11.2002, 12:39
by Stargazer_2098
8O

Very good work! 8O 8) :D


Stargazer.

Posted: 11.11.2002, 18:01
by Rassilon
Thanx Stargazer...I think when you try this out you will notice a resemblence to Noctis a bit ;)

selden wrote:Well, planets with a high rotational speed , especially gas giants, will be slightly oblate.

Planets close to the sun may tend to be tidally locked in one way or another. (not necessarily one face toward the sun, but maybe some integral multiple or submultiple of their orbital period.)

In globular clusters, which are quite old, outer planets will have been stripped away by close encounters with other stars, so large systems will be rare.

Celestia needs to be able to mdel free planets and brown dwarf stars. Both have been detected by their infrared signatures in the Triangulum Nebula in Orion.

I hope these ideas help a little.


Oblateness is a no-no in Celestia when making Gas Giants...atmospheres do not oblate well...so those you will have to pretend thier oblate lol...I will however look into the other factors more...There are some generated systems with 16 or more planets...I will end up having those more on the outskirt stars than in the core stars...I figure using the plotted distance vs relative distance of each star should give me a factor to work with...wont be too difficult to implement...

As far as Celestia modeling random planets...I suppose chris is leaving that up to us ;) but your right there should be more in Celestia...

Posted: 11.11.2002, 23:32
by selden
Ras',

Putting the larger systems in the outer areas sounds reasonable. Since globular clusters were formed at about the same time as the galaxy, the stars with eccentric orbits will have travelled through tne high density regions often. It seems likely that only a few planetary systems that happen to have nearly circular orbits near the outer fringes will have survived.

I wasn't trying to suggest that Celestia should generate random planets itself (or random stars, for that matter), but rather that it should let them be defined in .stc files or the equivalent. Apparently the ones they've found in Triangulum are about 8 times the mass of Jupiter and larger.

I guess what I'd like to see is the definitions of "stars" be made more general and that more specific details be allowed in their definitions in .stc files (like radial velocites and proper motions, to pick a feature at random ;) )

Posted: 12.11.2002, 01:43
by erostosthenes
selden wrote:
Putting the larger systems in the outer areas sounds reasonable. Since globular clusters were formed at about the same time as the galaxy, the stars with eccentric orbits will have travelled through tne high density regions often. It seems likely that only a few planetary systems that happen to have nearly circular orbits near the outer fringes will have survived.



normally i wouldn't argue, but this isn't quite correct. clusters formed long before the galaxy, and none of the stars in a cluster have circular orbits. clusters are generally 'hot' systems. that is, there is a high level of velocity dispersion. because there are so many stars in a cluster, no stable orbits can be attained.

Posted: 12.11.2002, 02:25
by selden
I wouldn't call this arguing, rather pointing out where some of my long held asumptions may have fallen flat on tender parts of their anatomies :)

I was under the impression that the stars in globular clusters were classed as Population II stars, the same as are in the halo and the central regions of our galaxy, with comparable (very low) metallicity levels and thus comparable ages.

Population I stars like our sun are "second generation". In contrast to the Pop II stars, they have relatively high metallicity levels due to the heavy elements supplied by Pop II supernovas. The "generous" supply of heavy elements in the regions where they formed implies that Pop I stars are much more likely to have planets than Pop II stars.

I recently came across a paper mentioning that some white dwarf halo stars had been found with even lower metallicity (like none at all) than is observed in Pop II stars, hence predating them. They were somewhat jokingly being called Population III stars.

Ras' has been having so much fun generating planetary systems for his globular clusters that I really didn't want to burst his bubble. It's easy to rationalize things when we're having fun :) Open galactic clusters similar to the Hyades would be a much better venue for planetary systems, I think. I've been rashly assuming that the globular cluster generation and planetary system generation could be treated as separate options. e.g. when generating glob.clusters, set probability of planets to a very tiny value or 0.

So far as the chaotic motion of globular cluster stars is concerned, I certainly can't argue with that. About all one can predict is that the central condensation will increase while as a side effect other stars effectively get ejected, possibly leading to central black holes as Ras' already has allowed for.

Posted: 12.11.2002, 02:50
by Rassilon
Nah no bubble busting...I already know planetary systems are rare if not impossible in global clusters...Thats why I implemented the option to load planets and also once planets are generated there will be hardly any if not none at all in the mist of the cluster...There is also a % chance of planets occuring option in the generator that is user editable...This generator is geared to create or will in the near future vast seas of stars of all sorts of venues...Once the day comes that chris implements stars possible outside our galaxy this will be the tool to use to fill galaxies with matter ;)

Posted: 12.11.2002, 07:39
by erostosthenes
selden wrote:I was under the impression that the stars in globular clusters were classed as Population II stars, the same as are in the halo and the central regions of our galaxy, with comparable (very low) metallicity levels and thus comparable ages.


yeh this is precisely what i was getting at, the stars in clusters are very old pop II stars, much older than the stars in the disk and bulge of the galaxy, or the bar for that matter :wink: . the halo is an all-together different subject and right now, its dynamics and origins can only be speculated at. the age of clusters alone would suggest they must be hot systems - otherwise they would've long ago collapsed into supermassive blackholes. moreover, it's been directly observed that they do in fact have extremely high velocity dispersions like elliptical galaxies, and are essentially triaxial, dynamically hot systems.

i can't remember who, but there is a team working on calculating the proper motions of millions of stars in the disk, and assuming their motions become more dynamic over their lifetime (due mainly to scattering off of heavy gas clouds) they hope to reconstruct the individual clusters that each star came from before it was integrated into the disk.

Posted: 12.11.2002, 17:27
by Rassilon
Well theres still one little thing holding me back from releasing this is the fact that I cannot seem to produce a cluster at a perfect spherical shape...Its still coming out very oblate like the first examples above...even more so the further out you plot it...so when having right ascention declination and distance in ly makes it almost impossible to come up with an even number between the three...so I come once again to you to ask if theres is some way of figuring this out to be perfectly geometrical...I am thinking no...

Besides I want it perfect otherwise I will get a slew of 'this is not spherical enough comments'...I think I may not release this as a global cluster generator but as a open cluster generator of sorts in the coming days...dunno...I wish I had Borlands builder as I absolutely hate VC and VB's not far behind...Basic is too limited sometimes and it seems I do better with C hmm suppose I could use Borlands 3.1 but imagine trying to compile a cluster in DOS of 10k stars hehe I think a retarded man once said 'No one will ever need more than 640k of memory'...