cocos2d-x - 如何使用起点、角度和距离找到终点
问题描述
我有以下指标
Vec2 start = Vec2(20, 20);
float angle = 64.0f;
float distance = 500.0f;
我想找到终点,但我想不通
解决方案
如何使用起点、角度和距离找到终点?
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;
推荐阅读
- javascript - React-virtualized 动态高度列表呈现最初堆叠的所有内容
- java - 正则表达式在最后一个下划线之后查找给定数量的字符
- c# - 带参数的 Descendants() 返回空结果
- rust - 对于只有一小部分代码实际上在做“不安全”事情的“不安全”函数的最佳实践是什么?
- angular - 如何从组件访问表单属性?
- javascript - 我想在每个项目的 for 循环中添加计数器。(vue.js)
- javascript - 如何在触发事件后追加新的换行符并保留前一个换行符?
- c - 编程 EXACT 计时器,每 x 秒调用一次 c 语言中的函数
- python - Pandas:如何在单个数据框中合并包含相同名称的列?
- python-3.x - 使用 for 循环进行网页抓取 - 无法“传递”某些数据