科学计算可视化 | 从手绘图表到云端渲染
小学的数学课上,当老师第一次让我们把零散的坐标点连成折线图时,幼稚孩童的脑中就已经被种下可视化的种子。
这个世界的奥秘早已经以各异的形态暴露在我们身边,无论是落在牛顿头上的苹果,还是吸引瓦特的壶盖,上帝的提示似乎只有少数天才能够领悟。
作为肉眼凡胎的普通人,虽然我们站在巨人的肩膀上,享受着前人对世界的探索成果,他们用精确严谨的数学语言来解释复杂的自然现象,总结自然规律,但是人们却仍然难以找出抽象的数据与现实的联系。
于是,为了能够在人类有限的想象力约束下一窥这个世界的奥秘,可视化诞生了。
01 科学可视化的由来
在计算机尚未普及的年代,科学家们使用手绘图表来表示数据,从最开始绘制地图和交通图,到后来用于测量天文和气象,柱状图、饼图、直方图、折线图、时间线、轮廓线等统计数据可视化工具陆续地被发明出来,应用到了社会、医学和经济的方方面面。
采用统计图表来辅助思考的诞生同时衍生了可视化思考的新方式:用图表来表达数学证明和函数;列线图用于辅助计算;各类可视化显示用于表达数据的趋势和分布,便于交流、获取和可视化观察。
20世纪70年代以后,桌面操作系统、计算机图形学、图形显示设备、人机交互等技术的发展激发了人们编程实现交互式可视化的热情。处理范围从简单的统计数据扩展为更复杂的网络、层次、数据库、文本等非结构化与高维数据。
图 计算机图形学之父伊万·萨瑟兰与Sketchpad与此同时,高性能计算、并行计算的理论与产品正处于研制阶段,催生了面向科学与工程的大规模计算方法。数据密集型计算开始走上历史舞台,也造就了对于数据分析和呈现的更高需求。1987 年,美国国家科学基金会召开了首次有关科学可视化的会议,召集了众多来自学术界、工业界以及政府部门的研究人员,会议报告正式命名并定义了科学可视化(Scientific Visualization),主要使用可视化技术研究自然科学领域的数据建模、分析、处理问题。此后,科学可视化一路高歌猛进,席卷了医学、工程、物理等诸多领域,可视化的视觉传达手段也不断地发展,用来解释这些数据及其他隐匿模式的奥秘。02 有限元可视化
至于有限元分析最早是何时与科学可视化相遇的已无从考证。早在70年代末,等值线、云图等传统的可视化方法就已经在有限元软件中被广泛应用。蔚蓝的海水、无形的空气、冰冷的钢铁结构,都披上一层彩色的外衣,在计算机中展示自己内在的机理。80年代末,随着科学可视化的兴起,可视化方法变得日益丰富,出现了等值面、切面、流线、体绘制等一系列可视化方法,迅速在计算流体力学、有限元分析等领域取得应用。如今,CAE分析已经应用在船舶海工、航空航天、轨道交通、汽车等诸多领域,科学可视化技术也成为了各行各业的工程师不可或缺的工具。03 渲染局限与解决方案
随着工程技术的进步,CAE分析的结构越来越复杂,有限元模型数据量也越来越大,庞大的数据量对渲染引擎提出了挑战,受限于图形渲染能力,很多有限元软件在显示大规模的有限元模型时卡顿现象严重,可视化效率亟待提升。为了解决查看大规模有限元模型卡顿的问题,研究者们想了多种方法,主要集中在以下两方面:- 模型轻量化显示。即通过多种技术手段减少显示数据的规模,且视觉效果不能发生太大变化。
比如云境智仿研发的科学数据可视化组件YJVis就采用动态LOD技术、智能减面技术、渐进式渲染等技术手段,有效提高了模型渲染效率,能够实现GB级模型的流畅渲染与交互。
原来的图形渲染是通过CPU的串行指令,相当于100人排着队,每个人依次往纸上画一笔,形成一幅画。而随着GPU的出现,可以实现并行渲染,就像100个人同时拿着笔往纸上画,可以加速图形的生成。云境智仿基于对先进软硬件技术的持续跟踪,在对产品进行架构设计时就将GPU加速计算能力覆盖到了仿真全链路,无论是图形渲染、网格剖分还是仿真求解,全部支持GPU计算,超越传统CPU数百倍速率。04 可视化步入云境
除了渲染能力的限制外,软件架构设计的进步也对渲染引擎提出了新的要求,相比于传统客户端较重的部署模式,弹性轻量的云端工业软件的优势逐渐被用户们所认可,无需下载,打开网页就能查看仿真结果,不受地点和设备的限制,可以与同事更好地协同工作。在早期,Web端对于3D模型渲染的支撑技术没有本地软件那么成熟,但是随着WebGL、WebGPU等技术的陆续出现,在Web端流畅地查看大型3D模型已经并不遥远,云境智仿基于WebGL开发的渲染引擎,实现了后处理可视化所需要的包括云图、流线、迹线、矢量、变形在内的丰富功能。YJVis不仅可以与WebGL兼容,还融合了最新的WebGPU技术,使得云端渲染效率显著提升,让用户可以随时随地在网页中查看分析结果,并方便地分享给他人。