问题标签 [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 投票
16 回答
154961 浏览

math - 如何将 atan2() 映射到 0-360 度

atan2(y, x)在 180° 处有不连续性,在顺时针方向切换到 -180°..0°。

如何将值范围映射到 0°..360°?

这是我的代码:

startPoint给定and endPoint,两个 XY 点结构,我正在计算滑动触摸事件的方向。该代码适用于 iPhone,但任何支持的语言atan2f()都可以。

0 投票
6 回答
15988 浏览

c - 用C画一个多边形

我需要在给定 2 个点(他的顶点的中心和 1 个顶点)的情况下绘制一个“n”边的多边形,只是我在数学上很烂。我读了很多书,所有这些都是我能够理解的(我不知道它是否正确):

好的,我用毕达哥拉斯定理取两点(半径)之间的距离:

以及这2点与atan2之间的角度,如下所示:

其中 xc, yc 是中心点,x, y 是唯一知道的顶点。

有了这些数据,我会:

问题是程序不能正常工作,因为它绘制的线条不像多边形。

有人怎么知道足够的数学来帮忙?我正在使用 C 和 turbo C 在这个图形基元中工作。


编辑:我不想填充多边形,只需绘制它。

0 投票
2 回答
657 浏览

c# - Math.Atan2 或 C# 中的类实例问题

这是我的问题(C#):

当我从另一个类中获取值时,变量值分别为 0.0 和 -21.0。它还在调试时显示在 IDE 中。这里出了什么问题?

0 投票
2 回答
2729 浏览

c++ - cos(atan2(y,x)) 与使用复数的精度, C++

我正在编写一些坐标变换(更具体地说是 Joukoswky 变换,维基百科 Joukowsky 变换),我对性能感兴趣,但当然对精度感兴趣。我正在尝试以两种方式进行坐标转换:

1) 分别计算实部和复部,使用双精度,如下:

其中 chi 和 Z 是具有双 x 和 y 作为成员的简单结构。

2)使用复杂:

其中 Z 和 chi 是复数。有趣的是,情况 1) 确实更快(大约 20%),但精度很差,逆变换后逗号后的第三个小数会出现错误,而复数会返回确切的数字。那么,问题出在 cos(atan2)、sin(atan2) 上吗?但如果是的话,综合体如何处理呢?

编辑:刚刚发现这并不是我想到的问题。我必须做一般的转变,因为

Z = 1/2*(chi^n + (1/chi)^n),到目前为止,上面的代码是我想办法做到的。更确切地说,

还纠正了 Zy 上的错误

0 投票
2 回答
1471 浏览

blackberry - j2ME 有 Math.atan2 替代品吗?黑莓开发

我的持久对象中存储了各种各样的位置,其中包含双精度(43.7389、7.42577)格式的纬度和经度。我需要能够获取用户的纬度和经度并选择其中的所有项目,比如 1 英里。步行距离。我已经在 PHP 中完成了这项工作,所以我抓取了我的 PHP 代码并将其传输到 Java,在那里一切都很好,直到我发现 J2ME 不支持 atan2(double, double)。因此,经过一番搜索,我找到了一小段代码,它应该可以替代 atan2。这是代码:

我得到了奇怪的结果。我的最小和最大纬度和经度以难以置信的低数字返回,这不可能是正确的。当我期待更接近原始纬度和经度值(43.7389、7.42577)时,就像 0.003785746 一样。

由于我不是高等数学大师,我真的不知道在这里寻找什么。也许其他人可能有答案。

这是我的完整代码:

请原谅混乱。我有用户 lat long 硬编码,因为我还没有 GPS 功能。您可以看到注释掉的 SQL 查询,以了解我计划如何使用最小和最大 lat 和 long 值。

任何帮助表示赞赏。

谢谢

0 投票
2 回答
2723 浏览

geometry - 两条线之间的角度从同一点开始

假设我是二维平面上的任意两个点(p1(x1,y1),p2(x2,y1)),并且两个点与中心(c(c1,c2))形成一条线。因此我是两条线在同一点结束。我想知道如何计算这两条线之间的角度。我希望能够显示 0-2pi 的角度范围。还有 0-(-2pi) ,它让 p1 和 c 形成的线成为第 1 行和其他第 2 行。我确实有一些使用 atan2() 的想法,但没有像我想要的那样工作。谢谢

0 投票
2 回答
375 浏览

math - 从 A 指向 B 的向量的角度

我在数学方面不是最好的,但对于我现在正在做的事情,我需要计算向量的角度,如下图中的箭头所示:

替代文字

我在二维平面上有一个点 A 和一个点 B。我需要计算以下内容:

  • 箭头必须旋转的角度才能指向 B
0 投票
4 回答
14250 浏览

objective-c - 帮助正确计算 atan2

我需要计算线之间的角度。我需要计算 atan。所以我正在使用这样的代码

但我不能超过 180 度((在 179 度之后去 178..160..150 等等。

我需要旋转 360 度。我该怎么做?怎么了?

也许这有帮助:

0 投票
2 回答
502 浏览

geometry - 计算直线相对于中心坐标的斜率的算法

请帮助计算斜率的算法所以我们有一个笛卡尔坐标系。X 就在 Y 的顶部。有一条线穿过坐标中心。需要确定相对于轴 OX 的角度。

所以这就是我正在做的

  1. 某些功能转移到原点(顶行)和行尾
  2. 确定 dx, dy
  3. Hildren在atan2中放出两个参数(dy, dx)
  4. 以弧度返回结果。

但!我 atan2 只能在 180 度范围内工作。180 后又往另一个方向走。

所以问题是:找到角度的正确算法是什么?我需要采用 dy、dx 的大小吗?如何计算所有 360 度及更多的反正切?我很高兴听到特定的算法或代码注释。谢谢!

0 投票
4 回答
3341 浏览

matlab - 角度的matlab方差

我有一个包含角度的矩阵,我需要计算均值和方差。对于我以这种方式进行的平均值:对于每个角度计算 sin 和 cos 并对所有 sin 和所有 cos 求和,平均值由 atan2(sin, cos) 给出,我的问题是如何计算角度的方差知道意思是?

谢谢你的回答

我附上我的matlab代码: