QPainter画一个3D正方体的方法-创新互联

这篇文章主要介绍QPainter画一个3D正方体的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联,是成都地区的互联网解决方案提供商,用心服务为企业提供网站建设、成都app软件开发公司、小程序制作、系统按需求定制开发和微信代运营服务。经过数十载的沉淀与积累,沉淀的是技术和服务,让客户少走弯路,踏实做事,诚实做人,用情服务,致力做一个负责任、受尊敬的企业。对客户负责,就是对自己负责,对企业负责。

QPainter画一个3D正的具体代码,供大家参考:

QPainter画一个3D正方体的方法

QPainter画一个3D正方体的方法

My3DBox .h

#include 
using namespace Eigen;

#define SQUARE_LENGTH 200//是一个边长200的正方体
#define CAMERA_DISTANCE 300//视点距离

class My3DBox : public QWidget
{
  Q_OBJECT
public:
  explicit My3DBox(QWidget *parent = 0);
protected:
  QPoint m_mousePos;
  Vector3d m_vector[8];//正方形8个点坐标

  void mouseMoveEvent(QMouseEvent *);
  void paintEvent(QPaintEvent *);

  void drawPlane(const QPoint *points,QPainter &painter);
  Matrix3d getMartix();
  QPoint ToPoint(Vector3d vector);
  void drawUp(QPoint *points,QPainter &painter);//正方体面的绘制
  void drawDown(QPoint *points,QPainter &painter);
  void drawLeft(QPoint *points,QPainter &painter);
  void drawRight(QPoint *points,QPainter &painter);
};

分享标题:QPainter画一个3D正方体的方法-创新互联
文章网址:http://pwwzsj.com/article/dghsos.html