八叉树-Octree
文章平均质量分 92
Augusdi
让时间验证一切,让时间验证我。感谢大家的无私帮助,我愿以同样的态度回馈我热情的朋友,用我们的热忱开创美好未来!
展开
-
空间八叉树剖分
空间八叉树剖分转载自:http://hi.baidu.com/j_factory/blog/item/8bc1ca182d7f45f6af5133c3.html 空间八叉树算法是一个空间非均匀网格剖分算法,该算法将含有整个场景的空间立方体按三个方向分割成八个子立方体网格,组织成一棵八叉树。若某 一子立方体网格中所含景物面片数大于给定的阈值,则为该子立方体作进一步的剖分。上述剖分过程直至八叉树每一转载 2014-06-30 16:49:39 · 8606 阅读 · 2 评论 -
八叉树 判断长立方体是否在物体内
八叉树判断子长方体的8个点是否在物体内,可判断这8个点是不是在整个物体所有面的内侧。注:(1)但如果物体不是凸壳呢,而是凹体呢???可能某个点在一个面外,但它仍在物体内。??????????(2)每个子长方体里的Object* oo;对象都是该物体的完整模型,该物体的面片并不会被分解。 参考源代码如下:(octtree.h、octtree.cpp、main.cpp)下载地址:http://down转载 2014-06-30 16:44:02 · 2516 阅读 · 0 评论 -
八叉树
(一)基本原理 用八叉树来表示三维形体,并研究在这种表示下的各种操作及应用是在进入80年代后才比较全面地开展起来的。这种方法,既可以看成是四叉树方法在三维空间的推广,也可以认为是用三维体素阵列表示形体方法的一种改进。 八叉树的逻辑结构如下: 假设要表示的形体V可以放在一个充分大的正方体C内,C的边长为2 n,形体V C,它的八叉树可以用以下的递归方法来定义: 八叉树的每个节转载 2014-07-01 10:37:14 · 5293 阅读 · 0 评论 -
基于八叉树的网格生成算法剖析
前言 对于网格生成这个主题,之前的网格生成系列的三篇博客文章分别介绍了MC算法,SMC算法以及Cuberille算法三种方法。同时还有一篇介绍网格生成与种子点生长算法高效结合的算法。本篇文章继续这一主题,介绍采用八叉树结构来进行网格生成的算法,这个算法并不是独立于之前介绍的算法,而是基于了SMC算法,同时也采纳了一些MC算法范畴内的思想。换句话说,就是使用八叉树对上述网格生成进行改良,从而进一步转载 2014-07-01 09:19:28 · 21079 阅读 · 3 评论 -
四叉树和八叉树概述
四叉树和八叉树概述传统计算机图形应用--特别是的应用的需要一个实时,交互的方法来现实--通过处理一个发送到显卡的数据的最有效的图形数据子集的方法来决定图形数据的显示,而不是传送全部的数据,四叉树,八叉树,Bsp树,背面剔出,pvs集合很多其他方法都是针对这个目的而提出的。流行的计算机图形卡近些年在处理能力和处理方法上程指数增长,当前的状态揭示出很多时候应该更好的和快速的找到一个好的数据集把它们送到转载 2014-07-01 10:18:41 · 3748 阅读 · 0 评论 -
八叉树-Octree
八叉树维基释义:八叉树(Octree)是一种用于描述三维空间的树状数据结构。八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,这八个子节点所表示的体积元素加在一起就等于父节点的体积。一般中心点作为节点的分叉中心。百度百科释义:八叉树(Octree)的定义是:若不为空树的话,树中任一节点的子节点恰好只会有八个,或零个,也就是子节点不会有0与8以外的数目。那么,这要用来做什么?想象一个立转载 2014-06-30 16:44:04 · 2569 阅读 · 0 评论 -
Octree
Octree(by J. Eder 9225396) What is an Octree? Using an Octree Types of Octrees What does it represent? How is it managed? How to structure Octree-structures Pointerless full Octree Traditio转载 2014-07-01 10:36:00 · 3658 阅读 · 0 评论 -
基于八叉树快速分类的Shear-Warp交互式体绘制算法
基于八叉树快速分类的Shear-Warp交互式体绘制算法 三维空间规则数据场的可视化算法大致可分为两类,一类是面绘制,即在原始三维数据中抽取一个或多个等 值面。面绘制适用于有完整、光滑外表面的体数据的三维重建,但不能反映整个数据场的全貌及细节。移动立方体(Marching Cuber-MC)算法是面绘制算法的典型代表。 另一类是体绘制,它直接由三维数据场产生屏幕二维图象。这转载 2014-07-01 10:36:31 · 2382 阅读 · 0 评论 -
用于将真彩色图像降级为索引图像的八叉树算法
用于将真彩色图像降级为索引图像的八叉树算法 本文介绍的内容,是用八叉树法降级一个真彩色图像(BPP=16以上)。这也是某公司在今年校园招聘中的笔试中的最后一道题目。我参考了 Jeff Prosise 所写的这篇文章(见参考资料),然后修改了他提供的范例的源码,使能够更好的演示该算法,同时我也添加了绘制八叉树的代码,可以直观的看到八叉树的形态。 索引图像的尺寸比真彩色图像可以大幅降低,保转载 2014-07-01 10:42:21 · 3618 阅读 · 1 评论 -
八叉树Octree原理
八叉树Octree原理载自:http://bbs.iieeg.com/viewthread.php?tid=1222一、对Octree的描述 Octree的定义是:若不为空树的话,树中任一节点的子节点恰好只会有八个,或零个,也就是子节点不会有0与8以外的数目。那么,这要用来做什么?想象一个立方体,我们最少可以切成多少个相同等分的小立方体?答案就是8个。再想象我们有一个房间,房间里某个角落藏着一转载 2014-07-01 10:29:00 · 3618 阅读 · 0 评论 -
八叉树场景管理
八叉树场景管理上面是我绘制的一张图。 关于八叉树场景管理器主要需要关注两个类,其一是松散八叉树的数据结构Ogre::Octree,其二是八叉树场景管理器Ogre::OctreeSceneManager。 下面摘录图片中的文字:松散八叉树的数据结构。属性:其中mBox为其包围盒,mHalfSize定义为包围盒大小的一半。mChildren是一个大小为8的静态数组,里面保存转载 2014-07-01 10:20:38 · 3935 阅读 · 0 评论 -
八叉树及K-D树的应用和实现
1. 八叉树、k-d树的原理2. 八叉树、k-d树的应用、优缺点3. 八叉树、k-d树的实现八叉树和k-d树都经常用来处理三维空间数据,k-d树的使用范围更宽泛些,适用于k维空间的数据,在Sift算法中,k-d树被用于在k维的空间内搜索邻近特征点。1. 八叉树、k-d树的原理wiki或百科上面都有详细的介绍。http://en.wikipedia.org/wiki/K-d_treehttp://e转载 2014-06-30 20:46:12 · 5963 阅读 · 0 评论 -
一种适合于MC与SMC算法的哈希表设计
MC算法与SMC算法中的三角片焊接问题 在之前的关于MC算法与SMC算法的博文中介绍了算法的实现,文章主要围绕算法的核心问题,即三角片如何产生的问题进行了详细的描述。但由于实际应用中需要的等值面Mesh数据不是三角片的简单并集,所以需要进行所谓的顶点焊接(Vertex Welding)来生成正确的拓扑结构以反应三角片之间的共用顶点关系。顶点焊接,简单的说就是把三角片中重合的顶点算作一个顶点加入顶转载 2014-07-01 10:07:58 · 3583 阅读 · 1 评论 -
四叉树与八叉树
四叉树与八叉树前序四叉树或四元树也被称为Q树(Q-Tree)。四叉树广泛应用于图像处理、空间数据索引、2D中的快速碰撞检测、存储稀疏数据等,而八叉树(Octree)主要应用于3D图形处理。对游戏编程,这会很有用。本文着重于对四叉树与八叉树的原理与结构的介绍,帮助您在脑海中建立四叉树与八叉树的基本思想。本文并不对这两种数据结构同时进行详解,而只对四叉树进行详解,因为八叉树的建立可由四叉树的建立推得。转载 2014-07-01 10:17:38 · 2300 阅读 · 0 评论 -
3D游戏中的场景管理(八叉树和BSP树简介)
如何很好地表示出包含着成千上万物体的复杂场景,是设计系统必须要考虑的。这也是场景管理需要做得,给场景提供良好的层次关系,以便更好地进行筛选(Culling)和隐藏面消除(Hidden surface removal)。场景管理涉及到可视性处理(Visibility processing)和碰撞检测(Collision detection),系统需要判断场景的哪些部分在视见约束体之内,另外如果两个物转载 2014-07-01 10:22:45 · 9525 阅读 · 0 评论 -
三维空间数据模型及结构
6 三维空间数据模型及结构近几年,很多人都在致力于三维数据模型的研究,虽然有三维GIS系统问世,但其功能远远不能满足人们分析问题的需要。原因主要是三维GIS理论不成熟,其拓扑关系模型一直没有解决,另外三维基础上的数据量很大,很难建立一个有效的,易于编程实现的三维数据模型。尽管如此,本节仍将介绍当前在三维GIS上所采用的几种数据模型。3D空间构模方法研究是目前3D GIS领域以及3D GMS领域研究转载 2014-06-30 20:55:01 · 5643 阅读 · 0 评论 -
各种树
二叉树二叉查找树(BST) 笛卡尔树 MVP树 Top tree T树 自平衡二叉查找树AA树 AVL树 左倾红黑树 红黑树 替罪羊树 伸展树 树堆 节点大小平衡树 B树B+树 B*树 Bx树 UB树 2-3树 2-3-4树 (a,b)-树 Dancing tree H树 Trie后缀树 基数树 三叉查找树 X-快速前缀树 Y-快速前缀树 二叉空间分割(BSP)树四叉树 八叉树 k-d树 隐式k-转载 2014-07-01 10:39:26 · 3246 阅读 · 3 评论 -
Ogre的八叉树场景管理器OctreeSceneManager
上面是我绘制的一张图。 关于八叉树场景管理器主要需要关注两个类,其一是松散八叉树的数据结构Ogre::Octree,其二是八叉树场景管理器Ogre::OctreeSceneManager。 下面摘录图片中的文字:松散八叉树的数据结构。属性:其中mBox为其包围盒,mHalfSize定义为包围盒大小的一半。mChildren是一个大小为8的静态数组,里面保存了8个Octr转载 2014-07-01 10:22:08 · 3973 阅读 · 0 评论 -
八叉树入门
八叉树入门出 处: 中国游戏开发者[ 2003-06-08 ]作 者:Jaap Suter 目 录 1 引言 2 八叉树的结构 3 创建八叉树 4 八叉树的用途 5 结论 原 文:Introduction To Octrees 译 者:Jerrywang 版 本:the first edition(Ver 1.0)1、引言(Introduction) 隐面移除是写3D引擎时候最转载 2014-06-30 17:09:31 · 4059 阅读 · 0 评论 -
Kernel数据结构移植(list和rbtree)
Kernel数据结构移植(list和rbtree) 主要移植了内核中的 list,rbtree。使得这2个数据结构在用户态程序中也能使用。同时用 cpputest 对移植后的代码进行了测试。(测试代码其实也是使用这2个数据结构的方法) 内核代码的如下文件:(内核版本 v3.2 debian 7.5源码)include/linux/list.h (删除了 hlist 相关内容)includ转载 2015-04-03 14:48:30 · 1523 阅读 · 0 评论