Navigation is very important in aviation and shipping to determine a required heading to reach a given destination or to calculate an estimated position, given a used heading. The core of all navigation calculations is a triangle having speed vectors as its sides and angles derived from given direction angles from the North, which can be mapped to the angles of that triangle. So, a navigation problem is actually solving the missing items (sides and angles) from a triangle.
This package consists of a base module and a navigation module. The base module solves two cases for a triangle with sides and angles:
- Solving a triangle if three items out of six (3 sides and 3 angles) are given and the three other must be calculated. There are 20 different combinations possible, each of which can be solved or recognized as special cases without a solution or with an unlimited number of solutions.
- Solving a triangle if four items out of six (3 sides and 3 angles) are given and the two remaining must be calculated. There are 15 different combinations possible, each of which can be solved or recognized as special cases without a solution or with an unlimited number of solutions.
Using this base module, the navigation module offers to solve navigation problems. The sides of this triangle are speed vectors and the angles are directions measured from the North. Given four navigation data, it calculates the remaining two data or detects special cases of degenerated triangles.
Both modules are extensively documented, with detailed descriptions of special cases. They also come with demonstration programs in VCL (Windows only) and Firemonkey (Windows, MacOS, iOS and Android), allowing to enter sides or angles and calculate the missing data, both for a simple triangle as well as for a navigation wind triangle. The picture below is a screenshot of both parts of the demonstration program: at the left the solution of a simple triangle with three data given and three remaining to calculate. At the right a navigation triangle with four given data and two to calculate.