Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 67
Текст из файла (страница 67)
14.9. Таблица 14.9. Команды построения поверхности Команда Назначение Построение Построение Построение Построение Построение Построение Трехмерная сетчатой поверхности сетчатой поверхности с линиями уровня сетчатой поверхности и отсчетной плоскости расцвеченной поверхности расцвеченной поверхности с линияии уровня расцвеченной поверхности с подсветкой поверхностьЬез прорисовки ребер везпс Везпз гцгг когте зчгг1 наоегте)1 Применение команды р\ АЗ для построения траектории решения системы Лоренца дано в подразделе «Интегрирование дифференциальных уравнений» главы 15 «Численный анализ в МАТ?.АВм Если требуется нарисовать несколько кривых, то возможны следующие решения: О приготовим три двумерных массива Х, Т, 7, каждый из которых содержит данные об одной координате.
Столбцы этих массивов отвечают разным кривым, то есть первая кривая задается первыми столбцами массивов Х, Т, 7, вторая — вторыми столбцами и т. д. В этом случае обра)цение к команде р1 о~З имеет внд; р1о(З(Х.Х.7) (з второй способ заключается в последовательном перечислении векторов, содержаших координаты кривых: р1 о(З( х). у). х), з), х2, у2, г2.
з2.... ) Здесь сочетаниями з1, з2, ... обозначены маркировки кривых (тип линии, маркер, цвет), например строка ' у-. ' задает построение пунктирной кривой желтого цвета и точкой в качестве маркера. Команды оформления ах1 з, 1111е, х1аЬе1 и другие действуют аналогично командам, рассмотренным для двумерной графики. 360 Глава 14. Графика Р)АТ[АВ Команда вевп строит в графическом окне расцвеченную сетчатую поверхность, ис- пользуя различную окраску вершин и ребер. Чтобы ребра были окрашены в цвета прилегающих вершин (в процессе обхода вершин цвет ребра меняется), нужно выполнить команду влаюпд Г)аг а для плавного изменения цвета между вершинами (линейная интерполяция) надо запустить команду спад!пд )п1егр Приведем пример построения сетчатой поверхности, см.
рис. 14.10. » х-О:.2:8;у-О:.2:4; [Х.У]-вевлдг!О(х,у): 7-2*сов(Х»У)+Х.асов(Х-Х); невы Х.У,7) О О Рис. 14.10. Построение поверхносгн по команде вехи Та же сетчатая поверхность будет построена при помощи команды везЬ(х,у, 7). Имеется несколько разновидностей команды вевЬ. На рис. 14.11 слева нарисова- на поверхность -7 с линиями уровня (команда вевЬс), а справа та же поверх- ность — с отсчетной плоскостью (команда вел))2): » воЬр)от(1.2,1), весло(х,у,-7), влад!пд !псегр ВиЬр)ОС(1.2,2), ЕЕВПХ(Х.Х.-7).
Ввао)пд Г)аг 1О -1О 4 !О -!О 4 1О О Р О О Рнс. 14.11. Построение пчверхносвд конанданн вееьс н вехах Трехмерная граФика 361 Ряд команд для построения поверхностей использует затенение. На рис. 14.12 при- ведены три варианта: затененная сеточная поверхность (слева), то же с линиями уровня (в центре) и поверхность с подсветкой (справа), построенные с помощью команд » вирр)от(1.3.1). аигт(х,у.7). аиЬр)01( 1,3,2). аргус(х,у,7) аиир)ос(1,3,3), вист)(х,у.7) После построения рисунков для каждого подокна выполнено масштабирование при помощи команды » ах)а([-1пг 1пт -(пт 1пу -1пт 1пт)) В результате были определены действительные интервалы изменения величин по всем координатам и рисунки стали выразительнее (сравните с рис. 14.10). Изме- нения не коснулись только нижней границы по координате 7 для среднего рисун- ка, поскольку плоскость с линиями уровня изображается при том минимальном значении г, которое МАТ1.АВ выбрал сам.
-5 4 -10 4 О О О О О О Рис. 14.12. Использование команд ми, аипс, сита для построения поверхностей Когда поверхность построена, то для получения нужного ракурса можно восполь- зоваться командой чтеч(, устанавливающей угол зрения наблюдателя по отноше- нию к осям ч1еи(д7,Е(.) ипи ч)еи([Я7,ЕЦ ) Здесь А7 — угол вращения в горизонтальной плоскости (азимут), а Е[ — угол возвышения. Угол зрения можно задать также посредством декартовых коор- динат: чтем([х.у.с)) причем важны отношения величин, а не их абсолютные значения.
Команда ч1ем без параметров выведет матрицу поворота размера 4х4. Имеется возможность выбрать ракурс интерактивно средствами графического окна. Нужно установить режим вращения изображения при помощи пункта йотате 30 меню Тор[в или соответствующего значка, а затем, перемещая мышь при нажатой 362 Глава 14. Графика ИАТ[АВ клавише, задать расположение осей.
При этом в левом нижнем углу окна будут отображаться значения углов А7 и с[. Приведем пример использования команды чтем и установки нужного ракурса для построенной командой ыатегга) 1 поверхности без прорисовки поперечных ребер, см. рис. 14.13: » х-1:.1:4 у=0:.02:); [Х,У]=нетпдг~б(х,у); 7".2*Х+П-т).*М п(рт"Х.*т); ыатегта11(Х'.у'.2'), ах14 едоа1. чтем(-140,30). дгтб В этом примере установлен единый масштаб по координатам х и у и использована графическая команда дг1 б, чтобы убрать нанесение сетки. Таблииа 14.10. Команды оформления рисунка Назначение Имя масштабирование Нанесение сетки ах! в дг(б Рис.
14.13. Построение поверхности бвз поперечных ребер (конандв мжебаЫ) Функция пбдг) б формирует массивы для вычисления н интерполяции функций нескольких переменных. Подобно команде (пезпдгтб, на вход подается несколько одномерных векторов х1, х2, ..., а на выходе имеем многомерные массивы Х1, Х2,, причем Х-я размерность массива ХХ есть копия вектора хХ.
Рассмотрим использование команд пбдгт б и З1 (се для построения сечений функции трех переменных, см. рис. 14.14: » х) -2:.2;2; х2 -2:.2:2( х3=0:.05:1; [Х),ХЗ.ХЗ)=пбдг)б(х),х2.хЗ): Ч (ХЗ-.З).»юп(Х2 + Х)); 41тсе(х).х2.»З.Ч [-.8 .б 2),2. [О .53) х1аЬе1("х)"). у1вЬе1("х2"). Х1аье)("хЗ") Для оформления трехмерной графики используются команды, аналогичные рассмотренным в разделе «Оформление рисунка» этой главы, и добавившаяся команда 21аЬе1 для маркировки третьей оси. В табл. 14.10 дана сводка этих команд.
Трехмерная графика Зб3 Назначение Нмя 0.В 0.8 ат х 0.4 0.2 хт Рис. 14.14. Построение сечений для функции нескольких переменных (команда здсе) палитра и подсветка Использование цветовой гаммы для оформления рисунка повышает его информативиостьь позволяет создавать качественные иллюстрации для публикаций и размещения в Интернете. Рассмотрим коротко команды работы с цветом в МАТ- з.АВ. Казкдмй рисунок (окно Вдоге) имеет свою палитру, заданную матрицей с тремя столбцами и числом строк, отвечающим количеству заданных цветов. Три числа 1евепо тех<<'сект') 111)е<'Сект') х1аЬе1<' техт') у1аое1<' гехт' ) г1аЬе1<'техт') всех<<'техт') Пояснения к графику Вывод текста в заданное иесто графика Вывод заголовка Маркировка оси х Маркировка оси у Маркировка оси г Вывод текста в интерактивно определяемое место на графике (указать место мышкой и щелкнуть) Зб4 Глава 14.
Графика МАТ[Ай на одной строке, которые могут принимать значения от О до 1, определяют соответственно интенсивности красной, зеленой и голубой компонент (КСВ). Для задания и изменения палитры используется команда со) оппар. По умолчанию стандартной является палитра)ей содержащая 64 цвета.
Чтобы назначить новую палитру при помощи массива СС, нужно выполнить команду со!Огл(ар(СС), а вернуть стандартную палитру можно при помощи команды со) оппар('()е[ац)1'). Обращение к команде со) о гоар без параметров выводит матрицу с текущей палитрой. Например, желтому цвету отвечает 41 строка: » се-со)опаар; си(41.;) апз 1 1 0 Используя стандартные операции с массивами, можно приготовить свою палитру. В то же время имеется набор приготовленных палитр, в частности: Ьву (радуга), Ьо[ (комбинации черного, красного, желтого и белого), соо! (фиолетово-голубая палитра), зцизп(ег (желто-зеленая палитра), Ьопе (серо-синяя палитра), дгау (оттенки серого).
При обращении к любой из этих функций указывается параметр, задающий число цветов, а если параметр не указан, то формируется палитра с тем же числом цветов, что и текуц(ая. Например, по команде со) огяар(дгау(4) ) сформируется палитра из четырех оттенков серого цвета. Примеры формирования цветов посредством указания долей красного, зеленого и синего представлены в табл, 14.11. Таблица 14.11. Формирование цветов йед бгеел В!ие Со[ог Цвет черный белый ы аск ил ~ге красный зеленый гео Огееп ыце синий желтый уе))ои вачепга фиолетовый голубой суап серый ярко-красный медный аквамарин Огау Одгк гес соррег аццанаггзпе Палитры необходимы при построении графических объектов: поверхностей с помощью команд Фезц, зогГ и др., контурных рисунков (смотри далее о семействе команд сопгоцг), и т.