• 几何建模Brep边界表达法


    Brep表达

    几何建模技术首先要解决的是几何形体在计算机内部的表达。从线框模型,到表面模型,再到实体模型,CAD系统的表达能力越来越丰富复杂。早期的线框模型和表面模型表达简单,但是其保存的三维形体信息都不完整。实体模型能够完整的,无歧义的表示三维形体。

    在实体模型的表示中,出现了许多方法,基本上可以分为空间分解表示(单元枚举、八叉树分解、单元分解等)、构造表示(CSG)和边界表示(BREP)三大类。构造表示是按照生成过程来定义形体的方法,构造表示通常有扫描表示、构造实体几何表示和特征表示三种。

    边界表示(Boundary Representation)也称为BRep表示,它是几何造型中最成熟、无二义的表示法。实体的边界通常是由面的并集来表示,而每个面又由它所在的曲面加上其边界来表示,面的边界是边的并集,而边又是由点来表示的。

    几何与拓扑数据结构

    CATIA几何与拓扑

    CATIA中最基本的拓扑结构是拓扑单元(cell)

    Space Dimension

    Cell Type

    Associated geometry

    0

    Vertex

    Point

    1

    Edge

    Curve

    2

    Face

    Surface

    3

    Volume

    3D Space

    CATIA中由Cell组成的拓扑域(domain)

    A ...

    is a set of ...

    bounding ...

    loop

    edges connected by vertices

    a face

    vertex in face

    one vertex

    a face

    lump

    volumes connected by faces

    the 3D space

    shell

    faces connected by edges

    the 3D space or a volume

    wire

    edges connected by vertices

    the 3D Space

    vertex in volume

    one vertex

    the 3D Space or a volume

    CATIA Body是最高层级的拓扑。

    Asic内核中的几何与拓扑

    不同的几何内核中,拓扑和几何的数据结构大同小异,一个几何造型由几何数据和拓扑数据表达,几何即数学上的点,线,面精确的三维坐标表达,拓扑表达更多的是表达这些基本元素之间的连接关系和边界界定,比如,一条线,由两个点连接而成。几何和拓扑都是相互关联存在的,几何可以是有边界或者无边界的,拓扑描述就是去把几何的边界给描述出来。理论上几何其实可以完整表达造型,还需要拓扑一方面表达更简单,一方面拓扑记录了连接关系,更容易索引。

    • 拓扑与几何数据相互关联,相辅相成

    • 几何侧重于几何形状的数学描述

    • 拓扑侧重于形状的边界描述

    这种边界表示有一个很大的好处就是可以通过曲面裁剪,表达复杂几何形体,还能共享几何数据。用裁剪曲面表示能让ZW3D保持基础曲面一致的情况下提供各种形状的曲面供造型或显示使用。

    进行布尔操作后,不需要改变曲面的几何形状,只要给面增加裁剪边界即可。

    Brep表达实例

    球体

    球是最简单的基本体之一,但是球的拓扑结构却是较难理解的。这是因为球面是由一个完整的封闭的曲面构成,BRep表达是描述实体的边界,而对于球而言,我们似乎找不到他的边界在哪儿。因而我们不得不假想球面有一条无限小的缝,沿着这个缝把球剖开,这个球面就有边界了。这条缝,叫做球的缝合边,这条缝合边可以想象为一个无线窄的环退化而来。

    球的拓扑组成如下:

    • 两个顶点,V1,V2
    • 三条边,一条边E1,是衔接边或者缝合边(Seam Edge),另外两条边E2和E3为退化边(边的两个端点重合,即边退化为点),注意,两个顶点在三维空间是重合的,但在参数空间是不重合的。
    • 一个面Face,Face的几何为球面
    • Face对应一条loop,由边E1和退化边E2,E3对应的有向边围成,其中E1使用了两次且方向相反。
    • 由Face组成Shell ,由Shell组成了Solid
    圆柱

    • 圆柱有两个顶点Vertex,V1,V2
    • 圆柱共有三条Edge,E1,E2,E3,其中E1为衔接边(Seam Edge)
    • 圆柱有三个面,分别为圆柱底部的圆,圆柱顶部的圆,中间的柱面。
    • 三个面对应三个Loop环,三个面Face组成一个Shell,Shell组成了一个Solid。
  • 相关阅读:
    STM32 IIC 实验
    TCP特性的滑动窗口,流量控制
    MySQL进阶(数据库引擎)——MyISAM和InnoDB引擎的区别
    [双重 for 循环]打印一个倒三角形
    深入理解Go语言中的sync.Cond
    如何避免旧请求的数据覆盖掉最新请求
    MySQL 入门教程
    慢生活,慢光阴
    MySQL数据库期末考试试题及参考答案(04)
    SQL 注入复习总结
  • 原文地址:https://blog.csdn.net/leizhengshenglzs/article/details/136726957