From 5ce9b4487b47770149e2f5ed86f941edfa91ae7b Mon Sep 17 00:00:00 2001 From: jgk Date: Sun, 14 Mar 2021 12:05:27 +0100 Subject: [PATCH] Commit before work on beziergun --- src/Dodge/Rendering.hs | 2 +- src/Picture.hs | 19 +++++++++---------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/Dodge/Rendering.hs b/src/Dodge/Rendering.hs index 4c63e269e..67d690b97 100644 --- a/src/Dodge/Rendering.hs +++ b/src/Dodge/Rendering.hs @@ -122,7 +122,7 @@ worldPictures w testPic :: World -> [Picture] testPic w = --[blank] - [setLayer 1 $ onLayerL [99] $ bezierQuad white red 20 20 (00,00) (150,90) (200,200) ] + [setLayer 1 $ onLayerL [99] $ bezierQuad white red 5 5 (00,00) (300,305) (50,000) ] -- $ uncurry translate (mouseWorldPos w) diff --git a/src/Picture.hs b/src/Picture.hs index 46fd0d0b2..3c88c5082 100644 --- a/src/Picture.hs +++ b/src/Picture.hs @@ -83,18 +83,17 @@ bezierQuad cola colc ra rc a b c = BezierQuad 0 [-- ( (0,0) , cola, (0,0), (0,0) where colb = mixColors 0.5 0.5 cola colc b2a | isLHS a b c = a -.- b | otherwise = b -.- a - aRadVec = ra *.* (normalizeV $ vNormal b2a) - aX = a -.- 0.5 *.* aRadVec - aIn = a +.+ 0.5 *.* aRadVec + aRadVec = 0.5 * ra *.* (normalizeV $ vNormal b2a) + aX = a -.- aRadVec + aIn = a +.+ aRadVec b2c | isLHS a b c = b -.- c | otherwise = c -.- b - cRadVec = rc *.* (normalizeV $ vNormal b2c) - cX = c -.- 0.5 *.* cRadVec - cIn = c +.+ 0.5 *.* cRadVec - bX = (b -.- (0.5 *.* aRadVec) ) - -.- (0.5 *.* cRadVec) - bIn = b +.+ (0.5 *.* aRadVec) - +.+ (0.5 *.* cRadVec) + cRadVec = 0.5 * rc *.* (normalizeV $ vNormal b2c) + cX = c -.- cRadVec + cIn = c +.+ cRadVec + bRadVec = 0.25 * (ra + rc) *.* (normalizeV $ a +.+ b -.- 2 *.* c) + bX = b +.+ bRadVec + bIn = b -.- bRadVec fa = extrapolate aX cX bX fc = extrapolate cX aX bX fa' = extrapolate aIn cIn bIn