Exemple #1
0
        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));
        }
Exemple #2
0
 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));
 }