国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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ā)?的評論 (共 條)

分享到微博請遵守國家法律
东莞市| 新兴县| 安平县| 广河县| 大新县| 同心县| 香港 | 谷城县| 政和县| 云龙县| 乌拉特中旗| 邹城市| 永顺县| 麻城市| 余干县| 宁安市| 阿尔山市| 怀安县| 肥乡县| 竹山县| 宁陵县| 福建省| 休宁县| 阿巴嘎旗| 孝感市| 拜城县| 白玉县| 田林县| 沛县| 沙河市| 信丰县| 积石山| 武冈市| 抚顺市| 方城县| 宁武县| 隆回县| 丰台区| 桂林市| 阿尔山市| 湛江市|