最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

數(shù)學(xué)都搞不好,你還搞什么游戲開發(fā)?

2020-09-16 17:07 作者:博毅創(chuàng)為  | 我要投稿

前言

數(shù)學(xué)知識,對于游戲開發(fā)來說很重要,可謂是基礎(chǔ)。

今天我們就來說一說游戲開發(fā)中所涉及到的三角函數(shù)與反三角函數(shù)知識。



01 相似三角形

兩個(gè)三角形相似,可以得到一個(gè)結(jié)論,三角形的三個(gè)角度對應(yīng)相等,三個(gè)邊對應(yīng)成比例。



如果有兩個(gè)三角形,有兩個(gè)角是相等的,第三個(gè)角也會相等(三角形內(nèi)角和為180度),這個(gè)這兩個(gè)三角形相似。

02 相似直角三角形

一個(gè)角為直角的三角形,為直角三角形,如果兩個(gè)直角三角形,有一個(gè)除直角以外的角相等,那么這兩個(gè)直角三角形相似。

根據(jù)三角形相似,可以得到 x1/r1 = x2/r2, y1/r1 = y2/r2,x1/x2 = y1/y2,這些比例等式,以及他的變化如:

(x2/x1=y2/y1)

對于一個(gè)直角三角形,如果一個(gè)銳角固定,比如30度,那么這一類三角形都相似,相似三角形邊成比例。所以30度的三角形,對邊/斜邊 y1/r1 值是固定的,鄰邊/斜邊 x1/r1 值是固定的。對邊/鄰邊是固定的值,鄰邊/對邊也是固定的。你只要搞一個(gè)對應(yīng)角度的三角形,就能知道這個(gè)比例值。所以就得到,給一個(gè)角度,就能知道一個(gè)比例。

我們就得到一個(gè)概念,30度的直角三角形,

正弦:對邊/斜邊得到的固定值,稱為sin(30);

余弦:鄰邊/斜邊得到固定的值, 稱為cos(30);

正切:對邊/鄰邊得到的固定值,稱為tan(30);

余切:鄰邊/對邊得到的固定值,稱為ctan(30)。

只要角度不同,根據(jù)這個(gè)角度,就可以得到這個(gè)比例,這個(gè)映射關(guān)系我們叫做三角函數(shù)。

value = sin(角度), value = cos(角度) value = tan(角度) value = ctan(角度)

03 三角函數(shù)推廣

剛才我們分析的是直角三角形里面的一個(gè)比例函數(shù),根據(jù)相似三角形推導(dǎo)而來。

給定一個(gè)直角三角形的銳角,他的各種比例關(guān)系就是確定的,形成了一個(gè)角度與比例值的一些列函數(shù),我們統(tǒng)稱三角函數(shù)。

因?yàn)橹苯侨切沃?,只能是銳角,我們接下來把三角函數(shù)推廣。

先看一個(gè)坐標(biāo)系,已知一個(gè)點(diǎn)的坐標(biāo)為(x, y), 已知原點(diǎn)為(0, 0), 坐標(biāo)距離原點(diǎn)的距離為len

原點(diǎn)到點(diǎn)(x, y)的向量與x軸的角度為r;



正弦:sin(角度) = y/len;余弦cos(角度)=x/len;正切:tan(角度) = y/x, ctan(角度)= x/y。

這樣推廣的好處,不只是直角三角形,直角三角形只能是銳角,這樣推廣到了任意角度。



image

04 反三角函數(shù)

既然角度可以得到比例,那么比例也可以得到角度,這個(gè)是反三角函數(shù)。

根據(jù)上面的推斷,已知(x,y)點(diǎn)的坐標(biāo),就可以獲得角度。這個(gè)叫做反三角函數(shù),一般編程語言的數(shù)學(xué)庫都提供了,Math.atan2(y,x)

第一個(gè)參數(shù)填y坐標(biāo),第二個(gè)填x坐標(biāo)。這樣已知一個(gè)點(diǎn)(向量)即可求的角度。我們計(jì)算角色朝向的時(shí)候經(jīng)常需要用到這個(gè)函數(shù)。


但有一個(gè)要注意,Math.atan2返回的角度是弧度。

05 弧度與角度

一個(gè)長度,可以用米來表示,也可以用厘米來表示,米和厘米只是這個(gè)長度的一個(gè)度量單位。

一個(gè)重量, 可以用斤表示,也可以用倆表示。斤與倆只是重量的一個(gè)度量單位。

一個(gè)角度,可以用度與弧度來表示。一個(gè)圓周, 度為360度,弧度為2*PI。180度為PI弧度。

這樣就得到了弧度與度的轉(zhuǎn)換,


度轉(zhuǎn)弧度,有幾個(gè)180,就有幾個(gè)PI弧度。例如degree角度轉(zhuǎn)弧度r r = (degree /180) * PI 弧度轉(zhuǎn)度,有幾個(gè)PI,就有幾個(gè)180度 degree = (r / PI) * 180 06 習(xí)題練習(xí) a: 遙感的向量(x, y), 如何求角色的朝向角度? r = Math.atan(y, x) b: 遙感的向量為(x, y), 速度大小為speed, 如何做矢量分解? vx =speed * x / len; vy =speed * y / len; len 為(x, y) 到(0, 0)的長度。


最后

本期的技術(shù)文章就是這些,請大家多多分享,多多點(diǎn)贊。

基礎(chǔ)知識始終是最重要的,這些通過游戲大廠的招聘就可以看出。

希望大家不要一味貪圖“更高級的技術(shù)”,而是夯實(shí)基礎(chǔ),才能在游戲開發(fā)中無往不勝。

我是Blake老師,祝大家成功。


數(shù)學(xué)都搞不好,你還搞什么游戲開發(fā)?的評論 (共 條)

分享到微博請遵守國家法律
贡嘎县| 台湾省| 利川市| 茶陵县| 威远县| 陆良县| 镇康县| 文安县| 衡阳市| 济宁市| 黑龙江省| 三台县| 陆川县| 即墨市| 贵定县| 自贡市| 尉氏县| 静安区| 湖州市| 济源市| 视频| 湖南省| 岳阳市| 安图县| 栖霞市| 郎溪县| 平阳县| 扎兰屯市| 精河县| 威海市| 桓台县| 新乡市| 霍城县| 缙云县| 万宁市| 噶尔县| 九龙县| 清河县| 海盐县| 吕梁市| 咸宁市|