内容正文:
第三章 欧拉法的应用
第2节 气缸内分子的运动
在微观世界里,分子的模型可以看做弹性小球,因此宏观小球之间的碰撞课件都可以采取类似方法制作。
一、主要步骤和指令:(1)自由向量的构造与赋值
(2)碰撞对称轴的构造
(3)碰撞瞬间后运动向量的构造
二、步骤1:构造自由向量和初始向量
每个分子或小球都要设置,对于每个小球可以设置随机向量为初始运动方向向量。(本例为5个小球)
步骤2:构造可调整的四边形作为气缸
步骤3:更新脚本
赋值(C,C+dt*u)
赋值(G,G+dt*v)
赋值(H,H+dt*w)
赋值(I,I+dt*s)
赋值(J,J+dt*q)
如果(距离(C,b_1)<=r,赋值(u,对称(u,b_1)))
如果(距离(C,b')<=r,赋值(u,对称(u, b')))
如果(距离(C,b'')<=r,赋值(u,对称(u,b'')))
如果(距离(C,b'_1)<=r,赋值(u,对称(u,b'_1)))
如果(距离(C,G)<=2r,赋值(u,对称(u,中垂线(C,G))))
如果(距离(C,H)<=2r,赋值(u,对称(u,中垂线(C,H))))
如果(距离(C,I)<=2r,赋值(u,对称(u,中垂线(C,I))))
如果(距离(C,J)<=2r,赋值(u,对称(u,中垂线(C,J))))
如果(距离(G,b_1)<=r,赋值(v,对称(v,b_1)))
如果(距离(G,b')<=r,赋值(v,对称(v, b')))
如果(距离(G,b'')<=r,赋值(v,对称(v,b'')))
如果(距离(G,b'_1)<=r,赋值(v,对称(v,b'_1)))
如果(距离(G,C)<=2r,赋值(v,对称(v,中垂线(G,C))))
如果(距离(G,H)<=2r,赋值(v,对称(v,中垂线(G,H))))
如果(距离(G,I)<=2r,赋值(v,对称(v,中垂线(G,I))))
如果(距离(G,J)<=2r,赋值(v,对称(v,中垂线(G,J))))
如果(距离(H,b_1)<=r,赋值(w,对称(w,b_1)))
如果(距离(H,b')<=r,赋值(w,对称(w, b')))
如果(距离(H,b'')<=r,赋值(w,对称(w,b'')))
如果(距离(H,b'_1)<=r,赋值(w,对称(w,b'_1)))
如果(距离(H,C)<=2r,赋值(w,对称(w,中垂线(H,C))))
如果(距离(H,G)<=2r,赋值(w,对称(w,中垂线(H,G))))
如果(距离(H,I)<=2r,赋值(w,对称(w,中垂线(H,I))))
如果(距离(H,J)<=2r,赋值(w,对称(w,中垂线(H,J))))
如果(距离(I,b_1)<=r,赋值(s,对称(s,b_1)))
如果(距离(I,b')<=r,赋值(s,对称(s, b')))
如果(距离(I,b'')<=r,赋值(s,对称(s,b'')))
如果(距离(I,b'_1)<=r,赋值(s,对称(s,b'_1)))
如果(距离(I,C)<=2r,赋值(s,对称(s,中垂线(I,C))))
如果(距离(I,G)<=2r,赋值(s,对称(s,中垂线(I,G))))
如果(距离(I,H)<=2r,赋值(s,对称(s,中垂线(I,H))))
如果(距离(I,J)<=2r,赋值(s,对称(s,中垂线(I,J))))
如果(距离(J,b_1)<=r,赋值(q,对称(q,b_1)))
如果(距离(J,b')<=r,赋值(q,对称(q, b')))
如果(距离(J,b'')<=r,赋值(q,对称(q,b'')))
如果(距离(J,b'_1)<=r,赋值(q,对称(q,b'_1)))
如果(距离(J,C)<=2r,赋值(q,对称(q,中垂线(J,C))))
如果(距离(J,G)<=2r,赋值(q,对称(q,中垂线(J,G))))
如果(距离(J,H)<=2r,赋值(q,对称(q,中垂线(J,H))))
如果(距离(J,I)<=2r,赋值(q,对称(q,中垂线(J,I))))
指令语句中的r为小球的半径,由于小球不仅与边界碰撞,还有小球之间的碰撞,故4个边界线即是碰撞的对称轴,而小球之间碰撞的对称轴用中垂线来实现,因此,每个小球的碰撞后的向量指令有(5个小球)8个。如果分子或小球的数量增多,写脚本时用复制和粘贴在少量改对称轴的标签即可。
封面图如下:
学科网(北京)股份有限公司
$