QROTATE and QVECTOR made simple
Finally sat down and experimented with these two cordic ops. Once I got my head around them, they made perfect sense.
Because they accept and produce fixed-point numbers (integers) rather than floating point numbers, they can't scale from mega to micro. This limits the ability to calculate a tangent for example. So the issue is avoided by producing a dual component output. But the trigonometry is still the same and still straight forward once you know what each input and output component represents.
Listing the components of the right-angle triangle:
- Right-angle - The obvious - The corner that is 90°
- Hypotenuse - The long sloped side
- Theta, θ - The angle of the chosen corner (not the 90° right-angle)
- Adjacent - The side adjacent to Theta (that isn't Hypotenuse)
- Opposite - The side opposite Theta
And Sine, Cosine, Tangent are all derived from those.