4次Bezier曲线--计算机图形学 opengl

本文档记录了使用OpenGL完成计算机图形学作业的过程,主要涉及4次Bezier曲线的绘制。内容包括对图形学基本原理的理解及代码实现,虽然参考了网络资源,但最终成功实现了目标。
摘要由CSDN通过智能技术生成

计算机图形学的第一次作业

参考了网上很多代码 但好歹写出来了

#include "GL\glut.h"

#include <math.h>


class Point//一个点类,含有x,y坐标

{

public:

       intx, y;

       voidinit(int x1, int y1) {

              x= x1;

              y= y1;

       }

};



//点的数量

static int PointSum = 0;


//四次的bezier曲线共有五个点

static Point points[5];



void init(void)

{

       glEnable(GL_DEPTH_TEST);

       glMatrixMode(GL_PROJECTION);

       glLoadIdentity();

       gluOrtho2D(0.0,500.0, 0.0, 500.0);

       glMatrixMode(GL_MODELVIEW);


}



//画点

void setPoint(Point p) {

       glBegin(GL_POINTS);

       glVertex2f(p.x,p.y);

       glEnd();

       glFlush();

}


// 画线

void setline(Point p1, Point p2) {

       glBegin(GL_LINES);

       glVertex2f(p1.x,p1.y);

       glVertex2f(p2.x,p2.y);

       glEnd();

       glFlush();

}


// 计算bezier曲线

Point calculateBezier(Point p0, Point p1,Point p2, Point p3, Point p4, double a) {

     
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值