I've been reading this pdf about vector transformations and I don't quite understand how to implement it in a computer program. On page 10, it shows you how to transform a vector from one coordinate system to another, exactly how would this look on paper? Say I had two 3d vectors that represented directions and I wanted to get the relative direction of $vector A$ to $vector B$. So if $A = (0,0,0)$ and $B = (0,1,0)$, $C$ would also be $(0,1,0)$. If $A = (0,1,0)$, $C$ would then be $(0,0,-1)$. Would I make matrices of $A$ and $B$ and just multiply them together? Other places have talked about getting the dot product? What would the $i$ and $i'$ vectors be in this case? Thank you.
I'm pretty sure this is all the info I need but in case there is an obviously better way of doing it I will explain my project. It's a simple voxel 3D raycaster. I'm actually using Unity and rendering to a texture using a compute shader.
The way I am calculating the rays is I am centering the pixel coordinates as if they were 3D space coordinates, moving them a little forward and getting the directions from 0,0,0 to each of those points (and shrinking the dimensions for field-of-view). Then, I transform those directions relative to the player's transform every frame to get the ray directions for the GPU. Obviously, this also needs to be calculated on the GPU so I can't use the handy Unity method I used just to test if it would work (Transform.TransformDirection). So I guess I could also use a relative point transform function too and just send those points and the player's transform to the GPU.
The distance along the ray between the blue tabs is 
So this page ended up helping me. I simply send the positions of the pixels as if they were a screen slightly in front of the player at 0,0,0 and center them and whatnot, then in the compute shader I transform those points to world space relative to the player's rotation for each ray like this:
And then I use that direction to cast a ray out from the player's position. I found with higher resolutions I needed to decrease the field of view.