这篇文章是来讲述如何在OpenGL中选择图形的,我拿上次写的三角形来实现。
在OpenGL中有专门负责旋转的函数glRotatef(Angle, X Vector, Y Vector, Z Vector);此函数负责让对象绕着某个轴旋转。
Angle通常是某个变量代表对象转过的角度;
X Vector,Y Vector, Z Vector三个参数共同决定旋转轴的方向,(1, 0, 0)表示描述的矢量经过X轴的1个单位处并且方向向右;
当然你还得添加鼠标按钮的函数来实现逐步变化:
void GLWidget::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton) //按左键旋转
{
mousehandle();
}
}
void GLWidget::mousehandle()
{
rTri += 5;
if (rTri > 360)
{
rTri -= 360;
}
this->updateGL();
}
整个cpp文件如下:
#include "glwidget.h"
#include "ui_glwidget.h"
#include <QtGui>
#include <QtCore>
GLWidget::GLWidget(QGLWidget *parent) :
QGLWidget(parent),
ui(new Ui::GLWidget)
{
ui->setupUi(this);
rTri = 0.0;
fullscreen = false;
}
void GLWidget::getScreenInfo() //得到当

本文探讨了在OpenGL环境中如何使用glRotatef函数来旋转图形,以一个三角形为例进行说明。该函数通过指定的角度和旋转轴参数,实现对象的旋转效果。同时提到了结合鼠标事件来动态调整旋转角度的实现方式。
最低0.47元/天 解锁文章
3022

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



