本文主要是介绍勾股定理、三角函数、弧度在游戏中的运用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
勾股定理
若知道直角三角形的任意两条边长,则可以求出第三条边的长度。
公式 :a²+b²=c²
这里的c一定是斜边
例1:
求斜边
解 :
3²+4²=c²
c = 9 + 16
C = 25
例2:
求直角边
解:
a²+4²=6²
a² = 36 - 16
a = 20
三角函数
sinx = 对边/斜边 即 :a / c
cosx = 邻边/斜边 即 :b / c
tanx = 对边/邻边 即 :a / b
上面的公式只对直角三角形有用
例1:
角度为20°、底为64, 求x
分析 :64为角20°的对边,而x为角20°的邻边。在三角函数的公式里,用到对边和邻边只有tan。所以 :
解 :
三角函数的另一种表达方式
前面说的三角函数只对直角三角形管用,但实际情况下,很多时候角度是会大于90°或者小于0°的,这样的话,上面的公式就不管用了。取而代之的方式是下面这种。(原理是一样的)
例1 :
1、先获取两个点的坐标
x1 = 500, y1 = 400 //红色点坐标
x2 = 200, y2 = 600 //橙色点坐标
2、算出邻边和直角边的长度
nx = x2 - x1 //邻边长度
ny = y2 - y1 //直角边长度
3、根据勾股定理,已知两边的长度,即可算出斜边的长
xie = Math.sqrt( Math.pow(nx,2) + Math.pow(ny, 2) );
4、算出这个角度的cos值(之所以使用cos值,是因为只有反cos能获取到0~180°,其它的Math.asin和Math.atan只能返回-90°~ 90°)
cos = nx / xie;
5、通过反cos获取这个cos值的角度
angle = Math.acos(cos);
具体解题过程
弧度与角度之间的转换
角度转弧度 = π / 180 x 角度
弧度转角度 = 180 / π * 弧度
角度转弧度公式分析
因为一个圆的弧度= 2π,一个圆的角度=360°。 所以2π/ 360 = 0.01745329 ,所以1°=0.01745329弧度。所以角度转弧度公式可以推导为 :2π/ 360 x 角度,化简后得:π/ 180 x角度
弧度转角度公式分析
因为一个圆的角度=360°,一个圆的弧度=2π。所以360 / (2xπ) = 57.2957795,所以1弧度=57.2957795。所以弧度转角度公式可以推导为 :360 / 2πx弧度, 化简后得 :180 /πx 弧度
程序案例 (需手机模拟器以及支持ecmascript 6的浏览器环境下运行)
http://39.108.183.7/demo/circular/plane/demo1/
http://39.108.183.7/demo/circular/plane/demo2/
http://39.108.183.7/demo/circular/plane/demo3/
http://39.108.183.7/demo/circular/plane/demo4/
http://39.108.183.7/demo/circular/plane/demo5/
http://39.108.183.7/demo/circular/plane/demo6/
案例下载地址:三角函数在游戏中的运用_三角函数在游戏中的应用-Web开发代码类资源-CSDN下载
这篇关于勾股定理、三角函数、弧度在游戏中的运用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!