gloss-1.11.1.1: Painless 2D vector graphics, animations and simulations.

Safe Haskell None Haskell98

Graphics.Gloss.Interface.Pure.Simulate

Description

Simulate mode is for producing an animation of some model who's picture changes over finite time steps. The behavior of the model can also depent on the current ViewPort.

Synopsis

# Documentation

Arguments

 :: Display Display mode. -> Color Background color. -> Int Number of simulation steps to take for each second of real time. -> model The initial model. -> (model -> Picture) A function to convert the model to a picture. -> (ViewPort -> Float -> model -> model) A function to step the model one iteration. It is passed the current viewport and the amount of time for this simulation step (in seconds). -> IO ()

Run a finite-time-step simulation in a window. You decide how the model is represented, how to convert the model to a picture, and how to advance the model for each unit of time. This function does the rest.

Once the window is open you can use the same commands as with display.

data ViewPort Source #

The ViewPort represents the global transformation applied to the displayed picture. When the user pans, zooms, or rotates the display then this changes the ViewPort.

Constructors

 ViewPort FieldsviewPortTranslate :: !(Float, Float)Global translation.viewPortRotate :: !FloatGlobal rotation (in degrees).viewPortScale :: !FloatGlobal scaling (of both x and y coordinates).