本发明涉及一种复杂行星表面模拟生成方法,属于深空探测技术领域。
背景技术:
未来行星探测技术需要着陆器在复杂的地形环境下实现精确着陆。但是复杂的地形环境中存在陨坑、岩石、斜坡等地貌特征,会对着陆器造成安全威胁,严重的可能会导致着陆器受损,造成任务的失败。由于行星探测任务相对较少,目前所拥有的行星数据少,精度低,难以建立实施行星地表障碍检测的地表地貌模拟环境。给出具有多种障碍地貌类型的模拟地形是验证障碍检测及斜坡估计技术的基础。
以往的障碍检测技术的验证主要是采用前期天文观测或实际任务探测获取的真实地貌数据。通过人工选择合适的地形地貌区域并实现障碍检测算法及坡度估计算法。这种方法的使用的图像障碍类型单一,对综合障碍检测算法的验证效果较差,难以找到适合检测多种障碍类型的地形图。通过多斜度坡面拟合的方法,将多个不同坡度的平面进行拼接拟合,使地形具有坡度特征,使用柏林噪声方法生成拟真度较高的地貌数据。在此基础上添加陨坑、岩石等障碍,并按照月球表面障碍分布数学统计模型决定陨坑、岩石的分布数量,增加地形的真实性。即可构成障碍检测及斜坡估计技术所需的地形数据。
技术实现要素:
本发明目的是提供一种复杂行星表面模拟生成方法,该方法通过多斜度坡面拟合产生多个坡度,根据随机噪声角方法原理产生拟真度较高的地貌,在此基础上添加陨坑,岩石等障碍物,为未来行星着陆任务中着陆器进行障碍检测以及坡度估计方法验证提供技术支持和参考。
本发明的目的是通过下述技术方案实现的。
一种复杂行星表面模拟生成方法,包括如下步骤:
步骤一、利用随机噪声角生成方法获得基础地形
随机噪声角生成方法为:通过多个步长生成地形高程数据,获取分辨率不同的基础地形。
1)、生成步长dr的地形边缘的高程数据,如图1、图2所示:
其中,dr为一个步长;n为调节参数,通过调节n的大小从而调整地形崎岖不平的程度。
通过生成随机噪声角
2)、生成非边缘区域步长dr的高程数据:
对于非边缘区域,利用相邻两个采样数据点m(x-dr,y)和m(x,y-dr)加权平均并添加高程数据差dz,如图3所示:
从地形边角部分逐步扩展向整个地形:通过插值方法,获得平缓的地面图像。
3)、通过减小步长dr,重复步骤一1)~2);直到最小分辨率,将多次生成的高程数据叠加。获得基础地形;
步骤二、通过随机平面生成方法生成多个坡度在一定区间内的平面,将多个平面较高区域拼接获取多坡度的基础地形。
将普通平面方程ax by cz d=0,简化为z=ax by c;
1)、通过随机数生成方法定义a、b系数,获取随机平面,通过平面夹角余弦公式,即式(3):
获得所得随机平面与xoy平面的夹角:
式中,θ即为平面坡度;
2)、在步骤一获得的基础地形上随机任选一点,该点作为该平面的必经点求得系数c,生成带有随机坡度的平面;
3)、重复步骤二1)~2)通过生成多组不同的系数获取不同坡度的平面。然后将多个平面拼接,取最高部分,获取崎岖不平的地形。
步骤三、生成岩石、陨坑地貌特征然后与步骤二获取地形图叠加;
1)、添加陨坑:陨坑函数采取多段函数表示。
分段函数为:z=ax2 bx c
主坑形状的确定:
坑唇形状的确定:x=0.75d,z=0.75z;x=d,z=0
求得:
则分段函数表示为,如图4所示:
其中,z为陨坑横截面的地形高度值,x为以陨坑中心,高度为零的点为原点垂直线为z轴建立坐标系的x轴数值,d为陨坑的直径。
对于具体的坑,坑深zd和坑唇高度zr与坑直径的关系采用生成随机系数的方法改变:
式中:rand(1)为0~1之间的随机数。
2)、添加岩石;
3)、不同岩石和陨坑直径的数量均按照月海区域陨坑分布模型确定,单位面积内超过某一直径d的陨坑数目为nc(d),岩石数目为ns(d),采用对数形式表示如下:
陨坑数目分布规律:
岩石数目分布规律:
利用分布规律获取各个直径区间的陨坑数目nc和岩石数目ns,形成数组;采用随机数生成的方法获得陨坑、岩石中心位置的横向和纵向位置,根据直径确定陨坑和岩石的影响区域,并计算影响区域内的高程数据,同时修改总高程数据。
步骤一2)所述插值方法为3次多项式插值;
步骤一3)所述减小步长dr,成倍减小;
有益效果
1、本发明的一种复杂行星表面模拟生成方法,采用随机噪声角生成方法生成基础地貌,并在此基础上加入多斜度坡面拼接拟合,之后加入陨坑、岩石等地貌特征,可以获取兼具坡度、陨坑、岩石的复杂地表地貌模拟地形。
2、与传统的基于观测数据地形相比,地形的障碍类型丰富、拟真度较高、生成速度较快。能够产生多组地形数据,充分验证障碍检测功能和斜坡估计的算法功能。
附图说明
图1为地形图像按照步长分割的示意图;
图2为图像边缘部分相邻数据计算方法示意图;
图3为图像非边缘部分相邻数据计算方法示意图;
图4为陨坑的横切面下的分段函数曲线示意图;
图5为基础地形m1;
图6为斜坡叠加图mslope;
图7为地形图m2;
图8为陨坑与岩石地形图mcrater、stone;
图9为地形图m3;
图10为添加材质和光影效果的最终地形图;
图11为陨坑检测算例图。
具体实施方式
为了更好的说明本发明的目的和优点,下面结合附图和实例对发明内容进行说明实施例1
步骤一、利用随机噪声角生成方法获得基础地形
随机噪声角生成方法为:通过多个步长生成地形高程数据,获取分辨率不同的基础地形。
1)、生成步长dr的地形边缘的高程数据,如图1、图2所示:
其中,dr为一个步长;n为调节参数,通过调节n的大小从而调整地形崎岖不平的程度。
通过生成随机噪声角
2)、生成非边缘区域步长dr的高程数据:
对于非边缘区域,利用相邻两个采样数据点m(x-dr,y)和m(x,y-dr)加权平均并添加高程数据差dz,如图3所示:
从地形边角部分逐步扩展向整个地形:通过插值方法,获得平缓的地面图像。
3)、通过减小步长dr,重复步骤一1)~2);直到最小分辨率,将多次生成的高程数据叠加。最终可以得到利用随机噪声角生成方法获得的基础地形m1,如图5;
步骤二、通过随机平面生成方法生成多个坡度在一定区间内的平面,将多个平面较高区域拼接获取多坡度的基础地形。
将普通平面方程ax by cz d=0,简化为z=ax by c;
1)、通过随机数生成方法定义a、b系数,获取随机平面,通过平面夹角余弦公式,即式(3):
获得所得随机平面与xoy平面的夹角:
式中,θ即为平面坡度;
2)、在步骤一获得的基础地形上随机任选一点,该点作为该平面的必经点求得系数c,生成带有随机坡度的平面;
3)、重复步骤二1)~2)通过生成多组不同的系数获取不同坡度的平面。然后将多个平面拼接,取最高部分,获得斜坡叠加图mslope,如图6,再与步骤一获得基础地形进行叠加获得地形图m2=m1 mslope,如图7。
步骤三、生成岩石、陨坑地貌特征然后与步骤二获取地形图叠加;
1)、添加陨坑:陨坑函数采取多段函数表示。
分段函数为:z=ax2 bx c
主坑形状的确定:
坑唇形状的确定:x=0.75d,z=0.75z;x=d,z=0
求得:
则分段函数表示为,如图4所示:
其中,z为陨坑横截面的地形高度值,x为以陨坑中心,高度为零的点为原点垂直线为z轴建立坐标系的x轴数值,d为陨坑的直径。
对于具体的坑,坑深zd和坑唇高度zr与坑直径的关系采用生成随机系数的方法改变:
式中:rand(1)为0~1之间的随机数。
2)、添加岩石;
3)、不同岩石和陨坑直径的数量均按照月海区域陨坑分布模型确定,单位面积内超过某一直径d的陨坑数目为nc(d),岩石数目为ns(d),采用对数形式表示如下:
陨坑数目分布规律:
岩石数目分布规律:
利用分布规律获取各个直径区间的陨坑数目nc和岩石数目ns,形成数组;采用随机数生成的方法获得陨坑、岩石中心位置的横向和纵向位置,根据直径确定陨坑和岩石的影响区域,并计算影响区域内的高程数据,同时修改总高程数据,可以获得陨坑与岩石地形图mcrater、stone,如图8。然后将陨坑与岩石地形图与步骤二获取的地形图进行叠加,叠加后的地形图m3=m2 mcrater、stone,如图9。将地形图添加材质与光影效果即可得到最终地形图,如图10。
使用陨坑检测算法对最终获得的地形图像进行检测,对检测到的陨坑进行标记,可以获得检测结果图,如图11。
以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种复杂行星表面模拟生成方法,其特征在于:包括如下步骤:
步骤一、利用随机噪声角生成方法获得基础地形
随机噪声角生成方法为:通过多个步长生成地形高程数据,获取分辨率不同的基础地形;
1)、生成步长dr的地形边缘的高程数据,如图1、图2所示:
其中,dr为一个步长;n为调节参数,通过调节n的大小从而调整地形崎岖不平的程度;
通过生成随机噪声角
2)、生成非边缘区域步长dr的高程数据:
对于非边缘区域,利用相邻两个采样数据点m(x-dr,y)和m(x,y-dr)加权平均并添加高程数据差dz,如图3所示:
从地形边角部分逐步扩展向整个地形:通过插值方法,获得平缓的地面图像;
3)、通过减小步长dr,重复步骤一1)~2);直到最小分辨率,将多次生成的高程数据叠加;获得基础地形;
步骤二、通过随机平面生成方法生成多个坡度在一定区间内的平面,将多个平面较高区域拼接获取多坡度的基础地形;
将普通平面方程ax by cz d=0,简化为z=ax by c;
1)、通过随机数生成方法定义a、b系数,获取随机平面,通过平面夹角余弦公式,即式(3):
获得所得随机平面与xoy平面的夹角:
式中,θ即为平面坡度;
2)、在步骤一获得的基础地形上随机任选一点,该点作为该平面的必经点求得系数c,生成带有随机坡度的平面;
3)、重复步骤二1)~2)通过生成多组不同的系数获取不同坡度的平面;然后将多个平面拼接,取最高部分,获取崎岖不平的地形;
步骤三、生成岩石、陨坑地貌特征然后与步骤二获取地形图叠加;
1)、添加陨坑:陨坑函数采取多段函数表示;
分段函数为:z=ax2 bx c
主坑形状的确定:
坑唇形状的确定:x=0.75d,z=0.75z;x=d,z=0
求得:
则分段函数表示为,如图4所示:
其中,z为陨坑横截面的地形高度值,x为以陨坑中心,高度为零的点为原点垂直线为z轴建立坐标系的x轴数值,d为陨坑的直径;
对于具体的坑,坑深zd和坑唇高度zr与坑直径的关系采用生成随机系数的方法改变:
式中:rand(1)为0~1之间的随机数;
2)、添加岩石;
3)、不同岩石和陨坑直径的数量均按照月海区域陨坑分布模型确定,单位面积内超过某一直径d的陨坑数目为nc(d),岩石数目为ns(d),采用对数形式表示如下:
陨坑数目分布规律:
岩石数目分布规律:
利用分布规律获取各个直径区间的陨坑数目nc和岩石数目ns,形成数组;采用随机数生成的方法获得陨坑、岩石中心位置的横向和纵向位置,根据直径确定陨坑和岩石的影响区域,并计算影响区域内的高程数据,同时修改总高程数据。
2.如权利要求1所述的一种复杂行星表面模拟生成方法,其特征在于:步骤一2)所述插值方法为3次多项式插值。
3.如权利要求1所述的一种复杂行星表面模拟生成方法,其特征在于:步骤一3)所述减小步长dr,成倍减小。
技术总结