公式应具有并输出= 12,5,输入的参数为:风速= 10,true Wind角= 60,乘船速度= 4在我的情况下,它输出:13.458620941319543
public class Direction extends Boat {
private double trueWindAngle = 60;
private double trueWindSpeed = 10;
private double apparentWindAngle;
private double apparentWindSpeed;
private double rudPosition = 0; // rudder position
private double boatSpeed = 4;
private double sailPosition = 0; // sheet position
public void setApparentWindSpeed() {
this.apparentWindSpeed = ApparentWindSpeed(getTrueWindSpeed(), getBoatSpeed(), trueWindAngle);
}
// W = true wind speed
// V = boat speed
// lambda = true pointing angle in degrees (0 = upwind, 180 = downwind)
//SOURCE: https://en.wikipedia.org/wiki/Apparent_wind
public double ApparentWindSpeed(double W, double V, double lambda){
return Math.sqrt(Math.pow(W,2) + Math.pow(V,2) + 2*W*V*Math.cos(lambda));
}
convert!
时运行良好public class Direction extends Boat {
private double trueWindAngle = 60;
private double trueWindSpeed = 10;
private double apparentWindAngle;
private double apparentWindSpeed;
private double rudPosition = 0; // rudder position
private double boatSpeed = 4;
private double sailPosition = 0; // sheet position
// W = true wind speed
// V = boat speed
// lambda = true pointing angle in degrees (0 = upwind, 180 = downwind)
//SOURCE: https://en.wikipedia.org/wiki/Apparent_wind
public void setApparentWindSpeed() {
this.apparentWindSpeed = ApparentWindSpeed(getTrueWindSpeed(), getBoatSpeed(), Math.toRadians(trueWindAngle));
}
public double ApparentWindSpeed(double W, double V, double lambda){
return Math.sqrt(Math.pow(W,2) + Math.pow(V,2) + 2*W*V*Math.cos(lambda));
}