From 6d2fa795f73c52648fad0ee733d2b79c6600d75c Mon Sep 17 00:00:00 2001 From: Ralph Niemitz Date: Mon, 3 Sep 2018 10:42:21 +0200 Subject: [PATCH] Added SimplexNoise Signed-off-by: Ralph Niemitz --- .../java/com/generation/SimplexNoise.java | 135 ++++++ .../com/generation/SimplexNoiseOctave.java | 392 ++++++++++++++++++ .../java/com/generation/SimplexNoiseTest.java | 50 +++ .../java/com/generation/expected-result.png | Bin 0 -> 61425 bytes 4 files changed, 577 insertions(+) create mode 100644 src/main/java/com/generation/SimplexNoise.java create mode 100644 src/main/java/com/generation/SimplexNoiseOctave.java create mode 100644 src/test/java/com/generation/SimplexNoiseTest.java create mode 100644 src/test/java/com/generation/expected-result.png diff --git a/src/main/java/com/generation/SimplexNoise.java b/src/main/java/com/generation/SimplexNoise.java new file mode 100644 index 00000000..a63534d1 --- /dev/null +++ b/src/main/java/com/generation/SimplexNoise.java @@ -0,0 +1,135 @@ +package src.main.java.com.generation; + +import java.util.Random; + +/** + * Implementation of the simplex noise algorithm. + * @see Wikipedia + */ +public class SimplexNoise { + + private SimplexNoiseOctave[] octaves; + private double[] frequencys; + private double[] amplitudes; + private int largestFeature; + private double persistance; + private long seed; + + /** + * @param largestFeature size of the largest possible feature + * @param persistence the persistence + * @param seed the seed + */ + public SimplexNoise(int largestFeature, double persistence, long seed) { + + this.largestFeature = largestFeature; + this.persistance = persistence; + this.seed = seed; + + int octaveCount = (int)Math.ceil(Math.log10(largestFeature) / Math.log10(2.0D)); + this.octaves = new SimplexNoiseOctave[octaveCount]; + this.frequencys = new double[octaveCount]; + this.amplitudes = new double[octaveCount]; + + Random random = new Random(seed); + + for(int index = 0; index < octaveCount; index++) { + + this.octaves[index] = new SimplexNoiseOctave(random.nextInt()); + this.frequencys[index] = Math.pow(2, index); + this.amplitudes[index] = Math.pow(persistence, octaveCount - index); + } + } + + /** + * Generates a height map. + * @param x X coordinate + * @param y Y coordinate + * @param width width + * @param height height + * @return the generated height map + */ + public float[][] generateHeightMap(int x, int y, int width, int height) { + + int xEnd = x + width; + int yEnd = y + height; + + float[][] result = new float[width][height]; + + for(int i = 0; i < width; i++) { + + for(int j = 0; j < height; j++) { + + int posX = x + i * ((xEnd - x) / width); + int posY = y + j * ((yEnd - y) / height); + result[i][j] = Math.min(1.0F, Math.max(0.0F, (float)(0.5D * (1 + this.getNoise(posX, posY))))); + } + } + + return result; + } + + /** + * Generates a two dimensional noise. + * @param x X coordinate + * @param y Y coordinate + * @return the generated noise + */ + public double getNoise(int x, int y) { + + double result = 0; + + for(int index = 0; index < this.octaves.length; index++) { + + result += this.octaves[index].noise(x / this.frequencys[index], y / this.frequencys[index]) * this.amplitudes[index]; + } + + return result; + } + + /** + * Generates a three dimensional noise. + * @param x X coordinate + * @param y Y coordinate + * @param z Z coordinate + * @return the generated noise + */ + public double getNoise(int x, int y, int z) { + + double result = 0; + + for(int index = 0; index < this.octaves.length; index++) { + + double frequency = Math.pow(2, index); + double amplitude = Math.pow(this.persistance, this.octaves.length - index); + + result += this.octaves[index].noise(x / frequency, y / frequency, z / frequency) * amplitude; + } + + return result; + } + + /** + * @return the largest possible feature + */ + public int getLargestFeature() { + + return this.largestFeature; + } + + /** + * @return the persistence + */ + public double getPersistance() { + + return this.persistance; + } + + /** + * @return the seed + */ + public long getSeed() { + + return this.seed; + } +} diff --git a/src/main/java/com/generation/SimplexNoiseOctave.java b/src/main/java/com/generation/SimplexNoiseOctave.java new file mode 100644 index 00000000..7ea25f9e --- /dev/null +++ b/src/main/java/com/generation/SimplexNoiseOctave.java @@ -0,0 +1,392 @@ +package src.main.java.com.generation; + +import java.util.Random; + +/** + * Implementation of a simplex noise octave. + */ +public class SimplexNoiseOctave { + + private static final Gradient[] GRADIENTS = { + + new Gradient( 1, 1, 0), new Gradient(-1, 1, 0), new Gradient( 1, -1, 0), + new Gradient(-1, -1, 0), new Gradient( 1, 0, 1), new Gradient(-1, 0, 1), + new Gradient( 1, 0, -1), new Gradient(-1, 0, -1), new Gradient( 0, 1, 1), + new Gradient( 0, -1, 1), new Gradient( 0, 1, -1), new Gradient( 0, -1, -1) + }; + private static final short P_SUPPLY[] = { + + 151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, + 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10, 23, 190, 6, 148, + 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, + 57, 177, 33, 88, 237, 149, 56, 87, 174, 20, 125, 136, 171, 168, 68, 175, + 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, + 60, 211, 133, 230, 220, 105, 92, 41, 55, 46, 245, 40, 244, 102, 143, 54, + 65, 25, 63, 161, 1, 216, 80, 73, 209, 76, 132, 187, 208, 89, 18, 169, + 200, 196, 135, 130, 116, 188, 159, 86, 164, 100, 109, 198, 173, 186, 3, 64, + 52, 217, 226, 250, 124, 123, 5, 202, 38, 147, 118, 126, 255, 82, 85, 212, + 207, 206, 59, 227, 47, 16, 58, 17, 182, 189, 28, 42, 223, 183, 170, 213, + 119, 248, 152, 2, 44, 154, 163, 70, 221, 153, 101, 155, 167, 43, 172, 9, + 129, 22, 39, 253, 19, 98, 108, 110, 79, 113, 224, 232, 178, 185, 112, 104, + 218, 246, 97, 228, 251, 34, 242, 193, 238, 210, 144, 12, 191, 179, 162, 241, + 81, 51, 145, 235, 249, 14, 239, 107, 49, 192, 214, 31, 181, 199, 106, 157, + 184, 84, 204, 176, 115, 121, 50, 45, 127, 4, 150, 254, 138, 236, 205, 93, + 222, 114, 67, 29, 24, 72, 243, 141, 128, 195, 78, 66, 215, 61, 156, 180 + }; + private static final int LENGTH = P_SUPPLY.length * 2; + private static final int SWAP_COUNT = 20; + private static final double F2 = 0.5D * (Math.sqrt(3.0D) - 1.0D); + private static final double G2 = (3.0D - Math.sqrt(3.0D)) / 6.0D; + private static final double F3 = 1.0D / 3.0D; + private static final double G3 = 1.0D / 6.0D; + + private final short[] p = P_SUPPLY.clone(); + private final short[] perm = new short[LENGTH]; + private final short[] permMod12 = new short[LENGTH]; + + /** + * @param seed the seed for this octave + */ + public SimplexNoiseOctave(long seed) { + + Random random = new Random(seed); + + for(int index = 0; index < SWAP_COUNT; index++) { + + int swapFrom = random.nextInt(this.p.length); + int swapTo = random.nextInt(this.p.length); + + short temp = this.p[swapFrom]; + this.p[swapFrom] = this.p[swapTo]; + this.p[swapTo] = temp; + } + + for(int index = 0; index < LENGTH; index++) { + + this.perm[index] = this.p[index & 255]; + this.permMod12[index] = (short)(this.perm[index] % 12); + } + } + + /** + * A method with the functionality of {@link Math#floor(double)} but it is faster. + * @param x the value + * @return the result + * @see Math#floor(double) + */ + private static final int fastfloor(double x) { + + int xAsInt = (int)x; + return x < xAsInt ? xAsInt - 1 : xAsInt; + } + + /** + * Dot function for a gradient. + * @param gradient the gradient + * @param x X + * @param y Y + * @return the dot value + */ + private static final double dot(Gradient gradient, double x, double y) { + + return gradient.x * x + gradient.y * y; + } + + /** + * Dot function for a gradient. + * @param gradient the gradient + * @param x X + * @param y Y + * @param z Z + * @return the dot value + */ + private static final double dot(Gradient gradient, double x, double y, double z) { + + return gradient.x * x + gradient.y * y + gradient.z * z; + } + + /** + * Makes a two dimensional noise. + * @param x X + * @param y Y + * @return the noise + */ + public double noise(double x, double y) { + + double n0; + double n1; + double n2; + + double s = (x + y) * F2; + + int i = fastfloor(x + s); + int j = fastfloor(y + s); + + double t = (i + j) * G2; + + double X0 = i - t; + double Y0 = j - t; + + double x0 = x - X0; + double y0 = y - Y0; + + int i1; + int j1; + + if(x0 > y0) { + + i1 = 1; + j1 = 0; + + } else { + + i1 = 0; + j1 = 1; + } + + double x1 = x0 - i1 + G2; + double y1 = y0 - j1 + G2; + double x2 = x0 - 1.0D + 2.0D * G2; + double y2 = y0 - 1.0D + 2.0D * G2; + + int ii = i & 0xFF; + int jj = j & 0xFF; + + int gi0 = this.permMod12[ii + this.perm[jj]]; + int gi1 = this.permMod12[ii + i1 + this.perm[jj + j1]]; + int gi2 = this.permMod12[ii + 1 + this.perm[jj + 1]]; + + double t0 = 0.5D - x0 * x0 - y0 * y0; + + if(t0 < 0) { + + n0 = 0.0; + + } else { + + t0 *= t0; + n0 = t0 * t0 * dot(GRADIENTS[gi0], x0, y0); + } + + double t1 = 0.5D - x1 * x1 - y1 * y1; + + if(t1 < 0.0D) { + + n1 = 0.0; + + } else { + + t1 *= t1; + n1 = t1 * t1 * dot(GRADIENTS[gi1], x1, y1); + } + + double t2 = 0.5D - x2 * x2 - y2 * y2; + + if(t2 < 0.0D) { + + n2 = 0.0D; + + } else { + + t2 *= t2; + n2 = t2 * t2 * dot(GRADIENTS[gi2], x2, y2); + } + + return 70.0D * (n0 + n1 + n2); + } + + /** + * Makes a three dimensional noise. + * @param x X + * @param y Y + * @param z Z + * @return the noise + * @since 21.08.2018/0.2.0 + */ + public double noise(double x, double y, double z) { + + double n0; + double n1; + double n2; + double n3; + + double s = (x + y + z) * F3; + + int i = fastfloor(x + s); + int j = fastfloor(y + s); + int k = fastfloor(z + s); + + double t = (i + j + k) * G3; + + double X0 = i - t; + double Y0 = j - t; + double Z0 = k - t; + + double x0 = x - X0; + double y0 = y - Y0; + double z0 = z - Z0; + + int i1; + int j1; + int k1; + int i2; + int j2; + int k2; + + if(x0 >= y0) { + + if(y0 >= z0) { + + i1 = 1; + j1 = 0; + k1 = 0; + i2 = 1; + j2 = 1; + k2 = 0; + + } else if(x0 >= z0) { + + i1 = 1; + j1 = 0; + k1 = 0; + i2 = 1; + j2 = 0; + k2 = 1; + + } else { + + i1 = 0; + j1 = 0; + k1 = 1; + i2 = 1; + j2 = 0; + k2 = 1; + } + + } else { + + if(y0 < z0) { + + i1 = 0; + j1 = 0; + k1 = 1; + i2 = 0; + j2 = 1; + k2 = 1; + + } else if(x0 < z0) { + + i1 = 0; + j1 = 1; + k1 = 0; + i2 = 0; + j2 = 1; + k2 = 1; + + } else { + + i1 = 0; + j1 = 1; + k1 = 0; + i2 = 1; + j2 = 1; + k2 = 0; + } + } + + double x1 = x0 - i1 + G3; + double y1 = y0 - j1 + G3; + double z1 = z0 - k1 + G3; + + double x2 = x0 - i2 + 2.0D * G3; + double y2 = y0 - j2 + 2.0D * G3; + double z2 = z0 - k2 + 2.0D * G3; + + double x3 = x0 - 1.0D + 3.0D * G3; + double y3 = y0 - 1.0D + 3.0D * G3; + double z3 = z0 - 1.0D + 3.0D * G3; + + int ii = i & 0xFF; + int jj = j & 0xFF; + int kk = k & 0xFF; + + int gi0 = this.permMod12[ii + this.perm[jj + this.perm[kk]]]; + int gi1 = this.permMod12[ii + i1 + this.perm[jj + j1 + this.perm[kk + k1]]]; + int gi2 = this.permMod12[ii + i2 + this.perm[jj + j2 + this.perm[kk + k2]]]; + int gi3 = this.permMod12[ii + 1 + this.perm[jj + 1 + this.perm[kk + 1]]]; + + double t0 = 0.6D - x0 * x0 - y0 * y0 - z0 * z0; + + if(t0 < 0) { + + n0 = 0.0D; + + } else { + + t0 *= t0; + n0 = t0 * t0 * dot(GRADIENTS[gi0], x0, y0, z0); + } + + double t1 = 0.6D - x1 * x1 - y1 * y1 - z1 * z1; + + if(t1 < 0) { + + n1 = 0.0D; + + } else { + + t1 *= t1; + n1 = t1 * t1 * dot(GRADIENTS[gi1], x1, y1, z1); + } + + double t2 = 0.6D - x2 * x2 - y2 * y2 - z2 * z2; + + if(t2 < 0) { + + n2 = 0.0D; + + } else { + + t2 *= t2; + n2 = t2 * t2 * dot(GRADIENTS[gi2], x2, y2, z2); + } + + double t3 = 0.6D - x3 * x3 - y3 * y3 - z3 * z3; + + if(t3 < 0) { + + n3 = 0.0D; + + } else { + + t3 *= t3; + n3 = t3 * t3 * dot(GRADIENTS[gi3], x3, y3, z3); + } + + return 32.0D * (n0 + n1 + n2 + n3); + } + + /** + * Represents a gradient. + * Inner classes are faster than arrays. + */ + private static final class Gradient { + + private final double x; + private final double y; + private final double z; + + /** + * @param x X + * @param y Y + * @param z Z + * @since 21.08.2018/0.2.0 + */ + private Gradient(double x, double y, double z) { + + this.x = x; + this.y = y; + this.z = z; + } + } +} diff --git a/src/test/java/com/generation/SimplexNoiseTest.java b/src/test/java/com/generation/SimplexNoiseTest.java new file mode 100644 index 00000000..a977e8e7 --- /dev/null +++ b/src/test/java/com/generation/SimplexNoiseTest.java @@ -0,0 +1,50 @@ +package src.test.java.com.generation; + +import static org.junit.jupiter.api.Assertions.*; + +import java.awt.Color; +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; + +import javax.imageio.ImageIO; + +import org.junit.jupiter.api.Test; + +import src.main.java.com.generation.SimplexNoise; + +public class SimplexNoiseTest { + + @Test + public void testGenerateHeightMap() { + + final int WIDTH = 256; + final int HEIGHT = 256; + final int X = 0; + final int Y = 0; + final String RESOURCE_NAME = "src/test/java/com/generation/expected-result.png"; + + float[][] heightmap = new SimplexNoise(50, 0.3F, 1111111111111111L).generateHeightMap(X, Y, WIDTH, HEIGHT); + BufferedImage image = null; + + try(InputStream in = this.getClass().getClassLoader().getResourceAsStream(RESOURCE_NAME)) { + + image = ImageIO.read(in); + + assertEquals(WIDTH, image.getWidth()); + assertEquals(HEIGHT, image.getHeight()); + + } catch(IOException | IllegalArgumentException exception) { + + fail(exception); + } + + for(int x = 0; x < WIDTH; x++) { + + for(int y = 0; y < HEIGHT; y++) { + + assertEquals(new Color(image.getRGB(x, y)).getRed(), (int)(heightmap[x][y] * 255)); + } + } + } +} diff --git a/src/test/java/com/generation/expected-result.png b/src/test/java/com/generation/expected-result.png new file mode 100644 index 0000000000000000000000000000000000000000..df2eb2a3db96fc3fa25aa5add98f472d41b35aa3 GIT binary patch literal 61425 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 m=KJnUmKUJm?gFP!y8i-;7LHW~^6P~F0000