CN116091671B - 一种面绘制3d的渲染方法、装置及电子设备 - Google Patents

一种面绘制3d的渲染方法、装置及电子设备 Download PDF

Info

Publication number
CN116091671B
CN116091671B CN202211647706.8A CN202211647706A CN116091671B CN 116091671 B CN116091671 B CN 116091671B CN 202211647706 A CN202211647706 A CN 202211647706A CN 116091671 B CN116091671 B CN 116091671B
Authority
CN
China
Prior art keywords
vertex
surface point
cone
vector
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211647706.8A
Other languages
English (en)
Other versions
CN116091671A (zh
Inventor
谭启路
雷静
吴斌
刘立波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Natong Medical Robot Technology Co ltd
Original Assignee
Beijing Natong Medical Robot Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Natong Medical Robot Technology Co ltd filed Critical Beijing Natong Medical Robot Technology Co ltd
Priority to CN202211647706.8A priority Critical patent/CN116091671B/zh
Publication of CN116091671A publication Critical patent/CN116091671A/zh
Application granted granted Critical
Publication of CN116091671B publication Critical patent/CN116091671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Abstract

本申请提供了一种面绘制3D的渲染方法、装置及电子设备,该方法包括:获取目标部位的初始面绘制3D模型;将所述初始面绘制3D模型从图像采集装置所在的摄像位置,向所述图像采集装置的远裁平面做投影,以生成多棱裁剪椎体;识别位于所述多棱裁剪椎体内部的所述目标部位的表面区域;对所述初始面绘制3D模型中的所述表面区域进行透明度渲染,以及对所述初始面绘制3D模型中的剩余区域进行默认渲染,生成目标面绘制3D模型。本申请在面绘制3D的渲染过程中,对初始面绘制3D模型中的表面区域进行透明度渲染,可以将面绘制渲染的几何体设置成局部透明,使用户更清晰的观测3D渲染后被遮挡的部分或全部几何体,提高了视觉体验。

Description

一种面绘制3D的渲染方法、装置及电子设备
技术领域
本申请涉及计算机软件技术领域,尤其涉及一种面绘制3D的渲染方法、装置及电子设备。
背景技术
面绘制技术是3D可视化的一种实现方案,当在绘制多个几何体时,由于其在空间的相对位置关系以及观察视角的影响,有时会产生遮挡,且被遮挡的部分为感兴趣区域时,会造成无法观察的问题。
相关技术中通常采用将某些靠近观察者或者是包裹在外层的几何体整体设置一定透明度的方案,此时,在透明的作用下,其他被遮挡的部分或全部的几何体就会得以展现并进入观察视野,用户便会获取相关的视觉信息,然而,几何体本身表面并不一定十分光滑,存在一些纹理细节;同时,几何体整体透明意味着在面绘制过程中,几何体的前后表面最终将叠加在一起,所有的表面上的纹理细节将同时出现在视野里,显得较为凌乱,对用户真正感兴趣的视觉信息造成干扰,降低了视觉体验。由此,如何在面绘制3D的渲染过程中,提高用户的视觉体验,已成为了亟待解决的问题。
发明内容
本申请提供了一种面绘制3D的渲染方法、装置及电子设备,本申请通过在面绘制3D的渲染过程中,对初始面绘制3D模型中的表面区域进行透明度渲染,可以将面绘制渲染的几何体设置成局部透明,使用户更清晰的观测3D渲染后被遮挡的部分或全部几何体,提高了视觉体验。
根据本申请的第一方面,提供了一种面绘制3D的渲染方法,包括:获取目标部位的初始面绘制3D模型;将所述初始面绘制3D模型从图像采集装置所在的摄像位置,向所述图像采集装置的远裁平面做投影,以生成多棱裁剪椎体;识别位于所述多棱裁剪椎体内部的所述目标部位的表面区域;对所述初始面绘制3D模型中的所述表面区域进行透明度渲染,以及对所述初始面绘制3D模型中的剩余区域进行默认渲染,生成目标面绘制3D模型。
另外,本申请第一方面提出的面绘制3D的渲染方法,还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述识别位于所述多棱裁剪椎体内部的目标部位的表面区域,包括:获取所述目标面绘制3D模型中所述目标部位的每个表面点的第一位置和所述多棱裁剪椎体的椎体顶点的第二位置;针对每个表面点,根据所述表面点的第一位置和所述椎体顶点的第二位置,识别所述表面点是否位于所述多棱裁剪椎体内部,以获取位于所述多棱裁剪椎体内部的表面点集合;基于所述表面点集合,确定位于所述多棱裁剪椎体内部的所述目标部位的表面区域。
根据本申请的一个实施例,所述根据所述表面点的第一位置和所述椎体顶点的第二位置,识别所述表面点是否位于所述多棱裁剪椎体内部,以获取位于所述多棱裁剪椎体内部的表面点集合包括:针对任一表面点P,根据所述表面点P的第一位置和所述椎体顶点的第二位置,确定位于所述多棱裁剪椎体内部的虚拟多边形,其中所述表面点P与所述虚拟多边形共平面;确定所述表面点P与所述虚拟多边形的位置关系;若所述位置关系指示所述表面点P位于所述虚拟多边形内,确定所述表面点P位于所述多棱裁剪椎体内部。
根据本申请的一个实施例,所述根据所述表面点P的第一位置和所述椎体顶点的第二位置,确定位于所述多棱裁剪椎体内部的虚拟多边形,包括:根据所述第一位置和第一椎体顶点的第二位置,确定所述第一椎体顶点至所述表面点P的第一向量;确定所述多棱裁剪椎体的椎体底面的法向量;根据所述第一向量和所述法向量,得到向量内积;获取所述第一椎体顶点至所述椎体底面的第一高度;根据所述向量内积和所述第一高度,判断所述表面点P是否满足第一设定条件;若满足所述第一设定条件,获取所述第一向量在所述法向量所在平面的投影后的第二向量;基于所述第二向量确定所述表面点P至所述法向量所在平面的第二高度;根据所述第一高度和所述第二高度确定高度比值;根据所述高度比值和所述椎体顶点的第二位置,确定位于所述多棱裁剪椎体内部的虚拟多边形。
根据本申请的一个实施例,所述确定所述表面点P与所述虚拟多边形的位置关系,包括:根据所述表面点P的第一位置和所述虚拟多边形的顶点的第三位置,确定所述表面点P与所述虚拟多边形的位置关系。
根据本申请的一个实施例,所述根据所述表面点P的第一位置和所述虚拟多边形的顶点的第三位置,确定所述表面点P与所述虚拟多边形的位置关系,包括:获取所述虚拟多边形中第一顶点至第二顶点的第三向量,以及第三顶点至第四顶点的第四向量,其中,所述第一顶点和所述第三顶点为对角线顶点;获取所述第四顶点至所述第一顶点的第五向量,以及所述第二顶点至所述第三顶点之间的第六向量;根据所述表面点P的第一位置和所述第一顶点的第三位置,确定所述表面点P与所述第一顶点之间的第七向量;根据所述表面点P的第一位置和所述第三顶点的第三位置,确定所述第三顶点至所述表面点P的第八向量;根据所述表面点P的第一位置和所述第二顶点的第三位置,确定所述第二顶点至所述表面点P的第九向量;根据所述表面点P的第一位置和所述第四顶点的第三位置,确定所述第三顶点至所述表面点P的第十向量;判断所述第三向量和所述第四向量,以及所述第七向量和所述第八向量,是否满足第二设定条件;判断所述第五向量和所述第六向量,以及所述第九向量和所述第十向量,是否满足第三设定条件;若同时满足所述第二设定条件和所述第三设定条件,确定所述表面点P为位于所述虚拟多边形内部;反之,确定所述表面点P为位于所述虚拟多边形外部。
根据本申请的一个实施例,所述根据所述表面点的第一位置和所述椎体顶点的第二位置,识别所述表面点是否位于所述多棱裁剪椎体内部,以获取位于所述多棱裁剪椎体内部的表面点集合,包括:根据所述椎体顶点的第二位置,确定所述多棱裁剪椎体的底面和侧面;针对任一表面点P,根据所述表面点P的第一位置,获取所述表面点P到所述多棱裁剪椎体每个平面的距离;根据所述表面点P的第一位置和所述表面点P到每个平面的距离,构建每个平面对应的平面一般方程式;若每个平面的所述平面一般方程式满足第四设定条件,确定所述表面点P位于所述多棱裁剪椎体内部;反之,确定所述表面点P位于所述多棱裁剪椎体外部。
根据本申请的一个实施例,所述从图像采集装置所在的摄像位置,将所述初始面绘制3D模型向远裁平面做投影,以生成多棱裁剪椎体,包括:以所述摄像位置为所述多棱裁剪椎体的第一椎体顶点,所述投影中形成的多边形为所述多棱裁剪椎体的椎体底面;在所述椎体底面上选出多边形的顶点作为第二椎体顶点;以其中一个第二椎体顶点开始,按照设定顺序依次与所述第一椎体顶点连接形成所述多棱裁剪椎体的棱,以生成所述多棱裁剪椎体。
根据本申请的一个实施例,所述获取目标部位的初始面绘制3D模型,包括:获取所述目标部位的第一面绘制3D模型和所述目标部位内部隧道的第二面绘制3D模型;对所述第一面绘制3D模型和所述第二面绘制3D模型进行组合渲染,得到所述初始面绘制3D模型。
本申请第二方面还提出一种面绘制3D的渲染装置,该装置包括:获取模块,用于获取目标部位的初始面绘制3D模型;投影模块,用于将所述初始面绘制3D模型从图像采集装置所在的摄像位置,向所述图像采集装置的远裁平面做投影,以生成多棱裁剪椎体;识别模块,用于识别位于所述多棱裁剪椎体内部的所述目标部位的表面区域;渲染模块,用于对所述初始面绘制3D模型中的所述表面区域进行透明度渲染,以及对所述初始面绘制3D模型中的剩余区域进行默认渲染,生成目标面绘制3D模型。
为了实现上述目的,本申请第三方面实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现前述的面绘制3D的渲染方法。
为了实现上述目的,本申请第四方面实施例提出了非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的面绘制3D的渲染方法。
为了实现上述目的,本申请第五方面实施例提出了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时,实现如上所述的面绘制3D的渲染方法。
本申请实施例提供的技术方案至少包括如下有益效果:
本申请提供了一种面绘制3D的渲染方法,获取目标部位的初始面绘制3D模型,将初始面绘制3D模型从图像采集装置所在的摄像位置,向图像采集装置的远裁平面做投影,以生成多棱裁剪椎体,识别位于多棱裁剪椎体内部的目标部位的表面区域,对初始面绘制3D模型中的表面区域进行透明度渲染,以及对初始面绘制3D模型中的剩余区域进行默认渲染,生成目标面绘制3D模型。本申请在面绘制3D的渲染过程中,对初始面绘制3D模型中的表面区域进行透明度渲染,可以将面绘制渲染的几何体设置成局部透明,使用户更清晰的观测3D渲染后被遮挡的部分或全部几何体,提高了视觉体验。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例提供的一种面绘制3D的渲染方法的流程示意图;
图2为本申请实施例提供的一种构建多棱裁剪椎体的示意图;
图3为本申请实施例提供的一种多棱裁剪椎体的示意图;
图4为本申请实施例提供的一种股骨内部隧道透明渲染的效果示意图;
图5为本申请实施例提供的一种股骨内部隧道局部透明渲染的效果示意图;
图6为本申请实施例提供的另一种面绘制3D的渲染方法的流程示意图;
图7为本申请实施例提供的另一种面绘制3D的渲染方法的流程示意图;
图8为本申请实施例提供的一种面绘制3D的渲染方法的流程示意图;
图9为本申请实施例提供的一种确定虚拟多边形的示意图;
图10为本申请实施例提供的一种面绘制3D的渲染系统的示意图;
图11为本申请实施例提供的一种面绘制3D的渲染装置的结构示意图;
图12为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面采用实施例对本申请的面绘制3D的渲染方法、装置及电子设备进行详细说明。
图1为本申请实施例提供的一种面绘制3D的渲染方法的流程示意图。
其中,需要说明的是,本实施例的面绘制3D的渲染方法的执行主体为面绘制3D的渲染装置,面绘制3D的渲染装置具体可以为硬件设备,或者硬件设备中的软件等。其中,硬件设备例如终端设备、服务器等。
如图1所示,本实施例提出的面绘制3D的渲染方法,包括以下步骤:
S101,获取目标部位的初始面绘制3D模型。
其中,面绘制技术是3D可视化的一种实现方案,是将三维数据场中具有某种共同属性的采样点取出,之后以一定规律用面片连接起来,构成一张连续表面或者一个封闭的几何体,最后绘制到屏幕的过程。
需要说明的是,本申请对于目标部位的设置不作限定,可以根据实际情况进行设定。
可选地,可以设置目标部位为股骨。
需要说明的是,在选定目标部位为股骨后,可以将应用场景选取为前交叉韧带(Anterior Cruciate Ligament,简称ACL)术前股骨隧道规划。
需要说明的是,在试图获取目标部位的初始面绘制3D模型时,可以获取目标部位的第一面绘制3D模型和目标部位内部隧道的第二面绘制3D模型,对第一面绘制3D模型和第二面绘制3D模型进行组合渲染,得到初始面绘制3D模型。
S102,将初始面绘制3D模型从图像采集装置所在的摄像位置,向图像采集装置的远裁平面做投影,以生成多棱裁剪椎体。
可选地,图像采集装置可以为摄像机。
可选地,可以以摄像位置为多棱裁剪椎体的第一椎体顶点,投影中形成的多边形为多棱裁剪椎体的椎体底面,在椎体底面上选出多边形的顶点作为第二椎体顶点,以其中一个第二椎体顶点开始,按照设定顺序依次与第一椎体顶点连接形成多棱裁剪椎体的棱,以生成多棱裁剪椎体。
举例而言,如图2所示,视椎体由观察者点(摄像机位置)、近裁平面、远裁平面和相应的侧面构成,多棱裁剪椎体位于视椎体内部,是视椎体的子空间,在观察者点位置处,向远裁平面对隧道几何体进行投影,最终在远裁平面上形成投影多边形,如图3所示,为简化表达,图中所示多边形为四边形,将观察者点作为椎体顶点,投影的多边形为椎体底面,同时在底面上选出多边形的一个顶点,以设定顺序(顺时针或逆时针)依次选取其他顶点并与观察者点分别构成椎体的棱,这三种几何元素最终构成一个多棱锥,如图3所示,四边形底面最终将构成四棱锥。
S103,识别位于多棱裁剪椎体内部的目标部位的表面区域。
需要说明的是,由于多棱裁剪椎体是观察者点通过对隧道几何体投影构建的,且隧道完全位于目标部位的内部,则椎体一定与目标部位的表面有相交部分。
可选地,可以利用椎体求交算法,识别位于多棱裁剪椎体内部的目标部位的表面区域。
S104,对初始面绘制3D模型中的表面区域进行透明度渲染,以及对初始面绘制3D模型中的剩余区域进行默认渲染,生成目标面绘制3D模型。需要说明的是,相关技术中,如图4所示,以目标部位为股骨为例,股骨内部隧道渲染的效果,采用将包裹在外层的几何体整体设置一定透明度,对用户真正感兴趣的视觉信息造成干扰,降低了观测体验,如图5所示,本申请通过识别位于多棱裁剪椎体内部的目标部位的表面区域,初始面绘制3D模型中的所述面区域进行透明度渲染,以及对初始面绘制3D模型中的剩余区域进行默认渲染,生成目标面绘制3D模型,将面绘制渲染的几何体设置成局部透明,提升用户的观测体验。
本申请提出的面绘制3D的渲染方法,通过获取目标部位的初始面绘制3D模型,将初始面绘制3D模型从图像采集装置所在的摄像位置,向图像采集装置的远裁平面做投影,以生成多棱裁剪椎体,识别位于多棱裁剪椎体内部的目标部位的表面区域,对初始面绘制3D模型中的表面区域进行透明度渲染,以及对初始面绘制3D模型中的剩余区域进行默认渲染,生成目标面绘制3D模型。本申请在面绘制3D的渲染过程中,对初始面绘制3D模型中的表面区域进行透明度渲染,可以将面绘制渲染的几何体设置成局部透明,使用户更清晰的观测3D渲染后被遮挡的部分或全部几何体,提高了视觉体验。
作为一种可能实现的方式,如图6所示,在上述实施例的基础上,上述步骤S103中识别位于多棱裁剪椎体内部的目标部位的表面区域的具体过程,包括以下步骤:
S601,获取目标面绘制3D模型中目标部位的每个表面点的第一位置和多棱裁剪椎体的椎体顶点的第二位置。
需要说明的是,在获取到目标部位和多棱裁剪椎体后,可以获取每个表面点的第一位置和多棱裁剪椎体的椎体顶点的第二位置。
S602,针对每个表面点,根据表面点的第一位置和椎体顶点的第二位置,识别表面点是否位于多棱裁剪椎体内部,以获取位于多棱裁剪椎体内部的表面点集合。
作为一种可能实现的方式,如图7所示,在上述实施例的基础上,上述步骤S602中根据表面点的第一位置和椎体顶点的第二位置,识别表面点是否位于多棱裁剪椎体内部,以获取位于多棱裁剪椎体内部的表面点集合的具体过程,包括以下步骤:
S701,针对任一表面点P,根据表面点P的第一位置和椎体顶点的第二位置,确定位于多棱裁剪椎体内部的虚拟多边形,其中表面点P与虚拟多边形共平面。
作为一种可能实现的方式,如图8所示,在上述实施例的基础上,上述步骤S701中根据表面点P的第一位置和椎体顶点的第二位置,确定位于多棱裁剪椎体内部的虚拟多边形的具体过程,包括以下步骤:
S801,根据第一位置和第一椎体顶点的第二位置,确定第一椎体顶点至表面点P的第一向量。
举例而言,如图9所示,可以设置第一椎体顶点为O,则确定第一椎体顶点至表面点P的第一向量为
S802,确定多棱裁剪椎体的椎体底面的法向量;
举例而言,如图9所示,可以确定多棱裁剪椎体的椎体底面的法向量为
S803,根据第一向量和法向量,得到向量内积。
在本申请实施例中,在获取到第一向量和法向量后,可以进行计算以得到向量内积。
举例而言,向量内积为
S804,获取第一椎体顶点至椎体底面的第一高度。
举例而言,如图9所示,可以根据多棱裁剪椎体的参数,获取第一椎体顶点至椎体底面的第一高度为Height。
S805,根据向量内积和第一高度,判断表面点P是否满足第一设定条件。
可选地,可以设置第一设定条件为
需要说明的是,在获取到第一设定条件后,可以根据向量内积和第一高度,判断表面点P是否满足第一设定条件。
S806,若满足第一设定条件,获取第一向量在法向量所在平面的投影后的第二向量。
可选地,若满足第一设定条件,则可以确定表面点P位于多棱裁剪椎体外部,则可以直接结束当前表面点的判定流程,即采用短路运算机制,先综合分析整个过程,如果当前表面点在算法过程的某一环节中,满足一定逻辑判定条件就可断定最终结果,则在输出最终结果后直接进入下一个表面点的判定流程而无需继续执行当前表面点的后续判定过程,节约处理时间,提高执行效率。
举例而言,如图9所示,可以根据多棱裁剪椎体的参数,第一向量在法向量所在平面的投影后的第二向量为
S807,基于第二向量确定表面点P至法向量所在平面的第二高度。
可选地,可以设置第二高度为
S808,根据第一高度和第二高度确定高度比值。
举例而言,在获取到第一高度和第二高度后,可以根据第一高度和第二高度确定高度比值,其中,高度比值
S809,根据高度比值和椎体顶点的第二位置,确定位于多棱裁剪椎体内部的虚拟多边形。
可选地,可以应用定比分点坐标公式,分别确定每条棱上的定比分点,
举例而言,如图9所示,以在OA上的点A′为例,可以根据坐标确定公式确定A′的空间坐标,并可以分别计算计算B′、C′、D′空间坐标,确定位于多棱裁剪椎体内部的虚拟多边形A′B′C′D′,其中虚拟多边形A′B′C′D′与表面点P空间共面。
其中,坐标确定公式如下:
其中,Ox、Oy、Oz分别为多棱裁剪椎体的椎体顶点O的x、y、z轴坐标,Ax、Ay、Az分别为多棱裁剪椎体的椎体顶点A的x、y、z轴坐标,A′x、A′y、A′z分别为虚拟多边形顶点A的x、y、z轴坐标。
S702,确定表面点P与虚拟多边形的位置关系。
可选地,根据表面点P的第一位置和虚拟多边形的顶点的第三位置,确定表面点P与虚拟多边形的位置关系。
可选地,可以获取虚拟多边形中第一顶点至第二顶点的第三向量以及第三顶点至第四顶点的第四向量/>其中,第一顶点和第三顶点为对角线顶点,并获取第四顶点至第一顶点的第五向量/>以及第二顶点至第三顶点之间的第六向量/>根据表面点P的第一位置和第一顶点的第三位置,确定表面点P与第一顶点之间的第七向量/>根据表面点P的第一位置和第三顶点的第三位置,确定第三顶点至表面点P的第八向量/>根据表面点P的第一位置和第二顶点的第三位置,确定第二顶点至表面点P的第九向量/>根据表面点P的第一位置和第四顶点的第三位置,确定第三顶点至表面点P的第十向量/>判断第三向量和第四向量,以及第七向量和第八向量,是否满足第二设定条件,判断第五向量和第六向量,以及第九向量和第十向量,是否满足第三设定条件,若同时满足第二设定条件和第三设定条件,确定表面点P为位于虚拟多边形内部;反之,确定表面点P为位于虚拟多边形外部。
举例而言,可以设置第二设定条件为若不满足第二设定条件,则表面点P不位于A′B′与C′D′之间,则表面点P一定位于虚拟多边形A′B′C′D′外部,直接结束当前表面点判定流程,可以设置第三设定条件为若不满足第三设定条件,则表面点P并不位于B′C′与D′A′之间,则表面点P位于虚拟多边形A′B′C′D′外部,在当同时满足第二设定条件和第三设定条件时时,确定表面点P位于虚拟多边形A′B′C′D′内部。
可选地,可以根据椎体顶点的第二位置,确定多棱裁剪椎体的底面和侧面,针对任一表面点P,根据表面点P的第一位置,获取表面点P到多棱裁剪椎体每个平面的距离,根据表面点P的第一位置和表面点P到每个平面的距离,构建每个平面对应的平面一般方程式,若每个平面的平面一般方程式满足第四设定条件,确定表面点P位于所述多棱裁剪椎体内部,反之,确定表面点P位于所述多棱裁剪椎体外部。
举例而言,如图9所示,O、A、B、C、D分别构成了多棱裁剪椎体的底面ABCD与侧面OBA、OAD、ODC、OCB,并且根据五个点O、A、B、C、D的坐标可以分别确定五个平面方程的一般式,五个平面方程的一般式的共同点是法向量均指向多棱裁剪椎体O-ABCD的内部,若每个平面的平面一般方程式满足第四设定条件,确定表面点P位于所述多棱裁剪椎体内部,反之,确定表面点P位于所述多棱裁剪椎体外部,即如果表面点P同时位于五个面的上侧(平面法向量正方向一侧),则表面点P在多棱裁剪椎体O-ABCD内部,反之则在外部。
可选地,可以设置第四设定条件为A1x+B1y+C1z+D1>0或
A2x+B2y+C2z+D2>0或A3x+B3y+C3z+D3>0或A3x+B3y+C3z+D3>0或A5x+B5y+C5z+D5>0,则第四设定条件可以形成一个集合。
其中,(x,y,z)为P的空间坐标,A1、B1、C1、D1、A2、B2、C2、D2、A3、B3、C3、D3、A4、B4、C4、D4、A5、B5、C5、D5分别为五个平面一般式方程的系数。
S703,若位置关系指示表面点P位于虚拟多边形内,确定表面点P位于多棱裁剪椎体内部。
在本申请实施例中,在获取到位置关系后,若位置关系指示表面点P位于虚拟多边形内,则可以确定表面点P位于多棱裁剪椎体内部。
S603,基于表面点集合,确定位于多棱裁剪椎体内部的目标部位的表面区域。
需要说明的是,可以重复采用上述流程依次判定表面点是否位于多棱裁剪椎体内部,以获取表面点集合,进而确定位于多棱裁剪椎体内部的目标部位的表面区域。
本申请提出的面绘制3D的渲染方法,可以获取目标面绘制3D模型中目标部位的每个表面点的第一位置和多棱裁剪椎体的椎体顶点的第二位置,针对每个表面点,根据表面点的第一位置和椎体顶点的第二位置,识别表面点是否位于多棱裁剪椎体内部,以获取位于多棱裁剪椎体内部的表面点集合,基于表面点集合,确定位于多棱裁剪椎体内部的目标部位的表面区域。本申请可以根据目标部位的表面点集合,准确地确定位于多棱裁剪椎体内部的目标部位的表面区域,为后续准确地对初始面绘制3D模型中的表面区域进行透明度渲染奠定了基础。
下面对本申请提出的面绘制3D的渲染方法的过程进行解释说明。
举例而言,如图10所示,可以根据面绘制3D的渲染方法,构建对应的系统,系统分为三个模块(渲染管线、可视化窗口、交互模块)。其中渲染管线模块将场数据进行导入,通过移动立方体(marching cube,简称MC)算法生成集合拓扑数据,并在场数据中提取具有相同属性的空间点,以一定规律采用面片加以连接最终形成连续表面或封闭几何体,将原始的场数据转化成空间图形数据,随后经过坐标系统的变换操作形成平面图形数据,输出给可视化窗口,同时创建相应的交互系统供用户操作,可视化窗口模块接收到数据后,根据屏幕坐标系中的点坐标以及拓扑关系将几何体绘制出来,交互模块用于用户操作可视化窗口中的几何体,可以首先进行初始化,获取观察点坐标,待观测几何体空间坐标以及摄像机远裁平面方程,并构建多棱裁剪椎体,通过椎体求交算法确定局部遮挡面,并将局部遮挡面设置成透明,以便于从不同视角进行观测,其所使用的数据与可视化窗口共享,同时能够响应用户的操作,并根据交互输入信息(如鼠标按键压下、拖动、按键释放等事件)对呈现在3D场景中的数据做相应的处理。
综上所述,本申请提出的面绘制3D的渲染方法,通过获取目标部位的初始面绘制3D模型,将初始面绘制3D模型从图像采集装置所在的摄像位置,向图像采集装置的远裁平面做投影,以生成多棱裁剪椎体,识别位于多棱裁剪椎体内部的目标部位的表面区域,对初始面绘制3D模型中的表面区域进行透明度渲染,以及对初始面绘制3D模型中的剩余区域进行默认渲染,生成目标面绘制3D模型。本申请在面绘制3D的渲染过程中,对初始面绘制3D模型中的表面区域进行透明度渲染,可以将面绘制渲染的几何体设置成局部透明,使用户更清晰的观测3D渲染后被遮挡的部分或全部几何体,提高了视觉体验。
为了实现上述实施例,本实施例提供了一种面绘制3D的渲染装置,图11为本申请实施例提供的一种面绘制3D的渲染装置的结构示意图。
如图11所示,该面绘制3D的渲染装置1000,包括:获取模块110、投影模块120、识别模块130和渲染模块140。其中,
获取模块110,用于获取目标部位的初始面绘制3D模型;
投影模块120,用于将所述初始面绘制3D模型从图像采集装置所在的摄像位置,向所述图像采集装置的远裁平面做投影,以生成多棱裁剪椎体;
识别模块130,用于识别位于所述多棱裁剪椎体内部的所述目标部位的表面区域;
渲染模块140,用于对所述初始面绘制3D模型中的所述表面区域进行透明度渲染,以及对所述初始面绘制3D模型中的剩余区域进行默认渲染,生成目标面绘制3D模型。
根据本申请的一个实施例,识别模块130,还用于:获取所述目标面绘制3D模型中所述目标部位的每个表面点的第一位置和所述多棱裁剪椎体的椎体顶点的第二位置;针对每个表面点,根据所述表面点的第一位置和所述椎体顶点的第二位置,识别所述表面点是否位于所述多棱裁剪椎体内部,以获取位于所述多棱裁剪椎体内部的表面点集合;基于所述表面点集合,确定位于所述多棱裁剪椎体内部的所述目标部位的表面区域。
根据本申请的一个实施例,识别模块130,还用于:针对任一表面点P,根据所述表面点P的第一位置和所述椎体顶点的第二位置,确定位于所述多棱裁剪椎体内部的虚拟多边形,其中所述表面点P与所述虚拟多边形共平面;确定所述表面点P与所述虚拟多边形的位置关系;若所述位置关系指示所述表面点P位于所述虚拟多边形内,确定所述表面点P位于所述多棱裁剪椎体内部。
根据本申请的一个实施例,识别模块130,还用于:根据所述第一位置和第一椎体顶点的第二位置,确定所述第一椎体顶点至所述表面点P的第一向量;确定所述多棱裁剪椎体的椎体底面的法向量;根据所述第一向量和所述法向量,得到向量内积;获取所述第一椎体顶点至所述椎体底面的第一高度;根据所述向量内积和所述第一高度,判断所述表面点P是否满足第一设定条件;若满足所述第一设定条件,获取所述第一向量在所述法向量所在平面的投影后的第二向量;基于所述第二向量确定所述表面点P至所述法向量所在平面的第二高度;根据所述第一高度和所述第二高度确定高度比值;根据所述高度比值和所述椎体顶点的第二位置,确定位于所述多棱裁剪椎体内部的虚拟多边形。
根据本申请的一个实施例,识别模块130,还用于:根据所述表面点P的第一位置和所述虚拟多边形的顶点的第三位置,确定所述表面点P与所述虚拟多边形的位置关系。
根据本申请的一个实施例,识别模块130,还用于:获取所述虚拟多边形中第一顶点至第二顶点的第三向量,以及第三顶点至第四顶点的第四向量,其中,所述第一顶点和所述第三顶点为对角线顶点;获取所述第四顶点至所述第一顶点的第五向量,以及所述第二顶点至所述第三顶点之间的第六向量;根据所述表面点P的第一位置和所述第一顶点的第三位置,确定所述表面点P与所述第一顶点之间的第七向量;根据所述表面点P的第一位置和所述第三顶点的第三位置,确定所述第三顶点至所述表面点P的第八向量;根据所述表面点P的第一位置和所述第二顶点的第三位置,确定所述第二顶点至所述表面点P的第九向量;根据所述表面点P的第一位置和所述第四顶点的第三位置,确定所述第三顶点至所述表面点P的第十向量;判断所述第三向量和所述第四向量,以及所述第七向量和所述第八向量,是否满足第二设定条件;判断所述第五向量和所述第六向量,以及所述第九向量和所述第十向量,是否满足第三设定条件;若同时满足所述第二设定条件和所述第三设定条件,确定所述表面点P为位于所述虚拟多边形内部;反之,确定所述表面点P为位于所述虚拟多边形外部。
根据本申请的一个实施例,识别模块130,还用于:根据所述椎体顶点的第二位置,确定所述多棱裁剪椎体的底面和侧面;针对任一表面点P,根据所述表面点P的第一位置,获取所述表面点P到所述多棱裁剪椎体每个平面的距离;根据所述表面点P的第一位置和所述表面点P到每个平面的距离,构建每个平面对应的平面一般方程式;若每个平面的所述平面一般方程式满足第四设定条件,确定所述表面点P位于所述多棱裁剪椎体内部;反之,确定所述表面点P位于所述多棱裁剪椎体外部。
根据本申请的一个实施例,投影模块120,还用于:以所述摄像位置为所述多棱裁剪椎体的第一椎体顶点,所述投影中形成的多边形为所述多棱裁剪椎体的椎体底面;在所述椎体底面上选出多边形的顶点作为第二椎体顶点;以其中一个第二椎体顶点开始,按照设定顺序依次与所述第一椎体顶点连接形成所述多棱裁剪椎体的棱,以生成所述多棱裁剪椎体。
根据本申请的一个实施例,获取模块110,还用于:获取所述目标部位的第一面绘制3D模型和所述目标部位内部隧道的第二面绘制3D模型;对所述第一面绘制3D模型和所述第二面绘制3D模型进行组合渲染,得到所述初始面绘制3D模型。
根据本申请提供的面绘制3D的渲染装置,通过获取目标部位的初始面绘制3D模型,将初始面绘制3D模型从图像采集装置所在的摄像位置,向图像采集装置的远裁平面做投影,以生成多棱裁剪椎体,识别位于多棱裁剪椎体内部的目标部位的表面区域,对初始面绘制3D模型中的表面区域进行透明度渲染,以及对初始面绘制3D模型中的剩余区域进行默认渲染,生成目标面绘制3D模型。本申请在面绘制3D的渲染过程中,对初始面绘制3D模型中的表面区域进行透明度渲染,可以将面绘制渲染的几何体设置成局部透明,使用户更清晰的观测3D渲染后被遮挡的部分或全部几何体,提高了视觉体验。
为了实现上述实施例,本申请还提出了一种电子设备2000,如图12所示,包括存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序,处理器执行程序时,实现前述的面绘制3D的渲染方法。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的面绘制3D的渲染方法。
为了实现上述实施例,本申请还提出一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时,实现如上所述的面绘制3D的渲染方法。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (10)

1.一种面绘制 3D 的渲染方法,其特征在于,包括:
获取目标部位的初始面绘制 3D 模型;
将所述初始面绘制 3D 模型从图像采集装置所在的摄像位置,向所述图像采集装置的远裁平面做投影,以生成多棱裁剪椎体;
识别位于所述多棱裁剪椎体内部的所述目标部位的表面区域;
获取所述目标部位的每个表面点的第一位置和所述多棱裁剪椎体的椎体顶点的第二位置;
针对每个表面点,根据所述表面点的第一位置和所述椎体顶点的第二位置,识别所述表面点是否位于所述多棱裁剪椎体内部,以获取位于所述多棱裁剪椎体内部的表面点集合;
根据所述椎体顶点的第二位置,确定所述多棱裁剪椎体的底面和侧面;
针对任一表面点 P,根据所述表面点 P 的第一位置,获取所述表面点 P到所述多棱裁剪椎体每个平面的距离;
根据所述表面点 P 的第一位置和所述表面点 P 到每个平面的距离,构建每个平面对应的平面一般方程式;
若每个平面的所述平面一般方程式满足第四设定条件,确定所述表面点P 位于所述多棱裁剪椎体内部;反之,确定所述表面点 P 位于所述多棱裁剪椎体外部;
基于所述表面点集合,确定位于所述多棱裁剪椎体内部的所述目标部位的表面区域;
对所述初始面绘制 3D 模型中的所述表面区域进行透明度渲染,以及对所述初始面绘制 3D 模型中的剩余区域进行默认渲染,生成目标面绘制 3D模型。
2.根据权利要求 1所述的方法,其特征在于,所述根据所述表面点的第一位置和所述椎体顶点的第二位置,识别所述表面点是否位于所述多棱裁剪椎体内部,以获取位于所述多棱裁剪椎体内部的表面点集合包括:
针对任一表面点 P,根据所述表面点 P 的第一位置和所述椎体顶点的第二位置,确定位于所述多棱裁剪椎体内部的虚拟多边形,其中所述表面点 P与所述虚拟多边形共平面;
确定所述表面点 P 与所述虚拟多边形的位置关系;
若所述位置关系指示所述表面点 P 位于所述虚拟多边形内,确定所述表面点 P 位于所述多棱裁剪椎体内部。
3.根据权利要求 2 所述的方法,其特征在于,所述根据所述表面点 P的第一位置和所述椎体顶点的第二位置,确定位于所述多棱裁剪椎体内部的虚拟多边形,包括:
根据所述第一位置和第一椎体顶点的第二位置,确定所述第一椎体顶点至所述表面点P 的第一向量;
确定所述多棱裁剪椎体的椎体底面的法向量;
根据所述第一向量和所述法向量,得到向量内积;
获取所述第一椎体顶点至所述椎体底面的第一高度;
根据所述向量内积和所述第一高度,判断所述表面点 P 是否满足第一设定条件;
若满足所述第一设定条件,获取所述第一向量在所述法向量所在平面的投影后的第二向量;
基于所述第二向量确定所述表面点 P 至所述法向量所在平面的第二高度;
根据所述第一高度和所述第二高度确定高度比值;
根据所述高度比值和所述椎体顶点的第二位置,确定位于所述多棱裁剪椎体内部的虚拟多边形。
4.根据权利要求 3 所述的方法,其特征在于,所述确定所述表面点 P与所述虚拟多边形的位置关系,包括:
根据所述表面点 P 的第一位置和所述虚拟多边形的顶点的第三位置,确定所述表面点 P 与所述虚拟多边形的位置关系。
5.根据权利要求 4 所述的方法,其特征在于,所述根据所述表面点 P的第一位置和所述虚拟多边形的顶点的第三位置,确定所述表面点 P 与所述虚拟多边形的位置关系,包括:
获取所述虚拟多边形中第一顶点至第二顶点的第三向量,以及第三顶点至第四顶点的第四向量,其中,所述第一顶点和所述第三顶点为对角线顶点;
获取所述第四顶点至所述第一顶点的第五向量,以及所述第二顶点至所述第三顶点之间的第六向量;
根据所述表面点 P 的第一位置和所述第一顶点的第三位置,确定所述表面点 P 与所述第一顶点之间的第七向量;
根据所述表面点 P 的第一位置和所述第三顶点的第三位置,确定所述第三顶点至所述表面点 P 的第八向量;
根据所述表面点 P 的第一位置和所述第二顶点的第三位置,确定所述第二顶点至所述表面点 P 的第九向量;
根据所述表面点 P 的第一位置和所述第四顶点的第三位置,确定所述第三顶点至所述表面点 P 的第十向量;
判断所述第三向量和所述第四向量,以及所述第七向量和所述第八向量,是否满足第二设定条件;
判断所述第五向量和所述第六向量,以及所述第九向量和所述第十向量,是否满足第三设定条件;
若同时满足所述第二设定条件和所述第三设定条件,确定所述表面点 P为位于所述虚拟多边形内部;反之,确定所述表面点 P 为位于所述虚拟多边形外部。
6.根据权利要求 1-5中任一项所述的方法,其特征在于,所述从图像采集装置所在的摄像位置,将所述初始面绘制 3D 模型向远裁平面做投影,以生成多棱裁剪椎体,包括:
以所述摄像位置为所述多棱裁剪椎体的第一椎体顶点,所述投影中形成的多边形为所述多棱裁剪椎体的椎体底面;
在所述椎体底面上选出多边形的顶点作为第二椎体顶点;
以其中一个第二椎体顶点开始,按照设定顺序依次与所述第一椎体顶点连接形成所述多棱裁剪椎体的棱,以生成所述多棱裁剪椎体。
7.根据权利要求 1-5 中任一项所述的方法,其特征在于,所述获取目标部位的初始面绘制 3D 模型,包括:
获取所述目标部位的第一面绘制 3D 模型和所述目标部位内部隧道的第二面绘制 3D模型;
对所述第一面绘制 3D 模型和所述第二面绘制 3D 模型进行组合渲染,得到所述初始面绘制 3D 模型。
8.一种面绘制 3D 的渲染装置,其特征在于,包括:
获取模块,用于获取目标部位的初始面绘制 3D 模型;
投影模块,用于将所述初始面绘制 3D 模型从图像采集装置所在的摄像位置,向所述图像采集装置的远裁平面做投影,以生成多棱裁剪椎体;
识别模块,用于识别位于所述多棱裁剪椎体内部的所述目标部位的表面区域;
获取所述目标部位的每个表面点的第一位置和所述多棱裁剪椎体的椎体顶点的第二位置;
针对每个表面点,根据所述表面点的第一位置和所述椎体顶点的第二位置,识别所述表面点是否位于所述多棱裁剪椎体内部,以获取位于所述多棱裁剪椎体内部的表面点集合;
根据所述椎体顶点的第二位置,确定所述多棱裁剪椎体的底面和侧面;
针对任一表面点 P,根据所述表面点 P 的第一位置,获取所述表面点 P到所述多棱裁剪椎体每个平面的距离;
根据所述表面点 P 的第一位置和所述表面点 P 到每个平面的距离,构建每个平面对应的平面一般方程式;
若每个平面的所述平面一般方程式满足第四设定条件,确定所述表面点P 位于所述多棱裁剪椎体内部;反之,确定所述表面点 P 位于所述多棱裁剪椎体外部;
基于所述表面点集合,确定位于所述多棱裁剪椎体内部的所述目标部位的表面区域;
渲染模块,用于对所述初始面绘制 3D 模型中的所述表面区域进行透明度渲染,以及对所述初始面绘制 3D 模型中的剩余区域进行默认渲染,生成目标面绘制 3D 模型。
9.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求 1-7 中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求 1-7 中任一项所述的方法。
CN202211647706.8A 2022-12-21 2022-12-21 一种面绘制3d的渲染方法、装置及电子设备 Active CN116091671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211647706.8A CN116091671B (zh) 2022-12-21 2022-12-21 一种面绘制3d的渲染方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211647706.8A CN116091671B (zh) 2022-12-21 2022-12-21 一种面绘制3d的渲染方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN116091671A CN116091671A (zh) 2023-05-09
CN116091671B true CN116091671B (zh) 2024-02-06

Family

ID=86201700

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211647706.8A Active CN116091671B (zh) 2022-12-21 2022-12-21 一种面绘制3d的渲染方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN116091671B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003232063A8 (en) * 2002-05-06 2003-11-11 Univ Johns Hopkins Simulation system for medical procedures
CN102831631A (zh) * 2012-08-23 2012-12-19 上海创图网络科技发展有限公司 一种大规模三维动画的渲染方法及渲染装置
CN106236133A (zh) * 2015-06-12 2016-12-21 三星麦迪森株式会社 用于显示超声图像的方法和设备
CN108784831A (zh) * 2018-04-14 2018-11-13 深圳市图智能科技有限公司 一种基于三维影像的穿刺参数生成方法
CN112070873A (zh) * 2020-08-26 2020-12-11 完美世界(北京)软件科技发展有限公司 一种模型的渲染方法和装置
CN112581596A (zh) * 2019-09-29 2021-03-30 深圳迈瑞生物医疗电子股份有限公司 超声图像绘制方法、超声图像绘制设备及存储介质
CN113763546A (zh) * 2021-11-09 2021-12-07 捷德(中国)科技有限公司 卡预览方法、装置及电子设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003232063A8 (en) * 2002-05-06 2003-11-11 Univ Johns Hopkins Simulation system for medical procedures
CN102831631A (zh) * 2012-08-23 2012-12-19 上海创图网络科技发展有限公司 一种大规模三维动画的渲染方法及渲染装置
CN106236133A (zh) * 2015-06-12 2016-12-21 三星麦迪森株式会社 用于显示超声图像的方法和设备
CN108784831A (zh) * 2018-04-14 2018-11-13 深圳市图智能科技有限公司 一种基于三维影像的穿刺参数生成方法
CN112581596A (zh) * 2019-09-29 2021-03-30 深圳迈瑞生物医疗电子股份有限公司 超声图像绘制方法、超声图像绘制设备及存储介质
CN112070873A (zh) * 2020-08-26 2020-12-11 完美世界(北京)软件科技发展有限公司 一种模型的渲染方法和装置
CN113763546A (zh) * 2021-11-09 2021-12-07 捷德(中国)科技有限公司 卡预览方法、装置及电子设备

Also Published As

Publication number Publication date
CN116091671A (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
JP4392507B2 (ja) 3次元サーフェス生成方法
US20230412902A1 (en) Image processing device, image processing method, and recording medium
JP5248806B2 (ja) 情報処理装置、情報処理方法
CN111369655B (zh) 渲染方法、装置和终端设备
CN110634177A (zh) 一种物体建模运动方法、装置与设备
KR20210146353A (ko) 수정된 셰이프 프롬 셰이딩(sfs) 방식을 이용한 삼각형 3 차원 메쉬의 형상-세분화
JP2019534510A5 (zh)
US8526734B2 (en) Three-dimensional background removal for vision system
JP6290153B2 (ja) 対象の3次元モデルを生成する方法とシステム
Olesen et al. Real-time extraction of surface patches with associated uncertainties by means of kinect cameras
US11490062B2 (en) Information processing apparatus, information processing method, and storage medium
Meerits et al. Real-time diminished reality for dynamic scenes
JP6863596B2 (ja) データ処理装置及びデータ処理方法
JP6902881B2 (ja) 情報処理装置及び三次元モデルの生成方法
JP7038683B2 (ja) 合成装置、方法及びプログラム
CN109064533B (zh) 一种3d漫游方法及系统
WO2019012632A1 (ja) 認識処理装置、認識処理方法及びプログラム
JPWO2012111404A1 (ja) 画像処理装置、そのプログラム、および画像処理方法
US8902217B2 (en) Image generating method
US20210209347A1 (en) Texture map generation using multi-viewpoint color images
CN116091671B (zh) 一种面绘制3d的渲染方法、装置及电子设备
US10600244B2 (en) Vertex optimization method using depth image in workspace modeling and system therefor
JP2023527438A (ja) リアルタイム深度マップを用いたジオメトリ認識拡張現実効果
JP2002222430A (ja) 3次元ポリゴンメッシュを生成する方法、装置、プログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2022039374A (ja) 画像処理装置、画像処理システム、画像処理方法、およびプログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant