Use tasty for tests, fix bug in circOnLine
This commit is contained in:
+4
-2
@@ -193,8 +193,10 @@ circOnSeg :: Point2 -> Point2 -> Point2 -> Float -> Bool
|
||||
{-# INLINE circOnSeg #-}
|
||||
circOnSeg !p1 !p2 !c !rad = magV (p1 -.- c) <= rad
|
||||
|| magV (p2 -.- c) <= rad
|
||||
|| isJustTrue (fmap (\p -> magV (p -.- c) < rad) y)
|
||||
-- || isJustTrue (fmap (\p -> magV (p -.- c) < rad) y)
|
||||
|| intersectSegSegTest p1 p2 (c -.- thenormal) (c +.+ thenormal)
|
||||
where
|
||||
thenormal = rad *.* vNormal (normalizeV $ p1 -.- p2)
|
||||
y = intersectSegLine p1 p2 c (c +.+ vNormal (p1 -.- p2))
|
||||
isJustTrue (Just True) = True
|
||||
isJustTrue _ = False
|
||||
@@ -279,7 +281,7 @@ diffAngles x y
|
||||
-- Note this doesn't necessarily find ALL solutions, asin is a map not a function.
|
||||
ssaTri :: Float -> Float -> Float -> Float
|
||||
ssaTri ab bc a
|
||||
| sin a == 0 = 0
|
||||
| sin a == 0 = ab - bc
|
||||
| bc == 0 = ab
|
||||
| otherwise =
|
||||
let c = asin ( (ab * sin a)/bc)
|
||||
|
||||
Reference in New Issue
Block a user