mirror of
https://github.com/JustinSDK/dotSCAD.git
synced 2025-08-16 03:34:42 +02:00
use scad
This commit is contained in:
16
src/matrix/_impl/_m_translation_impl.scad
Normal file
16
src/matrix/_impl/_m_translation_impl.scad
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
function _to_3_elems_translation_vect(v) =
|
||||||
|
let(leng = len(v))
|
||||||
|
leng == 3 ? v : (
|
||||||
|
leng == 2 ? [v[0], v[1], 0] : [v[0], 0, 0]
|
||||||
|
);
|
||||||
|
|
||||||
|
function _to_translation_vect(v) = is_num(v) ? [v, 0, 0] : _to_3_elems_translation_vect(v);
|
||||||
|
|
||||||
|
function _m_translation_impl(v) =
|
||||||
|
let(vt = _to_translation_vect(v))
|
||||||
|
[
|
||||||
|
[1, 0, 0, vt[0]],
|
||||||
|
[0, 1, 0, vt[1]],
|
||||||
|
[0, 0, 1, vt[2]],
|
||||||
|
[0, 0, 0, 1]
|
||||||
|
];
|
@@ -8,19 +8,6 @@
|
|||||||
*
|
*
|
||||||
**/
|
**/
|
||||||
|
|
||||||
function _to_3_elems_translation_vect(v) =
|
use <matrix/_impl/_m_translation_impl.scad>;
|
||||||
let(leng = len(v))
|
|
||||||
leng == 3 ? v : (
|
|
||||||
leng == 2 ? [v[0], v[1], 0] : [v[0], 0, 0]
|
|
||||||
);
|
|
||||||
|
|
||||||
function _to_translation_vect(v) = is_num(v) ? [v, 0, 0] : _to_3_elems_translation_vect(v);
|
function m_translation(v) = _m_translation_impl(v);
|
||||||
|
|
||||||
function m_translation(v) =
|
|
||||||
let(vt = _to_translation_vect(v))
|
|
||||||
[
|
|
||||||
[1, 0, 0, vt[0]],
|
|
||||||
[0, 1, 0, vt[1]],
|
|
||||||
[0, 0, 1, vt[2]],
|
|
||||||
[0, 0, 0, 1]
|
|
||||||
];
|
|
Reference in New Issue
Block a user