一种基于OPENGL的叶片渲染方法及系统与流程

未命名 07-20 阅读:117 评论:0

一种基于opengl的叶片渲染方法及系统
技术领域
1.本发明属于计算机可信计算技术领域,具体涉及一种基于开放式图形库opengl的叶片渲染方法及系统。


背景技术:

2.旋转机械被广泛的应用于航空、电力、机械、化工等领域中,而叶轮作为旋转机械的核心部件长期在高转速和重载荷情况下工作。其性能直接决定整机的性能和工作效率,所以对叶轮进行计算机建模、分析和设计非常的有必要,得到了国内外专家学者的广泛重视,并作出了大量的建模方面的改进和创新。
3.现有的建模渲染方法虽然较多,比如公开号cn 114241160 a的中国专利申请,公开了一种基于深度学习的单视角叶片三维重建方法,包括步骤s1.制作叶片数据集;s2.将叶片数据集输入到神经网络模型进行网络训练,得到训练好的重建网络模型;s3.将目标叶片图像输入到重建网络模型,输出目标叶片的网格渲染轮廓信息,调整重建网络模型中的参数值,使得输出的网格渲染轮廓信息与目标叶片图像的轮廓信息之间的差异最小,并将达到差异最小时设置的重建网络模型作为最优重建网络模型;s4.将待测叶片图像输入到最优重建网络模型,输出待测叶片的三维形状。但是其没有具体阐述从叶片数据到实现叶片建模的实际数据处理过程,本领域技术人员无法根据该办法实现叶片的计算机辅助建模,即此类渲染方法并不适用叶轮叶片的渲染。
4.为了快速精确地完成叶片建模,本发明提出一种基于opengl的叶片渲染方法的系统,以填补国产叶轮cad软件的空白。


技术实现要素:

5.针对叶轮cad软件的空白,本发明的目的在于提供一种基于opengl的叶片渲染方法及系统,用来实现叶片的曲面渲染。
6.本发明的技术方案为:
7.一种基于opengl的叶片渲染方法,其步骤包括:
8.1)将叶轮的叶片设计数据按照所属叶片表面进行划分,得到叶片各表面的数据列表;然后对每一表面的数据进行步骤2)~3)的处理,完成叶片的渲染;
9.2)获取一表面的所有点,将每四个相邻的点组合成一个多边形图元并对其进行渲染;
10.3)将该表面上所有多边形图元的渲染进行合并处理,实现该表面的渲染。
11.进一步的,所述叶片设计数据为沿叶片径向方向r的l个叶片截面曲线数据,每个叶片截面曲线数据包含前缘曲线数据、压力面曲线数据、尾缘曲线数据、吸力面曲线数据;前缘曲线数据、压力面曲线数据、尾缘曲线数据、吸力面曲线数据的数据点总数分别为p1、p2、p3、p4,每个数据点包含位置坐标信息;所述叶片的表面分别为前缘、压力面、尾缘、吸力面、上盖面和下盖面6个表面。
12.进一步的,得到叶片6个表面的数据列表的方法为:
13.11)将叶片截面曲线数据分为前缘、压力面、尾缘、吸力面4个叶面的截面曲线数据矩阵,叶面的截面曲线数据矩阵中每一行的点为构成该叶面延伸方向z上一曲线的有限个点,叶面的截面曲线数据矩阵中每一列的点为构成该叶面叶片径向方向r上一曲线的有限个点;前缘、压力面、尾缘、吸力面4个叶面的截面曲线数据矩阵的行数均为l,列数按前缘、压力面、尾缘、吸力面顺序分别为p1、p2、p3、p4;
14.12)分别对叶面的截面曲线数据矩阵的行和列进行插值处理,得到对应叶面新的截面曲线数据矩阵;前缘、压力面、尾缘、吸力面4个叶面的截面曲线数据矩阵的行数插值处理后均为m,列数按前缘、压力面、尾缘、吸力面顺序分别为n1、n2、n3、n4;
15.13)分别将前缘、压力面、尾缘、吸力面4个叶面插值处理后的截面曲线数据矩阵,沿r方向拟合成4个叶面的叶片径向方向的曲线,得到前缘的曲线列表、压力面的曲线列表、尾缘的曲线列表和吸力面的曲线列表;
16.14)将r方向第1个叶片截面曲线数据作为叶片上盖面数据;将r方向最后一个叶片截面曲线数据作为叶片下盖面数据。
17.进一步的,将叶面上首尾两个数据点连线方向作为对应叶面的延伸方向z;所述径向方向r为垂直于叶片旋转轴的方向。
18.进一步的,调用opengl多边形构造程序将每四个相邻的点组合成一个多边形图元。
19.进一步的,调用opengl面构造程序,将该表面上所有多边形图元的渲染进行合并处理,实现该表面的渲染。
20.一种基于opengl的叶片渲染系统,其特征在于,包括
21.叶片几何生成模块,用于将叶轮的叶片设计数据按照所属叶片表面进行划分,得到叶片各表面的数据列表;
22.曲面渲染模块,用于对每一表面,获取该表面的所有点,将该表面上每四个相邻的点组合成一个多边形图元并对其进行渲染,然后将该表面上所有多边形图元的渲染进行合并处理,完成该表面的渲染;
23.数据存储模块,用来存储叶轮的叶片设计数据、各表面的数据列表和叶片各表面的渲染结果。
24.一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述方法中各步骤的指令。
25.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述方法的步骤。
26.本发明的优点如下:
27.选取不同的数据其图元生成结果和精度差别很大;本发明通过将叶片设计数据按一定的规律离散成曲线数据矩阵,将每个面的数据分散成多个多边形图元,然后通过opengl将每个面的所有多边形图元进行图元构造,进而将表面所有多边形图元进行合并处理,实现整个表面的渲染,实现了很好的渲染效果。
附图说明
28.图1为叶片正面示意图。
29.图2为叶片反面示意图。
30.图3为叶片设计数据点示意图。
31.图4为压力面曲线数据矩阵示意图。
32.图5为压力面曲线列表示意图。
33.图6为压力面曲面分散成多边形图元过程示意图。
34.图7为上盖面曲面分散成多边形图元过程示意图。
35.其中:1-前缘,2-压力面,3-尾缘,4-吸力面。
具体实施方式
36.下面结合附图对本发明进行进一步详细描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
37.一种基于opengl的叶片渲染方法,其特征在于包括以下步骤:
38.s1对叶轮的叶片设计数据进行处理,将叶轮的叶片设计数据处理成叶片6个表面的数据列表;
39.s2获取某个表面所有点,每四个相邻的点组合成一个多边形图元,将该表面分解成多个多边形图元的数据列表;
40.s3依次对每个多边形图元的数据列表调用opengl多边形构造程序,生成一个对应的多边形图元;
41.s4完成一个表面上所有多边形图元的渲染;
42.s5调用opengl面构造程序,将一个表面上所有多边形图元的渲染进行合并处理,实现整个表面的渲染;
43.s6依次对叶片6个表面执行步骤s2~s5,完成叶片的所有表面渲染。
44.具体的s1中,可以将叶片6个表面分为两部分进行处理:第一部分为前缘,压力面、尾缘、吸力面;第二部分为上盖面和下盖面。
45.具体的,对前缘,压力面、尾缘、吸力面4个表面的叶片设计数据处理包括以下步骤:
46.s1a.1获取叶片设计数据,叶片设计数据为沿叶片径向方向(即r方向)的l个叶片截面曲线数据,每个叶片截面曲线数据包含前缘曲线数据、压力面曲线数据、尾缘曲线数据、吸力面曲线数据;l与r的数值大小有关,一般3≤l,每个叶片截面曲线数据总数据点数为p,其前缘曲线数据、压力面曲线数据、尾缘曲线数据、吸力面曲线数据的数据点分别为p1、p2、p3、p4,每个曲线数据的每个数据点都包含其位置坐标信息。
47.s1a.2将初始的叶片截面曲线数据分为前缘、压力面、尾缘、吸力面4个叶面的截面曲线数据矩阵,数据矩阵每一行的点代表组成该叶面z方向截面曲线的有限个点,数据矩阵每一列的点代表组成该叶面r方向上某一个曲线的有限个点,前缘、压力面、尾缘、吸力面4个叶面的截面曲线数据矩阵的行数均为l,列数按前缘、压力面、尾缘、吸力面顺序分别为p1、p2、p3、p4。z方向是根据独立面的改变而变化的方向,对前缘、压力面、尾缘、吸力面来说都是根据其数据点的延伸方向来确定z方向,优选的可以用叶面上首尾两个数据点连线方
向作为对应叶面的延伸方向z。径向方向r在子午面上,垂直于叶片旋转轴的方向。
48.s1a.3分别从两个方向r方向和z方向,即分别从截面曲线数据矩阵的行和列,进行插值处理得到新的截面曲线数据矩阵,前缘、压力面、尾缘、吸力面4个叶面的截面曲线数据矩阵的行数插值处理后均为m,列数按前缘、压力面、尾缘、吸力面顺序分别为n1、n2、n3、n4。
49.s1a.4分别将前缘、压力面、尾缘、吸力面4个叶面插值处理后的截面曲线数据矩阵,延沿叶片径向方向(r方向)拟合成4个叶面的叶片径向方向的曲线,得到4个叶面的叶片径向方向的曲线组成曲线列表,分别为:
50.前缘的曲线列表;
51.压力面的曲线列表;
52.尾缘的曲线列表;
53.吸力面的曲线列表。
54.具体的,对上盖面和下盖面2个表面的叶片设计数据处理包括以下步骤:
55.s1b.1获取叶片设计数据,叶片设计数据为沿叶片径向方向(即r方向)的l个叶片截面曲线数据,每个叶片截面曲线数据包含前缘曲线数据、压力面曲线数据、尾缘曲线数据、吸力面曲线数据;每个叶片截面曲线数据总数据点数为p,其前缘曲线数据、压力面曲线数据、尾缘曲线数据、吸力面曲线数据的数据点分别为p1、p2、p3、p4,每个曲线数据的每个数据点都包含其位置坐标信息。
56.s1b.2将r方向第1个叶片截面曲线数据,提取出来作为叶片上盖面数据;
57.s1b.3将r方向最后一个叶片截面曲线数据,提取出来作为叶片下盖面数据。
58.具体的,在步骤s2中,对前缘,压力面、尾缘、吸力面这4个表面中任意一个表面进行分解多边形图元时需要执行以下操作:
59.s2a.1取第1行第1个和第2个点,第2行第1个第2个点,p(1,1)、p(1,2)、p(2,1)、p(2,2)构成第1个多边形图元;
60.s2a.2取第1行第2个和第3个点,第2行第2个第3个点,p(1,2)、p(1,3)、p(2,2)、p(2,2)构成第2个多边形图元;
61.s2a.3按照上述顺序,直至取到第1行第n-1个和第n个点,第2行第n-1个和第n个点,p(1,n-1)、p(1,n)、p(2,n-1)、p(2,n)构成第n-1个多边形图元;
62.s2a.4按照上述s2a.1~s2a.3的顺序,依次将第2行和第3行,第3行和第4行,
……
直至将第m-1行和第m行进行处理完,总共得到(m-1)
×
(n-1)个多边形图元。
63.具体的,在步骤s2中,对叶片的上盖面和下盖面这2个表面中任意一个表面进行分解多边形图元时需要执行以下操作:
64.s2b.1获取表面数据,从前缘中点开始顺时针取点,一直到尾缘中点为止,记为第一组数据点;从前缘中点开始逆时针取点,一直到尾缘中点为止,记为第二组数据点;
65.s2b.2取第一组数据点的第1个和第2个点,第二组数据点的第1个第2个点,构成该表面第1个多边形图元;
66.s2b.3取第一组数据点的第2个和第3个点,第二组数据点的第2个第3个点,构成该表面第2个多边形图元;
67.s2b.4按照上述顺序,直至取到第一组数据点的倒数第2个和倒数第1个点,第二组数据点的倒数第2个和倒数第1个点,构成该表面最后一个多边形图元。
68.一种基于opengl的叶片渲染系统,其特征是,包括:
69.数据存储模块,其被配置为:用来存储所有数据包含外部设计数据、中间数据及结果数据;
70.叶片几何生成模块,其被配置为:用来将外部设计数据通过一系列的处理转化,形成符合三维几何引擎要求的,可以用来直接实体建模的数据种类及形式;
71.曲面渲染模块,其被配置为:利用opengl将叶片几何数据生成模块中处理好的数据,进行曲面渲染,最终完成叶片渲染。
72.一种电子设备,其特征是,包括:
73.存储器,用于非暂时性存储计算机可读指令;
74.以及处理器,用于运行所述计算机可读指令,其中,所述计算机可读指令被所述处理器运行时,执行所述一种基于opengl的叶片渲染方法的任一步骤。
75.一种存储介质,其特征是,非暂时性的存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时,执行上述一种基于opengl的叶片渲染方法的任一步骤。
76.尽管为说明目的公开了本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

技术特征:
1.一种基于opengl的叶片渲染方法,其步骤包括:1)将叶轮的叶片设计数据按照所属叶片表面进行划分,得到叶片各表面的数据列表;然后对每一表面的数据进行步骤2)~3)的处理,完成叶片的渲染;2)获取一表面的所有点,将每四个相邻的点组合成一个多边形图元并对其进行渲染;3)将该表面上所有多边形图元的渲染进行合并处理,实现该表面的渲染。2.根据权利要求1所述的方法,其特征在于,所述叶片设计数据为沿叶片径向方向r的l个叶片截面曲线数据,每个叶片截面曲线数据包含前缘曲线数据、压力面曲线数据、尾缘曲线数据、吸力面曲线数据;前缘曲线数据、压力面曲线数据、尾缘曲线数据、吸力面曲线数据的数据点总数分别为p1、p2、p3、p4,每个数据点包含位置坐标信息;所述叶片的表面分别为前缘、压力面、尾缘、吸力面、上盖面和下盖面6个表面。3.根据权利要求2所述的方法,其特征在于,得到叶片6个表面的数据列表的方法为:11)将叶片截面曲线数据分为前缘、压力面、尾缘、吸力面4个叶面的截面曲线数据矩阵,叶面的截面曲线数据矩阵中每一行的点为构成该叶面延伸方向z上一曲线的有限个点,叶面的截面曲线数据矩阵中每一列的点为构成该叶面叶片径向方向r上一曲线的有限个点;前缘、压力面、尾缘、吸力面4个叶面的截面曲线数据矩阵的行数均为l,列数按前缘、压力面、尾缘、吸力面顺序分别为p1、p2、p3、p4;12)分别对叶面的截面曲线数据矩阵的行和列进行插值处理,得到对应叶面新的截面曲线数据矩阵;前缘、压力面、尾缘、吸力面4个叶面的截面曲线数据矩阵的行数插值处理后均为m,列数按前缘、压力面、尾缘、吸力面顺序分别为n1、n2、n3、n4;13)分别将前缘、压力面、尾缘、吸力面4个叶面插值处理后的截面曲线数据矩阵,沿r方向拟合成4个叶面的叶片径向方向的曲线,得到前缘的曲线列表、压力面的曲线列表、尾缘的曲线列表和吸力面的曲线列表;14)将r方向第1个叶片截面曲线数据作为叶片上盖面数据;将r方向最后一个叶片截面曲线数据作为叶片下盖面数据。4.根据权利要求3所述的方法,其特征在于,将叶面上首尾两个数据点连线方向作为对应叶面的延伸方向z;所述径向方向r为垂直于叶片旋转轴的方向。5.根据权利要求1所述的方法,其特征在于,调用opengl多边形构造程序将每四个相邻的点组合成一个多边形图元。6.根据权利要求1所述的方法,其特征在于,调用opengl面构造程序,将该表面上所有多边形图元的渲染进行合并处理,实现该表面的渲染。7.一种基于opengl的叶片渲染系统,其特征在于,包括叶片几何生成模块,用于将叶轮的叶片设计数据按照所属叶片表面进行划分,得到叶片各表面的数据列表;曲面渲染模块,用于对每一表面,获取该表面的所有点,将该表面上每四个相邻的点组合成一个多边形图元并对其进行渲染,然后将该表面上所有多边形图元的渲染进行合并处理,完成该表面的渲染;数据存储模块,用来存储叶轮的叶片设计数据、各表面的数据列表和叶片各表面的渲染结果。8.一种服务器,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述
计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1至6任一所述方法中各步骤的指令。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6任一所述方法的步骤。

技术总结
本发明公开了一种基于OPENGL的叶片渲染方法及系统。本方法步骤包括:1)将叶轮的叶片设计数据按照所属叶片表面进行划分,得到叶片各表面的数据列表;然后对每一表面的数据进行步骤2)~3)的处理,完成叶片的渲染;2)获取一表面的所有点,将每四个相邻的点组合成一个多边形图元并对其进行渲染;3)将该表面上所有多边形图元的渲染进行合并处理,实现该表面的渲染。本发明通过将叶片设计数据按一定的规律离散成曲线数据矩阵,将每个面的数据分散成多个多边形图元,然后通过OPENGL将每个面的所有多边形图元进行图元构造,进而将表面所有多边形图元进行合并处理,实现整个表面的渲染,实现了很好的渲染效果。了很好的渲染效果。了很好的渲染效果。


技术研发人员:李强 刘驰 魏征 赵文强 张丹莉
受保护的技术使用者:陕西空天信息技术有限公司
技术研发日:2023.02.21
技术公布日:2023/7/19
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐