oscpacking-0.3.0.0: Graphics/OscPacking/Examples.hs
{-|
Module : Graphics.OscPacking.Examples
Description : Examples to study
Copyright : (c) Christopher Howard, 2016
License : GPL-3
Maintainer : ch.howard@zoho.com
Please be aware that breaking changes to example functions will not be
represented as such for purposes of package versioning. Do not link to
example functions from production code.
-}
module Graphics.OscPacking.Examples where
import Graphics.Gloss.Data.Color (black)
import Graphics.OscPacking
import Prelude ((/), ($), Maybe(..), putStrLn, IO)
-- |Packs a rectangle with circles.
--
-- @
-- example1 :: IO()
-- example1 =
-- do putStrLn \"Packing. Please be patient.\"
-- displayWindow (800, 600) black $
-- buildPicture interpretation packing totalcircles
-- where packing = defaultPacking { boxWidth = 800.0,
-- boxHeight = 600.0,
-- seedX = 42,
-- seedY = 11,
-- boundary = Just (rectB (20, 20) 760 560),
-- startingCircles =
-- [Graphics.OscPacking.Circle
-- { position = (400, 300), radius = 10 }] }
-- totalcircles = 1500
-- interpretation = cycling 0.05 200
-- @
example1 :: IO()
example1 =
do putStrLn "Packing. Please be patient."
displayWindow (800, 600) black $
buildPicture interpretation packing totalcircles
where packing = defaultPacking { boxWidth = 800.0,
boxHeight = 600.0,
seedX = 42,
seedY = 11,
boundary = Just (rectB (20, 20) 760 560),
startingCircles =
[Graphics.OscPacking.Circle
{ position = (400, 300), radius = 10 }] }
totalcircles = 1500
interpretation = cycling 0.05 200
-- |Packs a circle with circles.
--
-- @
-- example2 :: IO()
-- example2 =
-- do putStrLn \"Packing. Please be patient.\"
-- displayWindow (800, 600) black $
-- buildPicture interpretation packing totalcircles
-- where packing = defaultPacking { boxWidth = 600.0,
-- boxHeight = 600.0,
-- seedX = 331,
-- seedY = 2010,
-- boundary = Just (circleB
-- (600.0 \/ 2, 600.0 \/ 2) 250),
-- startingCircles =
-- [Graphics.OscPacking.Circle
-- { position = (300, 300), radius = 10 }] }
-- totalcircles = 1500
-- interpretation = colorful 270
-- @
example2 :: IO()
example2 =
do putStrLn "Packing. Please be patient."
displayWindow (800, 600) black $
buildPicture interpretation packing totalcircles
where packing = defaultPacking { boxWidth = 600.0,
boxHeight = 600.0,
seedX = 331,
seedY = 2010,
boundary = Just (circleB
(600.0 / 2, 600.0 / 2) 250),
startingCircles =
[Graphics.OscPacking.Circle
{ position = (300, 300), radius = 10 }] }
totalcircles = 1500
interpretation = colorful 270