PDA

View Full Version : WIP - Tectonic Plate building



Master TMO
08-07-2011, 12:20 PM
Redirected from the thread http://www.cartographersguild.com/showthread.php?15393-How-Do-I-Convert-a-list-of-Lat-Long-X-Y-coordinates-into-points-in-an-image, since it's no longer dealing with that issue.

I am building a tool to build realistic tectonic plate boundaries. My plan is to take these boundaries into a flat world in Fractal Terrains and use them to build more realistic continents than a fractal algorithm is capable of.

However, I am no geology expert, and would like to get some feedback on if these boundaries do look believable, or if there is something on them that looks alright to the uneducated like me, but leaps out as a glaring error to the knowledgeable.

Attached are the 2 of the 3 test runs I have available. The algorithms have varied slightly between each of them. #2 has got some round edges that I am working on getting rid of. #3 has some additional errors in it that I need to take care of, so I'm just dropping it from the thread.

Thanks in advance for any feedback or advice.

3760537606

Master TMO
08-08-2011, 11:46 AM
Been working on fixing the issues, although, as usual, every fix seems to add another bug (or two). Here is a screenshot from the middle of the current run. The boundaries look nice and complex, but I'm wondering if they're too complex. The last 2 runs crashed by overflowing my integer variable. While I can fix that easily by changing it to a Long, I'm not sure if that's actually a fix, or just a cosmetic cover-up of an underlying problem that still needs patching.

We shall have wait to see the final fate of this run.

37632

moutarde
08-08-2011, 12:35 PM
They seem to look alright. I'm no expert on tectonics, but from what I do know of them, your plates seem plausible. I guess the complexity of the boundaries depends on how much exactly you want to do with them.

Master TMO
08-08-2011, 01:18 PM
I mostly plan on using them as selection boundaries in Photoshop to create a faux-height map. Using the directions of the plates to see where the overlaps are, define a selection file to import into FT, then use that selection as the fractal multiplier. Do I know it's going to work? Not a clue in the world. :D In theory, it sounds as if it should work. In theory, I might even be able to create that height map selection file programmatically through Excel, although that is probably pushing things a bit far. (At least for now. Gotta get the basics working first, then I can look at the advanced stuff.)

I do see at least one thing that I don't think is really fixable without committing a lot of self-awareness and processor-time to it that would multiply how long this file takes to create: it's only partially visible on the last map above, but you can see a small plate that looks as if it is going to be enveloped by a larger plate from the west. I was hoping the plate to the SW would expand up to meet it, but that's not happening. The small plate is almost completely surrounded now. And there's not a whole lot I can do about that, even though I'm pretty sure it's not really a valid tectonic formation... unless...

... would it be believable as an Icelandic plate forming in the middle of the Atlantic plate? I shall have to look at the tectonics around Iceland later tonight, see if it's a new plate, or just a very tall part of the Atlantic.

Just as an explanation of how it happened, growth is completely random, and plates that have fast growth tend to keep growing faster, until they start to get choked off by running into other plates. There isn't any sort of weighting to keep the plates similarly sized, as that isn't what I wanted. The Earth is made up of many different sized plates, some huge, some tiny. I don't expect to see this sort of envelopment often (in fact, this is the first time I've ever seen it), but it's not covered in the rules anywhere, so it could happen again. Of course, we could also just try to come up with oddball explanations for it: that's where a major asteroid or moon impacted; that's the site of a supervolcanic eruption, etc. :D

cantab
08-08-2011, 01:18 PM
I'd say mostly they're a bit too irregular. Plate boundaries are a model, and in reality the boundary has finite width.

There are three types of plate boundary, and they all look different on a map.

Ridges have the most distinctive shape. They comprise a series of ridge segment aligned in one direction, offset by transforms at right-angles. Most of the offsets are small, but you get some really big ones. You can see that clearly in this map of the Mid-Atlantic Ridge: http://cimss.ssec.wisc.edu/sage/geology/lesson2/images/concepts_fig15.gif

Subduction zones where one ocean subducts under another often have a curved shape, with the subducting plate on the outside of the curve. The Aleutian subduction zone is a good example. Where an oceanic plate subducts under a continent the subduction zone will follow the general shape of the continental margin. Not all subduction zones have ocean trenches - if the ocean floor is young then it's less dense and doesn't sink to form a trench, and if there's lots of sediment coming off a continent that will fill in the trench.

Strike-slip faults are usually pretty straight, though they can have some elongated S bends. On Earth, excluding the ocean ridge transforms they're relatively rare. The San Andreas is the well-known example, there's also the North Anatolian Fault in Turkey.

All this applies mostly to oceans. Within continents there can be deformation over large areas and plate models may not apply.

The problem for creative mapping then is that you can't determine the shape of plate boundaries properly without also considering their motion. Then there are constraints on that motion. In particular, there are some stringent constraints on the orientation of the boundaries and the motion of the plates at triple junctions (where three plates meet).

I'm working on a tectonic world myself, and it is rather difficult. Simply picking random motions has left me with a large number of transform faults - while I can handwave that issue away since it's not Earth, it's still a bit annoying. The bigger problem is I have loads of impossible triple junctions. (But I'm going with it anyway, rather than start over.)

(A sidenote about your plate centroids - if you create latitudes and longitudes at random, you don't get a uniform distribution over the planet, since 1x1 is a much smaller area near the poles that at the equator. This probably doesn't really matter, but bear it in mind.)

EDIT: Ah, I see you do have directions.

You can get small plates surrounded by multiple others, but not a plate as an enclave of just one other.

Iceland is a thickened part of the Mid-Atlantic Ridge. The plate boundary runs through it.

Master TMO
08-08-2011, 01:31 PM
(A sidenote about your plate centroids - if you create latitudes and longitudes at random, you don't get a uniform distribution over the planet, since 1x1 is a much smaller area near the poles that at the equator. This probably doesn't really matter, but bear it in mind.)

I'm working in spherical coordinates - 1 degree at the pole is exactly the same as 1 degree at the equator. That's why the poles *tend* to be one single plate each, the distance covered is rather small compared to at the equator. I have had versions that had 2 plates meet at or near a pole though.

It might be interesting to see if our two methods are combinable. You seem to have a more accurate math model for the plate boundaries, and I have the coordinate math.

cantab
08-08-2011, 03:39 PM
Well I haven't been generating the boundaries. I used the spherical Voronoi approach to get a general arrangement of plates, then drew the boundaries in by hand.

Master TMO
08-08-2011, 05:39 PM
Well, where's the fun in that? ;) Manual Labor??? O_O FIE UPON THEE, Manual Labor!!

I'm one of the weird ones. I'm willing to put lots of time and effort into teaching my computer to do all my manual labor for me. :D

I'll take your notes and see if I can think of a way of adapting them into a random generator. No guarantees of success, of course. I think I understand your rules for the 3 types fairly well. Can you point me to a resource that defines the rules on the 3-plate intersections, or other constraints upon plate motion?

I will keep working on the current algorithms as well, as a second-best method. The map overflowed again, although it's definitely because of a bug I need to fix. It started interspersing circles from two plates amongst each other. It was very nearly finished with the world, too.

Master TMO
08-08-2011, 10:09 PM
I doubt you need it, Cantab, but I took the tectonic plates image off Wikipedia and wrapped it around a globe to get a relatively undistorted of each of the plates. I've loaded them into an album here: http://www.cartographersguild.com/album.php?albumid=3038.

It's not even close to perfect, as whoever made that image didn't do a very good job balancing it around the edges. South of the equator is smaller than north, the plates don't line up at the 180/-180 line, and I'm pretty sure the North American plate doesn't take a 30 degree turn at the North Pole. :D

But it gives a decent view of each plate with less distortion than an equidistant projection. If anyone has a more accurate map of the plates, I can do this same exercise again pretty easily.

cantab
08-08-2011, 10:46 PM
It is instructive actually, especially since I have trouble putting stuff on globes myself. (Google Earth glitches on my system.) The issues with the North Pole are because the Wikipedia map is a Mercator projection and doesn't show the polar regions at all. (Note how Greenland is cut off on the map).

My own planet has plate boundaries running almost straight over both poles. That's given me some projection challenges.

Hmmm, maybe I should post my own plates. I was going to wait until I had the DEM for the oceans.

Master TMO
08-08-2011, 11:11 PM
I can easily wrap your map on a globe for you, if it would help at all.

Hai-Etlik
08-09-2011, 01:26 AM
Well I haven't been generating the boundaries. I used the spherical Voronoi approach to get a general arrangement of plates, then drew the boundaries in by hand.

Interesting, I did a bit of work on a Spherical Voronoi generator for this sort of thing at one point but never got it to work right.

Master TMO
08-09-2011, 09:56 AM
I think I can build a spreadsheet that randomly places centroids, and then finds the points of intersection, even weighting them so that it's not necessarily equidistant. Note that that doesn't mean draw the plate boundaries from intersection to intersection though, although that's something we could work on adding once the start and end points of each boundary is.

Master TMO
08-15-2011, 10:13 AM
I think I have it so that it finds the weighted centroids for each triplet of plate origins, although the weighting formula may need tweaking. I couldn't quite handle the spherical trigonometry to the point of solving the equations into a nice, neat formula, so it starts with a reasonable guess and iterates across the map seeking the centerpoint. This method does pose the possibility that it will find a localized low spot rather than the actual centerpoint, but until I become a lot more competent at spherical trig, it's the best I can do. I do have a BS in Math, but I haven't ever had to use it much since I graduated, and even if we did cover spherical trig in a college course, I've never touched it since, and it's all been forgotten.

The next bit I need to do is teach it to draw the weighted boundary line between two of these centroids, and then how to pick out the boundaries to use to make the plates.

I am making it harder on myself though- the plate definition is a pair of points rather than a single one. I'm using an oval as the concept, rather than a circle.

Master TMO
08-16-2011, 04:34 PM
Still working slowly on figuring out the best process to draw these boundaries. Today I wrote the code for finding the weighted midway point between any 2 plate cores, and filtering out those that shouldn't be drawn because they are too far away or another plate is between them.

Now all I have to do is figure out how which Voronoi centroids to connect with which midpoints. I don't think that will be too difficult, once I add the filtering code to the Voronoi centroids so that I know which ones should be used and which should be thrown away. I currently can't do that because I was filling in all the Voronoi centroids, even for plates on opposite sides of the planet. The filter should make it easy. (I hope)

Master TMO
08-16-2011, 10:52 PM
Here is a partially-completed version. The midway and centroid pts are scaled by the weights, but the lines themselves are not yet. But, it does show the algorithms are roughly correct. Wheeee!!!

37853

Master TMO
08-21-2011, 02:30 AM
Some tangible progress at last. I used Excel charts to build the general algorithms, but they reached their practical limit before I finished, so I've started down the ImageMagick path. It took a few days, but I finally figured out how to send commands to ImageMagick to create an image file. Unfortunately the direct connection method from VBA didn't work, so I have my macros exporting to a text file that ImageMagick can process and turn into an image.

I need to work on the algorithms a bit more, now that I can actually see some output from the work. So keep an eye on this thread for more details in the next couple of weeks.

Master TMO
08-21-2011, 09:19 AM
Here is an output from the process. Only 6 continental plates this time, because one of the changes I need to make is some intelligence on the random placement of plate cores. It is quite happy to have overlapping plate cores, which causes all kinds of havoc with the map formulas. :) Being done in Excel VBA it does take a while to create a large map, doing it one pixel at a time, but what the hey.

As you can see, there are still some weird looking stuff in it, definitely not realistic continental plate shaped. That's okay for now. That's just that the math concept that's been solely in my head until now still needs some tweaking, and the lack of any rules on plate core placement. Hopefully some tweaking here and there can resolve those.

37935

The brown, btw, indicates a 'lower density' plate that would have a continent on it. Mind you, I hadn't quite envisioned a plate ever being quite that shape... ;) I think those will disappear with more plates being thrown into the mix.

gilgamec
08-22-2011, 11:05 AM
I think I can build a spreadsheet that randomly places centroids, and then finds the points of intersection, even weighting them so that it's not necessarily equidistant. Note that that doesn't mean draw the plate boundaries from intersection to intersection though, although that's something we could work on adding once the start and end points of each boundary is.
Interesting, I did a bit of work on a Spherical Voronoi generator for this sort of thing at one point but never got it to work right.I've also fiddled with tectonic plates in true spherical geometry. While I could never get the physics for plate collision to work right, I got the plate assignment working fine. I used stripack (http://people.sc.fsu.edu/%7Ejburkardt/f_src/stripack/stripack.html), a library for calculating Voronoi cells on a sphere; it's in FORTRAN, but if you're not quite up to that, the page links to other projects which do the same thing in Matlab and C++. If that still doesn't work, let me know, and I'll look at dredging up some of my old code into a command-line version.
Good luck!