【发布时间】:2015-02-28 22:47:14
【问题描述】:
我不是一个非常有经验的 Qt C++ 程序员,但不幸的是我必须创建一个包含 8x8x8 点的 3D Cube。
我已经找到了 Qt 教程来创建一个简单的立方体,但是我完全不知道如何使它空心并在立方体内绘制 512 点矩阵。此外,目标是更改此矩阵中特定点的颜色。 有人知道如何进行吗?
提前谢谢你!
【问题讨论】:
我不是一个非常有经验的 Qt C++ 程序员,但不幸的是我必须创建一个包含 8x8x8 点的 3D Cube。
我已经找到了 Qt 教程来创建一个简单的立方体,但是我完全不知道如何使它空心并在立方体内绘制 512 点矩阵。此外,目标是更改此矩阵中特定点的颜色。 有人知道如何进行吗?
提前谢谢你!
【问题讨论】:
https://github.com/peteristhegreat/circles-in-a-cube
看看我整理的很棒的例子!
基本上我拿了 Grabber 的例子并做了一些修改。
http://doc.qt.io/qt-5/examples-widgets-opengl.html
http://doc.qt.digia.com/qt-quick3d-snapshot/qt3d-examples.html
http://doc.qt.digia.com/qt-5.2/qtopengl-grabber-example.html
看起来你可以把这个修改成类似的东西。
http://doc.qt.io/qt-5/qtopengl-hellogl2-example.html
正在发生的事情的核心特征是保留有关各个领域的信息并在需要时对其进行修改。
为了保存指向球体对象的指针,我使用了两个不同的列表。
一个是直截了当的QList,另一个是 3D 矢量。 3D QVector 允许您使用spheresInSpace[x][y][z] 访问球体指针,其中x,y,z 是0-7 之间的任何整数。
为了改变球体的颜色,我改变了反射率值。
希望对您有所帮助。
【讨论】: