-
大小: 348KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2021-06-10
- 語言: C/C++
- 標簽:
資源簡介
B樣條和Bezier曲線的動態繪制,采用opengl繪制曲線,實現曲線的交互繪制

代碼片段和文件信息
//固定點個數的3次B樣條曲線
#include?
#include?
#include?
#include?
void?init(void)
{
?glClearColor(1.01.01.00.0);
?glMatrixMode(GL_PROJECTION);
?gluOrtho2D(0.010.00.010.0);
}
void?myDisplay()
{
????int?ij;
float?x[4]={2368}y[4]={5885};
float?n1n2n3n4;
glClear(GL_COLOR_BUFFER_BIT);
????glColor3f(0.00.00.0);
????glBegin(GL_LINE_STRIP);??????????
????????for(i=0;?i<4;i++)
glVertex2f(x[i]?y[i]);?
????glEnd();
????glColor3f(1.00.00.0);
????glBegin(GL_LINE_STRIP);??????????
????????for(j=0;?j<=100;j++)
{
float?xyt;
????????t?=?j/100.0;
????n1=(1-t)*(1-t)*(1-t)/6.0;
????????n2=(3.0*t*t*t-6.0*t*t+4.0)/6.0;
????????n3=(3.0*t*(1.0+t-t*t)+1.0)/6.0;
????????n4=t*t*t/6.0;
????????x=x[0]*n1+x[1]*n2+x[2]*n3+x[3]*n4;
????????y=y[0]*n1+y[1]*n2+y[2]*n3+y[3]*n4;
//x=n1*2+n2*3+n3*6+n4*8;
????????//y=n1*5+n2*8+n3*8+n4*5;
glVertex2f(x?y);
}
????glEnd();
????glFlush();
}
void?main(int?argcchar**?argv)
{
?glutInit(&argcargv);
?glutInitDisplayMode(GLUT_SINGLE?|?GLUT_RGB);
?glutInitWindowPosition(50100);
?glutInitWindowSize(800600);
?glutCreateWindow(“B樣條“);
?init();
?glutDisplayFunc(myDisplay);
?glutMainLoop();
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1248??2010-06-22?22:11??曲線交互繪制\Bcurve\Bcurve\Bcurve.cpp
?????文件???????3916??2010-06-22?21:45??曲線交互繪制\Bcurve\Bcurve\Bcurve.vcproj
?????文件???????1413??2011-03-29?10:20??曲線交互繪制\Bcurve\Bcurve\Bcurve.vcproj.doris-PC.doris.user
?????文件???????1427??2012-03-21?22:41??曲線交互繪制\Bcurve\Bcurve\Bcurve.vcproj.XP-201202111426.Administrator.user
?????文件????????663??2010-06-22?21:53??曲線交互繪制\Bcurve\Bcurve\Debug\Bcurve.exe.em
?????文件????????728??2010-06-22?21:53??曲線交互繪制\Bcurve\Bcurve\Debug\Bcurve.exe.em
?????文件????????621??2010-06-22?22:07??曲線交互繪制\Bcurve\Bcurve\Debug\Bcurve.exe.intermediate.manifest
?????文件???????4478??2010-06-22?22:11??曲線交互繪制\Bcurve\Bcurve\Debug\BuildLog.htm
?????文件?????????65??2010-06-22?22:07??曲線交互繪制\Bcurve\Bcurve\Debug\mt.dep
?????文件??????52224??2010-06-22?22:11??曲線交互繪制\Bcurve\Bcurve\Debug\vc90.idb
?????文件??????69632??2010-06-22?22:11??曲線交互繪制\Bcurve\Bcurve\Debug\vc90.pdb
?????文件?????404480??2012-03-21?22:41??曲線交互繪制\Bcurve\Bcurve.ncb
?????文件????????884??2010-06-22?21:40??曲線交互繪制\Bcurve\Bcurve.sln
????..A..H.?????10240??2012-03-21?22:41??曲線交互繪制\Bcurve\Bcurve.suo
?????文件??????32768??2010-06-22?22:07??曲線交互繪制\Bcurve\Debug\Bcurve.exe
?????文件?????365880??2010-06-22?22:07??曲線交互繪制\Bcurve\Debug\Bcurve.ilk
?????文件?????420864??2010-06-22?22:07??曲線交互繪制\Bcurve\Debug\Bcurve.pdb
?????文件???????2090??2012-05-21?10:33??曲線交互繪制\Bezier\Bezier\Bezier.cpp
?????文件???????3916??2010-06-22?10:40??曲線交互繪制\Bezier\Bezier\Bezier.vcproj
?????文件???????1413??2012-05-21?10:33??曲線交互繪制\Bezier\Bezier\Bezier.vcproj.doris-PC.doris.user
?????文件????????663??2010-06-22?10:43??曲線交互繪制\Bezier\Bezier\Debug\Bezier.exe.em
?????文件????????728??2010-06-22?10:43??曲線交互繪制\Bezier\Bezier\Debug\Bezier.exe.em
?????文件????????621??2010-06-22?12:54??曲線交互繪制\Bezier\Bezier\Debug\Bezier.exe.intermediate.manifest
?????文件???????3678??2012-05-21?10:33??曲線交互繪制\Bezier\Bezier\Debug\BuildLog.htm
?????文件?????????65??2010-06-22?12:54??曲線交互繪制\Bezier\Bezier\Debug\mt.dep
?????文件??????27648??2012-05-21?10:33??曲線交互繪制\Bezier\Bezier\Debug\vc90.idb
?????文件??????53248??2012-05-21?10:33??曲線交互繪制\Bezier\Bezier\Debug\vc90.pdb
?????文件??????27648??2012-05-21?10:33??曲線交互繪制\Bezier\Bezier.ncb
?????文件????????884??2010-06-22?10:03??曲線交互繪制\Bezier\Bezier.sln
????..A..H.?????10240??2012-05-21?10:33??曲線交互繪制\Bezier\Bezier.suo
............此處省略15個文件信息
- 上一篇:背包問題實驗報告C語言實現、文件輸入及文件輸出
- 下一篇:C語言超市收銀模擬系統
評論
共有 條評論