问题标签 [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 回答
991 浏览

c# - 沿其运动矢量的方向旋转精灵

我有一个 XNA Windows Phone 游戏,你用加速度计移动一个精灵

我的问题是我不知道如何让精灵面对它正在移动的方向。到目前为止,这是我的代码:

0 投票
3 回答
548 浏览

atan2 - 将 atan2 限制在特定的角度范围内

我希望我的玩家精灵跟随鼠标光标的位置旋转。
我正在使用 atan2 为我的 Player sprite 设置 360 度旋转动作脚本。

使用这个,90 度是直上,0 是直右,270 度是直下。我需要玩家精灵坐在屏幕的左侧,并且在旋转时只面向屏幕的右侧(这意味着它不能向后看)。

我需要将我的角度限制在这两种情况下;小于 90 度或大于 270 度。

理想情况下,我想将 0 度设置为直线向上,然后我只需将我的条件设置为小于 180 度的角度(一个条件而不是两个)。

可以这样做吗?

0 投票
4 回答
4667 浏览

javascript - JavaScript atan2() 函数未给出预期结果

通常,极坐标从 0 到π到 2 π(实际上正好在 2 π之前,因为它再次等于 0)。然而,当使用 JavaScriptatan2()函数时,我得到了一个不同的、奇怪的范围:

如您所见,在达到π (180°) 后,它跳到 – π (–180°),然后回到 0。我怎样才能让它使用范围{0, ..., 2 π }而不是{– π , ..., π }?我一直在尝试考虑每个计算来“修复”这些值,但我也想知道为什么 JavaScript 选择这个范围而不是典型的极坐标范围。谢谢!

0 投票
4 回答
5101 浏览

mysql - 在MySQL中计算风向的平均值

我每 10 秒在新行上有一张风向表(以及其他天气值)。方向存储为度数:0 - 360。


目的

这个平均值是什么意思?数据库每 10 秒存储一行信息。对于性能问题,我想将 5 天之前的数据汇总到每小时一条(平均)行。

使用温度很容易实现: avg(temp) 可以解决问题,因为温度不会在不同的值之间跳跃。

在盛行的风中,要获得这个“平均值”要困难得多。


以度为单位计算平均风向并不像使用聚合函数 avg() 那样简单,因为它是一个圆,例如:

哪个不准确;它应该是:0 或 360。

因此,我在大学里的三角学课程在我的脑后想,如果我将它转换为弧度,并计算 x 和 y 分量,我将能够重新计算平均方向。

在 php 中,$w['w'] 是存储在数据库中的方向。

这个公式正确吗?

如果这个公式是正确的;理想情况下,我想获得 MySQL 的完整功能。我用它做了这个;但我发现很多()的......

0 投票
4 回答
17288 浏览

c - 不使用 std 函数或 C99 计算 atan2

我正在从 3 轴加速度计计算角度,但我的编译器没有 atan 或 atan2 函数。它有一个保留的内存插槽,但它调用了一个我在任何文件中都找不到的函数。

我的编译器是运行 ARMCC 编译器的 Keil µVision 4。编译有文件 math.h,但该函数是 extern 并且不存在:

是否有一个我可以包含的库或函数已经实现了函数 arctan?或者是否有替代功能来计算加速度计的角度?我需要对角度进行完整的 3 轴校准。

编辑:我希望避免一个充满预先计算值的表。

0 投票
6 回答
6368 浏览

c# - 尝试计算两个角度之间的差异 (atan2)

Atan2(y,x) 将返回 -pi 和 pi 之间的浮点数。我想计算两个角度之间的距离,但不连续性让我失望。

请参阅this以获得更好的理解。

我希望能够计算角度 1 和角度 2 之间的距离。

这样做的重点是能够创建一个从中心到指定角度的圆锥。基本上我将评估:

0 投票
2 回答
488 浏览

java - 如何在我的安卓游戏中使用 atan2

我正在制作横向卷轴射击游戏。我目前让我的角色水平向右射击。我想让他在屏幕上的任何地方拍摄。

我知道我应该使用 atan2 来确定我的子弹将射向哪个角度,但我很困惑如何在我的游戏中实现它。

我的问题是如何将屏幕上的触摸坐标调用为 atan2?我是否将它放在我的触摸命令代码或我的射弹的类中。最后我需要再做一个 atan2 来提高速度吗?

0 投票
1 回答
1793 浏览

r - R中的极坐标变换图像

我正在尝试将 R 中的图像(表示为矩阵)转换为原点为 0,0(左上角)的极坐标空间。给定如下所示的215x215矩阵x

在此处输入图像描述

但是,xn 看起来像:

在此处输入图像描述

当我期望这个时:

在此处输入图像描述

知道我做错了什么吗?

0 投票
3 回答
14363 浏览

java - 2点与atan2之间的角度

我正在阅读这篇关于在 2 点之间获得角度的帖子,并且想知道。我认为 atan2 是为 atan2(y,x) 定义的,这里是 atan2(deltaX, deltaY),为什么现在先是 x?

0 投票
1 回答
1515 浏览

javascript - 指定 Math.atan2 的来源

Math.atan2()是一个非常有用的计算角度的函数。但是,我无法解决一件事:

console.log 表示计算角度的 0,0 位于屏幕的左上角。我将如何计算来自不同原点的角度,比如屏幕中心?