#include#include#include#include#include<">
用C 和openGL實(shí)現(xiàn)貝塞爾曲線的生成

用C 和openGL實(shí)現(xiàn)貝塞爾曲線的生成

ID:13156461

大?。?2.50 KB

頁(yè)數(shù):3頁(yè)

時(shí)間:2018-07-21

用C 和openGL實(shí)現(xiàn)貝塞爾曲線的生成_第1頁(yè)
用C 和openGL實(shí)現(xiàn)貝塞爾曲線的生成_第2頁(yè)
用C 和openGL實(shí)現(xiàn)貝塞爾曲線的生成_第3頁(yè)
資源描述:

《用C 和openGL實(shí)現(xiàn)貝塞爾曲線的生成》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)

1、C和openGL環(huán)境下編程生成貝塞爾曲線:#include#include#include#include#include#includevoidsetWindow(GLdoubleleft,GLdoubleright,GLdoublebuttom,GLdoubletop){glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(left,right,buttom,top);}void

2、setViewport(GLintleft,GLintright,GLintbottom,GLinttop){glViewport(left,bottom,right-left,top-bottom);}intzuhe(intn,intk){inti,s1,s2;s1=1;s2=1;if(k==0)return1;for(i=n;i>=n-k+1;i--)s1=s1*i;for(i=k;i>=2;i--)s2=s2*i;returns1/s2;}floatfang(floatn,intk){if(k==0)return1;returnpow(n,k);}

3、floatbenkn(intn,intk,floatt){returnzuhe(n,k)*fang(t,k)*fang(1-t,n-k);}voidmyInit(void){glClearColor(1.0,1.0,1.0,0.0);glColor3f(1.0f,0.0f,0.0f);glPointSize(4.0);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D(0.0,640.0,0.0,480.0);}voidmyDisplay(void){glClear(GL_COLOR_BUFFE

4、R_BIT);floatt[11]={0},x[4]={1,4,6,10},y[4]={1,5,7,2},x1[11],y1[11],s=0.0;inti;for(i=1;i<11;i++){s=s+0.1;t[i]=s;}for(i=0;i<11;i++){x1[i]=x[0]*benkn(3,0,t[i])+x[1]*benkn(3,1,t[i])+x[2]*benkn(3,2,t[i])+x[3]*benkn(3,3,t[i]);y1[i]=y[0]*benkn(3,0,t[i])+y[1]*benkn(3,1,t[i])+y[2]*benkn(3

5、,2,t[i])+y[3]*benkn(3,3,t[i]);}printf("%f,%f,%f,%f",x[0],x[1],x[2],x[3]);printf("%f,%f,%f,%f",y[0],y[1],y[2],y[3]);for(i=0;i<11;i++){printf("%5.2f",t[i]);}printf("");for(i=0;i<11;i++){printf("%5.2f",x1[i]);}printf("");for(i=0;i<11;i++){printf("%5.2f",y1[i]);}glBegin(GL_PO

6、INTS);glVertex2f(x[0],y[0]);glVertex2f(x[1],y[1]);glVertex2f(x[2],y[2]);glVertex2f(x[3],y[3]);glEnd();glBegin(GL_LINE_STRIP);for(i=0;i<11;i++)glVertex2f(x1[i],y1[i]);glEnd();glFlush();}voidmain(intargc,char**argv){glutInit(&argc,argv);glutInitDisplayMode(GLUT_SINGLE

7、GLUT_RGB);glu

8、tInitWindowSize(640,480);glutInitWindowPosition(100,150);glutCreateWindow("myfirstattempt");glutDisplayFunc(myDisplay);myInit();setWindow(0.0,11.0,0.0,8.0);setViewport(0,640,0,480);glutMainLoop();}

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。