OCCT里的Mesh网格计算流程
Open CasCade Technology简称OCCT, 在OCCT中有2种网格转换器:
- VRML转换器
作用:将Open CASCADE Shape形状翻译成VRML 1.0文件(虚拟现实建模语言)
Open CASCADE Shape形状可以被翻译成两种表现形式:阴影或线框。阴影表示法将形状表现为由网格算法计算的三角形集合,而线框表示法将形状表现为曲线集合。 - STL转换器
作用:将Open CASCADE Shape形状翻译成STL文件。
STL(STtereoLithography)格式被广泛用于快速原型设计。
1 Mesh网格的计算流程
图(1) Mesh网格的计算流程
创建数据模型 --> 离散化边缘、2D/3D曲线(对Edge进行离散化) --> 修复离散模型 --> 预处理 --> 对Face进行离散化 --> 后处理 --> 得到网格。
1.1 创建数据模型
【Create Model Data Structure】
将源TopoDS_Shape分解为Face和Edge。为每个实体创建一个反射。
1.2 对Edge进行离散化
【Discretize Edges 3D &2D Curves】
将模型的边缘Edge离散为一组3D曲线或2D曲线,形成一个连贯的骨架,为面的网格剖分打基础。
1.3 修复离散模型
【Heal Discrete Model】
分析并修复离散模型,使其满足预处理的标准。比如,对于自相交的,可以通过引入粗略离散的边来解决;如果无法修复,则拒绝该模型。
1.4 预处理离散模型
【Preprocess Discrete Model】
对模型面Face进行迭代,检查现有三角形的一致性,若不一致,则清理相关的拓扑面和相邻的边。
1.5 对Face进行离散化
【Discretize Faces】
使用二维离散数据对特定的Face进行网格生成,将数据存储到TopoDS_Face中。
1.6 后处理离散模型
【Postprocess Discrete Model】
在面进行网格化之后,将多边形数据存储到源模型的TopoDS_Edge对象中。
OCCT里的Mesh网格计算流程相关推荐
- 直线或线段与mesh网格相交的计算
引言 在采样二指夹爪与mesh网格的抓取点时使用的点接触模型,抽象二指夹爪为一个线段,那么寻找夹爪与物体的接触点就抽象为直线与mesh网格的交点问题,而在mesh中物体表面是以空间三角形保存的,在进一 ...
- 通向架构师的道路(第二十七天)IBM网格计算与企业批处理任务架构
一.批处理 我们在一些项目中如:银行.保险.零商业门店系统中的对帐.结帐.核算.日结等操作中经常会碰到一些"批处理"作业. 这些批处理经常会涉及到一些大数据处理,同时处理一批增.删 ...
- unity中Mesh网格编程
上图是效果 一.关于mesh的意义 有了mesh网格,物体才能被渲染出来. (1)mesh中包含顶点, mesh.vertices (2)顶点对应的uv(一张图的uv左下角00,右上角11) mesh ...
- 网格计算Grid Computing
随着超级计算机的不断发展,它已经成为复杂科学计算领域的主宰.但以超级计算机为中心的计算模式存在明显的不足,而且目前正在经受挑战.超级计算机虽然是 一台处理能力强大的"巨无霸",但它 ...
- Open3D Mesh 网格
Mesh Open3D 有一个用于 3D 三角形网格的数据结构,称为TriangleMesh.下面的代码显示了如何从ply文件中读取三角形网格并打印其顶点和三角形. import open3d as ...
- Unity Mesh网格合并
Mesh网格合并通常是优化中常用的小手段,目的是为了减少drawcall,大量的drawcall会造成CPU的性能瓶颈.例如下图中船只里的钢材货物,由诸多钢材模型堆砌而成. 我们将其放在一个空场景里查 ...
- [译]为任意网格计算tangent空间的基向量
+BIT祝威+悄悄在此留下版了个权的信息说: [译]为任意网格计算tangent空间的基向量 Computing Tangent Space Basis Vectors for an Arbitrar ...
- 【Unity】Mesh网格编程(三)万能网格几何形体
用一个通用代码,实现各种锥.柱.管状体的网格创建. 非原创的同系列.虽然总觉得代码上可以再优化,但是实现的功能已经超级屌了. 真是没有不能做的,只有想不到的. 原文: Mesh网格编程(二) 万能网格 ...
- 学习笔记:unity通过Mesh网格绘制图形:三角形正方体圆柱
一,介绍 Mesh类:通过脚本创建或是获取网格的类,网格包含多个顶点和三角形数组.顶点信息包含坐标和所在面的法线. unity中3D的世界的所有图形全部都是由三角形构成的. 比如unity已经装配好的 ...
- python 克里金空间插值_Python克里金(Kriging)插值计算及可视化绘制
前面两篇推文我们分别介绍了使用Python和R进行IDW(反距离加权法) 插值的计算及结果的可视化过程,详细内容可见如下: 本期推文,我们将介绍如何使用Python进行克里金(Kriging)插值计算 ...
最新文章
- Node.js建站笔记-使用react和react-router取代Backbone
- 自动定位失败_端到端定位5G SA接入问题
- 百度安全入选中国工业互联网安全市场研究报告推荐服务商
- Java 8的新增功能(第I部分-JavaFX)
- PHP操作常见的错误
- iptables命令结构之匹配扩展
- CListCtrl 和 CImageList
- 传奇手游漏洞获取gm权限_传奇私服漏洞获取gm权限
- 爬虫实战 谷歌图片爬取 高清图片
- 计算机数字公式表白,love密码数字表白 数字表白公式
- 华为的冬天 任正非
- MT2712 USB
- 【Windows】Win 10 无法访问同一网络中Mac 电脑
- 通过身份证号码得出性别和年龄
- 抖音怎么开直播?抖音开播流程介绍
- 四旋翼飞行器室内编队飞行项目整理
- Node.js快速入门
- 巧用clang 的sanitize解决realloc,malloc,calloc失败
- 爬虫第三弹:图灵社区书籍信息爬取
- C语言项目实战:《别踩白块游戏》零基础项目,137 行源代码示例
热门文章
- 树莓派4B + USB启动(外置硬盘Or U盘)ubuntu server 镜像
- php登陆飞信,用PHP模拟登录WAP飞信实现飞信发送_PHP教程
- 今天是冰桶算法大揭秘!!
- 仿百度导航跟随效果demo效果示例(整理)
- DOS定时关机命令 windowXp
- 论文笔记:基于特征选择与增量学习的非侵入式电动自行车充电辨识方法
- Go语言:运行报错cannot load ... malformed module path “...“: missing dot in first path element解决办法
- 深度学习:行为识别综述
- Beyong Compare使用
- lighttpd服务器404页修改,教你学会Lighttpd的安装配置