2014-10-20 309 views

回答

0

你必須應用兩種數學運算:通過視圖的座標

  1. 轉移所有座標點 - 但方向相反。在此之後,視點是新的原點,所有的座標都是根據它來表示的。

例子( '|' 只是表示向量括號)

|x'| |x| - |x_vp| 
|y'| = |y| - |y_vp| 
|z'| |z| - |z_vp| 
  • 旋轉的座標。例如
  • Z::

    |x''| | cos a -sin a 0 | |x'| 
    |y''| = | sin a  cos a 0 | * |y'| 
    |z''| | 0   0  1 | |z'| 
    

    Y:首先圍繞Z,則此Y.通過兩個旋轉矩陣進行

    |x'''| | cos b 0 -sin b | |x''| 
    |y'''| = | 0  1  0 | * |y''| 
    |z'''| | sin b 0  cos b | |z''| 
    

    例如,如果你的VP是在(1, 1,1),您首先將其移位,以便舊的原點現在位於(-1,-1,-1)處。照相機仍然朝着正x方向看,因此您將圍繞z軸旋轉225度(現在在舊的z軸上觀察),然後繞y軸旋轉45度,直接觀察舊的原點。

    但是,您不會旋轉相機,而是旋轉相機周圍的整個空間,因此您必須將角度乘以-1。

    您可以在http://en.wikipedia.org/wiki/Rotation_matrix

    找到更多的相關信息。如果你不知道矩陣乘法,第一章有顯示它。

    +0

    如果我們想從視點原點知道曲面座標(世界),如何轉換..?插圖http://bigladdersoftware.com/epx/docs/8-0/engineering-reference/media/image568.jpeg – user2177232 2014-10-20 07:57:35

    +0

    表面被定義爲bz點,例如,角落。只需轉換點。即使根據數學平面,它們也可以用矢量來表示。只需轉換它們。 – sweber 2014-10-20 08:10:22

    相關問題