Games101现代图形学入门Lecture 4: Transformation Cont知识点总结
視頻鏈接:https://www.bilibili.com/video/BV1X7411F744?p=4
課程主頁鏈接:http://games-cn.org/intro-graphics/
課件PPT鏈接:http://games-cn.org/graphics-intro-ppt-video/
1. 3D變換
縮放和平移矩陣
旋轉矩陣
?歐拉角:roll, pitch, yaw
?繞任一軸旋轉一定角度:羅德里格斯旋轉公式
2. 視圖變換:先平移變換到原點?,再依次將三個軸旋轉到對應軸。
求旋轉矩陣的方法:先求得逆旋轉矩陣(將標準坐標軸旋轉到待變換的向量方向),再通過旋轉矩陣的正交性,可得旋轉矩陣就是逆矩陣的轉置。旋轉矩陣是正交矩陣的證明:https://blog.csdn.net/qq_41951923/article/details/103540506?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-2-103540506.nonecase
3.? 投影變換
?兩種方式:正交投影和透視投影
?4. 正交投影
?將長方體范圍映射到canonicl 正方體:先平移,后縮放
正交投影變換的公式:
?右手定則的一個缺點:因為看向-z,所以近平面的z值從數值上大于遠平面,不太符合直觀理解,所以Opengl使用的是左手坐標系
5. 透視投影
- 使用最廣泛
- 近大遠小
- 平行線不再平行,會匯聚在某一點
?6. 如何做透視投影
- 先將視錐體變換到cuboid長方體
- 對長方體做正交投影
7. 如何求得透視投影的變換矩陣
- 先求得y和x的公式
- 再根據y和x推導出變換矩陣的部分項
- 再根據特殊的點(近平面和遠平面的點)求得變換矩陣其他的項
?
?
?
8. 引申:透視除法
之前的運算中可以看到利用其次坐標,進行了乘z的操作來消除z對矩陣的影響,這也是為什么在渲染管線中存在透視除法這個操作。
我個人理解就是如果沒有透視除法這步驟,那就無法用一個矩陣代表該攝像機的透視矩陣,因為該矩陣會和每個點的z值相關。如果沒有透視除法,那就需要在進行透視矩陣相乘時,對矩陣的每一項除以z
https://www.tomdalling.com/blog/modern-opengl/explaining-homogenous-coordinates-and-projective-geometry/
總結
以上是生活随笔為你收集整理的Games101现代图形学入门Lecture 4: Transformation Cont知识点总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天谕师徒玩法授业系统介绍 师徒任务详解
- 下一篇: Unity URP中的多Pass Sha