toxi.sim.erosion
Class TalusAngleErosion
java.lang.Object
toxi.sim.erosion.ErosionFunction
toxi.sim.erosion.TalusAngleErosion
public class TalusAngleErosion
- extends ErosionFunction
For each neighbour it's computed the difference between the processed cell
and the neighbour:
d[i] = h - h[i];
the maximum positive difference is stored in d_max, and the sum of all the
positive differences that are bigger than T (this numer is n), the talus
angle, is stored in d_tot.
Now it's possible to update all the n cells (where d[i] is bigger than T)
using this formula:
h[i] = h[i] + c * (d_max - T) * (d[i] / d_tot);
and the main cell with this other formula:
h = h - (d_max - (n * d_max * T / d_tot));
The Talus angle T is a threshold that determines which slopes are affected by
the erosion, instead the c constant determines how much material is eroded.
Method Summary |
void |
erodeAt(int x,
int y)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TalusAngleErosion
public TalusAngleErosion(float theta,
float amount)
- Parameters:
theta
- talus angleamount
- material transport amount
erodeAt
public void erodeAt(int x,
int y)
- Specified by:
erodeAt
in class ErosionFunction