Loading...
墨滴

张春成

2021/08/10  阅读:62  主题:默认主题

三维场景的受力模拟

三维场景的受力模拟

本文还是基于THREE.js的三维场景呈现。 但缝合了D3的力模拟功能。


受到力约束的点

当三维场景中的点受到彼此之间的力约束,就会产生类似晶体的晶格的形状

Force Simulation
Force Simulation

图中红点代表理想质点,黄线代表彼此之间的力连接关系。

我们可以使用 D3的力模拟工具[1] 对它们的位置和运动速度进行实时更新, 于是有如下的运动效果

(这是一段棒到不行的力模拟视频)

可以看到,随着受力关系的变化,这些点会稳定在不同的位置。

技术缝合

这仍然是一个缝合怪,但比上一个工程更好的地方是它使用的两个工具同属Javascript应用。 至少不需要涉及Python的后台计算了。

本工程的代码同样可见我的GITHUB仓库[2]

参考资料

[1]

D3的力模拟工具: https://unpkg.com/d3-force-3d

[2]

GITHUB仓库: https://github.com/listenzcc/ThreeJS

张春成

2021/08/10  阅读:62  主题:默认主题

作者介绍

张春成