HMC5843 compass output to rotating arrow on a graphics display

I have purchased a Honeywell three axis HMC5843 compass a little while ago and have the int ix,iy,iz; float fx,fy,fz; data displayed as text onto a graphics display. My goal would be to have this data displayed as an arrow pointing north.

After searching for code examples out there all I could find is an analog second hand rotating 360 degrees.

second.angle = (2 * pi / 60) * td.second;
second.end_x = second.hand_radius * cos (second.angle) + clock_center_x;
second.end_y = second.hand_radius * sin (second.angle) + clock_center_y;
LCDSetLine(clock_center_x, clock_center_y, second.end_x, second.end_y, WHITE);

If anyone can help it would be appreciated.

What do ix, iy, iz, fx, fy, and/or fz represent?

Hi,
Maybe you are looking for some processing code like this.

How about a high resolution (small step) stepper motor with an arrow stuck on the shaft.