Files
loop/src/Dodge/ShiftPoint.hs
T

13 lines
414 B
Haskell

{-# LANGUAGE BangPatterns #-}
module Dodge.ShiftPoint where
import Geometry
shiftPointBy :: (Point2,Float) -> Point2 -> Point2
shiftPointBy (pos,rot) !p = pos +.+ rotateV rot p
invShiftPointBy :: (Point2,Float) -> Point2 -> Point2
invShiftPointBy (p1,r) p2 = rotateV (-r) $ p2 -.- p1
shiftPoint3By :: (Point2,Float) -> Point3 -> Point3
shiftPoint3By (pos,rot) (V3 x y z) = addZ z $ pos +.+ rotateV rot (V2 x y)