packages feed

goal-core-0.1: scripts/contours.hs

import Goal.Core

--- Test ---

main :: IO ()
main = do
    let f x y = 0.2 * x + 0.2 * y + sin x + sin y
        sz = 7.5
        nstp = 1000
        rng = (-sz,sz,nstp)
        niso = 20
        cntrs = contours rng rng niso f
        clrs = rgbaGradient (0,0,1,1) (1,0,0,1) niso
        lyt = toRenderable . execEC $ do

            layout_title .= "Contours of a 2D Sin Curve"

            sequence $ do

                ((_,cntr),clr) <- zip cntrs clrs

                return . plot . liftEC $ do

                    plot_lines_style .= solidLine 3 clr
                    plot_lines_values .= cntr

    renderableToAspectWindow False 800 600 lyt