1. ## Tectonic plate fakery

I just wanted to run my latest experiment past you all. This is just a vague overview of what i've done so far, not a tutorial or anything.

One of the problems with simple fractal heightfields is that you get all your mountains in the center of your continents, which leaves something to be desired -- while such mountain ranges do exist, you also tend to get coastal mountain ranges, and these are often overlooked by terrain generators.

So I decided to see if I could proceed from random "tectonic plate" boundaries and generate continental elevations in such a way that plate boundaries could end up being subduction zones, or mountain ranges, or whatever.

Caveat: I know nothing about geology.

The first thing to do, then, is come up with some random large squiggle-bordered areas on the sphere, just like Earth's plate boundaries. To this end, I opted for a Voronoi tessellation of the sphere, but I used turbulence to perturb the boundaries so that they'd look more natural.

Once the plate boundaries had been determined, I needed to decide which edges would be convergent (plates smashing together) or divergent (plates pulling apart). In real life there are also transform boundaries (plates grinding past each other), but... baby steps.

I simplified this step by having each plate either be expanding on all edges or contracting on all edges. Thus, where two expanding plates meet we have a convergent boundary, where two contracting plates meet we have a divergent boundary, and where an expanding plate meets a contracting plate I decided to model a subduction zone (one plate going under the other).

So in this model, the first type of boundary should have a predisposition toward mountains, the second to rifts, and the third to mountain ranges along coastlines (recall the original motivation).

My first draft therefore uses a base heighfield of 1/f noise (a summation of several octaves of Perlin noise) which is filtered by a map generated from the Voronoi cells with high values at the convergent boundaries and the centers of contracting plates, and low values at the divergent boundaries and centers of the expanding plates.

Here are some results so far (representing only one day of design, implementation, and testing, so very much a rough draft!). Horizontal and vertical pixel coordinates map directly to longitude and latitude so the images can be easily mapped onto a sphere. Plate boundaries are shown in gray. Feedback is not only welcome but hoped-for.

2. Looks good can't wait to see more.

3. The first and second ones seem to have turned out well...

4. This is great so far. Perhaps you'd be willing to write a bit of a tutorial when finished?

5. Those don't look bad at all! They certainly don't look like FT generated noise maps.

What are you developing in?

-Rob A>

6. These look very solid...probably cuz you put a lot of thought into it. That third one looks a lil iffy with how the continents are smashed right up against the plate boundaries but, then again, I'm no geologist either. Keep up the nice work.

7. Originally Posted by RobA
What are you developing in?
It's written in C and uses libnoise to perturb the plate boundaries and generate the base heightfield.

8. Originally Posted by Ascension
That third one looks a lil iffy with how the continents are smashed right up against the plate boundaries
Yeah, I'm not too sure about that one either. The west coasts of North and South America are on plate boundaries, but I think I need to work on the transition a bit more.

9. Paging doctor slayton! This would be a GREAT collaboration...but I may be speaking out of turn. Plate tectonics would be a GREAT way to base a world on...I'd like to see someone experiment with mathematics that factored in plate tectonics, wind currents and water currents in world generation. I think the math is probably possible.

10. Originally Posted by isomage
Yeah, I'm not too sure about that one either. The west coasts of North and South America are on plate boundaries, but I think I need to work on the transition a bit more.
Possibly running and exponential filter against it would flatten the coastal areas. Or some simple erosion model or slope limiting.

-Rob A>

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•