Each surface deflects into the airflow and changes the aerodynamic moment about one body axis. The model is the standard linearised light-aircraft model (Cessna-172-class derivatives, Roskam / Nelson):
- Roll (ailerons): the roll rate p obeys Ixx ṗ = q̄Sb[Clδaδa + Clp(b/2V)p]. Roll damping makes it a first-order lag, pss = (Clδa/|Clp|)(2V/b)δa, time constant τ = Ixx/(q̄Sb(b/2V)|Clp|) (about 0.09 s at 50 m/s).
- Pitch (elevator): the short-period pair (α, q): α̇ = q − Zαα, q̇ = Mαα + Mqq + Mδδe. The tail's restoring moment Mα makes the aircraft settle at a new angle of attack with a damped oscillation of about 4–5 rad/s (ζ ≈ 0.7).
- Yaw (rudder): the (β, r) pair β̇ = Yββ − r, ṙ = Nββ + Nrr + Nδrδr. The fin's weathercock stiffness Nβ limits the sideslip, so steady rudder gives a sideslip angle and a slow turn rate, not an ever-growing yaw rate.
- Surface deflection is limited to ±25°. Dynamic pressure q̄ = ½ρV² makes every response faster at higher airspeed.
Simplifications: small-angle linear derivatives (no stall), roll, pitch and yaw are decoupled (no adverse yaw, no dutch-roll or spiral coupling), constant airspeed, no gravity coupling of bank into heading, no engine torque. The "heading change" integrates the body yaw rate only. This is a teaching model of control response, not a flight-training simulator.
Sprites are Blender (Cycles) renders of a light high-wing aircraft; the control surfaces are rendered as separate layers and rotated or foreshortened with the real deflection angle.