
Public Member Functions | |
| PerlinTerrainGenerator (final int width, final int height, final int roughness) | |
| PerlinTerrainGenerator (final int width, final int height, final int roughness, final long seed) | |
| byte[][] | getTerrain () |
Private Member Functions | |
| int[][] | generateOneOctave (final int width, final int height, final long seed, final double scale) |
| double | drop (final double a) |
| double | Q (final double u, final double v) |
| double | dotProduct (final ArrayList< Double > b, final double[] a) |
| double | noise (final double x, final double y, final int[] P, final ArrayList< ArrayList< Double >> G) |
Private Attributes | |
| final int | width |
| final int | height |
| final int | roughness |
| final long | seed |
This class is responsible for generating the terrain in the world. It uses Perlin noise functions to create a somewhat realistic and smooth terrain. You do not need to understand how this code works in order to write a pathfinding AI.
This code is based on information on Perlin noise retrieved from www.siafoo.net/snippet/144 which was created by many authors. If you are interested in Perlin noise, consider looking into Ken Perlin's personal web page, which has all sorts of goodies.
Definition at line 15 of file PerlinTerrainGenerator.java.
| PerlinTerrainGenerator.PerlinTerrainGenerator | ( | final int | width, | |
| final int | height, | |||
| final int | roughness | |||
| ) |
Definition at line 22 of file PerlinTerrainGenerator.java.
| PerlinTerrainGenerator.PerlinTerrainGenerator | ( | final int | width, | |
| final int | height, | |||
| final int | roughness, | |||
| final long | seed | |||
| ) |
Definition at line 27 of file PerlinTerrainGenerator.java.
| double PerlinTerrainGenerator.dotProduct | ( | final ArrayList< Double > | b, | |
| final double[] | a | |||
| ) | [private] |
Definition at line 114 of file PerlinTerrainGenerator.java.
| double PerlinTerrainGenerator.drop | ( | final double | a | ) | [private] |
Definition at line 103 of file PerlinTerrainGenerator.java.
| int [][] PerlinTerrainGenerator.generateOneOctave | ( | final int | width, | |
| final int | height, | |||
| final long | seed, | |||
| final double | scale | |||
| ) | [private] |
Definition at line 53 of file PerlinTerrainGenerator.java.
| byte [][] PerlinTerrainGenerator.getTerrain | ( | ) |
| double PerlinTerrainGenerator.noise | ( | final double | x, | |
| final double | y, | |||
| final int[] | P, | |||
| final ArrayList< ArrayList< Double >> | G | |||
| ) | [private] |
Definition at line 119 of file PerlinTerrainGenerator.java.
| double PerlinTerrainGenerator.Q | ( | final double | u, | |
| final double | v | |||
| ) | [private] |
Definition at line 109 of file PerlinTerrainGenerator.java.
final int PerlinTerrainGenerator.height [private] |
Definition at line 18 of file PerlinTerrainGenerator.java.
final int PerlinTerrainGenerator.roughness [private] |
Definition at line 19 of file PerlinTerrainGenerator.java.
final long PerlinTerrainGenerator.seed [private] |
Definition at line 20 of file PerlinTerrainGenerator.java.
final int PerlinTerrainGenerator.width [private] |
Definition at line 17 of file PerlinTerrainGenerator.java.
1.5.8