资源简介
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语言超市收银模拟系统
评论
共有 条评论