From 7435ce70153572e9f2dec316406e6ebb53334b51 Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Wed, 26 Oct 2022 22:20:09 -0400 Subject: graph work --- bezier.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'bezier.cpp') diff --git a/bezier.cpp b/bezier.cpp index 42ed04d..f476986 100644 --- a/bezier.cpp +++ b/bezier.cpp @@ -8,9 +8,10 @@ Bezier_SolveYForX(v2 Point_P0, v2 Point_P1, v2 Point_P2, v2 Point_P3, real32 Tar v2 m1 = (Point_P2 - Point_P0) / (2 * Tau); v2 m2 = (Point_P3 - Point_P1) / (2 * Tau); - real32 Precision = 0.001; + real32 Precision = 0.000001; real32 t = (TargetX - Point_P0.x) / (Point_P3.x - Point_P0.x); + int Iterations = 0; for (;;) { real32 t2 = t * t; real32 t3 = t2 * t; @@ -22,8 +23,9 @@ Bezier_SolveYForX(v2 Point_P0, v2 Point_P1, v2 Point_P2, v2 Point_P3, real32 Tar bool32 Cond1 = (Point.x <= (TargetX - Precision)); bool32 Cond2 = (Point.x >= (TargetX + Precision)); - if (Cond1 || Cond2) { + if ((Cond1 || Cond2) && Iterations < 10) { t = t * TargetX / Point.x; + Iterations++; } else { Y = Point.y; break; -- cgit v1.2.3