摄像机的上方向(UpDirection)- 使用WPF演示
WPF畫三角形的代碼中,攝像機的代碼如下;包含2個Direction屬性;
? ? <PerspectiveCamera Position="-2,2,2" LookDirection="2,-2,-2" UpDirection="0,-1,0"/>
來看一下什么是上方向;
WPF中camera中的updirection屬性到底是怎么用的
? ? position屬性確定了位置,lookdirection屬性確定了照的方向,這兩個不就已經可以確定視角了么?要updirection有什么用;
? ? 答:可以想象一下,你現在的位置是確定的,你也是往電腦的方向看的,但如果你倒立著看屏幕,你眼睛里呈現的圖像就倒過來了。因此要規定一下觀察者的“上方”是哪方。
? ? updirection,就是攝像機頂部的方向;攝像機是正的,或者是倒的;
下面這段話解釋的很清楚;眼睛為攝像機,當我們移動時,當我們轉身時,當我們抬頭時;
Position、LookDirection和UpDirection
? ? 和場景中的其他物品一樣,攝像機也具備Position屬性,表示攝像機在場景的具體位置;LookDirection則表示攝像機“看的”方向;而UpDirection同樣是一個向量,表示攝像機頂部的方向。
? ? 假設我們的眼睛是一個攝像機,那么,眼睛所在的位置(對應原點)就是Position,眼睛所看的方向,例如西北水平方向(用向量表示為-1,0,-1)為Camera的LookDirection,眼睛的頂部(也就是我們的頭,用向量表示為0,1,0)為Camera的UpDirection。
? ? 當我們移動時,Position方向發生改變;當我們轉身時,LookDirection發生改變;當我們抬頭時,除了LookDirection,UpDirection也相應地改變成頭頂所指的方向了。
先畫三角形如下;
現在看一下如何把攝像機倒過來,那么三角形就是倒的,相比上圖;
updirection改為(0,0,0),不對,三角形看不到了;
如果把updirection的Z坐標改為-1,看一下,也沒倒過來;
updirection改為(0,-1,0),三角形倒過來了;但是位置變了;還不是完全理解,下回繼續;
? ? WPF的三維坐標系的方向,根據目前所學,和我們常規習慣一樣;X軸,右手方向為正,左手方向為負;Y軸,上為正,下為負;Z軸,從屏幕出來為正,往屏幕里面去為負;
總結
以上是生活随笔為你收集整理的摄像机的上方向(UpDirection)- 使用WPF演示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟仪器软件LabView使用初步了解
- 下一篇: Ubuntu安装yum失败-2