CN101937579B - 一种利用透视草图创建三维曲面模型的方法 - Google Patents
一种利用透视草图创建三维曲面模型的方法 Download PDFInfo
- Publication number
- CN101937579B CN101937579B CN2010102866890A CN201010286689A CN101937579B CN 101937579 B CN101937579 B CN 101937579B CN 2010102866890 A CN2010102866890 A CN 2010102866890A CN 201010286689 A CN201010286689 A CN 201010286689A CN 101937579 B CN101937579 B CN 101937579B
- Authority
- CN
- China
- Prior art keywords
- closed region
- point
- silhouette edge
- coordinate
- dimensional
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 230000008569 process Effects 0.000 claims description 23
- 239000011159 matrix material Substances 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 20
- 230000009466 transformation Effects 0.000 claims description 15
- 230000000007 visual effect Effects 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 11
- 230000000903 blocking effect Effects 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 8
- 238000013459 approach Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 6
- 230000019771 cognition Effects 0.000 claims description 4
- 230000008676 import Effects 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000012952 Resampling Methods 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000002156 mixing Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 abstract description 2
- 208000006011 Stroke Diseases 0.000 description 101
- 238000010586 diagram Methods 0.000 description 23
- 238000013461 design Methods 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 3
- 244000025254 Cannabis sativa Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000003973 paint Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000004513 sizing Methods 0.000 description 2
- UDHXJZHVNHGCEC-UHFFFAOYSA-N Chlorophacinone Chemical compound C1=CC(Cl)=CC=C1C(C=1C=CC=CC=1)C(=O)C1C(=O)C2=CC=CC=C2C1=O UDHXJZHVNHGCEC-UHFFFAOYSA-N 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 230000003716 rejuvenation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了利用透视草图创建三维曲面模型的方法,包括以下步骤:将手绘草图识别处理为由轮廓边和关节点构成的点边图,并识别封闭区域;识别三维曲面模型的对称关系,并同时利用对称性以及可见性对轮廓进行隐藏轮廓补全;根据对称关系建立曲面模型的对象坐标系,并计算曲面模型轮廓边关节点的三维坐标,根据关节点的三维坐标以及关节点之间的曲线投影,恢复出关节点之间三维空间曲线的坐标;根据水平级建模方法与B样条曲面拟合方法的特点将模型的三维封闭区域分类成不同的封闭区域片,根据封闭区域片的特点采用水平级建模方法或者B样条曲面拟合方法将封闭区域片建模为子曲面,对这些子曲面进行离散混合拼接为三维模型。
Description
技术领域
本发明涉及一种图形分析与解释的处理方法,属于计算机图形学技术领域,具体地说是一种利用透视草图创建三维曲面模型的方法。
背景技术
曲面模型复杂多样,以其纷繁的表现力广泛应用于设计创作领域中,是复杂模型设计中的重要构件。曲面模型也正因为本身复杂无固定几何规则的特征,其创建相比于多面体模型更为复杂。现行多数三维曲面模型创建技术关注于曲面参数等细节设计部分,其操作复杂并要求掌握相关的数学、图形学专业知识,而且无法从整体把握三维曲面模型的创建,这限制了多数设计师的创意表达。事实上,采用草绘的交互方式才是最理想最符合设计师设计习惯的方式。
文献1:T.Igarashi,S.Matsuoka,and H.Tanaka,“Teddy:A Sketching Interface for 3DFreeform Design,”Proc.Siggraph,1999,ACM Press,pp.409-416.以及其扩展文献2:O.A.Karpenko and J.F.Hughes,“SmoothSketch:3D Free-Form Shapes from Complex Sketches,”ACM Trans.Graphics,vol.25,no.3,2006,pp.589-598.和文献3:F.Cordier and H.Seo,Free-form sketching of self-occluding objects,IEEE Computer Graphics and Applications 27(1)(2007),pp.50-59.中提出的方法利用草图对曲面模型进行重建,但这几种方法通过绘制三维对象的俯视草图进行交互,这种草图无法反映三维对象的深度信息,只能用于特定的无棱角棱边、无规则特征、可以用文中提出的膨胀方法建模的曲面物体。
事实上,透视图可以表现三维模型的深度信息,也正因为透视图的这一特点,设计师在设计过程中会绘制透视草图来表现模型的三维特征,因此透视草图交互创建三维曲面是一种理想的草图交互方式。由于草图的随意性模糊性特点,无法直接利用投影规则、阴影、纹理等视觉特征从设计师徒手绘制的草图中恢复三维模型,因此诸如从X生成形状技术(shape from X:X代表视频、阴影、纹理、聚焦和光流等视觉特征)、文献4:于永彦,于长辉.基于对称物体的3维重构技术研究.中国图象图形学报,2008,13(11):2197-2203.提出的图像视觉方面的技术无法应用于草图重建中。已有关于透视草图重建三维对象的研究多数针对多面体(polyhedra)对象,如文献5:T.Kanade,“Recovery of the three-dimensional shape of an object from a single view,”Artif.Intell.,vol.17,pp.409-460,1981.中提出的方法,而对于透视草图重建三维曲面模型的研究则很少,其中,文献6:王玉慧,鲁聪达.CAID中由透视草图重建三维模型的算法研究.浙江工业大学学报,2003,31(4):369-371.中以射影几何、透视理论的基本原理为基础,给出了平面立体,二次曲面及自由曲线的透视图数字化算法,该方法可以对透视图处理,创建出三维平面以及自由曲面,但该方法产生的自由曲面仍为平面自由曲面,对于不共面的自由曲线曲面无法处理,并且在进行自由曲面绘制时,需同时将自由曲面所在平面绘制,这种方式一定程度上限制了设计师的绘制自由;文献7P.A.C.Varley,Y.Takahashi,J.Mitani,and H.Suzuki.2004.A two-stage approach for interpreting linedrawings of curved objects.In EUROGRAPHICS Workshop on Sketch-Based Interfaces andModeling.中提出一个解释曲面模型草图绘制的两步方法,首先绘制一个多面体的透视图,这个多面体与所需曲面模型有相同的点边图(vertex-edge graph),利用已有的多面体建模方法创建多面体模型,再以此多面体为模板,绘制曲线,最终生成曲面模型。这个方法同样,只能产生在多面体模板平面上的曲线,并且设计师在绘制时需先绘制模板对象,这使得设计师绘制更加繁琐;另外,文献8Ulupinar,F.and Nevatia,R.,Usingsymmetries for analysis of shape from contour,Proceedings 2nd International Conference onComputer Vision(1988)414-426.中提出了两种对称性,并利用这两种对称性对对称零高斯曲率曲面和对称双重曲面进行三维重建。这种方法可以对一些特定条件的曲面透视图进行识别并创建,但对于一般的不符合零高斯曲率或者双重曲面的曲面无法创建。
总的来说,曲面模型在设计创作领域中拥有着广泛的应用,但由于其本身的复杂特性以及现行创建技术的繁琐操作,对于没有特定专业知识的设计师无法利用现行设计软件快速建模,这很大程度上限制了曲面模型的设计。而透视草图最符合设计师设计三维模型的习惯,是最理想的三维曲面模型创建的交互方式。但由于已有这方面研究有限,并且没有成熟且理想的根据透视草图创建三维曲面模型的方法。因此,如何从用户绘制的透视草图中获取深度信息重建三维曲面模型是采用草绘创建三维模型的重要课题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种利用透视草图创建三维曲面模型的方法,用于支持用户以绘制单幅透视草图的方式直接创建三维曲面模型。
为了解决上述技术问题,本发明公开了一种利用透视草图创建三维曲面模型的方法,包括以下步骤:
步骤一,形状线索发现:从输入的透视草图中识别出由轮廓边和连接轮廓边的关节点组成的点边图G(V,E),其中,E为轮廓边,V为连接轮廓边的关节点;识别出封闭区域,所述封闭区域即为由轮廓边通过关节点相连得到的包围区域,其包围区域内不含有任何其他轮廓边;轮廓边由草图笔划采样点组成,所述采样点称为轮廓点;轮廓点的草图坐标系原点为草图的左下角,x轴水平向右,y轴竖直向上;
步骤二,三维视角恢复:包括对称关系识别、观察坐标系恢复和坐标计算三个步骤;
对称关系识别识别模型各元素之间的对称关系,并推断出隐藏轮廓线,所述模型各元素指的是模型中的关节点、轮廓边和封闭区域;所述对称关系即关节点与关节点、轮廓边与轮廓边、封闭区域与封闭区域互相对称的关系;
观察坐标系恢复根据所述对称关系计算模型的观察坐标系;
坐标计算用于计算轮廓点的空间三维坐标;
步骤三,三维模型重建:包括基准面检测、子曲面建模和曲面拼接三个步骤;
基准面检测将草图的封闭区域分类为基准面对应多个区域的封闭区域片和基准面对应单个区域的封闭区域片;所述封闭区域片为相邻接的封闭区域集合;
子曲面建模将封闭区域片建模为子曲面,即对基准面对应多个区域的封闭区域片和基准面对应单个区域的封闭区域片进行建模;
曲面拼接部分对子曲面进行拼接得到三维曲面模型。
本发明步骤一还包括连接断开的轮廓边笔划,即将两个笔划端点距离小于一定阈值的两个笔划的两个端点连接。
本发明步骤一中将输入草图的笔划识别为由轮廓边和连接轮廓边的关节点组成的点边图G(V,E)具体包括分离相交叉轮廓,产生新的关节点与轮廓边:首先按交叉笔划的数量分为多笔划交叉和两笔划交叉;如果为多笔划交叉则将该交叉点作为新的关节点,将由所述新的关节点分离的笔划段作为新的轮廓边,所述多笔划为笔划数大于等于3;如果为两笔划交叉,则分为十字交叉和T型交叉;如果两个相交叉轮廓为十字交叉,则将两条轮廓的交叉点作为新的关节点,将两个相交叉的轮廓各自由所述新的关节点分成的两段作为新的轮廓边;如果相交叉的轮廓为T型交叉,则根据轮廓边在交叉点处的曲率大小,判断T型交叉点是否为遮挡点,所述遮挡点为实际三维模型中轮廓一端被遮挡的点;如果是遮挡点,则轮廓保持原样,如果不是遮挡点,则将该T型交叉点作为新的关节点,并将相交轮廓由所述新的关节点分成两段作为新的轮廓边。
本发明步骤二中,所述对称关系识别部分包括以下步骤:步骤211,对称假设:枚举轮廓边,假设为自对称轮廓边,即轮廓边自身对称且轮廓边两端关节点也互相对称;步骤212,对称关系推断:根据假设的模型元素之间的对称关系以及已推断出的模型元素之间的对称关系,推断部分封闭区域之间的对称关系;若所有关节点、轮廓边以及封闭区域的对称关系能正确检测出,则进行观察坐标系恢复步骤;若当前对称关系推断部分没有推断出新的封闭区域之间的对称关系,且还存在未推断出对称关系的关节点,则返回步骤211继续枚举其他轮廓边;否则进行步骤213;步骤213,对称性验证:根据推断出的封闭区域之间的对称关系,首先验证所述封闭区域中各个关节点之间的对称关系,然后验证所述封闭区域中的轮廓边之间的对称关系,进而验证相互对称的轮廓边上的轮廓点之间的对称关系;若验证出任意关节点、轮廓边或轮廓点的对称关系错误,则判断当前的对称假设错误,返回步骤211继续枚举其他轮廓边,否则进行步骤214;步骤214,隐藏轮廓推断:包括两种推断方式:一是对遮挡点处的隐藏轮廓进行推断,二是对未识别对称性的封闭区域根据当前的对称假设,推断其对称镜像,从而推断出隐藏轮廓;所述未识别对称性的封闭区域满足两个条件:一是没有推断出其对称性,二是其部分轮廓边的对称关系已识别;所述对称镜像是指与已知封闭区域对称,但被遮挡的封闭区域;步骤215,可见性验证:验证隐藏轮廓的可见性,若隐藏轮廓可见,则判定当前的对称假设错误,返回步骤211;否则,将隐藏轮廓作为隐藏轮廓边,所述隐藏轮廓边为被遮挡的轮廓边,以隐藏轮廓边为起始边进行封闭区域检测,得到新的包含隐藏轮廓边的封闭区域,进行步骤212。
本发明步骤二中,所述观察坐标系恢复部分包括以下步骤:步骤221,确定水平基准面:计算二维草图坐标y值最小的一条非自对称轮廓边,将该轮廓边与其对称轮廓边所在的面作为水平基准面;步骤222,建立对象坐标系:以水平基准面的中点为原点o,以水平基准面为平面xoy,水平基准面上的对称轴为x轴,对称点连线为y轴,x轴和y轴所构成的钝角的角平分线为z轴,绘制出对象坐标系在草图平面的投影;以草图平面为x′oy′平面,以对象坐标系原点为原点o,草图平面水平向右方向为x′轴,竖直向上方向为y′轴,而z′轴则为垂直于草图平面与x′y′轴呈右手系,建立观察坐标系;步骤223,变换矩阵和单位长度计算:根据对象坐标系中x、y、z轴上的单位向量(1,0,0),(0,1,0),(0,0,1)在观察坐标系x′oy′平面的投影方向,即步骤222所述的对象坐标系三个坐标轴的投影,计算得到对象坐标系下的点变换到观察坐标系下的变换矩阵M,通过分别将单位向量(1,0,0),(0,1,0),(0,0,1)经过变换矩阵变换,得到在观察坐标系x′oy′平面的投影向量,计算向量长度得到在三个坐标轴投影方向上的单位长度。
本发明步骤二中,所述坐标计算部分包括以下步骤:步骤231,根据坐标轴投影方向以及在坐标轴投影方向上的单位长度计算关节点在所述三个方向上的分量分别作为关节点坐标的x分量,y分量和z分量;步骤232,将关节点的坐标经过变换矩阵变换得到观察坐标系坐标,利用观察坐标系坐标计算轮廓点的坐标;由此获得所有封闭区域轮廓边上轮廓点包括关节点的三维坐标,所述已计算三维坐标信息的封闭区域为三维封闭区域。
本发明步骤三中,基准面检测部分将草图的封闭区域分类为不同的封闭区域片,包括以下步骤:步骤321,在所有三维封闭区域中取一个未分类的三维封闭区域Ai,若所有封闭区域都已分类,则结束基准面检测,进行子曲面建模部分;否则,进行步骤322。步骤322,计算三维封闭区域Ai的一个投影平面pl,使得三维封闭区域Ai上任意轮廓点投影到该投影平面pl上的点都不同,初始化一个新的封闭区域片Area为新的三维封闭区域,并对所述新的三维封闭区域进行深搜封闭区域片过程,标记三维封闭区域为已分类;步骤323,将深搜封闭区域片过程结束得到的封闭区域片Area添加到封闭区域片集合中,并设置相应的投影平面为投影平面pl,转步骤321;所述深搜封闭区域片对与三维封闭区域相邻的每一个相邻三维封闭区域,若相邻三维封闭区域为未分类,计算相邻三维封闭区域的所有轮廓点在投影平面上的投影点,若满足任意点的投影点均不同,则将相邻三维封闭区域标记为已分类,添加到封闭区域片中,并以该相邻三维封闭区域为起始封闭区域,继续深搜封闭区域片。
本发明步骤三的子曲面建模部分中,若基准面对应单个区域的封闭区域片,则利用B样条曲面拟合的方法建模,若基准面对应多个区域的封闭区域片则利用水平级建模方法建模;所述水平级建模方法将封闭区域片对应的投影平面离散化为平面网格,并将封闭区域片各轮廓点在投影平面上的投影点也离散到最近的网格交叉点,计算相应的深度值为轮廓点到投影平面的带符号距离,以最小x坐标和最小y坐标点作为网格坐标原点,将此网格以及相应的深度值作为水平级建模方法的参数进行子曲面建模;所述B样条曲面拟合方法将封闭区域片中唯一的三维封闭区域的所有轮廓边重新划分为四条新的轮廓边,其中不相邻的两条轮廓边称为相对轮廓边,四条轮廓边则组成两组相对轮廓边,对相对轮廓边上的轮廓点重新采样相等数量的轮廓点,而这两组相对轮廓边上的轮廓点则组成了B样条曲面正交控制网格的外围控制点,用线性插值的方法插值内部控制点,从而得到正交控制网格,将网格上的控制点作为B样条曲面拟合的参数,进行子曲面建模。
本发明步骤三中,曲面拼接部分对建模得到的多个子曲面进行拼接,将所有具有公共轮廓边的子曲面拼接,最终得到整个三维模型,在对具有公共轮廓边的两个子曲面进行拼接时,包括以下步骤:步骤341,将具有公共轮廓边的两子曲面上各轮廓点通过缩放的方式,使得两子曲面的公共轮廓边长度相等,再将两子曲面上各轮廓点通过平移的方式,使得两子曲面的公共轮廓边的一个公共端点重合;步骤342,将经过平移缩放变换得到的两子曲面上各轮廓点再经过旋转变换,使得两子曲面的公共轮廓边都与z坐标轴正方向重合;步骤343,分别在两子曲面的公共轮廓边上按长度均匀采样相等数量的轮廓点并分别连接,完成拼接。
有益效果:本发明具有以下优点:首先,本发明允许用户利用手绘透视草图的方式绘制三维曲面模型;其次,本发明利用可见性与对称性特征,可以通过用户绘制的对称透视图自动识别出三维对称曲面模型的对称方向,并恢复模型的三维空间信息;最后,本发明可以根据两种曲面建模方法:水平级建模方法和B样条曲面拟合方法的建模特点对三维轮廓封闭区域分类为不同特点的封闭区域片,并利用这两种方法对其进行建模,进而利用曲面拼接的方法对建模子曲面进行离散混合拼接得到三维模型。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是本发明的处理流程示意图。
图2是本发明草图输入以及连接结果示意图。
图3是本发明十字交叉示意图。
图4是本发明T型交叉示意图。
图5是本发明笔画处理结果图。
图6是本发明封闭区域示意图。
图7是本发明封闭区域识别示意图。
图8是本发明对称关系推断的方法1示意图。
图9是本发明对称关系推断的方法2示意图。
图10是本发明对称性验证示意图。
图11是本发明隐藏轮廓推断示意图。
图12是本发明两相交区域示意图。
图13是本发明两相交区域的隐藏轮廓推断示意图。
图14是本发明三相交区域的直线连接示意图。
图15是本发明三相交区域的隐藏轮廓推断示意图。
图16是本发明错误对称假设下隐藏轮廓推断示意图。
图17a是本发明坐标轴确定示意图,图17b是本发明关节点坐标计算示意图。
图18是本发明对象坐标系XYZ与观察坐标系X′Y′Z′示意图。
图19是本发明交互点及其深度以及建模结果示意图。
图20是本发明利用B样条曲面拟合方法建模曲面控制点采样示意图
图21是本发明草图输入以及建模结果示意图。
具体实施方式:
本发明公开的利用透视草图创建三维曲面模型的方法,具体包括以下步骤(图1是整个方法的流程图):
步骤一,形状线索发现:将用户输入的草图笔划处理为由轮廓边和连接轮廓边的关节点组成的点边图,并识别封闭区域。
步骤二,三维视角恢复:包括对称关系识别、观察坐标系恢复和坐标计算三个部分,对称关系识别部分识别模型各元素之间的对称关系,并推断出隐藏轮廓线,观察坐标系恢复部分根据对称轴恢复模型的观察坐标系,坐标计算部分计算出轮廓点的空间三维坐标。
步骤三,三维模型重建:将草图的封闭区域分类为基准面对应多个区域的封闭区域片和基准面对应单个区域的封闭区域片,并相应的应用水平级建模方法和B样条曲面拟合方法建模为子曲面,对子曲面进行曲面拼接得到三维曲面模型。
本发明所述透视草图为在某一视角下的模型草图,要求该视角是最能反映模型三维信息的角度;另外,由于现实世界中的物体多数为对称对象或由对称对象组合而成,本发明处理对称的曲面模型。
下面具体介绍各个步骤的主要流程:
1.形状线索发现
形状线索发现过程将用户输入的草图笔划处理为由轮廓边和连接轮廓边的关节点组成的点边图G(V,E)(其中,E为处理之后的轮廓边,V为连接轮廓边的关节点),并识别出封闭区域。该部分分为笔划处理和封闭区域识别两步。
1.1.笔划处理
笔划处理部分处理用户的草图笔划,得到轮廓边集合以及轮廓边之间的连接信息。轮廓边通过关节点连接,如图5所示。
(1)连接断开的轮廓笔划。
本发明要求输入的草图为绘制清晰且较为连贯的轮廓笔划,允许用户在对同一条轮廓的绘制中间存在断开。本步骤的任务就是处理用户的笔划,将断开的轮廓连接,如图2,图2a是用户输入原始草图,图2b是将其中断开的笔划连接的结果。用户提交的草图是一张矢量图S(矢量图,在数学上定义为一系列由线连接的点,它与位图图像相对应),表现为基本笔划的序列,可表示为{si|i=1,...,n},其中si为用户绘制的一笔,即每次起笔和抬笔之间所绘的一笔,笔划所含的点采样连续,表示为{pj|j=1,...,m},其中,pj表示笔划中第j个采样点。本步骤检测所有笔划端点距离,若小于距离阈值εd,(所述距离阈值εd为在距离上接近到可以被认为是同一点的界限,取值范围为1~50,一般可以设定为10)则连接两端点。过程如下:
输入:原始草图S={si|i=1,...,n},si由采样点{pj|j=1,...,m}组成,pj的x和y坐标值均在[0,1000]之间
输出:连接之后的新草图S
步骤1设置初始笔划下标i为1。
步骤2判断下标i的范围,若下标i≤笔画总数n取笔划si,设置初始笔划下标j为下标i+1;否则,结束算法。
步骤3判断下标j的范围,若下标j>笔画总数n,转步骤7;否则取笔划sj。
步骤4分别计算笔划si和笔划sj端点的距离,即计算端点的欧氏距离distance(si.pk,sj.pl),其中下标k∈{1,mi},下标l∈{1,mj},整数mi、整数mj分别为笔划si、笔划sj的采样点总数。
步骤5判断各端点间距离的大小:若笔划si和笔划sj存在两端点的距离小于上述距离阈值εd,即l∈{1,mj},s.t.distance(si.pk,sj·pl)<εd,则连接笔划si和笔划sj的相应端点,更新草图S信息:将笔划si用新连接的笔划代替并更新采样点总数mi,删除笔划sj,更新草图S中的笔划总数n为笔划总数n-1,并设置重新取笔划sj:下标j为i+1;否则,设置取下一条笔划sj:下标j为j+1。
步骤6转步骤3。
步骤7判断笔划si是否封闭,计算笔划si两端点的欧氏距离distance(si.p1,si·pmi),若其值小于上述距离阈值εd,标记笔划si为封闭轮廓,设置下标i为i+1,转步骤1。
所述欧氏距离函数distance(p,q)为:
(2)分离相交轮廓,产生新的关节点与轮廓边。
笔划处理部分按交叉笔划的数量分为多笔划交叉和两笔划交叉两种情况。
多笔划交叉指三条以上包括三条笔划在同一点交叉的情况。这种情况将该交叉点作为新的关节点,将由该交叉点分离的几条笔划段作为新的轮廓边。
两笔划交叉指两条笔划在同一点交叉的情况。分为十字交叉和T型交叉两种情况。
十字交叉:两条笔划交叉,且交叉点不在端点处。如图3所示,笔划l1与l2交叉于点p,那么将点p作为新的关节点,将笔划l1在点p处分离成两段新的轮廓边,同样也将笔划l2在点p处分离成两段新的轮廓边。
T型交叉:一条笔划被另一条笔划的一端相交,如图4所示,笔划l1被笔划l2的一个端点p相交,这种相交有两种情况,一种情况是三维空间中两条笔划确实在端点处相交,这种情况直接分离相交笔划,产生关节点和轮廓边;另一种情况是三维空间中一条笔划部分被另一条笔划遮挡,这种情况不分离笔划,但将相交处的端点标记为遮挡点。
本发明提出根据交叉点处的曲率值大小来识别遮挡点。如图4a所示,若l1在p处的曲率值大于曲率阈值εc(所述曲率阈值εc取值范围为2~3,一般可以设定为2.5),则按照交叉情况将l1在p处分离为两条轮廓边,p作为新的关节点;相反,若p处的曲率小于上述曲率阈值εc,如图4b所示,则不分离l1,仅将p作为l2的一个遮挡点。
所述分离部分如下:
输入:草图S={si|i=1,...,n}
输出:分离之后的草图S,关节点集合Pvertex={pi|i=1,...,mv},遮挡点集合Phide={pi|i=1,...,mh}。
步骤1设置初始笔划下标i为1。
步骤2判断下标i的范围,若下标i小于等于采样点总数n取笔划si,设置初始笔划下标j为i+1。
步骤3判断下标j的范围,若下标j大于采样点总数n,转步骤7;否则取笔划sj。
步骤4判断笔划si和sj是否相交:若相交,计算相交点p′,将笔划si和sj在相交点p′处分离为四条笔划s′k,其中k=1,2,3,4,将笔划si和sj从草图S中删除,检测笔划s′k的长度length(s′k),若长度length(s′k)>上述距离阈值εd,则将笔划s′k添加进草图S,并更新草图S,将点p′添加进关节点集合Pvertex,设置重新取笔划sj:j为i+1,转步骤3;
步骤5计算笔划si的两端点si.pk(其中k∈{1,mi})到笔划sj的最近点sj.pl,若这两点之间的距离distance(si.pk,sj.pl)<上述距离阈值εd,则添加点sj.pl到点si.pk之后,计算笔划sj上的点pl处的曲率curvature(sj,l),若曲率值curvature(sj,l)小于上述曲率阈值εc,标记该点为遮挡点,并将其添加进遮挡点集合Phide;否则,将笔划sj在点pl处分离为两条笔划s′k,其中k=1,2,将笔划sj从草图S中删除,检测笔划s′k的长度length(s′k),若长度length(s′k)>上述距离阈值εd,则将笔划s′k添加进草图S,并更新草图S,将点pl添加进关节点集合Pvertex。
步骤6设置下标j为下标j+1,转步骤3继续取下一条笔划sj。
步骤7判断笔划si是否封闭,计算欧氏距离distance(si.p1,si.pmi),若其值小于上述距离阈值εd,标记笔划si为封闭轮廓,下标i增加1,转步骤1。
所述曲率计算函数curvature(s,l)为笔划s={pi|i=1,...,m}上点pl处的曲率值,公式如下:
其中,k表示计算相对曲率的窗口大小,j为求和变量,Ll-k,l+k表示以点pl-k和点pl+k为端点的直线段,Dis(pj,Ll-k,l+k)表示点pj到直线Ll-k,l+k的距离,Len(Ll-k,l+k)表示直线段Ll-k,l+k的长度。
所述长度函数length(s)表示笔划s={pi|i=1,...,m}的长度,公式如下:
至此,整个轮廓笔划被处理为轮廓边和关节点的集合,轮廓边由笔划采样点组成,所述采样点称为轮廓点,如图5所示,实心黑点表示关节点,空心点表示遮挡点,轮廓边通过关节点相邻。其中关节点分为两种,一种是不同的轮廓边相连接的部分,另一种为轮廓边的一个端点,其不与任何轮廓边连接,在三维空间中表现为轮廓的部分被遮挡的遮挡点。
1.2.封闭区域识别
封闭区域即为由轮廓边通过关节点相连包围得到的,其包围区域内不含有任何其他轮廓边,如图6中斜线阴影所表示的区域即为两个封闭区域。封闭区域表现为三维光滑曲面轮廓在二维草图平面的近似投影,作为接下来的识别部分的一个重要元素。
利用普通的搜索方法可以将点边图中由轮廓包围的区域识别出来,再检测包围区域中是否含有其他轮廓边,从而得到封闭区域,但由于普通的轮廓包围区域数量众多,搜索空间庞大,普通的搜索方法在时间上无法令人满意。本发明方法根据封闭区域中不含其他轮廓边这一特殊性,可以实时的检测并识别封闭区域。
对于每条轮廓边,至多相邻两个封闭区域,而如果给轮廓边指定方向,那么按轮廓边方向顺时针组成的封闭区域仅有一个,并且,由于封闭区域内无任何其他轮廓边,因此,按轮廓边方向搜寻的下一条可以组成封闭区域的轮廓边必然为逆时针方向最靠近的那条轮廓边,如图7所示,轮廓边A7B7,方向为从A7到B7,在B7点处搜寻的下一条轮廓边即为A7B7逆时针方向最近的轮廓边B7C7,从而得到顺时针封闭区域A7B7C7A7。这里会有一个特殊情况,即如图7中外轮廓A7C7D7E7A7按此方法也会被识别为封闭区域,因此识别部分中排除外轮廓即可。
递归检测封闭区域部分的所需变量:起始轮廓边为轮廓边sAB,关节点为A、B,轮廓边按上述方向为关节点A到关节点B,当前轮廓边为sCD,关节点为C、D,轮廓边按上述方向为关节点C到关节点D,当前封闭区域area。该递归检测封闭区域部分算法如下:
步骤1检测与关节点D相邻接的所有轮廓边sDP,计算轮廓边sCD和轮廓边sDP在关节点D处的切向量vCD和vDP,计算将切向量vCD以关节点D为轴点,逆时针旋转到与切向量vDP重合,所旋转的角度∠CDP,取所成角度最小的轮廓边sDPi。
步骤2判断轮廓边sDPi是否为起始轮廓边sAB:若为否,则转步骤3;否则,判断当前封闭区域area是否为外轮廓:若是外轮廓,则判定当前递归检测封闭区域部分失败,结束;否则,将当前封闭区域area添加进封闭区域集合中,并结束。
步骤3将轮廓边sDPi添加至当前封闭区域area末尾,继续进行下一步递归检测封闭区域部分:设置起始轮廓边为轮廓边sAB,关节点为A、B,轮廓边按上述方向为关节点A到关节点B,当前轮廓边为sDPi,关节点为D、Pi,轮廓边按上述方向为关节点D到关节点Pi,当前封闭区域area。
所述判断封闭区域area是否为外轮廓部分描述如下:
对封闭区域area中的每条轮廓边上的每个轮廓点p,分别计算直线x=xp和直线y=yp与其他轮廓边的夹角,若对轮廓边上的每个轮廓点p都同时满足下面四个条件中的任意一条,则判定该封闭区域area为外轮廓。
a)对其他任意轮廓边与直线x=xp的交点q,坐标值yq<yp。
b)对其他任意轮廓边与直线x=xp的交点q,坐标值yq>yp。
c)对其他任意轮廓边与直线y=yp的交点q,坐标值xq<xp。
d)对其他任意轮廓边与直线y=yp的交点q,坐标值xq>xp。
2.三维视角恢复
由于现实世界中多数物体都是对称物体或由对称物体组成,并且对称性特征也通常是在识别物体以及对其进行隐藏部分推断时的一个重要隐含线索。因此,三维视角恢复过程中运用了对称性特征对模型的隐藏轮廓进行推断,同时识别模型的对称关系,进而利用对称关系,恢复模型的观察坐标系,并对模型轮廓点进行坐标计算。整个过程分为三个部分:对称关系识别、观察坐标系恢复和坐标计算。
2.1.对称关系识别
对称关系识别过程通过枚举假设模型部分元素的对称关系,并运用对称性和可见性迭代检验判断其是否适用于整个模型,同时识别三维对称模型各关节点及封闭区域的对称关系,同时获得三维模型的隐藏轮廓补全。首先枚举可能自对称的轮廓边,在枚举的对称假设下,检测并推断封闭区域之间的对称关系,并根据对称性验证判断当前对称假设的正确性,再根据对称性推断非自对称封闭区域的隐藏对称镜像,并根据隐藏镜像的可见性判断当前假设的正确性。
2.1.1.对称假设
枚举所有轮廓边,假设为自对称轮廓边,即轮廓边自身对称,轮廓边两端关节点也互相对称。同时,与该轮廓边相邻的两个封闭区域即为自对称封闭区域,检测其对称性,其中自对称封闭区域即为自身对称的封闭区域,而相反称为非自对称封闭区域。
2.1.2.对称关系推断
在当前的对称假设下,根据如下方法推断封闭区域之间的对称关系:
方法1,若封闭区域中有一条轮廓边为自对称轮廓边,该封闭区域即为自对称封闭区域。按此方法,检测其余封闭区域是否为自对称封闭区域。
方法2,若两条轮廓边互相对称,且这两条轮廓边各自仅相邻一个未识别对称性的封闭区域,则这两个封闭区域为互相对称的非自对称封闭区域。按此性质,检测两两对称的轮廓边,及其相邻的相互对称的非自对称封闭区域。
根据这两条方法,推断出封闭区域中的自对称封闭区域以及非自对称封闭区域,并进行对称性验证,若对称性不正确,则判断当前的对称假设不正确,继续枚举其他轮廓边。若所有关节点、轮廓边以及封闭区域的对称关系已经检测出,则说明当前对称假设正确,完成对称关系识别部分;若当前对称关系推断部分并没有推断出新的对称关系,并且尚存在未推断对称关系的关节点,则说明当前对称假设不正确,继续枚举其他轮廓边。如图8中的线条81表示枚举假设的自对称轮廓边,图8中的线条82~85为根据方法1推断出来的自对称轮廓边。而图9中的线条91表示枚举假设的自对称轮廓边,线条92和线条93为对称性验证得到的相互对称的轮廓边,根据方法2,则推断出封闭区域94和封闭区域95为互相对称的非自对称封闭区域。
2.1.3.对称性验证
透视草图是三维模型的近似投影,但由于用户绘制习惯的差异以及草图的误差,草图不可能完全满足投影规则,本发明对称性验证方法主要通过判定草图中在一定范围内平行的直线在实际三维中平行以及相互对称点之间的轮廓边长度等比例来进行对称性验证。
由对称关系推断得到的自对称封闭区域或相互对称的非自对称封闭区域中必然存在一些已知对称关系的关节点,首先,对其余未知对称关系的关节点找与其对称的关节点或轮廓点:若存在另一未知对称关系的关节点与当前关节点连线与已知对称点连线夹角小于预先设定的平行阈值ε//(所述平行阈值ε//取值范围为0.05π~0.3π,一般可以设定为0.1π),则认为近似平行,这两个关节点则为相互对称;否则,过当前关节点找与已知的相互对称关节点连线近似平行的轮廓点,将此轮廓点作为新的关节点,与当前关节点相互对称。这样得到了关节点的对称关系,从而关节点之间的轮廓边的对称关系也可知。接下来寻找相互对称的轮廓边上的各轮廓点之间的对称关系,按长度比例计算轮廓点的对称点,如图10,A10D10与B10C10是相互对称的轮廓边,假定A10D10的长度为l1,B10C10的长度为l2,那么A10D10上一轮廓点p10(A10p10的长度为a10)与B10C10上一轮廓点q10(B10q10的长度为b10)对称,当且仅当a10/l1=b10/l2。这时封闭区域轮廓边上的所有轮廓点的对称关系已经找出,直线连接相互对称的轮廓点,计算这些连线与已知相互对称关节点连线夹角,若夹角小于上述平行阈值ε//,则说明满足平行性条件;否则说明对称性错误,该封闭区域在已知条件下不对称。
2.1.4.隐藏轮廓推断
被遮挡的隐藏轮廓,视觉上可能按照两种方式猜测,一种是可见部分的延伸,另外一种是可见部分的对称。基于这两种视觉上的猜测方式,本发明方法的隐藏轮廓推断也有两种方式。
按形状线索发现部分所述,遮挡点在三维空间中表示其相连轮廓有部分被遮挡,因此对遮挡点处的轮廓边进行延长线隐藏轮廓推断。将具有遮挡点的轮廓边在遮挡点处按切线方向延长,若延长线与某关节点(包括遮挡点)距离小于一个阈值εr(所述阈值εr取值范围为1~50,一般可以设定为10),且该关节点处有一条轮廓的切线方向与延长线方向差值小于共线阈值εl(所述共线阈值εl取值范围为0.05π~0.15π,一般可以设定为0.1π),则连接延长线与该关节点。若延长线与某轮廓边相交,检测该轮廓边在相交点处的切线方向,若与延长线方向差值小于上述共线阈值εl,则连接延长线与该交点,并将轮廓按相交点分离。若推断的延长线不是隐藏的(即推断的延长线可见了),则取消推断操作。遮挡点处的隐藏轮廓推断如图11a所示。
另外对一部分未识别对称性的封闭区域根据当前的对称假设,推断其对称镜像。这部分未识别对称性的封闭区域必须满足其部分轮廓边的对称关系已识别。如图11b所示,对封闭区域111的镜像推断。
下面详细说明这一推断部分,其中以相交区域单元为推断的最小单元。
相交区域单元为两个或三个封闭区域在同一关节点处两两相交的单元对象,在整个检测部分中通过不断的迭代识别这些单元对象,推断其中的隐藏轮廓,而将整个三维模型的隐藏轮廓推断出来。这里的相交区域单元为两个或三个封闭区域在同一关节点相交的情况,其他的四个或四个以上封闭区域在同一关节点相交的情况可以通过这两个或三个封闭区域相交的情况表示。下面分别对这两种相交区域单元进行隐藏轮廓推断:
两相交区域,即一个关节点处仅有两个封闭区域相交,且这两个封闭区域相交的公共轮廓边与该关节点相连,如图12中封闭区域A12B12C12D12和B12C12E12在点B12或点C12处相交。对于两个区域同时为非自对称封闭区域或同时为自对称封闭区域的情况,无法通过对称性推断其中的隐藏轮廓,而用户绘制时必然选择合适的视角绘制模型,因此基本不会出现这种情况。那么,下面详细叙述一个自对称一个非自对称封闭区域的情况。直线连接两封闭区域的公共轮廓边的两个端点,取公共轮廓边上与该直线垂直距离最远的点,如图13a轮廓边B13C13上的点G13,在自对称封闭区域上找其对称点,如图13a轮廓边A13D13上的点F13,检测C13G13和G13B13的夹角α,若夹角α小于上述平行阈值ε//,即公共轮廓边为直线的情况,如图13b,直线连接C13D13,过A13点作B13E13的平行线与过E13点作C13D13的平行线交于H13,直线连接D13H13,如图13c,即完成该相交单元的隐藏轮廓直线推断;若夹角α超过上述平行阈值ε//,直线连接F13G13,这样得到自对称封闭区域A13B13F13G13和C13D13F13G13,两相交区域的情况则转换为三相交区域的情况。
三相交区域,类似于两相交区域,由于其他情况都会产生较大歧义,且可以通过选择合适的视角避免这种歧义,实际只存在两个自对称封闭区域和一个非自对称封闭区域的情况。如图14a所示为检测到的一个三相交区域,其中A14B14C14D14和A14E14F14B14是已检测出的自对称封闭区域,而C14B14F14G14为非自对称封闭区域,直线连接相邻关节点,如图14b中的虚线,由于自对称封闭区域上关节点互相对称,如图14中的A14和B14、C14和D14、E14和F14,因此直线连接得到的多面体相应的封闭区域仍为自对称封闭区域,如图14c。这里,假设同一封闭区域上的关节点共面。另外根据两条直线在一定范围内平行判断其在三维中也平行。
在多面体中,检测非对称面的任意两非相邻边,例如图15中的B15C15和F15G15。
(a)若B15C15//F15G15,那么与该非对称面相对称的面中,相应的两边同样也平行,如图15a,作E15H15//A15D15,G15H15//E15F15,两者相交于H15,连接D15H15,完成推断。
(b)若不平行,则延长B15C15和G15F15的两端使得它们相交,如图15b,延长C15B15、G15F15相交于I15,将B15C15所在的对称面的对称轴向同方向延长,与过I15点且与对称公共线平行的直线交于一点,如图15b中的J15,连接该点与另一条对称线的中点并延长,与过G15点且与对称公共线平行的直线交于一点,如图15b中的Q15,该点即为G15点相邻的隐藏边中点,延长该隐藏边G15Q15到H15,使得|Q15H15|=|G15Q15|,连接H15E15和H15D15,完成推断。
至此,对于整个多面体的隐藏轮廓推断已经完成,相交区域单元的隐藏轮廓推断严格来说还没有完成,只是对直线进行了推断,而曲线尚未推断,然而这里隐藏轮廓推断的意义在于帮助检测当前的对称性假设是否合理以及关节点的对称关系,有了直线推断,就可以对其进行这一验证。
接下来,对隐藏轮廓边进行可见性验证,若隐藏轮廓边有部分可见,则说明该隐藏轮廓推断不正确,进而说明当前对称假设不正确,继续枚举其他轮廓边;否则,引入隐藏轮廓边,并更新封闭区域,将有隐藏轮廓边参与的封闭区域与初始封闭区域一同进行对称关系推断。
2.1.5.可见性验证
若对称假设正确,则推断出的隐藏轮廓必然不可见,即被原始封闭区域遮挡,可见性检测部分就是检测隐藏轮廓是否有部分不被遮挡。如图16所示,若对称假设的自对称轮廓边为线条161所示轮廓边,那么在此假设下,对封闭区域162的对称镜像推断为封闭区域163,然而判断封闭区域163可见,则说明此对称假设不正确。
2.2.观察坐标系恢复
观察坐标系恢复部分根据对称关系恢复模型的观察坐标系。
(1)确定水平基准面
计算二维草图坐标y值最小的一条非自对称轮廓边,将该轮廓边与其对称轮廓边所在的面作为水平基准面;
(2)建立对象坐标系
以水平基准面的中点为原点o,以水平基准面为xoy平面,水平基准面上的对称轴为x轴,对称点连线为y轴,根据文献5,设置x轴和y轴所构成的钝角的角平分线为z轴,绘制出对象坐标系在草图平面的投影,如图17a;投影变换的角度来说,草图平面即为观察平面,假设该平面为观察坐标系X′Y′Z′的x′oy′平面,坐标原点为对象坐标系原点,x′轴水平向右,y′轴竖直向上,而z′轴则为垂直于观察平面且与x′y′轴呈右手系,如图18。
(3)变换矩阵和单位长度计算
投影变换的角度来说,图17a所建立的对象坐标系,实际上是对象坐标系XYZ坐标轴在观察平面中的投影,记为px,py,pz,这三个向量表示了对象坐标系坐标轴在观察平面中的投影方向,但坐标轴上单位向量的投影长度无法确定,需要进一步计算变换矩阵得到。
将空间中对象坐标系下的任意点p(x,y,z)随着观察坐标系X′Y′Z′旋转并使得观察坐标系X′Y′Z′与对象坐标系XYZ重合,可以得到空间中的点在观察坐标系X′Y′Z′下的坐标p′(x′,y′,z′)。假设观察坐标系先后绕x、y、z轴旋转α、β、γ后与对象坐标系重合,则变换矩阵M即为:
M=Rz(γ)·Ry(β)·Rx(α) (1)
其中:
计算得:
对于原对象坐标系下x、y、z轴上的单位向量(1,0,0),(0,1,0),(0,0,1)经过M变换后得到在观察坐标系下x、y、z轴上单位向量的坐标表示,而其在观察平面x′oy′平面上的坐标(也就是投影坐标)即为:
u=(cosγcosβ,sinγcosβ)
v=(-sinγcosα+cosγsinβsinα,cosγcosα+sinγsinβsinα) (4)
w=(sinγsinα+cosγsinβcosα,-cosγsinα+sinγsinβcosα)
而在观察平面上x、y、z轴投影px,py,pz正向上任意点的坐标可计算为(x′x,y′x),(x′y,y′y),(x′z,y′z),根据其方向相同,可见:
(cosγcosβ)/(sinγcosβ)=x′x/y′x (5)
(-sinγcosα+cosγsinβsinα)/(cosγcosα+sinγsinβsinα)=x′y/y′y (6)
(sinγsinα+cosγsinβcosα)/(-cosγsinα+sinγsinβcosα)=x′z/y′z (7)
由于用户习惯的视角不与任何坐标平面平行,而且这种视角下可以更容易更清楚的表达三维物体,因此这里有cosα≠0且cosβ≠0且cosγ≠0,公式(5)(6)(7)可转化为:
tanγ=y′x/x′x (8)
sinβtanα=(x′xx′y+y′xy′y)/(x′xy′y-y′xx′y) (9)
(x′xx′z+y′xy′z)tanα+(x′xy′z-y′xx′z)sinβ=0(10)
另外由于所取点为坐标轴正向上的点,因此点坐标的符号应与变换所得投影点的符号相同,即:
(cosγcosβ)·x′x>0 (11)
(sinγcosβ)·y′x>0 (12)
(-sinγcosα+cosγsinβsinα)·x′y>0 (13)
(cosγcosα+sinγsinβsinα)·y′y>0 (14)
(sinγsinα+cosγsinβcosα)·x′z>0 (15)
(-cosγsinα+sinγsinβcosα)·y′z>0 (16)
由公式(11)-(16)可得一组α、β、γ的值,根据公式(3)可得变换矩阵M,根据公式(4)以及长度公式,计算出|u|,|v|,|w|三个量即为单位长度。
2.3.坐标计算
坐标计算部分计算出轮廓点的空间三维坐标。
(1)关节点三维信息计算
接下来可以根据表示x轴y轴z轴投影的单位向量u,v,w以及对称关系计算关节点在对象坐标系下的坐标。
对任意关节点,首先计算其与对称点连线中点的坐标。如图17b,对称点A17、B17的连线中心点为N,由于N在对称平面上,因此N点的y坐标即为0,作平行于z轴的直线NNx交x轴于点Nx,作平行于x轴的直线NNz交z轴于点Nz,那么N的三维坐标即为(NNz,0,NNx)。
然后根据中心点坐标计算关节点坐标。如图17b,由于对称点A、B的连线平行于y轴,因此A17、B17的x、z坐标与N相等,而y坐标即为带符号的A17N和B17N,即A17坐标为(NNz,|A17N|,NNx),B17坐标为(NNz,-|B17N|,NNx)。
(2)轮廓点三维坐标计算
本发明的本步骤使用本领域的常规方法可以达到轮廓点三维坐标计算的目的。对于各轮廓边,已知两端关节点在对象坐标系XYZ下的坐标(x,y,z),根据变换矩阵M,可以得到观察坐标系下X′Y′Z′的坐标(x′,y′,z′),即得到投影坐标(x′,y′)以及深度值z′,通过深度插值的方法可以恢复出轮廓点的深度,再根据M-1,得到轮廓点在对象坐标系下的坐标,具体的进一步描述,可以参考文献9Das,K.,Diaz-Gutierrez,P.,and Gopi,M.2005.Sketching free-form surfaces using network of curves.In EUROGRAPHICSWorkshop on Sketch-Based Interfaces and Modeling.,本步骤的计算,并不只有文献中所记载的方法可以实现,根据本发明的描述,本领域技术人员看到本步骤,都能够实现。
3.三维模型重建
将三维封闭区域分类为不同的封闭区域片,所述封闭区域片为由相邻的封闭区域组成的封闭区域集合
3.1.方法介绍
(1)水平级建模方法
文献10Liu Y,Tang K,Joneja A(2005)Sketch-based free-form shape modelling witha fast and stable numerical engine.Comput Graph 29:771-786.中提出了一种混合薄盘子模型(如公式(17)所示)来特征化带有多种连续属性的曲面局部信息。
公式(17)的离散表示为:
zh是Ω的离散形式Ωh的n个网格向量的包含深度值的列向量,Q是海塞矩阵(Hessian matrix),对于函数f(x1,x2,...,xn),如果f的所有二阶导数都存在,那么f的海塞矩阵就为:
H(f)ij(x)=DiDjf(x) (19)
其中x=(x1,x2,...,xn),Di是对第i个变元的微分算子。
而对于存在多个点深度特征的曲面,则是添加多个公式(20)的深度约束,将这些约束写成矩阵形式即为如公式(21)所示,其中C是m×n,秩为m(m<n)的控制矩阵,d是m维的深度向量。
C·zh=d (21)
图19a是对一个网格点添加的深度约束图,图19b和图19c是在该深度约束的建模效果图。
网格曲面点的深度可以通过添加深度控制约束,从而求解下述线性受限的二次最小化问题得到。
寻找一个最小化二次函数的解:
使其满足Cu=d约束
其中Q是n×n的矩阵,秩为n,C是m×n的矩阵,秩为m,m<n。因此,应用Lagrange乘法可知,函数在点u∈μ处存在一个相对极值的必要条件是以下线性系统有解(u,λ)∈Rn+m,其中集合μ={vh∈Ωh:Cvh=b}。
令,
数学上等价于下面系统的解
(m+n)×(m+n)线性系统可以通过两个小的子系统解决。
(a)通过解m×m线性子系统-CQ-1CTλ=d计算m维向量λ。
(b)通过解n×n线性子系统Qu=-CTλ计算n维向量u。
运用这种方法创建的曲面模型满足两个特征:一个是存在一个投影平面,使得曲面模型上任意点投影到投影平面上的点都不同,另一个是曲面模型投影到该投影平面时各点的深度值有差异。
(2)B样条曲面拟合
根据文献11Donald Hearn & M.Pauline Baker.计算机图形学,北京:清华大学出版社.1998.中关于B样条曲面的介绍,给定由两组正交控制点构成的控制网格,即可利用B样条曲面逼近控制网格的方法建模曲面。
3.2.区域分类
枚举所有三维封闭区域,直线连接其关节点,得到一个平面,将此平面作为投影平面,以当前封闭区域为起始封闭区域搜索相连的封闭区域,若其满足区域轮廓上任意轮廓点对应当前投影平面的唯一点,则将该封闭区域添加进区域片,继续搜索,直到不满足条件为止。这样可以得到对应于不同投影平面的多个封闭区域片,以及封闭区域片的投影信息ProjectInfo,包括每个点的二维投影坐标p(xp,yp)以及到投影平面的深度值d。整个过程描述如下:
输入:三维轮廓边S={si|i=1,...,n},三维封闭区域Area={Ai|i=1,...,na}
步骤1取下一个未分类的三维封闭区域Ai,若无这样的封闭区域,则结束算法。
步骤2直线连接三维封闭区域Ai的关节点,计算得到投影平面pl,初始化封闭区域片AS为空集Φ,搜索三维封闭区域Ai邻接的区域片:搜索邻接区域片过程dfsArea,设置当前封闭区域为三维封闭区域Ai,当前投影平面为投影平面pl,当前封闭区域片尾封闭区域片AS。
步骤3添加封闭区域片AS到封闭区域片集合AreaSet,并设置相应的投影平面为pl,转步骤1。
所述搜索邻接区域片过程dfsArea如下:
输入:当前封闭区域Ai,当前投影平面pl,当前封闭区域片AS
输出:当前封闭区域片AS
步骤1添加封闭区域Ai到封闭区域片AS中,计算封闭区域Ai的投影信息ProjectInfoi,标记封闭区域Ai为已分类,并标记其对应的投影平面为pl。
步骤2枚举与封闭区域Ai邻接的下一个未分类的封闭区域Aj,若无这样的封闭区域,结束算法
步骤3将封闭区域Aj投影到投影平面pl,若满足封闭区域Aj轮廓上任意轮廓点都有唯一的投影点,则搜索封闭区域Aj:dfsArea(Aj,pl,AS)。
步骤4转步骤2。
3.3.子曲面建模
对这些封闭区域片建模,若封闭区域片中仅含有一个封闭区域,则利用B样条曲面拟合的方法建模曲面,其他含有多个封闭区域的区域片则利用水平级建模方法建模。最终建模为多个子曲面。
对于多个封闭区域组成的封闭区域片,3.2区域分类过程已得到将封闭区域片各轮廓边上的轮廓点投影到相应的投影平面的投影信息ProjectInfo,包括二维投影坐标p(xp,yp)以及到投影平面的深度值d,其中xp的范围是[xmin,xmax],yp的范围是[ymin,ymax]。将投影坐标离散化为网格大小为g(即相邻网格点之间的距离)的平面网格上,网格左下角为网格原点位置。将点(xmin,ymin)移动到网格原点,那么投影点p的网格坐标即为:
d′=d/g
水平级建模过程描述如下:
输入:封闭区域片AS,投影信息ProjectInfo,网格大小g,离散化后网格点深度Depth={depthi,j|i=0,...,w,j=0,...,h},网格宽w高h。
输出:离散曲面surface
步骤1初始化网格深度Depth为全0。
步骤2对封闭区域片AS中的每条轮廓边si上的每个轮廓点的投影点pj,根据公式(26)计算其网格坐标pg,设置网格点深度:depthx′y′←d′。
步骤3根据网格点深度Depth中的非零点,将其以公式(20)的形式添加到控制矩阵C中。
步骤4求解公式(25)的线性系统重建曲面得到离散曲面surface。
对于其余单个三维封闭区域组成的封闭区域片,将封闭区域片中唯一的三维封闭区域的所有轮廓边重新划分为四条新的轮廓边,其中不相邻的两条轮廓边称为相对轮廓边,四条轮廓边则组成两组相对轮廓边,对相对轮廓边上的轮廓点重新采样相等数量的轮廓点,而这两组相对轮廓边上的轮廓点则组成了B样条曲面正交控制网格的外围控制点,用线性插值的方法插值内部控制点,从而得到正交控制网格。所述步骤如下:
步骤1将封闭区域片中唯一的三维封闭区域所有轮廓边重新划分为四条新的轮廓边,优先以关节点划分,将这四个划分点依次表示为点A20、点B20、点C20和点D20,如图20所示,将轮廓边A20B20和轮廓边D20C20重新均匀采样相等数量的轮廓点,分别记为点A20 1,点A20 2,…,点A20 k,和点C20 1,点C20 2,…,点C20 k,轮廓边C20B20和轮廓边D20A20也重新均匀采样相等数量的轮廓点,分别记为点B20 1,点B20 2,…,点B20 l,和点D20 1,点D20 2,…,点D20 l。
步骤2枚举所有的下标i,其中下标i=1,2,…,k,在点A20 i和点C20 i之间插值l个点,表示为Qi={qi,j|j=1,2,…,l},计算点qi,j,其中j=1,2,…,l,直线连结点D20 j和点B20 j,在直线D20 jB20 j上插值点qi,j,使其满足:
依次连接点A20 i、点qi,l、点qi,l-1、…、点qi,1、点C20 i,得到插值曲线A20C20 i。
步骤3枚举所有的下标i,其中下标i=1,2,…,l,在点B20 i和点D20 i之间插值k个点,表示为Wi={wi,j|j=1,2,…,k},计算点wi,j,其中j=1,2,…,k,直线连结点A20 j和点C20 j,在直线A20 jC20 j上插值点wi,j,使其满足:
依次连接点D20 i、点wi,1、点wi,2、…、点wi,k、点B20 i,得到插值曲线D20B20 i。
步骤4将插值曲线A20C20 i和插值曲线D20B20 j的交点作为控制点pi,j,加上轮廓边上的轮廓点得到所需的控制网格点,将其作为B样条曲面拟合的参数,建模子曲面。
3.4.曲面拼接
对建模得到的多个子曲面进行曲面拼接。对具有公共轮廓边的两子曲面进行拼接时,首先通过缩放以及旋转变换将两子曲面公共轮廓边的两关节点重合,在两子曲面公共轮廓边上都均匀采样n个点,并将分别在这两个子曲面上的n个点一一对应连接完成拼接,具体步骤如下:
输入:具有公共轮廓边的两个三维封闭区域所建模得到的子曲面surface和子曲面surface′,公共轮廓边在这两子曲面上分别为轮廓边AB和轮廓边A′B′,并且在三维封闭区域结构中点A和点A′重合,点B和点B′重合。
输出:由子曲面surface和子曲面surface′拼接而得到的新的子曲面。
步骤1将两子曲面上各点进行平移,使得点A和点A′与坐标原点重合,根据轮廓边AB和轮廓边A′B′的长度lAB和lA′B′,将长度较短的一个子曲面上所有点放大,使得公共轮廓边AB和轮廓边A′B′的长度一致。假设此处长度lAB<lA′B′,则子曲面surface和子曲面surface′上各点根据以下公式变换:
步骤2将经过平移缩放变换得到的两个子曲面再经过旋转变换,使得轮廓边AB和轮廓边A′B′与z坐标轴正方向重合,从而点A和点A′重合,点B和点B′重合。子曲面surface和子曲面surface′的旋转矩阵公式如下:
步骤3分别在轮廓边AB和轮廓边A′B′上按长度均匀采样n个点,分别为点p1,...,pn,和点p′1,...,p′n,分别连接pi,p′i,其中i=1,...,n,完成拼接。
本发明中,如图21a所示的手绘草图平面透视图输入,通过本发明所述的创建三维曲面模型的方法,处理成如图21b所述的三维曲面模型空间立体图。
本发明提供了一种利用透视草图创建三维曲面模型的方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (7)
1.一种利用透视草图创建三维曲面模型的方法,其特征在于,包括以下步骤:
步骤一,形状线索发现:从输入的透视草图中识别出由轮廓边和连接轮廓边的关节点组成的点边图G(V,E),其中,E为轮廓边,V为连接轮廓边的关节点;识别出封闭区域,所述封闭区域即为由轮廓边通过关节点相连得到的包围区域,其包围区域内不含有任何其他轮廓边;轮廓边由草图笔划采样点组成,所述采样点称为轮廓点;轮廓点的草图坐标系原点为草图的左下角,x轴水平向右,y轴竖直向上;
步骤二,三维视角恢复:包括对称关系识别、观察坐标系恢复和坐标计算三个步骤;
对称关系识别识别模型各元素之间的对称关系,并推断出隐藏轮廓线,所述模型各元素指的是模型中的关节点、轮廓边和封闭区域;所述对称关系即关节点与关节点、轮廓边与轮廓边、以及封闭区域与封闭区域互相对称的关系;
观察坐标系恢复根据所述对称关系计算模型的观察坐标系;
坐标计算用于计算轮廓点的空间三维坐标;
步骤三,三维模型重建:包括基准面检测、子曲面建模和曲面拼接三个步骤;
基准面检测将草图的封闭区域分类为基准面对应多个区域的封闭区域片和基准面对应单个区域的封闭区域片;所述封闭区域片为相邻接的封闭区域集合;
子曲面建模将封闭区域片建模为子曲面,即对基准面对应多个区域的封闭区域片和基准面对应单个区域的封闭区域片进行建模;
曲面拼接部分对子曲面进行拼接得到三维曲面模型;
步骤二中,所述对称关系识别部分包括以下步骤:
步骤211,对称假设:枚举轮廓边,假设为自对称轮廓边,即轮廓边自身对称且轮廓边两端关节点也互相对称;
步骤212,对称关系推断:根据假设的模型元素之间的对称关系以及已推断出的模型元素之间的对称关系,推断部分封闭区域之间的对称关系;若所有关节点、轮廓边以及封闭区域的对称关系能正确检测出,则进行观察坐标系恢复步骤;若当前对称关系推断部分没有推断出新的封闭区域之间的对称关系,且还存在未推断出对称关系的关节点,则返回步骤211继续枚举其他轮廓边;否则进行步骤213;
步骤213,对称性验证:根据推断出的封闭区域之间的对称关系,首先验证所述封闭区域中各个关节点之间的对称关系,然后验证所述封闭区域中的轮廓边之间的对称关系,进而验证相互对称的轮廓边上的轮廓点之间的对称关系;若验证出任意关节点、轮廓边或轮廓点的对称关系错误,则判断当前的对称假设错误,返回步骤211继续枚举其他轮廓边,否则进行步骤214;
步骤214,隐藏轮廓推断:包括两种推断方式:一是对遮挡点处的隐藏轮廓进行推 断,二是对未识别对称性的封闭区域根据当前的对称假设,推断其对称镜像,从而推断出隐藏轮廓;所述未识别对称性的封闭区域满足两个条件:一是没有推断出其对称性,二是其部分轮廓边的对称关系已识别;所述对称镜像是指与已知封闭区域对称,但被遮挡的封闭区域;
步骤215,可见性验证:验证隐藏轮廓的可见性,若隐藏轮廓可见,则判定当前的对称假设错误,返回步骤211;否则,将隐藏轮廓作为隐藏轮廓边,所述隐藏轮廓边为被遮挡的轮廓边,以隐藏轮廓边为起始边进行封闭区域检测,得到新的包含隐藏轮廓边的封闭区域,进行步骤212;
步骤三中,基准面检测部分将草图的封闭区域分类为不同的封闭区域片,包括以下步骤:
步骤321,在所有三维封闭区域中取一个未分类的三维封闭区域Ai,若所有封闭区域都已分类,则结束基准面检测,进行子曲面建模部分;否则,进行步骤322;
步骤322,计算三维封闭区域Ai的一个投影平面pl,使得三维封闭区域Ai上任意轮廓点投影到该投影平面pl上的点都不同,初始化一个新的封闭区域片Area为新的三维封闭区域,并对所述新的三维封闭区域进行深搜封闭区域片过程,标记三维封闭区域为已分类;
步骤323,将深搜封闭区域片过程结束得到的封闭区域片添加到封闭区域片集合中,并设置相应的投影平面为投影平面pl,转步骤321;
所述深搜封闭区域片对与三维封闭区域相邻的每一个相邻三维封闭区域,若相邻三维封闭区域为未分类,计算相邻三维封闭区域的所有轮廓点在投影平面上的投影点,若满足任意点的投影点均不同,则将相邻三维封闭区域标记为已分类,添加到封闭区域片中,并以该相邻三维封闭区域为起始封闭区域,继续深搜封闭区域片。
2.根据权利要求1所述的一种利用透视草图创建三维曲面模型的方法,其特征在于,步骤一还包括连接断开的轮廓边笔划,即将两个笔划端点距离小于一定阈值的两个笔划的两个端点连接。
3.根据权利要求1所述的一种利用透视草图创建三维曲面模型的方法,其特征在于,步骤一中将输入草图的笔划识别为由轮廓边和连接轮廓边的关节点组成的点边图G(V,E)具体包括分离相交叉轮廓,产生新的关节点与轮廓边:
首先按交叉笔划的数量分为多笔划交叉和两笔划交叉;
如果为多笔划交叉则将该交叉点作为新的关节点,将由所述新的关节点分离的笔划段作为新的轮廓边,所述多笔划为笔划数大于等于3;
如果为两笔划交叉,则分为十字交叉和T型交叉;如果两个相交叉轮廓为十字交 叉,则将两条轮廓的交叉点作为新的关节点,将两个相交叉的轮廓各自由所述新的关节点分成的两段作为新的轮廓边;如果相交叉的轮廓为T型交叉,则根据轮廓边在交叉点处的曲率大小,判断T型交叉点是否为遮挡点,所述遮挡点为实际三维模型中轮廓一端被遮挡的点;如果是遮挡点,则轮廓保持原样,如果不是遮挡点,则将该T型交叉点作为新的关节点,并将相交轮廓由所述新的关节点分成两段作为新的轮廓边。
4.根据权利要求3所述的一种利用透视草图创建三维曲面模型的方法,其特征在于,步骤二中,所述观察坐标系恢复部分包括以下步骤:
步骤221,确定水平基准面:计算二维草图坐标y值最小的一条非自对称轮廓边,将该轮廓边与其对称轮廓边所在的面作为水平基准面;
步骤222,建立对象坐标系:以水平基准面的中点为原点o,以水平基准面为平面xoy,水平基准面上的对称轴为x轴,对称点连线为y轴,x轴和y轴所构成的钝角的角平分线为z轴,绘制出对象坐标系在草图平面的投影;以草图平面为x′oy′平面,以对象坐标系原点为原点o,草图平面水平向右方向为x′轴,竖直向上方向为y′轴,而z′轴则为垂直于草图平面与x′y′轴呈右手系,建立观察坐标系;
步骤223,变换矩阵和单位长度计算:根据对象坐标系中x、y、z轴上的单位向量(1,0,0),(0,1,0),(0,0,1)在观察坐标系x′oy′面的投影方向,即步骤222所述的对象坐标系三个坐标轴的投影,计算得到对象坐标系下的点变换到观察坐标系下的变换矩阵M,通过分别将单位向量(1,0,0),(0,1,0),(0,0,1)经过变换矩阵变换,得到在观察坐标系x′oy′平面的投影向量,计算向量长度得到在三个坐标轴投影方向上的单位长度。
5.根据权利要求4所述的一种利用透视草图创建三维曲面模型的方法,其特征在于,步骤二中,所述坐标计算部分包括以下步骤:
步骤231,根据坐标轴投影方向以及在坐标轴投影方向上的单位长度计算关节点在所述三个方向上的分量分别作为关节点坐标的x分量,y分量和z分量;
步骤232,将关节点的坐标经过变换矩阵变换得到观察坐标系坐标,利用观察坐标系坐标计算轮廓点的坐标;由此获得所有封闭区域轮廓边上轮廓点包括关节点的三维坐标,所述已计算三维坐标信息的封闭区域为三维封闭区域。
6.根据权利要求5所述的一种利用透视草图创建三维曲面模型的方法,其特征在于,步骤三的子曲面建模部分中,若基准面对应单个区域的封闭区域片,则利用B样条曲面拟合的方法建模,若基准面对应多个区域的封闭区域片则利用水平级建模方法建模;
所述水平级建模方法将封闭区域片对应的投影平面离散化为平面网格,并将封闭区域片各轮廓点在投影平面上的投影点也离散到最近的网格交叉点,计算相应的深度值 为轮廓点到投影平面的带符号距离,以最小x坐标和最小y坐标点作为网格坐标原点,将此网格以及相应的深度值作为水平级建模方法的参数进行子曲面建模;
所述B样条曲面拟合方法将封闭区域片中唯一的三维封闭区域的所有轮廓边重新划分为四条新的轮廓边,其中不相邻的两条轮廓边称为相对轮廓边,四条轮廓边则组成两组相对轮廓边,对相对轮廓边上的轮廓点重新采样相等数量的轮廓点,而这两组相对轮廓边上的轮廓点则组成了B样条曲面正交控制网格的外围控制点,用线性插值的方法插值内部控制点,从而得到正交控制网格,将网格上的控制点作为B样条曲面拟合的参数,进行子曲面建模。
7.根据权利要求1所述的一种利用透视草图创建三维曲面模型的方法,其特征在于,步骤三中,曲面拼接部分对建模得到的多个子曲面进行拼接,将所有具有公共轮廓边的子曲面拼接,最终得到整个三维模型,在对具有公共轮廓边的两个子曲面进行拼接时,包括以下步骤:
步骤341,将具有公共轮廓边的两子曲面上各轮廓点通过缩放的方式,使得两子曲面的公共轮廓边长度相等,再将两子曲面上各轮廓点通过平移的方式,使得两子曲面的公共轮廓边的一个公共端点重合;
步骤342,将经过平移缩放变换得到的两子曲面上各轮廓点再经过旋转变换,使得两子曲面的公共轮廓边都与z坐标轴正方向重合;
步骤343,分别在两子曲面的公共轮廓边上按长度均匀采样相等数量的轮廓点并分别连接,完成拼接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102866890A CN101937579B (zh) | 2010-09-20 | 2010-09-20 | 一种利用透视草图创建三维曲面模型的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102866890A CN101937579B (zh) | 2010-09-20 | 2010-09-20 | 一种利用透视草图创建三维曲面模型的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101937579A CN101937579A (zh) | 2011-01-05 |
CN101937579B true CN101937579B (zh) | 2012-03-28 |
Family
ID=43390891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102866890A Expired - Fee Related CN101937579B (zh) | 2010-09-20 | 2010-09-20 | 一种利用透视草图创建三维曲面模型的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101937579B (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102945569B (zh) * | 2012-10-23 | 2015-04-29 | 西北工业大学 | 一种基于热核信号的三维模型对称性分析方法 |
CN103729510B (zh) * | 2013-12-25 | 2016-09-14 | 合肥工业大学 | 基于内蕴变换的三维复杂模型精确镜像对称性计算方法 |
CN103824322B (zh) * | 2014-01-14 | 2017-05-31 | 清华大学 | 利用透视关系交互创建三维曲线的方法及系统 |
CN103985152B (zh) * | 2014-01-15 | 2017-01-25 | 浙江工业大学 | 基于二维手绘线画图的三维对称自由形体生成方法 |
US9171403B2 (en) * | 2014-02-13 | 2015-10-27 | Microsoft Technology Licensing, Llc | Contour completion for augmenting surface reconstructions |
CN104143211B (zh) * | 2014-06-20 | 2017-01-25 | 浙江工业大学 | 基于单幅图像的三维自由形体生成方法 |
CN104252715B (zh) * | 2014-09-05 | 2017-05-03 | 北京大学 | 一种基于单幅线条图像的三维立体重建方法 |
CN104504194A (zh) * | 2014-12-20 | 2015-04-08 | 西安工业大学 | 一种复合纤维可变锥度缠绕胶层模型的建立方法 |
CN104504193A (zh) * | 2014-12-20 | 2015-04-08 | 西安工业大学 | 一种复合纤维可变锥度缠绕模型的构造方法 |
CN105787146B (zh) * | 2015-11-19 | 2019-04-09 | 厦门理工学院 | 一种客车挡风玻璃检验模曲面模型逆向建模方法 |
CN106846490B (zh) * | 2017-02-09 | 2019-08-27 | 腾讯科技(深圳)有限公司 | 一种弧面模型用于在3d场景进行展示的展示方法及装置 |
CN107644449B (zh) * | 2017-09-15 | 2021-03-19 | 镇江恒昌彩艺科技有限公司 | 一种平面图形独立封闭区域识别方法 |
CN107862733B (zh) * | 2017-11-02 | 2021-10-26 | 南京大学 | 基于视线更新算法的大规模场景实时三维重建方法和系统 |
CN108492372B (zh) * | 2018-01-15 | 2020-04-03 | 哈尔滨工业大学(威海) | 一种b样条曲面的形状编辑方法 |
CN109491784B (zh) * | 2018-10-18 | 2021-01-22 | 北京旷视科技有限公司 | 降低内存占用量的方法、装置、电子设备、可读存储介质 |
CN109685147B (zh) * | 2018-12-27 | 2023-08-11 | 武汉益模科技股份有限公司 | 一种基于三维模型的差异性对比方法 |
CN110070573B (zh) * | 2019-04-25 | 2021-07-06 | 北京卡路里信息技术有限公司 | 关节图确定方法、装置、设备和存储介质 |
CN110222465A (zh) * | 2019-06-19 | 2019-09-10 | 南通云创工业设计有限公司 | 一种产品的设计方法及装置 |
CN111462330B (zh) * | 2020-03-30 | 2021-09-07 | 成都飞机工业(集团)有限责任公司 | 一种基于平面法向投影的测量视点规划方法 |
CN111710022B (zh) * | 2020-06-08 | 2021-03-23 | 嘉兴学院 | 一种避免轮廓相交的快速成型切片处理方法 |
CN112652075B (zh) * | 2021-01-30 | 2022-08-09 | 上海汇像信息技术有限公司 | 对称物体3d模型的对称拟合方法 |
CN113012294B (zh) * | 2021-03-30 | 2022-12-13 | 上海汇像信息技术有限公司 | 三维模型的对称重建方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100429677C (zh) * | 2006-10-19 | 2008-10-29 | 浙江大学 | 由数据驱动的基于草图的三维人体动作的创作和编排方法 |
CN101493954B (zh) * | 2009-02-26 | 2011-01-26 | 清华大学 | 一种基于骨架草图绘制的三维建模方法 |
CN101799937B (zh) * | 2010-03-23 | 2011-08-31 | 南京大学 | 一种采用草图创建三维模型的方法 |
CN101833788B (zh) * | 2010-05-18 | 2011-09-07 | 南京大学 | 一种采用手绘草图的三维人体建模方法 |
-
2010
- 2010-09-20 CN CN2010102866890A patent/CN101937579B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101937579A (zh) | 2011-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101937579B (zh) | 一种利用透视草图创建三维曲面模型的方法 | |
Stein et al. | Developability of triangle meshes | |
Wang et al. | Parametric representation of a surface pencil with a common spatial geodesic | |
Chen et al. | Sketching reality: Realistic interpretation of architectural designs | |
Jung et al. | Automated 3D wireframe modeling of indoor structures from point clouds using constrained least-squares adjustment for as-built BIM | |
Rossignac et al. | Offsetting operations in solid modelling | |
CN101799937B (zh) | 一种采用草图创建三维模型的方法 | |
Domínguez et al. | Semiautomatic detection of floor topology from CAD architectural drawings | |
Bajaj et al. | Arbitrary topology shape reconstruction from planar cross sections | |
Kriegman et al. | On recognizing and positioning curved 3-D objects from image contours | |
Van den Heuvel | 3D reconstruction from a single image using geometric constraints | |
CN108171780A (zh) | 一种基于激光雷达构建室内真实三维地图的方法 | |
Li et al. | SweepCanvas: Sketch-based 3D prototyping on an RGB-D image | |
Cordier et al. | Inferring mirror symmetric 3D shapes from sketches | |
CN104574515A (zh) | 一种三维物体重建的方法、装置和终端 | |
CN106447777A (zh) | 布尔运算支持下的三维拓扑关系表达与映射 | |
Ramanathan et al. | Interior Medial Axis Transform computation of 3D objects bound by free-form surfaces | |
Nieser et al. | Patch layout from feature graphs | |
US6373486B1 (en) | Method and apparatus for creating representations of geologic shapes | |
Huang et al. | Automatic CAD model reconstruction from multiple point clouds for reverse engineering | |
Rasoulzadeh et al. | Strokes2Surface: Recovering Curve Networks From 4D Architectural Design Sketches | |
CN114329666A (zh) | 用于解析并导入三维管材刀路的方法、装置、处理器及其计算机可读存储介质 | |
Lee et al. | Computing the medial surface of a 3-D boundary representation model | |
Kang et al. | Fast object recognition using dynamic programming from combination of salient line groups | |
Docampo-Sánchez et al. | A regularization approach for automatic quad mesh generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120328 Termination date: 20140920 |
|
EXPY | Termination of patent right or utility model |