Часть_03_sc.ppt
- Количество слайдов: 11
Визуализация вычислений в MATLAB
Назначение 1. Визуализация вычислений на плоскости (2 -D) 2. Пространственная визуализация вычислений (3 -D) 3. Создание пользовательского интерфейса GUI – Graphical User Interface Полярные координаты Примеры demo: Визуализация течений GUI wrldtrv, travel, xpbombs, codec
Способы создания GUI (graphical user interface) 1. Программирование на языке MATLAB (в том числе команды в Командном окне) 2. Специальная визуальная среда разработки GUI Development Environment (GUIDE)
Простейший пример Панель инструментов (Toolbar) Пункты меню (Menubar) 1. figure('Name', 'Окно'); 2. axes; title('Оси'); Заголовок (title) 3. line([0: 0. 1: 2*pi], sin([0: 0. 1: 2*pi])); legend('Линия'); Легенда (legend) Окна можно сохранять в специальных графических файлах *. fig (как и в GUIDE) Ocи (axes) Линия (line)
Графические функции в MATLAB Команда рисования линии (графика) по данным x и y: 1. line(1: 0. 1: 10, sin(1: 0. 1: 10) ) 2. line( 'Xdata', 1: 0. 1: 10, 'Ydata', sin(1: 0. 1: 10) ) Свойство ('Property') 3. h=line( 1: 0. 1: 10, sin(1: 0. 1: 10), 4. get(h) – список свойств объекта 'Color', 'm', 'Marker', 'o', 'Marker. Size', 6 …) Значение свойства Функция MATLAB с переменным количеством входных аргументов!
Способы задания цвета RGB Сокращ. Название [1 1 0] magenta 'c' cyan [1 0 0] 'r' red [0 1 0] 'g' green [0 0 1] 'b' blue [1 1 1] 'w' white [0 0 0] Для удобства пользователя введены стандартные буквенные обозначения: 'm' [0 1 1] Цвет любого объекта (пиксель, область) можно составить из суммы трех базовых (R, G, B) от 0 до 1 yellow [1 0 1] 3 -D матрица (X, Y, цвет) 'y' 'k' black line(x, y, 'Color' , [1 0 0]) = line(x, y, 'Color' , 'r' )
Основные типы граф. объектов, их иерархия root 'Children' 'Parent' figure Графическое окно (базовый элемент) axes line text image uimenu меню patch surface … Текст, линии, поверхности uicontrol uimenu Оси, элементы интерфейса pushbutton edit … Кнопки, поля текста … Можно получить доступ к каждому графическому элементу и управлять его свойствами!
Пример осей и элементов типа uicontrol Встроенный пример: ardemo uimenu 'Edit' surface axes 'Popup' 'Radio' 'Pushbutton' 'Frame' 'Text'
Одномерная графика: свойства линий, команды line, plot, легенда 1. Встроенный пример: hndlgraf (широкий набор примеров в MATLAB на все темы) 2. Свой пример: line(1: 0. 1: 10, sin(1: 0. 1: 10), 'Color', 'm', 'Marker', 'o', 'Marker. Size', 6) line(1: 0. 1: 10, cos(1: 0. 1: 10), 'Color', 'b', 'Marker', '*', 'Marker. Size', 8) legend({'sin(x)' 'cos(x)'}) По умолчанию если окно явно не указано, объект добавляется в существующее. Если окна нет, оно создается автоматически. 3. Визуализация данных в матрице: M=[1: 10; 2: 2: 20; -3: -30]; plot(M(1, : ), M(2: 3, : ))
Двумерная графика: patch, surface, contour Встроенный пример: graf 3 d x=1: 10; y=2: 2: 16; z=rand(10, 8)+5; surf(x, y, z'); Если окна для рисования нет, оно создается автоматически.
Примеры создания интерфейса пользователя (demo) 1. Построение поверхности: makevase (сколько входных и выходных значений у функции? ) Подключение вращения: rotate 3 d 2. Колебания моста: truss 3. travel Задача коммивояжера: В примерах - открытость и краткость кода (команды edit и help )
Часть_03_sc.ppt