三角函数方程不适用于输入变量

时间:2015-12-08 00:54:56

标签: java math trigonometry

我正在使用三角函数在屏幕上移动一个对象,出于某种原因," 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);
}

1 个答案:

答案 0 :(得分:0)

Math.sinMath.cos以弧度工作,但我看到你将数量除以360.也许这是涉及度和弧度的问题?