Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Опции команд трёхмерной графики




Лекция № 6 Пространственная графика в Maple.

6.1 Команда plot3d().
6.2 Меню для работы с трёхмерной графикой.
6.3 Трёхмерные команды пакета plots.
6.4 Трёхмерные графические структуры Maple.
6.5 Трёхмерные команды пакета plottools.

Команда plot3d()

Функцию двух переменных можно отобразить как поверхность в трёхмерном пространстве, две оси которого соответствуют значениям двух независимых переменных, а по третьей оси откладываются значения функции. В Maple подобную процедуру визуализации функции двух переменных выполняет команда plot3d(), которая, как и команда отображения графика функции одной переменной plot3d(), расположена в стандартной библиотеке, а поэтому доступна пользователю в любой момент. Эта команда позволяет отображать график функции, заданных как в явном виде, так и в параметрическом виде.
Синтаксис команды plot3d() практически полностью соответствует синтаксису команды plot() с небольшим очевидным дополнением, связанным с наличием второй дополнительной переменной:

plot3d(expr,x=a..b,y=c..d,опции)

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

plot3d((x,t)->cos(x)*sin(t),-1..1,-1..1);

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

plot3d(cos(x)*sin(t),x=-1..1,t=-5..x^2);

отображает график функции на области, у которой одна из границ представлена параболой.

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

Опции команд трёхмерной графики

Опция Описание
ambientlight Задаёт цвет внешнего источника интенсивностями его красной, зелёной и синей составляющих, представленными трёхэлементным списком вещественных чисел из интервала [0,1].Эта опция имеет значение при определении пользователем собственной схемы освещённости поверхности
axes Определяет тип отображаемых осей координат. Эта опция может принимать следующие значения: NORMAL - обычные оси координат, пересекающиеся в точке (0,0,0);BOXED- поверхность заключена в охватывающий параллелепипед с нанесёнными шкалами по трём граням; FRAME - три оси отображаются по внешним граням охватывающего параллелепипеда; NONE - оси не отображаются
axesfont Задаёт шрифт для надписей под засечками вдоль осей координат. Значение этой опции аналогично значению опции font
color Задаёт цвет отображаемой поверхности в случае её закрашивания или цвет линий сетки в случае отображения поверхности в виде каркаса или линий уровня. В качестве значения этой опции может выступать одно из зарезервированных значений цвета в Maple: aquamarine, black, blue, navy, coral, cyan, brown, gold, green, gray, grey, knaki, magenta, maroon, orange, pink, plum, red, sienna, tan, turquoise, violet, wheat, white и yellow. Можно также определить и собственный цвет, соответствующий смешению заданных частей красного, зелёного и синего цветов. Это осуществляется с помощью следующей команды macro(palegreen=COLOR(RGB,.5607,.7372,.5607)), где palegreen имя константы нового цвета, в котором красный составляет 0.5607 части, зелёный 0.7372 и синий 0.5607. Задание значения в форме выражения, содержащего две независимые переменные, определяет цвет в каждой точке поверхности по цветовой схеме HUE. Если цвет определяется с помощью процедуры, то она должна иметь два аргумента и возвращать значение цвета
contours Определяет количество линий уровня при отображении их на поверхности или список значений отображаемых линий уровня. Значение по умолчанию равно 10
coords По умолчанию при выводе как явно заданной функции, так и параметрически заданной функции используется декартовая система координат (cartesian), т. е. задаваемое уравнение кривой рассматривается именно в этой системе координат. Данная опция меняет тип системы координат. Возможные значения: bipolarcylindrical, bisherical, cardiodal, cardioidcylindrical, casscylindrical, confocalellip, cofocalparab, conical, cylindrical, ellcylindrical, ellipsoidal, hypercylindrical, invcasscylindrical, invellcylindrical, invoblspheroidal, invprospheroidal, logcoshcylindrical, logcylindrical, maxwellcylindrical, oblatespheroidal, paraboloidal, paracylindrical, prolatespheroidal, rosecylindrical, sixsphere, spherical, tangentcylindrical, tangentsphere и toroidal, описание которых можно получить в справочной системе Maple с помощью команды?coords
filled Установка значения этой опции равным true приводит к тому, что область, ограниченная поверхностью и плоскостью xy, отображается как твёрдое непрозрачное тело и закрашивается в соответствии с используемой цветовой схемой
font Задаёт шрифт для вывода текста а рисунке. Значение опции задаётся в виде списка [семейство, стиль, размер]. Параметр семейство задаёт гарнитуру шрифта: TIMES, COURIER, HELVETICA или SYMBOL. Параметр стиль определяет стиль шрифта: для гарнитуры TIMES возможны значения ROMAN, BOLD, ITALIC или BOLDITALIC, для гарнитур COURIER и HELVETICA стиль можно опустить, или задать BOLD, OBLIQUE или BOLDOBLIQUE, для шрифта SYMBOL стиль не задаётся. Последний параметр задаёт размер шрифта в пунктах (points) (один пункт приблизительно равен 1/72 дюйма)
grid Эта опция определяет прямоугольную равномерную сетку значений независимых переменных отображаемой функции, на которой вычисляются её значения для построения поверхности и задаётся в виде двухэлементного списка [m,n], в котором каждый элемент является целым числом, определяющим количество точек по соответствующей координате. По умлчанию используется сетка [25,25]
gridstyle Задаёт тип отображаемой сетки: составленной из прямоугольников или треугольников на основании вычисленных её значений в соответствии с установками, определяемыми опцией grid. Она может принимать одно из двух значений RECTANGULAR и TRIANGULAR
labels Задание названий осей координат в виде списка [x,y,z]. Параметры x, y и z задаются в виде строк и соответствуют отображаемым названиям трёх осей декартовой системы координат. По умолчанию оси не подписываются
labeldirections Эта опция определят направление отображения названия осей и задаётся в виде списка [x,y,z], элементы которого могут принимать одно из двух значений HORISONTAL или VERTICAL
labelfont Задаёт шрифт, которым отображаются названия осей координат. Значение этой опции аналогично значению опции font
light Эта опция определяет расположение и цвет направленного источника света при задании пользовательской схемы подсветки. Её значения выдаются в виде списка [phi,theta,r,g,b], элементы которого имеют следующий смысл: phi и theta определяют углы направления, из которого исходит направленный свет (задаются в сферической системе координат), а r, g, b задают числовые интенсивности красной, зелёной и синей составляющих цвета источника
lightmodel Эта опция позволяет выбрать одну из предопределённых схем подсветки и может принимать следующие значения: 'none' (нет подсветки), 'light1', 'light2', 'light3' или 'light4'
linestyle Определяет тип линии на поверхности. Значением этой опции является целое число n. При n=0 или 1линии отображаются как сплошные, значение, равное 2, соответствует отображению линии точками, 3 - пунктиром и 4 - штрих пунктиром
numpoints Определяет минимальное количество n вычисляемых точек, по которым строится поверхность (значение по умолчанию равно 625=25^2). Эта опция перекрывает задание сетки опцией grid, определяя её новые значения по осям независимых переменных, равными равномерно распределённым sqrt(n) точкам в диапазонах изменения независимых переменных
orientation Задаёт углы в сферической системе координат направления, из которого пользователь смотрит на отображаемую поверхность:[theta,phi]. Углы задаются в градусах и по умолчанию равны [45,45]
projection Задаёт проекцию, в которой отображается поверхность. Значением этой опции может быть целое число r из диапазона [0,1], причём 0 соответствует широкоугольной перспективе, 1 - ортогональной проекции, промежуточные значения разным типам перспектив. Можно использовать три зарезервированных ключевых слова: 'FISHEYE' для широкоугольной перспективы (r=0), 'NORMAL' для перспективной проекции с параметром r=0.5 и 'ORTHOGONAL' для ортогональной проекции (r=1)
scaling Задаёт масштаб, в котором отображается поверхность. Если значение данной опции равно CONSTRAINED, то это соответствует заданию абсолютных значений по осям координат, т. е. одна единица измерения по оси независимой переменной равна одной единице измерения по оси значений функции. Значение по умолчанию равно UNCONSTRAINED, и это соответствует тому, что оси растягиваются таким образом, чтобы их размеры соответствовали размерам графического окна вывода
shading Определяет. какая схема закрашивания применяется при отображении поверхности. Допустимые значения: XYZ (цвет точки поверхности зависит от значений трёх её координат), XY (цвет точки поверхности зависит от значений её двух независимых координат), Z (цвет точки поверхности зависит от значения функции: минимальное представляется синим цветом, максимальное - красным, остальные оттенками при переходе от синего к красному), ZGRAYSCALE (цвет точки поверхности зависит от значения функции: минимальное представляется чёрным цветом, максимально - бледно-серым, остальные оттенками при переходе от чёрного к бледно-серому), ZHUE (цвет точки поверхности зависит от значения функции: от минимального сиреневого через синий, зелёный и жёлтый к максимальному красному) и NONE (поверхность не закрашена)
style Определяет как будет отображаться поверхность. Допустимые значения: POINT (точкам. представляющими значения функции на сетке), HIDDEN (каркасная модель с удалением невидимых линий), PATCH (закрашенная поверхность с линиями сетки), WIREFRAME или LINE (каркасная модель без удаления невидимых линий), CONTOUR (линиями уровня), PATCHNOGRID (закрашенная поверхность без линии сетки), PATCHCONTOUR (закрашенная поверхность с линиями уровня)
symbol Определяет тип символа, которым помечаются точки поверхности функции при опции style=POINT. Может принимать следующие значения: BOX для "квадратика", CROSS для +, CIRCLE для "кружочка", POINT для "точки" и DIAMOND для "ромбика"
symbolsize Задаёт размер символа в пунктах. Его значением может быть любое натуральное число. По умолчанию используются символы размером 10 пунктов. Действие этой опции не распространяется на символ точка, задаваемый опцией symbol=POINT
thickness Задаёт толщину линий на поверхности. Значение является целым числом и изменяется от 0 до 3, соответствуя изменению толщины линий от самой тонкой до самой жирной
tickmarks Определяет число точек, не менее которого должно быть помечено по горизонтальной и вертикальной оси координат. Значение задаётся в виде списка [l,n,m]
title Определяет строку, которая выводится как заголовок рисунка. По умолчанию заголовок не выводится. В строке можно использовать специальные комбинации символов. Например,\n осуществляет перевод на новую строку, формируя тем самым многострочный заголовок
titlefont Определяет шрифт для заголовка рисунка. Значение этой опции аналогично значению опции font
view Определяет минимальное и максимальное значения координаты z, между которыми отображается поверхность, а также диапазоны изменения независимых координат в виде [xmin..xmax, ymin..ymax, zmin..zmax]. По умолчанию отображается вся поверхность без обрезания в пределах заданных диапазонов изменения независимых переменных в команде plot3d()

Как видно из описания команды plot3d() и её опций, работа с ней интуитивно ясна и проста. Например, для отображения графика функции z=cos(x)y^2 с заголовком и значениями опций по умолчанию следует выполнить команду:

По умолчанию поверхность закрашивается в соответствии с цветовой схемой XYZ, которая выбирает цвет точки поверхности в зависимости от значений трёх её координат.
Можно отобразить ту же поверхность в виде каркасной модели с удалёнными невидимыми линиями и явно заданным направлением взгляда на неё:

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

plot3d ([x-expr,y-expr,z-expr], диапазон-парам1, диапазон-парам2, опции)

Рисунок ниже иллюстрирует отображение параметрически заданной поверхности в декартовой системе координат

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





Поделиться с друзьями:


Дата добавления: 2016-11-24; Мы поможем в написании ваших работ!; просмотров: 990 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Что разум человека может постигнуть и во что он может поверить, того он способен достичь © Наполеон Хилл
==> читать все изречения...

2488 - | 2300 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.