1. 程式人生 > >圖形學複習1——圖形學圖形系統概述與物件表示

圖形學複習1——圖形學圖形系統概述與物件表示

圖形學複習

CH1 圖形學概述

1.1 圖形學

計算機圖形學是研究圖形的輸入、模型的構造和表示、圖形資料庫管理、圖形的操作以及以圖形為媒介的人機互動的方法和應用的一門綜合性學科

其最主要的任務是:研究如何用資料模型生成數字影象,具體來說有以下幾個方面:

  • 圖形建模
  • 幾何處理
  • 光柵化
  • 片元處理
  • 等等

計算機圖形一般有兩種表示方法:

  • 影象:列舉圖形中所有的點構成的2維點陣
  • 圖形:用圖形的形狀引數(引數方程、端點座標等)和屬性引數(顏色、線形等)來表示的引數模型

圖形學中主要用後者表示計算機圖形

CH2 圖形系統

簡單的圖形系統由以下幾個部件構成:

這裡寫圖片描述

依次是輸入裝置(鍵盤、繪畫版以及滑鼠)、處理器、儲存器、幀快取和顯示器

2.1 光柵掃描顯示器

工作過程

電子束受偏轉部件的控制,不斷從左到右、從上到下將影象逐行逐點的掃描到顯示屏上,通過控制電子束的強弱產生黑白、灰度或彩色的影象

顯示屏面掃描線為N行,每一行又可以分為M個點,則整個螢幕為M x N的點陣

基本概念:

  • 幀:整個螢幕範圍
  • 幀快取:儲存圖形定義點的儲存器
  • 顏色快取:幀快取中用來儲存顏色資訊的部分
  • 畫素:螢幕上的一個點

2.2 圖形系統主要任務

(1)建模

建模器輸出幾何物件的頂點資料集,它工作在物件座標系(即區域性座標系,全域性是世界座標系,顯式到顯示裝置是螢幕座標系)

(2)幾何處理

幾何處理的物件是頂點,目標是確定顯示在螢幕上的幾何物件,並確定這些物件頂點的明暗值或顏色值投影,它主要包括以下幾個步驟:

  • 投影:通過觀察變換把幾何物件從物件座標系/世界座標系變換到視點座標系,再通過投影變換把視點座標系變換成投影座標系,將頂點表示為裁剪座標
  • 圖元裝配:變換是點處理,後續把處理後的點組裝成幾何物件稱為圖元裝配
  • 裁減:確定哪些圖元圖元的部分會被傳送到光柵器,即確定顯示在螢幕上的物件
  • 明暗處理:顏色賦值、光照渲染

(3)光柵化

光柵化是將裁剪後的物件生成片段(準畫素),即確定哪些畫素來近似表示線段、多邊形等,並且根據系統顏色狀態和光照模型進行片段顏色插值

(4)片元處理

頂點處理完畢後需要對片元處理,包括了紋理貼圖、融合、半透明、反走樣、隱藏面消除等等

CH3 物件表示

3.1 多邊形網路

用若干個相鄰的多邊形表示三維物體的方法稱為多邊形網路表示法,多邊形由首尾相連的邊組成,邊又由兩個頂點構成

多邊形網路中規定:

  • 一個頂點至少連線兩條邊
  • 一條邊至少屬於一個多邊形且至多連線兩個相鄰多邊形

(1)表示方法

多邊形網路一般有三種表示方法:

  • 顯式表示:顯式地用頂點三個座標去描述一個多邊形,缺點:浪費儲存空間(沒有利用共享點/邊資訊)、重複描畫共享點/邊
  • 指向頂點表的指標:頂點放在表中,多邊形用頂點指標表示,優點:節省空間(利用共享點)、便於修改頂點座標,缺點:難以找出共享邊且共享邊仍被重複描畫
  • 指向邊表的指標:頂點放在表中,邊用頂點指標表示放在邊表中,多邊形用邊指標表示,克服大多數以上缺點

(2)多邊形網路表示三維物體的缺點

雖然指向邊表的指標表示客服了儲存空間和重畫的問題,但是用多邊形網路表示三維物體存在一些本質的無法克服的問題:

  1. 多邊形沒有辦法精確地表示曲面,為了實現較好的觀察效果必須使用大量的多邊形進行近似
  2. 在表示複雜拓撲和具有豐富細節的物體時,資料量大,建模、編輯、繪製、儲存的工作量大

(3)曲面的多邊形表示

二次曲面、超二次曲面等曲面,可以用曲面的引數方程表示(球的引數方程、橢球的引數方程等),可以通過這些引數方程把曲面劃分成細小的多邊形近似表示曲面,具體見後續OpenGL程式設計章節

3.2 樣條

(1)樣條表示

樣條是通過一組指定點集而生成平滑曲線的柔性帶,樣條曲線是指用樣條方法繪製的曲線,樣條曲面是用兩組正交樣條曲線描述繪製的曲面

圖形學中,樣條曲線是由多項式曲線段連線而成的曲線,每段在邊界處滿足特定的連續性條件,樣條可以用來設計曲線和曲面的形狀,也可以用於指定場景中動畫路徑或照相機位置等等

曲線的顯式表示無法表示封閉或多值曲線,也難以表示垂直切線的曲線;隱式表示計算複雜;引數表示刻畫能力有限且推導複雜,因此樣條表示的以下優點讓其成為計算機圖形學中廣泛應用的曲線表示方法:

  • 表示能力強,可以表示形狀任意複雜的曲線
  • 易於離散生成,容易控制形狀和人機互動
  • 具有確定的引數變化區間,容易確定曲線的邊界
  • 具有形式不變性
  • 用切向量來表示曲線的變化率,避免了非引數表示中垂直切線(斜率為無窮大)難以表示的情況

(2)插值和連續性條件

給定空間上一組有序的控制點,得到一條光滑的分段引數多項式曲線作為近似曲線的方法叫做插值,其中最靠近點的插值曲線叫做逼近曲線

曲線段連線時關心連線處的連續性,定義Cn(n=0,1,2,...)連續就是曲線段在連線處的k=0,1,2,...,n階導數均相等,定義幾何連續Gn(n=0,1,2,...)就是曲線段在連線處的k=0,1,2,...,n階導數的方向相同(長度可以不同)

(3)三次樣條插值

給出一組控制點pk=(xk,yk,zk),k=0,1,...,n,生成分段三次引數多項式曲線P(u)=(x(u),y(u),z(u))如下:

x(u)=axu3+bxu2+cxu+dxy(u)=ayu3+byu2+cyu+dyz(u)=azu3+bzu2+czu+dz,(0u1)

不同的三次樣條插值方法就是在不同的邊界條件情況下,求出a,d,c,d和輸入控制點之間的轉換關係

(4)Hermite插值

Hermite插值是常見的三次樣條插值方法,其在pkpk+1之間的線段邊界條件為:

P(0)=pkP(1)=pk+1P(0)=DpkP(1)=Dpk+1,DpkDpk+1

根據以上邊界條件計算得:

P(u)=[u3u2u1]MHp

相關推薦

圖形複習1——圖形圖形系統概述物件表示

圖形學複習 CH1 圖形學概述 1.1 圖形學 計算機圖形學是研究圖形的輸入、模型的構造和表示、圖形資料庫管理、圖形的操作以及以圖形為媒介的人機互動的方法和應用的一門綜合性學科 其最主要的任務是:研究如何用資料模型生成數字影象,具體來說有以下

《操作系統》第1章:操作系統概述

搶占式 通道 集中 工作 接口 穩定性 就是 界面 進行 第1章:操作系統概述 1.1 操作系統概述 操作系統的基本特征:並發、共享、虛擬、異步。最基本特征:並發和共享。操作系統可粗分為:硬件、操作系統、應用程序、用戶。操作系統是指控制和管理整個計算機系統的硬件和軟件資源

Ansible 系統概述部署(1)

Ansible是新出現的自動化運維工具,基於Python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程式部署、批量執行命令等功能,ansible是基於模組工作的,本身沒有批量部署的能力,真正具有批量部署的是ansible所執行的模

Zabbix 系統概述部署(1)

Zabbix是一個非常強大的監控系統,是企業級的軟體,來監控IT基礎設施的可用性和效能.它是一個能夠快速搭建起來的開源的監控系統,Zabbix能監視各種網路引數,保證伺服器系統的安全運營,並提供靈活的通知機制以讓系統管理員快速定位解決存在的各種問題,Zabbix系統幾乎可用於任何系統的監控過程,它可以執行在L

1.1 數據庫系統概述

年齡 多層 滿足 進行 格式化 如果 相同 完整性 mdm # **1.1 數據庫系統概述:** ## **1.1.1 數據庫的組成**![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20181224232336368.png?x-oss-

1.S5PV210定時器系統概述和時鐘結構框圖分析

PULSE WIDTH MODULATION TIMER(脈衝寬度調製定時器) 1.1 OVERVIEW OF PULSE WIDTH MODULATION TIMER The S5PV210 has five 32-bit Pulse Width Modulation (PWM) timers. These

busybox檔案系統簡單驅動學習(1)-busybox檔案系統搭建nfs掛載配置

一、busybox編譯安裝 2、參考資料:訊為4412精英版開發手冊9.5章節 3、實際操作環境:Ubuntu14.04、交叉編譯環境 arm-none-linux-gnueabi-(直接用訊為提供的,也可以網上用其他的)、busybox版本

詳細講解Oracle資料庫——系統許可權物件許可權傳遞使用規則

** 大家好,我是今天的博主,<一個想做全棧的鹹魚> 今天跟大家一起學習一下Oracle資料庫什麼事系統許可權與物件許可權傳遞呢? 舉個小例子: 系統許可權 sys–a--b sys許可權分別給了ab 物件許可權 a-b-c a許可權給了b,b有分配

Oracle許可權-系統許可權物件許可權

系統許可權與物件許可權一、系統許可權 1、建立使用者 SQL> create user dog identified by wangwang; User created SQL> create user pig identified by hengheng; U

《瘋狂Java講義(第4版)》-----第1章【Java語言概述開發環境】

編譯型語言和解釋型語言 編譯型語言:程式在執行之前需要一個專門的編譯過程,把程式編譯成 為機器語言的檔案,執行時不需要重新翻譯,直接使用編譯的結果就行了。程式執行效率高,依賴編譯器(翻譯成的是特定平臺的機器語言,要是跨平臺還是需要拷貝原始碼再重新編譯),跨

oracle 可grant/revoke的系統許可權物件許可權—匯(英文)

With the GRANT statement you can grant:  System privileges to users and roles.Roles to users and roles. Both privileges and roles are ei

圖形筆記1

static mode front turn ont cpp vertex cti 啟用 轉載自http://www.cnblogs.com/wangshide/archive/2012/04/30/2477131.html /* * * 彩色旋轉立方體 * 1.

圖形複習2——幾何變換

圖形學複習 CH4 幾何變換 4.1 基本二維變換 平移、旋轉和縮放是常見的基本二維變換 (1)二維平移 將二維平面上點P=⎡⎣⎢⎢xy⎤⎦⎥⎥平移到P′=⎡⎣⎢⎢x′y′⎤⎦⎥⎥=⎡⎣⎢⎢⎢x+txy+ty⎤⎦⎥⎥⎥,則稱T=⎡⎣⎢⎢

圖形複習要點

這篇文章總結一下圖形學在遊戲開發工程師面試時常考(可能會考)的問題。雖然圖形學在面試中的比重比較小,但是還是要複習一下的。圖形學的考點分為三部分,一是渲染管線,二是數學尤其是線性代數和三維幾何。 一、渲染管線 1.1 有那幾個座標系(空間)?如何在空間之間轉換? 有五個座

圖形複習3——觀察和裁剪

圖形學複習 CH5 二維觀察 5.1 視窗、視口和二維觀察流水線 視窗是指世界座標系中要顯式的區域稱,視窗定義了顯式的內容 視口是指視窗對映到顯示器的區域,視口定義了在什麼位置顯示 通常將世界座標系中一部分割槽域對映到裝置座標系的操作稱為觀

圖形1)概論及一些基礎知識

想搞遊戲開發,看網課時發現需要一些計算機圖形學的基礎以便於進行影象、動畫的各種變換,因而開始了計算機圖形學的學習。本模組內容絕大部分是在慕課上看中國農業大學網客時的筆記,因此算作轉載,在此鳴謝趙明、李振波兩位老師,感謝他們錄製該門課程供大家學習!概論 學習之前,我們首先要認

基於MFC的計算機圖形之基本圖形生成(1

基於MFC的計算機圖形學之基本圖形生成(1) 1.DDA中點畫線 下面的程式碼是在doc.cpp中加的,在view裡面還要新增相應的選單響應函式和滑鼠移動函式 int x,x0,y0,x1,y1,flag; float m,y; DCPoint->SetROP2(R2_CO

從零開始android&lt;Bitmap圖形組件.四十七.&gt;

alt getheight drawtext layout pla cin mas 簡單 制圖 android.graphics.Bitmap(位圖)是Android手機中專門提供的用於操作圖片資源的操作類,使用此類能夠直接從資源文件之中進行圖片資源的讀取。而且對這些圖

從零開始matplotlib畫圖(二): 統計圖形入門

文章目錄 1. 柱狀圖(條形圖) —— bar() / barh() 2. 直方圖 —— hist() 3. 餅圖 —— pie() 4. 極線圖 —— polar() 5. 散點圖 —— scatter() 6.

Fedora系統管理指南:第1章 啟動圖形應用程式

第一部分 系統基本配置 此部分內容包括基本的系統管理操作,比如鍵盤佈局、日期和時間設定,使用者和使用者組的管理,許可權的管理。 第1章 啟動圖形應用程式 Fedora同時提供了系統配置的圖形介面和命令列工具兩種方式。本章將介紹啟動圖形應用程式的各種方法。 1.1 從命令列啟動圖形應用