我正在尝试生成10帧Perlin噪声, https://github.com/caseman/noise,但我无法使其正常工作。
通过使用pip安装噪音进行安装。
当我运行下面的代码时,只有y轴获得“唯一”值,并且每帧在x轴上重复这些值。因此,它不会产生3d Perlin噪声图,而是创建了一个1d perlin噪声图,该图在x和z(frame)轴上重复出现。我的代码坏了还是模块坏了?
from noise import pnoise3
res = (10, 10)
frames = 10
scale = 10
starFrames = [[[0]*res[1]]*res[0]]*frames
for frame in range(frames):
for x in range(res[0]):
for y in range(res[1]):
noise = pnoise3(x / scale, y / scale, frame / scale)
starFrames[frame][x][y] = noise
#print("Frame = {}, X = {}, Y = {}, Value = {}".format(frame, x, y, noise))
print("First pixel in each frame")
for frame in range(frames):
print(starFrames[frame][0][0])
print("First pixel in x axis")
for x in range(res[0]):
print(starFrames[0][x][0])
print("First pixel in y axis")
for y in range(res[1]):
print(starFrames[0][0][y])
编辑:我通过从一个空列表开始并使用list.append()而不是通过列表索引进行分配来使其工作。