@@ -591,15 +591,14 @@ public class Race implements Runnable {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Azimuth azimuth = Azimuth.fromBearing(boat.getBearing());
|
||||||
|
GPSCoordinate testBounds = GPSCoordinate.calculateNewPosition(boat.getCurrentPosition(),
|
||||||
|
(100.0 / Constants.NMToMetersConversion), azimuth);
|
||||||
//If the new vmg improves velocity, use it.
|
//If the new vmg improves velocity, use it.
|
||||||
if (improvesVelocity(boat, newVMG)) {
|
if (improvesVelocity(boat, newVMG)) {
|
||||||
boat.setVMG(newVMG);
|
boat.setVMG(newVMG);
|
||||||
}else if (!GPSCoordinate.isInsideBoundary(boat.getCurrentPosition(), boundary)){
|
}else if (!GPSCoordinate.isInsideBoundary(testBounds, boundary)){
|
||||||
//checks to see if the new vmg sends the boat out of bounds and if so mirrors its direction in the wind
|
//checks to see if the new vmg sends the boat out of bounds and if so mirrors its direction in the wind
|
||||||
Azimuth azimuth = Azimuth.fromBearing(boat.getBearing());
|
|
||||||
GPSCoordinate test = GPSCoordinate.calculateNewPosition(boat.getCurrentPosition(),
|
|
||||||
(100.0 / Constants.NMToMetersConversion), azimuth);
|
|
||||||
double currDegrees = newVMG.getBearing().degrees();
|
double currDegrees = newVMG.getBearing().degrees();
|
||||||
double windDirectionDegrees = this.windDirection.degrees();
|
double windDirectionDegrees = this.windDirection.degrees();
|
||||||
double tempHeading = (currDegrees - windDirectionDegrees +90)%360;
|
double tempHeading = (currDegrees - windDirectionDegrees +90)%360;
|
||||||
|
|||||||
Reference in New Issue
Block a user