本发明涉及数据可视化技术领域,更具体地,涉及一种基于向量求交的采样点计算方法。
背景技术:
随着虚拟现实(vr)可视化技术的发展,基于光线投射方法的体数据可视化技术呈现爆炸式增长,对光线投射方法的性能要求越来越高,如何在保证体数据可视化质量的基础上,尽量提升光线投射方法中采样点的计算效率,成为影响体数据可视化体验的重要因素。
目前最常用的采样点计算方法为三线性插值重采样,它被分为7次线性插值,共需要7次加法运算和14次乘法运算。通过大量的三线性插值来计算采样点使得计算开销巨大,影响交互体验。因此,期待开发一种计算效率更高的采样点计算方法。
技术实现要素:
本发明的目的是提出一种基于向量求交的采样点计算方法,其能够克服现有采样点计算方法计算量大、占用系统资源高、计算效率低的缺陷。
本发明提出了一种基于向量求交的采样点计算方法,包括以下步骤:
步骤1:建立图像空间坐标系,在所述图像空间坐标系内确定一条穿过体数据的投射光线;
步骤2:在所述投射光线上选择第一个采样点,确定所述第一个采样点的坐标;
步骤3:确定采样步长△l,基于所述采样步长△l计算相邻采样点之间的坐标偏移量;
步骤4:针对所有采样点,基于所述第一个采样点的坐标和所述坐标偏移量计算每个采样点的坐标。
优选地,所述投射光线的方向向量为
优选地,所述第一个采样点为c0(x0,y0,z0),其中x0、y0、z0分别表示所述第一个采样点在所述图像空间坐标系内的x坐标、y坐标和z坐标。
优选地,相邻采样点之间的坐标偏移量为:
其中,δx、δy、δz分别表示相邻采样点之间的x轴、y轴、z轴的坐标偏移量。
优选地,通过以下公式计算每个采样点的坐标:
xi+1=xi+δx
yi+1=yi+δy
zi+1=zi+δz
即:
其中,xi、yi、zi分别表示第i个采样点的x坐标、y坐标、z坐标,i=0……n-1,n表示采样点的数量。
本发明另一方面提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现以下步骤:
步骤1:建立图像空间坐标系,在所述图像空间坐标系内确定一条穿过体数据的投射光线;
步骤2:在所述投射光线上选择第一个采样点,确定所述第一个采样点的坐标;
步骤3:确定采样步长△l,基于所述采样步长△l计算相邻采样点之间的坐标偏移量;
步骤4:针对所有采样点,基于所述第一个采样点的坐标和所述坐标偏移量计算每个采样点的坐标。
优选地,所述投射光线的方向向量为
优选地,所述第一个采样点为c0(x0,y0,z0),其中x0、y0、z0分别表示所述第一个采样点在所述图像空间坐标系内的x坐标、y坐标和z坐标。
优选地,相邻采样点之间的坐标偏移量为:
其中,δx、δy、δz分别表示相邻采样点之间的x轴、y轴、z轴的坐标偏移量。
优选地,通过以下公式计算每个采样点的坐标:
xi+1=xi+δx
yi+1=yi+δy
zi+1=zi+δz
即:
其中,xi、yi、zi分别表示第i个采样点的x坐标、y坐标、z坐标,i=0……n-1,n表示采样点的数量。
本发明的有益效果在于:利用投射光线在物空间的传递性质,借助于空间向量的正交分解及外延求交方法,计算等间距采样点的参数方程,从而减少运算次数。通过该方法能显著提高采样点计算速率,大大减少系统资源的开销,改善用户体验。
本发明的方法和装置具有其它的特性和优点,这些特性和优点从并入本文中的附图和随后的具体实施方式中将是显而易见的,或者将在并入本文中的附图和随后的具体实施方式中进行详细陈述,这些附图和具体实施方式共同用于解释本发明的特定原理。
附图说明
通过结合附图对本发明示例性实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显,其中,在本发明示例性实施例中,相同的附图标记通常代表相同部件。
图1示出了根据本发明实施例的基于向量求交的采样点计算方法的流程图;
图2和图3示出了根据本发明实施例的基于向量求交的采样点计算方法的原理图。
具体实施方式
下面将参照附图更详细地描述本发明。虽然附图中显示了本发明的优选实施例,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。
图1示出了根据本发明实施例基于向量求交的采样点计算方法的流程图。如图1所示,根据本发明实施例基于向量求交的采样点计算方法包括以下步骤:
步骤1:建立图像空间坐标系,在图像空间坐标系内确定一条穿过体数据的投射光线。
建立图像空间坐标系,图像空间坐标系的原点为o,三个坐标轴分别为x轴、y轴和z轴。在图像空间坐标系内确定一条穿过体数据的投射光线
步骤2:在投射光线上选择第一个采样点,确定第一个采样点的坐标。
在投射光线上选择第一个采样点c0(x0,y0,z0),其中x0、y0、z0分别表示第一个采样点在图像空间坐标系内的x坐标、y坐标和z坐标。在步骤1中确定的投射光线
步骤3:确定采样步长△l,基于采样步长△l计算相邻采样点之间的坐标偏移量。
在本步骤中,通过在xoz平面上进行投影和正交分解来计算相邻采样点之间的坐标偏移量。以下参考图2和图3详细描述步骤3的原理。
假设体数据模型的长、宽、高分别为l·δx’、m·δy’、n·δz’,其中δx’、δy’、δz’分别为体数据的一个体素的长、宽、高。体数据定义在网格节点上,相邻的8个网格节点构成一个体素。对于体素f(l,m,n),其对应的网格节点的坐标为(l·δx’,m·δy’,n·δz’)。
以ci和ci+1表示投射光线
其中,α表示投射光线
δy=δl·sinα
其中,
步骤4:针对所有采样点,基于第一个采样点的坐标和坐标偏移量计算每个采样点的坐标。
在通过步骤3获得相邻采样点之间的坐标偏移量之后,即可通过以下公式计算每个采样点的坐标:
xi+1=xi+δx
yi+1=yi+δy
zi+1=zi+δz
即:
其中,xi、yi、zi分别表示第i个采样点的x坐标、y坐标、z坐标,i=0……n-1,n表示采样点的数量。每计算完一个采样点的坐标,可以判断该采样点是否被包含在体数据中,如果否,则采样结束,否则继续进行采样。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现以下步骤:
步骤1:建立图像空间坐标系,在图像空间坐标系内确定一条穿过体数据的投射光线;
步骤2:在投射光线上选择第一个采样点,确定第一个采样点的坐标;
步骤3:确定采样步长△l,基于采样步长△l计算相邻采样点之间的坐标偏移量;
步骤4:针对所有采样点,基于第一个采样点的坐标和坐标偏移量计算每个采样点的坐标。
在一个示例中,投射光线的方向向量为
在一个示例中,第一个采样点为c0(x0,y0,z0),其中x0、y0、z0分别表示第一个采样点在图像空间坐标系内的x坐标、y坐标和z坐标。
在一个示例中,相邻采样点之间的坐标偏移量为:
其中,δx、δy、δz分别表示相邻采样点之间的x轴、y轴、z轴的坐标偏移量。
在一个示例中,通过以下公式计算每个采样点的坐标:
xi+1=xi+δx
yi+1=yi+δy
zi+1=zi+δz
即:
其中,xi、yi、zi分别表示第i个采样点的x坐标、y坐标、z坐标,i=0……n-1,n表示采样点的数量。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。