在做小游戏时候遇到的一个向量角度问题,折腾了一段时间,复习了一遍向量与三角函数。
向量斜率:tan(x) = 对边/底边 = y2-y1/x2-x1;
向量角度:x = arctan(y2-y1/x2-x1);
以上公式于 左下角起始坐标轴 是能够准确算出向量斜率和角度。
但计算机坐标轴起始位置在左上角,如下图。
但通过arctan(x2-x1/y2-y1)能准确算出向量角度x,十分不解。
在做小游戏时候遇到的一个向量角度问题,折腾了一段时间,复习了一遍向量与三角函数。
向量斜率:tan(x) = 对边/底边 = y2-y1/x2-x1;
向量角度:x = arctan(y2-y1/x2-x1);
以上公式于 左下角起始坐标轴 是能够准确算出向量斜率和角度。
但计算机坐标轴起始位置在左上角,如下图。
但通过arctan(x2-x1/y2-y1)能准确算出向量角度x,十分不解。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
在学生时期,你学习三角函数的时候,坐标系是在左下角的,然后正切公式

tanθ=y/x
,当坐标系顺时针旋转90度后,y
的值就是现在你的x2-x1
,x
的值就变成y2-y1
,所以tanθ=(x2-x1)/(y2-y1)
,明白了吧。如果不习惯,你把你当前的坐标系逆时针旋转90度放回左下角就很清楚了。