海浪预报三维动画计算原理与制作方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图 1 a: 波高等值线图。b: 一般用户想象的图 a 对应波高场 Fig. 1 a: Contour map. b: The imagined sea surface corresponding to the contour map
接成一个波面,为此需要专门设计一种波面模型的 算法。渲染波面模型时若能采用商业软件处理将取 得更好的效果,但是商业软件价格昂贵并且计算量 较大,不能满足业务化预报对时效性的要求,因此 需要自行开发一个简单实用的渲染器。 为适应海浪业务化预报工作的需求,本文基于 线性海浪模型研究了三维动画海浪预报产品的制 作方法。首先由方向谱生成一系列随时间变化的线 性波面高度场,并计算波面高度场对应的反射系数 (即制作一个简单渲染器) 。然后按波高等值线图 将平均波高和波长不同的波面高度场 拼接 成 复合 波面高度场,同样拼接出复合的反射系数场。最后 用一般的绘图软件生成波面高度场的图像(即本文 制作的渲染器的渲染结果) ,并将渲染好的波面时 间序列串接成动画。2009 年“芭玛”台风预警期间 作 者 根据上 述 方法制作了首个三维动画海浪 警 报 产品,该警报产品能以直观生动的形式将海浪预警 信息传达给广大用户和公众,这对海洋预报工作具 有重要意义。
173
画海浪预报产品需要 按 波高分 布 情况 构造 包含多 种波浪状态(多种平均波高和波长)的波面,即需 要将不同平均波高和波长的波面拼合成一个波面。 前人研究中波面模型大多是一个波面对应着一种 波动状态(一种平均波高和波长) ,鄢来斌等[14]和 吴晶等[15] 为高效地模拟大面积海浪或海浪的变化 过程(例如由于人眼观看越远处物体越模糊,将由 近及远 的波面以分 辨率逐渐降低 的波面 表 示并将 不同分辨率的波面拼接到一起以节省计算量)考虑 将不同的波面拼接到一起。前人研究未涉及如何按 波高等值线 划 定区域将不同波高和波长的波面 拼
根据深水波动的频散关系 (2π f )2 = gk (5) 式中:k 为波数矢量的模 k=|k|,作变量代换得到波 数方向谱 df (6) S (k , θ ) = S (k ) cos 2 θ dk 采用线性 滤 波法生成波面高度场时首先生成 二维白噪声场 W,然后对其进行傅立叶变换有 (7) SW = F(W ) 式中:F 表示傅立叶变换,此处调用二维快速傅立 叶变换(FFT) 。以波数方向谱乘以 SW 得到调制后 的噪声谱,并对其作傅立叶逆变换得到波面高度场 ζ = F −1 (S ⋅ SW ) (8) -1 式中:F 表示傅立叶逆变换,此处调用二维快速傅 立叶逆变换(IFFT) 。得到某一时刻的波面高度场。 图 2 为某时刻 t 的波面高度场。为制作动画需 要随时间演化的波面高度场,即波面高度场的时间 (tn= t+ndt, n = 1, 2, 3…N) 。 仅需要计算(8) 序列ζ(tn) 式时先求出 各 个 组 成波 相位 随时 间 的变 化再 进行 傅立叶逆变换即可得到波面高度场随时间的演化。 由 SW 计算各个分量的相位作为初始相位
计算机运算能力的提高和计算机图形技术的 进步为制作三维浪预报提供了有利条件。迄今国内 外关于水波虚拟仿真已有大量研究,可以制作出逼 真的海浪动画。海浪动画的制作过程一般包括两个 主要步骤,首先建立波面高度场,然后对波面高度 场进行渲染并生成三维海浪动画。前人根据不同应 用目的开发了多种生成波面高度场的方法。其中, 数值求解 Navier-Stokes 方程[1,2]的方法得到的波面 极为逼真,但计算成本过高难以实现实时仿真;实 际应用中多采用基于海浪模型的波面仿真[3],这种 方法计算量小同时画面的逼真性较高;基于快速傅 立叶变换对给定靶谱的波面仿真是目前的主流方 法[4-9];另外还有基于 Gerstner 波动模型[3, 10]或分形 模型[11, 12]的仿真方法。得到波面高度场之后需要对 其渲染,该步骤非常复杂,结合了材质、用光、运 动渲染、图像显示和动画演示等操作,前人针对不 同的应用需求也有大量研究[3]在此不作赘述。目前 一些先进的商业动画软件如 Autodesk 公司出品的 MAYA 和 3Ds Max 提供了强大的动画制作功能在上 述动画开发环境中可以完成波面建模、渲染、动画 制作一系列工作并最终形成动画。 例如 3Ds Max 的 工具包 Dreamscape 专门提供了制作海洋和山脉等 自然地貌动画的功能。在要求不高的场合也可以在 3Ds Max 中定义“平面”基本体并对其添加“噪波” 修改器,然后指定噪声强度来控制波面的振幅,设 定波动传播速度及方向,然后对波面模型作光照调 整、材质贴图等渲染得到波面的动画
Preparing 3-D animation of sea wave forecasting
Gao Zhi-yi, Yu Fu-jiang, Xu Fu-xiang
(National Marine Environmental Forecasting Center, Beijing 100081, China)
2 制作复合波面高度场
为反映出大浪的空间分布情况,需要将不同波 高和波长的波浪场按波高等值线图拼接起来。这里 需要解决两个问题:第一,将海浪预报图转化成高 程数据,根据高程来确定各预报区域所使用的平均 波高的波面场;第二,不同波面高度场之间存在的 相位差会导致合成波面不连续,因此需要设计一组 平滑函数使不同波面高度场平滑连接。对第一个问 题,需要根据海浪预报图的存储格式来确定相应算 法,本文研究中海浪预报图为位图格式(Windows 256 色 bmp 文件) ,只需将色标数据转化成数字高 程即可。 对第二个问题, 平滑函数应采用钟形曲面, 该曲面的水平截面形状应和等值线的形状一致。由 于等高范围可能为多连通区域,因此难以给出解析 形式的平滑函数[19],但可以从浪区边界开始逐层向 内(外)搜索,并为各层数据点递增(减)赋值, 这 样赋 值 相当 于 构造窗函 数 使 不同波高波浪场平 滑连接在一起,本文研究发现采用正弦或指数形式 的函数平滑效果较好,采用线性函数时波高等值线 附近区域波面高度场和反光系数场的渐变性较差。 图 2 为边界点算法的示意图, 其中灰色和白色表示 波高不同的两个区域(如灰色和白色分别表示 3 m 和 4 m 的浪区) , 每个小方格(i, j)表示预报图中一个 像素。由(i, j)点周围 8 个点的色阶取值(本文所用 256 色 BMP 文件包含 256 个色阶, 每个色阶分别以
第 30 卷
第2期




Vol. 30, No. 2 Apr. 2011
2011 年 04 月
MARINE SCIENCE BULLETIN
海浪预报三维动画计算原理与制作方法
高志一,于福江,许富祥
(国家海洋环境预报中心 北京 100081) 摘 要:研究了基于线性海浪模型制作三维动画海浪预报产品的制作方法,并制作了首个三维动画海浪警报产品。基本步骤为:由
[13]
1 波面高度场的理论模型
本 节 基于线性海浪模型采用线性 滤 波法 [16] 计 算二维波面高度场。Longuet-Higgins 将海浪波面高 度ζ看作大量余弦波叠加构成的[17]
ζ = ∑ ai cos(k i ⋅ x − 2πf it + ε i )
i

(1)
式中:ai 为组成波振幅,ki 为波数矢量,x 为水平 位置(x, y),fi 为频率,εi 为均匀分布在 0 到 2π的随 机量。振幅 ai 与海浪谱 S(fi)之间具有关系
海浪预报服务最初是为满足海上军事活动的 需要而出现的,迄今已有数十年的历史。由于海浪 的随机特性,对它只能进行统计预报。海浪预报产 品需要告诉用户洋面或海区平均波高的情况。因此 海浪预报产品一般采用有效波高等值线图,该形式 的产品实际上是一种传统涉海行业中广泛采用的 专业用图。然而随着经济进步和人类海上活动日益 频繁,需要海浪预报服务的用户群体早已突破传统 涉海行业。由于新兴用户可能具有不同的专业背 景,对他们来说波高等值线图不直观甚至可能产生 误导。如图 1a 为一个等高线示意图,该图的含义 是颜色越浅的等值线圈出区域的有效波高越大,但 一般用户不容易想象出图 1a 对应的浪场波动状态, 而是容易将它想象成图 1b 所示的三维图景,即“一 座水山”。由此可见等值线形式的海浪预报图已经
收稿日期:2010-4-22;收修改稿日期:2010-6-17
不能满足面向一般用户的预报服务需要,新的预报 产品应该具有更直观生动的形式。这就要求新的预 报产品不仅具有传统预报产品的功能,更要便于一 般用户了解海浪预报中的深层次信息,如等高线大 值区的随机波动具有较大的平均波高和波长。因此 三维动画形式是新型海浪预报产品首选形式,然而 目前尚无此类产品面世。
。而三维动
万方数据
174




30 卷
1 2 ai S ( f i ) 2
度场
(2)
本文研究中采用 JONSWAP 谱[18]为靶谱计算波面高
S ( f ) = αg 2 (2π ) f −5
4
( f − f0 ) − ⎡ 5 ⎛ f ⎞ 4 ⎤ exp ⎢ 2 2 ⎢ 2σ f 0 0 ⎣ ⎟ exp ⎢− ⎜ ⎥γ ⎜ ⎟ 4⎝ f ⎠ ⎥ ⎢ ⎣ ⎦
基金项目:十一五国家科技支撑计划:重大海洋灾害预警及应急技术研究(2006BAC0300) 。 作者简介:高志一(1980-) ,男,博士,研究实习员,主要从事小尺度海气相互作用与海浪理论研究。电子邮箱:zhiyi_gao@。
万方数据
2 期
高志一 等:海浪预报三维动画计算原理与制作方法
Abstract: A method of preparing an animation of 3-D wave forecasting is explored. A series of wave surface elevation fields with different mean wave height and wave length are generated on the basis of linear wave model, and also the corresponding reflective fields are generated. A composite wave surface elevation field and the corresponding reflective coefficient field are generated according to the significant wave height contour map. The frames of 3-D wave field are rendered based on these composite wave surface elevation fields. A series of rendered frames are animated at last. The 3-D animation of wave forecasting is much easier to understand for the public. Keywords: Sea Wave Forecasting; FFT; Sea Wave Render

2
⎤ ⎥ ⎥ ⎦
(3)
其中 f0 为谱峰频率,g 为重力加速度。α、σ和γ分别 为 JONSWAP 谱的强度因子、宽度因子和升高因子 。方向函数采用 cos2θ,其中θ (取值范围参考[1]) 为方向角。得到方向频率谱
S ( f ,θ ) = S ( f ) cos 2 θ
(4)
图 1 以 JONSWAP 谱为靶谱生成的波高分别为 4 m 和 3 m 的波面高度 场 Fig. 2 Wave surface elevation field with mean wave height of 4m and 3m generated from JONSWAP spectrum
线性海浪模型生成一系列不同波高和波长的二维海面高度场,以及这些波面高度场对应的反光系数场;根据海浪预报图中波高的空 间分布情况将不同波高的波面高度场拼接成复合的波面高度场,同时拼接出与之对应的复合反光系数场;由复合的波面高度场和反 光系数场渲染出三维波面,并将渲染后的波面时间序列串接成动画形成最终产品。三维动画形式的海浪预报产品能有效地克服海浪 有效波高等值线图信息不直观的缺点,预报信息易于被广大用户和公众理解。 关键词:海浪预报;FFT;海浪渲染 中图分类号:P731.33 文献标识码:A 文章编号: 1001-6932(2011)02-0172-07
相关文档
最新文档