3D 電腦圖像
![](http://upload.wikimedia.org/wikipedia/commons/a/a4/Low-poly_hand-painted_3D_house_rotating.gif)
3D 電腦圖像(粵拼:saam1 di1 din6 nou5 tou4 zoeng6 | 英文: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]。
好似係以下呢個立方體嘅立體模型噉:
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Mesh_we2.jpg/720px-Mesh_we2.jpg)
上圖所示嘅如下:部電腦記住咗一個串數字,代表每隻角嘅坐標位置(vertex list; 代表第 隻角),跟住另一串數字記住邊對邊對角之間有邊(edge list; 代表第 條邊),最後再有一串數字記住邊啲邊之間有表面(face list; 代表第 塊面)。當要用個模型嗰陣,部電腦就會睇吓個用家由乜嘢角度睇緊個模型,計出個模型由嗰個角度睇應該係點嘅樣嘅[3]。
材質貼圖
[編輯]材質貼圖(texture mapping)指嘅係,個圖像處理程式要加一啲仔細位、色水、或者表面材質落一個立體模型嗰度。個電腦圖像設計師喺整好咗一個立體模型之後,好多時會想個模型表面唔淨係衹係得純色,而係想個模型望落似真實嘅物體,而真實嘅物體嘅表面好少可真係純色嘅,所以佢哋就會想加啲材質(texture)落個模型嗰度,令到個模型表面好似用(例如)木頭造嘅噉;佢要搵一幅二維嘅圖像返嚟,幅圖像望落似佢想要嗰款材質,然後再教部電腦將幅材質圖貼落去個模型嘅表面嗰度[4];成個過程可以想像成將一張有圖案嘅紙包落去一件立體物件嗰度噉[5]。
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f2/Texture_mapping_demonstration_animation.gif/240px-Texture_mapping_demonstration_animation.gif)
睇埋
[編輯]參考資料
[編輯]- ↑ Sikos, L. F. (2016). Rich Semantics for Interactive 3D Models of Cultural Artifacts. Communications in Computer and Information Science. 672.
- ↑ VRML Annotated Reference 互聯網檔案館嘅歸檔,歸檔日期2007年1月9號,..
- ↑ 3.0 3.1 Bruce Baumgart, Winged-Edge Polyhedron Representation for Computer Vision. National Computer Conference, May 1975.
- ↑ Blythe, David. Advanced Graphics Programming Techniques Using OpenGL. Siggraph 1999.
- ↑ Wang, Huamin. "Texture Mapping 互聯網檔案館嘅歸檔,歸檔日期2019年7月11號,." (PDF). department of Computer Science and Engineering.