OpenCascade Primitives BRep - Sphere
为什么80%的码农都做不了架构师?>>>
OpenCascade Primitives BRep - Sphere
eryar@163.com
Abstract. BRep is short for Boundary Representation. Boundary Representation gives a complete description of an object by associating topological and geometric information for solid modeling. In this case, objects are described by their boundaries. There are two types of information in BRep: Topological information and Geometric information. This paper is concerned with the sphere BRep in OpenCascade, and also show how to use Tcl script to dump sphere BRep info.
Key words. OpenCascade, BRep, Boundary Representation, Sphere, Singularity
1. Introduction
球体的几何数据主要是一个球面,在OpenCascade中球面的参数方程如下所示:
在《Parametric Curves and Surfaces》一文中,对参数曲线曲面进行了介绍,并重点介绍了球面的奇异性(Singularity)。本文通过对Sphere的BRep表示进行分析,来理解边界表示法中对参数曲面上奇点(Singular Point)的处理及BRep_TEdge中包含的多种形式的曲线。
Figure 1.1 Sphere Generated by Tcl in Draw Test Harness
2. Dump Sphere BRep Info by Tcl
在OpenCascade中使用Tcl脚本来测试一些想法真是很方便,如这里要输出球的边界表示的数据,只需要三条命令就可以完成。以下Tcl命令生成了一个圆心在原点(0,0,0),半径为10的球:
Figure 2.1 Dump Sphere BRep Info in Draw Test Harness
Figure 2.2 Display the Sphere in Draw
与《OpenCascade Primitives BRep - Box》一样,根据这些信息,从Vertex开始编号,来分析球的BRep表示。
3. Sphere BRep in OpenCascade
球的拓朴顶点Vertex有两个,分别是#7(0, 0, -10)和#9(0, 0, 10),如下图所示:
Figure 3.1 Vertex of Sphere BRep in OpenCascade
Figure 3.2 Curve Representation of BRep_TEdge
边Edge有三种表现形式,分别是#5,#6和#8,其中#5和#8是退化边(Degenerated Edge),即球面参数方程的奇点(Singular Point),在前文《PCurve - Curve on Surface》中分析曲面上曲线PCurve时已经讨论过,此处略过。本文只对#6边中的几何信息进行详细分析。
Figure 3.3 Edge #6 of Sphere BRep in OpenCascade
从拓朴边中可以看出#6Edge中的曲线有三个:一是三维空间曲线(Curve 3D)1;另外两个是曲面上曲线。其中三维空间曲线1的参数方程及其参数如下图所示:
Figure 3.4 Parameters and Parametric equation of the Curve 3D
由上图可知,三维空间曲线1是一个圆,圆心位于坐标原点(0,0,0),半径为10,且位于XOZ平面上,对应范围的起点和终点分别为:
同理根据曲面上曲线的PCurve的定义,可以计算出曲面1上的曲线2和3,它们表示的曲线与三维空间曲线1相同,即边#6是衔接边(Seam Edge),对应OpenCascade中即是BRep_CurveOnClosedSurface。综上所述,可以画出球上的Edge,如下图所示:
Figure 3.5 Edges of the Sphere
Figure 3.6 Wire of the Sphere
由上图可知在形成Wire时,Edge6使用了两次且方向相反,退化边(Degenerated Edge)的方向可忽略,因为其已经退化为一点。根据Wire的信息画出球的Wire如下图所示:
Figure 3.7 Wire of the Sphere(Wire in Yellow color)
由Wire#4组成了Face#3,Face#3中的几何曲面为1。曲面1是一个参数的球面。由Face#3组成Shell #2,由Shell#2组成了Solid#1。球的边界表示的分析就结束了。
4. Conclusion
本文通过使用Tcl脚本在Draw Test Harness中生成球的BRep边界表示信息,分析了球在OpenCascade中的组织方式。对BRep中边包含的多种几何曲线形式进行了解。
5. References
1. OpenCascade, Test Harness User’s Guide 2013
2. OpenCascade, BRep Format Description White Paper, 2013
3. John K. Ousterhout, Tcl and Tk Toolkit, 1993
PDF Version: OpenCascade Primitives BRep-Sphere
转载于:https://my.oschina.net/eryar/blog/347831
OpenCascade Primitives BRep - Sphere相关推荐
- OpenCascade Primitives BRep - Box
为什么80%的码农都做不了架构师?>>> OpenCascade Primitives BRep - Box eryar@163.com Abstract. BRep is s ...
- OpenCascade Primitives BRep-Cylinder
为什么80%的码农都做不了架构师?>>> OpenCascade Primitives BRep-Cylinder eryar@163.com Abstract. BRep i ...
- OpenCascade学习一:OpenCascade的重要类解释和OpenCascade的Brep方式表示几何解释
OpenCascade的重要API和类解释 链接:https://blog.csdn.net/qq_22642239/article/details/88710106 OpenCascade的边界表示 ...
- OpenCASCADE Make Primitives-Sphere
为什么80%的码农都做不了架构师?>>> OpenCASCADE Make Primitives-Sphere eryar@163.com Abstract. The sphe ...
- OpenCASCADE BRep vs. OpenNURBS BRep
为什么80%的码农都做不了架构师?>>> OpenCASCADE BRep vs. OpenNURBS BRep eryar@163.com Abstract. BRep sh ...
- Geometry Surface of OpenCascade BRep
Geometry Surface of OpenCascade BRep eryar@163.com 摘要Abstract:几何曲面是参数表示的曲面 ,在边界表示中其数据存在于BRep_TFace中, ...
- Locations Section of OpenCascade BRep
Locations Section of OpenCascade BRep eryar@163.com 摘要Abstract:本文结合OpenCascade的BRep格式描述文档和源程序,对BRep格 ...
- OpenCascade BRep Format Description
为什么80%的码农都做不了架构师?>>> OpenCascade BRep Format Description eryar@163.com 摘要Abstract:本文结合Op ...
- Geometry Curve of OpenCascade BRep
为什么80%的码农都做不了架构师?>>> Geometry Curve of OpenCascade BRep eryar@163.com 摘要Abstract:几何曲线是参数 ...
最新文章
- runtime error: invalid memory address or nil pointer dereference
- 八十八、Webpack打包工具
- 台式电脑计算机硬盘清理,台式电脑重装系统win7清理磁盘碎片的方法
- 同步装饰器来替换线程安全类
- Unity-游戏小地图实战(前述知识点回顾与运用)
- iOS 使用 Core Plot 绘制统计图表入门
- 剑指offer python实现_剑指offer系列python实现 日更(三)
- php 上传excel到mysql_PHP上传Excel文件导入数据到MySQL数据库示例
- rocket mq 监听端口_如何使用Jmeter实现MQ数据的发送和接收?性能测试实战篇
- 选择数据分析软件时要注意什么
- !!! SQL 数据库开发基础 传智!
- 2M口,电口,光口的区别
- 毕业设计第一周的计划
- P2P概览与原理解析
- matlab 命令打开ANSYS,matlab如何调用ansys
- 无线通信设备安装工程概预算编制_珠海制冷设备安装工程
- 麻省理工学院公开课:计算机科学及编程导论 课堂笔记
- Therefore, hence, so, then, thus
- 合肥市直计算机知识pdf,事业单位计算机专业知识整理(全)-20210419115129.pdf-原创力文档...
- MDIO/MDC接口