mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-23 14:54:12 +02:00
add m_rotation
This commit is contained in:
34
src/m_rotation.scad
Normal file
34
src/m_rotation.scad
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
include <__private__/_m_multiply.scad>;
|
||||||
|
|
||||||
|
function _m_xRotation(a) =
|
||||||
|
let(c = cos(a), s = sin(a))
|
||||||
|
[
|
||||||
|
[1, 0, 0, 0],
|
||||||
|
[0, c, -s, 0],
|
||||||
|
[0, s, c, 0],
|
||||||
|
[0, 0, 0, 1]
|
||||||
|
];
|
||||||
|
|
||||||
|
function _m_yRotation(a) =
|
||||||
|
let(c = cos(a), s = sin(a))
|
||||||
|
[
|
||||||
|
[c, 0, s, 0],
|
||||||
|
[0, 1, 0, 0],
|
||||||
|
[-s, 0, c, 0],
|
||||||
|
[0, 0, 0, 1]
|
||||||
|
];
|
||||||
|
|
||||||
|
function _m_zRotation(a) =
|
||||||
|
let(c = cos(a), s = sin(a))
|
||||||
|
[
|
||||||
|
[c, -s, 0, 0],
|
||||||
|
[s, c, 0, 0],
|
||||||
|
[0, 0, 1, 0],
|
||||||
|
[0, 0, 0, 1]
|
||||||
|
];
|
||||||
|
|
||||||
|
function m_rotation(a) = _m_multiply(
|
||||||
|
_m_zRotation(a[2]), _m_multiply(
|
||||||
|
_m_yRotation(a[1]), _m_xRotation(a[0])
|
||||||
|
)
|
||||||
|
);
|
Reference in New Issue
Block a user