Skip to content

Krzywa Peano

Krzywa Peano, znana również jako krzywa Peano-Gospera, jest przykładem fraktala, który wypełnia przestrzeń. Została odkryta przez włoskiego matematyka Giuseppe Peano w 1890 roku. Krzywa ta jest konstrukcją, która w sposób ciągły przechodzi przez każdy punkt w jednostkowym kwadracie, tworząc samopodobną strukturę. Jest to jeden z pierwszych przykładów krzywej, która wypełnia przestrzeń, co oznacza, że jej wymiar fraktalny wynosi 2.

Specification

Input

  • stopień - stopień fraktala
  • kąt - kąt obrotu
  • długość - długość linii

Example 1

Krzywa Peano o stopniu \(4\) i kącie \(90\degree\).

Krzywa Peano

Example 2

Krzywa Peano o stopniu \(4\) i kącie \(60\degree\).

Krzywa Peano

Solution

Pseudocode

procedura KrzywaPeano(stopień, kąt, długość):
    1. Jeżeli stopień = 0, to:
        2. Zakończ
    3. Prawo(kąt)
    4. KrzywaPeano(stopień - 1, -kąt, długość)
    5. Przód(długość)
    6. KrzywaPeano(stopień - 1, kąt, długość)
    7. Przód(długość)
    8. KrzywaPeano(stopień - 1, -kąt, długość)
    9. Lewo(kąt)

Block diagram

%%{init: {"flowchart": {"curve": "linear"}, "theme": "neutral"} }%%
flowchart TD
    START(["KrzywaPeano(stopień, kąt, długość"]) --> K1{stopień = 0}
    K1 -- TRUE --> K2["Przód(długość)"]
    K2 --> STOP([STOP])
    K1 -- FALSE --> K4["Prawo(kąt)
    KrzywaPeano(stopień - 1, -kąt, długość)
    Przód(długość)
    KrzywaPeano(stopień - 1, kąt, długość)
    Przód(długość)
    KrzywaPeano(stopień - 1, -kąt, długość)
    Lewo(kąt)"]
    K4 --> STOP

Implementation

C++

Python

Blockly