- 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 classPerlinTurbulence.StitchInfo
-
Field Summary
Fields Modifier and Type Field Description private static intBMprivate static intBSizeprivate double[]fGradientprivate intnumOctavesprivate static doublePerlinNprivate static intRAND_aprivate static intRAND_mprivate static intRAND_qprivate static intRAND_rprivate int[]uLatticeSelectorprivate doublexFrequencyprivate doubleyFrequency
-
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 doubleadjustFrequency(double frequency, double tileSize)private static doublecurve(double t)private voidinit(int seed)private static doublelerp(double t, double a, double b)private voidnoise2(double[] noiseChannels, double vec0, double vec1, @Nullable PerlinTurbulence.StitchInfo stitchInfo)private static intrandom(int seed)private static intsetupSeed(int seed)voidturbulence(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)
-
-