На рис. 8.10 показано два примера простейших построений графиков трехмерной поверхности. По умолчанию в Maple строится поверхность с функциональной окраской и стилем style=patch (верхний рисунок) Функциональная окраска делает рисунки более информативными, но, увы, на рисунках в книге она превращается в окраску оттенками серого цвета. На рис. 8.10 показано также контекстное меню правой клавиши мыши, показывающее возможное команды, влияющие на вид трехмерных графиков.
Рис. 8.10 Примеры простейшего построения трехмерных поверхностей
Параметр style=hidden строит каркасную поверхность с функциональной окраской тонких линий каркаса и удалением невидимых линий. Чтобы график выглядел более четким, построение во втором примере задано линиями черного цвета с помощью параметра color=black (см. нижний рисунок на рис. 8.10).
Помимо значения patch для построения трехмерных поверхностей можно задавать ряд других стилей: point — точками, contour — контурными линиями, line — линиями, hidden — линиями каркаса с удалением невидимых линий, wireframe — линиями каркаса со всеми видимыми линиями, patchnogrid — с раскраской, но без линий каркаса, patchcontour — раскраска с линиями равного уровня.
Цвет трехмерного графика может задаваться (как и для двумерного) параметром color=c, где с — цвет (оттенки цвета перечислялись ранее). Возможно еще два алгоритма задания цвета:
HUE — алгоритм с заданием цвета в виде color=f(x,y);
RGB — алгоритм с заданием цвета в виде color=[exprr,exprg,exprb], где выражения exprr, exprg и exprb задают относительную значимость (от 0 до 1) основных цветов (красного — exprr, зеленого — exprg и синего — exprb)
Удачный выбор углов обзора фигуры и применение функциональной окраски позволяют придать построениям трехмерных фигур весьма эффектный и реалистический вид.
8.3.4. Построение фигур в различных системах координат
Как отмечалось, вид графика трехмерной поверхности существенно зависит от выбора координатной системы. Рис. 8.11 показывает пример построения нелинейного конуса в цилиндрической системе координат. Для задания такой системы координат используется параметр coords=cylindrical.
Рис. 8.11. Нелинейная цилиндрическая поверхность
При построении этой фигуры также использована цветная функциональная окраска. Кроме того, этот пример иллюстрирует вывод над рисунком титульной надписи (кстати, сделанной на русском языке).
Приведем еще один пример построения трехмерной поверхности — на этот раз в сферической системе координат (рис. 8.12). Здесь функция задана вообще элементарно просто — в виде числа 1. Но, поскольку выбрана сферическая система координат, в результате строится поверхность шара единичного радиуса. Обратите внимание на возможность построения только части сферы за счет ограничения изменения переменных координатной системы.
Рис. 8.12. Построение шарообразной поверхности в сферическом системе координат
Полезно просмотреть построение графиков в различных системах координат. При этом можно получить самые необычные фигуры.
8.3.5. Графики параметрически заданных поверхностей
На рис. 8.13 показано построение простого тороида — цилиндра, свернутого в кольцо. Здесь также использован прием удаления части фигуры, что делает ее представление более наглядным и красочным. Кроме того, введены параметры, задающие функциональную окраску.
Рисунок 8.13 дает полное и наглядное представление об этой фигуре — причем не только снаружи, но и изнутри.
Рис. 8.13. Тор с функциональной окраской поверхности
8.3.6. Масштабирование трехмерных фигур и изменение углов их обзора
Полезно обратить внимание на параметр масштаба scaling=constrained, явно введенную в документ рис. 8.13. Ее можно было бы и не вводить, поскольку этот параметр изначально задается по умолчанию. Она выравнивает масштабы представления фигуры по осям координат, обычно используется по умолчанию и позволяет снизить до минимума геометрические искажения фигур — тор, например, при этом виден как круглая труба, свернутая в кольцо. У таких графиков есть специфический недостаток — они занимают малую часть окна вывода.
Задание параметра scaling=unconstrained означает отказ от равного масштаба по осям. График при этом увеличивается в размерах, но становятся заметны его искажения по осям координат. В итоге он тор превращается в толстую сплющенную трубу с эллиптическим сечением (рис. 8.14).
Рис. 8.14. Тор, построенный с применением значения параметра scaling=unconstrained
Весьма важным является учет углов, под которыми наблюдается трехмерная поверхность или объект. К примеру, построение рис. 8.14 неудачно в том плане, что оно не показывает наличия у тора дырки. Простейший и очень удобный способ изменить угол обзора заключается во вращении фигуры на рисунке мышью при нажатой левой кнопке. При этом можно повернуть фигуру так, что ее геометрические особенности будут отчетливо видны. Попробуйте проделать это.
В Maple есть способ явно задать углы обзора с помощью параметра orientation=[theta, phi], где theta и phi — углы, через которые задаются параметрические уравнения трехмерной фигуры или поверхности. Рисунок 8.15 дает пример такого задания фигуры, которую можно назвать «квадратным» тором.
Рис. 8.15. «Квадратный» тор, представленный под заданными углами обзора
Обратите внимание, что значения заданных углов обзора повторяются в полях углов на контекстной панели инструментов. Разумеется, последние будут меняться, если начать вращать фигуру на рисунке мышью.
8.3.7. Занимательные фигуры — трехмерные графики
Параметрическое задание уравнений поверхности открывает почти неисчерпаемые возможности построения занимательных и сложных фигур самого различного вида. Приведем пару построений такого