小屋創作

日誌2021-07-30 16:39

【教學】距離場教學 第六章 - 位移旋轉

作者:樂小呈

標準化空間,大小為 3

位移、旋轉和縮放
我們將正式接觸距離場的的一個特性 - 空間操作性,在一般的空間轉換當中,我們會使用齊次座標矩陣進行轉換,但在距離場的世界似乎有什麼不太一樣。

為了理解這些基礎的空間操作,我們回到一開始的 UV,使用絕對值將負的部分也畫出來,黑色的部分就是空間中的心點。



位移
首先是基本的位移。很簡單,只需要將輸入的 uv 加上要移動的方向。


來測試看看,讓空間往右上方偏移。



嗯...怎麼和想像中不一樣 ?

因為我們將 uv 直接加上位移值,在距離場的世界這麼做的意思是 "將整個空間的所有點都加上位移值" 。

讓示意圖幫助你理解。我們原本期望將中心點移到空間中的 (2, 2),所以直接用加的將向量添加上去,但實際上我們想移到的位置原本就是 (2, 2) 了,再加一次等於 (4, 4)。


反而空間中原本 (-2, -2) 的地方因為加了 2 變成 0,這就是為什麼空間的中心會朝我們期望的相反方向偏移。因此,為了讓位移如預想的狀態運作,必須要將加改為減才行。



旋轉
旋轉則是將 uv 與旋轉矩陣相乘,為了讓結果如預期角度需要輸入負值,原因和上面一樣。




縮放
最後一項轉換就是縮放,距離場縮放也同樣和一般的轉換不同。
當我們想把空間放大兩倍時,如果我們用乘的,實際上會導致距離場被縮小,因為空間中每個點的值都被放大了,空間從 -3 ~ 3 變成 -6 ~ 6,如果有一個佔據 1/3 空間大小的距離場,就會只剩 1/6。

所以我們想要放大距離場該怎麼做 ? 沒錯,用除的,而且要小心別除以 0 了。



除了部分運算邏輯相反以外,距離場的位移、選轉或縮放,都是對整個空間的操作,而不是單一個體,至於其他部分都和原本的齊次座標一樣,包括順序對結果的影響,這部分的數學就不贅述了。最後,讓我們將這些操作添加回距離場上。

標準化空間,大小為 10、距離場上色、距離環




恭喜~ 初階的空間操作就到此為止,下一篇將帶你們接觸距離場的第二項特性 - 組合

章節題目
請使用次篇教學的內容,達成類似的效果
提示 : 合成矩陣的特性,不同空間操作的順序

第五章 - 更多形狀
第七章 - 形狀組合

13

0

LINE 分享

相關創作

[達人專欄] 【筆記】條件判斷與變體著色器

[達人專欄] 【學習日誌】批量繪製物件與視錐裁剪

[達人專欄] 【學習日誌】物件筆刷和地形筆刷

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】