gpt4 book ai didi

c++ - 用 x 轴计算角度的最快方法

转载 作者:太空狗 更新时间:2023-10-29 21:06:20 27 4
gpt4 key购买 nike

计算直线与 x 轴之间角度的最快方法是什么?

我需要定义一个函数,它在 PI:2PI 区间内是单射的(我必须在最上面的点和下面的任何点之间形成角度)。

PointType * top = UPPERMOST_POINT;
PointType * targ = TARGET_POINT;

double targetVectorX = targ->x - top->x;
double targetVectorY = targ->y - top->y;

第一次尝试

//#1
double magnitudeTarVec = sqrt(targetVectorX*targetVectorX + targetVectorY*targetVectorY);
angle = tarX / magTar;

第二次尝试

//#2 slower
angle = atan2(targetVectorY, targetVectorX);

我不需要直接的角度(弧度或度数),任何值都可以,只要通过从 2 个点比较这些值,我就可以判断哪个角度更大。 (例如,示例一中的角度在 -1 和 1 之间(它是余弦参数))

最佳答案

像 atan2 一样检查 y 是否为零;那么商 x/y 就足够了。 (假设我理解正确)。

关于c++ - 用 x 轴计算角度的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7868115/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com