Blenderで4次元データの可視化
やること
4次元データのグラフをBlenderで作成してみましょう。
4軸目は、球のサイズにします。
やってみる
データはダミーで作ります。
import bpy
import numpy as np
def draw(data, scale=0.02):
mn = data.min()
mx = data.max()
data[:, :3] = (data[:, :3] - mn) / (mx - mn) * 2
for x, y, z, s in data:
bpy.ops.mesh.primitive_ico_sphere_add(subdivisions=3, radius=s * scale, location=(x, y, z))
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.shade_smooth()
bpy.ops.mesh.primitive_cylinder_add(vertices=4, radius=0.02, location=(1, 0, 0), rotation=(0, 1.5708, 0))
bpy.ops.mesh.primitive_cylinder_add(vertices=4, radius=0.02, location=(0, 1, 0), rotation=(1.5708, 0, 0))
bpy.ops.mesh.primitive_cylinder_add(vertices=4, radius=0.02, location=(0, 0, 1))
bpy.ops.object.select_all(action='DESELECT')
# 今回は乱数で生成するが、np.loadtxtでCSVから読んでもよい
data = np.random.default_rng(0).uniform(0, 100, (20, 4))
data[:, 3] = data[:, 3] // 10 + 1
draw(data)
実行結果
以上
Author And Source
この問題について(Blenderで4次元データの可視化), 我々は、より多くの情報をここで見つけました https://qiita.com/SaitoTsutomu/items/b65306fb9f0f29840ca1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .