CN114937110B - 一种gpu加速的引流线建模方法、系统、设备及介质 - Google Patents
一种gpu加速的引流线建模方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN114937110B CN114937110B CN202210609138.6A CN202210609138A CN114937110B CN 114937110 B CN114937110 B CN 114937110B CN 202210609138 A CN202210609138 A CN 202210609138A CN 114937110 B CN114937110 B CN 114937110B
- Authority
- CN
- China
- Prior art keywords
- modeling
- calculating
- data
- vertex
- gpu
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012545 processing Methods 0.000 title claims abstract description 19
- 230000009466 transformation Effects 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 17
- 239000013598 vector Substances 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000013519 translation Methods 0.000 claims description 12
- 238000009877 rendering Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 6
- 238000004040 coloring Methods 0.000 claims description 5
- 239000012634 fragment Substances 0.000 claims description 5
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02E—REDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
- Y02E60/00—Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Architecture (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Image Generation (AREA)
Abstract
本发明属于计算机技术领域,具体涉及一种GPU加速的引流线建模方法、系统、设备及介质。通过GPU的细分着色器对一个粗略的实体进行细分,细分速度快,无需细分整条引流线;细分后通过几何着色器对该实体通过变换创建实例几何,充分利用GPU的并行能力,具有建模过程占用内存较小、建模速度快的优势。
Description
技术领域
本发明属于计算机技术领域,具体涉及一种GPU加速的引流线建模方法、系统、设备及介质。
背景技术
引流线常见于输变电工程变电、换流、架空、电缆等专业模型中,且在模型中的构件占比较大。在引流线较长时,建模造型过程比较慢,并且由于当前建模算法限制,一般需要构造出较精细的引流线模型,生成的模型数据结构复杂、数据量庞大,在渲染查看会产生性能问题。
发明内容
针对现有技术中引流线建模过程慢的问题,本发明提供一种GPU加速的引流线建模方法、系统、设备及介质。
为实现上述目的,本发明提供如下技术方案:
第一方面、本发明提供一种GPU加速的引流线建模方法,包括如下步骤:
获取引流线建模数据,计算得到离散的顶点集合;
根据所述引流线建模数据,建立单位实体;
通过GPU中的细分着色器,细分所述单位实体,生成离散单位引流线几何数据;
通过GPU中的几何着色器,根据所述离散的顶点集合,计算变换矩阵,通过所述变换矩阵对所述离散单位引流线几何数据进行变换,得到实例几何数据;
通过GPU中的片段着色器,着色渲染所述实例几何数据,完成引流线建模。
进一步的,所述引流线建模数据包括建模起点Ps、建模终点Pe、长度L、半径R以及离散数量N;所述处理数据得到离散的顶点集合中:
将所述建模起点Ps和建模终点Pe代入二次贝塞尔公式生成曲线数据;
根据所述长度L和离散数量N得到单位引流线长度;
利用所述单位引流线长度离散所述曲线数据,获得所述顶点集合。
进一步的,所述建立单位实体具体为:以所述半径R为范围,以原点作为底面中心点,高度为1米,以Z轴方向作为高度方向,建立一个三棱锥实体。
进一步的,所述细分所述单位实体具体包括:
获取当前相机位置数据和所述三棱锥实体的顶点数据,计算距离因子;
根据所述距离因子,设置曲面细分等级;
根据所述曲面细分等级,以等分边界的形式,逆时针生成三角形,得到细分后的顶点;
将所述细分后的顶点移动投影到以所述半径R为半径的圆上,得到离散单位引流线几何数据。
进一步的,所述移动投影的具体流程包括:
计算该顶点距离Z轴的距离Dz;
若所述距离Dz小于半径R,计算投影点,具体计算过程包括:
计算该顶点到圆心的向量V;
计算距离Dz与半径R的差值△=R-Dz;
计算投影点与点P的差值ΔP=△*V;
计算投影点P'(P.x+ΔP.x,P.y+ΔP.y,P.z);
若投影点P'距离Z轴的距离等于半径R,不做任何处理;
收集所述投影点P',得到所述离散单位引流线几何数据。
进一步的,所述根据所述顶点集合计算得到变换矩阵具体包括:
遍历所述离散的顶点集合,对于每次遍历:
遍历到当前顶点,将其与下一个顶点组成当前段引流线;
分别计算单位引流线几何到当前段引流线几何的旋转、缩放和平移矩阵;
将所述旋转、缩放和平移矩阵三者相乘,得到变换矩阵。
进一步的,所述旋转、缩放和平移矩阵的计算过程具体包括:
计算所述当前顶点与下一个顶点之间的方向向量,结合Z轴单位向量,进行单位化计算,判断两个相邻顶点之间的向量和Z轴单位向量之间的方向关系;
根据所述方向关系,输出旋转四元数;
根据所述旋转四元数,得到旋转矩阵;
计算所述当前顶点与下一个顶点之间距离,得到缩放矩阵;
平移矩阵部分:根据所述当前顶点的坐标,得到平移矩阵。
第二方面,本发明提供一种GPU加速的引流线建模系统,包括:
数据处理模块:用于获取引流线建模数据,计算得到离散的顶点集合;
实体建立模块:用于根据所述引流线建模数据,建立单位实体;
细分着色器模块:用于通过GPU中的细分着色器,细分所述单位实体,生成离散单位引流线几何数据;
几何着色器模块:用于通过GPU中的几何着色器,根据所述离散的顶点集合,计算变换矩阵,通过所述变换矩阵对所述离散单位引流线几何数据进行变换,得到实例几何数据;
着色渲染模块:用于通过GPU中的片段着色器,着色渲染所述实例几何数据,完成引流线建模。
第三方面,本发明提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述GPU加速的引流线建模方法。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述GPU加速的引流线建模方法。
与现有技术相比,本发明具有如下有益效果:
第一、通过GPU的细分着色器对一个粗略的实体进行细分,细分速度快,无需细分整条引流线;细分后通过几何着色器对该实体通过变换创建实例几何,充分利用GPU的并行能力,具有建模过程占用内存较小、建模速度快的优势。
第二、根据当前相机位置动态的建立不同曲面细分等级的引流线模型,在当前相机位置较近时细分精度高,较远时细分精度低,不仅能够提高引流线的网格显示效果,还能够显著地提高引流线可视化性能。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明一种GPU加速的引流线建模方法示意图;
图2为本发明一种GPU加速的引流线建模方法三角形细分示意图;
图3为本发明一种GPU加速的引流线建模系统示意图。
具体实施方式
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
以下详细说明均是示例性的说明,旨在对本发明提供进一步的详细说明。除非另有指明,本发明所采用的所有技术术语与本发明所属领域的一般技术人员的通常理解的含义相同。本发明所使用的术语仅是为了描述具体实施方式,而并非意图限制根据本发明的示例性实施方式。
实施例1
本发明公开了一种GPU加速的引流线建模方法,包括如下步骤:
获取引流线建模数据,在CPU端生成相应的曲线数据;
然后对曲线进行离散,将数据传递至GPU;
在GPU端通过细分着色器和几何着色器对引流线进行建模。
首先针对获取的引流线建模数据进行预处理,通过二次贝塞尔曲线进行模拟,生成相应的曲线数据,具体实施流程如下:
获取引流线建模数据,数据包括建模起点Ps、建模终点Pe、长度L、弧垂S、半径R以及离散数量N,建模单位为米;
在CPU端根据二次贝塞尔公式生成相应的曲线数据,二次贝塞尔公式如下:
B(t)=(1-t)2P0+2t(1-t)P1+t2P2
其中P0、P1、P2分别为控制点,P0取引流线的建模起点Ps,P2取建模终点Pe,P1取
然后对曲线进行离散,将t代入二次贝塞尔公式中,其中t变换范围从0到1,求得每个t对应的坐标B(t)。每次变化对应坐标B(t)的递增大小为单位引流线长度l,获得一组离散的坐标点{Pt0,Pt0+l*1,Pt0+l*2,……,Pt1},其中Pt0为建模起点Ps,Pt1为建模终点Pe,完成引流线的曲线离散过程。
其中单位引流线长度l为:
根据引流线建模数据中的半径R创建一个三棱锥实体。三棱锥实体的几何数据包括:底面中心点在原点上,高度为1米,高度方向为Z轴。将该三棱锥实体的几何数据、引流线建模数据、曲线离散数据以及当前相机位置传递至GPU进行渲染。
GPU中的细分着色器分为细分控制着色器和细分计算着色器两个部分,用于细分三棱锥实体,进而生成离散单位引流线几何数据。
首先是细分控制着色器部分,主要通过内部曲面细分等级gl_TessLevelInner和外部曲面细分等级gl_TessLevelOuter两个内置参数控制对几何的细分精度。其中,内部曲面细分等级gl_TessLevelInner固定为0,表示几何内部不开启细分;外部曲面细分等级gl_TessLevelOuter需要计算距离因子,使用基于当前相机距离的细分精度,计算方法如下:
计算当前顶点位置到相机位置的距离因子d=sqrt(Pv-gl_Position),其中gl_Position为着色器内置变量,表示当前正在渲染的顶点,在此例中应为三棱锥的顶点数据,Pv为相机位置,sqrt为求两点之间距离的函数;
外部曲面细分等级gl_TessLevelOuter=max(30*R-(d%5),1),其中%为取整运算,max为取最大值函数,外部曲面细分等级gl_TessLevelOuter最小值取1,最大取30*R。
细分控制着色器之后为细分计算着色器,此时细分是以三角形为单位,且顶点顺序为逆时针。
以单个三角形细分为例,首先根据当前相机距离得出当前细分精度;如图2所示,其次根据不同的外部曲面细分等级对三角形各边进行等分,当外部曲面细分等级为1时,即gl_TessLevelOuter[0]=1、gl_TessLevelOuter[1]=1、gl_TessLevelOuter[2]=1,如图2所示,在由p0,p1,p2三个点构成的原三角形上,分别取三条边的中点m0、m1和m2,其中新三角形的生成由细分计算着色器自动控制。
由于此时渲染的是一个底面中心在原点、高度为Z方向的三棱锥,因此针对每一个细分后的顶点P,均需移动投影到以R为半径的圆上,以满足引流线建模,投影流程如下:
计算该顶点距离Z轴的距离Dz;
若距离Dz小于半径R,则计算投影点:
计算点P到圆心的向量V;
计算距离Dz与半径R的差值△=R-Dz;
计算投影点与点P的差值ΔP=△*V;
计算投影后的点P'(P.x+ΔP.x,P.y+ΔP.y,P.z);
若投影点P'距离Z轴的距离等于半径R,不做任何处理。
移动投影完成后,将投影点P'赋值给内置变量顶点位置坐标gl_Position,由GPU传递给后续的几何着色器。
在CPU端通过GPU接口将离散的引流线曲线数据,即顶点集合{Pt0,Pt+l*1,Pt+l*2,...,Pt1}传递给几何着色器,针对每一个细分着色器传递过来的顶点数据,都需要遍历离散的引流线曲线数据,复制变换到相应的位置上,变换流程如下:
遍历离散的顶点集合{Pt0,Pt+l*1,Pt+l*2,...,Pt1};
遍历到当前顶点Pc,将其与下一个顶点Pn组成当前段引流线,然后分别计算单位引流线几何到当前段引流线几何的旋转、缩放和平移矩阵;
计算旋转矩阵Mr:
计算变化输入向量为v1=(0,0,1)、v2(Pn-Pc),分别进行单位化;
计算:
f1=dot(v1,v1);
f2=dot(v2,v2);
k=sqrt(f1*f2);
w=k+dot(v1,v2);
其中dot为求两向量点乘的函数,结果是一个向量在另一个向量方向上投影的长度,是一个标量,sqrt为求平方根的函数。
若w<k*1e-6,则认为v1、v2方向相反,此时若abs(v2.x)>abs(v2.z),输出旋转四元数q(0,-v2.y,-v2.x,0),否则生成旋转四元数q(0,0,-v2.z,v2.y);
若w≥k*1e-6,则计算v3=v1×v2,然后生成旋转四元数q(w,x,y,z),其中q.x=v3.x,q.y=v3.y,q.z=v3.z;
将旋转四元数q变换为矩阵Mr:
计算缩放值s=sqrt(Pn-Pc),根据缩放值s计算缩放矩阵Ms:
计算平移矩阵Mt:
计算最终的变换矩阵M:
M=Mt*Ms*Mr;
对于几何着色器的内置变量顶点位置坐标gl_Position,它是细分着色器生成并传递过来的顶点,通过最终的变换矩阵M对其变换,变换后的顶点Pc’=M*Pc,变换后调用内置函数EmitVertex将该顶点Pc’发射出去进行后续的着色渲染;
顶点集合遍历完成后,调用内置函数EndPrimitive提示GPU已完成图元构建,生成了整条引流线,完成建模。
实施例2
一种GPU加速的引流线建模系统,包括:
数据处理模块:用于获取引流线建模数据,计算得到离散的顶点集合;
实体建立模块:用于根据所述引流线建模数据,建立单位实体;
细分着色器模块:用于通过GPU中的细分着色器,细分所述单位实体,生成离散单位引流线几何数据;
几何着色器模块:用于通过GPU中的几何着色器,根据所述离散的顶点集合,计算变换矩阵,通过所述变换矩阵对所述离散单位引流线几何数据进行变换,得到实例几何数据;
着色渲染模块:用于通过GPU中的片段着色器,着色渲染所述实例几何数据,完成引流线建模。
实施例3
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例1所述GPU加速的引流线建模方法。
实施例4
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现实施例1所述GPU加速的引流线建模方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
由技术常识可知,本发明可以通过其它的不脱离其精神实质或必要特征的实施方案来实现。因此,上述公开的实施方案,就各方面而言,都只是举例说明,并不是仅有的。所有在本发明范围内或在等同于本发明的范围内的改变均被本发明包含。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (6)
1.一种GPU加速的引流线建模方法,其特征在于,包括如下步骤:
获取引流线建模数据,计算得到离散的顶点集合;
根据所述引流线建模数据,建立单位实体;
通过GPU中的细分着色器,细分所述单位实体,生成离散单位引流线几何数据;
通过GPU中的几何着色器,根据所述离散的顶点集合,计算变换矩阵,通过所述变换矩阵对所述离散单位引流线几何数据进行变换,得到实例几何数据;
通过GPU中的片段着色器,着色渲染所述实例几何数据,完成引流线建模;
所述引流线建模数据包括建模起点Ps、建模终点Pe、长度L、半径R以及离散数量N;所述获取引流线建模数据,计算得到离散的顶点集合中:
将所述建模起点Ps和建模终点Pe代入二次贝塞尔公式生成曲线数据;
根据所述长度L和离散数量N得到单位引流线长度;
利用所述单位引流线长度离散所述曲线数据,获得所述顶点集合;
所述建立单位实体具体为:以半径R为范围设置圆形,以原点作为底面中心点,高度为1米,以Z轴方向作为高度方向,以圆形内接等边三角形为底部三角形建立一个三棱锥实体;
所述细分所述单位实体具体包括:
获取当前相机位置数据和所述三棱锥实体的顶点数据,计算距离因子;
根据所述距离因子,设置曲面细分等级;
根据所述曲面细分等级,以等分边界的形式,逆时针生成三角形,得到细分后的顶点;
将所述细分后的顶点移动投影到以所述半径R为半径的圆上,得到离散单位引流线几何数据;
所述移动投影的具体流程包括:
计算该顶点距离Z轴的距离Dz;
若所述距离Dz小于半径R,计算投影点,具体计算过程包括:
计算该顶点到圆心的向量V;
计算距离Dz与半径R的差值△=R-Dz;
计算投影点与点P的差值ΔP=△*V;
计算投影点P'(P.x+ΔP.x,P.y+ΔP.y,P.z);
若投影点P'距离Z轴的距离等于半径R,不做任何处理;
收集所述投影点P',得到所述离散单位引流线几何数据。
2.根据权利要求1中所述的GPU加速的引流线建模方法,其特征在于,所述根据所述顶点集合计算得到变换矩阵具体包括:
遍历所述离散的顶点集合,对于每次遍历:
遍历到当前顶点,将其与下一个顶点组成当前段引流线;
分别计算单位引流线几何到当前段引流线几何的旋转、缩放和平移矩阵;
将所述旋转、缩放和平移矩阵三者相乘,得到变换矩阵。
3.根据权利要求2中所述的GPU加速的引流线建模方法,其特征在于,所述旋转、缩放和平移矩阵的计算过程具体包括:
计算所述当前顶点与下一个顶点之间的方向向量,结合Z轴单位向量,进行单位化计算,判断两个相邻顶点之间的向量和Z轴单位向量之间的方向关系;
根据所述方向关系,输出旋转四元数;
根据所述旋转四元数,得到旋转矩阵;
计算所述当前顶点与下一个顶点之间距离,得到缩放矩阵;
平移矩阵部分:根据所述当前顶点的坐标,得到平移矩阵。
4.一种GPU加速的引流线建模系统,包括:
数据处理模块:用于获取引流线建模数据,计算得到离散的顶点集合;
实体建立模块:用于根据所述引流线建模数据,建立单位实体;
细分着色器模块:用于通过GPU中的细分着色器,细分所述单位实体,生成离散单位引流线几何数据;
几何着色器模块:用于通过GPU中的几何着色器,根据所述离散的顶点集合,计算变换矩阵,通过所述变换矩阵对所述离散单位引流线几何数据进行变换,得到实例几何数据;
着色渲染模块:用于通过GPU中的片段着色器,着色渲染所述实例几何数据,完成引流线建模;
所述引流线建模数据包括建模起点Ps、建模终点Pe、长度L、半径R以及离散数量N;所述获取引流线建模数据,计算得到离散的顶点集合中:
将所述建模起点Ps和建模终点Pe代入二次贝塞尔公式生成曲线数据;
根据所述长度L和离散数量N得到单位引流线长度;
利用所述单位引流线长度离散所述曲线数据,获得所述顶点集合;
所述建立单位实体具体为:以半径R为范围设置圆形,以原点作为底面中心点,高度为1米,以Z轴方向作为高度方向,以圆形内接等边三角形为底部三角形建立一个三棱锥实体;
所述细分所述单位实体具体包括:
获取当前相机位置数据和所述三棱锥实体的顶点数据,计算距离因子;
根据所述距离因子,设置曲面细分等级;
根据所述曲面细分等级,以等分边界的形式,逆时针生成三角形,得到细分后的顶点;
将所述细分后的顶点移动投影到以所述半径R为半径的圆上,得到离散单位引流线几何数据;
所述移动投影的具体流程包括:
计算该顶点距离Z轴的距离Dz;
若所述距离Dz小于半径R,计算投影点,具体计算过程包括:
计算该顶点到圆心的向量V;
计算距离Dz与半径R的差值△=R-Dz;
计算投影点与点P的差值ΔP=△*V;
计算投影点P'(P.x+ΔP.x,P.y+ΔP.y,P.z);
若投影点P'距离Z轴的距离等于半径R,不做任何处理;
收集所述投影点P',得到所述离散单位引流线几何数据。
5.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3任一项所述GPU加速的引流线建模方法。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3任一项所述GPU加速的引流线建模方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210609138.6A CN114937110B (zh) | 2022-05-31 | 2022-05-31 | 一种gpu加速的引流线建模方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210609138.6A CN114937110B (zh) | 2022-05-31 | 2022-05-31 | 一种gpu加速的引流线建模方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114937110A CN114937110A (zh) | 2022-08-23 |
CN114937110B true CN114937110B (zh) | 2024-04-12 |
Family
ID=82867090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210609138.6A Active CN114937110B (zh) | 2022-05-31 | 2022-05-31 | 一种gpu加速的引流线建模方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114937110B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102598063A (zh) * | 2009-09-09 | 2012-07-18 | 先进微装置公司 | 曲面细分引擎及其应用 |
CN102903146A (zh) * | 2012-09-13 | 2013-01-30 | 中国科学院自动化研究所 | 用于场景绘制的图形处理方法 |
CN106469463A (zh) * | 2016-09-27 | 2017-03-01 | 上海上大海润信息系统有限公司 | 一种基于cpu与gpu混合的渲染方法 |
CN108858187A (zh) * | 2018-06-01 | 2018-11-23 | 南京理工大学 | 一种带电接搭引流线作业现场的快速重构方法 |
CN112927123A (zh) * | 2021-03-19 | 2021-06-08 | 中国人民解放军战略支援部队信息工程大学 | 一种gpu加速的有向距离场符号建模方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9196079B2 (en) * | 2011-12-30 | 2015-11-24 | Advanced Micro Devices, Inc. | Accelerated compute tessellation by compact topological data structure |
US9922442B2 (en) * | 2012-07-18 | 2018-03-20 | Arm Limited | Graphics processing unit and method for performing tessellation operations |
-
2022
- 2022-05-31 CN CN202210609138.6A patent/CN114937110B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102598063A (zh) * | 2009-09-09 | 2012-07-18 | 先进微装置公司 | 曲面细分引擎及其应用 |
CN102903146A (zh) * | 2012-09-13 | 2013-01-30 | 中国科学院自动化研究所 | 用于场景绘制的图形处理方法 |
CN106469463A (zh) * | 2016-09-27 | 2017-03-01 | 上海上大海润信息系统有限公司 | 一种基于cpu与gpu混合的渲染方法 |
CN108858187A (zh) * | 2018-06-01 | 2018-11-23 | 南京理工大学 | 一种带电接搭引流线作业现场的快速重构方法 |
CN112927123A (zh) * | 2021-03-19 | 2021-06-08 | 中国人民解放军战略支援部队信息工程大学 | 一种gpu加速的有向距离场符号建模方法 |
Non-Patent Citations (1)
Title |
---|
考虑风攻角的硬跳线气动力系数和风偏计算;沈国辉 等;《振动与冲击》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114937110A (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4934789B2 (ja) | 補間処理方法および補間処理装置 | |
JP3597360B2 (ja) | モデリング方法および記録媒体 | |
US6323863B1 (en) | Object structure graph generation and data conversion using the same | |
JP5436416B2 (ja) | 近似処理方法、および近似処理装置 | |
CN109448137B (zh) | 交互方法、交互装置、电子设备及存储介质 | |
KR20150041057A (ko) | Gpu-가속 경로 렌더링 | |
US7348976B2 (en) | Three-dimensional shape display program, three-dimensional shape display method, and three-dimensional shape display apparatus | |
CN107958484B (zh) | 纹理坐标计算方法及装置 | |
US20240153123A1 (en) | Isogeometric Analysis Method Based on a Geometric Reconstruction Model | |
Loseille et al. | Vizir: High-order mesh and solution visualization using OpenGL 4.0 graphic pipeline | |
TWI475511B (zh) | 曲面網格化系統及方法 | |
CN107102991A (zh) | 一种三维gis系统中的杆塔参数化建模方法 | |
Reshetov | Cool patches: A geometric approach to ray/bilinear patch intersections | |
CN115495938B (zh) | 海面波浪的三维动态模拟和可视化方法 | |
CN112206528A (zh) | 植被模型渲染方法、装置、设备及存储介质 | |
CN102096948A (zh) | 一种适用图形硬件的分格化方法 | |
CN114937110B (zh) | 一种gpu加速的引流线建模方法、系统、设备及介质 | |
Yang et al. | Conformal freeform surfaces | |
CN103325086B (zh) | 一种基于四面体坐标系的三维图形的变形方法 | |
JP4175470B2 (ja) | Cadシステム、曲面解析装置、曲面再生装置、その方法及びそのプログラム | |
CN115329409B (zh) | 一种虚拟场景中的悬链线快速建模方法 | |
CN107833274A (zh) | 一种三维电缆模型的创建方法及系统 | |
KR100433947B1 (ko) | 형상 기반의 삼각망 생성 방법 | |
CN112308975A (zh) | 用于三维轻量化引擎的rvm二进制模型解析方法及系统 | |
CN118229932B (zh) | 基于三维引擎调整模型位置的方法、系统、装置、介质 |
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 |