1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-13 18:24:28 +02:00

shorten allSep

This commit is contained in:
Justin Lin
2022-05-27 17:22:51 +08:00
parent 1fb449fdf6
commit 238c2ede27

View File

@@ -80,11 +80,12 @@ function allSeperationFrom(nodes, leng, node, n) = [
seperationFrom(node, nodes[j]) seperationFrom(node, nodes[j])
]; ];
function updateAllSeperation(allSeperation, allSeperationFrom_i_1, leng, n) = [ function updateAllSeperation(allSeperation, allSeperationFrom_i_1) =
for(i = 0; i < leng; i = i + 1) let(leng = len(allSeperationFrom_i_1))
if(i < n) allSeperation[i] [
else allSeperation[i] - allSeperationFrom_i_1[i - n] for(k = 0; k < leng; k = k + 1)
]; allSeperation[k + 1] - allSeperationFrom_i_1[k]
];
function differentiate(nodes, leng) = function differentiate(nodes, leng) =
[ [
@@ -97,12 +98,12 @@ function differentiate(nodes, leng) =
i = i + 1, i = i + 1,
j = j + 1, j = j + 1,
running = i < leng, running = i < leng,
allSeperationFrom_i_1 = running ? allSeperationFrom(nodes, leng, nodes[i], j) : undef, allSep = running ? updateAllSeperation(allSep, allSeperationFrom_i_1) : undef,
allSep = running ? updateAllSeperation(allSep, allSeperationFrom_i_1, leng, j) : undef allSeperationFrom_i_1 = running ? allSeperationFrom(nodes, leng, nodes[i], j) : undef
) )
applyForceTo( applyForceTo(
nodes[i], nodes[i],
sum([allSep[i], each allSeperationFrom_i_1]), sum([allSep[0], each allSeperationFrom_i_1]),
cohesion(nodes, leng, i) cohesion(nodes, leng, i)
) )
]; ];