我无法计算表观风速。不知道出了什么问题。公式很简单,但计算起来并不准确
I cannot calculate apparent wind speed. Have no Idea what's wrong. Formula is easy, but it doesn't happen to calculate it wright
公式应具有并输出 = 12,5,输入参数为:风速 = 10,真风角 = 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));
}
转换时效果很好!
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));
}
公式应具有并输出 = 12,5,输入参数为:风速 = 10,真风角 = 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));
}
转换时效果很好!
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));
}