Processing:Примеры/Применение функции map()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску


Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Cat poo.png Черновик


Описание[1]

Функция map() используется для масштабирования одного числового диапазона к другому числовому диапазону – тому, что более полезен для проекта, над которым вы работаете. К примеру, при помощи map() можно использовать данные о позиции мыши для управления цветом или размером (или обоими характеристиками сразу) какой-либо фигуры.

В скетче-примере ниже координата Х мыши (значение от 0 до 640) масштабируется к новому числовому диапазону, который задает цвет и размер эллипса посередине экрана.

Пример

void setup() {
  size(640, 360);
  noStroke();
}

void draw() {
  background(0);
  // масштабируем значение mouseX 0-640
  // к новому числовому диапазону 0-175:
  float c = map(mouseX, 0, width, 0, 175);
  // масштабируем значение mouseX 0-640
  // к новому числовому диапазону 40-300:
  float d = map(mouseX, 0, width, 40, 300);
  fill(255, c, 0);
  ellipse(width/2, height/2, d, d);   
}

См.также

Внешние ссылки