If you're seeing this message, it means we're having trouble loading external resources on our website.

Jeżeli jesteś za filtrem sieci web, prosimy, upewnij się, że domeny *.kastatic.org i *.kasandbox.org są odblokowane.

Główna zawartość

Współrzędne biegunowe

Za każdym razem gdy wyświetlamy kształt w ProcessingJS, musimy określić położenie pikseli, w postaci zestawu współrzędnych x i y. Te współrzędne znane są jako Współrzędne kartezjańskie, nazwane tak od Kartezjusza, francuskiego matematyka, który opracował ideę przestrzeni kartezjańskiej.
Kolejnym przydatnym systemem współrzędnych, znany jako układ współrzędnych biegunowych opisuje punkt w przestrzeni w postaci kąta obrotu od środka układu oraz promienia będącego odległością tego punktu od środka układu. Pomyślcie o tym jak o wektorze:
  • Współrzędne kartezjańskie— współrzędne x,y wektora
  • Współrzędne biegunowe—wartość(długość) i kierunek(kąt) wektora
Niestety, funkcje rysujące w ProcessingJS nie rozumieją współrzędnych biegunowych. Gdy chcemy wyświetlić coś w ProcessingJS, musimy podać położenie za pomocą współrzędnych kartezjańskich (x,y). Pomimo tego, czasami znacznie wygodniej będzie dla nas myśleć za pomocą współrzędnych biegunowych podczas projektowania. Na szczęście dzięki trygonometrii możemy przechodzić pomiędzy współrzędnymi biegunowymi i kartezjańskimi, co pozwoli nam projektować w dowolnym z tych dwóch systemów, jednocześnie rysując za pomocą współrzędnych kartezjańskich.
Grecka litera θ (theta) jest często używana do określenia kąta, a współrzędne biegunowe są zwykle opisywane w postaci (r, θ) zamiast (x, y). W związku z tym, gdy mamy do czynienia z współrzędnymi biegunowymi, będziemy od teraz używać zwrotu "theta" jako preferowanej nazwy zmiennej dla kąta.
sine(theta) = y/r → y = r * sine(theta)
cosine(theta) = x/r → x = r * cosine(theta)
na przykład jeżeli r wynosi 75 a theta ma 45 stopni(albo PI/4 radianów), możemy obliczyć wartość x i y w sposób zaprezentowany poniżej. Funkcje obliczające sinus i cosinus w ProcessingJS to kolejno sin() i cos(). Każda z nich przyjmuje jeden argument, kąt podany w stopniach.
var r = 75;
var theta = 45;

// Przelicz współrzędne biegunowe na kartezjańskie
var x = r * cos(theta);
var y = r * sin(theta);
Ten typ konwersji może być przydatny w niektórych aplikacjach. Na przykład aby przenieść kształt wzdłuż ścieżki o kształcie wycinka okręgu używając współrzędnych kartezjańskich może nam sprawić sporo problemów. Za to w przypadku współrzędnych biegunowych sprawa jest prosta: zwiększ kąt!
Oto jak możemy stworzyć prosty obracający się kształt za pomocą konwersji współrzędnych biegunowych:

Ten kurs "Symulacje Natury" jest pochodną z "Natury Kodu " stworzonej przez Daniela Shiffmana, użytej pod licencją Creative Commons Attribution-NonCommercial 3.0 Unported License.