2010-07-27 113 views
1

我很困惑自己在3D平面上可怕地抓住了繪圖的概念,如果我向下看-Z軸,把一個對象放在我的前面,我只是將Z值設爲負值並將其放到後面我只是把它變成積極的..但..我怎麼把對象放在我的左邊或右邊?對不起,我意識到這是一個愚蠢的問題,但沒有少它的困惑我瞭解3D空間

Example

我在(-3繪製一個正方形,-2,10-; -3,2,10; 3, -2,10; 3,2,10)我如何在右邊或左邊繪製某些東西?

回答

2

保持Z軸相同,並在X軸上移動。

左右是主觀偏差,因爲它取決於你如何看待它,但我認爲你在x-y軸看起來是平的,而z軸是離開你的「指向」。

所以,你的情況: (-3+a,-2,10; -3+a, 2, 10; 3+a,-2, 10; 3+a, 2, 10)其中a是你要多少,如果你犯了一個負將其移動到正確的

,它會向左移動(X軸)。

因爲你的出發點是-3,你的終點是3,你的Y軸將在你的對象的中間。所以你的出發點應該是3,而終點9 te應該在對象的右邊。 - > A = + 6,如果你想去左側

:(起始點之前的對象) - (對象的寬度)=( - 3) - (6)= - 9 - >一個= -9

要旋轉對象

關注此website它有一個版本簡單和基本的解釋。我覺得這是非常具有可讀性

+0

所以,如果我想給它90度的移動,以什麼樣的價值會我給X的權利? – Skizit 2010-07-27 14:14:32

+0

對於右手座標系,z通常會從屏幕出來,因此觀察者正在向下看-Z。 – bshields 2010-07-27 14:17:48

+0

@bshields:非常真實,@Meowix:你不用移動度數的形狀,你可以旋轉它們。 如果要旋轉,如果要旋轉,圍繞什麼,你要旋轉你應該使用正弦和餘弦http://en.wikipedia.org/wiki/Trigonometric_functions – Nealv 2010-07-27 14:22:45

3

X軸定義左右尺寸,Y軸定義上下尺寸,左側爲負值,下側爲正值,右側爲正值。因此,在正x方向上對您的繪圖進行偏移(即向您的方塊中的所有x值添加一些值)以將其移至右側。

3

我畫了像這樣的一張紙:

http://homepages.inf.ed.ac.uk/rbf/CVDICT/CVFIG5/img14.png

抽獎+和 - onthe軸的兩端。幫助保持跟蹤,同時打孔數量。

就你而言,它將是-Z離開你,或者「進入」屏幕。

+0

這是DirectX的座標系(左手)。在OpenGL中(右手),當X指向右,Y指向上時,Z軸指向觀察者。 – SigTerm 2010-07-27 14:35:57

+0

@SigTerm:沒有「DirectX座標系」DirectX和OpenGL都可以使用左手或右手。 – 2010-07-27 15:00:36

+0

「DirectX和OpenGL都可以使用左手或右手」這不完全正確。默認情況下,DirectX使用左手,OpenGL使用右手。有可能使API使用不同的系統,但它需要額外的步驟。通常 - 在投影矩陣中翻轉z,並改變三角形的頂點順序(cw vs ccw)。或者切換臉部剔除規則。 – SigTerm 2010-07-27 16:10:17

0

你的座標是(x,y,z)。

您已經描述了通過改變z值來平移z平面中的平方。

向左或向右移動是x中的翻譯 - 簡單地偏移x值。

向上和向下移動是y中的平移 - 只是偏移y值。

1

那麼,在一個三維直角座標系,有三個垂直軸線Xÿž

路線像左,右,頂部或正面,雖然有總是主觀的並且可以只在關係被解釋爲一個相機。具有這些座標的所有操作(旋轉,平移,矢量數學一般)爲獨立此視圖。

現在,如果你定義一個攝像頭,你也定義了方向。甲共同定義(如在使用的DirectX)是相機

  • 駐留在原點
  • 沿Z軸
  • 具有沿着Y軸的向上方向看起來

因此右/左通過正/負X座標與Y或前/在Z軸方向向後定義,同爲上/下。

但是,這從來都不是絕對的事情。給定另一臺相機(例如旋轉,移動),看起來都不一樣。看看事物如何顛倒,看看它們是如何移動的。

image顯示非常好這一切是如何取決於相機(爲什麼不能計算器處理.SVG圖形?)

1

關於使用的座標系:大多數教科書使用右手。一些輸出者(DirectX,PBRT)使用左手操作。

在右手座標系中,你的拇指是x。以下軸的順序與其他手指的順序相同(Y =索引,...)。

現在移動你的手,使X是對屏幕的右側,Y高達,Z是對你。這將是OpenGL「看到」世界的方式。

這幾乎是所有你需要知道