He wants to project the GPS velocity vector onto a HUD display. The HUD display is fixed to the aircraft. The GPS velocity vector is fixed to an earth coordinate system.
In order to do this, he needs to know not only where is the aircraft going, he needs to know where the fuselage is pointed.
Low and slow in a strong crosswind, you could be crabbing 25 degrees to the flight path, and you presumably want the HUD to recognize that.
This is why you need AHRS data, and magnetic compass info. Presumably, it's rate gyros can give you orientation of the aircraft relative to zero pitch, zero yaw and zero roll. But I believe you still need what direction you are pointed relative to magnetic north, because your GPS data is in that coordinate system. (Alternatively, it could be relative to polar north, not sure.)
So, suppose the GPS velocity vector is (Ve, Vn, Vu), for east, north and up.
Also suppose the aircraft pointing angles are (Ap, Ay, Ar), for pitch, yaw and roll. And suppose the aircraft is oriented at magnetic heading angle Ah. You need to resolve the velocity vectors of the GPS into the aircraft's coordinate system, then display that vector on the HUD, accounting for pitch, yaw and roll angles. Note that you have to account for what happens in sine and cosine functions when angles go past 90 degrees, etc.
If the GPS data is not magnetic north, then additionally you have to adjust polar north to magnetic north via a table of deviations.
If you want to pay me to work out the page of code you will need to do this, I should be able to help.
-Paragon
Cincinnati, OH