• 大小: 2KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: C/C++
  • 标签:

资源简介

Bezier曲线是通过一组多边形折线的顶点来定义的。如果折线的顶点固定不变,则由其定义的Bezier曲线是唯一的。在折线的各顶点中,只有第一点和最后一点在曲线上且作为曲线的起始处和终止处,其他的点用于控制曲线的形状及阶次。曲线的形状趋向于多边形折线的形状,要修改曲线,只要修改折线的各顶点就可以了。因此,多边形折线又称Bezier曲线的控制多边形,其顶点称为控制点。

资源截图

代码片段和文件信息

#include “stdafx.h“
#include    
#include         
#include         
#include         
  
  
GLfloat ctrlPoints[4][2] =  
{  
        { -0.8f 0.1f } {-0.4f 0.6f } { 0.2f 0.8f } { 0.7f 0.2f }  
};  
  
  
void myDisplay(void){  
    glClearColor(1.0 1.0 1.0 1.0);
    glClear(GL_COLOR_BUFFER_BIT);   
    glPointSize(3);  
    glLineWidth(3);
    
    glColor3f(1.0 0.0 0.0);  
    for (int i = 0; i glVertex2f(v[i].x v[i].y);
glEnd();
  
    glColor3f(0.0 0.0 1.0);  
    glBegin(GL_LINE_STRIP);  
    for (int i = 0; i < 4; i++){  
        glVertex2fv(&ctrlPoints[i][0]);  
    }  
    glEnd();  
  
    float xarray[11];  
    float yarray[11];  
    int n = 4;//number  
    GLfloat ps[11][2];   
    int u = 0;  
    for(double t = 0.0;t<=1;t+=0.1)  
    {   
        for (int i = 1; i < n; ++i)  
        {  
            for (int j = 0; j < n - i; ++j)  
            {  
                if (i == 1) // i==1时第一次迭代由已知控制点计算    
                {  

评论

共有 条评论