Ok, so I made the globe data structure object oriented, re-wrote the plate/tectonic code (I still need to tweak some of the equations), and turned it into a shape that should wrap relatively well onto a globe with a mollweide projection.
I still need to adjust the erosion calcs for the new map shape.
evile eagle, thanks for the encouragement!
waldronate, thanks, that should be enough info to write/read MDR files from my program.
Subscribing to this thread, as this is something I've been tempted to try my hand at as well occasionally. I look forward to seeing what you come up with!
I made the program able to display the map as a more standard plate-carree view in addition to the 2/1 oval. Here is the same globe displayed both ways.
I have it exporting the heightmap in an MDR file now. I have to think about some scaling issues before I let it import MDR files too.
Hi JosMetadi (and hi to the full Guild community too, since this is my first post) :)
your work is really interesting.
From the last images is clearly visible where the plates collisions are placed. Could you please explain a bit the algorithm you are using?
Thanks and keep up the good work!
I start with a modified worley generator combined with a fractal factor applied to the radius to determine the shapes of the continents. Each continent is then given a random vector and an average height. By comparing the difference in the vectors for the two nearest continents, the fault line between them is given a type:
Convergent (they are moving towards each other), in which case the side of the continent with the lower height is assumed to be sliding underneath, and so a trench is created on that side, and a mountain range on the other side of the fault.
Divergent (they are moving away from each other), in which case it creates mountain ridges on both sides of the fault, but doesn't thrust up the base of the ranges as much.
Transform (they are moving along each other), right now I don't know have it doing anything for this type, but I obviously need to come up with some idea of how to do some offset displacements to simulate this kind of fault .(http://upload.wikimedia.org/wikipedi...ault-1.svg.png)
Other (they are moving in the same direction), in which case it doesn't do anything with the fault as there should be miminal tectonic forces.
Each fault has other random factors applying to it's height, ridge formations and offsets. The goal of these is create some of the linear mountain range and ridge shapes that you don't get out of regular fractal generators.
Question: When you have a Convergent fault, and it is land/sea, the sea is shoved down, making it a trench/mountain range scenario, like the Rockies and the Andes. But when two landmasses collide, don't both get pushed upward, in a Himalaya scenario (and the Appalachians, long long ago)? And I'm not sure what happens when two sea plates collide.
You're probably right as far as realism goes. I could turn off the trenching if both continents heights are above sea level, but that sea level is likely to change later in the generation process. Right now I'm generating all the tectonics first and letting sea level be adjusted later (after the diamond square fractals have been applied) since even a small change in sea level can have significant impact on the overall appearance of the world.
Given the fluctuation of sea levels during ice ages (which are frequent on a geologic timescale), I wonder how much sea level actually drives the formation of the subduction trenches.
I have to point out that I know next to nothing at programming, so my idea here could be to difficult/impossible/ not practical to implement but i know a bit of geology/geomorphology so...
Master TMO has a point: convergent boundaries have different "effects" depending on the type of plates colliding. Do you think it's possible to implement 2 different types of surface in your model? If you consider continental crust (mainly emerged and "light") and oceanic crust (mainly submerged and "heavier", that is more dense) you could probably solve the problem. If oceanic crust collides with continental, oceanic goes down, it creates a trench and continental goes up (Andes style). If continental collides with continental, they crush and go up (Himalaya style). Two oceanic colliding is, as far as I know, not present on Earth but in that case it would be similar to continental to continental I think.
Another question: how do you implement the continental drift? By moving plates themselves on the surface or by applying a vector to the points on a plate, leaving the boundaries more or less stable?
Converging oceanic produces subduction and a trench as with oceanic-continental, the corresponding volcanic arc tends to form a chain of islands. There's a lot of it in the western Pacific: Japan, the Philippines, the Marianas, the Aleutians, etc. The first two are complicated by involving triple junctions rather than just simple faults.
Originally Posted by Erior