import Data.Tree (Tree (Node)) import Control.Arrow (first) import Run (Descrizione, run, Grafici(Gr), Geometrici(Ge)) import Gloss (gloss_run, gloss_implementazione) testa = (Ge 0 60 0 80 0, Gr 20 1.5) corpo = (Ge 0 0 0 20 0, Gr 40 2) bracciodx = (Ge 13 50 13 25 0, Gr 25 3.5) avambracciodx = (Ge 13 0 13 (-20) 0, Gr 20 3.5) cosciadx = (Ge 10 (-10) 10 (-40) 0, Gr 30 3) gambadx = (Ge 10 (-70) 10 (-97) 0, Gr 27 3) simmetrico (Ge x y xo yo alpha, gr) = (Ge (-x) y (-xo) yo (pi - alpha), gr) marionetta :: Descrizione marionetta = Node corpo [ Node testa [] , Node bracciodx [Node avambracciodx []] , Node (simmetrico bracciodx) [Node (simmetrico avambracciodx) []] , Node cosciadx [Node gambadx []] , Node (simmetrico cosciadx) [Node (simmetrico gambadx) []] ] main = run (gloss_run "marionetta" (600,600) (0,0)) gloss_implementazione marionetta