Continental-drift animations?

Post requests, images, descriptions and reports about work in progress here.
Topic author
lpetrich
Posts: 5
Joined: 10.08.2006
With us: 18 years 3 months

Continental-drift animations?

Post #1by lpetrich » 10.08.2006, 20:32

I wonder if it might be possible to implement something to display this in Celestia. This could be done by loading paleo-continent map textures and stepping through them.

Chris Scotese's site has several such maps, even if not in the most Celestia-friendly form (the larger ones use the Mollweide projection).

But such a display would likely require some way of getting user input for stepping through those textures.

scaddenp
Posts: 55
Joined: 07.08.2003
With us: 21 years 3 months
Location: Dunedin, New Zealand

Post #2by scaddenp » 10.08.2006, 21:52

Well being a geologist, I am interested, but many problems. I wonder whether celestia really is best platform for this or whether you want purpose built. A good one would need to be able to update against recognised plate databases (eg PLATES).
Celestia would have to do this a texture-swapping exercise. So do you
take snapshot textures from some reconstructions and morph them to
produce to your moving sequence? We have done this but you end up with
motions that are obviously wrong to experience eye unless you have a lot
of snapshots. There are very good programs for moving the plates continuously in time from database data. However, these show you the
plate boundaries and current coastlines, but hardly a texture of the planet
as it would like at a past time. What is missing is a texture-creator added
into the motion program that interpolates a texture from a database of
known constraints. Now that sounds a fun project but not one I have time
for. Building a the database of constraint data would be a major international
projec too.

Topic author
lpetrich
Posts: 5
Joined: 10.08.2006
With us: 18 years 3 months

Post #3by lpetrich » 11.08.2006, 01:27

I will concede that a plates-database approach would be inappropriate for Celestia; it would be off on a tangent relative to what Celestia is typically used for.

And even a texture-animation approach seems like it might not get much interest here.

Perhaps Xplanet might be a more suitable project to work from.

But I myself have done work on a globe viewer for continental-drift duty, one that works by texture swapping; I had not known about the PLATES database when I wrote it.

I had written it in Java, using Java 3D, hough perhaps I can write a version using the Simple DirectMedia Layer.

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

Post #4by chris » 11.08.2006, 01:35

lpetrich wrote:I will concede that a plates-database approach would be inappropriate for Celestia; it would be off on a tangent relative to what Celestia is typically used for.

And even a texture-animation approach seems like it might not get much interest here.


Celestia does permit you to define alternate surfaces for a planet. The user can select which one to display via the right-click context menu on Windows (I think it's ctrl+click on a Mac with a one button mouse.) You can see examples of the alternate surfaces in the default solarsys.ssc that comes with Celestia--they're used to implement the 'limit of knowledge' feature.

There has been interest in texture animation in Celestia. Don Edwards has created a set of twelve seasonal textures for the Earth, one for each month; it would be great if Celestia could be configured to automatically pick the appropriate texture based on the time. It wouldn't be that hard add this to Celestia, but we'd have to come up with a good way to specify it via ssc files.

--Chris

scaddenp
Posts: 55
Joined: 07.08.2003
With us: 21 years 3 months
Location: Dunedin, New Zealand

Post #5by scaddenp » 11.08.2006, 02:15

The 3D viewing really is the easy bit - many many systems out there to
build on. I've done them in opengl before.
The hard bit is the texture creation. If you have app that creates the texture
for some time t then you are 99% there. Hell, I'd put the texture on the globe
for you! hacking it into celetra wouldnt be too bad. Worldwind does
scenarios.

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

Post #6by buggs_moran » 11.08.2006, 02:53

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

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 18 years 11 months

Post #7by Chuft-Captain » 11.08.2006, 05:31

chris wrote:...it would be great if Celestia could be configured to automatically pick the appropriate texture based on the time. It wouldn't be that hard add this to Celestia, but we'd have to come up with a good way to specify it via ssc files.

Chris,
I assume, from what you're saying above, that Begin/End dates cannot be applied to textures? Is that the case?
I have found a way to animate models by changing it's position in an SSC using Beginning and Ending dates. See my Orion docking at Space Station V download.

I'm wondering why the same technique could not be applied to textures. (Of course, even if it could, I guess there'd still be performance issues related to loading all the multiple textures into memory.

What I'm proposing is using the same technique to create multiple versions of Earth, for example, with each successive version beginning at the Ending date of the previous one, but with a different texture for each one.

(I'm not saying it's an elegant or good solution, but it does work for Orion).
Clear as mud??? If not, have a look at the Orion download. As far as I can see, there's no reason that I could not have used a new texture on each iteration of the Orion model (although I didn't).

Of course, if a sequence of frames could be generated within the C++ code, instead of the SSC, this would be far more elegant.
Also worth consideration, if you're thinking about generic solutions for animation of models and/or textures, is how the creation of cyclic or repeating events would be implemented. I think there's been a few requests in the past for this sort of capability. (I think from buggs_moran in particular)

Regards
CC
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

bdm
Posts: 461
Joined: 22.07.2005
With us: 19 years 4 months
Location: Australia

Post #8by bdm » 11.08.2006, 06:14

chris wrote:There has been interest in texture animation in Celestia. Don Edwards has created a set of twelve seasonal textures for the Earth, one for each month; it would be great if Celestia could be configured to automatically pick the appropriate texture based on the time. It wouldn't be that hard add this to Celestia, but we'd have to come up with a good way to specify it via ssc files.

--Chris

What needs to be specified in the SSC file, and what limitations of the SSC file format will impede the addition of this? I've made a quick stab at a likely format, but this will probably need more work.

Code: Select all

TextureLoop
{
    Repeat true/false # whether textures repeat in sequence or not
    Epoch 999999 # Julian date of start of cycle
    CycleLength 999999 or one of the keywords "day"or "year"
    TextureElement
    {
        Length 999999 # fraction of cycle
        Texture   "filename"
    }
    TextureElement
    {
        Length 999999 # fraction of cycle
        Texture   "filename"
    }
    # Additional definitions for texture elements repeat
    # as needed. When textures run out, they cycle again
    # from the beginning if repeat is enabled.
    # Length of time to display each texture (in days)
    # equals the length divided by the sum of all lengths,
    # multiplied by the cycle length.
    # The keywords for cycle length are "day" (mean
    # *solar* day) or "year" (period as defined by Period
    # in orbital elements, which may be the VSOP year.)
    # Other keywords may be needed. Providing
    # keywords allows access to the VSOP parameters
    # which otherwise cannot be accessed easily in an
    # SSC definition.
    # If repeat is turned off, Celestia displays the first
    # texture in the sequence if the current time is less
    # than the start Epoch; if the current time is after
    # the Epoch plus the cycle length then Celestia
    # displays the last texture in the sequence.
}

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

Post #9by buggs_moran » 11.08.2006, 11:39

Chuft-Captain wrote:...Also worth consideration, if you're thinking about generic solutions for animation of models and/or textures, is how the creation of cyclic or repeating events would be implemented. I think there's been a few requests in the past for this sort of capability. (I think from buggs_moran in particular)


Yup, but I don't want to sound too much like a broken record. What I have in mind would change the whole object, not just the texture. Changing just the texture would be nice for the paleo drift animations and maybe solar prominences, but I thing you need the ability to have the models change too, hence integration into the ssc.

It would have to be similar to Beginning and Ending, but would have some cyclical definition. For instance a daily occurance on Earth for one year every day at GMT mignight.

Code: Select all

Beginning "2006 01 01 12:00:00"
Cycle 86400 # in seconds, so every 24 hours (I know that's not exact)
Ending "2006 12 31 12:00:00" # perhaps the ability to set no ending?


Obviously the designer would have to do multiple definitions to get an animation together, but then it's an animation...

For instance with my cataclysmic binary work, I would have to design a series of events as if I were going to do 1 loop of animation (which I am doing right now). By just adding in the cycle command, it could loop indefinitely...

Oh yeah, while I am thinking of it Chris, how about the same Beginning and Ending (and cycling, thinking mass importation of variable stars) for STC files. :)
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

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 18 years 11 months

Post #10by Chuft-Captain » 11.08.2006, 14:26

buggs_moran wrote:What I have in mind would change the whole object, not just the texture. Changing just the texture would be nice for the paleo drift animations and maybe solar prominences, but I thing you need the ability to have the models change too, hence integration into the ssc.

It would have to be similar to Beginning and Ending, but would have some cyclical definition. For instance a daily occurance on Earth for one year every day at GMT mignight.

Don't get me wrong, I'm also all for a general solution for repeatable behaviour, models, textures, pulsars or whatever. (Not just textures)
Hence use of the word "generic" in previous post.

I'm thinking along the lines of allowing "variablity" to be specified on any appropriate SSC or STC attribute.

In terms of how this would be exposed in an SSC for example, I'm thinking that the values of object attributes for which this is enabled could perhaps be specified as variables, formulae, or even as a pseudo C++ style looping syntax.
If done properly, this could allow great creative freedom, by allowing animation or other time-dependent variability to be "programmed" separately for multiple attributes of the object within the SSC.
The key to it is allowing SSC attributes to be specified as variables rather than constants.
Of course, TNSTAAFL -- this would complicate the parsing of the SSC/STC files.

eg.
An object could perhaps increase it's SemiMajorAxis (or even derive it from a formula), while simultaneously slowly decreasing it's RotationRate, and morphing some of it's textures.

I'm thinking this could be used for anything from simulated spacecraft flight, to texture animations of continental drift as suggested in this post.
(The limits would be your imagination and programming ability)

lpetrich, this type of enhancement (even if possible) is unlikely to happen overnight, so I suggest you investigate adapting my TRAVELLING ORION technique to your purposes. (-- Instead of modifying SemiMajorAxis as I have, you would change the name of the texture file, for each iteration. The smoother the animation required, the more iterations you will need.
It's maybe worth a try IMO.

CC
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

DonAVP
Posts: 109
Joined: 01.12.2005
With us: 18 years 11 months
Location: SF BayArea

Post #11by DonAVP » 11.08.2006, 21:42

8O The other question would be on what time scale you would display this movement of the landmasses? If you speed up Celestia as fast as it can go I think the land would move very slowly. Am I correct about the millions or hundreds of millions of years these things take? That would be a lot of images if you were doing it that way.

I own Ligthwave and have the latest version. They have made it possible to create a camera that will generate a spherical or cylindrical image. I can then create the landmasses and move them over a sphere and record images that could be mapped onto the sphere as has been discussed.

I would need info and data on what moves were mind you. Imaging the seasonal changes would be easy as well because most surfacing effects can be enveloped to change with time (like snow appearing and melting on mountains) etc.


Don
Don't know anything

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #12by selden » 11.08.2006, 22:04

Once you've got enough surface textures, a script can be used to cause Celestia display them at an appropriate speed.
Selden

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 18 years 11 months

Post #13by Chuft-Captain » 13.08.2006, 09:46

See my Continental Drift DEMO here: http://celestiaproject.net/forum/viewtopic.php?p=75057#75057

enjoy!
CC
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

scaddenp
Posts: 55
Joined: 07.08.2003
With us: 21 years 3 months
Location: Dunedin, New Zealand

Post #14by scaddenp » 13.08.2006, 21:33

[quote="DonAVP"]
I own Ligthwave and have the latest version. They have made it possible to create a camera that will generate a spherical or cylindrical image. I can then create the landmasses and move them over a sphere and record images that could be mapped onto the sphere as has been discussed.
Don[/quote]

Doing this properly is quite difficult. plate motion is described in terms of rates of rotations about poles of rotation. The poles of rotation move with time as well. You also have to deal with new plates, merging and vanishing
plates.

I guess it comes down to what you are trying to do. An educational view of main features is straight forward enough - examples out there as people have pointed out. If wanting to do microplates and use the most accurate data available, then the motions can be done by various pieces of dedicated software. The trick then is what to actually display as texture. A geologist is usually interested in present day coastline (for orientation) and geological maps. Hardly the "view from space". A user of celestia I suspect would want to know what the planet would look like from space in past time and thus needs the data for starters on where was land and where was sea for starters. This is a massive database issue and what exists at the moment is very coarse grained in both time and space. What I have seen of where and when mountains might exist is even worse.

While you could do morphing for intermediate steps, data-derived frames for timestep of 1my would be tough and very tough beyond 100my or so.

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 18 years 11 months

Post #15by Chuft-Captain » 14.08.2006, 10:10



I downloaded the Paleo Earth addon and Speculars from Maxim's site ( http://www.nefkom.net/z-bau/celestia/ ) above, with no problems.

However, when I tried to download the Normals file "Paleo Earth Normals.zip" it was corrupted. (It's stated as being ~4mb but only downloaded as 1.2mb. I suspect last upload of it was interrupted leaving a partial file. (Same problem at his mirror site: http://celestia.ziegelstein.net/ )

Maxim, would you pls investigate ... or if someone else has a complete version of this ZIP, perhaps you could post it here.

Thanks
CC
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS

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

Post #16by maxim » 18.08.2006, 20:05

It has been fixed.
Get my stuff from celestia.ziegelstein.net

Avatar
Chuft-Captain
Posts: 1779
Joined: 18.12.2005
With us: 18 years 11 months

Post #17by Chuft-Captain » 19.08.2006, 05:00

Thanks Maxim. Will try again.
"Is a planetary surface the right place for an expanding technological civilization?"
-- Gerard K. O'Neill (1969)

CATALOG SYNTAX HIGHLIGHTING TOOLS LAGRANGE POINTS


Return to “Add-on development”