十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍QPainter画一个3D正方体的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联,是成都地区的互联网解决方案提供商,用心服务为企业提供网站建设、成都app软件开发公司、小程序制作、系统按需求定制开发和微信代运营服务。经过数十载的沉淀与积累,沉淀的是技术和服务,让客户少走弯路,踏实做事,诚实做人,用情服务,致力做一个负责任、受尊敬的企业。对客户负责,就是对自己负责,对企业负责。QPainter画一个3D正的具体代码,供大家参考:
My3DBox .h
#includeusing 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); };