public float Value(float a) { var xOff = PMath.Map(PMath.Cos(a), -1, 1, CenterX, Diameter + CenterX); var yOff = PMath.Map(PMath.Sin(a), -1, 1, CenterY, Diameter + CenterY); SetNoiseType(NoiseType.PerlinFractal); SetInterp(Interp.Quintic); SetFractalType(FractalType.RigidMulti); SetFractalLacunarity(3); SetFrequency(0.1f); var r = GetNoise(xOff, yOff); return(PMath.Map(r, -0.5f, 0.5f, Min, Max)); }