Processing:Примеры/Применение функции map(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


=Описание<ref>[https://processing.org/examples/map.html processing.org - Map]</ref>=
=Описание<ref>[https://processing.org/examples/map.html processing.org - Map]</ref>=
Строка 45: Строка 45:
}}
}}


<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">
void setup() {
void setup() {
   size(640, 360);
   size(640, 360);
Строка 86: Строка 86:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}
{{Навигационная таблица/Processing/Примеры}}
{{Навигационная таблица/Телепорт}}

Версия от 12:00, 20 мая 2023


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



Описание[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);   
}

См.также

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