mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-03-13 18:49:43 +01:00
elaborate saddle points of 0101
This commit is contained in:
parent
a6f24e03c5
commit
f6556b9ac8
@ -678,30 +678,56 @@ function _case0202_isobands(cell_pts, lower, upper) =
|
||||
]
|
||||
];
|
||||
|
||||
function _case0101_isobands(cell_pts, threshold) =
|
||||
function _case0101_isobands(cell_pts, lower, upper) =
|
||||
let(
|
||||
center_p = (cell_pts[0] + cell_pts[1] + cell_pts[2] + cell_pts[3]) / 4,
|
||||
center_p_z = center_p[2]
|
||||
)
|
||||
center_p_z < threshold ? [
|
||||
center_p_z < lower ? [
|
||||
[
|
||||
[cell_pts[0][0], cell_pts[0][1], cell_pts[0][2]],
|
||||
interpolated_pt(cell_pts[0], cell_pts[3], threshold),
|
||||
interpolated_pt(cell_pts[0], cell_pts[1], threshold)
|
||||
interpolated_pt(cell_pts[0], cell_pts[3], lower),
|
||||
interpolated_pt(cell_pts[0], center_p, lower),
|
||||
interpolated_pt(cell_pts[0], cell_pts[1], lower)
|
||||
],
|
||||
[
|
||||
interpolated_pt(cell_pts[2], cell_pts[3], threshold),
|
||||
interpolated_pt(cell_pts[2], center_p, lower),
|
||||
interpolated_pt(cell_pts[2], cell_pts[3], lower),
|
||||
[cell_pts[2][0], cell_pts[2][1], cell_pts[2][2]],
|
||||
interpolated_pt(cell_pts[1], cell_pts[2], threshold)
|
||||
interpolated_pt(cell_pts[1], cell_pts[2], lower)
|
||||
]
|
||||
] : [
|
||||
] :
|
||||
center_p_z >= lower && center_p_z < upper ? [
|
||||
[
|
||||
[cell_pts[0][0], cell_pts[0][1], cell_pts[0][2]],
|
||||
interpolated_pt(cell_pts[0], cell_pts[3], threshold),
|
||||
interpolated_pt(cell_pts[2], cell_pts[3], threshold),
|
||||
interpolated_pt(cell_pts[0], cell_pts[3], lower),
|
||||
interpolated_pt(cell_pts[3], center_p, lower),
|
||||
interpolated_pt(cell_pts[2], cell_pts[3], lower),
|
||||
[cell_pts[2][0], cell_pts[2][1], cell_pts[2][2]],
|
||||
interpolated_pt(cell_pts[1], cell_pts[2], threshold),
|
||||
interpolated_pt(cell_pts[0], cell_pts[1], threshold)
|
||||
interpolated_pt(cell_pts[1], cell_pts[2], lower),
|
||||
interpolated_pt(cell_pts[1], center_p, lower),
|
||||
interpolated_pt(cell_pts[0], cell_pts[1], lower)
|
||||
]
|
||||
] : [
|
||||
[
|
||||
interpolated_pt(cell_pts[0], cell_pts[1], lower),
|
||||
[cell_pts[0][0], cell_pts[0][1], cell_pts[0][2]],
|
||||
interpolated_pt(cell_pts[0], cell_pts[3], lower),
|
||||
interpolated_pt(cell_pts[3], center_p, lower),
|
||||
interpolated_pt(cell_pts[3], center_p, upper),
|
||||
interpolated_pt(cell_pts[0], center_p, upper),
|
||||
interpolated_pt(cell_pts[1], center_p, upper),
|
||||
interpolated_pt(cell_pts[1], center_p, lower)
|
||||
],
|
||||
[
|
||||
interpolated_pt(cell_pts[1], cell_pts[2], lower),
|
||||
interpolated_pt(cell_pts[1], center_p, lower),
|
||||
interpolated_pt(cell_pts[1], center_p, upper),
|
||||
interpolated_pt(cell_pts[2], center_p, upper),
|
||||
interpolated_pt(cell_pts[3], center_p, upper),
|
||||
interpolated_pt(cell_pts[3], center_p, lower),
|
||||
interpolated_pt(cell_pts[2], cell_pts[3], lower),
|
||||
[cell_pts[2][0], cell_pts[2][1], cell_pts[2][2]]
|
||||
]
|
||||
];
|
||||
|
||||
@ -1096,7 +1122,7 @@ function _isobands_of(cell_pts, lower, upper) =
|
||||
// Saddles
|
||||
cv == "2020" ? _case2020_isobands(cell_pts, lower, upper) :
|
||||
cv == "0202" ? _case0202_isobands(cell_pts, lower, upper) :
|
||||
cv == "0101" ? _case0101_isobands(cell_pts, lower) :
|
||||
cv == "0101" ? _case0101_isobands(cell_pts, lower, upper) :
|
||||
cv == "1010" ? _case1010_isobands(cell_pts, lower) :
|
||||
cv == "2121" ? _case2121_isobands(cell_pts, upper) :
|
||||
cv == "1212" ? _case1212_isobands(cell_pts, upper) :
|
||||
|
Loading…
x
Reference in New Issue
Block a user