1
0
mirror of https://github.com/JustinSDK/dotSCAD.git synced 2025-08-26 07:55:16 +02:00
This commit is contained in:
Justin Lin
2020-04-05 16:11:57 +08:00
parent a6f45b1384
commit da36fbc52a

View File

@@ -8,6 +8,13 @@ function interpolated_pt(p0, p1, sigma) =
) )
[x0 + v[0] * t, y0 + v[1] * t, sigma]; [x0 + v[0] * t, y0 + v[1] * t, sigma];
/*
Grid indexes
1 2
| |
0 3
*/
/* /*
ISOLINES Impl Begin ============================ ISOLINES Impl Begin ============================
*/ */
@@ -540,7 +547,8 @@ function _case0021_isobands(cell_pts, lower, upper) = [
[cell_pts[0][0], cell_pts[0][1], cell_pts[0][2]], [cell_pts[0][0], cell_pts[0][1], cell_pts[0][2]],
interpolated_pt(cell_pts[0], cell_pts[3], upper), interpolated_pt(cell_pts[0], cell_pts[3], upper),
interpolated_pt(cell_pts[2], cell_pts[3], upper), interpolated_pt(cell_pts[2], cell_pts[3], upper),
interpolated_pt(cell_pts[2], cell_pts[3], lower), interpolated_pt(cell_pts[0], cell_pts[1], lower) interpolated_pt(cell_pts[2], cell_pts[3], lower),
interpolated_pt(cell_pts[0], cell_pts[1], lower)
] ]
]; ];
@@ -563,7 +571,8 @@ function _case2020_isobands(cell_pts, lower, upper) =
[ [
interpolated_pt(cell_pts[0], cell_pts[1], lower), interpolated_pt(cell_pts[0], cell_pts[1], lower),
interpolated_pt(cell_pts[1], cell_pts[2], lower), interpolated_pt(cell_pts[1], cell_pts[2], lower),
interpolated_pt(cell_pts[1], cell_pts[2], upper), interpolated_pt(cell_pts[0], cell_pts[1], upper) interpolated_pt(cell_pts[1], cell_pts[2], upper),
interpolated_pt(cell_pts[0], cell_pts[1], upper)
], ],
[ [
interpolated_pt(cell_pts[0], cell_pts[3], lower), interpolated_pt(cell_pts[0], cell_pts[3], lower),
@@ -586,12 +595,14 @@ function _case2020_isobands(cell_pts, lower, upper) =
[ [
interpolated_pt(cell_pts[0], cell_pts[1], lower), interpolated_pt(cell_pts[0], cell_pts[1], lower),
interpolated_pt(cell_pts[0], cell_pts[3], lower), interpolated_pt(cell_pts[0], cell_pts[3], lower),
interpolated_pt(cell_pts[0], cell_pts[3], upper), interpolated_pt(cell_pts[0], cell_pts[1], upper) interpolated_pt(cell_pts[0], cell_pts[3], upper),
interpolated_pt(cell_pts[0], cell_pts[1], upper)
], ],
[ [
interpolated_pt(cell_pts[1], cell_pts[2], upper), interpolated_pt(cell_pts[1], cell_pts[2], upper),
interpolated_pt(cell_pts[2], cell_pts[3], upper), interpolated_pt(cell_pts[2], cell_pts[3], upper),
interpolated_pt(cell_pts[2], cell_pts[3], lower), interpolated_pt(cell_pts[1], cell_pts[2], lower) interpolated_pt(cell_pts[2], cell_pts[3], lower),
interpolated_pt(cell_pts[1], cell_pts[2], lower)
] ]
]; ];
@@ -601,12 +612,14 @@ function _case0202_isobands(cell_pts, lower, upper) =
[ [
interpolated_pt(cell_pts[0], cell_pts[1], upper), interpolated_pt(cell_pts[0], cell_pts[1], upper),
interpolated_pt(cell_pts[0], cell_pts[3], upper), interpolated_pt(cell_pts[0], cell_pts[3], upper),
interpolated_pt(cell_pts[0], cell_pts[3], lower), interpolated_pt(cell_pts[0], cell_pts[1], lower) interpolated_pt(cell_pts[0], cell_pts[3], lower),
interpolated_pt(cell_pts[0], cell_pts[1], lower)
], ],
[ [
interpolated_pt(cell_pts[1], cell_pts[2], lower), interpolated_pt(cell_pts[1], cell_pts[2], lower),
interpolated_pt(cell_pts[2], cell_pts[3], lower), interpolated_pt(cell_pts[2], cell_pts[3], lower),
interpolated_pt(cell_pts[2], cell_pts[3], upper), interpolated_pt(cell_pts[1], cell_pts[2], upper) interpolated_pt(cell_pts[2], cell_pts[3], upper),
interpolated_pt(cell_pts[1], cell_pts[2], upper)
] ]
] : ] :
mdpz >= lower && mdpz < upper ? [ mdpz >= lower && mdpz < upper ? [
@@ -624,12 +637,14 @@ function _case0202_isobands(cell_pts, lower, upper) =
[ [
interpolated_pt(cell_pts[0], cell_pts[1], upper), interpolated_pt(cell_pts[0], cell_pts[1], upper),
interpolated_pt(cell_pts[1], cell_pts[2], upper), interpolated_pt(cell_pts[1], cell_pts[2], upper),
interpolated_pt(cell_pts[1], cell_pts[2], lower), interpolated_pt(cell_pts[0], cell_pts[1], lower) interpolated_pt(cell_pts[1], cell_pts[2], lower),
interpolated_pt(cell_pts[0], cell_pts[1], lower)
], ],
[ [
interpolated_pt(cell_pts[0], cell_pts[3], upper), interpolated_pt(cell_pts[0], cell_pts[3], upper),
interpolated_pt(cell_pts[0], cell_pts[3], lower), interpolated_pt(cell_pts[0], cell_pts[3], lower),
interpolated_pt(cell_pts[2], cell_pts[3], lower), interpolated_pt(cell_pts[2], cell_pts[3], upper) interpolated_pt(cell_pts[2], cell_pts[3], lower),
interpolated_pt(cell_pts[2], cell_pts[3], upper)
] ]
]; ];
@@ -745,7 +760,8 @@ function _case2120_isobands(cell_pts, lower, upper) =
[ [
interpolated_pt(cell_pts[0], cell_pts[3], lower), interpolated_pt(cell_pts[0], cell_pts[3], lower),
interpolated_pt(cell_pts[0], cell_pts[3], upper), interpolated_pt(cell_pts[0], cell_pts[3], upper),
interpolated_pt(cell_pts[0], cell_pts[1], upper), interpolated_pt(cell_pts[0], cell_pts[1], lower) interpolated_pt(cell_pts[0], cell_pts[1], upper),
interpolated_pt(cell_pts[0], cell_pts[1], lower)
], ],
[ [
interpolated_pt(cell_pts[2], cell_pts[3], upper), interpolated_pt(cell_pts[2], cell_pts[3], upper),
@@ -760,7 +776,8 @@ function _case0102_isobands(cell_pts, lower, upper) =
[ [
interpolated_pt(cell_pts[0], cell_pts[3], upper), interpolated_pt(cell_pts[0], cell_pts[3], upper),
interpolated_pt(cell_pts[0], cell_pts[3], lower), interpolated_pt(cell_pts[0], cell_pts[3], lower),
interpolated_pt(cell_pts[0], cell_pts[1], lower), interpolated_pt(cell_pts[0], cell_pts[1], upper) interpolated_pt(cell_pts[0], cell_pts[1], lower),
interpolated_pt(cell_pts[0], cell_pts[1], upper)
], ],
[ [
interpolated_pt(cell_pts[2], cell_pts[3], lower), interpolated_pt(cell_pts[2], cell_pts[3], lower),