Class PerlinTurbulence

java.lang.Object
com.github.weisj.jsvg.geometry.noise.PerlinTurbulence

public final class PerlinTurbulence extends Object
  • Field Details

    • RAND_m

      private static final int RAND_m
      See Also:
    • RAND_a

      private static final int RAND_a
      See Also:
    • RAND_q

      private static final int RAND_q
      See Also:
    • RAND_r

      private static final int RAND_r
      See Also:
    • BSize

      private static final int BSize
      See Also:
    • BM

      private static final int BM
      See Also:
    • PerlinN

      private static final double PerlinN
      See Also:
    • uLatticeSelector

      private final int[] uLatticeSelector
    • fGradient

      private final double[] fGradient
    • numOctaves

      private final int numOctaves
    • xFrequency

      private final double xFrequency
    • yFrequency

      private final double yFrequency
  • Constructor Details

    • PerlinTurbulence

      public PerlinTurbulence(int seed, int numOctaves, double xFrequency, double yFrequency)
  • Method Details

    • setupSeed

      private static int setupSeed(int seed)
    • random

      private static int random(int seed)
    • init

      private void init(int seed)
    • curve

      private static double curve(double t)
    • lerp

      private static double lerp(double t, double a, double b)
    • noise2

      private void noise2(double[] noiseChannels, double vec0, double vec1, @Nullable @Nullable PerlinTurbulence.StitchInfo stitchInfo)
    • turbulence

      public void turbulence(double[] turbulenceChannels, double pointX, double pointY, boolean fractalSum, @Nullable @Nullable PerlinTurbulence.StitchInfo stitchInfo, @Nullable Rectangle2D.Double tile)
    • adjustFrequency

      private double adjustFrequency(double frequency, double tileSize)