|
|
|
|
|
Shortest 2 to 10 path: |
The original demo illustrating the Dijkstra algorithm (method) for finding
shortest paths, calculated the shortest path from Node 1 to node 10 of a
sample graph using random weights (distances) from node to node. The search
was one-way (i.e. could only move to higher numbered nodes), but a programmer recently modified the program to search from
node 2 to node 10. A problem surfaced when the shortest path happened to be
2-1-3-7-10 which required traveling backwards through node 1. Shortest
Path Demo Version 2.0 posted today incorporates two-way searching
and allows users to specify both the start node and the goal node.
March 18, 2016:

An intermediate level exercise posted in our
Delphi_Techniques code section based on a a user's request for help drawing doors subdivided with one or more vertical frames separated
and divided by mullions of a given width and position. Find out more
and download source and executable file at
DrawingDoorFrames.
March 25, 2016: I first posted a program to calculate the distance between two points on the earth's surface in 2004. Distance is understood to be the shortest distance which is slightly mind-blowing when the Great Circle Route says that if you fly from New York to London, you must fly north over Newfoundland first ! Except at the equator, the shortest path to a location directly East of you involves starting out in a Northerly or Southerly (Southern hemisphere) direction and arrive traveling slightly South (or North).
Latitude Longiitude Distance Version 3.0 posted today is in response to a request from a blind(!) Delphi programmer working on a program that will allow other blind people to follow Great Circle routes from point to point and "explore" where they travel along the way. To do this Stefan needed a way to plot the bearings at steps along route. Version 3.0 does that by displaying points traversed when moving from given a starting bearing and a total distance. User can select 1, 10, or 100 steps and see the coordinates and the new bearings at each step along the way. I wish him the best in adapting this code to his application.
In the process, I uncovered an occasional "final bearing" error in my previous implementation of the algorithm which finds points from distances. I made, and now use, a conversion of a National Geographic Information System (NGIS) Fortran program which is not only simpler, but eliminates the error.
|
|