首页 > 其他分享 >OpenCASCADE-HLR Edge

OpenCASCADE-HLR Edge

时间:2023-12-02 11:55:18浏览次数:32  
标签:消隐 HLR 算法 Edge OpenCASCADE 模型

OpenCASCADE-HLR Edge

1 Introduction

用计算机生成三维物体的真实图形,是计算机图形学研究的重要内容。真实图形在仿真模拟、几何造型、广告影视和科学计算可视化等许多领域都有着广泛应用。在用显示设备描述物体的图形时,必须把三维信息经过某种投影变换在二维的显示平面上绘制出来。从三维投影到二维的降维操作,会导致图形的二义性。要消除这类二义性,就必须在绘制时消除被遮挡的不可见的线或面,习惯上称之为消除隐藏线Hidden Line Removal和隐藏面Hidden Face Removal。

这是渲染显示上对消隐的需求,在根据三维模型自动生成工程图的工程设计软件中,对消隐的需求有所不同。

工程设计软件与机械设计软件不同,工程设计软件一次出图消隐的模型量大,对出图的算法要求主要有:

  • 主要使用消隐线算法;
  • 消隐得到的线能找到与三维模型的关系,方便标注模型信息,如模型名称、规格等;
  • 自动标注布局算法,能对标注的名称、规格等自动布局,减少手工调整;
  • 自动尺寸标注;
  • 符号化处理,如管道模型能用一条线符号化处理;

其实最后总结成一句话就是一键根据模型生成能交付的图纸。虽然现在技术上具备三维模型下车间的能力,但是目前二维图纸依然是设计交付、加工制造主要依据。工程类设计软件主要的功能就是快速建模,碰撞检测和自动图纸生成。当模型量大时,消隐速度快及自动生成的标注文字排列整齐(或满足工程习惯)成了二维图纸自动生成的核心技术,也是程序处理中的难点。

2 HLR

几何内核一般都提供HLR算法,用来根据模型投影生成二维工程图。OpenCASCADE的HLR提供了隐藏线消隐算法。

https://www.spatial.com/zh/products/cgm-hlr-hidden-line-removal

OpenCASCADE 提供了两种消隐算法:HLRBRep_Algo和HLRBRep_PolyAlgo。这些算法都是基于相同的原理:比较形状每条边相对每个面的可见性,并 计算每条边的可见部分与消隐部分。算法通过计算在指定投影方向上的物体显示特性,去除或标记被面遮挡的边。这两个算法也与一些提取功能配合使用,如重构一 个简化的模型等,简化后新的模型由边组成,就是在投影方向上的轮廓线。

3 边的分类

OpenCASCADE的HLR中将边分为以下类型:

  • Sharp Edges
  • Smooth Edges
  • Sewn Edges
  • Outline Edges
  • Isoparameter Edges

从类HLRBRep_HLRToShape和类HLRBRep_PolyHLRToShape中给出了这些边的一些定义。其中Sharp Edge表示C0连续(非G1连续)的边,就是一般Edge;

Smooth Edge表示G1连续(非G2 连续)的边;

Sewn Edge表示G2连续的边;

Outline Edge表示模型的轮廓边,这种类型的边不在BREP数据中,需要根据投影方向生成;

Isoparameter Edge表示面的等参线生成的边,这种类型的边不也不在BREP数据中;

其中Sharp Edge、Smooth Edge和Sewn Edge一般都是BREP中的EDGE数据,而Outline Edge和Isoparameter Edge是根据设置额外生成的边。理解边的这些定义,方便对HLR算法进行理解。HLR算法是相对简单的算法,主要是就将上述五种类型的边与面进行求交,判断遮挡关系。

目前OpenCASCADE中的HLR算法代码写得有点乱,上次在深圳ogg的俄罗斯开发人员提到要重构HLR部分的代码。深入理解 HLR算法,为自动生成图纸功能打下基础。

 

标签:消隐,HLR,算法,Edge,OpenCASCADE,模型
From: https://www.cnblogs.com/opencascade/p/occt_hlr_edges.html

相关文章

  • [AGC052B] Tree Edges XOR 题解
    题目链接点击打开链接题目解法怎么感觉这场\(B\)比\(C\)思维量更大考虑一步很妙的操作:把边权变成点权,以达到简化操作的目的使每条边的边权为两端点的异或和,手画一下可以发现,操作简化成了交换两端点的点权我们定义\(d_{1/2,i}\)定义为在\(1/2\)树上,\(i\)到根的权值......
  • OpenCASCADE曲线上点的反求
    本文主要结合代码介绍OpenCASCADE曲线上点的反求实现原理及使用过程中的一些注意事项。OpenCASCADE曲线上点的反求1Introduction曲线可以用代数方程表示,如圆可以用X^2+Y^2=R^2表示,也可以用参数方程X(u)=RCos(u),Y(u)=RSin(u)表示。要判断点是不是在线上,用......
  • OpenCASCADE 曲线求交
    对于拓朴边提供了求交算法IntTools_EdgeEdge,这个类是使用类似于曲面求交的离散网格法,使用了离散包围盒法。OpenCASCADE曲线求交1IntroductionOpenCASCADE中提供了二维几何曲线的求交类Geom2dAPI_InterCurveCurve,对应到三维几何只提供了GeomAPI_IntCS,GeomAPI_IntS......
  • windows edge浏览器免费复制网页文字
      复制时,出现上面提示时候  使用edge浏览器打开链接,在http前面加入read:,然后打开,即可复制 ......
  • OpenCASCADE二维曲线求交
    OpenCASCADE二维曲线求交1IntroductionOpenCASCADE中对二维曲线求交和三维曲线求交是不同的,三维曲线求交统一使用离散法,二维曲线求交根据曲线类型的不同分种类型进行处理。二维曲线求交中还提供了计算自交的直接接口。在TKGeomAlgo中,主要内容就是拟合、求交算法,理解求交算法的......
  • 【略读论文|时序知识图谱补全】Tucker Decomposition with Frequency Attention for T
    会议:ACL,时间:2023,学校:北京航空航天大学,多伦多大学关键词:基于张量分解;频率注意力;正则化摘要:之前基于张量分解的TKGC模型存在仅独立考虑一种关系与一个时间戳的组合,忽略了嵌入的全局性质的问题。本文的方法:一种频率注意力(FA)模型来捕获一个关系与整个时间戳之间的全局时间依赖性。......
  • PG游戏助力PS5体验:DualSense Edge控制器面临的挑战
    最近,索尼PS5的用户反馈引起了广泛关注,其中对于其高价手柄DualSenseEdge的使用寿命问题备受瞩目。据报道,一些用户在仅使用不到一年的时间内,就发现了手柄表皮剥落的情况,进而引发了关于其品质和耐久性的争议。DualSenseEdge手柄是PS5的配套产品,以其高度灵敏的触觉反馈和精密的设计而......
  • 【略读论文|时序知识图谱补全】Learn from Relational Correlations and Periodic Eve
    会议:SIGIR,时间:2023,学校:国防科技大学摘要:之前模型存在的问题:未能利用快照内结构信息的关系之间的语义相关性与快照间时间交互沿时间轴的周期性时间模式。本文的工作:提出了一种新的推理模型(RPC);它通过两个新的通信单元,即关系通信单元(RCU)和周期通信单元(PCU),充分挖掘关系关联和周......
  • 【略读论文|时序知识图谱补全】Hierarchical Self-Atention Embedding for Temporal K
    会议:WWW,时间:2023,学校:东北大学计算机与通信工程学院摘要:目前TKGC模型存在的问题:只考虑实体或关系的结构信息,而忽略了整个TKG的结构信息。此外,它们中的大多数通常将时间戳视为一般特征,不能利用时间戳的潜在时间序列信息。本文的方法:一种基于自注意机制和历时嵌入技术的分层自注意......
  • OpenCASCADE曲线上点的反求
    OpenCASCADE曲线上点的反求[email protected]曲线可以用代数方程表示,如圆可以用X^2+Y^2=R^2表示,也可以用参数方程X(u)=RCos(u),Y(u)=RSin(u)表示。要判断点是不是在线上,用曲线代数方程可以很直接得出结果,但是使用参数方程就没有那么直接。这也是参数曲线上点的反求......