12 lines
315 B
Haskell
12 lines
315 B
Haskell
module Dodge.Wall.Reflect
|
|
where
|
|
import Geometry
|
|
import Dodge.Data
|
|
|
|
reflDirWall :: Point2 -> Point2 -> Wall -> Float
|
|
reflDirWall sp ep wl = argV (reflectIn (uncurry (-.-) (_wlLine wl)) (ep -.- sp))
|
|
|
|
-- point free nonsense
|
|
reflVelWall :: Wall -> Point2 -> Point2
|
|
reflVelWall = reflectIn . uncurry (-.-) . _wlLine
|