mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-13 18:24:28 +02:00
refactor
This commit is contained in:
7
src/__private__/__to_ang_vector.scad
Normal file
7
src/__private__/__to_ang_vector.scad
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
function __to_3_elems_vect(a) =
|
||||||
|
let(leng = len(a))
|
||||||
|
leng == 3 ? a : (
|
||||||
|
leng == 2 ? [a[0], a[1], 0] : [a[0], 0, 0]
|
||||||
|
);
|
||||||
|
|
||||||
|
function __to_ang_vect(a) = __is_float(a) ? [0, 0, a] : __to_3_elems_vect (a);
|
@@ -9,6 +9,7 @@
|
|||||||
**/
|
**/
|
||||||
|
|
||||||
include <__private__/__is_float.scad>;
|
include <__private__/__is_float.scad>;
|
||||||
|
include <__private__/__to_ang_vector.scad>;
|
||||||
|
|
||||||
function _q_rotation(a, v) =
|
function _q_rotation(a, v) =
|
||||||
let(
|
let(
|
||||||
@@ -68,16 +69,8 @@ function _m_zRotation(a) =
|
|||||||
[0, 0, 0, 1]
|
[0, 0, 0, 1]
|
||||||
];
|
];
|
||||||
|
|
||||||
function _to_3_elems_vect(a) =
|
|
||||||
let(leng = len(a))
|
|
||||||
leng == 3 ? a : (
|
|
||||||
leng == 2 ? [a[0], a[1], 0] : [a[0], 0, 0]
|
|
||||||
);
|
|
||||||
|
|
||||||
function _to_ang_vect(a) = __is_float(a) ? [0, 0, a] : _to_3_elems_vect(a);
|
|
||||||
|
|
||||||
function _xyz_rotation(a) =
|
function _xyz_rotation(a) =
|
||||||
let(ang = _to_ang_vect(a))
|
let(ang = __to_ang_vect(a))
|
||||||
_m_zRotation(ang[2]) * _m_yRotation(ang[1]) * _m_xRotation(ang[0]);
|
_m_zRotation(ang[2]) * _m_yRotation(ang[1]) * _m_xRotation(ang[0]);
|
||||||
|
|
||||||
function m_rotation(a, v) =
|
function m_rotation(a, v) =
|
||||||
|
Reference in New Issue
Block a user