最难的还是理解图形流水线,今天理解了一下坐标系
三次的代码合在一起
#include<GL/glut.h>
#include<iostream>
using namespace std;
void bresenham_line(int x0, int y0, int x1, int y1);
void bresenham_circle(int r);
void bresenham_ellipse(int a, int b);
void initial()
{
glClearColor(1.0, 1.0, 1.0, 1.0);
glMatrixMode(GL_PROJECTION);
gluOrtho2D(-50, 50, -50, 50); //这个很重要关于坐标系,后面详写
//glOrtho(-10.0, 10.0, -10.0, 10.0, -1.0, 1.0);
}
void display()
{
//int x0 = 0; //直线数据
//int y0 = 0;
//int x1 = 5;
//int y1 = 8;
//int r = 20; //圆的半径
int a = 16; //椭圆长短轴
int b = 9;
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0, 0.0, 0.0);
/*glBegin(GL_LINES); //由起点终点确定的直线
glVertex2i(x0, y0);
glVertex2i(x1, y1);
glEnd();*/
glBegin(GL_LINES); //x轴
glVertex2i(-50,0);
glVertex2i(50, 0);
glEnd();
glBegin(GL_LINES); //y轴
glVertex2i(0, 50);
glVertex2i(0, -50);
glEnd();
glColor3f(1.0, 0.0, 0.0); //BH算法
glPointSize(2.0);
glBegin(GL_POINTS);
//

这篇博客主要介绍了OpenGL中的图形流水线理解,特别是坐标系的概念,以及如何使用中点BH算法绘制直线、圆。博主分享了圆的推导过程和图像,同时提到椭圆的绘制,虽然未详细推导,但参照了书本。文章最后,作者阐述了对世界坐标系的理解,并提及glOrtho()函数的作用。
最低0.47元/天 解锁文章
3382

被折叠的 条评论
为什么被折叠?



