こちらは「vedo」(Pythonライブラリ)のサンプルコードについての記事となっております。
その他、3Dモデルの処理方法についての情報は下記の記事で紹介しております。
open3d/plotly/trimesh/pyvista/vedo/pytorch3d/matplotlibといったPythonライブラリや3DツールのPythonAPIであるbpy(Blender)/unreal(Unreal Engine)といったPythonライブラリについて気になる方はこちらの記事をご覧ください。
目次
基本情報 … Basic Information
「vedo」は、Pythonの3D可視化ライブラリです。主に、科学技術分野において、3Dデータの表示や解析に利用されます。このライブラリは、VTK (Visualization ToolKit) のラッパーライブラリとして機能し、VTKが持つ多数の可視化ツールを使用できます。
サンプルコード … Sample Code
001 モデルの読み込み, モデルの表示 … Read the Model, Show the Model
1.「vedo」(Pythonライブラリ)で「OBJ」ファイルを読み込む
2.「vedo」(Pythonライブラリ)で「OBJ」モデルを表示する
### Public Library ############################################################
import vedo
###############################################################################
obj = vedo.load('SAMPLE/monkey.obj')
print(type(obj)) ### <class 'vedo.mesh.Mesh'>
print(obj.vertices())
### [[ 0.46875 0.242188 0.757812]
### [ 0.4375 0.164062 0.765625]
### [ 0.5 0.09375 0.6875 ]
### ...
### [-0.640625 -0.007812 -0.429688]
### [-0.59375 -0.125 -0.164062]
### [-0.773438 -0.140625 -0.125 ]]
print(obj.normals())
### [[ 0.6649727 -0.20079176 0.7193705 ]
### [ 0.6649727 -0.20079176 0.7193705 ]
### [ 0.6649727 -0.20079176 0.7193705 ]
### ...
### [ 0.24739374 -0.9230767 -0.29449254]
### [ 0.24739374 -0.9230767 -0.29449254]
### [ 0.24739374 -0.9230767 -0.29449254]]
print(obj.edges())
### [[0, 1], [1, 2], ..., [380, 412], [412, 493]]
print(obj.faces())
### [[0, 1, 2, 3], [4, 5, 6, 7], ..., [1960, 1961, 1962, 1963], [1964, 1965, 1966, 1967]]
### obj.computeNormals()
### obj.triangulate()
###############################################################################
vedo.show(obj)
###############################################################################
上記のプログラムは、Vedoを使用して3Dモデルを読み込み、その構成要素を表示するものです。
このプログラムでは、.objファイルを読み込み、3Dモデルの頂点、法線、エッジ、面を取得しています。また、Vedoの機能を使用して、法線を計算し、三角形に分割することもできます。
最後に、Vedoを使用して、3Dオブジェクトを表示しています。