#Perlin Noise #Based on Javascript from p5.js (https://github.com/processing/p5.js/blob/master/src/math/noise.js) import math import random PERLIN_YWRAPB = 4 PERLIN_YWRAP = 1<=1.0): xi+=1; xf-=1 if (yf>=1.0): yi+=1; yf-=1 if (zf>=1.0): zi+=1; zf-=1 return r def noiseDetail(lod, falloff): if lod>0:perlin_octaves=lod if falloff>0:perlin_amp_falloff=falloff class LCG(): def __init__(self): self.m = 4294967296.0 self.a = 1664525.0 self.c = 1013904223.0 self.seed = self.z = None def setSeed(self,val=None): self.z = self.seed = (math.random()*self.m if val == None else val) >> 0 def getSeed(self): return self.seed def rand(self): self.z = (self.a * self.z + self.c) % self.m return self.z/self.m def noiseSeed(seed): lcg = LCG() lcg.setSeed(seed) perlin = [] for i in range(0,PERLIN_SIZE+1): perlin.append(lcg.rand())