本文以OpenCASCADE中简单的二次曲面的轮廓线计算入手来理解曲面的轮廓线概念,为理解任意曲面轮廓线计算打下基础。 OpenCASCADEHLRQuadricSurfaceOutlineEdge KeyWords:HLR,OutlineEdge,SihouetteEdge 1Introduction OpenCASCADE中关于隐藏线消除HLR算法的描述就是一句话:Thesealgorithmsarebasedontheprincipleofcomparingeachedgeoftheshapetobevisualizedwitheachofitsfaces,andcalculatin...

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

对于拓朴边提供了求交算法IntTools_EdgeEdge,这个类是使用类似于曲面求交的离散网格法,使用了离散包围盒法。 OpenCASCADE曲线求交 1Introduction OpenCASCADE中提供了二维几何曲线的求交类Geom2dAPI_InterCurveCurve,对应到三维几何只提供了GeomAPI_IntCS,GeomAPI_IntSS,没有提供几何的GeomAPI_IntCC求交类。这些几何求交一般使用的是数值算法,即解方程。对于两条几何曲线P(u1),Q(u2),求交就是解P(u1)Q(u2)=0这个方程。为什么对于三维几何曲线没有提供数值算法? 对于拓朴边提供...

本文主要结合代码介绍OpenCASCADE曲线上点的反求实现原理及使用过程中的一些注意事项。 OpenCASCADE曲线上点的反求 1Introduction 曲线可以用代数方程表示,如圆可以用X^2+Y^2=R^2表示,也可以用参数方程X(u)=RCos(u),Y(u)=RSin(u)表示。要判断点是不是在线上,用曲线代数方程可以很直接得出结果,但是使用参数方程就没有那么直接。这也是参数曲线上点的反求问题,参数曲线上点的反求问题应用广泛,如前面所述判断点是否在曲线上、点向曲线投影、点与线的求交、点在参数曲线上的参数等,都与点的反求问题相关。本文主要结合代码介绍OpenCASCADE曲线上点的...

通过点与点、边和面的相交代码实现可以看出在BOPDS中对于相交结果保存了哪些数据。及模糊容差FuzzyTolerance的作用和精度。通过引入Pave,PaveBlock,ShrunkRange来保存求交结果及容差处理。 布尔数据点的相交 1Introduction OpenCASCADE中将相交干涉分成两种类型,一种类型是边界表示数据中的点线面Vertex,Edge,Face包含几何和容差,在3D空间中距离在容差范围之内的BRep相交。包含几何数据的点线面就有6种类型的BRep相交(BRepinterferences): Vertex/Vertex Vertex/Edge Vertex...

  PulHQ9Eh9mLm   2023年11月19日   17   0   0 RealStandardStandardReal数据数据

边与边、边与面相交会得到公共部分CommonPart,公共部分可能是点,也可能是重叠的边。在过滤相交的边与边、边与面时都有一定的优化空间,即使用BVH来加速检测相交部分。在快速判断边与边是否重叠、边与面是否重叠部分的代码采用固定数量的采样点的处理方式不太严谨。将相交的结果及过程数据都保存到BOPDS_DS中作为后面算法使用。 布尔数据边的相交 1Introduction 在OpenCASCADE中对于边的相交分为三类:边与点,边与边,边与面,边与点的相交已经归结为点与边的相交处理了,边的相交主要处理边与边,边与面的相交。边与边、边与面的相交会引入一个新的数据结构-公共部分CommonPar...

  PulHQ9Eh9mLm   2023年11月17日   20   0   0 StandardReal2dStandard2dReal

几何内核可以看成一个数学库的子集,只是在几何图形上的应用。学习几何内核的过程类比于学生时代掌握的数学工具。 几何内核与数学 1概述 从1950年第一台图形显示器(美国麻省理工大学MIT旋风I号WhirlwindI)的诞生,到1962年MIT林肯实验室的IvanE.Sutherland发表题为“Sketchpad:一个人机交互的图形系统”确定计算机图形学作为独立科学分支。经过70多年的发展,计算机图形学中的几何造型技术成了现在的几何内核。 数学是我们从小学、中学到大学一直都在学习的课程,是现代科技的理论基础,是创新的源泉。几何内核与数学的联系非常紧密,结合开源几何内核opencascade谈...

BVH在OpenCASCADE中也有广泛地应用,如开源版本中的模型快速碰撞检测,使用类BRepExtrema_ShapeProximity.模型选择操作,光线跟踪等算法中都有应用。 性能提升-BVH层次包围体 Abstract. OpenCASCADEprovidesBVHtoachievehighperformanceinAISofvisualizationmodule.TounderstandBVHusagewillhelpustounderstandmanycodeofopencascade. KeyWords.BVH,BoundingVolumeHierarchy,LBV...

OpenCASCADE中对两个曲面求交得到的交线进行了分类:ALine,GLine,WLine,RLine. OpenCASCADE曲面交线分类 Abstract.OpenCascadeclassifytheintersectionlinebetweentwosurfaces.Aintersectionlinemaybeeithergeometric:line,circle,ellipse,parabola,hyperbolaasdefinedintheclassGLine,oranalyticasdefinedintheclassALine,ordefinedbyasetofpoints...

构建工具Premake 构建工具Premake 经常用VisualStudio写一些小程序来验证OpenCASCADE的功能,每次创建项目后都配置头文件,库路径,程序运行时还要配置Debug的环境变量,比较麻烦。也尝试过CMake和QMake,都不太理想。CMake学习曲线陡峭一点,还会生成一堆文件。QMake简单些,但是有的选项不支持。直到看到一个开源的游戏程序Overload,看其编译说明使用了Premake来构建。 使用IMGUI生成的软件界面比较酷炫,使用Premake生成VisualStudio解决方案。 1什么是构建系统 构建系统(BuildSystem)是用来从源码生成用户可以...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~