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

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


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


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


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
frustum(left, right, bottom, top, near, far)
frustum(left, right, bottom, top, near, far)
</syntaxhighlight>
</syntaxhighlight>
Строка 34: Строка 31:
==Параметры==
==Параметры==


<syntaxhighlight lang="c" enclose="div">
<syntaxhighlight lang="c">
left  – координата для левой грани пирамиды. Тип данных – float
left  – координата для левой грани пирамиды. Тип данных – float
right  – координата для правой грани пирамиды. Тип данных – float
right  – координата для правой грани пирамиды. Тип данных – float
Строка 45: Строка 42:
==Возвращаемое значение==
==Возвращаемое значение==


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




<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();
Строка 68: Строка 65:


<references />
<references />
{{SEO
 
|Заголовок статьи=Processing: frustum() / Онлайн справочник - wikihandbk.com
{{Навигационная таблица/Портал/Processing}}
|Ключевые слова=processing,frustum() ,frustum() processing,frustum() в processing
|Описание статьи=
|Изображение статьи для Open Graph=
|Адрес страницы для schemaNewsArticle=<nowiki>http://wikihandbk.com/wiki/Processing:Справочник языка Processing/frustum()</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

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


frustum() [1]

Обозначение

frustum()

Описание

Задает матрицу перспективы.

Слово «frustum» переводится как «пирамида с усеченным конусом». В результате «глаз» пользователя находится как бы в верхней части этой пирамиды (т.е. в месте, где у нее усечен конус) и смотрит внутрь нее, а шесть граней пирамиды выступают плоскостями для 3D-сцены, которую нужно отрендерить. В результате все, что будет находиться в пределах этих 6 граней, будет видимо и отрендерено, а все, что за их пределами – видимо не будет.

Метод frustrum() позволяет менять перспективу в отрендериваемой сцене. Впрочем, в большинстве случаев ее легче поменять при помощи метода perspective().

Имейте в виду, что значение near должно быть выше нуля (потому что ближняя плоскость пирамиды не может находиться за «глазом» пользователя). Аналогично значение far должно быть больше значения near (потому что дальняя – т.е. far – плоскость должна находиться дальше от «глаза» пользователя, чем ближняя – т.е. near – плоскость).

Метод frustum() работает аналогично методу glFrustum() в OpenGL, но за исключением того, что он удаляет текущую матрицу перспективы, а не умножает себя на нее.

Синтаксис

frustum(left, right, bottom, top, near, far)

Параметры

left    координата для левой грани пирамиды. Тип данных  float
right   координата для правой грани пирамиды. Тип данных  float
bottom  координата для нижней грани пирамиды. Тип данных  float
top     координата для верхней грани пирамиды. Тип данных  float
near    координата для ближней грани пирамиды (должна быть больше «0»). Тип данных  float
far     координата для дальней грани пирамиды (должна быть больше, чем значение в параметре near). Тип данных  float

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

void

Пример


size(100, 100, P3D);  
noFill();
background(204);
frustum(-10, 0, 0, 10, 10, 200);
rotateY(PI/6);
box(45);

См.также

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