在學(xué)科開創(chuàng)之初,計(jì)算機(jī)圖形學(xué)要解決的是如何在計(jì)算機(jī)中表示三維幾何圖形,以及如何利用計(jì)算機(jī)進(jìn)行圖形的生成、處理和顯示的相關(guān)原理與算法,產(chǎn)生令人賞心悅目的真實(shí)感圖像。這是狹義的計(jì)算機(jī)圖形學(xué)的范疇。 計(jì)算機(jī)圖形學(xué)技術(shù)起源 我們以“computer graphics”為關(guān)鍵詞,通過AMiner對1971年 – 2017年間圖形學(xué)領(lǐng)域論文的挖掘,我們總結(jié)出40多年來,圖形學(xué)的領(lǐng)域起源關(guān)鍵詞主要集中在 three dimensional(三維)、programming language(編程語言)、computational vision(計(jì)算機(jī)視覺)、graphics systems(圖形系統(tǒng))等領(lǐng)域。 注:圖中,每個(gè)彩色分支表示一個(gè)關(guān)鍵詞領(lǐng)域,其寬度表示該關(guān)鍵詞的研究熱度。 各關(guān)鍵詞在每一年份(縱軸)的位置是按照這一時(shí)間點(diǎn)上的熱度高低進(jìn)行排序的。 隨著近40年的發(fā)展,計(jì)算機(jī)圖形學(xué)的內(nèi)容已經(jīng)遠(yuǎn)遠(yuǎn)不止這些了。廣義的計(jì)算機(jī)圖形學(xué)的研究內(nèi)容非常廣泛,如圖形硬件、圖形標(biāo)準(zhǔn)、圖形交互技術(shù)、光柵圖形生成算法、曲線曲面造型、實(shí)體造型、真實(shí)感圖形計(jì)算與顯示算法,以及科學(xué)計(jì)算可視化、計(jì)算機(jī)動(dòng)畫、自然景物仿真、虛擬現(xiàn)實(shí)等。 接下來我們將會(huì)從總體框架、研究內(nèi)容和相關(guān)技術(shù)算法這三個(gè)方面為大家闡述AMiner《計(jì)算機(jī)圖形學(xué)研究報(bào)告》的技術(shù)篇。
幾何計(jì)算在計(jì)算機(jī)圖形學(xué)中的作用 隨著圖形學(xué)技術(shù)的不斷發(fā)展,計(jì)算機(jī)圖形學(xué)被廣泛應(yīng)用于工程技術(shù)、藝術(shù)、動(dòng)畫電影等領(lǐng)域,反過來,這些產(chǎn)業(yè)的發(fā)展又大大促進(jìn)了圖形學(xué)的發(fā)展,目前計(jì)算機(jī)圖形學(xué)的研究內(nèi)容不斷擴(kuò)大,參考中國科技大學(xué)劉利剛老師的分類,可以將計(jì)算機(jī)圖形學(xué)主要研究內(nèi)容分為:建模(Modeling)、動(dòng)畫(Animation)、渲染(Rendering)和圖形交互(Interactive graphics)四部分。 建模(Modeling) 沒有模型,圖形就無從談起,建模是計(jì)算機(jī)圖形學(xué)各項(xiàng)工作的基礎(chǔ)和前提,建模技術(shù)的核心是根據(jù)研究對象的三維空間信息構(gòu)造其立體模型,尤其是幾何模型,并利用相關(guān)建模軟件或編程語言生成該模型的圖形顯示,然后對其進(jìn)行處理。 目前,物體的三維幾何模型就其復(fù)雜程度來說可以分為三類:線模型、面模型和體模型。對三維建模技術(shù)的研究基本上都是針對三維面元模型和體元模型來展開的。 現(xiàn)在,建模已經(jīng)用于各種不同的領(lǐng)域。 動(dòng)畫(Animation) 計(jì)算機(jī)動(dòng)畫(ComputerAnimation),是借助計(jì)算機(jī)來制作動(dòng)畫的技術(shù)。計(jì)算機(jī)的普及和強(qiáng)大的功能革新了動(dòng)畫的制作和表現(xiàn)方式。由于計(jì)算機(jī)動(dòng)畫可以完成一些簡單的中間幀,使得動(dòng)畫的制作得到了簡化,這種只需要制作關(guān)鍵幀(key frame)的制作方式被稱為“Pose to pose”。 渲染(Rendering) 當(dāng)需要把模型或者場景輸出成圖像文件、視頻信號或者電影膠片時(shí)就需要用到渲染(Render)。渲染是指軟件由模型生成圖像的過程。模型是用語言或者數(shù)據(jù)結(jié)構(gòu)進(jìn)行嚴(yán)格定義的三維物體或虛擬場景,它包括幾何、視點(diǎn)、紋理、照明等信息。圖像是數(shù)字圖像或者位圖圖像。 除去后期制作,渲染是計(jì)算機(jī)圖形處理的最后一道工序,通過它得到模型與動(dòng)畫的最終顯示效果。實(shí)現(xiàn)渲染依靠多種軟件,如各種CG軟件自帶渲染引擎、RenderMan等。 研究人員已經(jīng)研究出了許多渲染算法,用于生成最終圖像。在應(yīng)用中,對場景中的每束光線進(jìn)行跟蹤的耗時(shí)較高;如果沒有對采樣進(jìn)行很好的約束,即使是只進(jìn)行一部分光線的跟蹤也需要非常大量的時(shí)間。 基本的渲染技術(shù)大致可以分為四類(如下圖所示)。大多數(shù)高級的方法都是使用多種技術(shù)的組合,以在合理的開銷范圍內(nèi),實(shí)現(xiàn)足夠好的結(jié)果。 圖形交互(Interactive graphics) 圖形交互是使用計(jì)算機(jī)技術(shù)創(chuàng)建,操縱和查看對象表示的藝術(shù)和科學(xué)。這需要設(shè)計(jì)和構(gòu)造以最先支持創(chuàng)建和查看對象的方式來表示對象的模型,而不是設(shè)計(jì)和技術(shù)的設(shè)計(jì),通過這些設(shè)備和技術(shù),人可以與模型或視圖交互,以及創(chuàng)建用于渲染的技術(shù)和保留模型。 圖形交互技術(shù)目前分為二維圖形交互技術(shù)和三維圖形交互技術(shù)。 計(jì)算機(jī)圖形學(xué)相關(guān)技術(shù)算法目前包括了OpenGL、二維圖形變換和三維圖形變換。 OpenGL OpenGl定義了一個(gè)跨編程語言、平臺的編程接口的規(guī)范,一般用于三維圖形,但也可用于二維圖像。OpenGL是一個(gè)功能強(qiáng)大,調(diào)用方便的底層圖形庫,它與硬件無關(guān)可以在不同的平臺如windows、mac、linux等之間進(jìn)行移植,支持OpenGL的軟件具有很好的移植性,可以獲得非常廣泛的支持。 OpenGL不提供幾何實(shí)體格式,不能直接用于描述場景。但是,通過一些轉(zhuǎn)換程序,可以很方便的將AutoCAD、3ds MAX等3D設(shè)計(jì)軟件制作的DXF和3DS模型文件轉(zhuǎn)換成OpenGL的頂點(diǎn)數(shù)組。 二維圖形變換 圖形的幾何變換一般是指圖形的幾何信息經(jīng)過變換后產(chǎn)生新的圖形,圖形幾何變換既可以看作是坐標(biāo)系不動(dòng)而圖形變動(dòng),即變動(dòng)后的圖形在坐標(biāo)系中的坐標(biāo)值發(fā)生變化;又可以看作是圖形不動(dòng)而坐標(biāo)系變動(dòng),即變動(dòng)后的圖形在新坐標(biāo)系下具有新的坐標(biāo)值。 計(jì)算機(jī)圖形學(xué)中基本的二維圖形的幾何變換算法: 三維圖形變換 三維圖形的基本變換有:三維比例變換、三維對稱變換、三維錯(cuò)切變換、三維旋轉(zhuǎn)變換。和二維圖形一樣,用適當(dāng)?shù)淖儞Q矩陣也可以對三維圖形進(jìn)行各種幾何變換。對三維空間的點(diǎn)如(x,y,z),可用齊次坐標(biāo)表示為(x,y,z,1)或(x,y,z,h),三維空間里的點(diǎn)的變換可寫為: 其中[M]是4*4階變換矩陣,即: |
|