切換
舊版
前往
大廳
主題

【專題】拋物線、三角函數、弧度、砲塔旋轉特效、VR的UI按鈕...與其他數學筆記

%%鼠 拒收病婿 | 2020-08-27 15:34:43 | 巴幣 20 | 人氣 741

先說三角函數,雖然學過一兩學期,但紙上談的東西完全只能硬背過關,當初恨這個恨得要死。
但最近看了一系列的教學,才發現這是多麼可愛的東西!

想跳過數學可以下拉。


三角函數
先看sin 和 cos 波

光看這個還是不懂兩者的差別,以為只是差在一前一後。
但看完這個影片就開朗了

sin波可以當做y軸的變化,cos波可以當x軸的變化。
結合在一起就會變成:
程式碼:
z軸那個是我亂湊的,讓他斜斜的轉

再來是tan的用途

如果把上面的練習其中一軸改成tan(Time.fixedTime)的話,就會像這樣:

越接近0的時候變慢,之後越來越大,直到90度時消失,再從另一端出現。(旋轉狀況也是會突然急轉)

問了才知道tan是圓周上點(x,y)的斜率,其中xy是由cos 和sin得到。


拋物線
斜率可以幹嘛? 做了拋物線才知道。
這是我學校專題,裡面有台發球機,分別可以控制發球機位置、目標落點位置、發球高度高低。

順便要展示的是發球機自動旋轉的效果(搞了我很久)
發球機旋轉的物品有兩個,一個是底座(轉y軸)、一個是砲管(轉z軸)。
砲管只轉z軸,才不會跑出軌道,而軌道是底座旋轉去調整的。

目前雖然能動,但程式碼還不算整潔(可能有很多多餘的計算,還望各位挑出來)
外殼旋轉:
兩個向量中間夾角越小,cross得到的值越小,也就是旋轉會越接近目標慢下來,用cross可以取得很像lerp過的旋轉效果。
因為cross只能到180度,所以再用個sign去讓殼旋轉,使目標在自己前方180度內。

炮管的原理也差不多,只是要先計算拋物線的最高點在哪裡。
這時候就用到tan了,越接近90度的坡道斜率就越大,tan的值也越大,球就可以飛越高。
(tan在90度時候不存在,會得到NaN的錯誤訊息)
(參考就好,在某些角度會出現砲塔卡住的現象,雖然動一動就又會好了。)

另外一點要注意的是,使用sin和cos或tan這種方法,建議先把角度轉成弧度。弧度的定義是:
當 半徑長=圓弧長時,該角度稱為1弧度。

若用角度制,同個角度,半徑越大圓弧長就越大,而弧度有點像把角度正規化的結果,讓整個圓的弧長固定在2pi。

到這裡可能還搞不懂數學家是不是吃飽太閒又再創一個單位?!
看了這影片才知道,若用角度制的話,可以想像假設sin跑完一個週期要跑360天,但若用弧度則只需2pi天,可以說角度制每天跑的量少 (斜率小)。

最後,最重要得拋物線程式碼(太長,有東西沒入截圖)

上面講的落落長是我回去補充initialVelocity前的那些國中數學的筆記 ,但最關鍵的initialVelocity 那行公式我還不太懂。


順便附上最近發現的數學公式錦集:http://math.prhs.ptc.edu.tw/math/rule-by-longtung.htm


以上。

這是遊戲內透過小地圖改變實際位置。

因為VR不能像PC遊戲一樣有UI固定在畫面上,不把UI弄近一點就點不到,所以只好寫隻雷射筆,並再UI上用collider偵測碰撞。
變數宣告:



然後雜談:
專題2: 沙灘打水果 (看到中後面有彩蛋(?)


生日快到了,買個美光1TB SSD +個type c硬碟外接殼當隨身碟送我自己,第一次拿到赤裸裸的SSD。
第二個禮物是老師今天帶我去面試(for上學期實習課),對方也有意建立自己的VR部門,我進去的話可能可以變成VR部門的始祖(部門第一也是唯一的人)XD。
面試氣氛很free,對方也很好,加上"有機會" (有機會而已),能領正職薪水和績效獎金,至於是多少我就沒多問。
我能做的可能就AR/VR/網頁和其他雜事的支援,因為不是遊戲公司也不能妄想做PC遊戲。

一講到AI、大數據、即時分析什麼的就完全不行,是不是該學學Python了

總之我很高興,感謝一切機會。
送禮物贊助創作者 !
0
留言

創作回應

樂小呈
原來tan可以這樣用

佬~~
加油!!
2020-08-27 15:50:33
%%鼠 拒收病婿
除此之外,tan還能來算高度[e16]
砲塔瞄準的高度就是用tan(發球高度角)*底邊長 得到的結果。
可以看這個:https://www.shuxuele.com/algebra/trig-finding-side-right-triangle.html
2020-08-27 16:46:05
KK
還以為水果打到74之後,會有封閉者的出現,你都雙刀了說[e6]
2020-08-27 16:05:07
%%鼠 拒收病婿
BGM突然響起:咖啡蘇打 give me pasta
2020-08-27 16:41:57
追蹤 創作集

作者相關創作

更多創作