資源描述:
《談3d動(dòng)畫原理》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、談3D動(dòng)畫原理李華倫摘要:從數(shù)學(xué)的觀點(diǎn)談一些電腦製作動(dòng)畫的基本原理。1.前言西元前五世紀(jì)時(shí)的西臘哲學(xué)家Zeno提出好幾個(gè)有趣的詭論(Paradox)。其中“TheAr-rowParadox”從假設(shè)“瞬間”是時(shí)間最小的、不可分割的單位,推演出空中飛行的箭無(wú)法從這個(gè)“瞬間”的位置移動(dòng)到下個(gè)“瞬間”的位置,所以飛箭是不動(dòng)的。將這種奇怪的想法反過來(lái)思考,先製作一幅一幅箭的畫,每一幅畫中箭都移動(dòng)一點(diǎn)點(diǎn)距離?,F(xiàn)在將這些畫依序快速播放,看起來(lái)箭好像真的飛起來(lái)了。電影和動(dòng)畫都是基於這種視覺暫留的原理,以每秒24幅或29.97幅的速度播放
2、一幅一幅固定的畫,產(chǎn)生許多令人驚訝的動(dòng)態(tài)效果。從數(shù)學(xué)函數(shù)的角度來(lái)看,假設(shè)物體運(yùn)動(dòng)是一種隨時(shí)間變化的連續(xù)函數(shù),則描述物體運(yùn)動(dòng)的動(dòng)畫便是逼近此連續(xù)函數(shù)的一個(gè)離散函數(shù)。要逼近真實(shí)就要畫得細(xì)膩,以每秒24幅計(jì)算,一個(gè)小時(shí)的影片要畫8萬(wàn)6千4百幅,可以想像早期手繪動(dòng)畫工作量之龐大。電腦的計(jì)算能力正好派上用場(chǎng),剛開始是1960,70年代,大多是大學(xué)實(shí)驗(yàn)室的研究計(jì)畫,如美國(guó)麻省理工學(xué)院的IvanSutherland,猶他大學(xué)的DavidEvans,俄亥俄州立大學(xué)的ChuckCsuri及一些藝術(shù)家。那時(shí)電腦畫完後要用照相機(jī)將螢?zāi)慌南聛?lái)然
3、後才能存成影片,很不容易。1980年代開始有比較商業(yè)性的電腦動(dòng)畫,原因之一就是硬體的進(jìn)步像SiliconGraphics成立及IBM個(gè)人電腦開始,加上繪圖軟體漸漸成熟,3D電腦動(dòng)畫才真正開始。所謂3D就是構(gòu)造出3度空間中的物體、燈光、世界然後由虛擬攝影機(jī)來(lái)拍攝就像正式拍電影一樣。這種製作形態(tài)類似模型動(dòng)畫—早期太空科幻電影的最愛—先製造出縮小的建築物、太空船模型再用特別攝影機(jī)來(lái)拍攝。這種方式特別適合電腦,第一;模型不需做成實(shí)體,第二;攝影機(jī)是虛擬的所以到處都能去不受任何限制?!?0年代開始電腦動(dòng)畫蓬勃發(fā)展,動(dòng)畫製作成本漸漸
4、降低,除了在輔助手繪動(dòng)畫方面角色越來(lái)越重,多部電影也用電腦製作像變型、溶化等等特殊效34數(shù)學(xué)傳播27卷3期民92年9月果。1995年迪士尼·Pixar的ToyStory則是第一部全3D的電腦動(dòng)畫,這兩年來(lái)我們更看到了電腦動(dòng)畫在電影工業(yè)的充分發(fā)揮。然而電腦是如何建構(gòu)一個(gè)3度空間的世界呢?基本上就是數(shù)學(xué)。想想還有甚麼辦法可以嚴(yán)密定義空間中的位置,形狀和物體!當(dāng)然光定義是不夠,還要能寫成程式讓電腦執(zhí)行。這種結(jié)合幾何學(xué)、離散數(shù)學(xué)、電腦演算法的研究就是計(jì)算幾何學(xué)(computationalgeometry)。諸如怎麼分辨物體前後讓
5、電腦只畫出看得到的部分,如何正確表現(xiàn)光的效果,如何讓物體移動(dòng)滿足物理定律等等都是屬於計(jì)算幾何學(xué)的範(fàn)疇。這裡我們想討論幾個(gè)傳統(tǒng)幾何的基本觀念,看看它們與3D電腦動(dòng)畫的關(guān)係。2.移動(dòng)電腦畫出的物體基本上是由點(diǎn)、線、面構(gòu)成的多面體。這些擬真的物體,其實(shí)只存在所有頂點(diǎn)的座標(biāo)及那些頂點(diǎn)構(gòu)成線,那些頂點(diǎn)構(gòu)成面等等資訊。圖1.點(diǎn)線面構(gòu)成多面體將圖1物體的14個(gè)頂點(diǎn)依序以1到14表示,則{2,3,4,5}{1,2,5,6}{1,6,7,14}{7,8,13,14}{8,9,12,13}{9,10,11,12}就是每一個(gè)面。由面的法向量與
6、光線夾角,加上拍攝角度計(jì)算出投影結(jié)果,電腦便能展示出栩栩如生的物體。但如何讓這個(gè)物體動(dòng)起來(lái)呢?移動(dòng),就是所有頂點(diǎn)移到新的位置。而只要掌握一個(gè)頂點(diǎn)的移動(dòng)向量,利用向量加法便能算出其他頂點(diǎn)的新座標(biāo)。然後電腦依照上述集合便可畫出移動(dòng)後物體的每一個(gè)面。事情可以更有彈性,空間中任一點(diǎn)都可做為整個(gè)物體的參考點(diǎn),由它代表整個(gè)物體的位置,它的移動(dòng)向量就是整個(gè)物體的移動(dòng)向量,見圖2。談3D動(dòng)畫原理5圖2.參考點(diǎn)移動(dòng)進(jìn)一步將它想成「座標(biāo)原點(diǎn)」,運(yùn)用矩陣計(jì)算配合向量加法便能算出整個(gè)物體以此參考點(diǎn)為中心做變大、變小或旋轉(zhuǎn)等動(dòng)作之後頂點(diǎn)的新座標(biāo),
7、非常有用。因?yàn)橐话阄矬w移動(dòng)是時(shí)間的連續(xù)函數(shù),參考點(diǎn)移動(dòng)軌跡是三維空間中的一條連續(xù)曲線。我們也可以先給定曲線γ:[a,b]→R3而用γ(t)作為物體在時(shí)間t的參考點(diǎn),但這樣物體只是平行移動(dòng)(圖3)。運(yùn)用「移動(dòng)座標(biāo)系統(tǒng)」(movingframe)則能讓物體順著曲線方向移動(dòng)(圖4)。圖3.物體在曲線上平行移動(dòng)圖4.物體順著曲線方向移動(dòng)2.1.曲線上的移動(dòng)座標(biāo)系統(tǒng)甚麼是曲線上的移動(dòng)座標(biāo)系統(tǒng)?假設(shè)γ:[0,l]→R3是3維空間中一個(gè)曲線的特殊可微分參數(shù)式,它特殊之處是從γ(0)到γ(s)這段曲線長(zhǎng)就等於s,換句話說(shuō)拿曲線長(zhǎng)當(dāng)參數(shù)。
8、這樣的曲線有下列性質(zhì)。6數(shù)學(xué)傳播27卷3期民92年9月dγ定理1:
9、
10、=1.dsRtdγ證明:從γ(0)到γ(t)這一段曲線長(zhǎng)等於0
11、ds
12、ds,所以Ztdγ
13、
14、ds=t對(duì)所有t∈[0,l]0ds由微積分基本定理得到dγdZtdγd
15、
16、(t)=
17、
18、ds=t=1dsdt0dsdtdγ我們令T(s)=,它就是在γ(s)點(diǎn)