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

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


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


<syntaxhighlight lang="c" enclose="div">
<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" enclose="div">
<syntaxhighlight lang="c">
v1            – красный цвет или цветовой тон (зависит от текущего цветового режима). Тип данных – float
v1            – красный цвет или цветовой тон (зависит от текущего цветового режима). Тип данных – float
v2            – зеленый цвет или насыщенность (зависит от текущего цветового режима). Тип данных – float
v2            – зеленый цвет или насыщенность (зависит от текущего цветового режима). Тип данных – float
Строка 42: Строка 42:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
void
void
</syntaxhighlight>
</syntaxhighlight>
Строка 53: Строка 53:




<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(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" enclose="div">
<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


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


Черновик


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

См.также

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