|
6
|
| Daren Thomas · 技术社区 · 16 年前 |
|
|
1
9
这在Java中工作,计算八个方向的值0…7:
结果映射到指南针如下:
|
|
|
3
5
无需执行atan函数。 如果你这样做:y/x,你会得到这条线的斜率。根据你得到的数字判断,你可以确定角度/八度。 对于正x(x>0)
以及一个类似的负x列表
我不得不挖掘一下。这是我使用的一个高度优化的例程(用于手机游戏)。 输入:x1,y1=向量的起点 输出(0-7)=0=北,1=西北,2=西,。..等等
这将产生以下输出:
(测试的向量可能看起来选择得很奇怪,但我对它们进行了一些调整,使其在一个八分位数中清晰可见,而不是在精确的边界上) |
|
|
4
4
这个不使用atan2,每次通话最多做4次比较和2个产品。在4个内部块中比较x和y(我只在第一个块中编辑了它),可以精确地减少到4次比较和每次调用1个产品。
|
|
Fyodor · 在C中使用sin和cos计算数学表达式不正确? 1 年前 |
|
Cjmarkham · 基于已知斜边和相邻的[闭合]获得θ 1 年前 |
|
|
Quiche31 · 符号反三角函数并不总是返回期望的分数 2 年前 |
|
|
Jack Wild · 三名JS直接在摄像机前获得地面位置 8 年前 |
|
|
urukh · Arduino波发生器 8 年前 |
|
|
Michael K. · 如何以java度求反余弦 8 年前 |