Aby nakreślić sobie wykres róży biegunowej, korzystam z poniższego wykresu do obliczeń współrzędnych punktów wykresu:
X := OriginX + A * Cos(K * Theta) * Cos(Theta);
Y := OriginY + A * Cos(K * Theta) * Sin(Theta);
Teraz w pętli generuję sobie punkty i je renderuję — Theta
od 0
do 2 * Pi
(pełne koło, w radianach) i wszystko gra. Problem jednak w tym, że wykres jest poprawy tylko jeśli K
jest liczbą naturalną. W przypadku ułamków, np. dla K = 1 / 3
wykres powinien wyglądać tak:
a mój jest niedorobiony — brakuje sporej części:
Żeby wyrenderował się poprawnie, muszę obliczać punkty dla Theta
w zakresie od 0
do 4 * Pi
.
Ma ktoś pojęcie jak powinien wyglądać wzór obliczający górną granicę Theta
, tak aby móc wyliczać wszystkie punkty wykresu, bez względu na to czy k
jest całkowite czy rzeczywiste?