рода.

На рис. 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. Изображение представляет собой линии, соединяющие заданные точки.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату