X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fbezier.cpp;h=9d2467283ab47acb0df212787ee0aae24de10a30;hp=3fa16e35ed13cab396a7c916a43309d67d6d0e76;hb=8b3424a48d2d2e20de1a0e60ff6e1d84b9b5e226;hpb=35f1190c8c8036ed11180656769cf0c1cbf7c2b3 diff --git a/src/bezier.cpp b/src/bezier.cpp index 3fa16e3..9d24672 100644 --- a/src/bezier.cpp +++ b/src/bezier.cpp @@ -166,8 +166,8 @@ pair BezierTurningPoints(const Real & p0, const Real & p1, const Rea { return pair(0, 1); } - Real a = (3*(p1-p2) + p3 - p0); - Real b = 2*(p2 - 2*p1 + p0); + Real a = ((p1-p2)*3 + p3 - p0); + Real b = (p2 - p1*2 + p0)*2; Real c = (p1-p0); if (a == 0) { @@ -179,7 +179,7 @@ pair BezierTurningPoints(const Real & p0, const Real & p1, const Rea return pair(t, t); } //Debug("a, b, c are %f, %f, %f", Float(a), Float(b), Float(c)); - if (b*b - 4*a*c < 0) + if (b*b - a*c*4 < 0) { //Debug("No real roots"); return pair(0,1);