У меня проблема с генерацией шума Perlin для моего проекта. Поскольку я хотел понять, как правильно использовать библиотеку, я попытался пошагово следовать этой странице: https://medium.com/@yvanscher / воспроизведение с перлин-шум-генерацией-реалисти c -archipelagos-b59f004d8401 В первой части есть код:
import noise
import numpy as np
from scipy.misc import toimage
shape = (1024,1024)
scale = 100.0
octaves = 6
persistence = 0.5
lacunarity = 2.0
world = np.zeros(shape)
for i in range(shape[0]):
for j in range(shape[1]):
world[i][j] = noise.pnoise2(i/scale,
j/scale,
octaves=octaves,
persistence=persistence,
lacunarity=lacunarity,
repeatx=1024,
repeaty=1024,
base=0)
toimage(world).show()
Я копирую и вставляю его с небольшим изменением в конце (изображение устарело), поэтому у меня есть:
import noise
import numpy as np
from PIL import Image
shape = (1024,1024)
scale = 100
octaves = 6
persistence = 0.5
lacunarity = 2.0
seed = np.random.randint(0,100)
world = np.zeros(shape)
for i in range(shape[0]):
for j in range(shape[1]):
world[i][j] = noise.pnoise2(i/scale,
j/scale,
octaves=octaves,
persistence=persistence,
lacunarity=lacunarity,
repeatx=1024,
repeaty=1024,
base=seed)
Image.fromarray(world, mode='L').show()
Я попробовал много разных режимов, но этот шум даже близко не связан с когерентным шумом. Мой результат - что-то вроде this (mode = 'L'). Может кто-нибудь объяснить мне, что я делаю не так?