好的,我是编程新手,这可能是每个人都知道的......
我正在创建一个游戏,我打算添加的功能之一是我计划用代码生成的 3D 房间地图。我面临的问题是我需要附加一个布尔数组或它所调用的任何东西,而不知道它将包含多少个元素。这是测试代码和突出显示的问题。
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import random as rd
x,y,z = np.indices((8,8,8))
Lines = []
#Random straight lines
for i in range(4):
rd.choice([
Lines.append((x == rd.randint(0,8)) & (y == rd.randint(0,8))),
Lines.append((y == rd.randint(0,8)) & (z == rd.randint(0,8))),
Lines.append((x == rd.randint(0,8)) & (z == rd.randint(0,8))),
])
cols.append('r')
Voxels = Lines[0] | Lines[1] | Lines[2] | Lines[3] #I need to generate this
#not Hard code it
colors = np.empty(Voxels.shape, dtype=object)
for i in range(len(Lines)):
colors[Lines[i]]= 'r'
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.voxels(Voxels, facecolors = colors, edgecolor='c')
plt.show()
任何帮助,将不胜感激。