基于三维表面模型的任意切割算法摘要:通过对三维表面模型进行切割,人们可以方便地观察物体的内部结构。针对三维表面模型,提出了一种任意切割算法。任意切割过程首先是交互生成切割曲线,生成切割面;然后通过切割面对表面模型进行切割,在切割面上生成交线序列;再由交线序列与切割面边界生成封闭的边界轮廓,确定各边界轮廓间的包含关系;最后对边界轮廓包围的截面区域进行Delaunay三角剖分并着色,得到完整的剖面。实验结果证明了该算法的有效性和可行性。?す丶?词:三维表面模型;切割;轮廓?ぶ型挤掷嗪牛?TP391.41文献标志码:A:1001?菠B3695(2008)09?菠B2850?菠B03Arbitrarycuttingalgorithmfor3DsurfacemodelCHENXue??gong,ZENGJun??gang,LIXiao??yong(SchoolofInformationScienceEngineering,CentralSouthUniversity,Changsha410083,China)Abstract:Withcuttingoperationfor3Dsurfacemodel,peoplecanobservetheinternalstructureofobjectseasily.Thispaperpresentedanewalgorithmofarbitrarycuttingoperationsof3Dsurfacemodel.Theprocedureofarbitrarycuttingoperationwastocreatecuttingcurveinteractivelyatfirst,thencreatedcutplane;the3Dmodelwascutbycuttingplanes,listsofedgeinacuttingplanewereestablished.Withtheselistsandcuttingplane’sborderlines,theboundarycontourscouldbecreated,andtheirembracingrelationshipcouldbeidentified.TheregionenclosedbythecontourswastriangulatedusingDelaunaytriangulationalgorithmandfillingcolortothesetrianglesatlast.Completeprofilescouldbeobtained.Experimentsprovethattheresultofthealgorithmiseffectiveandavailable.??Keywords:3Dsurfacemodel;cutting;contours0引言??对三维表面模型进行切割是三维可视化研究的一个基本应用。通过切割,既可以详细观察了解具有复杂结构物体内各部分的相对位置、大小和形状,同时,它也是构造三维物体集合运算的基础。??研究者已经提出了很多对三维物体进行切割的方法。秦绪佳等人[1]提出了采用平面及多面体对重构模型进行剖切的立体剪裁算法;陈俊智等人[2]利用OpenGL中的附加裁剪面实现了平面切割。以上两种方法只能实现平面的切割,且其切割平面只能平行于某一坐标平面。为此,周翠英等人[3]和郭圣文[4]实现了对三维物体任意方向的平面切割,但不能以任意方式切割。花卫华等人[5]提出的算法可以用不规则三角网(TIN)切割三维物体,灵活性较强。该算法的基本操作是三角形与三角形求交和平面与三角形求交相比较,比较次数较多。??根据实际应用中对任意路径切割的需求,本文提出了一种针对三维表面模型进行任意交互切割的算法。本算法通过矩形切割面与表面模型的三角面片之间进行求交运算,得到切割面与表面模型的交线,并利用切割面的边界,构建实体的内外侧轮廓,实现对三维表面模---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---型的任意切割。??1基本定义??定义1[6]一个连通的、节点互连的实体表面TIN是一个有限的三角形序列。其满足如下条件:??a)表面中的每一条边至多被两个三角形共用,或者说至多是两个三角形的公共边;??b)表面的顶点可以被任意多个三角形共享;??c)每一个三角形至少与其他三角形共享一个顶点;??d)如果三角形??T??i的一个顶点同时被另一个三角形T??j共享,那么这个顶点也是三角形T??j的顶点;?オ?e)三角形互不交叠。??定义2对于任意实体表面TIN??M与N,如果N上任意一点p在M所围成的空间中,则称M包含N,记为M??N。对于M所围成的空间Ω??M与N所围成的空间Ω??N,如果Ω??M与Ω??N存在公共部分,则称M与N相交,记为M∩N≠?粒环粗?则称相离,记为M∩N=?痢*?定义3实体S=(OS,IS)。其中:OS表示实体的外侧表面;IS表示实体的内侧表面,IS={IS??i},IS可为空集。OS,IS??i??均由实体表面TIN构成,对任意的??IS??i,有IS??i??OS,且对于IS集合中任意两个元素IS??i与IS??j,IS??i∩IS??j=?痢R桓鋈?维表面模型包含一个或者多个实体。?オ?2切割模型的构建??切割模型的构建过程如下:首先建立一个包含该三维表面的模型...