1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-13 18:24:28 +02:00
This commit is contained in:
Justin Lin
2020-04-02 07:36:42 +08:00
parent 0d0293218e
commit 774625853d
4 changed files with 10 additions and 10 deletions

View File

@@ -6,7 +6,7 @@ function _manhattan(v) = sum([for(d = v) abs(d)]);
function _chebyshev(p1, p2) =
max([for(i = [0:len(p1) - 1]) abs(p1[i] - p2[i])]);
function _nz_cells_classic(cells, p, dist) =
function _nz_cell_classic(cells, p, dist) =
let(
dists = [
for(i = [0:len(cells) - 1])
@@ -18,7 +18,7 @@ function _nz_cells_classic(cells, p, dist) =
)
min(dists);
function _nz_cells_border(cells, p) =
function _nz_cell_border(cells, p) =
let(
dists = [
for(i = [0:len(cells) - 1])

View File

@@ -1,4 +1,4 @@
use <experimental/nz_cells.scad>;
use <experimental/nz_cell.scad>;
use <golden_spiral.scad>;
size = [100, 50];
@@ -10,11 +10,11 @@ pts_angles = golden_spiral(
point_distance = 3
);
cells = [for(pt_angle = pts_angles) pt_angle[0] + half_size];
feature_points = [for(pt_angle = pts_angles) pt_angle[0] + half_size];
noised = [
for(y = [0:size[1] - 1])
for(x = [0:size[0] - 1])
[x, y, nz_cells(cells, [x, y])]
[x, y, nz_cell(feature_points, [x, y])]
];
max_dist = max([for(n = noised) n[2]]);

View File

@@ -0,0 +1,5 @@
use <experimental/_impl/_nz_cell_impl.scad>;
function nz_cell(points, p, dist = "euclidean") =
dist == "border" ? _nz_cell_border(points, p) :
_nz_cell_classic(points, p, dist);

View File

@@ -1,5 +0,0 @@
use <experimental/_impl/_nz_cells_impl.scad>;
function nz_cells(cells, p, dist = "euclidean") =
dist == "border" ? _nz_cells_border(cells, p) :
_nz_cells_classic(cells, p, dist);