calc(deg2rad, Math.PI / 180.0);
calc(hfov, 0.5 * (%1) * deg2rad);
Math.tan(hfov);
set(width, calc(hfov * 1000));
set(height, 'prop');
calc(yaw, -(%2) * deg2rad);
calc(pitch, (%3) * deg2rad);
calc(roll, -(%4) * deg2rad);
Math.cos(ch, yaw);
Math.sin(sh, yaw);
Math.cos(ca, pitch);
Math.sin(sa, pitch);
Math.cos(cb, roll);
Math.sin(sb, roll);
Math.atan2(yaw, calc(cb*sh - sb*sa*ch), calc(ca*ch));
Math.atan2(roll, calc(sb*ch - cb*sa*sh), calc(cb*ca));
Math.asin(pitch, calc(cb*sa*ch + sb*sh));
calc(ath, yaw / deg2rad);
calc(atv, pitch / deg2rad);
calc(rotate, roll / deg2rad);