Konsol: fraktal (paralel şeritli 24-bit Mandelbrot/Julia + yakınlaşma), sudoku (geri izlemeli, canlı animasyon), fatura (JSON → terminal tablosu, PDF ve Excel). Masaüstü: hesap makinesi (işlem önceliği, canlı bağlama), odak (Pomodoro), parola atölyesi (entropi ölçer, SHA-256). Web: pano (Kanban REST API + SQLite), kisalt (302 yönlendirme, SVG istatistik), anket (adres başına tek oy, sunucuda çizilen grafik). Hepsi `kabalang calistir` ile derlenip çalışır; web uygulamaları yalnız 127.0.0.1'i dinler, SQL parametre bağlamalı, HTML çıktısı kaçırılır.
40 lines
2.0 KiB
Markdown
40 lines
2.0 KiB
Markdown
# Fraktal — terminalde 24 bit renkli Mandelbrot ve Julia
|
|
|
|

|
|
|
|
Terminali bir tuvale çevirir. Her karakter hücresi **iki piksel** taşır:
|
|
üst yarım blok `▀` ön plan rengiyle üst pikseli, arka plan rengiyle alt
|
|
pikseli çizer. 100 sütunluk bir terminal böylece 100 × 72 piksellik bir
|
|
görüntü olur.
|
|
|
|
```bash
|
|
kabalang calistir fraktal.kbl # Mandelbrot kümesi
|
|
kabalang calistir fraktal.kbl -- --tur julia # Julia kümesi (c = -0.8 + 0.156i)
|
|
kabalang calistir fraktal.kbl -- --yakinlas # denizatı vadisine 120 karelik dalış
|
|
kabalang calistir fraktal.kbl -- -s 160 -r 44 # geniş terminal: 160 sütun × 44 satır
|
|
```
|
|
|
|
## KabaLang'ın gösterdikleri
|
|
|
|
| Özellik | Nerede |
|
|
|---|---|
|
|
| `birlikte:` + `baslat` | Görüntü dört şeride bölünür, şeritler **aynı anda** hesaplanır ve sırası korunarak birleştirilir (`kare_ciz`) |
|
|
| `sayilabilir` | `Kume.MANDELBROT` / `Kume.JULIA` — kapalı değer kümesi |
|
|
| `yapi` | `Kamera` (merkez, görüş genişliği, yineleme sınırı) ve palet `Durak`ları |
|
|
| f-string biçimi | `{kam.merkez_x:.5f}{kam.merkez_y:+.5f}i` — işaretli ve hassasiyetli sayı |
|
|
| `KomutSatiri` | `--tur`, `--yakinlas`, `--sutun`/`--satir` ve kendiliğinden üretilen `--yardim` |
|
|
| Tipli imzalar | `fonksiyon kacis(zx: ondalik, ...) -> ondalik` |
|
|
|
|
## Nasıl çalışır
|
|
|
|
* **Kaçış süresi:** `z ← z² + c` yinelenir; `|z|` 2'yi aşarsa nokta kümeden
|
|
kaçmıştır. Ne kadar çabuk kaçtığı rengini belirler, hiç kaçmayan nokta
|
|
kümenin içidir (lacivert).
|
|
* **Palet:** altı renk durağından (derin uzay → gece mavisi → mavi →
|
|
camgöbeği → lavanta → beyaz) bir kez 256 tonluk bir liste üretilir.
|
|
* **Derin yakınlaşma:** renk, yineleme sayısının üçgen dalgasıdır; böylece
|
|
20 yinelemede de 700 yinelemede de paletin tamamı kullanılır.
|
|
|
|
Bir kare (7.200 piksel, 120 yineleme sınırı) birkaç milisaniyede hesaplanır;
|
|
süre başlık satırında yazar.
|