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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 4: Строка 4:
{{Myagkij-редактор}}
{{Myagkij-редактор}}


{{Черновик}}
 


= beginCamera() <ref>[https://processing.org/reference/beginCamera_.html processing.org - beginCamera()]</ref>=
= beginCamera() <ref>[https://processing.org/reference/beginCamera_.html processing.org - beginCamera()]</ref>=
Строка 81: Строка 81:
|Высота логотипа издателя для schemaNewsArticle=45
|Высота логотипа издателя для schemaNewsArticle=45
}}
}}
{{Навигационная таблица/Справочник языка Processing}}
{{Навигационная таблица/Портал/Processing}}

Версия от 12:07, 20 мая 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);

См.также

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