舰船科学技术  2022, Vol. 44 Issue (11): 27-30    DOI: 10.3404/j.issn.1672-7649.2022.11.005   PDF    
基于NURBS曲线与曲面光顺理论的船体设计与优化
褚福锋     
厦门大学 嘉庚学院,福建 漳州 363123
摘要: NURBS曲线是一种重要的样条曲线,可以高效拟合工业设计领域中的特殊型线、弧线等,由于船舶设计过程需要充分考虑流场的阻力特性,因此提升舰船型线和船体的设计水平很重要。本文研究的内容是一种基于NURBS曲线和曲面光顺理论的船体设计方法,设计过程融合了小波神经网络和OPENGL开发平台,建立了基于小波神经网络的船体曲线、曲面设计平台,对于提升船体型线、流场力学特性分析有最重要的实际应用价值。
关键词: NURBS     样条曲线     小波神经网络     OpenGL     型线    
Hull design and optimization based on NURBS curve and surface fairing theory
CHU Fu-feng     
Xiamen University Tan Kah Kee College, Zhangzhou 363123, China
Abstract: NURBS curve is an important spline curve, which can efficiently fit special curves and arcs in the field of industrial design. Because the resistance characteristics of flow field need to be fully considered in the process of ship design, it is very necessary to improve the design level of ship profile and hull. The content of this paper is a hull design method based on NURBS curve and surface fairing theory. The design process integrates wavelet neural network and OpenGL development platform, and establishes a hull curve and surface design platform based on wavelet neural network, which has the most important practical application value for improving the hull line and flow field mechanical characteristics analysis.
Key words: NURBS     spline curve     wavelet neural network     OpenGL     molded lines    
0 引 言

非均匀有理B样条(NURBS样条)是复杂曲线、曲面造型中使用最广泛的一种曲线,也是CAD设计过程的重要工具,目前,国际社会已将非均匀有理B样条(NURBS样条)认定为工业产品外型设计的主要数学方法。非均匀有理B样条(NURBS样条)能够充分表达多次曲线、弧线、直线,因此,在飞机、舰船等复杂曲面的设计中发挥着重要的作用,将非均匀有理B样条(NURBS样条)应用于舰船曲面设计也成为一项热点研究[1]

1 NURBS样条曲线的基本研究

非均匀有理B样条(NURBS样条)由B样条推广而来,具有局部性、灵活性、自由曲面表达清晰等优点,在CAD产品设计中发挥重要作用。

首先定义B样条曲线:

定义节点矢量 $T\left( {{t_0},{t_1},\cdots ,{t_n}} \right)$ ,且 $ {t_i} < {t_{i + 1}} $ ,则第ip次B样条基函数定义如下:

$ \left\{ {\begin{array}{*{20}{l}} {{{{N}}_{i,0}}({{t}}) = \left\{ {\begin{array}{*{20}{l}} {1,{{{t}}_i} \leqslant {{t}} < {{{t}}_{i + 1}}},\\ {0,{\rm{else}}} \end{array}} \right.} \\ {{{{N}}_{i,p}}({{t}}) = \dfrac{{{{t}} - {{{t}}_i}}}{{{{{t}}_{i + p}} - {{{t}}_i}}}{{{N}}_{i,p - 1}}({{t}}) + \dfrac{{{{{t}}_{i + p + 1}}}}{{{{{t}}_{{{i}} + 1}}}}{{{N}}_{i + 1,p - 1}}(t)}。\end{array}} \right. $

${{{N}}_{i,p}}({{t}})$ 为在 $\left[ {{{{t}}_{{i}}},{{{t}}_{{{i}} + {{{\rm{p}}}} + 1}}} \right]$ 区间上的分段函数,共有P个节点。

非均匀有理B样条(NURBS样条)的曲线方程可改写为:

$ \begin{split} & p(u) = \sum\limits_{i = 0}^n {{d_i}} {R_{i,p}}(u) ,\\ &{R_{i,p}}(u) = \frac{{{\omega _i}{N_{i,p}}(u)}}{{\displaystyle\sum\limits_{j = 0}^n {{\omega _i}} {N_{i,p}}(u)}} 。\end{split} $

式中:p为NURBS样条的幂次; $ {R_{i,p}}(u) $ 为基函数。

NURBS样条具有以下特性:

1)递推特性

$ {{\text{N}}_{i,p}}({{t}}) = F\left( {{{{N}}_{{\text{i}},p - 1}}({{t}})} \right) ,$

2)归一性

$ \sum\limits_{i = 0}^n {{N_{i,p}}} (t) = 1 ,$

3)局部区间支撑性[2]

$ {N_{t,p}}(t)\left\{ {\begin{array}{*{20}{l}} { \geqslant 0},&{t \in \left[ {{t_i},{t_{i + p + 1}}} \right]},\\ = 0,&{\rm{else}},\end{array}} \right. $

4)非负性

$ {N_{t,p}}(t) \geqslant 0 。$

NURBS样条的节点及拟合实例如图1所示。

图 1 NURBS样条的节点及拟合实例 Fig. 1 NURBS spline nodes and fitting examples
2 基于NURBS样条的船舶曲面光顺理论研究

本文基于NURBS样条进行船体曲面光顺研究时,采用的船舶设计对象为1 500 DWT载油船,该船体曲面无法直接用单一的曲面片来拟合,需要根据船体曲面的特点进行划分,将需要进行光顺处理的船体曲面划分为首部、中体、尾部和底部等部分。船体曲面光顺流程如下:

1)建立初始船舶模型,获取初始型线

定义初始船体型线的节点为:

$ {V_{i,j}}\left( {i = 0,1,\cdots,m;j = 0,1,\cdots,n} \right) ,$

2)建立型线的节点方向矢量

$ \begin{gathered} F = \{ \underbrace {0,{t_{p + 1}}, \cdots ,{t_n},1}_{p + 1}\} ,\hfill \\ K = \{ \underbrace {0,{w_{q + 1}}, \cdots ,{w_n},1}_{q + 1}\} 。\hfill \\ \end{gathered} $

3)建立光顺曲面:

$ S(F,K) = \sum\limits_{i = 0}^n {\sum\limits_{j = 0}^n {{N_{i,p}}(F)} } {N_{j,p}}(K){V_{i,j}} 。$

式中 $ {N_{j,p}}(K) $ $ {N_{i,p}}(F) $ 分别为B样条基函数。

4)光顺曲面质量检测

采用的光顺曲面质量检测方法为高光线检测法,该方面最早由Beier提出,将光源简化为一条直线,设计其参数方程为:

$ q\left( t \right) = {q_0} + t{q_d},$

光源 $ q\left( t \right) $ 与光顺曲面 $ S(F,K) $ 的距离表示为:

$ d = \frac{{\left| {n\left( {F,K} \right) \cdot {q_d}} \right| \cdot \left( {{q_0} - S\left( {F,K} \right)} \right)}}{{\left\| {n\left( {F,K} \right) \cdot {q_d}} \right\|}}。$

基于NURBS样条的载油船光顺曲面示意图如图2所示。

图 2 基于NURBS样条的载油船光顺曲面示意图 Fig. 2 Schematic diagram of fairing surface of oil carrier based on NURBS spline
3 基于小波神经网络的船体曲线与平面设计平台开发 3.1 OpenGL开发平台介绍

OpenGL是由SGI公司开发的一种三维图像库开发平台,其特点是可以独立于操作系统和硬件环境,具有强大的图形处理和编辑功能,目前被广泛应用于计算机视觉、工业产品的实体造型、CAD等领域。尤其是在交互式三维图形建模方面,OpenGL[3]相对比其他软件平台具有非常大的优势。因此,本文在开发船体型线和曲面光顺系统时,选用了OpenGL作为开发载体。

OpenGL开发平台包括客户应用程序、服务器和后处理单元,如图3所示。

图 3 OpenGL开发平台架构图 Fig. 3 OpenGL development platform architecture

OpenGL开发平台的关键特性包括:

1)过程性

OpenGL开发平台采用矩阵变换、方程系数迭代、像素更新、算法寻优等方式对二维和三维图像进行控制,强调的是变换过程[4],而不是一种描述性的软件接口。

2)执行模式

OpenGL开发平台的指令执行模式是面向客户和服务器的,客户根据图像处理的需求发布命令,命令进入OpenGL的服务器中进行解释和处理,然后反馈给用户结果。OpenGL的服务器可同时接收和维护许多OpenGL命令正文。

3)图元

OpenGL使用的图元包括点、线段和多边形等,通过不同图元的排列和组合,最终为用户提供丰富多样的二维、三维图像。

3.2 小波神经网络算法

在船体设计过程中,图像处理的核心是将离散数据进行逆向处理,并将其转化为连续的曲线和连续的曲面。同时,构建曲线和曲面的过程也是一个噪声过滤和拟合的过程。在开发基于OpenGL的船体设计平台时,充分利用小波神经网络的快速寻优特性,实现离散数据的非线性逼近和收敛快速,最终实现了船体曲面的光顺处理。

小波神经网络算法的拓扑原理如图4所示。

图 4 小波神经网络算法的原理图 Fig. 4 Schematic diagram of wavelet neural network algorithm

小波神经网络的输入层为:

$ \left( {{x_1},{x_2},\cdots,{x_{n - 1}},{x_n}} \right) ,$

输出层为:

$ \left( {{W_1},{W_2},\cdots,{W_{n - 1}},{W_n}} \right) ,$

中间层为小波基函数 $ h\left( t \right) $

对于离散曲线 $ f(t) $ ,其小波变换为:

$ W(j,k) = \sum\limits_t {{2^{ - j/2}}} \psi \left( {{2^{ - j}}t - k} \right)f(t) ,$

其矢量形式为:

$ \vec W = \vec {\boldsymbol{F}} \cdot \vec {\boldsymbol{N}} ,$

其中,输入矩阵表示为:

$ \vec {\boldsymbol{F}} = \left[ {\begin{array}{*{20}{c}} {{x_1}(1)}&{{x_1}(2)}& \cdots &{{x_1}(t)} \\ {{x_2}(1)}&{{x_2}(2)}& \cdots &{{x_2}(t)} \\ \cdots & \cdots & \cdots & \cdots \\ {{x_p}(1)}&{{x_r}(2)}& \cdots &{{x_p}(t)} \end{array}} \right] ,$

小波基函数的变换矩阵为:

$ \vec {\boldsymbol{N}} = \left[ {\begin{array}{*{20}{c}} {{\psi _{0,1}}(1)}&{{\psi _{0,2}}(1)}& \cdots &{{\psi _{j,d}}(1)} \\ {{\psi _{1,1}}(2)}&{{\psi _{1,2}}(2)}& \cdots &{{\psi _{j + 1,d}}(2)} \\ \cdots & \cdots & \cdots & \cdots \\ {{\psi _{k,1}}(t)}&{{\psi _{k,2}}(t)}& \cdots &{{\psi _{k,d}}(t)} \end{array}} \right] 。$

其中, $ \psi (t) = - t{e^{ - {t^2}}} $

3.3 基于小波神经网络算法的船体曲面光顺设计

结合小波神经网络算法在OpenGL中进行船体的曲面光顺设计,采用的船体轮廓曲线为1500 DWT载油船的船艏处轮廓线,将轮廓265个节点定义为小波神经网络算法的输入样本 $ x\left( t \right) $ $ x\left( t \right) $ 的频域函数 $ x\left( \omega \right) $ 满足:

$ \int\limits_R^{} {} {\left| {\frac{{x\left( \omega \right)}}{\omega }} \right|^2}{\rm{d}}\omega \leqslant \infty ,$

则输入信号的平移与伸缩变换如下式:

$ {x_s}\left( t \right) = \frac{1}{{\sqrt s }}x\left( {\frac{{t - \alpha }}{s}} \right) 。$

式中:s为伸缩因子; $ \alpha $ 为平移因子[5]

定义小波神经网络的神经元个数为n=25,非均匀有理B样条(NURBS样条)函数的控制顶点与相邻的3个点存在线性相关,轮廓线节点的输入样本 $ x\left( t \right) $ 的小波变换为:

$ W\left( {s,t} \right) = \left\{ {f\left( t \right),x\left( t \right)} \right\} = \frac{1}{{\sqrt s }}\int\limits_{}^{} {f\left( t \right)} x\left( {\frac{{t - \alpha }}{s}} \right){\rm{d}}t 。$

定义船体轮廓线的分辨率为m,轮廓线的逼近形式为:

$ {W_l}\left( t \right) = \sum\limits_{m = 1}^N {{x_{m,k}}} \cdot {\phi _{m,i}}(t) 。$

其中, $ {\phi _{m,i}}(t) $ 为尺寸函数。

图5为基于小波神经网络算法的轮廓线光顺处理示意图。

图 5 基于小波神经网络算法的轮廓线光顺处理 Fig. 5 Schematic diagram of contour fairing based on wavelet neural network algorithm
3.4 船体曲线和曲面光顺设计的阻力特性仿真

为了对比基于NURBS曲线的船体优化设计效果,采用Matlab仿真试验平台[6],对优化前后的1 500 DWT载油船阻力特性进行对比仿真。

建立1 500 DWT载油船的表面方程为:

$ \frac{Y}{B} = 0.1\left( {1 - {X^2}} \right) \times \left( {1 - 64{Z^2}} \right)。$

式中:YBZ分别为宽度、长度和吃水深度,船体表面的流体连续性方程如下式:

$ \left[ {\frac{{\partial \left( {{\rho _0}u} \right)}}{{\partial x}} + \frac{{\partial \left( {{\rho _0}v} \right)}}{{\partial y}} + \frac{{\partial \left( {{\rho _0}\omega } \right)}}{{\partial z}}} \right]{\rm{d}}x{\rm{d}}y{\rm{d}}z = - \frac{{\partial {\rho _0}}}{{\partial t}}\left( {{\rm{d}}x{\rm{d}}y{\rm{d}}z} \right) 。$

其中: $u$ $ v $ $ \omega $ 分别为1500 DWT载油船沿3个坐标轴方向的速度, $ {\rho _0} $ 为液体的密度。

在Matlab中建立船舶的动量方程为:

$ \frac{{\partial \left( {{\rho _0}u} \right)}}{{\partial x}} + \frac{{\partial \left( {\rho v} \right)}}{{\partial {y_{}}}} = \frac{\partial }{{\partial t}}\left[ {\mu \left( {\frac{{\partial u}}{{\partial x}} + \frac{{\partial v}}{{\partial y}}} \right)} \right] + {F_i}。$

其中: $\mu $ 为流体的粘度系数; ${F_i}$ 为外界作用力。

图6为Matlab中载油船船体曲面优化前后的阻力特性曲线。

图 6 载油船船体曲面优化前后的阻力特性曲线 Fig. 6 Resistance characteristic curve of oil carrier before and after hull surface optimization
4 结 语

本文将NURBS曲线应用于船体的型线和曲面造型中,一方面采用OpenGL平台进行船体曲面设计平台的开发,另一方面采用小波神经网络算法进行船舶轮廓线节点的寻优,提高船体型线的设计效率。

参考文献
[1]
陆丛红, 林焰, 纪卓尚, 等. 基于NURBS表达的主船体虚拟分舱及舱容计算[J]. 船舶力学, 2007, 11(3): 9.
[2]
王明炎, 贾传荧. 船体非均匀有理B样条曲面造型与OpenGL显示[J]. 大连海事大学学报, 2005, 31(1): 3.
[3]
张彦儒, 林焰, 陆丛红, 等. NURBS流曲线造型新方法及其在船舶设计中应用[J]. 大连理工大学学报, 2017, 57(6): 7.
[4]
王志桐, 王直, 汤芳丽. 船体外板曲线曲面拟合研究[J]. 现代电子技术, 2013(22): 28-30.
[5]
王川, 赵成璧, 唐友宏, 等. 一种改进的NURBS曲面和隐式曲面求交算法及在船体曲面求交中的应用[J]. 中国造船, 2013, 54(3): 7.
[6]
张明霞, 纪卓尚, 林焰. 面向计算的船体曲面NURBS造型[J]. 船舶工程, 2001(6): 7.