一种菱形像素排列的体绘制方法
技术领域
本发明属于体绘制
技术领域
,尤其涉及一种菱形像素排列的体绘制方法。背景技术
体绘制是实现三维数据场可视化的核心算法之一,它可以直接而有效地展示数据场内部的物理现象,具有非常强的表现力。三维体绘制的作用就是将离散分布的三维数据场投影显示到二维屏幕上,然而,体绘制中采样计算与图像合成都是非常费时的,且两者的计算开销都与采样点总数成正比。
对体绘制加速的算法目前多采用针对体数据空间跳跃的方式,在光线传播过程中,通过对数据场进行编码,跳过背景及针对特定传输函数不可见的区域。对体数据场的编码有基于八叉树,k-d树等层次编码方式。
基于体数据编码的空间跳跃方式可以有效的提高体绘制过程的计算效率,减少绘制时间,但同时需要保存编码信息,增加额外的系统开销,而且编码依赖于传输函数信息,当传输函数发生变更时,需要从新调整编码进行,保证有效的绘制结果。
发明内容
(一)要解决的技术问题
针对现有存在的技术问题,本发明提供一种菱形像素排列的体绘制方法,通过像素排列方式提升显示效果的体绘制加速绘制方案,相同分别率下效果会有很大提升,进而在体绘制应用中,在保证绘制精度的前提下,通过降低绘制分辨率提高绘制效率。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案如下:
一种菱形像素排列的体绘制方法,包括如下步骤:
S1、采用光线投射法对三维数据场进行投射获得投影成像平面;
S2、对投影成像平面绕其法向量方向旋转45度,得到一个菱形的投影平面空间;
S3、将投影平面空间中菱形排列的像素通过转换为方形排列的像素,得到最终的绘制图像。
优选地,所述步骤S1还包括:
从图像空间的每一个像素点f(x,y)出发,按视线方向投射多条射线,并在每条射线上均选取采样点;
根据投射的射线上的采样点数据计算得到每一个像素点f(x,y)处的颜色值,将得到的每一个像素点f(x,y)的颜色值合成得到投影成像平面。
优选地,所述方法还包括:
每条射线均按照设定的步长穿过三维数据场;
沿着其中一条射线选择K个等距的采样点;
由距离采样点最近的8个数据点的颜色值和不透明值做三次线性插值,求出该采样点的颜色值和不透明度;
求出射线上所有采样点的颜色值和不透明度;
再将射线上各采样点的颜色值和不透明度值由前向后或由后向前加以合成,得到发出该射线的像素点f(x,y)处的颜色值。
优选地,所述射线的数量等于所述图像空间像素点f(x,y)数量。
优选地,所述步骤S3中将投影平面空间中菱形排列的像素转换为方形排列的像素的方法还包括:
在投影平面空间中沿着水平方向和垂直方向进行二次采样,获得二次采样点;
最后根据所述二次采样点的像素值绘制得到最终的图像。
优选地,所述二次采样点包括:菱形像素点和菱形区域的中间像素点;
所述菱形像素点的像素值为原像素值;
所述中间像素点的像素值为相邻四个顶点的像素值的均值。
优选地,当所述步骤S3中的菱形投影平面的分辨率为n×n时,将投影平面空间中菱形排列的像素通过转换为方形排列的像素,得到最终的绘制图像的分辨率为2n×2n。
(三)有益效果
本发明提供的一种菱形像素排列的体绘制方法,具有以下有益效果:在相同计算量下,提升体绘制的显示效果。
具体地,在相同分别率下效果会有很大提升,进而在体绘制应用中,在保证绘制精度的前提下,通过降低绘制分辨率提高绘制效率。
附图说明
图1为本发明一种菱形像素排列的体绘制方法的流程框图;
图2为本发明一种菱形像素排列的体绘制方法中的光线投射示意图;
图3为本发明一种菱形像素排列的体绘制方法中的分辨率为7*7的投影平面示意图;
图4为本发明一种菱形像素排列的体绘制方法分辨率为7*7的投影平面的二次采样示意图;
图5为本发明一种菱形像素排列的体绘制方法的实施例中的相同分辨率下的正方形排列a和菱形排列b的对比示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
如图1和图5所示所示:本实施例中提供了一种菱形像素排列的体绘制方法,具体包括如下步骤:
S1、采用光线投射法对三维数据场进行投射获得投影成像平面;
S2、对投影成像平面绕其法向量方向旋转45度,得到一个菱形的投影平面空间;
S3、将投影平面空间中菱形排列的像素通过转换为方形排列的像素,得到最终的绘制图像。
如图2所示:本实施例中所述的步骤S1还包括:
从图像空间的每一个像素点f(x,y)出发,按视线方向投射多条射线,并在每条射线上均选取采样点;
根据投射的射线上的采样点数据计算得到每一个像素点f(x,y)处的颜色值,将得到的每一个像素点f(x,y)的颜色值合成得到投影成像平面。
本实施例中所述方法还包括:
每条射线均按照设定的步长穿过三维数据场;
沿着其中一条射线选择K个等距的采样点;
由距离采样点最近的8个数据点的颜色值和不透明值做三次线性插值,求出该采样点的颜色值和不透明度;
求出射线上所有采样点的颜色值和不透明度;
再将射线上各采样点的颜色值和不透明度值由前向后或由后向前加以合成,得到发出该射线的像素点f(x,y)处的颜色值。
应说明的是本实施例中所述射线的数量等于所述图像空间像素点f(x,y)数量。
本实施例中所述的步骤S3中将投影平面空间中菱形排列的像素转换为方形排列的像素的方法还包括:
在投影平面空间中沿着水平方向和垂直方向进行二次采样,获得二次采样点;
最后根据所述二次采样点的像素值绘制得到最终的图像。
本实施例中所述二次采样点包括:菱形像素点和菱形区域的中间像素点;
所述菱形像素点的像素值为原像素值;
所述中间像素点的像素值为相邻四个顶点的像素值的均值。
优选地,当所述步骤S3中的菱形投影平面的分辨率为n×n时,将投影平面空间中菱形排列的像素通过转换为方形排列的像素,得到最终的绘制图像的分辨率为2n×2n。
如图3所示,以一个7*7的投影平面为例,体绘制得到的投影结果按照菱形的像素排列方式,由于显示需要采用方形像素,因此,在进行绘制之前,需要将菱形排列的像素转换为方形排列的像素。
如图4所示,沿着水平方向和垂直方向进行采样,采样点有两类,第一类为菱形像素点,直接取值,第二类为菱形区域的中间像素点,该点的像素值为其相邻的四个顶点的像素值的均值。最后得到有效区域分辨率为14*14的绘制结果。
综上,如图5所示,本实施例中在相同分辨率下得到的两个图像的对比结果,采用菱形采样的结果要比正方形采样的结果具有更加丰富的细节信息。
最后应说明的是,以上所述的各实施例仅限于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述实施例记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不会使相应技术方案的本质脱离本发明个实施例技术方案的范围。