问题标签 [atan2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1639 浏览

python - python中的快速三角函数逼近

我正在使用 python 进行需要大量大圆计算的轨迹比较计算。这些计算需要大量的三角函数,并且脚本目前使用常规的 math.atan2 等实现非常慢。是否有任何 python 库可以执行高效的近似?我真的更喜欢效率而不是准确性。

任何自己实现这一点的指针也非常受欢迎。

0 投票
4 回答
3775 浏览

math - How to use atan2() in combination with other Radian angle systems

I am struggling with this in JavaScript, but this problem applies to many other languages/environments as well.

I want to have one object rotating towards the position of another object, and I use:

atan2(obj1.dy, obj1.dx) - obj2.getRotation()

to check if the second object should rotate clockwise or counterclockwise at a given time.

In KineticJS, the JS/HTML5/Canvas programming environment I am using, the angle is specified in radians from 0 to 2 pi starting at the positive Y axis and going clockwise. This behaviour is seen in many other programming environments as well.

However, when calculating the angle of movement from the second object with the Math.atan2(y,x) function, the angle is specified from -pi to pi, starting at the positive X axis, going counterclockwise.

To clarify:

Difference between normal radians and atan2()

The question:

How can I calculate an angle in normal radians from the result of the atan2() function?

0 投票
1 回答
2467 浏览

assembly - 使用 ARM NEON 程序集对 atan2 进行 SIMD 向量化

我想使用霓虹灯指令 SIMD 和臂组件计算 4 个点的大小和角度。大多数语言都有一个内置库,在我的例子中是 C++,它计算角度(atan2),但只计算一对浮点变量(x 和 y)。我想利用处理 q 寄存器的 SIMD 指令来计算 atan2 的 4 个值的向量。

精度要求不高,速度更重要。


我已经有一些汇编指令可以计算 4 个浮点寄存器的大小,并且对于我的应用程序来说具有可接受的精度。q1 包含 4 个“x”值(x1、x2、x3、x4)。q2 包含 4 个“y”值(y1、y2、y3、y4)。q7 包含 4 个结果的大小 (x1^2 + y1^2, x2^2 + y2^2, x3^2 + y3^2, x4^2 + y4^2)。

使用 SIMD 指令计算两个向量的近似 atan2 的最快方法是什么?

0 投票
2 回答
1831 浏览

trigonometry - 为什么 atan2 给了我与 asin 不同的值?

我试图计算直角三角形的角度值。侧面是相反的,斜边也恰好与角度相邻。用 Java 编写的一段代码使用 atan2 来获取角度。当我在 C 中使用 atan2 时,我得到了不同的值。我获得正确值的唯一方法是使用 asin。

以下是 C 语言中的代码片段:

这是Java中的代码片段:

任何人都可以对这个问题有所了解吗?

0 投票
1 回答
430 浏览

java - 使用 atan2 的旋转行为很奇怪

我正在尝试创建一个基本的模型编辑器,但要么我不理解 atan2,要么它不是我要使用的正确解决方案,因为它返回的结果不可预测且令人沮丧。我一直在使用从该站点上的另一个线程借来的一些代码来获取两点之间的角度,但问题是,它只是没有做我想要的并且没有旋转到正确的位置。这是我设计模型、渲染它们并拖动它们的课程。

这是骨架类的代码(它带有一个构造基本模型的构造函数):

}

这是 Joint 类的代码:

}

代码仍然有点混乱,因为并非所有内容都已实现,但它变得有点烦人,因为如果我不能做到这一点,我就无法真正继续前进,并且程序不会做它应该做的事情。基本上,它会导致角度到错误的位置。因此,如果有人理解我的问题,请帮帮我。谢谢你。

0 投票
2 回答
244 浏览

c - atan2 (y,x) 当 y & x 非常小时

我在 C 中尝试atan2了大约 10 -14的参数。它给出了一个错误的答案:大约 90 而不是零,例如:

0 投票
1 回答
584 浏览

c - 带有霓虹灯的 Calc atan2

我找到了一个,但没有

计算 len 浮动一次。

我怎样才能写一个霓虹灯版本atan2fv_neon_hfp

0 投票
2 回答
216 浏览

xna - 速度方向上的点矩形 (XNA)

我试过Math.Atan2(futurePos.Y - pos.Y, futurePos.X - pos.X)旋转,但它似乎只在 X 轴上工作。
而如果我这样做Math.Atan2(mouse.Y - pos.Y, mouse.X - pos.X),它就可以正常工作(尽管我必须管理速度是否为负值,即使这对两个方向都不起作用)。

我想要的结果是在粒子的位置上绘制一个矩形,其长度与粒子的速度有关,其角度指向粒子的去向。

0 投票
2 回答
2216 浏览

matlab - 如何在matlab中将atan2函数从-inf重新定义为inf?

我有一个旋转矢量R(x(t), y(t)),我想找到一个随时间变化的角度。是在和atan2之间确定的,但是我不方便分析所有动态。那么,有没有办法从to扩展?-pipiatan2-infinf

0 投票
2 回答
2582 浏览

java - Android Java atan2() 结果在 -Pi、Pi 或 0、360 之间(两个手指旋转相关)?

对于这样的基本问题,我很抱歉,但我试图在 Android 上实现两个手指旋转,我在 SO 上找到了几个帖子,试图理解它们我不明白为什么有时 atan2 的结果被认为是-Pi 和 Pi,有时是 0、360 或 -180、180。

我真的无法理解这一点:https ://stackoverflow.com/a/10682187/1692502用户对应该小于 3.14 的结果执行模 %360 ...

谢谢