![見出し画像](https://assets.st-note.com/production/uploads/images/50415921/rectangle_large_type_2_db477a297aea2371762cfbb010bbd89f.png?width=1200)
PythonでStanford Bunnyさわってみる。
まず、stanford bunnyとは、スタンフォード大学で3Dスキャンされたうさぎの陶器のデータです。CGの簡単なモデルとしてよく見かけたりします。今回は、このstanford bunny をnumpy配列に変換して、pyplotで描画してみます。
stanford bunny は、以下のサイトからダウンロードできます(「stanford bunny」で検索したらすぐ出てきます)。
まず必要なものをimport します。
open3dがなければ、これはpipからインストールできます。
import numpy as np
import open3d as o3d
from matplotlib import pyplot as plt
次にPLYファイルからデータをロードします。
fにダウンロードしてきたデータのパスを入れて、可視化してみます。
f = "bunny/data/bun000.ply"
pcd = o3d.io.read_point_cloud(f)
o3d.visualization.draw_geometries([pcd])
ここまで実行すると、下のような形で点群データとして見ることができます。
しかし、データとして使うならnumpy配列にしたほうが扱いやすいと思うので、numpy配列に変換してしまいます。
xyz = np.asarray(pcd.points)
print(xyz.shape)
fig = plt.figure()
ax = fig.add_subplot(111, projection = "3d")
x = xyz[:,2]
y = xyz[:,0]
z = xyz[:,1]
ax.scatter(x, y, z, alpha = .008, c = "black", edgecolors = "black")
ax.view_init(elev = 20, azim = 20)
plt.tick_params(labelbottom= False,
labelleft = False,
labelright = False,
labeltop. = False)
plt.tick_params(color='none')
plt.show()
ここで、ax.view_init()で視点を変更することができ、 elev はz軸方向の視点、azimはxy方向の視点の回転を変更することができます。
参考サイトなど
この記事が気に入ったらサポートをしてみませんか?