83 3D: Linear maps and rotations
3D reference map · First 3D picture
struct
(struct linear3 (m00 m01 m02 m10 m11 m12 m20 m21 m22) #:transparent) m00 : finite-real? m01 : finite-real? m02 : finite-real? m10 : finite-real? m11 : finite-real? m12 : finite-real? m20 : finite-real? m21 : finite-real? m22 : finite-real?
[a b c] [d e f] [g h i]
value
procedure
(linear3-compose outer inner) → linear3?
outer : linear3? inner : linear3?
procedure
(linear3-invert map) → linear3?
map : linear3?
procedure
(linear3-determinant map) → finite-real?
map : linear3?
procedure
(linear3-transpose map) → linear3?
map : linear3?
procedure
(linear3-apply-vector map value) → vec3?
map : linear3? value : vec3?
procedure
(linear3-normal-transform map) → linear3?
map : linear3?
procedure
(rotation3? value) → boolean?
value : any/c
procedure
(rotation3-components rotation) → vector?
rotation : rotation3?
value
procedure
(axis-angle axis angle) → rotation3?
axis : vec3? angle : finite-real?
procedure
(rotation3-from-to from-direction to-direction) → rotation3? from-direction : vec3? to-direction : vec3?
procedure
(rotation3-look-at forward [#:up up]) → rotation3?
forward : vec3? up : vec3? = y-axis3
procedure
(rotation3-compose outer inner) → rotation3?
outer : rotation3? inner : rotation3?
procedure
(rotation3-invert rotation) → rotation3?
rotation : rotation3?
procedure
(rotation3-apply rotation value) → vec3?
rotation : rotation3? value : vec3?
procedure
(rotation3->linear3 rotation) → linear3?
rotation : rotation3?
procedure
(rotation3-slerp from to progress) → rotation3?
from : rotation3? to : rotation3? progress : (and/c finite-real? (>=/c 0) (<=/c 1))