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

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


= perspective() <ref>[https://processing.org/reference/perspective_.html processing.org - perspective()]</ref>=
= perspective() <ref>[https://processing.org/reference/perspective_.html processing.org - perspective()]</ref>=
Строка 10: Строка 7:
==Обозначение==
==Обозначение==


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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
perspective()
perspective()
perspective(fovy, aspect, zNear, zFar)
perspective(fovy, aspect, zNear, zFar)
Строка 31: Строка 28:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
fovy  – угол поля зрения (в радианах), для вертикальных плоскостей. Тип данных – float
fovy  – угол поля зрения (в радианах), для вертикальных плоскостей. Тип данных – float
aspect – соотношение ширины и высоты. Тип данных – float
aspect – соотношение ширины и высоты. Тип данных – float
Строка 40: Строка 37:
==Возвращаемое значение==
==Возвращаемое значение==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
void
void
</syntaxhighlight>
</syntaxhighlight>
Строка 49: Строка 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);
Строка 68: Строка 65:


<references />
<references />
{{SEO
 
|Заголовок статьи=Processing: perspective() / Онлайн справочник - wikihandbk.com
{{Навигационная таблица/Портал/Processing}}
|Ключевые слова=processing,perspective() ,perspective() processing,perspective() в processing
|Описание статьи=
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Processing:Справочник языка Processing/perspective()</nowiki>
|Изображение статьи для schemaNewsArticle=<nowiki></nowiki>
|Высота изображения статьи для schemaNewsArticle=
|Ширина изображения статьи для schemaNewsArticle=
|Дата публикации для schemaNewsArticle=2018-07-09
|Автор=Мякишев Е.А.
|Издатель=myagkij
|Логотип издателя для schemaNewsArticle=<nowiki>http://wikihandbk.com/ruwiki/images/6/61/Tech_geek_logo_1x.jpg</nowiki>
|Ширина логотипа издателя для schemaNewsArticle=60
|Высота логотипа издателя для schemaNewsArticle=45
}}
{{Навигационная таблица/Справочник языка Processing}}

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

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


perspective() [1]

Обозначение

perspective()

Описание

Переключает камеру в режим перспективы, добавляя в сцену перспективное сокращение. В результате объекты, расположенные вдали, начинают казаться меньше, чем те, что находятся ближе к камере. Параметры perspective() задают размеры рабочей области, имеющей форму усеченной пирамиды. Объекты в ближней части рабочей области будут иметь свой настоящий размер, а те, что находятся дальше, будут отображены более маленькими. Эта проекция более точно симулирует перспективу реального мира, чем ортографическая проекция.

Если задать метод perspective() без параметров, то значения для них будут выставлены по умолчанию. Впрочем, если все же воспользоваться параметрами fovy, aspect, zNear и zFar, это даст больше контроля над рабочей областью.

По умолчанию параметры perspective() выглядят так: perspective(PI/3.0, width/height, cameraZ/10.0, cameraZ*10.0), где cameraZ – это ((height/2.0) / tan(PI*60.0/360.0)).

Синтаксис

perspective()
perspective(fovy, aspect, zNear, zFar)

Параметры

fovy    угол поля зрения (в радианах), для вертикальных плоскостей. Тип данных  float
aspect  соотношение ширины и высоты. Тип данных  float
zNear   координата Z ближней плоскости рабочей области. Тип данных  float
zFar    координата Z дальней плоскости рабочей области. Тип данных  float

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

void

Пример


// задаем для перспективы значения по умолчанию:
size(100, 100, P3D);
noFill();
float fov = PI/3.0;
float cameraZ = (height/2.0) / tan(fov/2.0);
perspective(fov, float(width)/float(height), 
            cameraZ/10.0, cameraZ*10.0);
translate(50, 50, 0);
rotateX(-PI/6);
rotateY(PI/3);
box(45);

См.также

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