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