[发明专利]一种基于草图的三维模型检索视点选择方法有效
申请号: | 201510645547.1 | 申请日: | 2015-09-30 |
公开(公告)号: | CN105243137B | 公开(公告)日: | 2018-12-11 |
发明(设计)人: | 金龙存;翁耿森;聂四品;彭新一 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06K9/62 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 罗观祥 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于草图的三维模型检索视点选择方法,包括以下步骤:步骤1、人工对数据库中的模型进行分类;步骤2、通过对正二十面体进行三角细分来确定视点的全集;步骤3、计算每个模型在每个视点的熵值;步骤4、由步骤3的计算结果来确定每一类模型的视点数量;步骤5、由步骤4的计算结果对视点全集进行聚类操作,确定所选择视点;步骤6、根据步骤5生成的视点来生成二维投影视图。本发明具有匹配结果良好,有效提高了系统的运行效率等优点。 | ||
搜索关键词: | 一种 基于 草图 三维 模型 检索 视点 选择 方法 | ||
【主权项】:
1.一种基于草图的三维模型检索视点选择方法,其特征在于,包括以下步骤:步骤1、人工对数据库中的模型进行分类;步骤2、通过对正二十面体进行三角细分来确定视点的全集;步骤3、计算每个模型在每个视点的熵值;步骤4、由步骤3的计算结果来确定每一类模型的视点数量;步骤5、由步骤4的计算结果对视点全集进行聚类操作,确定所选择视点;步骤6、根据步骤5生成的视点来生成二维投影视图;所述步骤2包括以下步骤:步骤2‑1、以三维直角坐标系的原点为正二十面体的外接球的球心,半径为2绘制一个正二十面体;步骤2‑2、通过将1个三角形面分裂成4个小的三角形面来实现面的细分;根据点生成的不同方式,将细分后生成的点划分为两类:(3)第一类点:由原来的三角形的边计算得到的点;(4)第二类点:由原来的三角形的顶点计算得到的点;对于所述第一类点和第二类点,根据其所属边是否为边界,分为两种情况计算新生成点的坐标:对于第一类点:(1)如果原三角形的边是边界边,则新生成的点的坐标的计算公式为:
其中,V1、V2分别为边界边的两个顶点,由式(1)可知,
(2)如果原三角形的边非边界边,则新生成的点的坐标的计算公式为:
其中,V2、V3是该非边界边的两个顶点,V1、V4是与这两个顶点都相交的在该非边界边两侧且距离该边最近的两个顶点,由式(2)可知:
对于第二类点:如果原三角形的边是边界边,则新生成的点的坐标的计算公式为:
其中,V1是原来三角形上对应的顶点,V1、V3分别是原来三角形上V1相邻的两个顶点,由式(3),可知:
如果原三角形的边非边界边,则新生成的点的坐标的计算公式为:
其中,
当n=3时,
当n>3时,
Vi代表有一条边与V相连的原多边形中的顶点,由式(4)和式(5)可知:
其中,Vi=V2、V3或V5;所述步骤3包括以下步骤:步骤3‑1、模型x在视点pj处的熵值的计算公式如下:
其中,E表示该模型在该视点处的熵值,m表示该模型的面的数量,Ai表示第i个面在该视点下的可视面积,S表示该模型渲染区域的总面积,由于已经将该模型缩放至单位球内,故用单位圆的面积来同等表示S;A0表示背景部分的面积,即渲染区域总面积S减去该模型投影在该面上的总面积,即为A0;E的值越大,表示该模型的复杂度也越大,需要的视点个数也会越多;步骤3‑2、A(x‑X0)+B(y‑y0)+C(z‑z0)=0, (9)其中,A、B、C分别等于xn、yn、zn,即该平面的法向量的三维坐标,(x0,y0,z0)表示在该平面上的某个已知点的坐标,该平面方程即可用于表示投影面的平面方程;对于模型的每一个顶点vi(xi,yi,zi),可以计算过该点且法向量与视点法向量相同的直线方程;由于是正视投影,故顶点与其在投影面映射点的直线的法向量可以视为:视点pi(xp,yp,zp)与投影面的中心pi’(x0,y0,z0)构成的法相量,故其空间直线方程可以表示为:
其中,xi、yi、zi为每一个顶点vi的坐标,m、n、r为直线的法向量,通过求公式(9)与公式(10)形成的方程组的解,可以得到该顶点在投影面上的映射点vi’(xi’,yi’,zi’),重新生成顶点、面在投影面上的映射f’(v1’,v2’,v3’);步骤3‑3:只要找到p’所在平面上的一组过p’且相互垂直的基向量e1、e2即可;对于投影面上的一点q(xq,yq,zq),计算其在投影面的二维坐标q’(xq’,yq’)可以用下面的公式计算:PQ=PO+OQ, (12)PQ、PO、OQ分别为p到q,p到o,o到q的向量;即:xq’*e1+yq*e2=PO+OQ, (13)其中,e1为q在该平面上x轴方向的基向量,e2为q在该平面上y轴方向的基向量;在式(12)中,公式右边都是已知的,e1、e2也可以计算出来;此时该公式可以看成是关于xq’、yq’的二元一次方程;可以将等式两边分别点乘e1、e2,即:xq’*e1·e1+yq*e2·e1=(PO+OQ)·e1,xq’*e1·e2+yq*e2·e2=(PO+OQ)·e2,其中,e1为q在该平面上x轴方向的基向量,e2为q在该平面上y轴方向的基向量;PQ、OQ分别为p到q,o到q的向量;由于e1、e2互相垂直,故e2·e1=0,由此可以分别计算得到xq’、yq’,即Q在投影面上以P’为原点的坐标;步骤3‑4:在Matlab中内置了计算两个多边形并集的函数polybool,所述polybool的定义如下:[x,y]=function(operation,x1,y1,x2,y2);其中,x、y为函数的返回值,x为两个多边形(x1,y1)、(x2、y2)求并集后的多边形顶点的顺时针序列的x轴方向坐标,y为其在y轴方向上坐标;operantion表示对两个多边形执行的操作,当输入的operation为’union’时,即求两个多边形的并集。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510645547.1/,转载请声明来源钻瓜专利网。
- 上一篇:全景红外遥控发射头
- 下一篇:一种木质纤维素生物质的综合利用方法