Global Navigation: Waypoint Encounter Demo Applet

Front panel image of the waypoint encounter demonstration applet.

[To run this program, please see the end of this page.]

This is a Java applet which demonstrates an encounter between our aircraft and one of its en-route waypoints. Details of this and all the other waypoints on our route are part of the current flight plan in our aircraft's computer. These together form a waypoint class [Java speak].

As we approach this waypoint's domain, the flight plan sets up the outbound radial on which we should leave this waypoint (light blue line). The software then const­ructs a red turning circle on the left (port) and a green one on the right (starboard). The size of these circles depends on the type of aircraft and is one of the many details specified in the aircraft class. A method in the encounter class then steers the aircraft towards the rim of the closer of the two turning circles on the side away from the outbound radial. On reaching the circle, it proceeds to steer us round the circle and over the waypoint, by which time we are heading along the outbound radial towards our next waypoint.

The visible trace above is constructed and updated within and by a colour array class. This whole demonstration is orchestrated by an applet class extension which replays the approach continuously for different outbound radials increasing by 44° each time.


The GetReqHdg() method in the Waypoint Encounter class steers the aircraft onto its correct course to fly over the waypoint and leave it on a heading equal to the selected outbound radial. This it does by re-computing ReqHdg (the required head­ing) every 50 milliseconds and passing it as a command to the aircraft's flight con­trol system.

But suppose strong winds keep blowing the aircraft off course. If this occurs while the aircraft is approaching the waypoint, the regularly re-computed ReqHdg main­tains the aircraft on a course which is always tangential to the closest turning circle. If it occurs after the aircraft has passed the waypoint, the regularly re-computed ReqHdg steers the aircraft back onto the outbound radial. This it does in a way which maintains the aircraft on a constant asymptotic approach to the radial from wherever it finds itself.

If the aircraft is suddenly gusted off course when it is close to the waypoint, it may not be obvious from one re-computation to the next whether the aircraft is appro­aching the waypoint or whether it has passed it. This is solved by decreeing that the approach phase ends at the point when the aircraft's track hits or intersects the rim of one of the turning circles. From that point, the ReqHdg is determined by the outbound algorithm. Tests have shown this to work for wind gusts in excess of the aircraft's ground speed.

To run this program, you need Java installed on your computer. Create a new folder in a convenient place. Download the file waypoint.jar. Move it to your new folder. Unzip the jar file. [A 'jar' file is merely a 'zip' file with a '.jar' extension.] Open a terminal. Change directory to your new folder. Enter the command: java wpstart.

Mainstream warnings notwithstanding, this program will neither blow up your computer nor wreak any other kind of fanciful mischief. It simply draws a map and writes data on your screen. In the good old days this program simply ran embedded within the web page where its static image is now displayed. The embedded applet still runs in pre-2017 versions of browsers with Java 1.6 installed and the Web Start version still runs in pre-2019 versions of browsers with Java 1.8 installed. To read the rancid history of this sad retrogression in Web functionality, please click here.
[Back to top.]

© 1994 Robert John Morton