三維電腦圖像

一個旋轉緊嘅三維模型;個模型由好多個細少嘅簡單立體物件(立方體錐體等等)組成。

三維電腦圖像3D computer graphics)會係要電腦處理一啲三維電腦圖像。呢啲圖像會要求部電腦記住三維嘅訊息,即係長度、闊度、同高度-相比之下,二維嘅圖像淨係使部電腦記住一幅圖像長度同闊度。三維電腦圖像嘅處理會用到一啲二維圖像會用嘅技術(例如記顏色嘅方法),但又會涉及一啲二維圖像唔需要嘅技術,例如係彩現(睇下面)噉。

三維模型

內文: 三維模型

三維模型(3D model),或者叫「立體模型」,係指一個(對於部電腦嚟講)用數字呈現嘅三維物體。三維模型可以用自動或者手動嘅方法整:有研究者會用一啲架生掃描一件真實嘅物件,再將啲數據傳去部電腦嗰度,等部電腦計算出個三維模型嘅樣,例如個掃描器嘅感應器可以射啲出嚟,喺每一點嗰度量度吓「啲波射出去嘅時間」同「返到個感應器度嘅時間」之間差幾遠,噉就可以知道喺每個點度件物件嘅表面離個感應器幾遠,跟手將呢個數據傳過去部電腦,就係有關件物件嘅形狀嘅數據;另一方面,研究者又有得手動噉整啲 3D 模型出嚟。舉個簡單嘅例子說明,以下呢段 VRML 原始碼(VRML 係一種廿世紀常用嘅程式語言,專門用嚟整立體模型)代表咗一個喺一條好幼嘅藍色圓柱上面嘅紅色球體(即係好似珍寶珠噉嘅形狀)[1]

Shape {     // 整一件物體出嚟。
   geometry Cylinder {    // 設佢形狀係「圓柱體」。
      radius 0.1
      height 3.0}    // 碌圓柱嘅高度係 3.0 個單位,但係半徑得嗰 0.1 個單位-係一碌好幼嘅圓柱。
   appearance Appearance {
      material Material { diffuseColor 0.1 0.1 0.9 }     // 設佢色水係藍色。
   }
}

Transform {     // 整一件新物體
   translation 0 2.5 0     // 將佢移去第一件物體 2.5 單位噉高嘅高度。
   children [
      Shape {
         geometry Sphere { radius 1 }     // 設佢形狀係「球體」,半徑係 1 個單位。
         appearance Appearance {
            material Material { diffuseColor 1 0 0 }     // 設佢色水係紅色。
         }
      }
     ]
}

呢段碼係一個簡單嘅例子,一啲複雜啲嘅模型-好似係一個人類角色嘅立體模型-閒閒地可以有成幾千幾萬行呢啲噉嘅碼[2]

多邊形網格

內文: 多邊形網格

多邊形網格(polygon mesh)係常用嘅三維模型。呢啲模型會用類似上面嗰段 VRML 碼噉嘅程式語言,話俾部電腦聽個模型有幾多個角(vertex)、每隻角嘅位置坐標、每兩個角之間有冇邊(edge)、同埋(如果有)塊表面係乜嘢色水呀噉。當個用家要睇個三維模型嗰陣,部電腦就會即場砌返個模型出嚟,再考慮個用家由乜嘢角度睇緊個模型,計出最後個平面影像應該係點嘅樣。廿一世紀開始嘅電腦運算能力勁到可以俾個用家即場改變觀察角度,即刻以肉眼睇唔到嘅速度計出由呢個新角度睇個模型會係乜樣,等個用家可以自由噉[3]

好似係以下呢個立方體嘅立體模型噉:

上圖所示嘅如下:部電腦記住咗一個串數字,代表每隻角嘅坐標位置(vertex list;  代表第   隻角),跟住另一串數字記住邊對邊對角之間有邊(edge list;  代表第   條邊),最後再有一串數字記住邊啲邊之間有表面(face list;  代表第   塊面)。當要用個模型嗰陣,部電腦就會睇吓個用家由乜嘢角度睇緊個模型,計出個模型由嗰個角度睇應該係點嘅樣嘅[3]

材質貼圖

內文: 材質貼圖

材質貼圖(texture mapping)指嘅係,個圖像處理程式要加一啲仔細位、色水、或者表面材質落一個立體模型嗰度。個電腦圖像設計師喺整好咗一個立體模型之後,好多時會想個模型表面唔淨係衹係得純色,而係想個模型望落似真實嘅物體,而真實嘅物體嘅表面好少可真係純色嘅,所以佢哋就會想加啲材質(texture)落個模型嗰度,令到個模型表面好似用(例如)木頭造嘅噉;佢要搵一幅二維嘅圖像返嚟,幅圖像望落似佢想要嗰款材質,然後再教部電腦將幅材質圖貼落去個模型嘅表面嗰度[4];成個過程可以想像成將一張有圖案嘅紙包落去一件立體物件嗰度噉[5]

 
材質貼圖嘅圖解;一個立體模型每個表面都有特定嘅材質。

睇埋

  1. Sikos, L. F. (2016). Rich Semantics for Interactive 3D Models of Cultural Artifacts. Communications in Computer and Information Science. 672.
  2. VRML Annotated Reference 互聯網檔案館歸檔,歸檔日期2007年1月9號,..
  3. 3.0 3.1 Bruce Baumgart, Winged-Edge Polyhedron Representation for Computer Vision. National Computer Conference, May 1975.
  4. Blythe, David. Advanced Graphics Programming Techniques Using OpenGL. Siggraph 1999.
  5. Wang, Huamin. "Texture Mapping" (PDF). department of Computer Science and Engineering.