Мониторинг обменных курсов валют
18c0693f

Создание графических форм — Shapes


Нередко желательно придать трехмерным объектам определенную форму, например кольца или бублика. Некоторые возможности для этого дают функции под-пакета Shapes. Основной из них является функция Show [Graphics3D [shape] ], которая производит отображение формы со спецификацией shape.

С ней могут использоваться графические примитивы:

Возможно указание фигур без параметров. Это означает, что они выбираются по умолчанию следующими:

Соnе[1, 1, 20]

Cylinder[1, 1, 20]

Helix[l, 0.5, 2, 20]

DoubleHelix[l, 0.5, 2, 20]

MoebiusStrip[1, 0.5, 20]

Sphere[l, 20, 15]

Torus[l, 0.5, 20, 10]

На рис. 14.80 показан пример построения фигуры DoubleHelix без указания ее параметров с помощью функций Show и GraphicsSD.

Рисунок 14.81 показывает построение другой фигуры — кольца Мебиуса с указанием параметров фигуры. Обратите внимание на то, что в обоих случаях автоматически обеспечивается функциональная окраска фигур, облегчающая их восприятие.

Рис. 14.80. Пример построения фигуры без указания параметров

Рис. 14.81. Построение кольца Мебиуса

Для преобразования графических объектов в подпакете Shapes имеются следующие функции:

Рисунок 14.82 иллюстрирует осуществление вращения для кольца Мебиуса.
Эффект вращения хорошо заметен, если сравнить положения фигуры на рис. 14.81 и 14.82.



Рис. 14.82. Кольцо Мебиуса после поворота

Функции Show и Graphics3D позволяют строить трехмерные фигуры, которые пересекаются в пространстве. Пример такого построения приведен на рис. 14.83. Нетрудно заметить, что линии пересечения строятся с точностью до одной ячейки — полигона. Поэтому для получения качественных фигур надо увеличивать число полигонов, из которых фигуры синтезируются. Это, однако, увеличивает время построения фигур — оно становится заметным даже при работе на современных компьютерах с процессорами Pentium II и Pentium III.



Рис. 14.83. Фигуры, пересекающиеся в пространстве

В заключение этого раздела отметим, что функция WireFrame [g] дает «каркас» графического объекта, то есть делает все его грани прозрачными. Применение этой функции иллюстрирует пример, показанный на рис. 14.84.



Рис. 14.84. Пример применения функции WireFrame для построения каркаса сферы






Самый выгодный курс обмена валюты