源地址為:http://m.blog.csdn.net/nibiewuxuanze/article/details/48229393。
三階貝塞爾曲線被廣泛用于各種需要平滑曲線的設(shè)計(jì)領(lǐng)域卫旱,一般通過多段三階貝塞爾曲線順次連接浩螺,構(gòu)成比較復(fù)雜的曲線余掖。
比如下圖中祭陷,A峦椰、B聂使、C和D控制紅色曲線壁拉,D、E柏靶、F和G控制綠色曲線弃理,G、H屎蜓、I和A控制藍(lán)色曲線痘昌。
對于上面紅色曲線,我們把A和D稱為端點(diǎn)炬转,B和C稱為柄點(diǎn)辆苔,可以發(fā)現(xiàn)端點(diǎn)總是被相鄰曲線共用。
每一段三階貝塞爾曲線均由兩個端點(diǎn)和兩個柄點(diǎn)扼劈,一共四個控制點(diǎn)進(jìn)行控制驻啤,對于其中每個控制點(diǎn)的改變,均會影響這段曲線所有部分荐吵。
出于曲線微調(diào)的目的骑冗,在柄點(diǎn)B的移動過程中,只改變端點(diǎn)A到點(diǎn)E的那一段曲線(E點(diǎn)的位置固定起來)捍靠,而對于點(diǎn)E到端點(diǎn)D的部分則維持不變沐旨。
這樣的情況下,就需要分拆這段貝塞爾曲線為兩段榨婆,端點(diǎn)A到點(diǎn)E為一段磁携,點(diǎn)E到端點(diǎn)D為一段,然后再單獨(dú)修改端點(diǎn)A到點(diǎn)E的那段曲線良风。
展示一下曲線分開后谊迄,單獨(dú)控制的效果:
我們知道A闷供、B、C和D四個控制點(diǎn)统诺,描述了上面的三階貝塞爾曲線歪脏,那么就有以下兩個問題:
第一,分拆后的曲線AE和曲線ED粮呢,能否用三階貝塞爾曲線描述婿失?
第二,如果能夠的話啄寡,那么曲線AE和曲線ED的控制點(diǎn)在哪里豪硅?
對于第一個問題,答案是肯定的挺物。
可以證明曲線AE和曲線ED上的三階貝塞爾曲線的參數(shù)方程懒浮,經(jīng)過對參數(shù)變量的變換,可以轉(zhuǎn)換為完整三階貝塞爾曲線的參數(shù)方程(參數(shù)變量的取值范圍調(diào)整到對應(yīng)的定義域)识藤。其中砚著,曲線AE和曲線ED的三階貝塞爾曲線的參數(shù)方程的參數(shù)變量,與完整三階貝塞爾曲線的參數(shù)方程的參數(shù)變量痴昧,有著確定的函數(shù)關(guān)系稽穆。
那么,下面就針對第二個問題赶撰,來尋求解答秧骑。
由三階貝塞爾曲線的參數(shù)方程定義
可以將點(diǎn)E定義為t等于特定值e (0<e<1)時的點(diǎn)P(e),也即:
針對三階貝塞爾曲線的定義扣囊,可以作出以下輔助點(diǎn)和輔助線;
根據(jù)貝塞爾曲線的特性绒疗,可以知道線段AB是貝塞爾曲線在A點(diǎn)的切線段侵歇,線段IJ是貝塞爾曲線在E點(diǎn)的切線,線段CD是貝塞爾曲線在D點(diǎn)的切線吓蘑。
其中F惕虑、G、H磨镶、I溃蔫、J是與貝塞爾曲線相關(guān)的輔助點(diǎn),根據(jù)三階貝塞爾曲線的規(guī)則琳猫,坐標(biāo)可以定義如下:
另外伟叛,E也可以通過I和J來定義,如果進(jìn)行推算脐嫂,那么結(jié)果和P(e)也是一致的:
經(jīng)過觀察统刮,感覺A紊遵、F、I和E很像是曲線AE的貝塞爾曲線控制點(diǎn)的樣子侥蒙,下面就針對這個猜想進(jìn)行驗(yàn)證:
假設(shè)A暗膜、F、I和E就是曲線AE的貝塞爾曲線的控制點(diǎn)鞭衩,那么以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的三階貝塞爾曲線的控制點(diǎn)捂人,從而可以驗(yàn)證前面的猜想御雕。
對于曲線ED部分,也可以采用相同方式進(jìn)行證明滥搭,這里不再贅述酸纲。
從而,控制點(diǎn)ABCD描述的三階貝塞爾曲線瑟匆,可以被分解為控制點(diǎn)AFIE描述的貝塞爾曲線和控制點(diǎn)EJHD描述的貝塞爾曲線闽坡。
也即,對于三階貝塞爾參數(shù)曲線方程P(t)而言愁溜,對于任意0<e<1疾嗅,均可以將該曲線從P(e)處斷開成兩個三階貝塞爾曲線。
感謝Grapher和GeoGebra軟件冕象,使得方便排版文章中使用的公式和曲線代承。