首页 > 解决方案 > 如何使用起点、角度和距离找到终点

问题描述

我有以下指标

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

我想找到终点,但我想不通

标签: cocos2d-x

解决方案


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

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

为了准备操作,您必须包括

#include <math.h>

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

float angle_rad = angle * 3.1415927f / 180.0f;

然后你必须计算方向单位向量。这可以通过三角函数Consine ( cos) 和Sine ( sin) 来完成:

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

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

Vec2 end = start + distance * dir_vec;

推荐阅读