- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов
Шрифт:
Интервал:
Закладка:
Задание параметра scaling=unconstrained означает отказ от равного масштаба по осям. График при этом увеличивается в размерах, но становятся заметны его искажения по осям координат. В итоге он тор превращается в толстую сплющенную трубу с эллиптическим сечением (рис. 8.14).
Рис. 8.14. Тор, построенный с применением значения параметра scaling=unconstrained
Весьма важным является учет углов, под которыми наблюдается трехмерная поверхность или объект. К примеру, построение рис. 8.14 неудачно в том плане, что оно не показывает наличия у тора дырки. Простейший и очень удобный способ изменить угол обзора заключается во вращении фигуры на рисунке мышью при нажатой левой кнопке. При этом можно повернуть фигуру так, что ее геометрические особенности будут отчетливо видны. Попробуйте проделать это.
В Maple есть способ явно задать углы обзора с помощью параметра orientation=[theta, phi], где theta и phi — углы, через которые задаются параметрические уравнения трехмерной фигуры или поверхности. Рисунок 8.15 дает пример такого задания фигуры, которую можно назвать «квадратным» тором.
Рис. 8.15. «Квадратный» тор, представленный под заданными углами обзора
Обратите внимание, что значения заданных углов обзора повторяются в полях углов на контекстной панели инструментов. Разумеется, последние будут меняться, если начать вращать фигуру на рисунке мышью.
8.3.7. Занимательные фигуры — трехмерные графики
Параметрическое задание уравнений поверхности открывает почти неисчерпаемые возможности построения занимательных и сложных фигур самого различного вида. Приведем пару построений такого рода.
На рис. 8.16 показан тор, сечение которого имеет вид сплюснутой шестиконечной звезды. Вырез в фигуре дает прекрасный обзор ее внутренней поверхности, а цветная функциональная окраска и линии сетки, построенные с применением алгоритма удаления невидимых линий, дают весьма реалистичный вид фигуры. Замените параметр scaling=unconstrained на scaling=constrained, и вы получите тор с неискаженным сечением.
Рис. 8 16. Тор с сечением в виде шестиконечной звезды
На рис. 8.17 показан еще один тор. На этот раз он круглого сечения, но сверху к снизу имеет вид пятиконечной звезды.
Рис. 8.17. Тор круглого сечения в виде пятиконечной звезды
Быстрое (не в смысле ускорения самого построения, а лишь в смысле более быстрою задания построения графиков) построение трехмерных графиков обеспечивает функция smartplot3d.
8.3.8. Построение ряда трехмерных фигур на одном графике
Функция plot3d позволяет строить одновременно несколько фигур, пересекающихся в пространстве. Для этого достаточно вместо описания одной поверхности задать список описаний ряда поверхностей. При этом функция plot3d обладает уникальной возможностью — автоматически вычисляет точки пересечения фигур и показывает только видимые части поверхностей. Это создает изображения, выглядящие вполне естественно. Пример такого построения для двух функций показан на рис. 8.18.
Рис. 8.18. Пример построения двух трехмерных фигур, пересекающихся в пространстве
8.4. Работа с графическими структурами
8.4.1. Работа с графическими структурами двумерной графики
Функции PLOT и PLOT3D (с именами, набранными большими буквами) позволяют создавать графические структуры, содержащие ряд графических объектов s1, s2, s3 и т.д. Каждый объект может представлять собой точку или фигуру, полигон, надпись и т.д., позиционированную с высокой точностью в заданной системе координат. Координатные оси также относятся к графическим объектам. Важно отметить, что функции PLOT и PLOT3D одновременно являются данными, описывающими графики. Их можно записывать в виде файлов и (после открытия файлов) представлять в виде графиков. Особые свойства этих функций подчеркиваются их записью прописными буквами.
Графическая структура двумерной графики задается в виде
PLOT(s1, s2, s3,...,о);
где s1, s2, s3 … — графические объекты (или элементарные структуры — примитивы), о — общие для структуры параметры).
Основными объектами являются:
• POINTS([x1,y1],[x2,y2],…[xn,yn]) — построение точек, заданных их координатами;
• CURVES([[x11,y11],…[x1n,y1n]], [[x21,y21],…[x2n,y2n]],… [[xm1,ym1],…[xmn,ymn]]) — построение кривых по точкам;
• POLYGONS([[x11,у11],…[х1n,y1n]], [[х21,у21],…[х2n,у2n]],…[[xm1,ym1],…[xmn,ymn]]) — построение замкнутой области-полигона (многоугольника, так как последняя точка должна совпадать с первой);
• ТЕХТ([х,у],`string`,horizontal,vertical) — вывод текстовой надписи `string`, позиционированной в точке с координатами [х,у], с горизонтальной или вертикальной ориентацией. Параметр horizontal может иметь значения ALIGNLEFT или ALIGNRIGHT, указывающие, в какую сторону (влево или вправо) идет надпись. Аналогично, параметр vertical может иметь значения ALIGNABOVE или ALIGNBELOW, указывающие в каком направлении (вверх или вниз) идет надпись.
При задании графических объектов (структур) s1, s2, s3 и т.д. можно использовать описанные выше параметры и параметры, например, для задания стиля построения - STYLE (POINT, LINE, PATCH, PATCHNOGRID); толщины линий — THICKNESS (кроме координатных осей); символа, которым строятся точки кривых — SYMBOL (BOX, CROSS, CIRCLE, POINT, DIAMOND и DEFAULT); стиля линий — LINESTYLE; цвета — COLOR (например, COLOR(HUE,0) для закраски непрерывной области), типа шрифта — FONT; вывода титульной надписи — TITLE(string); имени объекта — NAME(string); стиля координатных осей — AXESSTYLE (BOX, FRAME, NORMAL, NONE или DEFAULT) и т.д.
Следует отметить, что параметры в графических структурах задаются несколько иначе — с помощью круглых скобок. Например, для задания шрифта TIMES ROMAN с размером символов 16 пунктов надо записать FONT(TIMES, ROMAN, 16), для задания стиля координатных осей в виде прямоугольника — AXES-STYLE (BOX) и т.д.
На рис. 8.19 показан пример графических построений при использовании основных структур двумерной графики.
Рис. 8.19. Пример использования двумерных структур
Как видно из этого примера, графическая двумерная структура позволяет задавать практически любые двумерные графики и текстовые надписи в пределах одного рисунка.
8.4.2. Работа с графическими структурами трехмерной графики
Графические структуры трехмерной графики строятся функцией PLOT3D:
PLOT3D(s1,s2,s3,...,о)
В качестве элементарных графических структур можно использовать уже описанные выше объекты POINTS, CURVES, POLYGONS и TEXT — разумеется, с добавлением в списки параметров третьей координаты. Пример такого построения дан на рис. 8.20.
Рис 8.20 Пример создания структуры трехмерной графики
Кроме того, могут использоваться некоторые специальные трехмерные структуры. Одна из них — структура GRID:
GRID(a..b,c..d,listlist) — задание поверхности над участком координатной плоскости, ограниченной отрезками [a, b] и [с, d], по данным, заданным переменной-списком listlist:=[[z11,…z1n], [z21,…z2n],…[zm1…zmn]] с размерностью n×m. Заметим, что эта переменная задает координату z для равноотстоящих точек поверхности.
На рис. 8.21 показан пример создания структуры трехмерной графики на базе GRID. Изображение представляет собой линии, соединяющие заданные точки.
Рис. 8.21. Пример задания графической структуры типа GRID
Еще один тип трехмерной графической структуры — это MESH:
MESH(listlist) — задание трехмерной поверхности по данным списочной переменной listlist, содержащей полные координаты всех точек поверхности (возможно задание последней при неравномерной сетке).
Обычная форма задания этой структуры следующая:
MESH([[[x11, y11, z11], ... [x1n, y1n, z1n]], [[x21, у21, z21], ... [x2n, y2n, z2n]], ... [[xm1, ym1, zm1] ... [xmn, ymn, zmn}]])
Пример задания такой структуры представлен на рис. 8.22.
Рис. 8.22. Пример задания графической структуры типа MESH
Описанные структуры могут использоваться и в программных модулях. Много таких примеров описано в книгах, поставляемых с системой Maple.
8.5. Применение графики пакета plots
8.5.1. Пакет plots и его возможности
Пакет plots содержит почти полсотни графических функций, существенно расширяющих возможности построения двумерных и трехмерных графиков в Maple:
> with(plots);
Warning, the name changecoords has been redefined
[animate, animate3d, animatecurve, arrow, changecoords, complexplot, complexplot3d, conformal, conformal3d, contourplot, contourplot3d, coordplot, coordplot3d, cylinderplot, densityplot, display, display3d, fieldplot, fieldplot3d, gradplot, gradplot3d, graphplot3d, implicitplot, implicitplot3d, inequal, interactive, listcontplot, listcontplot3d, listdensityplot, listplot, listplot3d, loglogplot, logplot, matrixplot, odeplot, pareto, plotcompare, pointplot, pointplot3d, polarplot, polygonplot, polygonplot3d, polyhedra_supported, polyhedraplot, replot, rootlocus, semilogplot, setoptions, setoptions3d, spacecurve, sparsematrixplot, sphereplot, surfdata, textplot, textplot3d, tubeplot]Ввиду важности этого пакета отметим назначение всех его функций: