// Ken Perlin's original version of vector-valued fBm public static Vector3 Wrinkled(Vector3 point, double lacunarity, double H, double octaves) { Vector3 result = Vector3.Zero; float f = 1.0f; float s = 1.0f; for (int i = 0; i < octaves; i++) { Vector3 sPoint = f * point; Vector3 temp = Musgrave.VecNoise(sPoint); result += temp * (float)s; s *= (float)H; f *= (float)lacunarity; } return(result); }
public RidgedMultiFractal(double H, double lacunarity, double octaves, double offset, double gain) { musgrave = new Musgrave(H, lacunarity, octaves); this.offset = offset; this.gain = gain; }
public HeteroTerrain(double H, double lacunarity, double octaves, double offset) { musgrave = new Musgrave(H, lacunarity, octaves); this.offset = offset; }
public HybridMultifractal(double H, double lacunarity, double octaves, double offset) { musgrave = new Musgrave(H, lacunarity, octaves); this.offset = offset; }
public FractalBrownianMotion(double H, double lacunarity, double octaves) { musgrave = new Musgrave(H, lacunarity, octaves); }