勾股定理、三角函数、弧度在游戏中的运用

勾股定理

若知道直角三角形的任意两条边长,则可以求出第三条边的长度。

公式 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.asinMath.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://download.****.net/detail/qq408896436/9893205