КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Трехмерная графика
Трехмерная графика предназначена для построения на плоскости графиков функций двух переменных (двух аргументов) . Список функций, используемых в двумерной графике, может быть выведен в Command Window по команде help graph3d.
4.1. Общие принципы построения трехмерных графиков При построении в трехмерном пространстве графиков функций двух переменных соблюдаются следующие общие правила: 1) если z – вектор, то будем иметь один график функции z аргументов х и у; 2) если z – матрица, то будем иметь графики функций, заданных столбцами матрицы z, аргументов х и у; 3) перед построением трехмерных графиков необходимо выполнить формирование сетки на плоскости ХОУ по заданным значениям аргументов функции х и у. Сетка формируется из вспомогательных матриц Х и У по известным векторам х и у. Х – матрица, строки которой – копии вектора х, У – матрица, столбцы которой – копии вектора у. Матрицы Х и У должны иметь одинаковые размеры: число строк каждой из них должно быть равно длине вектора у, а столбцов – длине вектора х. Для формирования сетки удобнее всего использовать специальную функцию [X, Y]=meshgrid(x,y); Если область определения и шаг значений переменных х и у одинаковы, то допускается короткий формат [X, Y]=meshgrid(x); Задавая шаг сетки, следует помнить, что при построении сетчатых графиков выполняется линейная интерполяция. Ранее, при обсуждении правил построения двумерных графиков, был приведен пример последствий неверно заданного размера (большого) шага (см. рис. 4.4). Аналогичные неприятности могут возникнуть и при 3D-рисовании графиков.
4.2. Построение трехмерных графиков Matlab предоставляет пользователю большое разнообразие функций построения трехмерных графиков (поверхностей). Основные из низ приведены в табл. 4.5. Сетчатые поверхности (каркасные графики) отображаются с автоматическим нанесением сеток. Для функций возможно применение параметров Linespec и PropertyName управления свойствами графиков (см. разд. 3.4).
Таблица 4.5
Пример: пусть требуется построить график функции двух переменных для . Реализуем построения в режиме прямых вычислений. В окне Command Window выполним следующую последовательность команд: >> [X,Y]=meshgrid(-2.5:0.1:2.5); >> Z=(X.^2-3).^2+(Y.^2-3).^2; >> plot3(X,Y,Z) >> grid, title('График функции y=(х1^2-3)^2+(x2^2-3)^2') >> xlabel('x1'), ylabel('x2') >> zlabel('y(x1,x2)') Результат – трехмерный график в виде двумерных линий приведен на рис. 4.8, а. На рис. 4.8, б показан график той же самой функции, построенный функцией meshc.
а б Рис. 4.8. Использование функций трехмерной графики: а – plot3; б – meshc
Сетчатая поверхность (рис. 4.8, б) является более информативной: ячейки сетки деформируются в соответствии с изгибами поверхности и цвет позволяет судить о значениях функции – бóльшие значения окрашены в теплые цвета (красная гамма), меньшие – в холодные (синяя гамма). Кроме того, снизу показаны проекции сечений поверхности на плоскость ХОУ. Недостатком изображений на рис. 4.8 является то, что затруднительно определить значения функции и аргументов. Выход может быть найден при помощи контурных графиков (табл. 4.6). Например, для функции из предыдущего примера можно получить дополнительную информацию, рассчитав линии уровня и построив их на плоскости. Таблица 4.6
>> [cs, h]=contour(X,Y,Z); >> clabel(cs,h) >> grid >> title('Линии уровня функции у=(х1^2-3)^2+(х2^2-3)^2') >> xlabel('x1'), ylabel('x2') Результат показан на рис. 4.9 (число линий уровня определяется по умолчанию). Рис. 4.9. Маркированные линии уровня
4.3. Управление свойствами трехмерных графиков Помимо параметров Linespec и PropertyName, которые могут использоваться в функциях построения поверхностей, имеются специальные средства управления свойствами трехмерных графиков. Основные из них приведены в табл. 4.7. Таблица 4.7
Число строк в матрице с, задающей палитру цветов, может быть любым. Оно отображает число цветовых интервалов между невидимыми горизонтальными сечениями, считая их снизу от плоскости ХОУ. Каждая строка матрицы с содержит тройку элементов, формирующих палитру графика на соответствующем интервале из трех цветов – красного, зеленого и синего (так называемая RGB -палитра): черному цвету соответствует [0 0 0], белому – [1 1 1], серому – [0.5 0.5 0.5]. Удобнее выбирать одну из стандартных палитр, задавая ее имя в виде colormap(ИмяПалитры) Символические имена основных палитр приведены в табл. 4.8. Таблица 4.8
По умолчанию установлена палитра hsv. Функция colormap может стоять как до, так и после функции построения графиков. Восстановление палитры hsv выполняется с помощью следующего обращения к функции: colormap('default')
Дата добавления: 2014-11-08; Просмотров: 1022; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |