public void Math_Interp_SCurve5_Somewhere_Test_2() { double v = 0.9; double expected = 0.99144; Assert.AreEqual(expected, Math.Round(NoiseMath.SCurve5(v), 6)); }
public void Math_Interp_SCurve5_Somewhere_Test_1() { double v = 0.333; double expected = 0.209383; Assert.AreEqual(expected, Math.Round(NoiseMath.SCurve5(v), 6)); }
public void Math_Interp_SCurve5_Middle_Test() { double v = 0.5; double expected = 0.5; Assert.AreEqual(expected, NoiseMath.SCurve5(v)); }
public void Math_Interp_SCurve5_Upper_Test() { double v = 1; double expected = 1; Assert.AreEqual(expected, NoiseMath.SCurve5(v)); }
internal static double GradientCoherentNoise(double x, double y, double z, int seed, NoiseQuality noiseQuality) { int x0 = (x > 0.0 ? (int)x : (int)x - 1); int x1 = x0 + 1; int y0 = (y > 0.0 ? (int)y : (int)y - 1); int y1 = y0 + 1; int z0 = (z > 0.0 ? (int)z : (int)z - 1); int z1 = z0 + 1; double xs = 0, ys = 0, zs = 0; switch (noiseQuality) { case NoiseQuality.Low: xs = (x - x0); ys = (y - y0); zs = (z - z0); break; case NoiseQuality.Standard: xs = NoiseMath.SCurve3(x - x0); ys = NoiseMath.SCurve3(y - y0); zs = NoiseMath.SCurve3(z - z0); break; case NoiseQuality.High: xs = NoiseMath.SCurve5(x - x0); ys = NoiseMath.SCurve5(y - y0); zs = NoiseMath.SCurve5(z - z0); break; } double n0 = GradientNoise(x, y, z, x0, y0, z0, seed); double n1 = GradientNoise(x, y, z, x1, y0, z0, seed); double ix0 = NoiseMath.LinearInterpolate(n0, n1, xs); n0 = GradientNoise(x, y, z, x0, y1, z0, seed); n1 = GradientNoise(x, y, z, x1, y1, z0, seed); double ix1 = NoiseMath.LinearInterpolate(n0, n1, xs); double iy0 = NoiseMath.LinearInterpolate(ix0, ix1, ys); n0 = GradientNoise(x, y, z, x0, y0, z1, seed); n1 = GradientNoise(x, y, z, x1, y0, z1, seed); ix0 = NoiseMath.LinearInterpolate(n0, n1, xs); n0 = GradientNoise(x, y, z, x0, y1, z1, seed); n1 = GradientNoise(x, y, z, x1, y1, z1, seed); ix1 = NoiseMath.LinearInterpolate(n0, n1, xs); double iy1 = NoiseMath.LinearInterpolate(ix0, ix1, ys); return(NoiseMath.LinearInterpolate(iy0, iy1, zs)); }
public void SCurve5Test(double a, double expected) { Assert.Equal(expected, NoiseMath.SCurve5(a), 6); }