最近,我一直試圖擊敗我的一個主要弱點在編程一般,隨機生成。我認爲這將是一件容易的事情,但缺乏簡單的信息會讓我失望。我不想聽起來很愚蠢,但我覺得像大多數this這些地方的信息都是寫給那些去大學讀理論數學的數學家的。我只是不明白我想用這些信息來做什麼,以便用python這樣的語言來編程。Python隨機地圖生成與佩林噪音
我一直在努力工作幾天,盯着方程式,試圖嘗試後嘗試嘗試,但仍然在所有那些日子之後,將我的代碼一遍又一遍地分離後,所有這一直在正常工作的是這個噪聲發生器,產生基本噪聲:
import random
import math
random.seed(0)
def generateWhiteNoise(width,height):
noise = [[r for r in range(width)] for i in range(height)]
for i in range(0,height):
for j in range(0,width):
noise[i][j] = random.randint(0,1)
return noise
noise = generateWhiteNoise(50,12)
for i in noise:
print()
for o in i:
if(o == 0):
print('-',end='')
else:
print('#',end='')
這段代碼產生這樣的結果:
##-######--#--#-#--##-###-###---#-##-#-----#--##-#
#-#-##-##-#----##------##--#####-#-##---#--#-##---
-------#-#------#---#-#---###--#--#-###-----##-#--
######--#-#-#--####-###---#---###-##--#-#-##--####
-#----###--------##--##--##-#-#--#----###-####--##
---####-#--#--###-#-#--#--#####--####-#-##-##--#--
----#--####-#-#-#-#-#---#--###------###--#-######-
--###--#-###-------#-##--###---#-####----###-#####
#----##--##-#--##-###--#----#-#-##--##-#-##---###-
##---##----##--##--#--#--###-###-#--#-##---#------
-##----#-###---######---#-#---#---###---#---###-##
#--##-##-###-###---#--##-##--##-##-#-#-##--#-#-##-
我想它最終產生這樣的:
--------------------------------------------------
------------------####----------------------------
-----------------#####----------------------------
----------------#####-----------------------------
---------------#####--------------###-------------
---------------#####--------------###-------------
---------------------------------####-------------
---######------------------------####-------------
---######------------###--------------------------
----########---------###--------------------------
-----#######---------###--------------------------
------###-----------------------------------------
我該如何設法消除我產生的白噪聲,並將其變成島嶼?任何人都可以用一種非常簡單的方式來解釋它嗎?
我可能在想這一切都很錯。
我會採取user1483482的建議。如果你想知道更多關於內部工作的信息,請嘗試在這裏尋找:http://devmag.org.za/2009/04/25/perlin-noise/ 我在python中複製了他的代碼,它可以工作,但它是**非常緩慢,即使是顛簸。 – seth