mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-12 17:54:18 +02:00
refactor
This commit is contained in:
@@ -4,5 +4,10 @@ function _str_hash(value) =
|
||||
end = len(chars) - 1
|
||||
)
|
||||
end == 0 ? ord(chars[0]) :
|
||||
let(cum_total = [for(i = 0, s = ord(chars[0]); i < end; i = i + 1, s = s + (ord(chars[i]) * 31 ^ i)) s])
|
||||
let(
|
||||
cum_total = [
|
||||
for(i = 0, s = ord(chars[0]), is_continue = i < end;
|
||||
is_continue;
|
||||
i = i + 1, is_continue = i < end, s = is_continue ? s + (ord(chars[i]) * 31 ^ i) : undef) s]
|
||||
)
|
||||
cum_total[end - 1] + (ord(chars[end]) * 31 ^ end);
|
||||
|
@@ -1,22 +0,0 @@
|
||||
use <ptf/ptf_rotate.scad>;
|
||||
use <sweep.scad>;
|
||||
|
||||
module polar_zonohedra(n){
|
||||
spiral = [
|
||||
for(r=[0:n])
|
||||
let(p = ptf_rotate([10, 0, PI * 10 * r / n], [0, 0, -360 * r / n]) - [10, 0, 0])
|
||||
[p[0], p[1], p[2] * 1.75]
|
||||
];
|
||||
|
||||
sections = [
|
||||
for(i=[0:n])
|
||||
[for(p = spiral) ptf_rotate(p, [0, 0, 360 * i / n])]
|
||||
];
|
||||
|
||||
sweep(sections);
|
||||
}
|
||||
|
||||
for(n = [4:8]) {
|
||||
translate([50 * (n - 4), 0, 0])
|
||||
polar_zonohedra(n);
|
||||
}
|
@@ -3,5 +3,10 @@ use <../swap.scad>;
|
||||
function _shuffle(lt, indices, leng) =
|
||||
let(end = len(lt) - 1)
|
||||
end == 0 ? lt :
|
||||
let(cum = [for(i = 0, s = swap(lt, i, indices[i]); i < end; i = i + 1, s = swap(s, i, indices[i])) s])
|
||||
let(
|
||||
cum = [
|
||||
for(i = 0, s = swap(lt, 0, indices[0]), is_continue = i < end;
|
||||
is_continue;
|
||||
i = i + 1, is_continue = i < end, s = is_continue ? swap(s, i, indices[i]) : undef) s]
|
||||
)
|
||||
swap(cum[end - 1], end, indices[end]);
|
@@ -11,6 +11,10 @@
|
||||
function sub_str(t, begin, end) =
|
||||
let(
|
||||
ed = is_undef(end) ? len(t) : end,
|
||||
cum = [for(i = begin, s = t[i]; i < ed; i = i + 1, s = str(s, t[i])) s]
|
||||
cum = [
|
||||
for(i = begin, s = t[i], is_continue = i < ed;
|
||||
is_continue;
|
||||
i = i + 1, is_continue = i < ed, s = is_continue ? str(s, t[i]) : undef) s
|
||||
]
|
||||
)
|
||||
cum[len(cum) - 1];
|
@@ -11,5 +11,10 @@
|
||||
function sum(lt) =
|
||||
let(end = len(lt) - 1)
|
||||
end == 0 ? lt[0] :
|
||||
let(cum_total = [for(i = 0, s = lt[0]; i < end; i = i + 1, s = s + lt[i]) s])
|
||||
let(
|
||||
cum_total = [
|
||||
for(i = 0, s = lt[0], is_continue = i < end;
|
||||
is_continue;
|
||||
i = i + 1, is_continue = i < end, s = is_continue ? s + lt[i] : undef) s]
|
||||
)
|
||||
cum_total[end - 1] + lt[end];
|
Reference in New Issue
Block a user