From 238c2ede273f1a303abd742a82aa49ee75cba43a Mon Sep 17 00:00:00 2001 From: Justin Lin Date: Fri, 27 May 2022 17:22:51 +0800 Subject: [PATCH] shorten allSep --- .../_impl/_differential_line_growth.scad | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/experimental/_impl/_differential_line_growth.scad b/src/experimental/_impl/_differential_line_growth.scad index d5a61446..9ae6ee2b 100644 --- a/src/experimental/_impl/_differential_line_growth.scad +++ b/src/experimental/_impl/_differential_line_growth.scad @@ -80,11 +80,12 @@ function allSeperationFrom(nodes, leng, node, n) = [ seperationFrom(node, nodes[j]) ]; -function updateAllSeperation(allSeperation, allSeperationFrom_i_1, leng, n) = [ - for(i = 0; i < leng; i = i + 1) - if(i < n) allSeperation[i] - else allSeperation[i] - allSeperationFrom_i_1[i - n] -]; +function updateAllSeperation(allSeperation, allSeperationFrom_i_1) = + let(leng = len(allSeperationFrom_i_1)) + [ + for(k = 0; k < leng; k = k + 1) + allSeperation[k + 1] - allSeperationFrom_i_1[k] + ]; function differentiate(nodes, leng) = [ @@ -97,12 +98,12 @@ function differentiate(nodes, leng) = i = i + 1, j = j + 1, running = i < leng, - allSeperationFrom_i_1 = running ? allSeperationFrom(nodes, leng, nodes[i], j) : undef, - allSep = running ? updateAllSeperation(allSep, allSeperationFrom_i_1, leng, j) : undef + allSep = running ? updateAllSeperation(allSep, allSeperationFrom_i_1) : undef, + allSeperationFrom_i_1 = running ? allSeperationFrom(nodes, leng, nodes[i], j) : undef ) applyForceTo( nodes[i], - sum([allSep[i], each allSeperationFrom_i_1]), + sum([allSep[0], each allSeperationFrom_i_1]), cohesion(nodes, leng, i) ) ];