日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > > 充電吧
[導(dǎo)讀]一、原理:???????貝塞爾曲線于1962年,由法國工程師皮埃爾·貝塞爾(Pierre Bézier)所廣泛發(fā)表,他運(yùn)用貝塞爾曲線來為汽車的主體進(jìn)行設(shè)計(jì)。貝塞爾曲線最初由?Paul de Cas

一、原理:

???????貝塞爾曲線于1962年,由法國工程師皮埃爾·貝塞爾(Pierre Bézier)所廣泛發(fā)表,他運(yùn)用貝塞爾曲線來為汽車的主體進(jìn)行設(shè)計(jì)。貝塞爾曲線最初由?Paul de Casteljau?于1959年運(yùn)用?de Casteljau 算法開發(fā),以穩(wěn)定數(shù)值的方法求出貝塞爾曲線。

線性貝塞爾曲線

給定點(diǎn)?P0、P1,線性貝塞爾曲線只是一條兩點(diǎn)之間的直線。這條線由下式給出:

且其等同于線性插值。


二次方貝塞爾曲線的路徑由給定點(diǎn)?P0、P1、P2?的函數(shù)?B(t) 追蹤:

TrueType?字型就運(yùn)用了以貝塞爾樣條組成的二次貝塞爾曲線。


P0、P1、P2、P3?四個(gè)點(diǎn)在平面或在三維空間中定義了三次方貝塞爾曲線。曲線起始于?P0?走向?P1,并從?P2?的方向來到?P3。一般不會經(jīng)過?P1?或?P2;這兩個(gè)點(diǎn)只是在那里提供方向資訊。?P0?和?P1?之間的間距,決定了曲線在轉(zhuǎn)而趨進(jìn)P3?之前,走向?P2?方向的“長度有多長”。

曲線的參數(shù)形式為:

。

現(xiàn)代的成象系統(tǒng),如?PostScript、Asymptote?和?Metafont,運(yùn)用了以貝塞爾樣條組成的三次貝塞爾曲線,用來描繪曲線輪廓。

一般化

P0、P1、…、Pn,其貝塞爾曲線即

。

例如?:

。

如上公式可如下遞歸表達(dá): 用??表示由點(diǎn)?P0、P1、…、Pn?所決定的貝塞爾曲線。則

用平常話來說,?階貝塞爾曲線之間的插值。


一些關(guān)于參數(shù)曲線的術(shù)語,有

即多項(xiàng)式

又稱作?n?階的伯恩斯坦基底多項(xiàng)式,定義 00?= 1。

點(diǎn)?Pi?稱作貝塞爾曲線的控制點(diǎn)。多邊形以帶有線的貝塞爾點(diǎn)連接而成,起始于?P0?并以?Pn?終止,稱作貝塞爾多邊形(或控制多邊形)。貝塞爾多邊形的凸包(convex hull)包含有貝塞爾曲線。

線性貝塞爾曲線函數(shù)中的?t?會經(jīng)過由?P0?至P1?的?B(t) 所描述的曲線。例如當(dāng)?t=0.25?時(shí),B(t) 即一條由點(diǎn)?P0?至?P1?路徑的四分之一處。就像由 0 至 1 的連續(xù)?t,B(t) 描述一條由?P0?至?P1?的直線。


為建構(gòu)二次貝塞爾曲線,可以中介點(diǎn)?Q0?和?Q1?作為由 0 至 1 的?t

由?P0?至?P1?的連續(xù)點(diǎn)?Q0,描述一條線性貝塞爾曲線。由?P1?至?P2?的連續(xù)點(diǎn)?Q1,描述一條線性貝塞爾曲線。由?Q0?至?Q1?的連續(xù)點(diǎn)?B(t),描述一條二次貝塞爾曲線。?

?? ? ?


為建構(gòu)高階曲線,便需要相應(yīng)更多的中介點(diǎn)。對于三次曲線,可由線性貝塞爾曲線描述的中介點(diǎn)?Q0、Q1、Q2,和由二次曲線描述的點(diǎn)?R0、R1?所建構(gòu):

?? ? ?

對于四次曲線,可由線性貝塞爾曲線描述的中介點(diǎn)?Q0、Q1、Q2、Q3,由二次貝塞爾曲線描述的點(diǎn)?R0、R1、R2,和由三次貝塞爾曲線描述的點(diǎn)?S0、S1?所建構(gòu):

?? ? ?

P(t)=(1-t)P0+tP1?,?。
矩陣表示為:
  ,?。
P(t)=(1-t)2P0+2t(1-t)P1+t2P2,?。
矩陣表示為:
  ,?。


  P(t)=(1-t)3P0+3t(1-t)2P1+3t2(1-t)P2+t3P3?
矩陣表示為:
,?。
(6-3-2)?
,?。?
在(6-3-2)式中,Mn+1是一個(gè)n+1階矩陣,稱為n次Bezier矩陣。
?(6-3-3)
。
其中,

利用(6-3-3)式,我們可以得到任意次Bezier矩陣的顯式表示,例如4次和5次Bezier矩陣為:

?
可以證明,n次Bezier矩陣還可以表示為遞推的形式:
?(6-3-4)
?

二、算法(c++)

工程目錄是:Win32App?
vc6.0

#include

??HDC hdc;
??static POINT pt[NUM];
??TEXTMETRIC tm;
??static int cxClient,cyClient;
??HPEN hpen;
??int i,j,k,n,t;

??switch(message)
??{
??case WM_CREATE:
??????static int cxchar;
??????hdc = GetDC(hwnd);
??????GetTextMetrics(hdc,&tm);
??????cxchar = tm.tmAveCharWidth;
??????ReleaseDC(hwnd,hdc);

??case WM_SIZE:
???????cxClient = LOWORD(lparam);
??????cyClient = HIWORD(lparam);
??????return 0;
??case WM_PAINT:
???????hdc = GetDC(hwnd);
???????srand(time(0));

???????Rectangle(hdc,0,0,cxClient,cyClient);
??????for(i=0; i<500; i++)
??????????{
????????????SelectObject(hdc,GetStockObject(WHITE_PEN));
????????????PolyBezier(hdc,pt,NUM);
????????????for(j=0; j<NUM; j++)
????????????{
????????????????pt[j].x = rand()%cxClient;
????????????????pt[j].y = rand()%cyClient;
????????????}
????????????hpen = CreatePen(PS_INSIDEFRAME,3,RGB(rand()%256,rand()%256,rand()%256));
?????????????DeleteObject(SelectObject(hdc,hpen));
????????????PolyBezier(hdc,pt,NUM);
????????????for(k=0; k<50000000;k++);
??????????}
??????for(i=0; i<100;i++)
??????{
????????Ellipse(hdc,rand()%cxClient,rand()%cyClient,rand()%cxClient,rand()%cyClient);

????????Pie(hdc,j=rand()%cxClient,k=rand()%cyClient,n=rand()%cxClient,t=rand()%cyClient,rand()%cxClient,rand()%cyClient,rand()%cxClient,rand()%cyClient) ;?

??????}
???????if((n=(n+j)/2)>cxchar*20) n=cxchar*20;??
????????SetTextColor(hdc,RGB(rand()%256,rand()%256,rand()%256));
????????TextOut(hdc,n/2,(t+k)/2,TEXT("瑾以此向Pierm Bezier致敬!"),lstrlen(TEXT("瑾以此向Pierm Bezier致敬!")));
????????ReleaseDC(hwnd,hdc);
??????????DeleteObject(hpen);
??????????ValidateRect(hwnd,NULL);
???return 0;

??case WM_DESTROY:
??????PostQuitMessage(0);
??????return 0;
??}
??return DefWindowProc(hwnd,message,wparam,lparam);
}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計(jì)工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉