先上人權。證明一下我可以刷"Hard"
----------------
這個禮拜剛好看到gjk(Gilbert–Johnson–Keerthi)上news ycombinator. gjk是我以前寫3d的時候,跳過的一個演算法,因為複雜。剛好這禮拜有空,就好好研究一下。
現在google "gjk"出來的大概都是用
方法。
雖然casey的方法對2d很棒,但他宣稱可延伸到3d其實是錯的。
為什麼我知道casey的方法有問題?其實我本來不知道,但我收尋到
https://gamedev.net/forums/topic/692141-collision-detection-why-gjk/雖然casey的方法對2d很棒,但他宣稱可延伸到3d其實是錯的。
為什麼我知道casey的方法有問題?其實我本來不知道,但我收尋到
Dirk Gregorius 說Casey的"最佳化"方法不行,他們試過了。Dirk 也算是厲害的人物,所以我就重新檢視Casey的方法。
仔細想了一下,發現問題所在了,line segment在2d裡,可以分in,out,因為有implicit的Z plane上下切。但在3d裡,line segment沒有plane可以切,所以casey的方法在3d不適用。
所以gjk在3d裡做碰撞,你沒辦法用SAT來最佳化
如果你對gjk有興趣的話,John Nagle有講你需要注意的事項(John就是tcp nagle演算法的Nagle).
Casey的gjk確實很棒,解釋的很清楚,但可惜只能在2d用。
------------------
我想我大概證明我可以刷數學,演算法,資料結構。可是會這些其實沒大幫助。
現在3d物理運算有
免費讓你用,unreal/unity都是用這個。就算你有特殊需求,也有人繼續開發新的如
<地平線 西域禁地>免費讓你用。
https://box2d.org/ 也幾乎成為2d物理的標配。
其實現在寫程式,99.9%只是在組裝各種api,搞定naming,refactor 好,test好,ci好。資料結構,演算法?都已經幫你套在framework裡面了。
所以元po的抱怨是很合理的,能通過hard但其實工作完全用不到,會比有實績的人更適合嗎?
而且會刷題的人,當然是去高薪/大公司面試刷題,幹麼要去小公司/新創?
中小企業找人已經很難,真的不需要去用這些演算法來篩選,如果你公司根本沒在寫演算法。
: 最近一次面到刷題的公司...感覺已經走火入魔了,其實現在寫程式,99.9%只是在組裝各種api,搞定naming,refactor 好,test好,ci好。資料結構,演算法?都已經幫你套在framework裡面了。
所以元po的抱怨是很合理的,能通過hard但其實工作完全用不到,會比有實績的人更適合嗎?
而且會刷題的人,當然是去高薪/大公司面試刷題,幹麼要去小公司/新創?
中小企業找人已經很難,真的不需要去用這些演算法來篩選,如果你公司根本沒在寫演算法。
: 考試考到難的程度,比 Google 還難
: 去年就面過一次,當時考題 Easy ~ Medium
: 隔了一年還在找人,人資看我資歷主動邀我面試,
: 卻考得更難...有真心要找可以解決問題的人嗎?
: 都沒有照照鏡子,貴司的薪水可以比 G 還高嗎?
: 我考得過 Hard,還需要領你這 120 萬左右年薪?
: 我近十年經驗,可以拿出數十萬下載量
: 還在線的作品不被重視,
: 卻考 Hard 難度的考題來羞辱人浪費我的時間,
: 我看了考題十分鐘就 submit 不爽寫了。
: 當然這樣的狀況不只一間公司,
: 我就不指名道姓了
: 大概是被刷題進去的人佔到主管位,
: 所以也就信刷題這一套。
: 但我的疑問是,刷題進去的人,
: 到底產出如何? 只會寫那些數學題型類似的演算法,
: 對於實作沒有足夠經驗,到底可以做出什麼啊?
: 有沒有人跟刷題派合作過? 真的刷題高分等於強嗎?
--