CN108510579A - 一种工业复杂裁剪曲面的渲染显示方法 - Google Patents
一种工业复杂裁剪曲面的渲染显示方法 Download PDFInfo
- Publication number
- CN108510579A CN108510579A CN201810235928.6A CN201810235928A CN108510579A CN 108510579 A CN108510579 A CN 108510579A CN 201810235928 A CN201810235928 A CN 201810235928A CN 108510579 A CN108510579 A CN 108510579A
- Authority
- CN
- China
- Prior art keywords
- vertex
- rectangular block
- clipping region
- points
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/005—Tree description, e.g. octree, quadtree
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/23—Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
Abstract
本发明公开了一种工业复杂裁剪曲面的渲染显示方法,其步骤包括:1裁剪曲面和曲线的离散,2复杂矩形块的判断和细分,3裁剪区域顶点排序,4利用改进的递归节点连元方法形成三角形单元并渲染显示等步骤。本发明全面考虑了工业裁剪曲面中的复杂情况和非复杂情况,并能有效地处理凹多边形,从而实现裁剪区域分割形成三角形单元并渲染显示的功能,进而提高对于庞大而复杂的工业裁剪曲面模型的处理能力和效率。
Description
技术领域
本发明属于计算机辅助设计、计算机图形学和曲线曲面造型技术领域,具体的说是一种初始化图形交换规范(Initial Graphic Exchange Specification,IGES)中工业复杂裁剪曲面的渲染显示方法。
背景技术
随着制造工业的发展、复杂的自由曲面越来越多的应用于有限元分析、曲面逼近、真实感显示、数控加工、快速成型技术领域。为了构造复杂的自由曲线曲面,经常需要对于自由曲线曲面进行裁剪。在现有的计算机辅助设计(ComputerAided Design,CAD)模型中,通常包含着大量裁剪曲面的数据信息。如何对于这些数据进行解析并对于裁剪曲面进行渲染显示成为CAD模型接口开发的必要工作。此外,渲染引擎中要求输入的数据为一般为三角形单元,如何将裁剪曲面离散为一系列三角形单元也成为裁剪曲面渲染显示关键工作。
目前,通过对于现有裁剪曲面显示的相关文献进行检索和分析,在进行裁剪区域形成三角形单元并渲染显示时,并没有考虑复杂裁剪曲面中的一些复杂情况,这些复杂情况经常出现在裁剪曲面的自适应离散中,若不进行处理将会导致错误的渲染显示结果。此外,文献《冲压有限元分析中网格技术的研究与开发》(北京航空航天大学博士学位论文)中3.6节提出一种参数曲面的结点连元算法,该方法在处理较为复杂的凹多边形时会产生不正确的剖分,产生在凹多边形之外的三角网格。
发明内容
本发明为解决现有技术中存在的不足之处,提出一种具有良好的通用性和稳定性的工业复杂裁剪曲面的渲染显示方法,以期能有效地处理凹多边形和裁剪曲面中的复杂情况,实现裁剪区域分割形成三角形单元并渲染显示的功能,从而提高对于庞大而复杂工业裁剪曲面模型的处理能力和效率。
为了达到上述目的,本发明采用的技术方案为:
本发明一种工业复杂裁剪曲面的渲染显示方法的特点是按如下步骤进行:
步骤一、获取裁剪曲面模型,并判断所述裁剪曲面模型中各个裁剪曲面是否包含三维边界曲线的二维参数曲线?如果包含,则执行步骤二;否则,则执行步骤三;
步骤二、对任意一个裁剪曲面中所包含的二维参数曲线进行自适应离散处理,得到曲线的二维参数离散点集合,并将所述二维参数离散点集合中的离散点按外边界逆时针方向、内边界顺时针方向进行排序,得到排序后的二维参数离散点集合,再执行步骤五;
步骤三、对任意一个裁剪曲面中所包含的三维边界曲线进行自适应离散处理,得到曲线的三维离散点集合;
步骤四、对所述三维离散点集合中的各个三维离散点进行反算,得到与各个三维离散点一一对应的二维参数域上的离散点,从而构成二维参数离散点集合,并将所述二维参数离散点集合中的离散点按外边界逆时针方向、内边界顺时针方向进行排序,得到排序后的二维参数离散点集合;
步骤五、对任意一个裁剪曲面按曲面片和逼近平面片的最大偏离值进行自适应离散处理,得到参数域上若干个矩形块;
步骤六、遍历所有矩形块,并判断任意一个矩形块是否为复杂矩形块?如果为复杂矩形块,则对相应的复杂矩形块进行若干次四叉树细分处理,直到相应的复杂矩形块全部细分为非复杂矩形块后,再执行步骤七;否则,表示相应矩形块为非复杂矩形块,并执行步骤七;
步骤七、将所述排序后的二维参数离散点集合中的所有离散点依次进行连接,形成曲线段,所述曲线段与所述裁剪曲面外边界之内且内边界之外的非复杂矩形块相交所形成的区域作为裁剪区域;由所述排序后的二维参数离散点集合中的所有离散点、所述裁剪区域内的非复杂矩形块的顶点以及所述曲线段与所述非复杂矩形块相交所形成的交点构成裁剪区域的顶点集合;
步骤八、对所述裁剪区域的顶点集合中的所有点按逆时针方向进行重新排序,得到排序后的裁剪区域的顶点集合;
步骤九、利用改进的递归节点连元方法对所述排序后的裁剪区域的顶点集合中的所有点进行连接处理,得到相应的若干个三角形单元并进行渲染显示。
本发明所述的渲染显示方法的特点也在于,所述步骤六中的复杂矩形块包括五种基本结构:
第一种基本结构为:所述曲线段与所述复杂矩形块的四条边中任一条边的交点数大于1个时所形成的结构;
第二种基本结构为:所述曲线段与所述复杂矩形块相交后形成多环结构;
第三种基本结构为:所述曲线段在所述复杂矩形块中存在交点时所形成的结构;
第四种基本结构为:所述曲线段在所述复杂矩形块中的曲率既大于零又小于零时所形成的结构;
第五种基本结构为:所述复杂矩形块的一对对角顶点在所述裁剪区域内而另一对对角顶点在所述裁剪区域外所形成的结构。
所述步骤八是按如下过程进行:
步骤8.1、定义所述裁剪区域内非复杂矩形块的顶点个数为n,定义排序后的二维参数离散点集合中在所述裁剪区域内的离散点所构成的集合为裁剪离散点集合P,定义所述曲线段与所述非复杂矩形块相交所形成的交点以及所述裁剪离散点集合P所构成集合为集合Q;
步骤8.2、判断n=4是否成立,若成立,则表示所述非复杂矩形块包含在所述裁剪区域内,并将所述非复杂矩形块的四个顶点对应的三维空间中的四个点连接为四边形单元后,执行步骤九,否则,执行步骤8.3;
步骤8.3、判断n=0是否成立,若成立,则表示所述非复杂矩形块在所述裁剪区域之外,并不渲染显示所述非复杂矩形块;否则,执行步骤8.4;
步骤8.4、判断n=3是否成立,若成立,则表示所述非复杂矩形块的三个顶点在所述裁剪区域之内,另一个顶点在所述裁剪区域之外,将所述裁剪区域的顶点集合中的所有点按照先逆时针排序所述非复杂矩形块的顶点再逆时针排序所述集合Q中所有点,从而形成排序后的裁剪区域的顶点集合;否则,执行步骤8.5;
步骤8.5、判断n=2是否成立,若成立,则表示所述非复杂矩形块的两个顶点在所述裁剪区域之内,另两个顶点在所述裁剪区域之外,将所述裁剪区域的顶点集合中的所有点按照先逆时针排序所述非复杂矩形块的顶点再逆时针排序所述集合Q中所有点,从而形成排序后的裁剪区域的顶点集合;否则,执行步骤8.6;
步骤8.6、判断n=1是否成立,若成立,则表示所述非复杂矩形块的一个顶点在所述裁剪区域之内,另三个顶点在所述裁剪区域之外,将所述裁剪区域的顶点集合中的所有点按照先逆时针排序所述非复杂矩形块的顶点再逆时针排序所述集合Q中所有点,从而形成排序后的裁剪区域的顶点集合。
所述步骤九是按如下过程进行:
步骤9.1、判断所述裁剪区域的顶点集合中所有点的个数是否为3?如果是,则将所述裁剪区域的顶点集合中的3个点所对应的三维空间中的3个点连接为三角形单元并进行渲染显示;否则,执行步骤9.2;
步骤9.2、判断所述裁剪区域的顶点集合中所有点的个数是否为4?如果是,则将所述裁剪区域的顶点集合中的4个点所对应的三维空间中的4个点连接为四角形单元,并将所述四边形单元按照最大内角顶点及其对顶点分割形成两个三角形单元并进行渲染显示;否则,执行步骤9.3;
步骤9.3、在所述集合Q中寻找最大内角点,并作为所述裁剪区域的第一分割点M;
步骤9.4、在所述非复杂矩形块的顶点中获取所述裁剪区域的第二分割点N;且所述第一分割点M和第二分割点N所构成的分割线段MN不能与所述裁剪区域内除端点外的曲线段相交;
步骤9.5、利用所述分割线段MN将所述裁剪区域的顶点集合中所有点分割成两个点集,并将每个点集中的所有点按照步骤9.1进行处理,直每个点集中的所有点被分割成三角形单元并进行渲染显示。
与已有技术相比,本发明的有益效果体现在:
1、相比于现有裁剪曲面显示的相关文献没有考虑工业裁剪模型中的复杂情况,本发明提出了一种通用和完整的裁剪曲面模型的渲染显示方法,该方法可以处理任意复杂的裁剪曲面模型,并具有较高的效率、良好的通用性和稳定性,以及对于庞大而复杂工业裁剪曲面模型较强处理能力。
2、本发明全面的考虑了裁剪模型中的复杂情况和非复杂情况,将所有裁剪模型中的复杂情况归纳为五种基本结构,并通过四叉树细分将所有的复杂情况转变为非复杂情况,实现任意复杂裁剪曲面的渲染显示功能,有效的克服了现有文献中对于工业复杂裁剪曲面处理不足的缺陷。
3、针对现有的结点连元算法在处理的凹多边形时存在的缺陷,本发明提出了一种改进的递归节点连元方法,该方法可以有效地处理凹多边形,实现裁剪区域分割形成三角形单元并渲染显示的功能,有效的解决了现有结点连元算法的不足。
附图说明
图1a表示本发明曲线段与所述的复杂矩形块的四条边中任一条边的交点数大于1个时所形成的结构的示意图;
图1b表示本发明曲线段与所述的复杂矩形块相交后形成多环结构的示意图;
图1c表示本发明曲线段在所述复杂矩形块中存在交点时所形成的结构的示意图;
图1d表示本发明曲线段在所述复杂矩形块中的曲率既大于零又小于零时所形成的结构的示意图;
图1e表示本发明所述的复杂矩形块的一对对角顶点在所述裁剪区域内(AC)而另一对对角顶点在所述裁剪区域外(BD)所形成的结构的示意图;
图1f表示本发明所述的复杂矩形块的一对对角顶点在所述裁剪区域内(BD)而另一对对角顶点在所述裁剪区域外(AC)所形成的结构的示意图;
图2为本发明渲染显示方法的总体流程图;
图3为本发明裁剪曲面自适应离散形成参数域上的矩形块的示意图;
图4a表示本发明非复杂矩形块顶点ABC在裁剪区域内,D在裁剪区域外的情况;
图4b表示本发明非复杂矩形块顶点BCD在裁剪区域内,A在裁剪区域外的情况;
图4c表示本发明非复杂矩形块顶点CDA在裁剪区域内,B在裁剪区域外的情况;
图4d表示本发明非复杂矩形块顶点DAB在裁剪区域内,C在裁剪区域外的情况。
图5a表示本发明非复杂矩形块顶点AB在裁剪区域内,CD在裁剪区域外的情况;
图5b表示本发明非复杂矩形块顶点BC在裁剪区域内,DA在裁剪区域外的情况;
图5c表示本发明非复杂矩形块顶点CD在裁剪区域内,AB在裁剪区域外的情况;
图5d表示本发明非复杂矩形块顶点DA在裁剪区域内,BC在裁剪区域外的情况。
图6a表示本发明非复杂矩形块顶点A在裁剪区域内,BCD在裁剪区域外的情况;
图6b表示本发明非复杂矩形块顶点B在裁剪区域内,CDA在裁剪区域外的情况;
图6c表示本发明非复杂矩形块顶点C在裁剪区域内,DAB在裁剪区域外的情况;
图6d表示本发明非复杂矩形块顶点D在裁剪区域内,ABC在裁剪区域外的情况;
图7为本发明改进的递归节点连元方法的总体流程图;
图8a表示本发明中错误的N点的情况;
图8b表示本发明中正确的N点的情况;
图8c表示本发明改进的递归节点连元方法形成的最终三角形单元的情况。
具体实施方式
为使本发明的技术方案更加明确,下面结合附图以及具体实例对于本发明作进一步说明。
本发明一种工业复杂裁剪曲面的渲染显示方法,如图2所示,该方法包括如下步骤:
步骤一、获取裁剪曲面模型,并判断裁剪曲面模型中各个裁剪曲面是否包含三维边界曲线的二维参数曲线?如果包含,则执行步骤二;否则,则执行步骤三;
步骤二、对任意一个裁剪曲面中所包含的二维参数曲线进行自适应离散处理,得到曲线的二维参数离散点集合,并将二维参数离散点集合中的离散点按外边界逆时针方向、内边界顺时针方向进行排序,得到排序后的二维参数离散点集合,再执行步骤五;
步骤二的具体实施方式为运用文献《冲压有限元分析中网格技术的研究与开发》(北京航空航天大学博士学位论文)中3.3节提出的参数曲线的自适应离散方法将二维参数曲线按曲率自适应离散得到一系列离散点集合,根据模型的规模,设置曲线自适应离散算法的缺省参数为:绝对误差a_tol值为0.01、相对误差r_tol值为0.01、最长边max值为1、最短边min值为0.1,以保证曲线在相邻两个离散点之间足够平坦;接着将集合中的离散点按外边界逆时针方向、内边界顺时针方向进行排序,得到排序后的二维参数离散点集合。
步骤三、对任意一个裁剪曲面中所包含的三维边界曲线进行自适应离散处理,得到曲线的三维离散点集合;
步骤四、对三维离散点集合中的各个三维离散点进行反算,得到与各个三维离散点一一对应的二维参数域上的离散点,从而构成二维参数离散点集合,并将二维参数离散点集合中的离散点按外边界逆时针方向、内边界顺时针方向进行排序,得到排序后的二维参数离散点集合;
步骤四中的“对三维离散点集合中的各个三维离散点进行反算,得到与各个三维离散点一一对应的二维参数域上的离散点,从而构成二维参数离散点集合,并将二维参数离散点集合中的离散点按外边界逆时针方向、内边界顺时针方向进行排序,得到排序后的二维参数离散点集合”,在某些CAD系统输出的模型文件中,裁剪曲面不包含三维边界曲线的二维参数曲线,需要将空间中的三维曲线运用步骤三中的方法离散成一系列三维离散点集合,通过牛顿迭代法对三维离散点集合中的各个三维离散点进行反算,得到与各个三维离散点一一对应的二维参数域上的离散点,从而构成二维参数离散点集合。详细的反求算法流程参见施法中所著《计算机辅助设计与非均匀有理B样条》(北京航空航天大学出版社)。
步骤五、对任意一个裁剪曲面按曲面片和逼近平面片的最大偏离值进行自适应离散处理,得到参数域上若干个矩形块;
步骤五的具体实施方式为运用文献《冲压有限元分析中网格技术的研究与开发》(北京航空航天大学博士学位论文)中3.4节提出的参数曲面的自适应离散方法将裁剪曲面按曲面片和逼近平面片的最大偏离值自适应离散得到一系列U向的离散点集合Ui(i=0,1,...,upoints)和一系列V向的离散点集合Vi(i=0,1,...,vpoints),将空间曲面初步分成upoints×vpoints个矩形块,如图3所示。此时,每个矩形块对应的空间面片可近似表示三维空间中曲面,之后逐个对每个矩形块中的裁剪区域进行处理。
步骤六、遍历所有矩形块,并判断任意一个矩形块是否为复杂矩形块?如果为复杂矩形块,则对相应的复杂矩形块进行若干次四叉树细分处理,直到相应的复杂矩形块全部细分为非复杂矩形块后,再执行步骤七;否则,表示相应矩形块为非复杂矩形块,并执行步骤七;
步骤六中的复杂矩形块包括五种基本结构,如图1a-图1f所示为裁剪模型中复杂情况的五种基本结构的示意图,斜线部分为裁剪区域,空白为被裁剪区域:
第一种基本结构为:曲线段与复杂矩形块的四条边中任一条边的交点数大于1个时所形成的结构,如图1a所示;
第二种基本结构为:曲线段与复杂矩形块相交后形成多环结构,如图1b所示;
第三种基本结构为:曲线段在复杂矩形块中存在交点时所形成的结构,如图1c所示;
第四种基本结构为:曲线段在复杂矩形块中的曲率既大于零又小于零时所形成的结构,如图1d所示;
第五种基本结构为:复杂矩形块的一对对角顶点在裁剪区域内而另一对对角顶点在裁剪区域外所形成的结构,如图1e和图1f所示;
在步骤六中逐个处理矩形块时,裁剪区域会出现不同的情况。本发明将所有可能出现的情况分成复杂情况和非复杂情况,两者依次对应于复杂矩形块和非复杂矩形块,分类的标准是依据改进的递归节点连元方法。如果该裁剪区域的情况可以通过改进的递归节点连元方法连接形成三角形单元,则此情况属于非复杂情况。相反,如果该裁剪区域的情况不可以通过改进的递归节点连元方法连接形成三角形单元,则此情况属于复杂情况。其中复杂情况往往很难直接进行连接形成三角形单元的操作并且容易导致错误的显示结果。通过总结所有的复杂情况,本发明将其归纳为五种基本结构。其他的复杂情况均与这五种基本结构相似或者可以由这五种基本结构推导出。接着,本发明运用四叉树细分的方法将这些复杂情况细分成四个子矩形块,有些时候,需要进行多次四叉树细分,直至每个矩形块都转变成为非复杂矩形块,然后可以通过改进的递归节点连元方法实现连接形成三角形单元并渲染显示的功能。
步骤七、将排序后的二维参数离散点集合中的所有离散点依次进行连接,形成曲线段,曲线段与裁剪曲面外边界之内且内边界之外的非复杂矩形块相交所形成的区域作为裁剪区域;由排序后的二维参数离散点集合中的所有离散点、裁剪区域内的非复杂矩形块的顶点以及曲线段与非复杂矩形块相交所形成的交点构成裁剪区域的顶点集合;
步骤八、对裁剪区域的顶点集合中的所有点按逆时针方向进行重新排序,得到排序后的裁剪区域的顶点集合;
步骤八对裁剪区域的顶点集合中的所有点按逆时针方向进行重新排序,这是下一步利用改进的递归节点连元算法实现裁剪区域顶点集合中的所有点连接形成三角形单元并渲染显示的前提,步骤八的具体实现步骤如下:
步骤8.1、定义裁剪区域内非复杂矩形块的顶点个数为n,定义排序后的二维参数离散点集合中在裁剪区域内的离散点所构成的集合为裁剪离散点集合P,定义曲线段与非复杂矩形块相交所形成的交点以及裁剪离散点集合P所构成集合为集合Q;
步骤8.2、判断n=4是否成立,若成立,则表示非复杂矩形块包含在裁剪区域内,并将非复杂矩形块的四个顶点对应的三维空间中的四个点连接为四边形单元后,执行步骤九,否则,执行步骤8.3;
步骤8.3、判断n=0是否成立,若成立,则表示非复杂矩形块在裁剪区域之外,并不渲染显示非复杂矩形块;否则,执行步骤8.4;
步骤8.4、判断n=3是否成立,若成立,则表示非复杂矩形块的三个顶点在裁剪区域之内,另一个顶点在裁剪区域之外,如图4a-图4d所示为当裁剪区域内非复杂矩形块的顶点个数n为3时,裁剪区域存在的四种情况的示意图。实线部分为裁剪区域,虚线部分为被裁剪区域,将裁剪区域的顶点集合中的所有点按照先逆时针排序非复杂矩形块的顶点再逆时针排序集合Q中所有点,从而形成排序后的裁剪区域的顶点集合,如图4a排序后的裁剪区域的顶点集合为点A、B、C、E、F、G、H、I、J、K,图4b、图4c、图4d依次类推;否则,执行步骤8.5;
步骤8.5、判断n=2是否成立,若成立,则表示非复杂矩形块的两个顶点在裁剪区域之内,另两个顶点在裁剪区域之外,如图5a-图5d所示为当裁剪区域内非复杂矩形块的顶点个数n为2时,裁剪区域存在的前四种情况。实线部分为裁剪区域,虚线部分为被裁剪区域,将裁剪区域的顶点集合中的所有点按照先逆时针排序非复杂矩形块的顶点再逆时针排序集合Q中所有点,从而形成排序后的裁剪区域的顶点集合,如图5a排序后的裁剪区域的顶点集合为点A、B、E、F、G、H、I、J、K,图5b、图5c、图5d依次类推;否则,执行步骤8.6;
步骤8.6、判断n=1是否成立,若成立,则表示非复杂矩形块的一个顶点在裁剪区域之内,另三个顶点在裁剪区域之外,如图6a-图6d所示为当裁剪区域内非复杂矩形块的顶点个数n为1时,裁剪区域存在的四种情况。实线部分为裁剪区域,虚线部分为被裁剪区域,将裁剪区域的顶点集合中的所有点按照先逆时针排序非复杂矩形块的顶点再逆时针排序集合Q中所有点,从而形成排序后的裁剪区域的顶点集合,如图6a排序后的裁剪区域的顶点集合为点A、E、F、G、H、I、J、K,图6b、图6c、图6d依次类推。
步骤九、利用改进的递归节点连元方法对排序后的裁剪区域的顶点集合中的所有点进行连接处理,得到相应的若干个三角形单元并进行渲染显示,其具体实现步骤如下,如图7所示:
步骤9.1、判断裁剪区域的顶点集合中所有点的个数是否为3?如果是,则将裁剪区域的顶点集合中的3个点所对应的三维空间中的3个点连接为三角形单元并进行渲染显示;否则,执行步骤9.2;
步骤9.2、判断裁剪区域的顶点集合中所有点的个数是否为4?如果是,则将裁剪区域的顶点集合中的4个点所对应的三维空间中的4个点连接为四角形单元,并将四边形单元按照最大内角顶点及其对顶点分割形成两个三角形单元并进行渲染显示;否则,执行步骤9.3;
步骤9.3、在集合Q中寻找最大内角点,并作为裁剪区域的第一分割点M;
步骤9.4、在非复杂矩形块的顶点中获取裁剪区域的第二分割点N;且第一分割点M和第二分割点N所构成的分割线段MN不能与裁剪区域内除端点外的曲线段相交,如图8a和图8b所示;
步骤9.5、利用分割线段MN将裁剪区域的顶点集合中所有点分割成两个点集,并将每个点集中的所有点按照步骤9.1进行处理,直每个点集中的所有点被分割成三角形单元并进行渲染显示,图8c所示。图8a-图8c为改进的递归节点连元方法形成三角形单元的示意图。通过以上步骤,本发明全面的考虑了工业裁剪曲面模型中的复杂情况和非复杂情况,实现了裁剪曲面模型的渲染显示功能,有效的解决了现有文献没有考虑工业裁剪曲面模型中复杂情况的不足。此外,本发明提出改进的递归节点连元方法,其可以处理凹多边形,实现裁剪区域分割形成三角形单元并渲染显示的功能,有效的解决了现有文献在处理形状较为复杂的凹多边形时存在的缺陷。
Claims (4)
1.一种工业复杂裁剪曲面的渲染显示方法,其特征是按如下步骤进行:
步骤一、获取裁剪曲面模型,并判断所述裁剪曲面模型中各个裁剪曲面是否包含三维边界曲线的二维参数曲线?如果包含,则执行步骤二;否则,则执行步骤三;
步骤二、对任意一个裁剪曲面中所包含的二维参数曲线进行自适应离散处理,得到曲线的二维参数离散点集合,并将所述二维参数离散点集合中的离散点按外边界逆时针方向、内边界顺时针方向进行排序,得到排序后的二维参数离散点集合,再执行步骤五;
步骤三、对任意一个裁剪曲面中所包含的三维边界曲线进行自适应离散处理,得到曲线的三维离散点集合;
步骤四、对所述三维离散点集合中的各个三维离散点进行反算,得到与各个三维离散点一一对应的二维参数域上的离散点,从而构成二维参数离散点集合,并将所述二维参数离散点集合中的离散点按外边界逆时针方向、内边界顺时针方向进行排序,得到排序后的二维参数离散点集合;
步骤五、对任意一个裁剪曲面按曲面片和逼近平面片的最大偏离值进行自适应离散处理,得到参数域上若干个矩形块;
步骤六、遍历所有矩形块,并判断任意一个矩形块是否为复杂矩形块?如果为复杂矩形块,则对相应的复杂矩形块进行若干次四叉树细分处理,直到相应的复杂矩形块全部细分为非复杂矩形块后,再执行步骤七;否则,表示相应矩形块为非复杂矩形块,并执行步骤七;
步骤七、将所述排序后的二维参数离散点集合中的所有离散点依次进行连接,形成曲线段,所述曲线段与所述裁剪曲面外边界之内且内边界之外的非复杂矩形块相交所形成的区域作为裁剪区域;由所述排序后的二维参数离散点集合中的所有离散点、所述裁剪区域内的非复杂矩形块的顶点以及所述曲线段与所述非复杂矩形块相交所形成的交点构成裁剪区域的顶点集合;
步骤八、对所述裁剪区域的顶点集合中的所有点按逆时针方向进行重新排序,得到排序后的裁剪区域的顶点集合;
步骤九、利用改进的递归节点连元方法对所述排序后的裁剪区域的顶点集合中的所有点进行连接处理,得到相应的若干个三角形单元并进行渲染显示。
2.根据权利要求1所述的渲染显示方法,其特征是,所述步骤六中的复杂矩形块包括五种基本结构:
第一种基本结构为:所述曲线段与所述复杂矩形块的四条边中任一条边的交点数大于1个时所形成的结构;
第二种基本结构为:所述曲线段与所述复杂矩形块相交后形成多环结构;
第三种基本结构为:所述曲线段在所述复杂矩形块中存在交点时所形成的结构;
第四种基本结构为:所述曲线段在所述复杂矩形块中的曲率既大于零又小于零时所形成的结构;
第五种基本结构为:所述复杂矩形块的一对对角顶点在所述裁剪区域内而另一对对角顶点在所述裁剪区域外所形成的结构。
3.根据权利要求1所述的渲染显示方法,其特征是,所述步骤八是按如下过程进行:
步骤8.1、定义所述裁剪区域内非复杂矩形块的顶点个数为n,定义排序后的二维参数离散点集合中在所述裁剪区域内的离散点所构成的集合为裁剪离散点集合P,定义所述曲线段与所述非复杂矩形块相交所形成的交点以及所述裁剪离散点集合P所构成集合为集合Q;
步骤8.2、判断n=4是否成立,若成立,则表示所述非复杂矩形块包含在所述裁剪区域内,并将所述非复杂矩形块的四个顶点对应的三维空间中的四个点连接为四边形单元后,执行步骤九,否则,执行步骤8.3;
步骤8.3、判断n=0是否成立,若成立,则表示所述非复杂矩形块在所述裁剪区域之外,并不渲染显示所述非复杂矩形块;否则,执行步骤8.4;
步骤8.4、判断n=3是否成立,若成立,则表示所述非复杂矩形块的三个顶点在所述裁剪区域之内,另一个顶点在所述裁剪区域之外,将所述裁剪区域的顶点集合中的所有点按照先逆时针排序所述非复杂矩形块的顶点再逆时针排序所述集合Q中所有点,从而形成排序后的裁剪区域的顶点集合;否则,执行步骤8.5;
步骤8.5、判断n=2是否成立,若成立,则表示所述非复杂矩形块的两个顶点在所述裁剪区域之内,另两个顶点在所述裁剪区域之外,将所述裁剪区域的顶点集合中的所有点按照先逆时针排序所述非复杂矩形块的顶点再逆时针排序所述集合Q中所有点,从而形成排序后的裁剪区域的顶点集合;否则,执行步骤8.6;
步骤8.6、判断n=1是否成立,若成立,则表示所述非复杂矩形块的一个顶点在所述裁剪区域之内,另三个顶点在所述裁剪区域之外,将所述裁剪区域的顶点集合中的所有点按照先逆时针排序所述非复杂矩形块的顶点再逆时针排序所述集合Q中所有点,从而形成排序后的裁剪区域的顶点集合。
4.根据权利要求3所述的渲染显示方法,其特征是,所述步骤九是按如下过程进行:
步骤9.1、判断所述裁剪区域的顶点集合中所有点的个数是否为3?如果是,则将所述裁剪区域的顶点集合中的3个点所对应的三维空间中的3个点连接为三角形单元并进行渲染显示;否则,执行步骤9.2;
步骤9.2、判断所述裁剪区域的顶点集合中所有点的个数是否为4?如果是,则将所述裁剪区域的顶点集合中的4个点所对应的三维空间中的4个点连接为四角形单元,并将所述四边形单元按照最大内角顶点及其对顶点分割形成两个三角形单元并进行渲染显示;否则,执行步骤9.3;
步骤9.3、在所述集合Q中寻找最大内角点,并作为所述裁剪区域的第一分割点M;
步骤9.4、在所述非复杂矩形块的顶点中获取所述裁剪区域的第二分割点N;且所述第一分割点M和第二分割点N所构成的分割线段MN不能与所述裁剪区域内除端点外的曲线段相交;
步骤9.5、利用所述分割线段MN将所述裁剪区域的顶点集合中所有点分割成两个点集,并将每个点集中的所有点按照步骤9.1进行处理,直每个点集中的所有点被分割成三角形单元并进行渲染显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810235928.6A CN108510579B (zh) | 2018-03-21 | 2018-03-21 | 一种工业复杂裁剪曲面的渲染显示方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810235928.6A CN108510579B (zh) | 2018-03-21 | 2018-03-21 | 一种工业复杂裁剪曲面的渲染显示方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108510579A true CN108510579A (zh) | 2018-09-07 |
CN108510579B CN108510579B (zh) | 2019-09-20 |
Family
ID=63377893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810235928.6A Active CN108510579B (zh) | 2018-03-21 | 2018-03-21 | 一种工业复杂裁剪曲面的渲染显示方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108510579B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881610A (zh) * | 2020-07-31 | 2020-11-03 | 北京环境特性研究所 | 一种用于有限元模型的辐射渲染方法及装置 |
CN117272420A (zh) * | 2023-10-13 | 2023-12-22 | 天枢摇光(北京)科技有限公司 | 基于规范化参数域的裁剪曲面表示方法及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0721410A (ja) * | 1993-06-17 | 1995-01-24 | Ricoh Co Ltd | 自由曲面データ生成方法 |
JP2003044875A (ja) * | 2001-08-01 | 2003-02-14 | Minolta Co Ltd | 三次元データ処理装置、プログラム、記録媒体、および三次元データ処理方法 |
CN101383047A (zh) * | 2007-09-03 | 2009-03-11 | 鸿富锦精密工业(深圳)有限公司 | 曲面网格化方法 |
CN102332180A (zh) * | 2011-10-15 | 2012-01-25 | 杭州力孚信息科技有限公司 | 一种基于立体裁剪的三维服装造型与纸样设计方法 |
CN102496179A (zh) * | 2011-11-08 | 2012-06-13 | 中国测绘科学研究院 | 一种三维场景的裁剪方法 |
CN102637216A (zh) * | 2011-12-14 | 2012-08-15 | 南京航空航天大学 | 一种复杂组合曲面的数控侧铣加工刀轨生成方法 |
-
2018
- 2018-03-21 CN CN201810235928.6A patent/CN108510579B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0721410A (ja) * | 1993-06-17 | 1995-01-24 | Ricoh Co Ltd | 自由曲面データ生成方法 |
JP2003044875A (ja) * | 2001-08-01 | 2003-02-14 | Minolta Co Ltd | 三次元データ処理装置、プログラム、記録媒体、および三次元データ処理方法 |
CN101383047A (zh) * | 2007-09-03 | 2009-03-11 | 鸿富锦精密工业(深圳)有限公司 | 曲面网格化方法 |
CN102332180A (zh) * | 2011-10-15 | 2012-01-25 | 杭州力孚信息科技有限公司 | 一种基于立体裁剪的三维服装造型与纸样设计方法 |
CN102496179A (zh) * | 2011-11-08 | 2012-06-13 | 中国测绘科学研究院 | 一种三维场景的裁剪方法 |
CN102637216A (zh) * | 2011-12-14 | 2012-08-15 | 南京航空航天大学 | 一种复杂组合曲面的数控侧铣加工刀轨生成方法 |
Non-Patent Citations (2)
Title |
---|
王会颖等: "《网格曲面模型及样条曲面模型的样条实体构建的研究综述》", 《合肥学院学报》 * |
王伟等: "《CAD/CAE/OPT一体化软件ARCHYTAS》", 《中国力学大会-2017暨庆祝中国力学学会成立60周年大会》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111881610A (zh) * | 2020-07-31 | 2020-11-03 | 北京环境特性研究所 | 一种用于有限元模型的辐射渲染方法及装置 |
CN111881610B (zh) * | 2020-07-31 | 2023-09-15 | 北京环境特性研究所 | 一种用于有限元模型的辐射渲染方法及装置 |
CN117272420A (zh) * | 2023-10-13 | 2023-12-22 | 天枢摇光(北京)科技有限公司 | 基于规范化参数域的裁剪曲面表示方法及存储介质 |
CN117272420B (zh) * | 2023-10-13 | 2024-05-03 | 天枢摇光(北京)科技有限公司 | 基于规范化参数域的裁剪曲面表示方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108510579B (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102306396B (zh) | 一种三维实体模型表面有限元网格自动生成方法 | |
CN105844711B (zh) | 在细分曲面上雕刻2d图像 | |
CN109360260A (zh) | 一种三角网格三维模型的切挖重构算法 | |
EP2750109A1 (en) | Tessellation of a parameterized 3D modeled object | |
KR20160082481A (ko) | 워크피스의 가공의 시뮬레이팅 | |
CN107562980B (zh) | 一种基于bim模型的几何信息提取方法 | |
JPH08138082A (ja) | 四角形メッシュの生成方法及びシステム | |
WO2021203711A1 (zh) | 一种基于几何重建模型的等几何分析方法 | |
CN108510579B (zh) | 一种工业复杂裁剪曲面的渲染显示方法 | |
CN111539139A (zh) | 一种颗粒随机分布的复合材料2d细观结构建模方法 | |
KR101552827B1 (ko) | 3차원 객체 모델의 분할 방법 | |
EP2663965B1 (en) | Direct rendering of cad models on the gpu | |
CN115661374A (zh) | 一种基于空间划分和模型体素化的快速检索方法 | |
CN103489221B (zh) | 四边形网格共形参数化方法 | |
CN108898679A (zh) | 一种零部件序号自动标注的方法 | |
CN105427362A (zh) | 一种快速aiap形状插值算法 | |
Rockwood | Introducing sculptured surfaces into a geometric modeler | |
JP2003330976A (ja) | 境界データの内外判定方法とそのプログラム | |
CN108389154B (zh) | Gpu中一种用于并行绘制的裁剪区域分割技术的实现方法 | |
JP2023082702A (ja) | 3dcadモデルの分割 | |
CN115859524A (zh) | 一种基于stl模型的圆柱体布尔求差运算方法 | |
US11436796B2 (en) | Three-dimensional shape data processing apparatus and non-transitory computer readable medium | |
CN112231800B (zh) | Bim图形的优化方法、装置以及计算机存储介质 | |
CN114693887A (zh) | 一种复杂点阵结构体参数化造型方法 | |
CN109979007A (zh) | 一种建筑体的几何造型方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |