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

Ако си зад уеб филтър, моля, увери се, че домейните *. kastatic.org и *. kasandbox.org са разрешени.

Основно съдържание

Полярни координати

Винаги, когато показваме фигура в ProcessingJS, трябва да зададем местоположение с пиксели, набор от x и y координати. Тези координати са познати като Декартови координати, на името на Рене Декарт, френски математик, който развива идеята за декартовото пространство.
Друга полезна координатна система, позната като полярни координати, описва точка в пространството като ъгъл на ротация около началото на координатната система и радиус от това начало. Ако помислим за това като за вектор:
  • Декартови координати –x,y компонентите на един вектор
  • Полярни координати – величината (дължината) и посоката (ъгъла) на вектора
Функциите за рисуване в ProcessingJS, обаче, не разбират от полярни координати. Когато искаме да покажем нещо в ProcessingJS, трябва да зададем местоположението му като Декартови координати (x,y). Понякога, обаче, е много по-удобно да мислим в полярни координати, когато създаваме нещо. За наша радост с тригонометрията можем да превръщаме полярните координати в декартови и обратно, което ни позволява да създаваме форми, като използваме която координатна система искаме, но трябва да помним, че винаги рисуваме с декартови координати.
Гръцката буква θ (тита) често се използва за обозначаване на ъгъл, а полярните координати по конвенция се означават като (r, θ) вместо (x, y). Така, когато работим с полярни координати, ще използваме "тита" като предпочитано име на променливата за ъгъла.
синус(тета) = y/r → y = r * синус(тета)
косинус(тета) = x/r → x = r * косинус(тета)
Например, ако r е 75, а тита е 45 градуса (или PI/4 радиана), можем да изчислим x и y, както е показано по-долу. Функциите за синус и косинус в ProcessingJS са съответно sin() и cos(). Всяка от тях приема един аргумент, ъгъл, измерен в градуси.
var r = 75;
var theta = 45;

// Превръщаме полярните координати в декартови
var x = r * cos(theta);
var y = r * sin(theta);
Този тип превръщане може да бъде полезно в определени приложения. Например преместването на фигура по кръгова пътека с помощта на декартови координати не е никак лесно. С полярни координати, от друга страна, е просто: увеличаваме ъгъла!
Ето как можем да направим проста въртяща се форма, като използваме преобразуване на полярни координати:

Курсът "Компютърни симулации на физични явления" е производeн на "Природата на кода" от Даниел Шифман, използвана от Creative Commons Attribution-NonCommercial 3,0 Unported License.

Искаш ли да се присъединиш към разговора?

Все още няма публикации.
Разбираш ли английски? Натисни тук, за да видиш още дискусии в английския сайт на Кан Академия.