Replace bresenham with digitalLine
This commit is contained in:
+5
-5
@@ -275,19 +275,19 @@ zoneAroundPoint' i (x',y') = IM.fromSet (const ys) xs
|
||||
-- if this reoccurs, maybe change
|
||||
-- divide line factor from 2 to 1.5
|
||||
bres :: Point2 -> Point2 -> [(Int,Int)]
|
||||
bres a b = bresenham (zoneOfPoint a) (zoneOfPoint b)
|
||||
bres a b = digitalLine (zoneOfPoint a) (zoneOfPoint b)
|
||||
|
||||
bresx :: Point2 -> Point2 -> [(Int,Int)]
|
||||
bresx a b = bresenham (x-1,y-1) (x'-1,y'-1)
|
||||
bresx a b = digitalLine (x-1,y-1) (x'-1,y'-1)
|
||||
where (x,y) = zoneOfPoint a
|
||||
(x',y') = zoneOfPoint b
|
||||
|
||||
zoneOfLine :: Point2 -> Point2 -> [(Int,Int)]
|
||||
zoneOfLine (aa,ab) (ba,bb) = nub $ concatMap f
|
||||
$ bresenham (zoneOfPoint (aa,ab)) (zoneOfPoint (ba,bb))
|
||||
$ digitalLine (zoneOfPoint (aa,ab)) (zoneOfPoint (ba,bb))
|
||||
where f (x,y) = [(p,r) | p <-[x-1,x,x+1] , r<-[y-1,y,y+1]]
|
||||
--zoneOfLine (aa,ab) (ba,bb) = nub $ concatMap f
|
||||
-- $ bresenham (zoneOfPoint (aa-n,ab-n)) (zoneOfPoint (ba-n,bb-n))
|
||||
-- $ digitalLine (zoneOfPoint (aa-n,ab-n)) (zoneOfPoint (ba-n,bb-n))
|
||||
-- where f (x,y) = [(p,r) | p <-[x,x+1] , r<-[y,y+1]]
|
||||
-- n = zoneSize * 0.5
|
||||
|
||||
@@ -302,7 +302,7 @@ expandLine xs = IM.map expandSet
|
||||
|
||||
zoneOfLine' :: Point2 -> Point2 -> IM.IntMap IS.IntSet
|
||||
{-# INLINE zoneOfLine' #-}
|
||||
zoneOfLine' a b = expandLine $ bresenham (x-1,y-1) (x'-1,y'-1)
|
||||
zoneOfLine' a b = expandLine $ digitalLine (x-1,y-1) (x'-1,y'-1)
|
||||
where (x,y) = zoneOfPoint a
|
||||
(x',y') = zoneOfPoint b
|
||||
|
||||
|
||||
Reference in New Issue
Block a user