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

用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()

猜你喜欢

转载自www.cnblogs.com/dageyong/p/9404452.html