基于压平包围球的三维场景局部区域动态压平方法及装置制造方法及图纸

技术编号:28784538 阅读:25 留言:0更新日期:2021-06-09 11:18
本发明专利技术公开一种基于压平包围球的三维场景局部区域动态压平方法,首先,在用户坐标系中定义压平包围球:根据待压平区域的位置和大小,定义一个球体作为压平包围球,使包围球紧密包含待压平区域,且球体的半径尽量小;其次,根据待压平区域的形态,确定与其底部紧密贴合的平面作为压平面;确定压平操作射影中心;然后,将压平面方程参数、压平包围球球心坐标、包围球半径、压平操作射影中心坐标传入GPU可编程流水线;最后,在GPU的顶点着色器中,判断压平包围球、压平面与顶点的空间关系,对顶点进行移位压平。本发明专利技术相对于传统的修模软件压平方法,无需专业用户,无需借助专业软件,不需要实际修改模型,可用性更强。可用性更强。可用性更强。

【技术实现步骤摘要】
基于压平包围球的三维场景局部区域动态压平方法及装置


[0001]本专利技术属于空间信息领域,具体涉及一种基于压平包围球的三维场景局部区域动态压平方法及装置。

技术介绍

[0002]三维模型是三维应用的重要数据基础,其质量高低与应用中整个场景的视觉效果密切相关,高质量模型能提高场景的视觉效果,而低质量模型的存在则有碍观感甚至影响应用效果。高质量模型一般采用人工建模或lidar建模,但由于生产成本较高,在大规模模型的三维应用中一般只应用于重点目标建模。其余次重点模型一般采用倾斜摄影方法,倾斜摄影适合大场景的批量建模,其生产成本低,生产速度快,可以实现包含几何结构和纹理的三维重建,但是受目前技术的限制,对树木、电杆等细小零散目标的建模效果差,会造成局部模型悬空等问题。
[0003]可以采用专业建模软件移除悬空部分,以提高模型质量。移除操作本质上是对原有模型的二次编辑,需要重新采集数据(如纹理图像)才能实现对移除部分的修改。目前一些建模软件如MeshMixer,wish3D等提供了模型的局部压平功能,无需重新采集数据,直接将悬空模型(如电杆)压平到地面,间接实现移除低质量模型的要求。但该方法存在以下问题:(1)建模软件压平本质上是对三维模型的物理破坏,导致虚拟场景和实际场景新的不一致,由于其操作不可逆,在部分应用中是不可接受的行。(2)部分三维应用中要求能实现对三维场景局部区域的动态移除和恢复,使用软件编辑模型无法实现该要求。

技术实现思路

[0004]专利技术目的:本专利技术提出一种基于压平包围球的三维场景局部区域动态压平方法及装置,根据用户定义的包围球动态压平和可逆恢复局部区域,提高三维场景的可视化质量。
[0005]技术方案:本专利技术提出一种基于压平包围球的三维场景局部区域动态压平方法,具体包括以下步骤:
[0006](1)在用户坐标系中定义压平包围球:根据待压平区域的位置和大小,定义一个球体作为压平包围球,使包围球紧密包含待压平区域,且球体的半径尽量小;记录压平包围球球心坐标O(x0,y0,z0)与半径R;
[0007](2)确定压平面位置和方程:在用户坐标系中,根据待压平区域的形态,确定与其底部紧密贴合的平面作为压平面;
[0008](3)确定压平操作射影中心;
[0009](4)将压平面方程参数、压平包围球球心坐标、包围球半径、压平操作射影中心坐标传入GPU可编程流水线;
[0010](5)在GPU的顶点着色器中,判断压平包围球、压平面与顶点的空间关系,对顶点进行移位压平。
[0011]进一步地,所述步骤(3)实现过程如下:
[0012]在用户坐标系中,从压平包围球球心向压平面做垂线,延长并与球面相交于点B,作为压平操作射影中心;由压平面法向量和球心坐标,确定一条空间直线方程,将该直线方程和球面方程联立求解,得到B的坐标(x
B
,y
B
,z
B
)。
[0013]进一步地,所述步骤(5)包括以下步骤:
[0014](51)计算顶点V(x1,y1,z1)到包围球球心的距离平方S1:
[0015]S1=(x1‑
x0)2+(y1‑
y0)2+(z1‑
z0)2;
[0016](52)若S1<=R2,表示顶点V处于包围球中,将V(x1,y1,z1)代入压平面方程f(x,y,z)=0,设结果为S2:
[0017]S2=f(x1,y1,z1);
[0018](54)若S2>=0,表示该顶点需要进行压平,根据V与B连线的直线方程VB:
[0019][0020]和压平面P的平面方程f(x,y,z)=0,两式联立求得交点坐标,设为V的新值;
[0021](54)以重新设值后的V参加正常的渲染流程。
[0022]基于相同的专利技术构思,本专利技术还提供一种基于压平包围球的三维场景局部区域动态压平装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的基于压平包围球的三维场景局部区域动态压平方法。
[0023]有益效果:与现有技术相比,本专利技术的有益效果:本专利技术能根据用户定义的包围球动态压平和可逆恢复局部区域,提高三维场景的可视化质量;采用的包围球只需要少量参数(球心和半径)即可定义,交互式调整包围球和压平面操作简单;且在GPU着色器中,判断需要压平的顶点算法简单,计算效率高;相对于传统的修模软件压平方法,本专利技术无需专业用户,无需借助专业软件,且不需要实际修改模型,可用性更强。
附图说明
[0024]图1为本专利技术的流程图;
[0025]图2为定义包围球图;
[0026]图3为树木被压平后可视化效果图。
具体实施方式
[0027]下面结合附图对本专利技术作进一步详细说明。
[0028]本专利技术提供一种基于压平包围球的三维场景局部区域动态压平方法,如图1所示,具体包括以下步骤:
[0029]步骤1:在用户坐标系中定义压平包围球:根据待压平区域的位置和大小,定义一个球体作为压平包围球,使包围球紧密包含待压平区域,且球体的半径尽量小。
[0030]如图2所示,用屏幕取点方式选取一点作为球心绘制一个包围球,对包围球进行移动与缩放,使得包围球的大小与位置刚好包含待压平目标底部的压平区,如图中树木完全处于包围球中,然后借助于渲染相机视点下的视口矩阵、投影矩阵和视图矩阵,将此时球心的屏幕坐标变换到用户坐标系,记录此时压平包围球球心坐标O(x0,y0,z0)与半径R。
[0031]步骤2:确定压平面位置和方程:在用户坐标系中,根据待压平区域的形态,确定与其底部紧密贴合的平面作为压平面。
[0032]在用户坐标系中,根据待压平区域的形态,确定与其底部紧密贴合的平面作为压平面。在待压平区域底部地面选取三个不共线的点A1,A2,A3,确定过该三大的平面作为压平面,计算压平面方程:
[0033]根据点A1,A2,A3,首先确定两个向量和然后计算得到压平面P的法向量
[0034][0035]利用点法式,由法向量与A1,A2,A3任一点坐标可计算得到压平面方程:
[0036]f(x,y,z)=ax+by+cz+d=0。
[0037]步骤3:确定压平操作射影中心。
[0038]从压平包围球球心向压平面做垂线,延长并与球面相交于点B,作为压平操作射影中心;由压平面法向量和球心坐标,可以确定一条空间直线方程,将该直线方程和球面方程联立求解,得到B的坐标(x
B
,y
B
,z
B
)。
[0039]步骤4:将压平面方程参数、压平包围球球心坐标、包围球半径、压平操作射影中心坐标传入GPU可编程流水线。
[0040]步骤5:在GPU的顶点着色器中,判断压平包围球、压平面与顶点的空间关系,对处于包围球内部且位于压平面法线一侧本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于压平包围球的三维场景局部区域动态压平方法,其特征在于,包括以下步骤:(1)在用户坐标系中定义压平包围球:根据待压平区域的位置和大小,定义一个球体作为压平包围球,使包围球紧密包含待压平区域,且球体的半径尽量小;记录压平包围球球心坐标0(x0,y0,z0)与半径R;(2)确定压平面位置和方程:在用户坐标系中,根据待压平区域的形态,确定与其底部紧密贴合的平面作为压平面;(3)确定压平操作射影中心;(4)将压平面方程参数、压平包围球球心坐标、包围球半径、压平操作射影中心坐标传入GPU可编程流水线;(5)在GPU的顶点着色器中,判断压平包围球、压平面与顶点的空间关系,对顶点进行移位压平。2.根据权利要求1所述的基于压平包围球的三维场景局部区域动态压平方法,其特征在于,所述步骤(3)实现过程如下:在用户坐标系中,从压平包围球球心向压平面做垂线,延长并与球面相交于点B,作为压平操作射影中心;由压平面法向量和球心坐标,确定一条空间直线方程,将该直线方程和球面方程联立求解,得到B的坐标(x
B
,y
B

【专利技术属性】
技术研发人员:张宇航孙瑞祝炜胡斌
申请(专利权)人:南京师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1