l-systems

    0熱度

    1回答

    我正在嘗試使用名爲OpenMusic的組合工具,該工具是基於普通lisp的圖形開發環境,它使用了一種名爲「節奏樹」的東西。我想用一組規則和OM此樹必須具有以下結構創建節奏樹: 樹是有兩個元素列表 它的第一個元素是一個節點 其第二個因素是它的子節點的列表(其也可以是樹) 給出一個在樹深度n,初始單節點樹(1)和轉換規則: (1) - >(1 2) (2) - >(1) 它應該給: N = 1 - >

    1熱度

    1回答

    所以我理解一個L系統的規則,並且我設法創建了一個Sierpinski三角形。我現在正在製作不同風格的樹木。 這樣做的基本規則是: F: Draw forward +: Rotate right by angle -: Rotate left by angle [: Push stack ]: Pop stack 我使用瑪雅做到這一點,我是不知道該如何去推動和出棧。我知道如何使用列表創建

    1熱度

    2回答

    我在C++中編程了一個3D場景,在這個場景中樹可以在任何點和任何方向上「長大」。我發現L系統的樹木/行星看起來非常漂亮,但我不能谷歌一些函數或庫,可以讓我通過點座標,方向向量和其他參數,並返回一個「增長」樹點集合的數組。 我甚至沒有足夠的信息穀歌啓動。因此,我可以參考任何想法或鏈接,或重新使用並進行一些調整以完成此任務。我發現了一些L-sys語法分析器,但它看起來只是在不控制生長方向的情況下繪製到

    2熱度

    2回答

    不知道這裏發生了什麼。我有一個Vector3D的標準棧(我的導師給我的一個三維矢量類)。我已經將兩個Vector3D推到了堆棧上,但是當我用vectorStack.top()去到最頂層的時候,我被視爲非常無用的錯誤: 調試斷言失敗! 表達:deque的迭代器不dereferenceble 我想也許有一些毛病的Vector3D拷貝構造函數,但我已經盡力使自己快速的Vector3D結構(刪除舊的我得到

    1熱度

    1回答

    我們剛剛開始在uni編程。我們的任務之一是創建一個帶有龜的L系統的分形樹。這一個: 1. variables : X F 2. constants : + − [ ] 3. start : X 4. rules : (X → F-[[X]+X]+F[+FX]-X), (F → FF) 5. angle : 25° 代碼: def fraktal_plante(padde, depth)

    0熱度

    1回答

    L系統的Wikipedia page描述了其中的許多方法,其中包括一些趨於Sierpinski三角形的規則。那個特殊的分形也是has a 3D version,它基本上使用金字塔而不是三角形。有沒有辦法用L系統來達到這個目標?同樣的維基百科頁面提到了3D L系統的存在,但並沒有解釋它們是如何工作的,或者說明了它們的規則是什麼樣的。因此,首先,3D L系統如何與二維繫統(如果存在重大差異)有所不同,

    1熱度

    1回答

    我有一個簡單的3D L系統由圓柱體制成,而我目前只是通過最終字符串中的每個符號並執行適當的操作,如繪製,轉動,旋轉,推動和流行。我知道push和pop幾乎類似於一個新的分支,但是我試圖在調用push的時候改變半徑,但是這會導致奇怪的結果。 有沒有人有正確的方式使新的分支變得比以前的分支更薄? 謝謝。 else if((*it) == Push) { Radius -= 0.1

    3熱度

    2回答

    我創建了一個程序,使用python的龜圖形來模擬樹林中的樹木生長。有3種隨機選擇的樹形圖,並且它們的起始座標和角度也是隨機選擇的。我選擇了一些看起來很酷的樹木圖案,但是我遇到的問題是許多樹木都是重疊的,所以它看起來不像樹林,它看起來像是一幅5歲的畫。 有沒有辦法讓這個重疊少常見?當你在森林中,一些樹木的葉子做重疊,但它絕對不會是這樣的: 由於有參與了很多隨機的,我不知道該如何處理有了這個。 這裏是

    3熱度

    1回答

    這是我在stackover流程中的第一篇文章。 最近我開始閱讀名爲「植物算法之美」的書,在第1章中他解釋了L系統。 (您可以閱讀章節here)。 據我所知,有兩種類型的L系統。邊緣重寫和節點重寫。 邊緣重寫相對非常簡單。有一個初始的起始者多邊形和一個發生器。初始多邊形的每個邊(邊)都將被生成器替換。 但是這個節點重寫是非常混亂的。從我所蒐集到的情況來看,有兩個或更多的規則,每次迭代都會用規則中的變

    0熱度

    1回答

    爲什麼我的龍的曲線不像龍的曲線? 這裏是用Python爲了10的落實: def setupForDragonCurve(): turtle.hideturtle() turtle.tracer(1e3, 0) turtle.penup() turtle.goto(0, -turtle.window_height()/5) turtle.pendow