我正在开发一款游戏,我正在编写一个Entity
基类。由于许多实体的行为与粒子(2D)类似,我想使用法线而不是以度为单位的旋转。然而,因为我使用的是OpenGL,我需要让法线的程度旋转。什么是从法线转换为法度的最快方式,反之亦然。我知道我可以使用三角函数,如atan2
sin
cos
等,但我很确定有一个更快的方法。任何帮助或方向将不胜感激。如何将法线转换为度数?
1
A
回答
8
如果你受限于两个方面和你想要的方向向量(X,Y)与x轴转换为度,然后atan2(y, x)
几乎肯定会是最快方法,除非你将x和y的可能值限制在一些相当平凡的情况下。当然,要从y轴获得度数,只需使用atan2(x, y)
即可。这个角度将以弧度表示。乘以180/pi转换为度数。这应该需要微不足道的时间。
你正在绘制的图表显示atan2(x, y) * 180/Math.PI
会给你你想要的结果。
不要关心速度,除非您已经对代码进行了剖析并确定此计算存在瓶颈(这不太可能)。
+0
Upvoted for the final段,很多人犯了这个错误。 – SHiRKiT 2012-01-05 01:13:45
相关问题
- 1. 将辐射度转换为度数
- 2. 如何线性语法转换为DFA
- 3. 如何将UTM转换为经纬度?
- 4. 如何将DBNULL转换为双精度?
- 5. 如何将加速度计g力值转换为度数
- 6. 如何将坡度转换为度数,反之亦然?
- 7. 如何将棕褐色的弧度转换为度数
- 8. 我无法将数组转换为经度和纬度
- 9. 如何将char数组转换为整数或双精度?
- 10. 我如何将传感器数据转换为度数
- 11. 将线串转换为点数组?
- 12. 将线图转换为barplot
- 13. 将增量对转换为度数
- 14. 将双精度转换为浮点数
- 15. 无法将双精度数组转换为数组
- 16. 如何将字数转换为数字
- 17. 如何将方法转换为范围。
- 18. 如何将BASIC算法转换为javascript?
- 19. 如何将Mathematica语法转换为latex?
- 20. 如何将go方法转换为func?
- 21. 如何使用PostGIS将多边形数据转换为线段
- 22. 如何将数组从线性转换为多维的PHP?
- 23. 如何将虚线版本号转换为整数?
- 24. 如何将Python中的64位转换为双精度小数?
- 25. 如何将日常数据转换为月度netcdf文件
- 26. 如何将公里转换为Geodjango/GEOS的度数?
- 27. 如何将JavaScript函数转换为角度js?
- 28. 如何将数字转换为宽度字符串属性? Javascript
- 29. 如何将列表和数组转换为相同的维度?
- 30. 如何将每月数据转换为每季度的熊猫
法线从表面总是90度。我不知道你在追求什么... – MichaelHouse 2012-01-05 00:36:07
没有它的两个维度。生病做一张图。 – 2012-01-05 00:36:45
如果我无法弄清楚,我可能只是做一个查找表。 ':P – 2012-01-05 00:45:43