Processing:Справочник языка Processing/spotLight(): различия между версиями
Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Myagkij (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
Строка 10: | Строка 10: | ||
==Обозначение== | ==Обозначение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
spotLight() | spotLight() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 20: | Строка 20: | ||
==Синтаксис== | ==Синтаксис== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
spotLight(v1, v2, v3, x, y, z, nx, ny, nz, angle, concentration) | spotLight(v1, v2, v3, x, y, z, nx, ny, nz, angle, concentration) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 26: | Строка 26: | ||
==Параметры== | ==Параметры== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
v1 – красный цвет или цветовой тон (зависит от текущего цветового режима). Тип данных – float | v1 – красный цвет или цветовой тон (зависит от текущего цветового режима). Тип данных – float | ||
v2 – зеленый цвет или насыщенность (зависит от текущего цветового режима). Тип данных – float | v2 – зеленый цвет или насыщенность (зависит от текущего цветового режима). Тип данных – float | ||
Строка 42: | Строка 42: | ||
==Возвращаемое значение== | ==Возвращаемое значение== | ||
<syntaxhighlight lang="c | <syntaxhighlight lang="c"> | ||
void | void | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 53: | Строка 53: | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
size(100, 100, P3D); | size(100, 100, P3D); | ||
background(0); | background(0); | ||
Строка 67: | Строка 67: | ||
<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS | <syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS"> | ||
size(100, 100, P3D); | size(100, 100, P3D); | ||
int concentration = 600; // Try 1 -> 10000 | int concentration = 600; // Try 1 -> 10000 |
Версия от 18:38, 14 мая 2023
Содержание | Среда разработки Processing | Справочник языка Processing | Библиотеки | Примеры | Режимы программирования |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Черновик |
spotLight() [1]
Обозначение
spotLight()
Описание
Добавляет прожекторное освещение. Метод spotLight() должен находиться внутри draw(), чтобы функционировать в течение всего времени работы зацикленной программы. Если поместить его в блок setup(), он будет работать только в течение первой итерации зацикленной программы. Параметры v1, v2 и v3 интерпретируются либо как значения RGB, либо как значения HSB – в зависимости от текущего цветового режима. Параметры x, y и z задают позицию источника света, а nx, ny и nz – направление света. Параметр angle задает угол конуса прожектора, а concentration – интенсивность света в центре этого конуса.
Синтаксис
spotLight(v1, v2, v3, x, y, z, nx, ny, nz, angle, concentration)
Параметры
v1 – красный цвет или цветовой тон (зависит от текущего цветового режима). Тип данных – float
v2 – зеленый цвет или насыщенность (зависит от текущего цветового режима). Тип данных – float
v3 – синий цвет или яркость (зависит от текущего цветового режима). Тип данных – float
x – координата X источника света. Тип данных – float
y – координата Y источника света. Тип данных – float
z – координата Z источника света. Тип данных – float
nx – направление света по оси X. Тип данных – float
ny – направление света по оси Y. Тип данных – float
nz – направление света по оси Z. Тип данных – float
angle – угол прожекторного конуса. Тип данных – float
concentration – значение, задающее интенсивность света в центре конуса. Тип данных – float
Возвращаемое значение
void
Пример
№1
size(100, 100, P3D);
background(0);
noStroke();
spotLight(51, 102, 126, 80, 20, 40, -1, 0, 0, PI/2, 2);
translate(20, 50, 0);
sphere(30);
№2
size(100, 100, P3D);
int concentration = 600; // Try 1 -> 10000
background(0);
noStroke();
spotLight(51, 102, 126, 50, 50, 400,
0, 0, -1, PI/16, concentration);
translate(80, 50, 0);
sphere(30);