我已经给出了使用C中的简单图形将3D空间中的对象投影到2D平面的任务。问题是将立方体放置在固定的3D空间中并且存在放置在其co的位置的相机-ordinates是x,y,z,相机正在查看原点,即0,0,0。现在我们必须将立方体顶点投影到相机平面中。
我正在进行以下步骤
步骤1:我找到平面aX + bY + cZ + d = 0的方程,该方程垂直于从摄像机位置到原点的线。
步骤2:我发现立方体的每个顶点投影到上面步骤中获得的平面。
现在我想将在步骤2中通过投影得到的顶点位置aX + bY + cZ + d = 0映射到我的屏幕平面。
感谢,
我不认为通过让z坐标等于零将导致我实际的映射。所以有任何帮助来弄清楚这一点。
答案 0 :(得分:1)
您可以通过两个简单步骤完成此操作:
这几乎是在3D游戏中完成的。如果使用立方体顶点坐标,则可以将其侧面投影到屏幕上。然后,您可以对所得到的2d形状进行实心填充或对其进行纹理映射。但为此你必须首先弄清楚哪些方面没有被其他方面遮挡(当然,除非你使用一种叫做z-buffering的技术)。但是,对于简单的线框演示,您不需要这样做,只需在投影顶点之间绘制直线。