HOOPS Shell详解

Shells

  Shell是一个多边形的集合,形成一个三维物体。如果Shell是封闭的,里面没有孔,那么Shell就把三维空间分成两部分,称为Shell的内部和外部。一个Shell由一个或多个多边形面组成。使用Shell而不是使用多个独立的多边形的好处是,Shell在数据库中占用的内存较少,渲染速度相当快,可以平滑着色,并支持更高级的渲染能力,如纹理映射。shell应该用来表示任何由多边形集合描述的二维或三维物体。例如,三维表面或实体对象的边界通常被分割成多边形(通常是三角形)的集合,因此Shell是合适的基元。Shell通常也被用来表示常见的几何对象,如立方体、球体、圆柱体等。

Shell的几何结构

  用两个数组来指定一个Shell,一个点的数组叫做点列表,另一个是点数组的索引数组,叫做面列表。一个单独的点数组的使用是为了让Shell的面可以互相共享点。例如,当定义一个立方体时,每个顶点被四个不同的面共享,所以只需要八个顶点来定义六个面。如果用单独的多边形(每个都有自己的顶点)来定义同一个立方体,那么每个多边形将需要存储四个点,在数据库中总共存储24个点。

  面列表是一个整数的数组。第一个整数是第一个面中顶点的数量,然后是每个顶点的整数,它们是点数组的索引。例如,如果面列表中包含(3 0 1 2),那么一个三角形就由点阵中的前三个点组成。面列表中的下一个条目开始另一个面,以此类推。

  每个面必须是平面的;换句话说,它的所有顶点必须位于同一个平面内。此外,一个面的边不能相互交叉。最后,Shell中的所有面

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值