This library calculate contour level lines for a two-dimensional scalar field, based on the Marching Squares algorithm https://en.wikipedia.org/wiki/Marching_squares.
Internal.GridFunction
Represent a two-dimensioal scalar field
gridFunction : Grid -> (Point -> Basics.Float) -> GridFunction
Construct a two-dimensial scalar field from a function
f : (Float,Float) -> Float
taking values in [0,1]x[0,1]
Internal.Point
Represent a point as (Float,Float)
Internal.Grid
Represent the discretization grid
pointAt : Grid -> Basics.Int -> Point
Get the point, ithat is (x,y) coordinates, in the grid for a data index.
fromList : Grid -> List Basics.Float -> GridFunction
Construct a two-dimensial scalar field from a data in a list of values
Values are expected in the order of indices in the given grid,
running from min to max, incrementing the first component first.
Use pointAt to get (x,y) coordinates for an data index.
contourLines : Basics.Float -> GridFunction -> List Line
Calculate contour lines for a given level
Internal.Line
A line within a contour
points : Line -> ( Point, Point )
Get a line's end points
viewGridFunction : Style -> GridFunction -> List Basics.Float -> Html msg
Render SVG with contours for several levels of a grid function.
drawGridFunction : Style -> GridFunction -> List Basics.Float -> Collage msg
Draw contours for several levels of a grid function.
traceLine : Style -> Line -> Collage msg
Draw a line as a traced path.
drawContour : Style -> GridFunction -> Basics.Float -> Collage msg
Draw contour for one level of a grid function.
{ width : Basics.Int
, height : Basics.Int
, lineStyle : Collage.LineStyle
}
Rendering style properties.
defaultStyle : Style
Default style.