三角方程不适用于输入变量
Trigonometry Equation Doesn't Work With Input Variables
我正在使用三角函数在屏幕上移动对象,出于某种原因,"x1" 有效但 "y1" 无效,除非值为 x1 = 200;
y1 = 200;
我知道这是方程式的问题,而不是其他问题。
构造函数:
public Note_1(double x0,double y0,double x1,double y1,
double x2,double y2){
sX = x0;sY = y0;img_1x = x1;img_1y = y1;
img_2x = x2;img_2y = y2;
}
使用的方法:
public static double getAmp(double sx,double fx){
double amp = (fx-sx)/2;
return amp;
}
public static double getPeriod(double sx,double fx){
double period = 360/(fx-sx);
return period;
}
public static double getYDistplace(double sy,double fy){
double yDisplace = (sy+fy)/2;
return yDisplace;
}
计算代码:
@Override
protected void setup(){
a = getAmp(sX,img_2x);
period = getPeriod(sX,img_2x);
yDist = getYDisplace(sY,img_2y);
}
@Override
protected void calculate(){
obj.setX(obj.getX()+2);
img_x1 = obj.getX();
obj.setY(a*Math.cos(period*(img_x1+sX)/100)+yDist);
}
Math.sin
和 Math.cos
以弧度为单位,但我看到您将数量除以 360。也许这是涉及度数和弧度的问题?
我正在使用三角函数在屏幕上移动对象,出于某种原因,"x1" 有效但 "y1" 无效,除非值为 x1 = 200;
y1 = 200;
我知道这是方程式的问题,而不是其他问题。
构造函数:
public Note_1(double x0,double y0,double x1,double y1,
double x2,double y2){
sX = x0;sY = y0;img_1x = x1;img_1y = y1;
img_2x = x2;img_2y = y2;
}
使用的方法:
public static double getAmp(double sx,double fx){
double amp = (fx-sx)/2;
return amp;
}
public static double getPeriod(double sx,double fx){
double period = 360/(fx-sx);
return period;
}
public static double getYDistplace(double sy,double fy){
double yDisplace = (sy+fy)/2;
return yDisplace;
}
计算代码:
@Override
protected void setup(){
a = getAmp(sX,img_2x);
period = getPeriod(sX,img_2x);
yDist = getYDisplace(sY,img_2y);
}
@Override
protected void calculate(){
obj.setX(obj.getX()+2);
img_x1 = obj.getX();
obj.setY(a*Math.cos(period*(img_x1+sX)/100)+yDist);
}
Math.sin
和 Math.cos
以弧度为单位,但我看到您将数量除以 360。也许这是涉及度数和弧度的问题?