這篇文章主要介紹QPainter畫一個3D正方體的方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
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); };