DualSPHysics模拟流体及物体漂浮

DualSPHysics是一款开源的SPH代码,算是国际上发展比较早的开源SPH代码。功能也比较强大,计算得到的散点模型可以通过界面捕捉算法获得真实的效果图。下图是将计算结果的每一帧输出,并采用Blender进行了简单的渲染的效果,通过Python将每一帧合称为gif图片。

float.gif

图片合称为gif的代码如下:

# 将一个文件夹下的所有满足条件的图片文件制作成为gif格式文件
# lizhiyong4216@163.com
import imageio
import osimport 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()
登录后免费查看全文
立即登录
App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP

5
2
2