国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

曲面的算法可視化方法研究與實現(xiàn)

2021-08-01 09:15:18龔光軍
關(guān)鍵詞:貝塞爾坐標(biāo)值樣條

龔光軍

(安徽職業(yè)技術(shù)學(xué)院 教務(wù)處,安徽 合肥 230011)

計算機圖形學(xué)中的曲面相關(guān)知識由于其難度較大、涉及到的數(shù)學(xué)知識點多等特點,使其相關(guān)內(nèi)容的學(xué)習(xí)變得非??菰锓ξ叮谀壳暗拇蟛糠纸滩闹薪榻B得比較少,有些教材對此部分內(nèi)容一筆帶過,甚至只字不提。但是,作為計算機圖形學(xué)的組成部分,曲面相關(guān)知識不可或缺。目前,在曲面的相關(guān)教學(xué)過程中,也正是由于其難度大、抽象等特點,授課教師大多只是對其泛泛而談,或者只是講解其中的數(shù)學(xué)矩陣并輔之以幾張靜態(tài)的圖片來說明,無法深入解釋不同的控制參數(shù)對曲面生成形狀的影響,而學(xué)習(xí)者更是一頭霧水,不知所云。

在計算機圖形學(xué)其它內(nèi)容的講授過程中,已經(jīng)有較多院校做出了可視化的輔助軟件,大部分都是將計算機圖形學(xué)中的很多算法(直線算法,圓的算法,橢圓的算法等)通過VC++編程的方式,做出了一套算法可視化的效果,將理論和繪圖的實踐相互結(jié)合,提高算法的可視化程度,使教學(xué)質(zhì)量得到了很大程度的提高。不過,在曲面的算法方面,實現(xiàn)可視化的CAI軟件卻不常見?;诖?,本文對曲面產(chǎn)生原理進(jìn)行了深入細(xì)致的研究,以貝塞爾(Bezier)曲面及B樣條曲面為例,建立了可視化的三維坐標(biāo)系,完成了曲面的參數(shù)化輸入與控制,通過生成不同參數(shù)下的網(wǎng)格曲面,使學(xué)習(xí)者可以根據(jù)自己的理解需求,改變不同參數(shù),觀察生成的不同曲面之間的差異,增強對曲面生成原理的深入理解,最終實現(xiàn)曲面算法可視化的目標(biāo)。

1 曲面的生成算法原理分析

1.1 貝塞爾曲面(Bezier)

Bezier張量積曲面是通過貝塞爾曲線得到的,一般來說,在空間中找到(m+1)行、(n+1)列個點,我們就稱下面公式所表達(dá)的張量積參數(shù)曲面是n×m次的貝塞爾曲面[1]-[2]。

在常見的應(yīng)用過程中,n與m的數(shù)值一般不大于4,本文在可視化演示的過程中,取值為:n=m=3。

1.2 B樣條曲面

類似于貝塞爾曲面,B樣條曲面也是由B樣條曲線推導(dǎo)而來的,一般來說,我們把下面張量積樣式所表達(dá)的參數(shù)曲面稱之為:m×n階的B樣條曲面[3]-[4]。

同時,還能夠用矩陣形式來表示雙三次B樣條曲面片為:

在式(5)中,

與貝塞爾(Bezier)曲面比較起來,B樣條曲面有保凸性、凸包性和易交互性這些優(yōu)點,最重要的是它還有局部性的優(yōu)點,也就是假如變化樣條曲面中的任意一個控制頂點,整個曲面中僅有和該頂點關(guān)聯(lián)的區(qū)域會出現(xiàn)改變,但是其他的部分不變,這樣以來,在設(shè)計曲面的過程中,就可以很方便的修改曲面中的任意一個局部形狀。

2 三維曲面可視化的原理

2.1 建立坐標(biāo)系

在建立曲面的坐標(biāo)系時,本文使用了正等軸測坐標(biāo)系。建立好的曲面坐標(biāo)系如下圖所示,可視化區(qū)域的背景是白色,正等軸側(cè)坐標(biāo)系中的x軸、y軸和z軸分別相交成120度,如圖1所示。

圖1 坐標(biāo)系

在圖1中,x、y、z軸的軸向變形系數(shù)是相同的。即:

其中,ηx、ηy、ηz是X、Y、Z軸的軸向變形系數(shù)。因此,根據(jù)斜軸測投影變換的矩陣,可以知道:

解得:

然后,能夠算出投影的轉(zhuǎn)換矩陣是:

假設(shè)在空間中的任意一個點,其坐標(biāo)為(x,y,z),通過上述轉(zhuǎn)換矩陣轉(zhuǎn)換以后(X,Y,Z),就得到了這個點在平面中的坐標(biāo),其變換的計算公式如下:

經(jīng)過計算發(fā)現(xiàn),所有的Y坐標(biāo)值為0,這是由于平面中僅有兩個坐標(biāo)方向。計算出X和Z的坐標(biāo)以后,還需要將它們轉(zhuǎn)換成計算機中設(shè)備坐標(biāo)系里面的坐標(biāo)值。這里假設(shè)在設(shè)備坐標(biāo)系里面的坐標(biāo)為(xx,yy),曲面的演示坐標(biāo)系中的原點在設(shè)備坐標(biāo)系里面有一個相對坐標(biāo),這個相對坐標(biāo)值設(shè)為(x X,y Y),則,這些坐標(biāo)值之間的相互轉(zhuǎn)換公式為:

2.2 動態(tài)演示

為了完成曲面動態(tài)演示,本文將其分為算法動態(tài)演示、曲面形成過程動態(tài)演示與數(shù)據(jù)和參數(shù)反饋的動態(tài)演示。算法動態(tài)演示時,通過指定一個存放程序語句的數(shù)組,然后將其根據(jù)不同的曲線類型輸出到演示窗口,在演示過程中,根據(jù)當(dāng)前演示的步數(shù)調(diào)整算法文字的顯示演示,從而達(dá)到算法的動態(tài)演示效果和目的。曲面形成過程動態(tài)演示與數(shù)據(jù)和參數(shù)的動態(tài)演示以Bezier曲面為例來說明。

根據(jù)貝塞爾曲面的生成原理可以知道,貝塞爾曲面實際上是參數(shù)為u和v的Bezier曲線相互交錯而來的。如果將u固定不變,然后將v的取值范圍設(shè)定在數(shù)字0和1之間,這樣就可以得到一組曲線,謂之v線,同理,如果將v固定不變,然后將u的取值范圍設(shè)定在數(shù)字0和1之間,這樣就可以得到一組u線,這兩組曲線組合在一塊稱之為參數(shù)曲線網(wǎng)。本文通過選取適合的u和v變化量,獲得了一張Bezier參數(shù)曲面網(wǎng),然后通過程序控制,讓這些曲線逐條緩慢的出現(xiàn),同時將這些曲線出現(xiàn)的順序與其算法文字同步,這樣便達(dá)到了曲面形成過程的可視化。如圖2所示為Bezier參數(shù)曲面網(wǎng)。

圖2 Bezier曲面圖

依據(jù)Bezier曲面的生成原理可知,一個雙三次Bezier曲面需要控制頂點的數(shù)量為16個,其中有4個是角點。而Bezier曲面肯定會經(jīng)過這4個角點,但是卻不確定是否經(jīng)過剩下的12個控制點。因此本文在實現(xiàn)曲面數(shù)據(jù)與參數(shù)演示時,只選擇顯示其中的角點坐標(biāo),如圖3所示。

圖3 Bezier曲面的數(shù)據(jù)反饋

從圖3中可以看出,除了角點的坐標(biāo)以外,還實時顯示了參數(shù)u和v的值。在動態(tài)演示時,參數(shù)u和v每次變化0.05,在從0到1的變化過程中,就會生成20條v線與20條u線,最終組合成Bezier參數(shù)曲面網(wǎng),同時,參數(shù)u和v值的變化過程也隨著曲線的變化一起實時顯示,從而實現(xiàn)曲面和參數(shù)的動態(tài)演示。

3 曲面控制點更改

曲面的動態(tài)演示過程中,可以交互式更改曲面控制點數(shù)值,進(jìn)而根據(jù)不同控制點生成的不同曲面去感受參數(shù)對曲面的作用和意義。

本文通過對話框模式來實現(xiàn)曲面參數(shù)的修改。對話框交互模式是編程中最常見也是最重要的一個功能,它能夠根據(jù)不同學(xué)習(xí)者的不同想法來準(zhǔn)確變換和更改相關(guān)的參數(shù)值。因此對話框技術(shù)非常適合用來控制曲面,精確、細(xì)微的參數(shù)變動而發(fā)生的曲面形狀改變,可以直觀地表達(dá)曲面生成的原理。曲面控制點設(shè)置對話框如圖4所示。

圖4 曲面的參數(shù)修改

通過圖4可以看到,列表框中列出了Bezier曲面所有的16個控制點在坐標(biāo)系里的地方及坐標(biāo)值[5],如:P00,P30,P03和P33就顯示了曲面中四個角點坐標(biāo)。在需要進(jìn)行坐標(biāo)修改時,只需要單擊對應(yīng)的點所在的行,此時,該點的坐標(biāo)值便出現(xiàn)在旁邊的編輯框中,通過更改編輯框中的值并點擊確定按鈕,則會修改成功。同時,為了表現(xiàn)出兩個特殊的曲面形狀,本文還設(shè)置了兩個默認(rèn)選項,只需點擊默認(rèn)選項按鈕便可顯示其對應(yīng)的16個控制點,并生成特殊的曲面,比如其中一種為平面。

4 結(jié)語

本文實現(xiàn)了B樣條曲面與貝塞爾曲面的算法可視化,圖2和圖5分別為B樣條曲面與貝塞爾曲面。該教學(xué)CAI軟件實現(xiàn)了“參數(shù)輸入—曲面生成—參數(shù)更改—曲面變化—觀察對比—理解曲面生成原理”的循環(huán)演示。以直觀的曲面生成與變換效果,滿足了不同學(xué)習(xí)者的不同理解需求,大大增加了學(xué)習(xí)效率與學(xué)習(xí)質(zhì)量。

圖5 B樣條曲面圖

猜你喜歡
貝塞爾坐標(biāo)值樣條
麥弗遜懸架主銷軸線對半軸滑移的影響
北京汽車(2023年1期)2023-03-03 00:50:38
一元五次B樣條擬插值研究
看星星的人:貝塞爾
少兒科技(2021年3期)2021-01-20 13:18:34
基于虛宗量貝塞爾函數(shù)的螺旋帶色散模型
基于二分法迭代的凸模數(shù)控銑削加工編程*
三次參數(shù)樣條在機床高速高精加工中的應(yīng)用
三次樣條和二次刪除相輔助的WASD神經(jīng)網(wǎng)絡(luò)與日本人口預(yù)測
軟件(2017年6期)2017-09-23 20:56:27
基于樣條函數(shù)的高精度電子秤設(shè)計
一種脈沖貝塞爾波的構(gòu)造及其非線性聲場的仿真
高階貝塞爾光束的Z掃描理論
酒泉市| 鄂州市| 石楼县| 清河县| 乌拉特中旗| 舒城县| 虎林市| 广南县| 右玉县| 康马县| 敖汉旗| 永顺县| 循化| 剑阁县| 枣强县| 西乌珠穆沁旗| 武鸣县| 宜良县| 墨玉县| 马尔康县| 治多县| 凌海市| 襄汾县| 巩留县| 安岳县| 赤壁市| 饶河县| 台东市| 通许县| 承德县| 秭归县| 蓬莱市| 隆尧县| 娄底市| 柯坪县| 辽阳县| 安多县| 萨嘎县| 剑河县| 伊宁市| 南溪县|