mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-10 08:44:20 +02:00
fix 2D to 3D bugs
This commit is contained in:
@@ -42,12 +42,12 @@ module along_with(points, angles, twist = 0, scale = 1.0, method = "AXIS_ANGLE")
|
|||||||
[0, 0, 0, 1]
|
[0, 0, 0, 1]
|
||||||
];
|
];
|
||||||
|
|
||||||
function axis_angle_local_ang_vects(j) =
|
function axis_angle_local_ang_vects(j, pts) =
|
||||||
[
|
[
|
||||||
for(i = j; i > 0; i = i - 1)
|
for(i = j; i > 0; i = i - 1)
|
||||||
let(
|
let(
|
||||||
vt0 = points[i] - points[i - 1],
|
vt0 = pts[i] - pts[i - 1],
|
||||||
vt1 = points[i + 1] - points[i],
|
vt1 = pts[i + 1] - pts[i],
|
||||||
a = acos((vt0 * vt1) / (norm(vt0) * norm(vt1))),
|
a = acos((vt0 * vt1) / (norm(vt0) * norm(vt1))),
|
||||||
v = cross(vt0, vt1)
|
v = cross(vt0, vt1)
|
||||||
)
|
)
|
||||||
@@ -153,8 +153,9 @@ module along_with(points, angles, twist = 0, scale = 1.0, method = "AXIS_ANGLE")
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
pts3D = [for(p = points) __to3d(p)];
|
||||||
cumu_rot_matrice = axis_angle_cumulated_rot_matrice(0, [
|
cumu_rot_matrice = axis_angle_cumulated_rot_matrice(0, [
|
||||||
for(ang_vect = axis_angle_local_ang_vects(leng_points - 2))
|
for(ang_vect = axis_angle_local_ang_vects(leng_points - 2, pts3D))
|
||||||
m_rotation(ang_vect[0], ang_vect[1])
|
m_rotation(ang_vect[0], ang_vect[1])
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user