这篇文章是来讲述如何在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::