Minkowski Sausage
Opis problemu
Specyfikacja
Dane
- stopień - stopień fraktala
- długość - początkowa długość linii
Rozwiązanie
Pseudokod
procedura MinkowskiSausage(stopień, długość):
1. Jeżeli stopień = 0, to:
2. Przód(długość)
3. Zakończ
4. Prawo(30)
5. MinkowskiSausage(stopień - 1, długość / 2)
6. Lewo(90)
7. MinkowskiSausage(stopień - 1, długość / 2)
8. Prawo(90)
9. MinkowskiSausage(stopień - 1, długość / 2)
10. Lewo(30)
Schemat blokowy
%%{init: {"flowchart": {"curve": "linear"}, "theme": "neutral"} }%%
flowchart TD
START(["MinkowskiSausage(stopień, długość"]) --> K1{stopień = 0}
K1 -- PRAWDA --> K2["Przód(długość)"]
K2 --> STOP([STOP])
K1 -- FAŁSZ --> K4["Prawo(30)\nMinkowskiSausage(stopień - 1, długość / 2)\nLewo(90)\nMinkowskiSausage(stopień - 1, długość / 2)\nPrawo(90)\nMinkowskiSausage(stopień - 1, długość / 2)\nLewo(30)"]
K4 --> STOP
Implementacja