-findBounds :: [Coord] -> (Integer, Integer, Integer, Integer)
-findBounds coords = ( minX - (maxY - minY) -- small x edge
- , maxX + (maxY - minY) -- large x edge
- , minY - (maxX - minX) -- small x edge
- , maxY + (maxX - minX) -- large y edge
- )
- where maxX = maximum $ map fst coords
- minX = minimum $ map fst coords
- maxY = maximum $ map snd coords
- minY = minimum $ map snd coords
+ findBounds :: [Coord] -> (Integer, Integer, Integer, Integer)
+ findBounds coords = ( minX - (maxY - minY) `div` 2 -- small x edge
+ , maxX + (maxY - minY) `div` 2 -- large x edge
+ , minY - (maxX - minX) `div` 2-- small x edge
+ , maxY + (maxX - minX) `div` 2 -- large y edge
+ )
+ where maxX = maximum $ map fst coords
+ minX = minimum $ map fst coords
+ maxY = maximum $ map snd coords
+ minY = minimum $ map snd coords