沈潤泉
(鎮(zhèn)江高等??茖W(xué)校電子信息系,江蘇鎮(zhèn)江 212003)
具有真實(shí)感的三維人臉曲線建模和編輯系統(tǒng)
沈潤泉
(鎮(zhèn)江高等專科學(xué)校電子信息系,江蘇鎮(zhèn)江 212003)
三維幾何造型技術(shù)是計(jì)算機(jī)圖形學(xué)的一個(gè)重要分支,人臉幾何造型技術(shù)是其中的重點(diǎn)。基于樣條曲線技術(shù)實(shí)現(xiàn)人臉幾何造型可以取得很好的效果。從 3D Max導(dǎo)出ASE文件,構(gòu)建一般人臉模型,根據(jù)Bezier曲線對(duì)人臉模型的特征點(diǎn)和特征線進(jìn)行修改和編輯,從而構(gòu)建適合用戶的特定人臉模型。
人臉建模;Bezier曲線;特征點(diǎn);特征線
人臉建模是計(jì)算機(jī)表情動(dòng)畫的第一步,也是至關(guān)重要的一步。一般而言,人臉建模有兩種方法,即多邊形建模技術(shù)[1]和曲面建模技術(shù)[2-3]。其中曲面建模技術(shù)包括有限元模型和樣條模型。有限元建模技術(shù)不適用于實(shí)時(shí)的人臉動(dòng)畫系統(tǒng),所以一般采用樣條模型構(gòu)造人臉樣條模型。樣條控制精確,可以以任意精度忠實(shí)于原始模型。本文采用Bezier曲線進(jìn)行人臉建模和編輯。
人臉模型的編輯包括對(duì)特征點(diǎn)的修改、插入、刪除等。本文的人臉模型由各條特征曲線構(gòu)成。每條曲線由特征點(diǎn)和插入點(diǎn)連接構(gòu)成,從某種意義上也可以說是一系列小線段近似成曲線,所以,修改某個(gè)特征點(diǎn)位置的時(shí),需要兼顧其附近的插入點(diǎn)及與之相鄰的特征點(diǎn)的變化?;谝陨显?筆者使用反求 B樣條曲線或Bezier曲線[4-5]的控制點(diǎn)的方法來編輯曲線。所謂反求B樣條或Bezier曲線控制點(diǎn)是指已知一組空間型值點(diǎn) Qi(i=1,2,…,n),要求找 1條 B樣條或 Bezier曲線過 Qi點(diǎn)。問題在于如何求得曲線的控制點(diǎn) Pi。
1.1 Bezier曲線的簡介
1962年,法國雷諾汽車公司工程師皮埃爾·貝塞爾 (Pierre Bézier)構(gòu)造了以逼近算法為基礎(chǔ)的Bezier曲線,并運(yùn)用Bezier曲線為汽車的主體進(jìn)行設(shè)計(jì)。Bezier曲線(Bézier curve)是電腦圖形學(xué)中相當(dāng)重要的參數(shù)曲線,廣泛應(yīng)用于計(jì)算機(jī)圖形中為平滑曲線建立模型?,F(xiàn)在,Bezier曲線已成為各種 CAD軟件的基本模型之一,應(yīng)用于機(jī)械、航空、汽車、形體設(shè)計(jì)、字體設(shè)計(jì)等領(lǐng)域。
Bezier曲線是由Bezier特征多邊形來定義的。曲線的起點(diǎn)和終點(diǎn)即該多邊形的起點(diǎn)和終點(diǎn),且第 1條邊表示曲線在起點(diǎn)的切矢量方向,最后一條邊表示曲線在終點(diǎn)的切矢量方向。當(dāng)給定空間 n+1個(gè)點(diǎn)的位置矢量 Pi時(shí),Bezier曲線上各點(diǎn)坐標(biāo)的插值公式是
Pi構(gòu)成該曲線的特征多邊形,Bi,n(t)是 Bernstein基函數(shù),
1.2 反算 Bezier曲線控制點(diǎn)
若給定 n+1個(gè)型值點(diǎn) Qi(i=1,2,…,n),要求構(gòu)造一條 Bezier曲線通過這些點(diǎn)。通常取參數(shù) t=i/n與點(diǎn)Qi相對(duì)應(yīng),用以反算過Qi的 Bezier曲線的控制點(diǎn) Pi(i=1,2,…,n)。設(shè)Qi在曲線 C(t)上,且有 C(t)=由此得到關(guān)于 Pi(i=1,2,…,n)的 n+1個(gè)方程組成的線性方程組[5-6]
由方程組 (1)可解出 Pi(i=1,2,…,n),即過Qi的 Bezier曲線的特征多邊形的頂點(diǎn)。
筆者所論述系統(tǒng),采用 4次Bezier曲線,即以選中的特征點(diǎn)為中心,加上兩邊各 2個(gè)特征點(diǎn),一共 5個(gè)特征點(diǎn)構(gòu)成曲線的基于Bezier方法的控制點(diǎn)。設(shè)這 5個(gè)點(diǎn)為Qi(i=0,1,2,3,4),其中Q2為選中的特征點(diǎn)。若Q2某一邊特征點(diǎn)的數(shù)目少于 2,如 Q1為這條曲線的端點(diǎn),則令 Q0=Q1;若 Q2為曲線端點(diǎn),則令 Q0=Q1= Q2。類似情況,以此類推。所以,當(dāng) n=4時(shí),可以得到矩陣表達(dá)式
由此可以得到 Pi(i=0,1,2,3,4)的值
算出這 5個(gè)控制點(diǎn)后,改變控制點(diǎn) P2的位置,得到新值 P2′,按照計(jì)算 4次Bezier曲線的公式
從Q0到Q4這一段曲線也改變了。
取 t=i/28(i=0,1,2,…,28),其中 i=0,7,14,21,28時(shí)所求出的值分別為 Qi(i=0,1,2,3,4)的新值,i取 1~6時(shí)所求出的值為Q0和 Q1之間的插入點(diǎn)的新值。同理 i所取的其它值所得的結(jié)果也均為剩下的插入點(diǎn)的新值。
利用 3DMax導(dǎo)出的 ASE文件進(jìn)行三維人臉建模,采用Bezier曲線從不同平面進(jìn)行三維人臉的編輯。系統(tǒng)把三維的人臉表示為三個(gè)平面和一個(gè)顯示透視效果的平面 (圖 1)。試驗(yàn)結(jié)果表明:采用Bezier曲線進(jìn)行人臉建模精度較高。
圖1 人臉曲線模型
一般而言,人臉模型構(gòu)造方法有多邊形建模技術(shù)和曲面建模技術(shù)。其中曲面建模技術(shù)中的樣條模型控制精確,可以以任意精度忠實(shí)于原始模型,所以常采用樣條模型構(gòu)造人臉樣條模型。從 3DMax導(dǎo)出的ASE文件進(jìn)行人臉建模,采用Bezier曲線對(duì)模型進(jìn)行編輯和修改,效果非常好。
[1]PARCK F I.Computer generated an imation of faces[A]//ProceedingsACM annual conference.New York,USA:ACM,1972: 451-457.
[2]NAHASM,HU ITR I C H,SA INTOURENSM.Animation of aB-spline figure[J].TheVisualComputer,1988,3(5):272-276.
[3]沈潤泉,何本陽.基于B樣條曲線的三維人臉建模和編輯[J].電腦學(xué)習(xí),2008(8):43-44.
[4]孫家廣.計(jì)算機(jī)圖形學(xué)[M].北京:清華大學(xué)出版社,1998:125-168.
[5]唐澤圣,周嘉玉,李新友.計(jì)算機(jī)圖形學(xué)基礎(chǔ)[M].北京:清華大學(xué)出版社,1995:187-210.
[6]唐榮錫,汪嘉業(yè),彭群生,等.計(jì)算機(jī)圖形學(xué)教程[M].北京:科學(xué)出版社,2000:155-180.
〔責(zé)任編輯:盧 蕊〕
Realistic 3D curve facialmodeling and editing system
SHEN Run-quan
(Electron and Infor mation Department,Zhenjiang College,Zhenjiang 212003,China)
3D geometry modeling technique is a leading branch in computer graphics,amongwhich the facialmodeling isone of the most important.This facialmodeling technique based on polygons and curves can achieve desirable results:creating 3D facialmodeling usingASE file derived from 3D Max,then adjusting and editing the feature points and feature lines for the model using Bezier curve,thus forming the personalmodel for users.
facialmodeling;Bezier curve;feature point;feature line
TP391.4
B
1008-8148(2010)03-0056-02
2010-04-05
沈潤泉(1973—),女,江蘇鎮(zhèn)江人,講師,碩士,主要從事計(jì)算機(jī)圖形圖象處理研究。