Processing:Примеры/Преобразование полярных координат в декартовы
Материал из Онлайн справочника
				
				
				Перейти к навигацииПерейти к поиску
				
				
| Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования | 
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Описание[1]
Этот скетч-пример конвертирует полярную координату (r,theta) в декартову координату (x,y).
Рассчитывается это следующим образом: x = r*cos(theta), y = r*sin(theta).
Пример
float r;
// угол, угловая скорость и ускорение:
float theta;
float theta_vel;
float theta_acc;
void setup() {
  size(640, 360);
  
  // инициализируем все значения:
  r = height * 0.45;
  theta = 0;
  theta_vel = 0;
  theta_acc = 0.0001;
}
void draw() {
  
  background(0);
  
  // перемещаем начало координат в центр экрана:
  translate(width/2, height/2);
  
  // конвертируем полярную систему координат в декартову:
  float x = r * cos(theta);
  float y = r * sin(theta);
  
  // рисуем эллипс в декартовой системе координат:
  ellipseMode(CENTER);
  noStroke();
  fill(200);
  ellipse(x, y, 32, 32);
  
  // применяем к углу ускорение и угловую скорость
  // (радиус в этом примере остается без изменений):
  theta_vel += theta_acc;
  theta += theta_vel;
}
См.также
Внешние ссылки
| Примеры на Processing | |
|---|---|
| Основы | 
  | 
| Продвинутые графические эффекты | 
  | 
| Примеры из сторонних библиотек | |