角度不会产生正确的航向矢量

时间:2014-06-08 19:39:01

标签: ios trigonometry

在输出向量中,当touchPosition位于玩家位置的右上角时,x和y值应为负值。

给定一个向上和向右增加的坐标系,从左下角开始,是否可以看到此代码中可能出现问题的任何错误?

double oppositeLength = (touchPosition.y - playerPosition.y);
double adjacentLength = (touchPosition.x - playerPosition.x);
double hypotenuseLength = (sqrt((oppositeLength * oppositeLength) + (adjacentLength * adjacentLength)));
double angle = asin(oppositeLength / hypotenuseLength);

double mass = 0.0000013;

CGVector vector = CGVectorMake(mass * cos(angle), mass * sin(angle));

这是一些测试输出......(Theta是弧度):

O: -119.500000, A: 87.500000, H: 148.109757, Theta: -0.938773439

...与矢量......:

{7.680115295514375e-07, -1.0488843175016773e-06}

...当touchPosition位于玩家位置的右上角时。

0 个答案:

没有答案