Handbook
Glossary
rotation-matrix4 ( axis: float-4 theta: float -- matrix: matrix4 )
Vocabulary
math
.
matrices
.
simd
Inputs
axis
a
float-4
theta
a
float
Outputs
matrix
a
matrix4
Definition
USING:
math.functions
math.vectors
math.vectors.simd
typed
;
IN:
math.matrices.simd
TYPED::
rotation-matrix4
( axis: float-4 theta: float -- matrix: matrix4 )
theta
cos
:>
c theta
sin
:>
s
float-4{
-1.0 1.0 -1.0 0.0
}
:>
triangle-sign c
float-4-with
:>
cc s
float-4-with
:>
ss 1.0
float-4-with
:>
ones ones cc
v-
:>
1-c axis axis
v*
:>
axis2 axis2 cc ones axis2
v-
v*
v+
:>
diagonal axis
{
1 0 0 3
}
vshuffle
axis
{
2 2 1 3
}
vshuffle
v*
1-c
v*
float-4{
NAN:
-20000000
NAN:
-20000000
NAN:
-20000000 0.0
}
vbitand
:>
triangle-a ss axis
v*
triangle-sign
v*
:>
triangle-b triangle-a triangle-b
v+
:>
triangle-lo triangle-a triangle-b
v-
:>
triangle-hi diagonal triangle-hi triangle-lo
(rotation-matrix4)
;