我有一个盒子,我想使用Qpainter绘制。结果不是我所期望的。 我有以下几点:
PyQt5.QtGui.QVector4D(-50.0, -50.0, -50.0, 1.0),
PyQt5.QtGui.QVector4D(50.0, -50.0, -50.0, 1.0),
PyQt5.QtGui.QVector4D(50.0, 50.0, -50.0, 1.0),
PyQt5.QtGui.QVector4D(-50.0, 50.0, -50.0, 1.0),
PyQt5.QtGui.QVector4D(-50.0, -50.0, 50.0, 1.0),
PyQt5.QtGui.QVector4D(50.0, -50.0, 50.0, 1.0),
PyQt5.QtGui.QVector4D(50.0, 50.0, 50.0, 1.0),
PyQt5.QtGui.QVector4D(-50.0, 50.0, 50.0, 1.0)
它定义了一个立方体。 我设置投影,并按如下方式查看矩阵:
xc, yc, zc = 0, 0, 0
Diam = 173*2*1.5
znear = .1
zfar = znear + Diam
我把marices设置成这样:
mV.lookAt(QVector3D(2*Diam, 0, 0), QVector3D(xc, yc, zc), QVector3D(0, 1, 0))
mP.perspective(60, 4/3.0, znear, zfar)
mP.viewport(0, 0, 800, 600)
然后是modelview矩阵
变成
mvp = mP*mV*mM
;其中mM是单位矩阵
我使用齐次坐标绘制直线:
qp.drawLine(int(p.x()/p.w()), int((p.y()/p.w())), int(q.x()/q.w()), int(q.y()/q.w()))
其中p = mvp*P
、q = mvp*Q
、p和Q是正确连接的立方体顶点。
我希望看到一个立方体,投影到我的窗口中心。然而,结果附呈。 我知道我做错了什么,但我一直无法找出问题所在。请帮忙
目前没有回答
相关问题 更多 >
编程相关推荐