3D rotation
Core idea of handling rotation is using a variant of Rodrigues' rotation formula . Explained in a Chinese video:
As a helper function, Triadica provide:
triadica.math/rotate-3d-fn origin axis-direction radian
which creates a rotation
function that could rotate:
let
rotation $ rotate-3d-fn ([] 0 100 0) ([] -1 1 1) 0.04
rotation p