郴州动画数学课件之场景图的三角面片生成BSP树

郴州动画数学课件之场景图的三角面片生成BSP树制作
这样,对于三维空间中任意n个物体组成的场景S,对应的BSP树可以定义为一棵具有如下性质的二 叉树T: 树T的叶子节点是物体或被分割面H切开的物体碎片。
树T的中间节点是分割平面H:,左子树对应H,一空间,右子树对应H,+空间。即左于树空间中的 物体S满足:aJ+~+cz十d<0。右子树空间中的物体S满足:+,.1.十枷十,《叶d>0。
图3.5(a)表示一个场景,图3.5(b)是对应的BSP表示树。场景中包含三个物体..B,l’和D与2个 分割面Pl和尸:。尸,将物体AB分成A和B场景中包含t个物体Ali,l,和I,'j两个分割面尸I和尸:。 C,D-起处于BSP树的叶子中,而BSP两部分,树的巾间竹点就是分割面P1,和尸:。它们与分割后物体 在树中的位置指示了物体在场景巾所处的1蔓域。 第3章 角色*33D —/、\《 尸罗 ≤、+叉\/X (b)图3.5 场景及其BSP树表示3.3.4 构造BSP树 虽然在建立BSP树的过程要尽量选择优化的分割面,使得最终生成的BSP树的规模较小,但划分时 分割面的选取仍然具有很大的自由度和任意性。实际中常用的两种分割面的选取方式是:
(1)选择与某个轴垂直的平面作为分割面。
(2)直接使用场景图中物体的三角面片所在的平面作为分割面。 由于使用与轴垂直的平面作为分割面可能会引入更多的分割面,所以应当直接使用场景中物体的 三角面片所在的平面作为BSP树的分割平面。 由三维场景中物体的三角面片生成BSP树的算法如下: BSP树TalgorithmBSPConstnjct(场景图的三角面片集合S) { if(S包含1个三角面片) | 直接生成BSP树T,S存储在T中 return T l else(将第一个三角面片S。所在平面P。作为分割面) { T十=algorithmBSPconstruct(位于扩空间的三角面片集合) T-=algorithmBSPconstruct(位于环空间的三角面片集合) H=S, return T } }
上述算法能够根据三维场景的三角面片集合S得到对应的BSP树,但由于每次分割时,直接使用第 一个三角面片S。所在的平面尸。作为分割面,而这个平面的位置并不一定是最优的,这使得整个算法 的稳定性下降。该算法生成BSP树的效率,或者说是生成的I3SP树的 *flash动画创作与后期视频处理技术*规模,主要取决于三角面片集合的输入顺序。如果能够有一种较 好的三角面片的选取策略,则可以提高生成BSP树的效率。 转载请注明:郴州flash动画制作公司:http://www.flash520.com/city104/







案例 北京 上海 广州 深圳 天津 杭州 南京 济南 重庆 青岛 大连 宁波 厦门 成都 武汉 沈阳 西安 长春 长沙 福州 郑州 苏州 佛山 东莞 无锡 烟台 太原 合肥 南昌 南宁 昆明 温州 淄博 唐山 贵阳 海口 兰州 银川 西宁 泉州 包头 南通 大庆 徐州 潍坊 常州 绍兴 济宁 盐城 邯郸 临沂 洛阳 东营 扬州 台州 嘉兴 沧州 榆林 泰州 镇江 昆山 江阴 义乌 金华 保定 鞍山 泰安 宜昌 襄阳 中山 惠州 南阳 威海 德州 岳阳 聊城 常德 漳州 滨州 茂名 淮安 江门 芜湖 湛江 廊坊 菏泽 柳州 宝鸡 珠海 绵阳 株洲 枣庄 许昌 通辽 湖州 新乡 咸阳 松原 安阳 周口 焦作 赤峰 邢台 郴州 宿迁 赣州 桂林 肇庆 曲靖 九江 商丘 汕头 信阳 营口 揭阳 龙岩 安庆 日照 遵义 三明 长治 湘潭 德阳 南充 乐山 达州 盘锦 延安 上饶 锦州 宜春 宜宾 吕梁 抚顺 临汾 渭南 开封 莆田 荆州 黄冈 四平 承德 本溪 玉林 孝感 荆门 宁德 运城 绥化 永州 怀化 黄石 泸州 清远 邵阳 衡水 益阳 丹东 铁岭 晋城 朔州 吉安 娄底 玉溪 辽阳 南平 濮阳 晋中 资阳 衢州 内江 滁州 阜阳 十堰 大同 朝阳 六安 宿州 通化 蚌埠 韶关 丽水 自贡 阳江 毕节 拉萨 昌吉 哈密 伊宁 喀什 晋江 增城 诸暨 丹阳 玉环 常熟 崇明 余姚 奉化 海宁 浏阳 大理 丽江 普洱 保山 邵通 西昌 雅安 广安 广元 巴中 遂宁 天水 酒泉 武威 张掖 北海 百色 桐城 哈尔滨 石家庄 乌鲁木齐 呼和浩特 鄂尔多斯 张家港 连云港 平顶山 驻马店 呼伦贝尔 张家口 马鞍山 齐齐哈尔 三门峡 秦皇岛 牡丹江 都江堰 攀枝花 克拉玛依 库尔勒 阿克苏 石河子 嘉峪关 石嘴山
备案号:皖ICP备17011723号-1    郴州flash动画制作公司
返回首页   |   电话咨询   |   微信咨询