From 2c98f9dcf6276d059229b03f4210878830fd1b48 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Sat, 11 May 2019 15:01:21 +0200 Subject: [PATCH] 3d:: correct icosahedron --- 3d-models.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/3d-models.cpp b/3d-models.cpp index f2baf87a..07ead088 100644 --- a/3d-models.cpp +++ b/3d-models.cpp @@ -674,11 +674,12 @@ void make_ball(hpcshape& sh, ld rad, int lev) { sh.flags |= POLY_TRIANGLES; hyperpoint tip = xpush0(rad); hyperpoint atip = xpush0(-rad); + ld z = 63.43 * degree; for(int i=0; i<5; i++) { - hyperpoint a = cspin(1, 2, (72 * i ) * degree) * spin(1) * tip; - hyperpoint b = cspin(1, 2, (72 * i-72) * degree) * spin(1) * tip; - hyperpoint c = cspin(1, 2, (72 * i+36) * degree) * spin(M_PI-1) * tip; - hyperpoint d = cspin(1, 2, (72 * i-36) * degree) * spin(M_PI-1) * tip; + hyperpoint a = cspin(1, 2, (72 * i ) * degree) * spin(z) * tip; + hyperpoint b = cspin(1, 2, (72 * i-72) * degree) * spin(z) * tip; + hyperpoint c = cspin(1, 2, (72 * i+36) * degree) * spin(M_PI-z) * tip; + hyperpoint d = cspin(1, 2, (72 * i-36) * degree) * spin(M_PI-z) * tip; balltriangle(tip, a, b, rad, lev); balltriangle(a, b, c, rad, lev); balltriangle(b, c, d, rad, lev);