利用OpenGL在窗口上绘制出三维坐标

/*今天刚开通CSDN博客,以此记录我的编程学习之旅*/

按时间顺序来讲,这是计算机图形学课程的第一个编程实践,大概是在一年前吧。这个程序是在nehe OpenGL框架下完成的,现在回头来看,这是一个很基础、很简单的小程序,但可以说是我编写(改编)的第一个图形窗口程序。

下面是程序绘制三维坐标的主体代码:

int DrawGLScene(GLvoid) // 这个自定义函数用于完成窗口场景绘制
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // 清屏及深度缓存
glLoadIdentity(); // 重置模型观察矩阵
glTranslatef(-1.0f,-1.0f,-6.0f); //平移绘制起点(向左平移1个单位,向下平移1个单位,朝垂直屏幕向内平移6个单位)
glColor3f(1.0f,0.0f,0.0f); // 设置画笔颜色(RGB:此处为红色)

// 绘制x、y、z轴线段
glBegin(GL_LINES);
glVertex3f( 0.0f, 0.0f, 0.0f ); //绘制线段的起点,这里为相对坐标,即相将glTranslatef移动后的点作为原点
glVertex3f( 3.0f,0.0f, 0.0f  ); //确定第一条线段的终点(3,0,0)
glVertex3f( 0.0f,0.0f, 0.0f ); //确定第二条线段的起点(0,0,0)
glVertex3f( 0.0f,3.0f,

  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要使用OpenGL绘制三维坐标系,需要进行以下步骤: 1. 首先,需要设置OpenGL的视口和投影矩阵,以确保正确的视角和透视效果。这可以通过glViewport和gluPerspective函数来实现。 2. 接下来,需要定义三个向量表示坐标系的三个轴,通常是X轴,Y轴和Z轴。 3. 然后,可以使用OpenGL的绘图函数(如glBegin和glEnd)来绘制每个轴线。对于每个轴线,需要先设置颜色,然后使用glVertex3f指定起点和终点。 以下是一个基本的OpenGL代码示例,用于绘制一个简单的三维坐标系: ``` void drawAxes() { // 设置视口和投影矩阵 glViewport(0, 0, windowWidth, windowHeight); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0, (double)windowWidth / (double)windowHeight, 0.1, 100.0); // 定义坐标系三个轴的向量 vec3 xAxis = vec3(1, 0, 0); vec3 yAxis = vec3(0, 1, 0); vec3 zAxis = vec3(0, 0, 1); // 绘制X轴 glColor3f(1.0, 0.0, 0.0); glBegin(GL_LINES); glVertex3f(0.0, 0.0, 0.0); glVertex3f(1.0, 0.0, 0.0); glEnd(); // 绘制Y轴 glColor3f(0.0, 1.0, 0.0); glBegin(GL_LINES); glVertex3f(0.0, 0.0, 0.0); glVertex3f(0.0, 1.0, 0.0); glEnd(); // 绘制Z轴 glColor3f(0.0, 0.0, 1.0); glBegin(GL_LINES); glVertex3f(0.0, 0.0, 0.0); glVertex3f(0.0, 0.0, 1.0); glEnd(); } ``` 这段代码包含一个名为“drawAxes”的函数,该函数在OpenGL窗口绘制了一个三维坐标系。注意,这只是一个基本示例,您可以根据需要自定义颜色,坐标轴的长度和粗细等参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值