Pythonで3次元プロットしてみた
Pythonで3次元プロットしてみたが、なかなか難しいのがパースペクティブ表示になっているところ。
参考をみて直してもらった。
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import proj3d
def orthogonal_proj(zfront, zback):
width = zfront - zback;
a = 1 / width
b = - a * (zfront + zback) / 2
return np.array([[1,0,0,0],
[0,1,0,0],
[0,0,a,b],
[0,0,0,zback]])
proj3d.persp_transformation = orthogonal_proj
r = 50.0;
theta = np.arange(0, 360.0, 30);
x = np.array([]);
y = np.array([]);
z = np.array([]);
for i in range(10):
x_ = r * np.cos(theta / 180 * np.pi);
y_ = r * np.sin(theta / 180 * np.pi);
z_ = 10. * i * np.ones(x_.shape[0]);
x = np.append(x, x_);
y = np.append(y, y_);
z = np.append(z, z_);
fig = plt.figure();
ax = fig.add_subplot(111, projection='3d')
ax.scatter3D(x, y, z);
plt.show();

