Processing:Справочник языка Processing/map(): различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
Строка 8: Строка 8:
==Обозначение==
==Обозначение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
map()
map()
</syntaxhighlight>
</syntaxhighlight>
Строка 22: Строка 22:
==Синтаксис==
==Синтаксис==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
map(value, start1, stop1, start2, stop2)
map(value, start1, stop1, start2, stop2)
</syntaxhighlight>
</syntaxhighlight>
Строка 28: Строка 28:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
value  - float: входящее значение для преобразования.
value  - float: входящее значение для преобразования.
start1 - float: нижняя граница текущего диапазона значений.  
start1 - float: нижняя граница текущего диапазона значений.  
Строка 38: Строка 38:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
float
float
</syntaxhighlight>
</syntaxhighlight>
Строка 46: Строка 46:
===№1===
===№1===


<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">
size(200, 200);
size(200, 200);
float value = 25;
float value = 25;
Строка 55: Строка 55:
===№2===
===№2===


<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">
float value = 110;
float value = 110;
float m = map(value, 0, 100, -20, -10);
float m = map(value, 0, 100, -20, -10);
Строка 63: Строка 63:
===№3===
===№3===


<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(200, 200);
   size(200, 200);

Версия от 18:37, 14 мая 2023

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


Черновик


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);  
}

См.также

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