Reference frames

Discussion forum for Celestia developers; topics may only be started by members of the developers group, but anyone can post replies.
Malenfant
Posts: 1412
Joined: 24.08.2005
With us: 19 years 1 month

Post #41by Malenfant » 10.11.2006, 00:59

It's still a darn sight more complicated than what we're doing now though. Will there be a 'dumb orbit' option whereby we don't have to enter all the extra stuff? If we don't include the frame definitiosn etc, does it default to anything or will it just not rendered at all?

And what is we're trying to do a fictional planet around another star? What reference or Epoch are we supposed to use? Before, we could just define its elliptical orbit and leave it at that - but with this new code we also have to puzzle about reference frames, custom orbits, and epochs. I just don't think it should be required for everything.

Basically, I don't mind all this if it's optional. If it's required for everything now though, it's a major pain.
My Celestia page: Spica system, planetary magnitudes script, updated demo.cel, Quad system

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 8 months
Location: Seattle, Washington, USA

Post #42by chris » 10.11.2006, 01:54

Malenfant wrote:It's still a darn sight more complicated than what we're doing now though. Will there be a 'dumb orbit' option whereby we don't have to enter all the extra stuff? If we don't include the frame definitiosn etc, does it default to anything or will it just not rendered at all?

And what is we're trying to do a fictional planet around another star? What reference or Epoch are we supposed to use? Before, we could just define its elliptical orbit and leave it at that - but with this new code we also have to puzzle about reference frames, custom orbits, and epochs. I just don't think it should be required for everything.

Basically, I don't mind all this if it's optional. If it's required for everything now though, it's a major pain.


It's all optional. All of the systems that you've created to date will work just as before in 1.5.0.

I should also have made it clear exactly what was different in my barycentric Pluto definition. The CustomOrbit has always been there in Pluto definition in solarsys.ssc. I defined the object "Pluto-Charon" an an object of type Center--this is really just the same as making an object of class invisible, but it's a little bit easier to understand.

The other difference is this:

Code: Select all

OrbitFrame
{
        EclipticJ2000 { Center "Sol/Pluto-Charon" }
}


I could instead just make Pluto a child object of Pluto-Charon, but that has the disadvantages I listed in my last post.

So, for comparison, here's the old way of doing things. You can see that there's not much difference:

Code: Select all

"Pluto-Charon" "Sol"
{
    Class "invisible"
    CustomOrbit "pluto"
}

"Pluto" "Sol/Pluto-Charon"
{
    EllipticalOrbit
    {
        ...
    }
}


Again, the above definition will still work in 1.4.1, but I use the new form in 1.5.0 because I don't want to change the full name of Pluto from Sol/Pluto to Sol/Pluto-Charon/Pluto and break a bunch of scripts.

--Chris

Avatar
Cham M
Posts: 4324
Joined: 14.01.2004
Age: 60
With us: 20 years 8 months
Location: Montreal

Post #43by Cham » 10.11.2006, 02:22

I'm pretty sure there's a simpler way of doing all this. I don't see what, yet, and I'll think about it. We should be able to find a way to define parameters in the same style as the nice old easy way, something like this :

Code: Select all

Function1
{
       parameters
}

Function2
{
       parameters
}

etc...


without introducing more {} inside each functions, like this :

Code: Select all

Function1
{
   function1B
    {
           parameters
     }
}

Function2
{
   function2B
    {
            function2C
            {
             parameters
             }
     }
}



this is becoming pretty insane !
"Well! I've often seen a cat without a grin", thought Alice; "but a grin without a cat! It's the most curious thing I ever saw in all my life!"

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

Post #44by t00fri » 10.11.2006, 19:49

Frames and the transformations between them are part of my daily professional "bread and butter", except my frames are way more complex than the frames Celestia is concerned with ;-) .

It's great to see Chris work with so much energy on this important issue....yet, had some experts like myself been consulted BEFORE the coding took place, most probably, we would have JOINTLY arrived at a more convincing viz transparent implementation...

Since usually, Chris communicates AFTER he has written the code, I lost active interest in the frame issue already quite some time ago. ;-)

Cheers,
Fridger
Image

Malenfant
Posts: 1412
Joined: 24.08.2005
With us: 19 years 1 month

Post #45by Malenfant » 10.11.2006, 20:08

t00fri wrote:Since usually, Chris communicates AFTER he has written the code, I lost active interest in the frame issue already quite some time ago. ;-)


Since you know so much about it then, why not offer some useful input to help instead of sitting on the sidelines? It doesn't matter when Chris discusses things with people, I can't imagine him turning down any assistance or input.
My Celestia page: Spica system, planetary magnitudes script, updated demo.cel, Quad system

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

Post #46by t00fri » 10.11.2006, 20:24

Malenfant wrote:
t00fri wrote:Since usually, Chris communicates AFTER he has written the code, I lost active interest in the frame issue already quite some time ago. ;-)

Since you know so much about it then, why not offer some useful input to help instead of sitting on the sidelines? It doesn't matter when Chris discusses things with people, I can't imagine him turning down any assistance or input.


Well,

one reason is certainly that I am insainly busy & travelling etc these days. You surely noticed my extended absence from the forum.

Since Chris seems to prefer this way of development to what I consider 'teamwork among experts', it is fine with me, given my other stringent boundary conditions...
Image

Topic author
chris
Site Admin
Posts: 4211
Joined: 28.01.2002
With us: 22 years 8 months
Location: Seattle, Washington, USA

Post #47by chris » 10.11.2006, 21:51

t00fri wrote:Since Chris seems to prefer this way of development to what I consider 'teamwork among experts', it is fine with me, given my other stringent boundary conditions...


The whole point of this thread was to encourage teamwork in the development of the frames feature. I would welcome your comments, suggestions, and code--I'd assumed that your silence was due to lack of interest. If you'd prefer to handle it on the dev list, that's fine, but I also think that this forum topic is important for Celestia add-on creators. Even though code has already been written, the implementation can change if there's a better way to do things.

--Chris

ajtribick
Developer
Posts: 1855
Joined: 11.08.2003
With us: 21 years 1 month

Post #48by ajtribick » 14.12.2006, 00:06

From the point of view of adding binary stars and other such objects (e.g. exoplanets for which inclinations are known), it would be handy to have a skyplane (as viewed from Earth) reference frame available.

buggs_moran
Posts: 835
Joined: 27.09.2004
With us: 20 years
Location: Massachusetts, USA

Post #49by buggs_moran » 02.02.2007, 00:09

I know I am probably not reading all this through like I should be, but when I use FixedPosition [ 1821.6 X Y], what are X and Y measured in. I know they aren't Long and Lat, but how do I define an object's position on a moon using this? 1821.6 is the moon's radius, and I know what long and lat I need...
-----------------------------------------------------------------------
Edit: Okay, now I understand that I have to convert to XYZ from lat long info. I am using...

x = (radius)cos(lat)cos(lon)
y = (radius)cos(lat)sin(lon)
z = (radius)sin(lat)

but I come up short of the location I am shooting for by a couple hundred kilometers...
-----------------------------------------------------------------------
Edit: DUH, radians...

All set.
Homebrew:
WinXP Pro SP2
Asus A7N8X-E Deluxe
AMD Athlon XP 3000/333 2.16 GHz
1 GB Crucial RAM
80 GB WD SATA drive
ATI AIW 9600XT 128M


Return to “Ideas & News”