1. 程式人生 > >SPH方法模擬波浪及木船漂浮

SPH方法模擬波浪及木船漂浮

文件 python代碼 ray text 使用 利用 aps walk code

用DualSPHysics算的(DuapSPHysics代碼包包含了捕捉、重構液面的功能),blender簡單渲染了一下(只簡單添加了光照),用Python的imageio庫做的gif圖片,效果看起來還可以。

如下:

技術分享圖片

利用每一幀制作gif圖片的python代碼如下:

# 將一個文件夾下的所有滿足條件的圖片文件制作成為gif格式文件
# [email protected]
import imageio
import os
import numpy as np

def CreateGIF(filefolder, gifname):
    frames = []
    # 將每一張圖片文件後綴為.png的文件路徑加入到frames中
for root, dirs, files in os.walk(filefolder): for file in files: if os.path.splitext(file)[1] == .png: frames.append(imageio.imread(os.path.join(root, file))) # frames轉換為imageio使用的numpy中的矩陣格式 frames2 = np.asarray(frames) # 制作並保存為gif格式 imageio.mimsave(gifname, frames2,
GIF, duration = 0.1) return def main(): filefolder = "C:\\tmp" gifname = filefolder + \\float.gif CreateGIF(filefolder, gifname) if __name__ == "__main__": main()

SPH方法模擬波浪及木船漂浮