public static double Jordan(double x, double y, int octaves, double frequency, double amplitude, double lacunarity, double gain, double warp, double damp, double damp_scale) { double num; double num1; x *= frequency; y *= frequency; double num2 = 0; double num3 = 1; double num4 = 1; double num5 = 0; double num6 = 0; double num7 = 0; double num8 = 0; double dampScale = num3 * gain; for (int i = 0; i < octaves; i++) { double num9 = ManagedNoise.Simplex2D(x * num4 + num5, y * num4 + num6, out num, out num1); double num10 = num9 * num9; double num11 = num * num9; double num12 = num1 * num9; num2 = num2 + dampScale * num10; num5 = num5 + warp * num11; num6 = num6 + warp * num12; num7 = num7 + damp * num11; num8 = num8 + damp * num12; num4 *= lacunarity; num3 *= gain; dampScale = num3 * (1 - damp_scale / (1 + (num7 * num7 + num8 * num8))); } return(num2 * amplitude); }
public static double Simplex1D(double x) { double num = 0; int num1 = ManagedNoise.Floor(x); int num2 = num1; double num3 = x - (double)num2; double num4 = 1 - num3 * num3; if (num4 > 0) { double num5 = num4 * (num4 * num4); int num6 = ManagedNoise.hash[num2 & 255] & 1; double num7 = ManagedNoise.gradients1D[num6] * num3; num = num + num7 * num5; } int num8 = num1 + 1; double num9 = x - (double)num8; double num10 = 1 - num9 * num9; if (num10 > 0) { double num11 = num10 * (num10 * num10); int num12 = ManagedNoise.hash[num8 & 255] & 1; double num13 = ManagedNoise.gradients1D[num12] * num9; num = num + num13 * num11; } return(num * 2.40740740740741); }
public static double Simplex1D(double x) { double num1 = 0.0; int num2; int num3 = num2 = ManagedNoise.Floor(x); double num4 = x - (double)num3; double num5 = 1.0 - num4 * num4; if (num5 > 0.0) { double num6 = num5 * num5; double num7 = num5 * num6; int index = ManagedNoise.hash[num3 & (int)byte.MaxValue] & 1; double num8 = ManagedNoise.gradients1D[index] * num4; num1 += num8 * num7; } int num9 = num2 + 1; double num10 = x - (double)num9; double num11 = 1.0 - num10 * num10; if (num11 > 0.0) { double num6 = num11 * num11; double num7 = num11 * num6; int index = ManagedNoise.hash[num9 & (int)byte.MaxValue] & 1; double num8 = ManagedNoise.gradients1D[index] * num10; num1 += num8 * num7; } return(num1 * (65.0 / 27.0)); }
public static double RidgeIQ( double x, double y, int octaves, double frequency, double amplitude, double lacunarity, double gain) { x *= frequency; y *= frequency; double num1 = 0.0; double num2 = 1.0; double num3 = 1.0; double num4 = 0.0; double num5 = 0.0; for (int index = 0; index < octaves; ++index) { double dx; double dy; double x1 = ManagedNoise.Simplex2D(x * num2, y * num2, out dx, out dy); num4 += dx; num5 += dy; num1 += num3 * (1.0 - ManagedNoise.Abs(x1)) / (1.0 + (num4 * num4 + num5 * num5)); num2 *= lacunarity; num3 *= gain; } return(num1 * amplitude); }
public static double SharpWarp( double x, double y, int octaves, double frequency, double amplitude, double lacunarity, double gain, double warp) { x *= frequency; y *= frequency; double x1 = 0.0; double num1 = 1.0; double num2 = 1.0; double num3 = 0.0; double num4 = 0.0; for (int index = 0; index < octaves; ++index) { double dx; double dy; double num5 = ManagedNoise.Simplex2D((x + warp * num3) * num1, (y + warp * num4) * num1, out dx, out dy); x1 += num2 * (num5 * num5); num3 += num2 * dx * -num5; num4 += num2 * dy * -num5; num1 *= lacunarity; num2 *= gain * ManagedNoise.Saturate(x1); } return(x1 * amplitude); }
public static double Turbulence(double x, double y, int octaves, double frequency, double amplitude, double lacunarity, double gain) { x *= frequency; y *= frequency; double num = 0; double num1 = 1; double num2 = 1; for (int i = 0; i < octaves; i++) { double num3 = ManagedNoise.Simplex2D(x * num1, y * num1); num = num + num2 * num3; num1 *= lacunarity; num2 *= gain; } return(num * amplitude); }
public static double Jordan( double x, double y, int octaves, double frequency, double amplitude, double lacunarity, double gain, double warp, double damp, double damp_scale) { x *= frequency; y *= frequency; double num1 = 0.0; double num2 = 1.0; double num3 = 1.0; double num4 = 0.0; double num5 = 0.0; double num6 = 0.0; double num7 = 0.0; double num8 = num2 * gain; for (int index = 0; index < octaves; ++index) { double dx; double dy; double num9 = ManagedNoise.Simplex2D(x * num3 + num4, y * num3 + num5, out dx, out dy); double num10 = num9 * num9; double num11 = dx * num9; double num12 = dy * num9; num1 += num8 * num10; num4 += warp * num11; num5 += warp * num12; num6 += damp * num11; num7 += damp * num12; num3 *= lacunarity; num2 *= gain; num8 = num2 * (1.0 - damp_scale / (1.0 + (num6 * num6 + num7 * num7))); } return(num1 * amplitude); }
public static double Simplex1D(double x, out double dx) { double num = 0; dx = 0; int num1 = ManagedNoise.Floor(x); int num2 = num1; double num3 = x - (double)num2; double num4 = 1 - num3 * num3; if (num4 > 0) { double num5 = num4 * num4; double num6 = num4 * num5; int num7 = ManagedNoise.hash[num2 & 255] & 1; double num8 = ManagedNoise.gradients1D[num7]; double num9 = num8 * num3; double num10 = num9 * 6 * num5; dx = dx + (num8 * num6 - num10 * num3); num = num + num9 * num6; } int num11 = num1 + 1; double num12 = x - (double)num11; double num13 = 1 - num12 * num12; if (num13 > 0) { double num14 = num13 * num13; double num15 = num13 * num14; int num16 = ManagedNoise.hash[num11 & 255] & 1; double num17 = ManagedNoise.gradients1D[num16]; double num18 = num17 * num12; double num19 = num18 * 6 * num14; dx = dx + (num17 * num15 - num19 * num12); num = num + num18 * num15; } return(num * 2.40740740740741); }
public static double Simplex1D(double x, out double dx) { double num1 = 0.0; dx = 0.0; int num2; int num3 = num2 = ManagedNoise.Floor(x); double num4 = x - (double)num3; double num5 = 1.0 - num4 * num4; if (num5 > 0.0) { double num6 = num5 * num5; double num7 = num5 * num6; int index = ManagedNoise.hash[num3 & (int)byte.MaxValue] & 1; double num8 = ManagedNoise.gradients1D[index]; double num9 = num8 * num4; double num10 = num9 * 6.0 * num6; dx += num8 * num7 - num10 * num4; num1 += num9 * num7; } int num11 = num2 + 1; double num12 = x - (double)num11; double num13 = 1.0 - num12 * num12; if (num13 > 0.0) { double num6 = num13 * num13; double num7 = num13 * num6; int index = ManagedNoise.hash[num11 & (int)byte.MaxValue] & 1; double num8 = ManagedNoise.gradients1D[index]; double num9 = num8 * num12; double num10 = num9 * 6.0 * num6; dx += num8 * num7 - num10 * num12; num1 += num9 * num7; } return(num1 * (65.0 / 27.0)); }
public static double BillowWarp(double x, double y, int octaves, double frequency, double amplitude, double lacunarity, double gain, double warp) { double num; double num1; x *= frequency; y *= frequency; double num2 = 0; double num3 = 1; double num4 = 1; double num5 = 0; double num6 = 0; for (int i = 0; i < octaves; i++) { double num7 = ManagedNoise.Simplex2D((x + warp * num5) * num3, (y + warp * num6) * num3, out num, out num1); num2 = num2 + num4 * ManagedNoise.Abs(num7); num5 = num5 + num4 * num * -num7; num6 = num6 + num4 * num1 * -num7; num3 *= lacunarity; num4 = num4 * (gain * ManagedNoise.Saturate(num2)); } return(num2 * amplitude); }
public static double BillowIQ(double x, double y, int octaves, double frequency, double amplitude, double lacunarity, double gain) { double num; double num1; x *= frequency; y *= frequency; double num2 = 0; double num3 = 1; double num4 = 1; double num5 = 0; double num6 = 0; for (int i = 0; i < octaves; i++) { double num7 = ManagedNoise.Simplex2D(x * num3, y * num3, out num, out num1); num5 += num; num6 += num1; num2 = num2 + num4 * ManagedNoise.Abs(num7) / (1 + (num5 * num5 + num6 * num6)); num3 *= lacunarity; num4 *= gain; } return(num2 * amplitude); }
public static double Sharp( double x, double y, int octaves, double frequency, double amplitude, double lacunarity, double gain) { x *= frequency; y *= frequency; double num1 = 0.0; double num2 = 1.0; double num3 = 1.0; for (int index = 0; index < octaves; ++index) { double num4 = ManagedNoise.Simplex2D(x * num2, y * num2); num1 += num3 * (num4 * num4); num2 *= lacunarity; num3 *= gain; } return(num1 * amplitude); }
public static double Simplex2D(double x, double y, out double dx, out double dy) { double num = 0; dx = 0; dy = 0; double num1 = (x + y) * 0.366025403784439; double num2 = x + num1; double num3 = y + num1; int num4 = ManagedNoise.Floor(num2); int num5 = ManagedNoise.Floor(num3); int num6 = num4; int num7 = num5; double num8 = (double)(num6 + num7) * 0.211324865405187; double num9 = x - (double)num6 + num8; double num10 = y - (double)num7 + num8; double num11 = 0.5 - num9 * num9 - num10 * num10; if (num11 > 0) { double num12 = num11 * num11; double num13 = num11 * num12; int num14 = ManagedNoise.hash[ManagedNoise.hash[num6 & 255] + num7 & 255] & 7; double num15 = ManagedNoise.gradients2Dx[num14]; double num16 = ManagedNoise.gradients2Dy[num14]; double num17 = num15 * num9 + num16 * num10; double num18 = num17 * 6 * num12; dx = dx + (num15 * num13 - num18 * num9); dy = dy + (num16 * num13 - num18 * num10); num = num + num17 * num13; } int num19 = num4 + 1; int num20 = num5 + 1; double num21 = (double)(num19 + num20) * 0.211324865405187; double num22 = x - (double)num19 + num21; double num23 = y - (double)num20 + num21; double num24 = 0.5 - num22 * num22 - num23 * num23; if (num24 > 0) { double num25 = num24 * num24; double num26 = num24 * num25; int num27 = ManagedNoise.hash[ManagedNoise.hash[num19 & 255] + num20 & 255] & 7; double num28 = ManagedNoise.gradients2Dx[num27]; double num29 = ManagedNoise.gradients2Dy[num27]; double num30 = num28 * num22 + num29 * num23; double num31 = num30 * 6 * num25; dx = dx + (num28 * num26 - num31 * num22); dy = dy + (num29 * num26 - num31 * num23); num = num + num30 * num26; } if (num2 - (double)num4 < num3 - (double)num5) { int num32 = num4; int num33 = num5 + 1; double num34 = (double)(num32 + num33) * 0.211324865405187; double num35 = x - (double)num32 + num34; double num36 = y - (double)num33 + num34; double num37 = 0.5 - num35 * num35 - num36 * num36; if (num37 > 0) { double num38 = num37 * num37; double num39 = num37 * num38; int num40 = ManagedNoise.hash[ManagedNoise.hash[num32 & 255] + num33 & 255] & 7; double num41 = ManagedNoise.gradients2Dx[num40]; double num42 = ManagedNoise.gradients2Dy[num40]; double num43 = num41 * num35 + num42 * num36; double num44 = num43 * 6 * num38; dx = dx + (num41 * num39 - num44 * num35); dy = dy + (num42 * num39 - num44 * num36); num = num + num43 * num39; } } else { int num45 = num4 + 1; int num46 = num5; double num47 = (double)(num45 + num46) * 0.211324865405187; double num48 = x - (double)num45 + num47; double num49 = y - (double)num46 + num47; double num50 = 0.5 - num48 * num48 - num49 * num49; if (num50 > 0) { double num51 = num50 * num50; double num52 = num50 * num51; int num53 = ManagedNoise.hash[ManagedNoise.hash[num45 & 255] + num46 & 255] & 7; double num54 = ManagedNoise.gradients2Dx[num53]; double num55 = ManagedNoise.gradients2Dy[num53]; double num56 = num54 * num48 + num55 * num49; double num57 = num56 * 6 * num51; dx = dx + (num54 * num52 - num57 * num48); dy = dy + (num55 * num52 - num57 * num49); num = num + num56 * num52; } } dx *= 4; dy *= 4; return(num * 32.9907739830396); }
public static double Simplex2D(double x, double y) { double num = 0; double num1 = (x + y) * 0.366025403784439; double num2 = x + num1; double num3 = y + num1; int num4 = ManagedNoise.Floor(num2); int num5 = ManagedNoise.Floor(num3); int num6 = num4; int num7 = num5; double num8 = (double)(num6 + num7) * 0.211324865405187; double num9 = x - (double)num6 + num8; double num10 = y - (double)num7 + num8; double num11 = 0.5 - num9 * num9 - num10 * num10; if (num11 > 0) { double num12 = num11 * (num11 * num11); int num13 = ManagedNoise.hash[ManagedNoise.hash[num6 & 255] + num7 & 255] & 7; double num14 = ManagedNoise.gradients2Dx[num13]; double num15 = ManagedNoise.gradients2Dy[num13]; double num16 = num14 * num9 + num15 * num10; num = num + num16 * num12; } int num17 = num4 + 1; int num18 = num5 + 1; double num19 = (double)(num17 + num18) * 0.211324865405187; double num20 = x - (double)num17 + num19; double num21 = y - (double)num18 + num19; double num22 = 0.5 - num20 * num20 - num21 * num21; if (num22 > 0) { double num23 = num22 * (num22 * num22); int num24 = ManagedNoise.hash[ManagedNoise.hash[num17 & 255] + num18 & 255] & 7; double num25 = ManagedNoise.gradients2Dx[num24]; double num26 = ManagedNoise.gradients2Dy[num24]; double num27 = num25 * num20 + num26 * num21; num = num + num27 * num23; } if (num2 - (double)num4 < num3 - (double)num5) { int num28 = num4; int num29 = num5 + 1; double num30 = (double)(num28 + num29) * 0.211324865405187; double num31 = x - (double)num28 + num30; double num32 = y - (double)num29 + num30; double num33 = 0.5 - num31 * num31 - num32 * num32; if (num33 > 0) { double num34 = num33 * (num33 * num33); int num35 = ManagedNoise.hash[ManagedNoise.hash[num28 & 255] + num29 & 255] & 7; double num36 = ManagedNoise.gradients2Dx[num35]; double num37 = ManagedNoise.gradients2Dy[num35]; double num38 = num36 * num31 + num37 * num32; num = num + num38 * num34; } } else { int num39 = num4 + 1; int num40 = num5; double num41 = (double)(num39 + num40) * 0.211324865405187; double num42 = x - (double)num39 + num41; double num43 = y - (double)num40 + num41; double num44 = 0.5 - num42 * num42 - num43 * num43; if (num44 > 0) { double num45 = num44 * (num44 * num44); int num46 = ManagedNoise.hash[ManagedNoise.hash[num39 & 255] + num40 & 255] & 7; double num47 = ManagedNoise.gradients2Dx[num46]; double num48 = ManagedNoise.gradients2Dy[num46]; double num49 = num47 * num42 + num48 * num43; num = num + num49 * num45; } } return(num * 32.9907739830396); }
public static double Simplex2D(double x, double y, out double dx, out double dy) { double num1 = 0.0; dx = 0.0; dy = 0.0; double num2 = (x + y) * 0.366025403784439; double x1 = x + num2; double x2 = y + num2; int num3 = ManagedNoise.Floor(x1); int num4 = ManagedNoise.Floor(x2); int num5 = num3; int num6 = num4; double num7 = (double)(num5 + num6) * 0.211324865405187; double num8 = x - (double)num5 + num7; double num9 = y - (double)num6 + num7; double num10 = 0.5 - num8 * num8 - num9 * num9; if (num10 > 0.0) { double num11 = num10 * num10; double num12 = num10 * num11; int index = ManagedNoise.hash[ManagedNoise.hash[num5 & (int)byte.MaxValue] + num6 & (int)byte.MaxValue] & 7; double num13 = ManagedNoise.gradients2Dx[index]; double num14 = ManagedNoise.gradients2Dy[index]; double num15 = num13 * num8 + num14 * num9; double num16 = num15 * 6.0 * num11; dx += num13 * num12 - num16 * num8; dy += num14 * num12 - num16 * num9; num1 += num15 * num12; } int num17 = num3 + 1; int num18 = num4 + 1; double num19 = (double)(num17 + num18) * 0.211324865405187; double num20 = x - (double)num17 + num19; double num21 = y - (double)num18 + num19; double num22 = 0.5 - num20 * num20 - num21 * num21; if (num22 > 0.0) { double num11 = num22 * num22; double num12 = num22 * num11; int index = ManagedNoise.hash[ManagedNoise.hash[num17 & (int)byte.MaxValue] + num18 & (int)byte.MaxValue] & 7; double num13 = ManagedNoise.gradients2Dx[index]; double num14 = ManagedNoise.gradients2Dy[index]; double num15 = num13 * num20 + num14 * num21; double num16 = num15 * 6.0 * num11; dx += num13 * num12 - num16 * num20; dy += num14 * num12 - num16 * num21; num1 += num15 * num12; } if (x1 - (double)num3 >= x2 - (double)num4) { int num11 = num3 + 1; int num12 = num4; double num13 = (double)(num11 + num12) * 0.211324865405187; double num14 = x - (double)num11 + num13; double num15 = y - (double)num12 + num13; double num16 = 0.5 - num14 * num14 - num15 * num15; if (num16 > 0.0) { double num23 = num16 * num16; double num24 = num16 * num23; int index = ManagedNoise.hash[ManagedNoise.hash[num11 & (int)byte.MaxValue] + num12 & (int)byte.MaxValue] & 7; double num25 = ManagedNoise.gradients2Dx[index]; double num26 = ManagedNoise.gradients2Dy[index]; double num27 = num25 * num14 + num26 * num15; double num28 = num27 * 6.0 * num23; dx += num25 * num24 - num28 * num14; dy += num26 * num24 - num28 * num15; num1 += num27 * num24; } } else { int num11 = num3; int num12 = num4 + 1; double num13 = (double)(num11 + num12) * 0.211324865405187; double num14 = x - (double)num11 + num13; double num15 = y - (double)num12 + num13; double num16 = 0.5 - num14 * num14 - num15 * num15; if (num16 > 0.0) { double num23 = num16 * num16; double num24 = num16 * num23; int index = ManagedNoise.hash[ManagedNoise.hash[num11 & (int)byte.MaxValue] + num12 & (int)byte.MaxValue] & 7; double num25 = ManagedNoise.gradients2Dx[index]; double num26 = ManagedNoise.gradients2Dy[index]; double num27 = num25 * num14 + num26 * num15; double num28 = num27 * 6.0 * num23; dx += num25 * num24 - num28 * num14; dy += num26 * num24 - num28 * num15; num1 += num27 * num24; } } dx *= 4.0; dy *= 4.0; return(num1 * 32.9907739830396); }