图元的绘制
1.在屏幕上绘制几何图元(如下图所示),自定义坐标和颜色。
2.采用中点圆算法在屏幕上画一个圆。
二、实验环境
dev-c IDE
MinGW32编译器
opengl若干拓展包
三、实验一
在屏幕上绘制几何图元,自定义坐标和颜色。
较为熟练的使用函数库。
实验结果
四、实验二
采用中点圆算法在屏幕中画一个圆。
算法:
MidPointCircl算法画出1/8个圆
利用圆的八方对称性,添加其他7块的坐标值到数组中
把数组中的点绘出
实验结果:
五、代码
实验一
#include<windows.h>
#include<glut.h>
void
myinit()
{
glClearColor(0.0,0.0,0.0,0.0);
}
void
ChangeSize(GLsizei w,GLsizei h)
{
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if(w<=h)
glOrtho(-20.0,20.0,-20.0*(GLfloat)h/(GLfloat)w,20.0*(GLfloat)h/(GLfloat)w,-50.0,50.0);
else
glOrtho(-20.0*(GLfloat)h/(GLfloat)w,20.0*(GLfloat)h/(GLfloat)w,-20.0,20.0,-50.0,50.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void
DrawMyObjects()
{
//画点
glBegin(GL_POINTS);
glColor3f(1.0,0.0,0.0);
glVertex2f(-10.0,10.0);
glColor3f(0.0,1.0,0.0);
glVertex2f(10.0,10.0);
glColor3f(0.0,0.0,1.0);
glVertex2f(-10.0,-10.0);
glEnd();
//画线段
glBegin(GL_LINES);
glColor3f(1.0,1.0,1.0);
glVertex2f(-11.0,11.0);
glVertex2f(-6.0,2.0);
glColor3f(1.0,1.5,0.0);
glVertex2f(-9.0,10.0);
glVertex2f(-8.0,3.0);
glEnd(