- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要知道另一个角度是在源角度的右侧还是左侧。
我试图减去角度并获得它们的绝对值,但范围是从 -180 到 180,这意味着当我转到 180 和转到 -180 时,它会给我相反的答案。
如果您想知道这是干什么用的,那是我正在开发的 Java 游戏,其中有一个由鼠标控制的坦克炮塔。
最佳答案
这取决于您的角度指定的旋转方向是顺时针还是逆时针。如果你正朝着坦克炮塔的方向看,那么如果你需要顺时针旋转炮塔以尽快指向它,那么一个物体就在右边,如果你需要逆时针旋转则在左边。
显然,您可以向相反的方向旋转以“绕远路”:如果一个物体向右倾斜 10 度,那么您可以顺时针旋转 10 度或逆时针旋转 350 度以指向它。但是让我们只考虑最短的方法,假设角度是按顺时针方向指定的:
// returns 1 if otherAngle is to the right of sourceAngle,
// 0 if the angles are identical
// -1 if otherAngle is to the left of sourceAngle
int compareAngles(float sourceAngle, float otherAngle)
{
// sourceAngle and otherAngle should be in the range -180 to 180
float difference = otherAngle - sourceAngle;
if(difference < -180.0f)
difference += 360.0f;
if(difference > 180.0f)
difference -= 360.0f;
if(difference > 0.0f)
return 1;
if(difference < 0.0f)
return -1;
return 0;
}
减去角度后,结果可以在 -360(-180 减去 180)到 360(180 减去 -180)的范围内。您可以通过加减 360 度将它们置于 -180 到 180 的范围内,然后与零进行比较并返回结果。
绝对值在 180 和 360 之间的角度对应于“远距离”旋转,加上或减去 360 将它们转换为“近距离”。例如,长途顺时针 -350 度(即逆时针 350 度)加上 360 等于短途顺时针 10 度。
如果指定的角度是逆时针方向,则返回值的含义相反(1表示左,-1表示右)
关于java - 是第二个角左边或右边的角,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31418567/
我正在开发一个需要在屏幕上查找对象的程序,到目前为止工作正常,但我遇到了多显示器配置问题。 GraphicsEnvironment.getLocalGraphicsEnvironment().getS
使用 mySql,我想列出客户对特定产品类别进行的所有购买。 所以,我有 3 个表:客户 (idCustomer, Name)、类别 (idCategory, CategoryName) 和订单 (i
我的网站上有一个关于 background-size:cover 的小问题我一直在 Firefox 中测试它,但是当我在谷歌浏览器中加载页面时,我在左边得到 1px 的白色。当我使用 backgrou
我已经搜索了几个小时来找到解决我的问题的方法,但没有成功。我遇到的问题是两个按钮的垂直堆叠。 这就是我想要做的:它说按钮在这里两次是我试图放置按钮的地方,但我所能做的就是让它们水平排列而不是垂直排列。
我有一个包含多个元素的导航栏。 Left1 Left2 Left3 Right1 Right2 Right3 我不知道如何将“fixedLef
您好,我正在尝试让 2 个 div 在左侧与右侧对齐。 #div1 #div2 #div1 #div2 #div3 #div2 #div3 #div3 诀窍是当浏览器窗口变小时,我希望#div2 位于
body { font-family: Arial, Helvetica, sans-serif; font-size: 13px;
这个问题在这里已经有了答案: In CSS Flexbox, why are there no "justify-items" and "justify-self" properties? (6
这是我的代码的 jsfiddle 链接: https://jsfiddle.net/Krisalay/zvxxeagh/ 我的 HTML 代码是: MESSAGE 1
所以我有 10 个复选框,每个标签都取自数组中相应的索引。我正在使用 ng-repeat 来展示它们: {{entity}}
我是一名优秀的程序员,十分优秀!