向量場流線

分析微積分

參數方程

給定向量場 F(x,y)=(Fx,Fy)\mathbf{F}(x,y)=(F_x,F_y),流線是下列常微分方程的解:

dxdt=Fx(x,y),dydt=Fy(x,y)\frac{dx}{dt}=F_x(x,y),\quad \frac{dy}{dt}=F_y(x,y)

等價寫法:

drdt=F(r(t))\frac{d\mathbf{r}}{dt}=\mathbf{F}(\mathbf{r}(t))

可視為方向場的積分曲線,用於理解梯度、旋度與一階微分方程的解。

本場取漩渦加擾動:

Fx=yx2+y2+ε+0.25sin(2y+0.8t),Fy=xx2+y2+ε+0.25cos(2x+0.8t)F_x = \frac{-y}{x^2+y^2+\varepsilon} + 0.25\sin(2y + 0.8t),\quad F_y = \frac{x}{x^2+y^2+\varepsilon} + 0.25\cos(2x + 0.8t)

ε\varepsilon 避免原點除零;方向垂直半徑,整體呈旋轉流。

實作要點

  • RK2 中點積分pn+1=pn+hF ⁣(pn+h2F(pn))\mathbf{p}_{n+1}=\mathbf{p}_n + h\,\mathbf{F}\!\left(\mathbf{p}_n + \tfrac{h}{2}\mathbf{F}(\mathbf{p}_n)\right),高速旋轉區仍較穩定
  • 種子分布:角度均分 2πi/N2\pi i/N,半徑 1.2+0.25sin(1.5t+i)1.2 + 0.25\sin(1.5t + i) 呼吸圓環
  • 邊界裁切x,y>5|x|,|y|>5 時停止積分,避免軌跡發散佔滿畫布
  • 固定視覺縮放:世界座標 ×120\times 120 映射至螢幕(中心對稱),數學層不混入相機 lerp
  • 每幀重建:流線數、步數或 tt 變更即重算全部軌跡;起點節點高亮
  • 數學與動畫分離:場定義與積分規則在 geometrytt 累加與種子相位在 animation

相關連結

延伸閱讀

← 返回作品集