From d7d442ef58acf7ca46fdf5b792f00cb35cc0c159 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 30 Dec 2017 13:51:01 +0000 Subject: [PATCH] helixish: convert r from polynomial back to our unscaled plane coordinates Signed-off-by: Ian Jackson --- helixish.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/helixish.py b/helixish.py index cdf79ce..971c896 100644 --- a/helixish.py +++ b/helixish.py @@ -124,8 +124,15 @@ class HelixishCurve(): ] railway_roots = np.roots(railway_polynomial) dbg('railway poly, roots:', railway_polynomial, railway_roots) - for railway_r in railway_roots: - dbg(' twoarcs root r=',railway_r) + for railway_r_pq1 in railway_roots: + # roots for r are calculated based on coordinates where + # Q is at (1,0) but our PQ distance is different + railway_r = railway_r_pq1 * dist_pq_plane + dbg(' twoarcs root r_pq1=', railway_r_pq1, 'r=',railway_r, + railway_polynomial[0] * railway_r_pq1 * railway_r_pq1 + + railway_polynomial[1] * railway_r_pq1 + + railway_polynomial[2] + ) def railway_CPQ(pq, dpq, railway_r): CPQ = pq + railway_r * np.array([-dpq[1], dpq[0]]) -- 2.30.2