• 大小: 348KB
    文件类型: .rar
    金币: 1
    下载: 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.embed.manifest

     文件        728  2010-06-22 21:53  曲线交互绘制\Bcurve\Bcurve\Debug\Bcurve.exe.embed.manifest.res

     文件        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.embed.manifest

     文件        728  2010-06-22 10:43  曲线交互绘制\Bezier\Bezier\Debug\Bezier.exe.embed.manifest.res

     文件        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个文件信息

评论

共有 条评论

相关资源