Obraz wygenerowany z użyciem programu

fraktale-obrazy

Prosty program napisany w C++ z użyciem biblioteki SDL2, który umożliwia generowanie i zapisywanie obrazów fraktali.

Uwaga!
Początkowo miał być to mały projekt, lecz nieco się rozrósł. Program może być niewydajny i zbugowany.

Jest to plik README z repozytorium GitHub przetłumaczony na język polski.

Instalacja programu

Zklonuj repozytorium GitHub:

git clone https://github.com/bwegrzyn0/fraktale-obrazy

i uruchom program za pomocą komendy ./run.out.

Użytkowanie

W oknie zobaczysz następujący interfejs:

Radzę samodzielnie wypróbować poszczególne opcje aby zobaczyć ich efekt na obrazie. Tutaj po krótce omówię każdą z nich:

  • Brightness multiplier: mnoży jasność wszystkich pikseli przez zadaną wartość.
  • Resolution: liczba pikseli na jednostkę długosci. Na przykład, jeśli szerokość obszaru (omawiana dalej) wynosi 10, a rozdzielczość wynosi 100, obraz będzie miał szerokość 100 * 10 = 1000 pikseli. Bardzo duże wartości negatywnie wpływają na wydajność programu. Z tego powodu przy oddalaniu widoku rozdzielczość jest dynamicznie zminiejszana (nie ma to wpływu na zapisywany obraz).
  • Number of iterations: liczba iteracji algorytmu IFSP.
  • Number of points: liczba punktów w algorytmie IFSP.
  • Area X and Area Y: współrzędne X i Y obszaru generacji fraktala.
  • Area width and Area height: szerokość i wysokość obszaru generacji fraktala.
  • Show area border: pozwala przełączać widoczność czerwonej granicy wokół obszaru generacji fraktala.
  • Transformation parameters: maksymalnie można mieć 4 transformacje. Każdą z nich charakteryzuje 7 liczb. Współrzędne są transformowane według następujących zależności:

    transformowane_x = a_x * x + b_x * y + c_x
    transformowane_y = a_y * x + b_y * y + c_y
    

    Każda transformacja ma swoje prawdopodobieństwo, które nie wpływa na kształt fraktala. Zmienia ono jedynie gęstość rozłożenia punktów na nim.

    Wskazówka
    Jeśli potrzebne są jedynie np. 2 transformacje, należy ustawić prawdopodobieństwa pozostałych dwóch na zero.

  • Image file name: nazwa pliku z obrazem fraktala (bez rozszerzenia).

Obrazy są zapisywane w formacie .bmp w katalogu, w którym znajduje się program.

Można poruszać się i przybliżać obraz fraktala w programie za pomocą strzałek i scrolla.

Jak działa ten program?

Wybrana liczba puntków jest jednorodnie rozłożona w kwadracie, po czym są one poddawane algorytmowi IFSP. Każdy piksel posiada gęstość równą liczbie punktów, która w nim wylądowała. Jego jasność jest ustalana na podstawie gęstości - piksele z 0 punktami są czarne, a piksele z największą ich liczbą białe.

Przykładowe obrazy

Licencja

Program nie posiada licencji i może być używany w dowolny sposób.