![]() |
XLPack for Matplotlib Experimental Version 0.1
例題集
|
3D ベクトル場の矢印を表示する.
Sub Test_Axs3d_Quiver()
Const N = 4
Dim Vx(N - 1) As Double, Vy(N - 1) As Double, Vz(N - 1) As Double
Dim X(N - 1, N - 1, N - 1) As Double, Y(N - 1, N - 1, N - 1) As Double, Z(N - 1, N - 1, N - 1) As Double
Dim U(N - 1, N - 1, N - 1) As Double, V(N - 1, N - 1, N - 1) As Double, W(N - 1, N - 1, N - 1) As Double
Dim I As Long, J As Long, K As Long
Dim Fig As Figure, Ax3 As Axs3d
'-- Make data
Call LineSpace(-1, 1, N, Vx())
Call LineSpace(-1, 1, N, Vy())
Call LineSpace(-1, 1, N, Vz())
Call MeshGrid3(N, N, N, Vx(), Vy(), Vz(), X(), Y(), Z())
For I = 0 To N - 1
For J = 0 To N - 1
For K = 0 To N - 1
U(I, J, K) = (X(I, J, K) + Y(I, J, K)) / 5
V(I, J, K) = (Y(I, J, K) - X(I, J, K)) / 5
W(I, J, K) = Z(I, J, K) * 0
Next
Next
Next
'-- Plot
Set Fig = Plt.Figure()
Set Ax3 = Fig.Add_subplot_3d()
Call Ax3.Quiver(N, N, N, X(), Y(), Z(), U(), V(), W())
Call Plt.Show
End Sub