Tracing an Optimal RouteΒΆ
To find the best route flare-timing
constructs a graph and finds the
shortest path connecting the nodes. It puts nodes on turnpoint cylinder arc
boundaries and uses the competition specific math for working out distances on
the Earth as the cost of connecting nodes in the network. It would be expensive
to construct and evaluate a large network with the accuracy required so it is
done iteratively. At each iteration the arc of the circle bounding a zone is
shortened and the density of nodes is increased. For goal line zones the nodes
are selected in pretty much the same way except that points on the arc are
projected down onto the line.
This optimal path found on the Earth model for the competition is the edge to edge optimal route. Routes are shown with waypoints, segment distances [1] and total distance.
taskRoutes:
edgeToEdge:
distance: 159.373683
legs:
- 10.078208
- 42.525217
- 0
- 64.949832
- 41.820427
legsSum:
- 10.078208
- 52.603424
- 52.603424
- 117.553256
- 159.373683
waypoints:
- lat: -33.36047067
lng: 147.93206999
- lat: -33.43411056
lng: 147.86878018
- lat: -33.7159199
lng: 147.55846831
- lat: -33.7159199
lng: 147.55846831
- lat: -33.13199024
lng: 147.57575486
- lat: -33.35857718
lng: 147.93468357
The naive way to measure task length would be to just connect the centers of each control zone. This is the point to point distance.
taskRoutes:
pointToPoint:
distance: 169.10714
legs:
- 57.427511
- 69.547668
- 42.131961
legsSum:
- 57.427511
- 126.975179
- 169.10714
waypoints:
- lat: -33.36137
lng: 147.93207
- lat: -33.75343
lng: 147.52864998
- lat: -33.12908
lng: 147.57322998
- lat: -33.36099999
lng: 147.93149998
Knowing that FS uses a plane to work out the shortest route in two dimensions on the the Universal Transverse Mercator projection, we can also do that with our graph algorithm. We end up with waypoints, optimal on the plane but possibly sub-optimal on the sphere or ellipsoid model of Earth.
taskRoutes:
projection:
spherical:
distance: 159.373683
legs:
- 10.078208
- 42.525217
- 0
- 64.949832
- 41.820427
legsSum:
- 10.078208
- 52.603424
- 52.603424
- 117.553256
- 159.373683
waypoints:
- lat: -33.36047067
lng: 147.93206999
- lat: -33.43411056
lng: 147.86878018
- lat: -33.7159199
lng: 147.55846831
- lat: -33.7159199
lng: 147.55846831
- lat: -33.13199024
lng: 147.57575486
- lat: -33.35857718
lng: 147.93468357
taskRoutes:
projection:
planar:
distance: 159.144781
legs:
- 10.065441
- 42.4942
- 0
- 64.761082
- 41.820427
legsSum:
- 10.065441
- 52.559642
- 52.559642
- 117.320723
- 159.14115
mappedPoints:
- easting: 586715.834
northing: 6308362.198
- easting: 580759.282
northing: 6300248.47
- easting: 551744.701
northing: 6269201.551
- easting: 551744.701
northing: 6269201.551
- easting: 553704.761
northing: 6333932.964
- easting: 586960.882
northing: 6308569.955
mappedZones:
- latZone: H
lngZone: 55
[1] | A zero leg distance indicates that the turnpoint was touched at one point only, the optimal route does not traverse the interior of the cylinder. The entry and exit waypoints are both shown but can be the same. |