singleCubic2 method

double singleCubic2(
  1. int seed,
  2. double x,
  3. double y
)

Implementation

double singleCubic2(int seed, double x, double y) {
  final x1 = x.floor();
  final y1 = y.floor();
  final x0 = x1 - 1;
  final y0 = y1 - 1;
  final x2 = x1 + 1;
  final y2 = y1 + 1;
  final x3 = x1 + 2;
  final y3 = y1 + 2;
  final xs = x - x1;
  final ys = y - y1;

  return ys.cubicLerp(
        xs.cubicLerp(
          valCoord2D(seed, x0, y0),
          valCoord2D(seed, x1, y0),
          valCoord2D(seed, x2, y0),
          valCoord2D(seed, x3, y0),
        ),
        xs.cubicLerp(
          valCoord2D(seed, x0, y1),
          valCoord2D(seed, x1, y1),
          valCoord2D(seed, x2, y1),
          valCoord2D(seed, x3, y1),
        ),
        xs.cubicLerp(
          valCoord2D(seed, x0, y2),
          valCoord2D(seed, x1, y2),
          valCoord2D(seed, x2, y2),
          valCoord2D(seed, x3, y2),
        ),
        xs.cubicLerp(
          valCoord2D(seed, x0, y3),
          valCoord2D(seed, x1, y3),
          valCoord2D(seed, x2, y3),
          valCoord2D(seed, x3, y3),
        ),
      ) *
      _cubic2dBounding;
}