{-# LANGUAGE NoMonomorphismRestriction #-} import Diagrams.Prelude import Diagrams.Backend.SVG.CmdLine import Data.Colour tri c n = dots <> (strokeT edges # lc c # lw 0.2 # fcA (c `withOpacity` 0.5)) where rows = map (hcat' with { sep = 1 }) . zipWith replicate [n,n-1..1] . repeat $ dot c dots = decorateTrail (rotateBy (1/6) edge) rows edge = fromOffsets . replicate (n-1) $ unitX # scale 3 edges =