利索能及
我要发布
收藏
专利号: 2017112417940
申请人: 西安理工大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-04
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种面向点云物体的三维素描画模拟方法,其特征在于,具体包括以下步骤:步骤1、利用移动最小二乘法计算点云模型每点的曲率信息,设定阈值提取点云物体中的脊点和谷点,并利用主成分 分析法分别连接脊点与谷点,形成脊线谷线并进行优化,刻画三维点云模型的内部特征;

步骤1.1,根据曲率大小提取脊点和谷点利用移动最小二乘法拟合曲面,计算每点的曲率,ki为点pi绝对值较大的主曲率,遍历点云模型中所有点绝对值较大的主曲率,得到最大曲率kmax和最小曲率kmin,设定一个阈值曲率参数0<α<1,满足公式(1)的点是谷点,满足公式(2)的点为脊点,ki<0,ki<αkmin 0<α<1  (1)ki>0,ki>αkmax 0<α<1  (2)其中,α设置为0.1~0.3;

步骤1.2,分别连接脊点和谷点形成脊线和谷线任选一个脊点或者谷点p,利用k‑d树,选取距离点p小于r的邻域点集,根据主成分 分析法计算出主轴矢量,然后将邻域点投影到p点和主轴矢量确定的直线上,取投影最远的点进行连接,并将该点作为新的生长点继续生长,找到下一个生长点进行连接,重复执行,直到找不到其它新的生长点为止,连接生长点形成脊线和谷线;

步骤1.2.1,根据初始生长点寻找邻域点集从脊点或者谷点的集合中,任取一点p,利用k‑d树,选取距离点p小于r的邻域点集NBHD(p)={pj,||p‑pj||<r,j=1,2...k},pj为距离点p小于r的点,r取值为0.1;

步骤1.2.2,主轴矢量投影

针对p点的邻域点集NBHD(p),点p的三阶协方差矩阵M为:其中, 为点p的k个邻近点的平均位置,通过奇异值分解对点p的三阶协方差矩阵M进行特征值分解,得到协方差矩阵M的特征值λ3>λ2>λ1>0,选取协方差矩阵M的最大特征值λ3对应的特征向量作为主轴矢量,然后由p点和主轴矢量确定一条直线,将NBHD(p)内的每个点都投影该直线上,选取投影最远的两个端点作为下个生长点即新的生长点,同时从NBHD(p)中将该点删除;

步骤1.2.3,从新的生长点开始,重复步骤1.2.2的操作,找寻下一生长点,当找寻不到新的生长点时,该条脊线或者谷线生长结束;

步骤1.2.4,从脊点或谷点集合中,另取一点,重复步骤1.2.1~1.2.3的操作,直到脊点或谷点集合中无任何点,证明所有脊线谷线生长完毕;

步骤1.3,对步骤1.2得到的脊线和谷线进行优化;

步骤2、给定z轴正方向为视线方向,将点云模型点集投影到xoy平面上获取二维点集,提取其轮廓点,利用最短距离连接法将轮廓点进行连接形成轮廓线;

步骤3、根据步骤1得到的脊线和谷线,利用改进后的光线追踪方法对脊线和谷线的可见性进行判断;

步骤3.1,特征线可见性分析,根据步骤1得到的脊点谷点集合A,利用改进的光线跟踪算法对特征线的可见性进行判断,假设点集B为三维点云模型中的点,设定视线方向为z轴正方向,模型上z坐标极小值点为视点,对于脊点谷点集合A的每一个点p(x,y,z),利用k‑d树,选取点p的k近邻点KNBHD(p)={p1,p2,p3,…,pk},计算k近邻点距离点p的平均距离构造圆柱体,以垂直于视线并且过p(x,y,z)的面为底面,底面圆半径为λDis,视点和p(x,y,z)的垂直距离为高,判断圆柱体和模型点集B的交点,如果存在除p(x,y,z)之外的交点p(xi,yi,zi),且|zi‑z|>r,则说明p(x,y,z)被点p(xi,yi,zi)遮挡,对于未被遮挡的点,重复执行步骤1.2、步骤1.3,完成特征线的连接与优化,其中λ取值为1‑10;

步骤3.2,线条粗细的计算,对于可见的特征线,选取z坐标值最小的点作为初始视点,沿着z轴正方向的直线为视线,采用平行投影的方式,遍历三维模型中所有点的z坐标值确定最大z值zmax和最小z值zmin,然后依次在特征线集合中取出点p,其z坐标为zp,取出p在特征线中前一个节点pfront,设两点pfront,p组成一条线段pfrontp,取线段pfrontp中点为pmid,根据式(7)可得线段pfrontpmid的宽度值;同理,根据式(8)可得线段pmidp的宽度值,其中, β设置为10,cofi为控制因子,cofi设置为1.0,根据深度的不同,线条粗细也随之变化,距离视点越近,线条越粗;距离视点越远,线条越细;

步骤4、设定虚拟光源,给出一种阴影区域界定方法,划分阴影区域范围,同时在特定的阴影区域内,分析阴影线条的亮度分布情况,来处理阴影区域的线条亮度表达,最后结合线条模型和阴影区域表达,从而达到素描画的效果;

步骤4.1,投影点确定,将z轴正方向作为视线方向,设置与xoy平面夹角45度并且平行于xoz平面的方向为光线方向,于可见特征点集V中任一点p(xi,yi,zi),利用k‑d树,选取点p的k近邻点KNBHD(p)={p1,p2,p3,…,pk},计算k近邻点距离点p的平均距离三维点云模型点集中任一点p(xi,yi,zi),构造矩形,宽为起始点坐标 结束点坐标 如果

并且 则pj是p的投影点,其中 取值为1‑5;

步骤4.2,阴影线条的生成,假设特征线L由p1、p2、p3连起来的折线,p1、p2、p3的投影点分别为p'1、p'2、p'3,p1p'1的方向向量 将p1沿着方向向量 移动一段距离t,可以得到新的一点pc,即 同理,计算p2p'2的方向向量 将p2沿着方向向量 移动一段距离t,得到新的一点pk,连接点pc、pk形成一条线段pcpk,此线段为一条特征线下的阴影线条,同理随着t取多个值时,可以得到多条同一个特征线下的阴影线条,给定t的取值是非线性增长的,由公式(9)计算得到,步骤4.3,阴影区域线条灰度的确定,首先构造一个渐变灰度模型,其像素值包括白色,以及不同程度的灰色,灰度呈现渐变颜色,将一条特征线的阴影区域,划分成n块,根据该块离特征线的远近,对应已定义的颜色灰度值,从而形成阴影区的灰度变化,假设特征线L由线段p1p2和线段p2p3构成,对于p1p2,通过步骤4.2可以获得在特定光照下的多条阴影线条,p1p2和多条阴影线构成了多个封闭的四边形,将四边形根据预先构造的渐变灰度模型进行上色。

2.根据权利要求1所述的一种面向点云物体的三维素描画模拟方法,其特征在于,所述步骤1.3的具体算法步骤为:

步骤1.3.1,从脊线或谷线集合中任取一条线段,假设该线段两个端点为e1和e2,线段e1e2的向量 p1和p2是另外一条脊线或谷线的两个端点,线段p1p2的向量利用公式(4)计算两向量的夹角,利用公式(5)计算两个端点的距离,若两向量的夹角小于θ,两端点距离小于ωr,并且两者方向相反,即 则将e1e2和p1p2相连,形成一条脊线或者谷线,其中,θ取值为10°,r为距离半径,取值为0.1,ω取值2~5;

步骤1.3.2,若两线段夹角较大,并且两端点距离较大,则计算线段p1p2的中心点p12,若p12和e1距离较近,则将点p12和e1进行连接形成一条脊线或者谷线,否则连接p12和e2;

步骤1.3.3,分别遍历脊线谷线中每一个端点,重复步骤1.3.1、步骤1.3.2操作,直到所有的脊线谷线遍历完成为止。

3.根据权利要求1所述的一种面向点云物体的三维素描画模拟方法,其特征在于,所述步骤2具体按照以下步骤实施:

步骤2.1,将点云模型投影到二维平面,针对于三维点云模型,将z轴正方向作为视线方向,将点云模型平行投影到xoy平面上,从而得到二维点集;

步骤2.2,针对二维点集,首先选取模型最左边的点,即x值最小的点,作为边界点起始点pm,以该点pm为坐标原点,建立局部坐标系,利用k‑d树,找到点pm的k个邻近点记k邻近中第j个点为pmj,根据pmj的x坐标值xmj和y坐标值ymj,将pmj划分到pm点建立的局部坐标系的四个象限中,若xmj>xm同时ymj>ym,则pmj在第一象限;若xmj>xm同时ymjym,则pmj在第二象限;若xmj

步骤2.3,若四个象限中,有一个象限中没有点,则pm点是边界点;若四个象限里都有点,利用公式(6)求取某一象限中任意两点pmi,pmj与pm点组成向量的夹角η,选取所有相邻点夹角最大的角度,若最大角度大于阈值时,则pm点为边界点,若最大角度小于阈值时,则p点不是边界点,其中阈值=40°,

步骤2.4,当视点发生改变时,转动点云模型,三维点云坐标发生旋转变化,当转动一个角度时,重新计算转动后的点云模型坐标,将旋转后得到的点云模型,重复执行步骤2.1~

2.3处理,得到旋转后的轮廓点;

步骤2.5,轮廓点的连接,从轮廓点集中任取一点c作为初始生长点,将点c进行标记,选取距离点c小于半径r的邻域点集NBHD(c),将NBHD(c)中的每个元素,按照和点c距离从小到大排序,从NBHD(c)中找到距离点c最小的点ci,连接cci,计算方向向量 并将点ci作为新的生长点,利用点ci的坐标、方向向量 构造直线l,然后选取距离点ci小于半径r的邻域点集NBHD(ci),依次从NBHD(ci)选取和l距离小于r的点作为下一个初始生长点,直到轮廓点集合中所有的点都被标记。