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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
 
Нет описания правки
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
{{Processing панель перехода}}
{{Processing панель перехода}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
{{Черновик}}


= lerp() <ref>[https://processing.org/reference/PVector_lerp_.html processing.org - lerp()]</ref>=
= lerp() <ref>[https://processing.org/reference/PVector_lerp_.html processing.org - lerp()]</ref>=
Строка 8: Строка 6:
==Обозначение==
==Обозначение==


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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
.lerp(v, amt)
.lerp(v, amt)
.lerp(v1, v2, amt)
.lerp(v1, v2, amt)
Строка 28: Строка 26:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
v  - тип PVector: вектор для интерполяции
v  - тип PVector: вектор для интерполяции
amt - тип float: значение интерполяции; некоторое значение между 0.0 (старый вектор) и 1.0 (новый вектор). 0,1 очень близко к старому вектору; 0,5 находится между ними.
amt - тип float: значение интерполяции; некоторое значение между 0.0 (старый вектор) и 1.0 (новый вектор). 0,1 очень близко к старому вектору; 0,5 находится между ними.
Строка 40: Строка 38:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
PVector
PVector
</syntaxhighlight>
</syntaxhighlight>
Строка 48: Строка 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">
// Нестатическая версия (интерполяция на конкретном векторе)
// Нестатическая версия (интерполяция на конкретном векторе)


Строка 64: Строка 62:
===№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">
// Статическая версия (возвращает новый вектор)
// Статическая версия (возвращает новый вектор)


Строка 81: Строка 79:
===№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">
// Нестатическая версия (интерполяция на конкретном векторе)
// Нестатическая версия (интерполяция на конкретном векторе)


Строка 101: Строка 99:


<references />
<references />
{{SEO
 
|Заголовок статьи=Processing: lerp() / Онлайн справочник - wikihandbk.com
{{Навигационная таблица/Портал/Processing}}
|Ключевые слова=processing, lerp(),lerp() processing, processing lerp()
|Описание статьи= Вычисляет линейную интерполяцию от одного вектора к другому вектору. (Точно так же, как обычная функция lerp(), но для векторов.)
Обратите внимание, что существует одна статическая версия этого метода и две нестатические версии. Статическая версия, lerp(v1, v2, amt) получает два вектора для интерполяции и возвращает новый объект PVector. Статическая версия использует прямую ссылку на класс PVector. (см. приведенный средний пример.) Нестатические версии, lerp(v, amt) и lerp(x, y, z, amt) не создают новый объект PVector, а преобразуют значения данного объекта PVector, который их вызвал. Эти нестатические версии выполняют одну и ту же операцию, но первая берет другой вектор в качестве входных данных, а последний принимает три значения с плавающей запятой.(см. верхний и нижний примеры, соответственно.)
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Processing:Справочник языка Processing/PVector/lerp()</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2017-09-08
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}
{{Навигационная таблица/Справочник языка Processing}}

Текущая версия от 17:50, 19 сентября 2023

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


lerp() [1]

Обозначение

lerp()

Описание

Вычисляет линейную интерполяцию от одного вектора к другому вектору. (Точно так же, как обычная функция lerp(), но для векторов.)

Обратите внимание, что существует одна статическая версия этого метода и две нестатические версии. Статическая версия, lerp(v1, v2, amt) получает два вектора для интерполяции и возвращает новый объект PVector. Статическая версия использует прямую ссылку на класс PVector. (см. приведенный средний пример.) Нестатические версии, lerp(v, amt) и lerp(x, y, z, amt) не создают новый объект PVector, а преобразуют значения данного объекта PVector, который их вызвал. Эти нестатические версии выполняют одну и ту же операцию, но первая берет другой вектор в качестве входных данных, а последний принимает три значения с плавающей запятой.(см. верхний и нижний примеры, соответственно.)

Синтаксис

.lerp(v, amt)
.lerp(v1, v2, amt)
.lerp(x, y, z, amt)

Параметры

v   - тип PVector: вектор для интерполяции
amt - тип float: значение интерполяции; некоторое значение между 0.0 (старый вектор) и 1.0 (новый вектор). 0,1 очень близко к старому вектору; 0,5 находится между ними.
v1  - тип PVector: вектор, с которого начинается интерполяция
v2  - тип PVector: вектор для интерполяции
x   - тип float: x-компонент для интерполяции
y   - тип float: y-компонент для интерполяции
z   - тип float: z-компонент для интерполяции

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

PVector

Пример

№1

// Нестатическая версия (интерполяция на конкретном векторе)

PVector current;
PVector target;

void setup() {
  current = new PVector(0.0, 0.0);
  target = new PVector(100.0, 100.0);
  current.lerp(target, 0.5);
  println(current);                  // Печатаем в консоли "[ 50.0, 50.0, 0.0 ]"
}

№2

// Статическая версия (возвращает новый вектор)

PVector start;
PVector end;
PVector middle;

void setup() {
  start = new PVector(0.0, 0.0);
  end = new PVector(100.0, 100.0);
  middle = PVector.lerp(start, end, 0.5);
  println(middle);                       // Печатаем в консоли "[ 50.0, 50.0, 0.0 ]"
}

№3

// Нестатическая версия (интерполяция на конкретном векторе)

PVector v;

void setup() {
  v = new PVector(0.0, 0.0);
}

void draw() {
  v.lerp(mouseX, mouseY, 0.0, 0.1);
  ellipse(v.x, v.y, 20, 20);
}

См.также

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