noise3 function

List<List<List<double>>> noise3(
  1. int width,
  2. int height,
  3. int depth, {
  4. int seed = 1337,
  5. double frequency = .01,
  6. Interp interp = Interp.quintic,
  7. NoiseType noiseType = NoiseType.simplex,
  8. int octaves = 3,
  9. double lacunarity = 2.0,
  10. double gain = .5,
  11. FractalType fractalType = FractalType.fbm,
  12. CellularDistanceFunction cellularDistanceFunction = CellularDistanceFunction.euclidean,
  13. CellularReturnType cellularReturnType = CellularReturnType.cellValue,
})

Creates 3D noise

Implementation

List<List<List<double>>> noise3(
  int width,
  int height,
  int depth, {
  int seed = 1337,
  double frequency = .01,
  Interp interp = Interp.quintic,
  NoiseType noiseType = NoiseType.simplex,
  int octaves = 3,
  double lacunarity = 2.0,
  double gain = .5,
  FractalType fractalType = FractalType.fbm,
  CellularDistanceFunction cellularDistanceFunction =
      CellularDistanceFunction.euclidean,
  CellularReturnType cellularReturnType = CellularReturnType.cellValue,
}) {
  final noise = buildNoise(
    seed: seed,
    frequency: frequency,
    interp: interp,
    noiseType: noiseType,
    octaves: octaves,
    lacunarity: lacunarity,
    gain: gain,
    fractalType: fractalType,
    cellularDistanceFunction: cellularDistanceFunction,
    cellularReturnType: cellularReturnType,
  );

  return List<List<List<double>>>.generate(
    width,
    (x) => List<List<double>>.generate(
      height,
      (y) => List<double>.generate(
        depth,
        (z) => noise.getNoise3(x.toDouble(), y.toDouble(), z.toDouble()),
      ),
    ),
  );
}