Loading...
墨滴

张春成

2021/08/01  阅读:38  主题:默认主题

一个简单的动力学模型

一个简单的动力学模型

借助JAVASCRIPT的实时计算工具,HTML(也就是网页)具有强大的​呈现能力。 而以D3为代表的工具进一步简化了这一过程。 本文借助该平台,建立了一个简单的动力系统。 该系统可以在一定程度上显示出“混沌”现象。


一个基于WEB端的动力学模型

欢迎点击Running Engine[1] 来到一个简单的动力学系统模拟。

RunningEngine
RunningEngine

这是一个简单的“链接”系统。

  • 系统中的“点”以“弹簧连接”的方式彼此连接,形成链路;
  • 将系统的端点“蓝点”固定在图中央;
  • 系统的第二点“黄点”以固定的角速度绕端点旋转;
  • 之后的若干个点随之产生转动。

从动力学模拟可以看到,虽然黄点的角速度是固定的,但之后的点的运动轨迹呈现混沌特性。

当然,这张图是不会动的,你可以点开Running Engine[2] 来开始模拟。

其中,两个参数可以调整

  • num:调整参与模拟的点的数量,点数量越多则运动越混乱;
  • speed:调整“黄点”的运动速度,值越大则运动越快。

当然,所有源码都可以随意更改,因此你也可以修改并得到自己的副本。 如果喜欢,欢迎转发~~。

D3

借助JAVASCRIPT的实时计算工具,HTML(也就是网页)具有强大的​呈现能力。 而以D3[3]为代表的工具则进一步简化了这一过程

D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.

(D3js 是一个可以基于数据来操作文档的 JavaScript 库。可以帮助你使用 HTML, CSS, SVG 以及 Canvas 来展示数据。D3 遵循现有的 Web 标准,可以不需要其他任何框架独立运行在现代浏览器中,它结合强大的可视化组件来驱动 DOM 操作。)

Observable HQ

进一步地,Observable HQ[4] 这一工具提供了个人D3代码的分发和托管功能。

Helping everyone make sense of the world with data. We’re building a place to create, collaborate, and learn with data.

也就是说,我写的JAVASCRIPT代码,可以在这个平台上分发和执行。 你可以通过打开我给出的页面,直接看到代码的执行效果。 并且能够在源码上进行实时修改。

参考资料

[1]

Running Engine: https://observablehq.com/@listenzcc/running-engine

[2]

Running Engine: https://observablehq.com/@listenzcc/running-engine

[3]

D3: https://d3js.org/

[4]

Observable HQ: https://observablehq.com/explore

张春成

2021/08/01  阅读:38  主题:默认主题

作者介绍

张春成