Суббота, 20.04.2024, 07:56
Приветствую Вас Гость | RSS




Сайт преподавателя математики и информатики Иванской Светланы Алексеевны

Категории раздела
Наш опрос
Оцените наш сайт
Всего ответов: 563
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Л-22 Элементы графической визуализации

ЭУМК Компьютерное моделирование

 

 

Лекции: Введение | Л-1: Краткая история компьютерной графики. Основные понятия о машинной графике и основные задачи компьютерной графики. Классификация направлений и сферы применения компьютерной графики. Задачи курса | Л-2: Программное обеспечение для создания, просмотра и обработки графической информации | Л-3: Текстовый редактор. Работа с текстом (простой и фигурный, вдоль кривой, эффекты для текста) | Л-4: Презентация и анимация графических и текстовых объектов. Средства организации чертежа (система координат, единицы измерения, слои, графические примитивы) | Л-5: Основные понятия о растровом и векторном изображении. Прикладное назначение программ для графического отображения физических процессов. Виды программного обеспечения для графики математического моделирования | Л-6: Виды графических программ векторной графики: Microsoft Visio, Corеl Draw, АutoCAD | Л-7: Окна программ векторной графики. Особенности импорта и экспорта изображений и макетов | Л-8: Панель инструментов программы. Библиотека элементов векторной графики | Л-9: Системы цветов в компьютерной графике: HSB, HSL, RGB, CMYK | Л-10: Методика рисования простых фигур и векторный способ формирования графических объектов | Л-11: Линии как объект векторной графики и их свойства | Л-12: Виды графических программ растровой графики: Pаint, Adobe Photoshop. Понятие слоя, создание изображения со слоями; копирование, перемещение, наложение, удаление слоев | Л-13: Двумерные (2D) и трехмерные (3D) геометрические преобразования в компьютерной графике | Л-14: Масштабирование изображений. Панели инструментов программ Pаint, Adobe Photoshop и др. | Л-15: Растровый способ формирования графических образов | Л-16: Вставка и редактирование рисунков. Геометрическое моделирование, преобразования растровых и векторных изображений | Л-17: Выделение и трансформация областей. Работа с текстом | Л-18: Тональная и цветовая коррекция и фильтры. Маски, каналы и ретушь | Л-19: Смешивание слоев, эффекты и стили слоев | Л-20: Виды систем графического моделирования: Mathсad, MatLab. Интерфейс пользователя систем Mathсad и MatLab | Л-21: Работа со встроенными функциями, массивами, векторами и матрицами | Л-22: Элементы графической визуализации. Графическая визуализация вычислений — построение графиков функций | Л-23: Основы работы с векторами и матрицами. Палитры математических знаков и документы Mathсad |

Дополнительные материалы:
Практические работы
Терминологический словарь
Самостоятельные работы студента
Методические рекомендации/указания
Контрольные измерительные материалы
Литература
 
Лекция 22: Элементы графической визуализации. Графическая визуализация вычислений — построение графиков функций
 

Содержание

Графика в Mathcad

В среде Mathcad фактически нет графиков функций в математическом понимании термина, а есть визуализация данных, находящихся в векторах и матрицах (то есть осуществляется построение как линий так и поверхностей по точкам с интерполяцией), хотя пользователь может об этом и не знать, поскольку у него есть возможность использования непосредственно функций одной или двух переменных для построения графиков или поверхностей соответственно. Так или иначе, механизм визуализации Mathcad значительно уступает таковому у Matlab, где достаточно иметь только вид функции, чтобы построить график или поверхность любого уровня сложности. По сравнению с Matlab, графика Mathcad имеет ещё такие недостатки, как: невозможность построения поверхностей, заданных параметрически, с непрямоугольной областью определения двух параметров; создание и форматирование графиков только через меню, что ограничивает возможности программного управления параметрами графики.

Однако следует помнить об основной области применения Mathcad - для задач инженерного характера и создание учебных интерактивных документов, возможностей визуализации вполне достаточно. Опытные пользователи Mathcad демонстрируют возможность визуализации сложнейших математических конструкций, но объективно это уже выходит за рамки назначения пакета.

Графика в Matlab

Здесь мы ограничимся рассмотрением простейших графических средств, используемых в Matlab.

Построение графика функций одной переменной

Графики строятся в отдельных масштабируемых и перемещаемых окнах. Возьмем вначале простейший пример — построение графика синусоиды. Следует помнить, что Matlab строит графики функций по ряду точек, соединяя их отрезками прямых, т. е. осуществляя линейную интерполяцию функции в интервале между смежными точками. Зададим интервал изменения аргумента х от 0 до 10 с шагом 0.1. Для построения графика достаточно вначале задать вектор х=0:0.1:10, а затем использовать команду построения графиков plot(sin(x)). Результат показан на рис. 22.1.

>> x=0:0.1:10;

>> plot(sin(x))

Вектор х задает интервал изменения независимой переменной от 0 до 10 с шагом 0.1. Почему взят такой шаг, а не, скажем, 1? Дело в том, что plot строит не истинный график функции sin(x), а лишь заданное числом элементов вектора х число точек. Эти точки затем просто соединяются отрезками прямых, т. е. осуществляется кусочно-линейная интерполяция данных графика. При 100 точках полученная кривая глазом воспринимается как вполне плавная, но при 10-20 точках она будет выглядеть состоящей из отрезков прямых.

Графики Matlab строит в отдельных окнах, называемых графическими окнами. Меню графического окна, показанного на рис. 22.1, отличается от меню главного окна Matlab. Например, в меню окна появились позиции Tools (Инструменты) и Insert (Вставка). Средства этой панели (мы их рассмотрим подробнее в дальнейшем) позволяют легко управлять параметрами графиков и наносить на них текстовые комментарии в любом месте.

Меню File (Файл) окна графики содержит типовые файловые операции, в частности сохранение графических окон в файлы, и их открытия. Однако они относятся не к файлам документов, а к файлам графиков. В частности, можно присваивать имя записываемым на диск рисункам с графиками.

Рис. 22.1. Пример построения графика синусоиды

Построение в одном окне графиков нескольких функций

Пойдем дальше и попытаемся построить графики сразу трех функций: sin(x), cos(x) и sin(x)/х.

»yl=sin(x); y2=cos(x); y3=sin(x)/x. 

Отметим, что переменные yl, y2, y3 в результате выполнения данных команд являются не функциями, а векторами, имеющими ту же размерность, что и вектор x. Поэтому эти переменные не имеют явного указания аргумента в виде у(х). Обратите внимание, что точка с запятой позволяет писать несколько команд в одной строке.

Теперь можно использовать одну из форм команды plot:

>> plot(xl,fl,x2,f2,x3,f3,...)

где xl, x2, xЗ,... — векторы аргументов функций (в нашем случае все они равны х), a f1, f2, f3,... — векторы значений функций, графики которых строятся в одном окне. В нашем случае для построения графиков указанных функций мы должны записать следующее:

» plot(x,yl,x,y2,x,y3)

Можно ожидать, что Matlab в этом случае построит, как обычно, точки графиков этих функций и соединит их отрезками линий. Но если мы выполним эти команды, то графика третьей функции не получим. Не исключен даже сбой в работе программы. Причина этого в том, что при вычислении функции y3=sin(x)/x, если х представляет собой массив (вектор), то нельзя использовать оператор матричного деления /.

Этот пример еще раз наглядно указывает на то, что чисто поверхностное применение даже такой мощной системы, как Matlab, иногда приводит к досадным срывам. Чтобы все же получить график, надо вычислять отношение sin(x) к х с помощью оператора поэлементного деления массивов ./ (точка+слэш).

Рис. 22.2. Построение графиков трех функций

Обратите внимание на то, что хотя на этот раз Matlab построил графики всех трех функций, в окне командного режима может появиться предупреждение о делении на 0 — в момент, когда х=0 (при соответствующих настройках Matlab). Это говорит о том, что Matlab в некоторых случаях «может не знать» о том, что неопределенность sin(x)/x вида 0/0 устранимая и дает 1. Это недостаток практически всех систем для численных вычислений.

Графическая функция fplot

Разумеется, Matlab имеет средства для построения графиков и таких функций, как sin(x)/x, которые имеют устранимые неопределенности. Не обсуждая эти средства подробно, просто покажем, как это делается, с помощью другой графической команды —

fplot('f(x)', [xmin xmax])

Она позволяет строить функцию, заданную в символьном виде, в интервале изменения аргумента х от xmin до xmax без фиксированного шага изменения х. Один из вариантов ее применения демонстрирует рис. 22.3.

» clear

» fplot('sin(x)/x', [-15 15])

» grid on

Хотя в процессе вычислений предупреждение об ошибке (деление на 0) выводится, но график строится правильно, т.е. при х=0 sin(x)/x = l. Обратите также внимание на две используемые команды: clear (очистить)— очистка графического окна и grid on (сетка)— включение отображения сетки, которая строится пунктирными линиями.

Рис. 22.3. Построение графика sin(x)/x функцией fplot

Столбцовые диаграммы

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

>> V=1:8

V =

1 2 3 4 5 6 7 8

>> bar(V)

Рис. 22.4. Построение столбцовой диаграммы значений элементов вектора

Столбцовые диаграммы — лишь один из многих типов графиков, которые может строить система Matlab. Особенно часто столбцовые диаграммы используются при представлении данных финансово-экономических расчетов.

Построение трехмерных графиков

Столь же просто обеспечивается построение графиков сложных поверхностей. Надо только знать, какой командой реализуется тот или иной график. Например, для построения графика поверхности и ее проекции в виде контурного графика на плоскость под поверхностью достаточно использовать следующие команды:

» [X,Y]=meshgrid(-5:0.1:5);

» Z=X.*sin(X+Y);

» meshc(X,Y,Z)

Окно с построенным графиком показано на рис. 22.5.

Рис. 22.5. Окно с графиками поверхности и ее проекции на плоскость под фигурой

В Matlab можно в считанные секунды изменить задающую поверхность функцию Z(X, Y) и тут же получить новый график поверхности с окраской, в данном случае заданной вектором Z, и с ее проекцией на плоскость XY.

Мы ограничимся этими примерами построения графиков как достаточно простыми и типовыми. Из них следует важный вывод — для решения той или иной частной задачи надо знать соответствующие команды и функции.

Вращение графиков мышью

Можно поворачивать построенную фигуру мышью и наблюдать ее под разными углами. Рассмотрим эту возможность на примере построения логотипа системы Matlab — мембраны. Для этого, введя команду membrane, получим график, представленный на рис.22. 6.

Рис. 22.6. Построение мембраны — логотипа системы Matlab 

Для вращения графика достаточно активизировать кнопку панели инструментов с изображением пунктирной окружности со стрелкой (рис. 22.6).

Теперь, введя курсор мыши в область графика и нажав левую кнопку мыши, можно круговыми движениями заставить график вращаться вместе с обрамляющим его параллелепипедом.

Контекстное меню графиков

Для переключения в режим редактирования графика можно ваполнить команду меню Tools / Edit Plot или щелкнуть на кнопке Edit Plot (Редактировать график) с изображением курсора-стрелки. В этом режиме графиком можно управлять с помощью контекстного меню, вызываемого щелчком правой кнопки мыши. Вид этого меню при курсоре, расположенном в графика вне построенных графических объектов, показан на рис. 22.7. С помощью мыши можно также выделить график. Щелчок левой клавишей выводит рамку вокруг рисунка (см. рис. 22.7).

Рис. 22.7. График в состоянии редактирования и контекстное меню

Форматирование свойств графиков

Matlab имеет возможность легко настраивать и корректировать свойства графиков с помощью специальных средств. Одним из них является редактор свойств (Property Editor). Редактор свойств можно вызвать через команду главного меню View / Property Editor или через команду контекстного меню Show Property Editor. Вид редактора свойств зависит от того, какой элемент графика выделен. Например, на рис. 22.8 выделена рамка, а на рис. 22.9 выделена линия графика.

Рис. 22.8. Выделена рамка

Рис. 22.9. Выделена линия графика

Форматирование линий и маркеров для графика нескольких функций

Если строится график нескольких функций, то можно форматировать линии и маркеры каждой кривой отдельно. Выполним следующие команды:

» x=-2:.1:5;

» plot(x,sin(x),x,sin(x).^3,x,sin(x).^5);

Обратите внимание на то, как заданы степени синуса. Записать эти выражения в виде sin(x)^2 и cos(x)^2 будет грубейшей ошибкой, поскольку х здесь вектор. Операторы .^ в данном случае дают поэлементное возведение в степень, что и нужно для построения графиков этих функций. Рис. 10 показывает пример такого форматирования для графика, полученного исполнением этих команд.

Рис. 22.10. Пример форматирования для графика трех функций

Надписи на графиках могут быть сделаны на русском языке, только если компьютер корректно оснащен должным набором шрифтов. Средства форматирования надписей дают обширные возможности по выбору набора шрифтов, их стиля, размеров символов и их цвета.

Нанесение надписей и стрелок на график

Надписи на график можно нанести с помощью панели инструментов Plot Edit Toolbar (рис. 22.11). Место надписи фиксируется щелчком мыши.

Рис. 22.11. Инструменты для нанесения надписей

На рис. 22.12 показан отформатированный график с тремя надписями. Надписи сделаны с разным размером символов и разным стилем. Обратите внимание, что при задании на надписи возведения в степень знаком ^ надпись на экране отображается в естественном математическом виде (степень в виде верхнего индекса).

Рис. 22.12. Нанесение надписей на график

Как видно на рисунке, параметры выделенной надписи можно изменять как минимум тремя способами:

  • с помощью редактора свойств;
  • с помощью панели инструментов Plot Edit Toolbar;
  • с помощью контекстного меню.

Полученную таким образом надпись можно выделить и перенести мышью в любое другое место. На рис. 22.12, в частности, показаны надписи со стрелками, созданные с помощью соответствующей кнопки панели инструментов. Это стрелку в режиме редактирования графика также можно перемещать и вращать мышью, а также менять ее длину. Можно также наносить на график обычные линии (без стрелки) и простейшие геометрические фигуры.

Построение легенды на графике

Дополнительно можно изменить размеры графика (см. меню Tools (Инструменты) и его команды Zoom In (Увеличить)и Zoom Out (Уменьшить)), выполнить поворот графика мышью (команда Rotate 3D) и подключить к графику легенду — пояснение в виде отрезков линий со справочными надписями, размещаемое внутри графика или около него. Поскольку наш график содержит три кривые, то легенда представляет собой обозначение этих трех линий в правом верхнем углу рисунка (рис. 22.13). Каждая линия имеет тот же цвет, что и на графике (и тот же стиль).

Рис. 22.13. График с легендой

Текстовая часть легенды берется из параметра Display Name редактора свойств (см. рис. 22.14).

Рис. 22.14. Задание имени графика для легенды в редакторе свойств для выделенного графика

Отметим, что все описанные возможности форматирования графиков доступны и программным способом, путем задания соответствующих графических команд, параметров и примитивов. Например команда text(х,у, 'legend') позволяет задать надпись 'legend' с началом, имеющим координаты (х, у).

 

Лекции: Введение | Л-1: Краткая история компьютерной графики. Основные понятия о машинной графике и основные задачи компьютерной графики. Классификация направлений и сферы применения компьютерной графики. Задачи курса | Л-2: Программное обеспечение для создания, просмотра и обработки графической информации | Л-3: Текстовый редактор. Работа с текстом (простой и фигурный, вдоль кривой, эффекты для текста) | Л-4: Презентация и анимация графических и текстовых объектов. Средства организации чертежа (система координат, единицы измерения, слои, графические примитивы) | Л-5: Основные понятия о растровом и векторном изображении. Прикладное назначение программ для графического отображения физических процессов. Виды программного обеспечения для графики математического моделирования | Л-6: Виды графических программ векторной графики: Microsoft Visio, Corеl Draw, АutoCAD | Л-7: Окна программ векторной графики. Особенности импорта и экспорта изображений и макетов | Л-8: Панель инструментов программы. Библиотека элементов векторной графики | Л-9: Системы цветов в компьютерной графике: HSB, HSL, RGB, CMYK | Л-10: Методика рисования простых фигур и векторный способ формирования графических объектов | Л-11: Линии как объект векторной графики и их свойства | Л-12: Виды графических программ растровой графики: Pаint, Adobe Photoshop. Понятие слоя, создание изображения со слоями; копирование, перемещение, наложение, удаление слоев | Л-13: Двумерные (2D) и трехмерные (3D) геометрические преобразования в компьютерной графике | Л-14: Масштабирование изображений. Панели инструментов программ Pаint, Adobe Photoshop и др. | Л-15: Растровый способ формирования графических образов | Л-16: Вставка и редактирование рисунков. Геометрическое моделирование, преобразования растровых и векторных изображений | Л-17: Выделение и трансформация областей. Работа с текстом | Л-18: Тональная и цветовая коррекция и фильтры. Маски, каналы и ретушь | Л-19: Смешивание слоев, эффекты и стили слоев | Л-20: Виды систем графического моделирования: Mathсad, MatLab. Интерфейс пользователя систем Mathсad и MatLab | Л-21: Работа со встроенными функциями, массивами, векторами и матрицами | Л-22: Элементы графической визуализации. Графическая визуализация вычислений — построение графиков функций | Л-23: Основы работы с векторами и матрицами. Палитры математических знаков и документы Mathсad |
 
Лекция 21: Работа со встроенными функциями, массивами, векторами и матрицами
Лекция 22: Элементы графической визуализации. Графическая визуализация вычислений — построение графиков функций
Лекция 23: Основы работы с векторами и матрицами. Палитры математических знаков и документы Mathсad
Вход на сайт
Поиск
Календарь
«  Апрель 2024  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
2930
Архив записей
Сайт преподавателя математики и информатики Иванской Светланы Алексеевны
Ставропольский край, г. Минеральные Воды

Copyright MyCorp © 2024
Хостинг от uCoz