2012-10-02 30 views
0

很抱歉,如果這是一個愚蠢的問題,但我從這個網站Python入門:Lindenmayer系統的Python

http://interactivepython.org/courselib/static/thinkcspy/Strings/strings.html#exercises

問題10-14:

,我工作的Lindenmayer系統的問題,我不知道L,R,X,Y代表什麼。 這本書已經說過, F =向前,B =向後, - =向左轉,+ =向右轉所以L,R,X,Y剩下什麼?

它們是由用戶任意定義的嗎?

謝謝。

+0

它們是語法中的變量,可能在F,B, - 和+或任何其他變量中表達它們自己的特定定義。 – Bart

+0

然後專門針對希爾伯特曲線,L和R代表在給烏龜說明方面做了什麼? –

回答

1

L-系統是根據語法定義的。語法有一套終端(有時稱爲文字),和一套非終端

碼頭不能展開,但它們是由烏龜執行的。相反,非終端可以被擴展(語法賦予管理擴展的規則),但是它們不能被直接執行,因爲它們不是烏龜指令。

在L系統中,終端是字符F,B,+和 - ,並且它們清楚映射到由龜執行的特定操作。所有其他字符都是非終端:它們可能會根據提供的規則擴展爲終端和非終端序列,以增加圖形的複雜度。

所以,L,R,X,Y是非終端的任意名稱。我們也可以稱它們爲K,L,M,N,L系統不會改變。有時候,這些名字是作爲符號角色的暗示給出的(例如,L意味着「左撇子組件」),但有時它們只是任意的(如X和Y)。

+0

好的問題解決了,L,R只是隨心所欲,我只是隨機設置了一些東西,例如L和turtle.color(「藍色」),並給出Hilbert曲線。 –