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

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


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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
beginCamera()
beginCamera()
</syntaxhighlight>
</syntaxhighlight>
Строка 31: Строка 31:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
void
void
</syntaxhighlight>
</syntaxhighlight>
Строка 37: Строка 37:
==Возвращаемое значение==
==Возвращаемое значение==


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




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

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


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


Черновик


beginCamera() [1]

Обозначение

beginCamera()

Описание

Методы beginCamera() и endCamera() позволяют осуществлять продвинутую настройку пространства камеры. Они полезны, к примеру, если вам нужно больше контроля за движением камеры, хотя для большинства пользователей будет достаточно и функционала camera().

Эти методы автоматически игнорируют все обычные трансформации – вроде rotate() или translate() – стоящие над ними в блоке draw(), но не трансформации самой камеры. По этой причине, во-первых, методы камеры должны стоять в самом начале draw(), чтобы все трансформации происходили после них, а во-вторых, метод camera() можно поставить сразу после beginCamera(), чтобы вы могли сбросить настройки камеры до применения трансформаций.

Кроме того, этот метод переключает режим матрицы на матрицу камеры, в результате чего методы translate(), rotate(), applyMatrix() и resetMatrix() будут влиять на камеру. За методом beginCamera() всегда должен следовать метод endCamera(), и пары этих методов нельзя помещать внутрь друг друга.


Синтаксис

beginCamera()

Параметры

void

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

void

Пример


size(100, 100, P3D);
noFill();

beginCamera();
camera();
rotateX(-PI/6);
endCamera();

translate(50, 50, 0);
rotateY(PI/3);
box(45);

См.также

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