From 59ae93ba5fcdc403a5e73fa153e3d1e2ff4668e8 Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Thu, 14 Oct 2021 22:11:14 +0800 Subject: [PATCH] calculate r_base directly --- src/polyhedra/_impl/_geom_platonic_polyhedra.scad | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/polyhedra/_impl/_geom_platonic_polyhedra.scad b/src/polyhedra/_impl/_geom_platonic_polyhedra.scad index 498b14d7..93d1ae26 100644 --- a/src/polyhedra/_impl/_geom_platonic_polyhedra.scad +++ b/src/polyhedra/_impl/_geom_platonic_polyhedra.scad @@ -1,5 +1,3 @@ -use <../../util/sum.scad>; - function _tri_subdivide(points, detail) = let( rows = detail + 1, @@ -13,8 +11,8 @@ function _tri_subdivide(points, detail) = for(ci = [0:cols]) points[0] + ci * dc + ri * dr ], - pre_n = concat([0], [for(ri = [0:rows]) rows - ri + 1]), - idx = function(ci, ri) ci + sum([for(i = [0:ri]) pre_n[i]]), + ri_base = [for(ri = 0, acc = 0; ri <= rows; ri = ri + 1, acc = acc + rows - ri + 2) acc], + idx = function(ci, ri) ci + ri_base[ri], faces = [ for(ri = [0:rows - 1]) let(cols = rows - ri - 1)