磁力场

暗场里上百根双极磁针各自旋转,异极相吸结成短暂的链、同极相斥彼此弹开;被旋转扯到极限时「啪」地脱离。移动鼠标会投出一个磁极,可以切换 N 或 S,把附近的磁针整条牵过来。

N 极
磁针 0
吸附 0
断裂 0
把光标移进来 · 点击画面可切换极性
N 极(红) S 极(蓝) 吸附中的磁力线 鼠标异极则相吸,同极则相斥

磁针为什么会自己转?

每根磁针都是一个可以自转的偶极子,各自带一个固有的自旋方向与角速度。画面里没有统一的外磁场,所以它们不会整齐排列,而是各转各的:一旦被别的磁针吸住,磁力矩会试图把它掰成「N 对着 S」的反平行姿态,可它自己的自旋又一直在往里拧,两边较劲的结果就是先僵持、再突然崩开。

「吸住」和「脱离」是怎么算出来的?

每根针的两端各带一个极性电荷,N 端记 +1、S 端记 −1,任意两端之间按 F = k·q₁q₂ / r² 作用:异号相乘得负,力指向对方,是吸引;同号得正,力背向对方,是排斥。四对端点叠在一起,自然就复现了「平行反向相吸、平行同向相斥」。当一对异极端点靠到 15 像素以内,程序会额外加一根弹性约束把它们拴住并记录下来;拴住之后两针继续各自自旋,约束被越拉越长,超过 42 像素或寿命到点就断开,断开瞬间给两边一个反向的角速度冲量——这就是你看到的「啪」一下弹开。

鼠标的磁极是怎么起作用的?

光标本身被当成一个单极磁荷。附近的每个端点都会受它作用,力的大小随距离平方衰减,方向由极性决定:光标是 N,那么磁针的 S 端就被拉过来、N 端被推开;切成 S 则反过来。为了不让磁针被瞬间甩飞,鼠标力作用在力矩上的分量被压到了四分之一,所以看到的是「整根针被牵过来、并且慢慢转向你」,而不是原地打转。离开画面四秒后,会有一个自动巡游的磁极接管,保持画面不至于静下来。

这些数字是真实的磁场吗?

不是。它是把真实磁偶极子的几条主要性质(两端异极、平方反比、同极相斥异极相吸、力矩使磁矩转向)抽出来做的可视化玩具,去掉了磁通量、磁化强度、材料磁导率这些量,也做了力的上限与阻尼来保证画面稳定。所以它看起来像磁场,但不能用来算任何真实的磁学问题。