3D模型浏览器的实现思路

前段时间正好浏览了数据结构中关于图的部分,突然就意识到一个问题,3D模型就是用无向图来存储的。仔细想一想是不是这样呢? 一个3D模型去掉材质之后剩下的部分就是点以及点和点之间的连线了,点我们用三维坐标表示即可,假设一个模型有6个点构成,那么我们就存储这N个点的坐标,p1(x1,y1,z1),p2(x2,y2,z2),... 一直到p6(xn,yn,zn)。好了现在三维空间中已经有了6个点了,但是如果没有将这些点连接起来就不会形成模型了,那怎么表示某个点与某个点之间是连接的呢?用无向图即可。

无向图是个什么意思呢?假设空间中有6个点,分别为p1到p6,如果点p1和点p2之间有连线则用1表示,如果没有连线则用0表示,所以模型之间点的关系就可以用一个表格来表示,表格是用数组来存储的。

根据上面这个表就可以画出一个模型了,想象一下p1~p6是三维空间中的点。

所以,如果想开发一个很简单的建模软件,只需要保存点的坐标和坐标之间的关系即可,导出这些数据。如果想开发一个很简单的模型浏览软件,只需要读取这些数据即可。

原文地址:https://www.cnblogs.com/yfish/p/7150082.html