三階貝塞爾曲線被廣泛用于各種需要平滑曲線的設(shè)計領(lǐng)域,一般通過多段三階貝塞爾曲線順次連接,構(gòu)成比較復(fù)雜的曲線。 比如下圖中,A、B、C和D控制紅色曲線,D、E、F和G控制綠色曲線,G、H、I和A控制藍(lán)色曲線。
對于上面紅色曲線,我們把A和D稱為端點,B和C稱為柄點,可以發(fā)現(xiàn)端點總是被相鄰曲線共用。 每一段三階貝塞爾曲線均由兩個端點和兩個柄點,一共四個控制點進(jìn)行控制,對于其中每個控制點的改變,均會影響這段曲線所有部分。 出于曲線微調(diào)的目的,在柄點B的移動過程中,只改變端點A到點E的那一段曲線(E點的位置固定起來),而對于點E到端點D的部分則維持不變。 這樣的情況下,就需要分拆這段貝塞爾曲線為兩段,端點A到點E為一段,點E到端點D為一段,然后再單獨修改端點A到點E的那段曲線。
展示一下曲線分開后,單獨控制的效果:
我們知道A、B、C和D四個控制點,描述了上面的三階貝塞爾曲線,那么就有以下兩個問題: 第一,分拆后的曲線AE和曲線ED,能否用三階貝塞爾曲線描述? 第二,如果能夠的話,那么曲線AE和曲線ED的控制點在哪里?
對于第一個問題,答案是肯定的。 可以證明曲線AE和曲線ED上的三階貝塞爾曲線的參數(shù)方程,經(jīng)過對參數(shù)變量的變換,可以轉(zhuǎn)換為完整三階貝塞爾曲線的參數(shù)方程(參數(shù)變量的取值范圍調(diào)整到對應(yīng)的定義域)。其中,曲線AE和曲線ED的三階貝塞爾曲線的參數(shù)方程的參數(shù)變量,與完整三階貝塞爾曲線的參數(shù)方程的參數(shù)變量,有著確定的函數(shù)關(guān)系。 那么,下面就針對第二個問題,來尋求解答。
由三階貝塞爾曲線的參數(shù)方程定義
可以將點E定義為t等于特定值e (0<e<1)時的點P(e),也即:
針對三階貝塞爾曲線的定義,可以作出以下輔助點和輔助線;
根據(jù)貝塞爾曲線的特性,可以知道線段AB是貝塞爾曲線在A點的切線段,線段IJ是貝塞爾曲線在E點的切線,線段CD是貝塞爾曲線在D點的切線。 其中F、G、H、I、J是與貝塞爾曲線相關(guān)的輔助點,根據(jù)三階貝塞爾曲線的規(guī)則,坐標(biāo)可以定義如下:
另外,E也可以通過I和J來定義,如果進(jìn)行推算,那么結(jié)果和P(e)也是一致的:
經(jīng)過觀察,感覺A、F、I和E很像是曲線AE的貝塞爾曲線控制點的樣子,下面就針對這個猜想進(jìn)行驗證: 假設(shè)A、F、I和E就是曲線AE的貝塞爾曲線的控制點,那么以u為參數(shù)變量的三階貝塞爾曲線方程可以表達(dá)如下: 代入F、I和E的坐標(biāo)公式,則Q(u)可以轉(zhuǎn)換為如下形式:
經(jīng)過化簡和整理可得:
以自變量t代替ue,則可以定義如下函數(shù):
而曲線AE就是三階貝塞爾曲線參數(shù)方程P(t)定義在t=[0, e]的部分,也即:
R(t)和PAE(t)的定義域和函數(shù)方程完全相同,所以可以得知Q(u)就是曲線AE的參數(shù)方程,也即A、F、I和E是曲線AE的三階貝塞爾曲線的控制點,從而可以驗證前面的猜想。
對于曲線ED部分,也可以采用相同方式進(jìn)行證明,這里不再贅述。
從而,控制點ABCD描述的三階貝塞爾曲線,可以被分解為控制點AFIE描述的貝塞爾曲線和控制點EJHD描述的貝塞爾曲線。 也即,對于三階貝塞爾參數(shù)曲線方程P(t)而言,對于任意0<e<1,均可以將該曲線從P(e)處斷開成兩個三階貝塞爾曲線。
感謝Grapher和GeoGebra軟件,使得方便排版文章中使用的公式和曲線。 |
|