在做小游戏时候遇到的一个向量角度问题,折腾了一段时间,复习了一遍向量与三角函数。
向量斜率:tan(x) = 对边/底边 = y2-y1/x2-x1;
向量角度:x = arctan(y2-y1/x2-x1);
以上公式于 左下角起始坐标轴 是能够准确算出向量斜率和角度。
但计算机坐标轴起始位置在左上角,如下图。
但通过arctan(x2-x1/y2-y1)能准确算出向量角度x,十分不解。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
在学生时期,你学习三角函数的时候,坐标系是在左下角的,然后正切公式

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