noise2 function

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

Creates 2D noise

Implementation

List<List<double>> noise2(
  int width,
  int height, {
  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<double>>.generate(
    width,
    (x) => List<double>.generate(
      height,
      (y) => noise.getNoise2(x.toDouble(), y.toDouble()),
    ),
  );
}