边界表示的数据结构

转载 2016年05月30日 17:57:58

转自:

http://netclass.csu.edu.cn/NCourse/hep089/Chapter3/CG_Txt_3_039.htm

在实体造型技术的研究中,有不少边界表示的数据结构相继提出,比较著名的有半边数据结构、翼边数据结构、辐射边数据结构等。

    其中翼边数据结构是在1972年,由美国斯坦福大学Baumgart作为多面体的表示模式而被提出来的,它是基于边表示的数据结构,如图3.2.11所示。它用指针记录了每一边的两个邻面(即左外环和右外环)、两个顶点、两侧各自相邻的两个邻边(即左上边、左下边、右上边和右下边),用这一数据结构表示多面体模型是完备的,但它不能表示带有精确曲面边界的实体。

图3.2.10 翼边数据结构

    为了表示非正则形体,1986年,Weiler提出了辐射边(Radial Edge)数据结构,如图3.2.12所示。辐射边结构的形体模型由几何信息(Geometry)和拓扑信息(Topology)两部分组成。几何信息有面(face)、环(loop)、边(edge)和点(vertex),拓扑信息有模型(model)、

    区域(region)、外壳(shell)、面引用(face use)、环引用(loop use)、边引用(edge use)和点引用(vertex use)。这里点是三维空间的一个位置,边可以是直线边或曲线边,边的端点可以重合。环是由首尾相接的一些边组成,而且最后一条边的终点与第一条边的起点重合;环也可以是一个孤立点。外壳是一些点、边、环、面的集合;外壳所含的面集有可能围成封闭的三维区域,从而构成一个实体;外壳还可以表示任意的一张曲面或若干个曲面构成的面组;外壳还可以是一条边或一个孤立点。外壳中的环和边有时被称为“线框环”和“线框边”,这是因为它们可以用于表示形体的线框图。区域由一组外壳组成,而模型由区域组成。图3.2.11是用辐射边数据结构表示的一个形体模型,注意其中实体、面、线是用统一的数据结构表示的。

图3.2.11 辐射边数据结构   图3.2.12 一个用辐射边结构表示的非正则形体模型

    清华大学国家CAD工程中心开发的几何造型系统GEMS5.0中,采用的数据结构如图3.2.14所示。

图3.2.13 GEMS5.0的数据结构

    该数据结构基于线框、表面、实体和特征统一表示,且具有以下特点:

  1. 采用自顶向下的设计思想。在形体的表示上,遵循了从大到小,分解表示的原则;

  2. 支持非流形形体的表示;

  3. 实体拓扑数据与几何数据双链表连接,存放紧凑;

  4. 能够支持特征造型。


相关文章推荐

半边数据结构(The_Half-Edge_Data_Structure)

翻译文章来自:http://www.flipcode.com/archives/The_Half-Edge_Data_Structure.shtml 表示多边形网格(polygon mesh)的一个常...

基于HalfEdge模型加面算法分析(1)

声明:除了第一张图来自互联网,其他的图片都是使用VISIO和ISKITCH制作 一  先简单介绍一些HalfEdge数据结构       半边结构由三个对象组成:顶点、半边、面,每一个对...

三角网格数据结构

简介   三角网格是多边形网格的一种,多边形网格又被称为“Mesh”,是计算机图形学中用于为各种不规则物体建立模型的一种数据结构。现实世界中的物体表面直观上看都是由曲面构成的;而在计算机世界中,...

数据结构内存边界对齐的三条原则 - jcwKyl的专栏 - CSDN博客

以前看过这个问题并写程序测试,详见http: //blog.csdn.net/jcwKyl/archive/2008/04/21/2311112.aspx#1290568。多谢YGone网友 发现了其...

看数据结构写代码(49)边界标识法

浅谈 内存:内存 两大问题:1. 如何 分配 内存 ? 2. 如何 回收 释放 的 内存 系统 从 可利用 空间表中  寻找 合适 大小的 内存 分配给用户,并 将 释放的 内存 重新 插入 可利用空...

线性表的链式表示和实现(数据结构)

#include #include #define ERROR 0 #define OVERFLOW -2 #define OK 1 typedef int ElemType; typedef int...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)