They helpfully summarised all the lies Trump told during his presidential term in one article (there are 30573 of them)
A good choice is the x/y/z axis corresponding to the largest |x|, |y|, |z| of the first vector. 2nd vector is always well-separated from that as it's perpendicular to the first. Now matrix needs 3+1=4 floats, or 2+1=3 if you use the above normalised-vector-in-2-floats encoding.
Alright, how do you store an entire orthonormal 3-basis (SO(3) rotation matrix)? Can store first vector and then only need one angle to get 2nd vector, then cross product gives your 3rd. However, angle about what axis? A fixed axis always has degenerate cases.
However, this loses half your digits of precision near z=0. More accurate alternative is to slice into 6 parts depending on which of |x|, |y|, |z| is largest and its sign. Then store two smaller components (and apply offset as before).
#Maths/comp/graphics note: how to store a normalised 3-vector as 2 floats? Storing x,y *almost* allows you to determine z=±√1-x²-y² but there's a sign choice. However, could do x->x+3 if z negative, since x range is [-1,1] normally, so can be [2,4] for other "side" of sphere.
You can't see Jupiter and Saturn in the evening any more but the solar observatory can see them #space
New fusion schemes being tried #physics
Another paper on vertical orbit excursion accelerators
Orbital satellite launch is coming to Cornwall
Once there was an elephant,
Who tried to use the telephant—
No! No! I mean an elephone
Who tried to use the telephone—
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!