激情六月丁香婷婷|亚洲色图AV二区|丝袜AV日韩AV|久草视频在线分类|伊人九九精品视频|国产精品一级电影|久草视频在线99|在线看的av网址|伊人99精品无码|午夜无码视频在线

高校合作1:010-59833514 ?咨詢電話:400-810-1418 服務(wù)與監(jiān)督電話:400-810-1418轉(zhuǎn)接2

如何設(shè)計一個逼真的三維模型

發(fā)布時間:2024-03-21 13:33:51 瀏覽量:105次

畫一條曲線,畫很多條曲線,讓曲線連接、旋轉(zhuǎn)、平移,就能建出曲面,進(jìn)而搭建出模型。今天的一切工業(yè)產(chǎn)品設(shè)計,需都要曲面建模完成產(chǎn)品的參數(shù)定義。

但在一切發(fā)生之前,我們需要先得到一條曲線。

你在 PS 里隨手畫的線條本質(zhì)上不是曲線。把它們放大,這條線會越來越模糊,最后變成一個個不同顏色的色塊。

但只要色塊足夠小,在人眼中的邊緣就是平滑的。這種顯示模式被稱為點陣圖像,也叫位圖。

計算機(jī)不像人類一樣擁有徒手畫線的能力,要畫真正的曲線,就需要通過數(shù)學(xué)函數(shù)計算每個點的位置,再把點連成曲線。

貝塞爾曲線就是這樣一種非常直觀的曲線函數(shù)。

這里有 A、B、C 三個點,我們在 AB 線段上任選一個點 D,根據(jù) AD 和 AB 的比值,在 BC 線段上找到一個點 E,讓 AD:AB=BE:BC 。再連接 DE ,在 DE 線段上找出點 F,讓 DF:DE = AD:AB = BE:BC。

這個 F 點,就是我們要得到的貝塞爾曲線上的一個點。讓 D 點從 A 移動到 B,把得到的所有 F 點連起來,就是 ABC 三個點所定義曲線,稱作二次貝塞爾曲線。

控制點越多,次數(shù)就越多。設(shè)計軟件常用的畫筆工具就是分段三次貝塞爾曲線,通過兩個錨點和兩個控制點,定義一條曲線。

這種用數(shù)學(xué)表達(dá)式定義的圖形被稱為矢量圖。無論放大多少倍,都不會丟失信息,出現(xiàn)位圖模式下的鋸齒。

貝塞爾曲線的問題是,當(dāng)控制點數(shù)量過多時,每個點對于曲線的控制就會變?nèi)?。且調(diào)整任意一個點都會影響整條曲線,不能只修改局部。

如果把像鋼筆工具一樣把貝塞爾曲線分段,曲線與曲線的拼接就不夠光滑。無法達(dá)到工業(yè)設(shè)建模要求的 C2 連續(xù)。

于是,在貝塞爾曲線的基礎(chǔ)上,發(fā)展出了 NURBS 曲線。Non-Uniform Rational B-Splines,中文叫非均勻有理 B 樣條。

B 樣條可以被看做一系列基函數(shù)的線性組合,而這些基函數(shù)又是由低次的基函數(shù)線性組合而來,每兩個節(jié)點矢量之間有不同的差值,且可以調(diào)節(jié)權(quán)重。

我知道你沒有聽懂,在寫下上面這段話的時候,我們其實也沒搞懂。所以,我們完整的學(xué)習(xí)了清華大學(xué)的計算機(jī)圖形學(xué)教材?,F(xiàn)在,我們終于理解了什么是非均勻有理 B 樣條。

接下來的內(nèi)容將非常有趣,讓我們開始吧。

首先我們要知道,貝塞爾和 NURBS 等曲線并不按照傳統(tǒng)的 y=f(x) 的函數(shù)關(guān)系表達(dá)。而是通過定義一個新參數(shù)t,把曲線表示為一個多項式。在三維空間,就可以表示為P(t)=[x(t),y(t),z(t)]。

比如一條直線段就可參數(shù)化表示為:

P 代表點的位置,包含 X,Y,Z 軸的坐標(biāo)信息,P1 是這條直線的起點,P2 是這條直線的終點。

那么,t 等于 0 時,P(t) 的位置就在 P1上,t 等于 1 時,P(t) 的位置就在 P2上,把 t 在 0 到 1 區(qū)間的每一個值對應(yīng)的 P(t) 坐標(biāo)連起來,就是 P1 和 P2 相連的直線。

參數(shù)函數(shù)可以清晰的表達(dá)各種曲線,比如四分之一圓弧就可表示為這樣 :

理解了參數(shù)函數(shù),我們就可以進(jìn)一步理解貝塞爾曲線的函數(shù)。這是求和符號,這是基函數(shù),不用擔(dān)心,我們接下來會進(jìn)一步介紹。

為了生成曲線,我們需要先確定 n+1 個控制點,記作 Pi,讓每個控制點與一個基函數(shù)相乘,再把結(jié)果相加,就可以獲得參數(shù) t 對應(yīng)的 P(t) 坐標(biāo),連起來就是一條逼近控制點的曲線。

以有 P0,P1,P2,P3 四個控制點的三次貝塞爾曲線為例,每一個點都有一條對應(yīng)的基函數(shù)曲線。

可以看到,t 為 0 時,P1,P2,P3 的基函數(shù)結(jié)果都是 0,此時P(t) 的位置就在 P0 上,t 為 1 時,P0,P1,P2 的函數(shù)結(jié)果都是0,此時P(t) 的位置就在 P3上。

而 t 在 0 和 1 之間時,P(t) 的位置就是這四條函數(shù)與控制點相乘再相加的結(jié)果。這也意味這每個控制點的位置發(fā)生變化,都會影響最終生成的整條曲線。

而 B 樣條則通過分段函數(shù)多次遞歸的方式解決了貝塞爾曲線的問題??梢钥吹?,B 樣條和貝塞爾的函數(shù)邏輯并無區(qū)別,但基函數(shù)和定義域 t 發(fā)生了變化。

這是 B 樣條的基函數(shù),i 是控制點的編號,k 是這條曲線的次數(shù)。

讓我們以有 4 個控制點的 3 次 B 樣條為例。

為了曲線可以被局部控制,首先需要設(shè)置 t0至 t7 共 8個 (4+3+1) 節(jié)點,每個節(jié)點都有固定的數(shù)值,我們就取 0、1、2、3、4、5、6、7 為 8 個節(jié)點的數(shù)值。

從基函數(shù)公式中我們可以看到,要計算 3 次 B 樣條基函數(shù),先要計算 2 次基函數(shù),要計算 2次,要先計算 1 次,要計算 1 次,就要先計算 0 次。

根據(jù)公式,控制點 P0 的 0 次基函數(shù) N0,0 只在 t0 和 t1 之間是 1, 其他區(qū)間都是 0。

以此類推,我們可以畫出剩余 3 個控制點的基函數(shù) N1,0 到 N3,0 。而 t4 至 t7 節(jié)點還會生成三條基函數(shù),用于之后的計算。

在 0 次基函數(shù)的基礎(chǔ)上,我們可以計算 1 次基函數(shù)。

基函數(shù) N0,0 和 N1,0 會組合生成一個新節(jié)點,對應(yīng)的基函數(shù)是 N0,1。以此類推,N1,0 和 N2,0 會組合成 N1,1 ;N3,0 和 N4,0 會組合成 N3,1。

此時的 B 樣條是就這四條基函數(shù)和 Pi 乘積的和,即4個控制點連接的直線。

之后,可以再計算得出 2 次基函數(shù),N0,2 到 N3,2 。再計算出 3次基函數(shù)。N0,3,N1,3,N2,3,N3,3 。最后帶入公式中,就可以算出 P(t),得出整條曲線。

在這張圖中,我們可以更清晰的看到 B 樣條基函數(shù)的遞歸邏輯。

不難發(fā)現(xiàn),每個 3 次基函數(shù)都只在4個節(jié)點區(qū)間內(nèi)有數(shù)值,這也意味著,這個控制點終于實現(xiàn)了貝塞爾曲線做不到的局部控制。

在剛剛的例子中,節(jié)點之間的數(shù)值是相等的,所以也被稱為均勻 B 樣條。實際應(yīng)用中,更常見的是節(jié)點間距不相等的非均勻 B 樣條,讓控制點獲得更靈活的控制范圍。

而「有理」,意味著可以對B 樣條的每個控制點設(shè)定不同的權(quán)重,進(jìn)一步控制曲線。

這就是非均勻有理 B 樣條。

你可以在這個網(wǎng)站中,更直觀的理解 NURBS 曲線。

每個控制點有4個參數(shù),XYZ 軸的坐標(biāo)和權(quán)重,權(quán)重越高,曲線就越靠近該點,讓控制點獲得對曲線更高的影響力。

而次數(shù)則意味則分段函數(shù)的計算次數(shù)。

次數(shù)為 1 時,就是各個控制點連接的直線。次數(shù)為 2 時,每段直線的會計算成為多段曲線,次數(shù)為 3 時,分段曲線會進(jìn)一步計算,生成更短更平滑的曲線。次數(shù)可以不斷升高,但在實際應(yīng)用中,3 次已經(jīng)夠用了。

可以看到,10個同樣位置的控制點,3 次的 NURBS 曲線就要比 9 次的貝塞爾曲線平滑可控的多。

有了 B 樣條之后,讓曲線連接、旋轉(zhuǎn)、平移,就能構(gòu)建出曲面了。

接下來,我們的三維模型師杰蘇爾將完成一次建模。

首先用 B 樣條勾勒出我們想要的模型輪廓,再添加幾個額外的點讓直線部分更垂直。之后,添加圓形樣條,再用掃描將模型的基礎(chǔ)形態(tài)制作出來,調(diào)整封頂形狀,就基本完成了模型的身體。

再添加眼球、瞳孔,增加細(xì)分曲面,調(diào)整大小和位置,然后再復(fù)制另一個眼球,一個回形針模型就完成了。

熱門課程推薦

熱門資訊

請綁定手機(jī)號

x

同學(xué)您好!

您已成功報名0元試學(xué)活動,老師會在第一時間與您取得聯(lián)系,請保持電話暢通!
確定