From: Ian Jackson Date: Sat, 30 Dec 2017 13:51:01 +0000 (+0000) Subject: helixish: convert r from polynomial back to our unscaled plane coordinates X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?a=commitdiff_plain;h=d7d442ef58acf7ca46fdf5b792f00cb35cc0c159;p=moebius3.git helixish: convert r from polynomial back to our unscaled plane coordinates Signed-off-by: Ian Jackson --- 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]])