# Erosion fractals?

## Recommended Posts

razorjack    143
Hello I've found an amazing work of a russian programmer: http://dmytry.pandromeda.com/mojoworld/erosion_fractal/home.html He uses a technique which modificates a given heighmap by adding canyons. In other words, it looks cool ;) The author says that he uses a fractal based algorithm. The most interesting fact is, that this algorithm should work fast (I can't believe it). I know an algorithm based on a simulation of rolling particles. A fractal based erosion algorithm doesn't mean anything to me. Does anybody know something about this fractal based fast algorithm? I've tried to google after some papers without success. Thank's for the answers in advance.

##### Share on other sites
knowyourrole    254
You may want to check Dmytry's posts on gamedev regarding the said algorithm. They might give you a little info on how it works.

##### Share on other sites
razorjack    143
Thanks. I'll look at it.

##### Share on other sites
Guest Anonymous Poster
Its too bad there is no elaboration on the eroded terrain algorithm and that the majority (all?) of the post are unrelated to terrains. I have a feeling that we wont be filled in on the ideas until years from now. How sad *crys*. Any ideas on how hes doing it so well and apparently fast?

##### Share on other sites
Gagyi    192
I think you should ask him by e-mail.

##### Share on other sites
razorjack    143
I've asked him. I'm waiting for an answer.

Maybe this helps to get some ideas:

I'm not sure. For me, it seems that he often uses a recursive algorithm which works in the way "diamond square" does. I've looked at his pictures( http://dmytry.pandromeda.com/volumetrics/index.html ). They brought me some ideas:

- all these clouds: I think it could be done easily with a volumetric diamond square(or better octet) algorithm, which generates a point between 8 neighbour points per recursion. You would get a 3D density texture where you can simply subtract a constant value from each pixel and replace every "negative" pixel color with zero density. Even the 2D version of DS(Diamond square) looks cloudy enough.

- icy struktures: Having a mountain mesh, I would try to use this DS midpoint displacement on every face of this basical mesh. This squary surface structure is an unwanted artifact I've noticed in my implementation when I've used much recursion steps with a tiny displacement parameter or if the damp factor is too big.

- asteroids: It seems that he uses DS midpoint displacement with spheres surfaces along their normals. All the asteroids looks a little bit spherical at the picture.

- The mountains (without erosion/ without overhang): Trivial DS midpoint displacement having a damp factor to multiply it with the displacement parameter per recursion step.

- The mountains (without erosion/ with overhang): I'm a little bit sceptic of this: But maybe you can generate a heighmap with the methode above and then deform it as if it would be a 3D mesh. E. g. maybe the stratums could be made by squeezing the basical mountain at different elevations (I'll try this out).

--------------

Hydraulic erosion? My hypothese:

I'm using DS because it's a very useful algorithm to refine a given heighmap or texture (used in my planetary engine). Dmytry said that his algorithm is able to zoom in (See http://dmytry.pandromeda.com/mojoworld/erosion_fractal/home.html). It could be possible that it is another implementation of DS which would work logically fast. Atm. I've no real idea how to run a simulation recursively. Maybe he gives an illusion of simulation. For me his "core"-idea with faraway and near contexts(see dmytry's post) would be a typical way DS funtions.
I've tried to implement a DS algorithm which simulates material flowing: For each recursion step I'm transfering mater between neighbour pixels. The result was that the terrain got smoother.

Maybe I can achieve some interesting results by repeating this process...
Anyway I'll report it if I've got something.

## Create an account or sign in to comment

You need to be a member in order to leave a comment

## Create an account

Sign up for a new account in our community. It's easy!

Register a new account