基于Unity3D模型表面曲线测量方法、系统及介质技术方案

技术编号:25084997 阅读:22 留言:0更新日期:2020-07-31 23:28
本发明专利技术提供了一种基于Unity3D模型表面曲线测量方法、系统及介质,包括:步骤M1:通过射线检测确定鼠标点在Unity3D模型表面上的起点和终点的坐标;步骤M2:通过起点和终点的坐标连接一条线段,将线段n等分;步骤M3:通过线段上n+1个点生成射线发射点向Unity3D模型表面投射射线,获得和模型表面的交点坐标,分别计算两两临近点的距离;步骤M4:根据得到的两两临近点的距离,计算模型表面曲线的长度;步骤M5:将每个发射点绕着起点终点连成的方向顺时针旋转预设角度,重复预设次数执行步骤M3至步骤M4;步骤M6:在所有测得模型表面曲线长度中,取最小值,即模型表面曲线距离。本发明专利技术通过采用射线检测技术确定射线与模型表面的交点,达成鼠标在面模型表面选点的功能。

【技术实现步骤摘要】
基于Unity3D模型表面曲线测量方法、系统及介质
本专利技术涉及视觉的三维测量
,具体地,涉及一种基于Unity3D模型表面曲线测量方法、系统及介质。
技术介绍
目前众多进行曲面测量的技术中,很多都是无法精确的进行曲面拟合,测量误差大。硬件测量难度大,精度低。专利文献CN105783774A(申请号:201610222343.1)公开了一种船舶钢板曲面尺寸在线测量系统及其方法,一是采用全站仪自动测量与CCD近景摄影测量相结合的方法,同时进行关键点的三维精度测量。二是通过CCD近景摄影测量,进行曲面编码标志点和非编码标志点三维精度的分段测量;并通过对所述的曲面点三维精度的分段测量,进行曲面分段测量的曲面拟合,生成曲面板的三维模型,与设计的三维模型进行对比分析。这种分段测量的方法,其虽然能够实现曲面分段上的关键点的坐标精度检测分析,解决了无法实现曲面的拟合和检测,无在线检测功能的问题,但却不能保证测量到两点在曲线上的最短距离。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于Unity3D模型表面曲线测量方法、系统及介质。根据本专利技术提供的一种基于Unity3D模型表面曲线测量方法,包括:步骤M1:通过射线检测确定鼠标点在Unity3D模型表面上的起点和终点的坐标;步骤M2:通过起点和终点的坐标连接一条线段,将线段n等分,得到n+1个点;步骤M3:通过线段上n+1个点生成射线发射点向Unity3D模型表面投射射线,获得每条射线和Unity3D模型表面的交点坐标,分别计算每条射线和Unity3D模型表面的交点坐标两两临近点的距离;步骤M4:根据计算得到的两两临近点的距离,计算Unity3D模型表面曲线的长度;步骤M5:将每个发射点绕着起点终点连成的方向顺时针旋转预设角度,重复预设次数执行步骤M3至步骤M4;步骤M6:在所有测得的Unity3D模型表面曲线长度中,取最小值,即Unity3D模型表面起点和终点的曲线距离。优选地,所述步骤M2包括:步骤M2.1:将起点指向终点的向量设为向量X,将向量X均匀的分成n等分,得到n+1个点,设为Xn1、Xn2.......Xnn+1;步骤M2.2:获取垂直于向量X的向量N。优选地,所述步骤M3包括:步骤M3.2:以向量X上的n+1个点为出发点,以向量N为方向,预设值L为长度,得到Pnk=Xnk+|N|*L;步骤M3.3:以Pnk为出发点,向量N的反方向为方向,发出射线,和Unity3D模型相交,获得点Qnk;步骤M3.4:计算Qn1和Qn2之间的距离L1、Qn2和Qn3之间的距离L2......Qnn和Qnn+1之间的距离Ln。优选地,所述步骤M4包括:步骤M4.1:计算Unity3D模型表面曲线长度Length1=L1+L2+......+Ln。根据本专利技术提供的一种基于Unity3D模型表面曲线测量系统,包括:模块M1:通过射线检测确定鼠标点在Unity3D模型表面上的起点和终点的坐标;模块M2:通过起点和终点的坐标连接一条线段,将线段n等分,得到n+1个点;模块M3:通过线段上n+1个点生成射线发射点向Unity3D模型表面投射射线,获得每条射线和Unity3D模型表面的交点坐标,分别计算每条射线和Unity3D模型表面的交点坐标两两临近点的距离;模块M4:根据计算得到的两两临近点的距离,计算Unity3D模型表面曲线的长度;模块M5:将每个发射点绕着起点终点连成的方向顺时针旋转预设角度,重复预设次数触发模块M3至模块M4执行;模块M6:在所有测得的Unity3D模型表面曲线长度中,取最小值,即Unity3D模型表面起点和终点的曲线距离。优选地,所述模块M2包括:模块M2.1:将起点指向终点的向量设为向量X,将向量X均匀的分成n等分,得到n+1个点,设为Xn1、Xn2.......Xnn+1;模块M2.2:获取垂直于向量X的向量N。优选地,所述模块M3包括:模块M3.2:以向量X上的n+1个点为出发点,以向量N为方向,预设值L为长度,得到Pnk=Xnk+|N|*L;模块M3.3:以Pnk为出发点,向量N的反方向为方向,发出射线,和Unity3D模型相交,获得点Qnk;模块M3.4:计算Qn1和Qn2之间的距离L1、Qn2和Qn3之间的距离L2......Qnn和Qnn+1之间的距离Ln。优选地,所述模块M4包括:模块M4.1:计算Unity3D模型表面曲线长度Length1=L1+L2+......+Ln。根据本专利技术提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述中任一项所述的方法的步骤。与现有技术相比,本专利技术具有如下的有益效果:1、通过采用射线检测技术确定射线与模型表面的交点,从而达成鼠标在面模型表面选点的功能。2、通过采用n个射线检测相机确定n个模型表面上的点,然后将所有点收尾相连,从而实现生成曲线的目的。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为曲线测量的示意图具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。根据本专利技术提供的一种基于Unity3D模型表面曲线测量方法,包括:如图1所示,步骤M1:通过射线检测确定鼠标点在Unity3D模型表面上的起点和终点的坐标;步骤M2:通过起点和终点的坐标连接一条线段,将线段n等分,得到n+1个点,一般n取10;具体地,所述步骤M2包括:步骤M2.1:将起点指向终点的向量设为向量X,将向量X均匀的分成n等分,得到n+1个点,设为Xn1、Xn2.......Xnn+1;步骤M2.2:获取垂直于向量X的向量N。步骤M3:通过线段上n+1个点生成射线发射点向Unity3D模型表面投射射线,获得每条射线和Unity3D模型表面的交点坐标,分别计算每条射线和Unity3D模型表面的交点坐标两两临近点的距离;具体地,所述步骤M3包括:步骤M3.2:以向量X上的n+1个点为出发点,以向量N为方向,预设值L为长度,得到Pnk=Xnk+|N|*L;步骤M3.3:以Pnk为出发点,向量N的反方向为方向,发出射线,和Unity3D模型相交,获得点Qnk;步骤M3.4:计算Qn1和Qn2之间的距离L1、Qn2和Qn3之间的距离L2......Qnn和Qnn+1之间的距离Ln。步骤M4:根据计算得到的两两临近点的距离,本文档来自技高网...

【技术保护点】
1.一种基于Unity3D模型表面曲线测量方法,其特征在于,包括:/n步骤M1:通过射线检测确定鼠标点在Unity3D模型表面上的起点和终点的坐标;/n步骤M2:通过起点和终点的坐标连接一条线段,将线段n等分,得到n+1个点;/n步骤M3:通过线段上n+1个点生成射线发射点向Unity3D模型表面投射射线,获得每条射线和Unity3D模型表面的交点坐标,分别计算每条射线和Unity3D模型表面的交点坐标两两临近点的距离;/n步骤M4:根据计算得到的两两临近点的距离,计算Unity3D模型表面曲线的长度;/n步骤M5:将每个发射点绕着起点终点连成的方向顺时针旋转预设角度,重复预设次数执行步骤M3至步骤M4;/n步骤M6:在所有测得的Unity3D模型表面曲线长度中,取最小值,即Unity3D模型表面起点和终点的曲线距离。/n

【技术特征摘要】
1.一种基于Unity3D模型表面曲线测量方法,其特征在于,包括:
步骤M1:通过射线检测确定鼠标点在Unity3D模型表面上的起点和终点的坐标;
步骤M2:通过起点和终点的坐标连接一条线段,将线段n等分,得到n+1个点;
步骤M3:通过线段上n+1个点生成射线发射点向Unity3D模型表面投射射线,获得每条射线和Unity3D模型表面的交点坐标,分别计算每条射线和Unity3D模型表面的交点坐标两两临近点的距离;
步骤M4:根据计算得到的两两临近点的距离,计算Unity3D模型表面曲线的长度;
步骤M5:将每个发射点绕着起点终点连成的方向顺时针旋转预设角度,重复预设次数执行步骤M3至步骤M4;
步骤M6:在所有测得的Unity3D模型表面曲线长度中,取最小值,即Unity3D模型表面起点和终点的曲线距离。


2.根据权利要求1所述的一种基于Unity3D模型表面曲线测量方法,其特征在于,所述步骤M2包括:
步骤M2.1:将起点指向终点的向量设为向量X,将向量X均匀的分成n等分,得到n+1个点,设为Xn1、Xn2.......Xnn+1;
步骤M2.2:获取垂直于向量X的向量N。


3.根据权利要求1所述的一种基于Unity3D模型表面曲线测量方法,其特征在于,所述步骤M3包括:
步骤M3.2:以向量X上的n+1个点为出发点,以向量N为方向,预设值L为长度,得到Pnk=Xnk+|N|*L;
步骤M3.3:以Pnk为出发点,向量N的反方向为方向,发出射线,和Unity3D模型相交,获得点Qnk;
步骤M3.4:计算Qn1和Qn2之间的距离L1、Qn2和Qn3之间的距离L2......Qnn和Qnn+1之间的距离Ln。


4.根据权利要求1所述的一种基于Unity3D模型表面曲线测量方法,其特征在于,所述步骤M4包括:
步骤M4.1:计算Unity3D模型表面曲线长度Length1=L1+L2+......+Ln。


5.一种基于Unity3D模型表面曲线测量系统,其特征在于,包括:...

【专利技术属性】
技术研发人员:肖建如马科威周振华吕天予吴志鹏邵帅贾齐
申请(专利权)人:上海嘉奥信息科技发展有限公司
类型:发明
国别省市:上海;31

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

1