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

         

Функция Graphics3D, ее опции и примитивы


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

Функция Graphics3D со своими примитивами может использоваться для построения в пространстве различных объектов, например точек, кубиков или многоугольников.

Рисунок 8.36 показывает два варианта размещения случайных точек в пространстве. Для генерации координат точек используется функция Random [ ], возвращающая случайные числа, распределенные по равномерному закону.



Рис. 8.36. Построение случайных точек в пространстве

Поскольку ограничительный «ящик» не удален, создается впечатление о построении точек внутри куба.

На рис. 8.37 показано построение в пространстве ряда небольших кубиков. Для этого используется примитив Cuboid, повторенный 7 раз. Для воспроизведения набора кубиков, перечисленных в функции GraphicsSD, применяется функция-директива Show.

Нетрудно заметить, что и здесь неплохо работают встроенные алгоритмы удаления невидимых линий. Это дает довольно реалистическое изображение объектов в пространстве.

Рис. 8.37. Построение нескольких кубиков в пространстве

Еще более наглядное представление об этом алгоритме дает рис. 8.38. На нем показано построение в пространстве ряда плоских многоугольников, частично проникающих друг в друга. Нетрудно заметить, что и здесь алгоритм удаления невидимых поверхностей работает превосходно.

Рис. 8.38. Построение взаимно пересекающихся плоских многоугольников в пространстве

Здесь каждый из многоугольников формируется с помощью функции пользователя randpoly [n_], в теле которой используется примитив Polygon. Эта функция формирует случайные многоугольники, выводимые затем функцией-директивой Show.


Построение полиэдров

Язык программирования системы Mathematica позволят создавать средства визуального программирования графических задач. Примером таких средств является приложение Polyhedron Explorer, предназначенное для создания множества объемных фигур класса полиэдров. Это приложение (вместе с системой Mathematica, разумеется) вполне может заменить множество бумажных объемных фигур, которые можно еще встретить в кабинетах математики школ и вузов. Его можно получить по Интернету с файлового сервера фирмы Wolfram Research.

При загрузке этого приложения (как обычного документа) создается панель с окном просмотра фигуры и пультом с множеством кнопок, с помощью которых легко выбрать подходящую фигуру и наблюдать ее в окне просмотра (рис. 8.39).



Рис. 8.39. Работа с приложением PolyhedronExplorer

Обратите внимание на кнопки внизу панели пульта (см. рис. 8.39). Стоит нажать кнопку Paste Code, как фрагмент программы, рисующий выбранную фигуру, будет вставлен в окно редактирования документов — оно видно на рис. 8.39 слева.

Теперь достаточно выполнить этот фрагмент программы, как в строке вывода появится соответствующая фигура. Добавляя те или опции, можно получить нужные изменения ее вида.

В состав примеров системы Mathematica входит немало и других иллюстраций реализации объектно-ориентированного программирования: палитры физических констант и химических элементов (таблица Менделеева), палитры дополнительных функций и т. д. Элементы такого программирования просматриваются и при работе с селектором положения трехмерных графиков (вставка опций с указанием о положении графика).



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