Иллюстрированный самоучитель по Mathematica

         

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


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

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

  • Cone [r, h, n] — конус с основанием радиуса r и высотой h на основе n-сто-роннего полигона;
  • Cylinder [r, h, n] — цилиндр радиуса r и высотой h на основе и-стороннего полигона;
  • Torus[rl,r2,n,m] — объемное кольцо с внешним и внутренним радиусами rl и г 2 и числом сторон каркаса n и m;
  • Sphere [r, n,m] — сфера радиуса г, составленная из многоугольников с параметрами n и m и числом сторон п(т - 2) + 2;
  • MoebiusStrip [rl, r2, n] — кольцо Мебиуса с радиусами rl и r2, построенное на основе полигона с 2n сторонами;
  • Helix[r,h,m,n] — плоская спираль радиусом г и высотой h c m витками на основе поверхности, разбитой на nxm четырехугольников;
  • DoubleHelix[r,h,m,n] — плоская двойная спираль радиусом r и высотой h с m витками на основе поверхности, разбитой на nxm четырехугольников.

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

Со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 показывает построение другой фигуры — кольца Мебиуса с указанием параметров фигуры. Обратите внимание на то, что в обоих случаях автоматически обеспечивается функциональная окраска фигур, облегчающая их восприятие.

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

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

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

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

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

  • RotateShape [g,phi, theta,psi] — поворот графического объекта на углы phi, theta и psi;
  • TranslateShape [g, {х, у, z} ] — сдвиг графического объекта на расстояния {х,у, z};
  • Af fineShape [g, {scalel, svale2, scaleS} ] — умножение всех координат объекта g на указанные множители.

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

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


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

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

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


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

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

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


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

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


Содержание раздела