mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-12 09:44:16 +02:00
dot notation indexing
This commit is contained in:
@@ -41,9 +41,9 @@ module tail() {
|
||||
module dragon_and_perl() {
|
||||
function __angy_angz(p1, p2) =
|
||||
let(
|
||||
dx = p2[0] - p1[0],
|
||||
dy = p2[1] - p1[1],
|
||||
dz = p2[2] - p1[2],
|
||||
dx = p2.x - p1.x,
|
||||
dy = p2.y - p1.y,
|
||||
dz = p2.z - p1.z,
|
||||
ya = atan2(dz, sqrt(pow(dx, 2) + pow(dy, 2))),
|
||||
za = atan2(dy, dx)
|
||||
) [ya, za];
|
||||
|
@@ -41,9 +41,9 @@ module tail() {
|
||||
module infinity_dragon() {
|
||||
function __angy_angz(p1, p2) =
|
||||
let(
|
||||
dx = p2[0] - p1[0],
|
||||
dy = p2[1] - p1[1],
|
||||
dz = p2[2] - p1[2],
|
||||
dx = p2.x - p1.x,
|
||||
dy = p2.y - p1.y,
|
||||
dz = p2.z - p1.z,
|
||||
ya = atan2(dz, sqrt(pow(dx, 2) + pow(dy, 2))),
|
||||
za = atan2(dy, dx)
|
||||
) [ya, za];
|
||||
|
@@ -25,9 +25,9 @@ module torus_knot_dragon() {
|
||||
|
||||
function __angy_angz(p1, p2) =
|
||||
let(
|
||||
dx = p2[0] - p1[0],
|
||||
dy = p2[1] - p1[1],
|
||||
dz = p2[2] - p1[2],
|
||||
dx = p2.x - p1.x,
|
||||
dy = p2.y - p1.y,
|
||||
dz = p2.z - p1.z,
|
||||
ya = atan2(dz, sqrt(dx * dx + dy * dy)),
|
||||
za = atan2(dy, dx)
|
||||
) [ya, za];
|
||||
|
@@ -1,8 +1,8 @@
|
||||
function __angy_angz(p1, p2) =
|
||||
let(
|
||||
dx = p2[0] - p1[0],
|
||||
dy = p2[1] - p1[1],
|
||||
dz = p2[2] - p1[2],
|
||||
dx = p2.x - p1.x,
|
||||
dy = p2.y - p1.y,
|
||||
dz = p2.z - p1.z,
|
||||
ya = atan2(dz, sqrt(dx * dx + dy * dy)),
|
||||
za = atan2(dy, dx)
|
||||
) [ya, za];
|
@@ -1 +1 @@
|
||||
function __to2d(p) = [p[0], p[1]];
|
||||
function __to2d(p) = [p.x, p.y];
|
@@ -1 +1 @@
|
||||
function __to3d(p) = [p[0], p[1], 0];
|
||||
function __to3d(p) = [p.x, p.y, 0];
|
@@ -1,6 +1,6 @@
|
||||
function __to_3_elems_ang_vect(a) =
|
||||
let(leng = len(a))
|
||||
leng == 3 ? a :
|
||||
leng == 2 ? [a[0], a[1], 0] : [a[0], 0, 0];
|
||||
leng == 2 ? [a.x, a.y, 0] : [a.x, 0, 0];
|
||||
|
||||
function __to_ang_vect(a) = is_num(a) ? [0, 0, a] : __to_3_elems_ang_vect(a);
|
@@ -7,7 +7,7 @@ function __trapezium(length, h, round_r) =
|
||||
l_half_trapezium = [
|
||||
for(i = 0; i <= to; i = i + 1)
|
||||
let(pt = r_half_trapezium[to - i])
|
||||
[-pt[0], pt[1]]
|
||||
[-pt.x, pt.y]
|
||||
]
|
||||
)
|
||||
concat(
|
||||
|
@@ -1,7 +1,7 @@
|
||||
use <../util/slice.scad>;
|
||||
|
||||
function _convex_hull_lt_than_by_xy(p1, p2) =
|
||||
p1[0] < p2[0] || (p1[0] == p2[0] && p1[1] < p2[1]);
|
||||
p1.x < p2.x || (p1.x == p2.x && p1.y < p2.y);
|
||||
|
||||
function _convex_hull_sort_by_xy(lt) =
|
||||
let(leng = len(lt))
|
||||
@@ -15,15 +15,7 @@ function _convex_hull_sort_by_xy(lt) =
|
||||
|
||||
// oa->ob ct_clk : greater than 0
|
||||
function _convex_hull_impl_dir(o, a, b) =
|
||||
let(
|
||||
ox = o[0],
|
||||
oy = o[1],
|
||||
ax = a[0],
|
||||
ay = a[1],
|
||||
bx = b[0],
|
||||
by = b[1]
|
||||
)
|
||||
(ax - ox) * (by - oy) - (ay - oy) * (bx - ox);
|
||||
(a.x - o.x) * (b.y - o.y) - (a.y - o.y) * (b.x - o.x);
|
||||
|
||||
function _convex_hull_convex_hull_lower_m(chain, p, m) =
|
||||
(m >= 2 && _convex_hull_impl_dir(chain[m - 2], chain[m - 1], p) <= 0) ? _convex_hull_convex_hull_lower_m(chain, p, m - 1) : m;
|
||||
|
@@ -1,13 +1,9 @@
|
||||
function is_zero(p) = p == [0, 0, 0];
|
||||
|
||||
function _cmp(a, b) =
|
||||
let(
|
||||
ax = a[0], ay = a[1], az = a[2],
|
||||
bx = b[0], by = b[1], bz = b[2]
|
||||
)
|
||||
ax != bx ? ax < bx :
|
||||
ay != by ? ay < by :
|
||||
az < bz;
|
||||
a.x != b.x ? a.x < b.x :
|
||||
a.y != b.y ? a.y < b.y :
|
||||
a.z < b.z;
|
||||
|
||||
function _convex_hull_sort_by_xyz(pts) =
|
||||
let(leng = len(pts))
|
||||
|
Reference in New Issue
Block a user