public static float Get3D(float x, float y, float z, CombinerFuncEnum combinerFunc, DistanceFuncEnum distanceFunc) { DistanceFunc _dFunc = null; switch (distanceFunc) { case DistanceFuncEnum.Euclidean: _dFunc = EuclidianDistanceFunc; break; case DistanceFuncEnum.Manhattan: _dFunc = ManhattanDistanceFunc; break; case DistanceFuncEnum.Chebyshev: _dFunc = ChebyshevDistanceFunc; break; } CombinerFunc _cFunc = null; switch (combinerFunc) { case CombinerFuncEnum.D1: _cFunc = CombinerFunc1; // i => i[0]; break; case CombinerFuncEnum.D2MinusD1: _cFunc = CombinerFunc2; //i => i[1] - i[0]; break; case CombinerFuncEnum.D3MinusD1: _cFunc = CombinerFunc3; //i => i[2] - i[0]; break; } return(noise3d(new Vector3(x, y, z), _cFunc, _dFunc)); }
public static float Get2D(float x, float y, CombinerFuncEnum combinerFunc, DistanceFuncEnum distanceFunc) { //return noise(new Vector3(x,y,0)); return(Get3D(x, y, 0, combinerFunc, distanceFunc)); }