Внешняя библиотека «noise» выдает только идентичные значения для элементов списка - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь научить себя, как использовать внешнюю библиотеку "шума" Python, которую можно найти на GitHub здесь . Я пытаюсь проработать учебник на сайте Red Blob Games здесь . Тем не менее, я не уверен, как на самом деле заставить это сделать что-нибудь. Я прочитал текст справки, который появляется, когда я набираю help(noise) в консоли, но, похоже, не так много информации доступно.

Прямо сейчас, он просто печатает 50 строк и столбцов с 0,0 плавающими элементами. Если я изменю аргументы, которые я ввел в noise.pnoise2(nx, ny), я могу получить разные значения, но все значения остаются идентичными. Я проверил адреса каждой строки в создаваемом 2D-списке, и они не указывают на одно и то же место.

Я только начинаю узнавать о Perlin Noise, и мне не нужно, чтобы он действительно делал что-то полезное. Я просто хочу увидеть числа, которые он генерирует.

Как я могу получить свой код для получения различных значений с плавающей запятой?

import noise

height = 50
width = 50

mapList = []

for y in range(height):

    row = []

    for x in range(width):

        nx = x/width - 0.5
        ny = y/height - 0.5

        row.append(noise.pnoise2(nx, ny))

    mapList.append(row)

for row in mapList:
    print(row)

1 Ответ

1 голос
/ 15 марта 2019

Поскольку вы находитесь на Python 2, регулярное деление / дает ответ. Вам нужно будет использовать from __future__ import division, чтобы получить истинный десятичный результат при использовании /.

...