计算机图形学的第一次作业
参考了网上很多代码 但好歹写出来了
#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) {