For some time, I have had a Java Applet available here (in Danish). It runs fine from the web or as a Java Frame on a PC, but I have not been able to run it from a PDA. Now I have made this version with fewer buttons, and it runs much better, although very slow.
The calculator is made in Java and requires a JVM (Java Virtual Machine) to run. I have successfully managed to run it on a HP iPAQ 2210 Pocket PC with the Mysaifu JVM, but other JVM's should work as well. It is an executable .jar file that can also run on a PC with Java Runtime installed. Try it here, it's free: download
The calculator is operated by tabbing (clicking) the keyboard. A primitive cursor will show in the display where the format is fixed and digits are entered in overwrite mode. Tabbing a letter or special character will move the cursor to the next relevant position and tabbing "<" or ">" will move it left or right.
The calculator operates on three basic variable types: Distance, Bearing and Position which are also combined in more complex types: Leg, Line and Circle plus some "sets" of positions: Pair and Triplet. The + and - operations is pretty straightforward; subtracting two positions gives the leg between them and adding a leg to a position projects the position. The x operator is used for more advanced operations such as finding intersection(s) between lines and circles or midpoints. Some operations, like the intersection between two circles, may produce more than one position which is why the display is a "combo box" where one can select between them. See this table for details.
Positions can be shown in different polar projections (degrees, minutes etc.) or as UTM. When entering UTM positions, the zone letter can not be entered but will be calculated automatically from the northing. The magnetic declination is calculated from the last entered position and the current time using the IGRF-10 model. See more screenshots.
Please drop me an email if you find this program useful. Version 0.3 is able to save waypoints in TomTom files. In the future I want to expand it to save to gpx files, but that will take a while. I know that my english is not perfect and I'm not sure that the correct word for a piece of line with an angle and length is "Leg". If anybody know a better word, I'll be happy to change it.
per (at) crumlin.dk