Processing:Справочник языка Processing/map()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

Проверка/Оформление/Редактирование: Мякишев Е.А.


map() [1]

Обозначение

map()

Описание

Cопоставление числа от одного диапазона к другому.

В первом примере, число 25 преобразуется из значения в диапазоне от 0 до 100 в значение, которое варьируется от левого края окна (0) до правой кромки (width, ширина окна).

Как показано во втором примере, числа вне диапазона не заменяются на значения минимальных и максимальных параметров, так как значения вне диапазона часто являются преднамеренными и полезными.

Синтаксис

map(value, start1, stop1, start2, stop2)

Параметры

value  - float: входящее значение для преобразования.
start1 - float: нижняя граница текущего диапазона значений.	 
stop1  - float: верхняя граница текущего диапазона значений. 	 
start2 - float: нижняя граница целевого диапазона значения.	
stop2  - float: верхняя граница целевого диапазона значения.

Возвращаемое значение

float

Пример

№1

size(200, 200);
float value = 25;
float m = map(value, 0, 100, 0, width);
ellipse(m, 200, 10, 10);

№2

float value = 110;
float m = map(value, 0, 100, -20, -10);
println(m);  // печатаем "-9.0"

№3

void setup() {
  size(200, 200);
  noStroke();
}

void draw() {
  background(204);
  float  x1 = map(mouseX, 0, width, 50, 150);
  ellipse(x1, 75, 50, 50);  
  float x2 = map(mouseX, 0, width, 0, 200);
  ellipse(x2, 125, 50, 50);  
}

См.также

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