如何使用起点,角度和距离找到终点

时间:2018-05-12 22:45:01

标签: cocos2d-x

我有以下指标

Vec2 start = Vec2(20, 20);
float angle = 64.0f;
float distance = 500.0f;

我想找到终点,但我无法理解

1 个答案:

答案 0 :(得分:1)

如何使用起点,角度和距离找到终点?

Vec2 start     = Vec2(20, 20);
float angle    = 64.0f;
float distance = 500.0f;

要准备操作,您必须包含

#include <math.h>

首先,您必须将angleDegree转换为Radians,因为对于以下函数,弧度需要角度:

float angle_rad = angle * 3.1415927f / 180.0f;

然后你必须计算方向Unit vector。 这可以通过Trigonometric functions康斯坦(cos)和Sinesin)来完成:

Vec2 dir_vec(cos(angle_rad), sin(angle_rad));

end点是start点加上方向单位向量(dir_vec)乘以distance

Vec2 end = start + distance * dir_vec;