ブログ

割とコンピュータよりの情報をお届けします。

2018年3月15日

Pythonで3次元プロット

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();

≫ 続きを読む

2018/03/15 コンピュータ   TakeMe