基于超算的三維可視化系統,其主要的技術(shù)難點(diǎn)可歸結如下:
(1)建模。 建模過(guò)程要保證效率與效果的優(yōu)化折中,盡量在較好地解析模型信息細節的前提下快速解算控制方程。固體方面,在目前較為流行的實(shí)時(shí)仿真庫中,多數是針對剛體和關(guān)節性剛體的。而本系統加入了各種類(lèi)型的可變形體(非牛頓流體、布料型輕薄固體、顆粒型固體等),要解決剛體與可變形體的運動(dòng)耦合,它們之間的碰撞檢測與可變形體的應力形變是技術(shù)難點(diǎn)。在流體(主要是空氣、液體動(dòng)力仿真)方面,當前 CFD 的仿真軟件基本都是解算歐拉流體模型,中間在求解大型線(xiàn)性方程時(shí)難以實(shí)時(shí),由于實(shí)時(shí)性的限制,本系統需要并行化比較高的方式來(lái)解算 Navier-Stokes 方程,因此本系統使用當前的新興流體技術(shù),即實(shí)時(shí)的歐拉流體方法,并且耦合 SPH(Smoothed Particle Hydrodynamics)模型來(lái)增加小規模細節,使三維可視化的結果盡量再現真實(shí)的物理結果。此外,還有一個(gè)較大的技術(shù)難點(diǎn)就是流/固耦合模塊,這里需要將基于歐拉網(wǎng)格的流體與基于拉格朗日的固體進(jìn)行統一的求解,這需要建立一個(gè)耦合不同類(lèi)型固體的流體泊松方程,并用快速、穩定的數值方法求解。
(2) 渲染??梢暬瘮祿奶崛∵^(guò)程中,技術(shù)難點(diǎn)是根據離散點(diǎn)云(粒子)來(lái)構建沒(méi)有斑點(diǎn)的平滑三角化曲面,以及適應性的 Marching 算法,這些都集中在構建面數據的方面?;邳c(diǎn)云構建曲面,本系統使用了 Delaunay 三角剖分與拉格朗日濾波相結合的幾何算法來(lái)優(yōu)化操作,成可供高質(zhì)量渲染的曲面數據;而適應性 Marching 算法主要是用于在建模時(shí)采樣生成的隱式表面數據場(chǎng)上提取顯式面數據,要求是不能過(guò)分地抹平一些高頻的細節。此外,本系統的渲染模塊也支持對隱式數據場(chǎng)的渲染,這要看具體的應用需求。在生成圖像的過(guò)程中,并行加速
模塊起到了至關(guān)重要的作用,基于 GPU 的矩陣解算與光線(xiàn)追蹤是本系統的一大特色。