X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FFunctionValues.hs;h=f9111ad23f406a6768ff7e641ced1022a0af4835;hb=f9b29fb473cf7992b2b7375577e3cece3369892e;hp=28f596b618e5dcd3c3c8acfb92103c2208691818;hpb=58cf11569acb270995d2de924dda03ef526647e2;p=spline3.git diff --git a/src/FunctionValues.hs b/src/FunctionValues.hs index 28f596b..f9111ad 100644 --- a/src/FunctionValues.hs +++ b/src/FunctionValues.hs @@ -8,8 +8,9 @@ import Prelude hiding (LT) import Cardinal -- | The FunctionValues type represents the value of our function f at --- the 27 points surrounding the center of a cube. Each value of f --- can be accessed by the name of its direction. +-- the 27 points surrounding (and including) the center of a +-- cube. Each value of f can be accessed by the name of its +-- direction. data FunctionValues = FunctionValues { front :: Double, back :: Double, @@ -19,24 +20,24 @@ data FunctionValues = down :: Double, front_left :: Double, front_right :: Double, - front_top :: Double, front_down :: Double, + front_top :: Double, back_left :: Double, back_right :: Double, - back_top :: Double, back_down :: Double, - left_top :: Double, + back_top :: Double, left_down :: Double, - right_top :: Double, + left_top :: Double, right_down :: Double, - front_left_top :: Double, + right_top :: Double, front_left_down :: Double, - front_right_top :: Double, + front_left_top :: Double, front_right_down :: Double, - back_left_top :: Double, + front_right_top :: Double, back_left_down :: Double, - back_right_top :: Double, + back_left_top :: Double, back_right_down :: Double, + back_right_top :: Double, interior :: Double } deriving (Eq, Show) @@ -49,7 +50,7 @@ empty_values = -- FunctionValues type. Given a 'Cardinal' direction and a -- 'FunctionValues' object, eval will return the value of the -- function f in that 'Cardinal' direction. Note that 'Cardinal' can --- be a composite type; eval is what performs the "arithmetic" on +-- be a composite type; eval is what performs the \"arithmetic\" on -- 'Cardinal' directions. eval :: FunctionValues -> Cardinal -> Double eval f F = front f @@ -120,13 +121,13 @@ make_values values i j k = back_top = value_at values (i+1) j (k+1), left_down = value_at values i (j-1) (k-1), left_top = value_at values i (j-1) (k+1), - right_top = value_at values i (j+1) (k+1), right_down = value_at values i (j+1) (k-1), + right_top = value_at values i (j+1) (k+1), front_left_down = value_at values (i-1) (j-1) (k-1), front_left_top = value_at values (i-1) (j-1) (k+1), front_right_down = value_at values (i-1) (j+1) (k-1), front_right_top = value_at values (i-1) (j+1) (k+1), - back_left_down = value_at values (i-1) (j-1) (k-1), + back_left_down = value_at values (i+1) (j-1) (k-1), back_left_top = value_at values (i+1) (j-1) (k+1), back_right_down = value_at values (i+1) (j+1) (k-1), back_right_top = value_at values (i+1) (j+1) (k+1),