Ready/Run
Takie sobie archiwum listingów ze starych magazynów komputerowych
- Język programu: Basic
- Platforma: ZX Spectrum
- Kod zamieszczono w Bajtek 01/1987
- Autor listingu: M.W.
- Listing nadesłał: Faust
Stan listingu:
Program ten kreśli miły dla oka wzór, złożony z odbitych symetrycznie krzywych, zwanych kardioidami.
Krzywe te opisane są równaniem parametrycznym:
x = y*(1 -cos(k))*cos(k)
y = r*(1 -cos(k))*sin(k)
gdzie 0 <= k <= 2n
Geometrycznie krzywa ta może być interpretowana jako droga punktu okręgu, toczącego się (zewnętrznie) po okręgu o tym samym promieniu.
Rysunek kreśli się długo, co spowodowane jest powolnym obliczaniem wartości funkcji trygonometrycznych przez Spectrum — aż czterech w każdym kroku algorytmu.
Zmienna "Rozdzielczość" określa dokładność tworzonego rysunku. "Promień" jest proporcjonalny do jego wielkości, zaś "Gęstość" wyznacza ilość krzywych, składających się na jedną połowę wzoru.
Wykreślenie jednego rysunku nie jest jednak kresem możliwości naszego programu (inaczej niewielki byłby z niego pożytek). Zmieniając równania parametryczne krzywych — np. znaki + na -, funkcje SIN i COS oraz parametry K i R — możemy uzyskać cały szereg nowych, interesujących deseni.