![]() |
XLPack for Matplotlib Experimental Version 0.1
例題集
|
三角格子上に表面プロットを描く.
Sub Test_Axs3d_Plot_trisurf()
Const N_radii = 8, N_angles = 36, N = N_radii * N_angles + 1
Dim Radii(N_radii - 1) As Double, Angles(N_angles - 1) As Double
Dim X(N - 1) As Double, Y(N - 1) As Double, Z(N - 1) As Double
Dim I As Long, J As Long, K As Long
Dim Fig As Figure, Ax3 As Axs3d
'-- Make data
For I = 0 To N_radii - 1
Radii(I) = (I + 1) * 0.125
Next
For I = 0 To N_angles - 1
Angles(I) = I * (2 * Pi() / N_angles)
Next
For I = 0 To N_angles - 1
For J = 0 To N_radii - 1
K = J + I * N_radii + 1
X(K) = Radii(J) * Cos(Angles(I))
Y(K) = Radii(J) * Sin(Angles(I))
Z(K) = Sin(-X(K) * Y(K))
Next
Next
'-- Plot
Set Fig = Plt.Figure()
Set Ax3 = Fig.Add_subplot_3d()
Call Ax3.Plot_trisurf(N, X(), Y(), Z(), "Blues")
Call Plt.Show
End Sub