這篇文章主要介紹QPainter畫一個3D正方體的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián),是成都地區(qū)的互聯(lián)網(wǎng)解決方案提供商,用心服務為企業(yè)提供網(wǎng)站建設、成都app軟件開發(fā)公司、小程序制作、系統(tǒng)按需求定制開發(fā)和微信代運營服務。經(jīng)過數(shù)十載的沉淀與積累,沉淀的是技術和服務,讓客戶少走彎路,踏實做事,誠實做人,用情服務,致力做一個負責任、受尊敬的企業(yè)。對客戶負責,就是對自己負責,對企業(yè)負責。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); };