Class PerlinTurbulence
- java.lang.Object
-
- com.github.weisj.jsvg.geometry.noise.PerlinTurbulence
-
public final class PerlinTurbulence extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PerlinTurbulence.StitchInfo
-
Field Summary
Fields Modifier and Type Field Description private static int
BM
private static int
BSize
private double[]
fGradient
private int
numOctaves
private static double
PerlinN
private static int
RAND_a
private static int
RAND_m
private static int
RAND_q
private static int
RAND_r
private int[]
uLatticeSelector
private double
xFrequency
private double
yFrequency
-
Constructor Summary
Constructors Constructor Description PerlinTurbulence(int seed, int numOctaves, double xFrequency, double yFrequency)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private double
adjustFrequency(double frequency, double tileSize)
private static double
curve(double t)
private void
init(int seed)
private static double
lerp(double t, double a, double b)
private void
noise2(double[] noiseChannels, double vec0, double vec1, @Nullable PerlinTurbulence.StitchInfo stitchInfo)
private static int
random(int seed)
private static int
setupSeed(int seed)
void
turbulence(double[] turbulenceChannels, double pointX, double pointY, boolean fractalSum, @Nullable PerlinTurbulence.StitchInfo stitchInfo, java.awt.geom.Rectangle2D.Double tile)
-
-
-
Field Detail
-
RAND_m
private static final int RAND_m
- See Also:
- Constant Field Values
-
RAND_a
private static final int RAND_a
- See Also:
- Constant Field Values
-
RAND_q
private static final int RAND_q
- See Also:
- Constant Field Values
-
RAND_r
private static final int RAND_r
- See Also:
- Constant Field Values
-
BSize
private static final int BSize
- See Also:
- Constant Field Values
-
BM
private static final int BM
- See Also:
- Constant Field Values
-
PerlinN
private static final double PerlinN
- See Also:
- Constant Field Values
-
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
-
-
Method Detail
-
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 java.awt.geom.Rectangle2D.Double tile)
-
adjustFrequency
private double adjustFrequency(double frequency, double tileSize)
-
-