8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 355 356 357 358 359 360 361 ... 365

•Diffusestrength— интенсивность рассеиваемого поверхностью света, излучаемого источником. Значение свойства Diffusestrength может принимать вещественные значения от нуля до единицы, по умолчанию используется 0.6.

•EdgeLighting И FaceLighting — способ освещения границ и ячеек каркасной поверхности светом, идущим от источника. Свет не оказывает влияния на границы или ячейки каркасной поверхности, если соответствующее свойство установлено в попе. Самым простым способом является равномерное освещение границ ячеек и самих ячеек. Равномерное освещение задается значением flat. Более сложным, но дающим лучший эффект, является способ Гуро, который используется при выборе gouraud. Интенсивность света вычисляется в узлах каркасной сетки, затем интерполируется вдоль границ каждой ячейки. Интенсивность света в точках ячейки определяется при помощи интерполяции вдоль отрезка прямой, соединяющего ребра. Самое естественное освещение поверхности обеспечивается выбором значения phong, соответствующего способу Фонга. Способ Фонга состоит в интерполяции нормали сначала вдоль границ ячейки, а затем внутри ячейки. Зная нормаль в каждой точке поверхности (в каждом пикселе), можно определить, как она освещена внешним источником света. Метод Фонга требует достаточно большого объема вычислений по сравнению с другими методами.

Листинг Ш содержит пример использования функции surface для построения параметрически заданной поверхности, освещенной одним источником света, кроме ненаправленного света.

; Листинг П1. Пример использования функции surface

u = (-2*pi:0.02*pi:2*pi) ,-

v = -2*pi:0.02*pi:2*pi;

X = 0.3*u*cos(v);

Y = 0.3*u*sin(v);

Z = 0.6*и.л2*опен(size(v));

figure;

axes ;

view(-37.5,30)

surface(XData, X,YData, Y, ZData, Z, "CData", Z, .. BackFaceLighting, reverselit, LineStyle, none", FaceLighting, phong1)


camlight30, -50) view(-37.5, 30) colormap(copper)

□surf с— построение залитой цветом каркасной поверхности и линий уровня на плоскости ху. Использование surfc аналогично surf и mesne (см. разд. "Трехмерные графики функций"главы 3).

□surf 1 — построение освещенной поверхности (см. разд. "Построение освещенной поверхности" главы 3).

•surfi(Z), surfltx, y, z)— отображение равномерно освещенной поверхности окружающим светом. Входные аргументы имеют тот же смысл, что и в mesh или surf surfi(z, s), surfltx, y, z, s) —дополнительный аргумент s указывает на направление источника света. Допускается указание либо координат в векторе из трех элементов: s = [sx, sy, sz], либо азимута и угла склонения: s = (az, el]. Источник света (по умолчанию) расположен под углом 45е в направлении против часовой стрелки от текущей точки обзора.

•surf 1 (..., light) — помещает источник света (объект light).

•h = surfl (...) — возвращает вектор указателей на поверхность и источник света.

Визуализация векторных полей

□compass — отображение радиус-векторов (см. разд. "Визуализация векторных полей" главы 3).

•compass (hA, ...) — построение графика на осях с указателем hA.

•h = compass (...) — в вектор h записываются указатели на созданные объекты линии, свойства которых можно изменить при помощи set (см. главу 9).

□conepiot — визуализация трехмерных векторных полей.

Векторное поле задается двумя наборами трехмерных массивов х, y, z и и, v, w (все шесть массивов должны быть одинакового размера):

•х, y и z — координаты точек трехмерного пространства, из которых исходят векторы;

•и, v и w — величины проекций векторов на оси х, у и z.


Функция conepiot позволяет указать начальные точки для построения векторов, которые не обязаны совпадать с точками, определенными массивами х, у и z. Координаты этих точек задаются массивами Сх, Су и Cz.

• he = conepiot(х, у, z, и, v, w, Сх, Cy, Cz) —визуализация векторного поля конусами, длина каждого конуса пропорциональна длине соответствующего вектора. Выходной аргумент he содержит указатель на созданный полигональный объект (состоящий из конусов). Работа с полигональными объектами описана в главе 9.

» he = conepiot (х, у, z, и, v, w, сх, су, Cz, s) —то же самое, что и предыдущее обращение, но длина каждого конуса увеличивается в s раз (если s не указано, то оно принимается равным 1). Значение s=o отменяет автоматическое масштабирование.

Использование функции conepiot, как правило, требует установки некоторых свойств осей. Листинг П2 содержит пример визуализации векторного поля, заданного вектор-функцией

на трехмерной сетке (Xf, у,, zk), },*=i.2....». > которая содержит и =41 узел по каждому из направлений:

, i-l, /-1*-1

л- = 1+-; v,=-l+--; Zi--.

20 J2020

Точки, из которых исходят конусы, заданы на более редкой сетке (cxj,cyj, cz.k),• j=] 2 P; *=i. 2 q> гл*е P = 4 11 4 = 8 узлы которой не совпадают с (.v,-, у, г*),, j,k=\.i н • Для получения значений вектор-функции на сетке (сх,, суг czk),щМ 2 Р,*=.г.. ..9 по умолчанию используется линейная интерполяция.

Листинг П2. Пример использования функции conepiot

% Задание границ области определения вектор-функции XL = 1; xR = 3;

F(x,y,z) =

u(x,y,z) v(x,y,z) w(x,y,z.)

x

у

z



0 ... 355 356 357 358 359 360 361 ... 365