Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
maple лаб 08-2 трехмерная графика в MAPLE.doc
Скачиваний:
4
Добавлен:
07.05.2019
Размер:
834.05 Кб
Скачать

Пример 6. Построение поверхности в сферической системе координат

> # Единичная сфера с центром в начале координат.

> sphereplot(1, theta=0..2*Pi, phi=0..Pi, shading=ZGRAYSCALE, scaling=CONSTRAINED);

ЗАДАНИЕ 3. Нарисовать полушарие.

Пример 7.> # Параметрическая поверхность

> sphereplot([exp(s)+t, cos(s+t), t^2], s=0..2*Pi,t=-2..2,

shading=ZGRAYSCALE,orientation=[80,30],grid=[40,40]);

Как отмечалось при описании опций пространственных команд, Maple позволяет строить поверхности, заданные и в других пространственных системах координат. Единственное, что следует знать и хорошо представлять, – это каким образом определяется в них положение точки. Команда coordplot3d() визуализирует координатные поверхности всех возможных систем координат, используемых в Maple. В примере 8 отображены некоторые из них.

Пример 8. Координатные поверхности пространственных систем координат

> # Цилиндрическая система координат.

> coordplot3d(cylindrical);

Пример 9.> # Сферическая система координат.

> coordplot3d(spherical, style=PATCH, orientation=[0,60],

scaling=CONSTRAINED);

> # Эллипсоидальная система координат.

Пример 10.> coordplot3d(ellipsoidal, grid=[40,40], orientation=[40,60]);

Кривую в пространстве можно задать набором ее точек или как пересечение двух поверхностей. Команда spacecurve() позволяет отобразить пространственную кривую, задаваемую только набором ее точек, причем координаты точек задаются как функции одного параметра (пример 11).

Пример 11. Отображение пространственной кривой

> spacecurve([cos(t), sin(t), t],t=0..4*Pi, color=black, thickness=2,

axes=BOXED, orientation=[15,65]);

Можно построить круговую цилиндрическую поверхность заданного радиуса вдоль пространственной кривой командой tubeplot(). В примере 12 построена такая поверхность вдоль кривой предыдущего примера.

Пример 12. Круговой цилиндр вдоль пространственной кривой

> tubeplot([cos(t),sin(t),t],t=0..4*Pi,radius=1,tubepoints=20,

projection=0.8,orientation=[15,65],shading=ZGREYSCALE);

Опция radius определяет радиус криволинейного кругового цилиндра, опция tubepoints задает количество точек, используемых для построение кругового сечения цилиндра.

Для построения неявно заданных поверхностей следует использовать команду implicitplot3d(), в которой задается уравнение поверхности и диапазоны изменения всех трех ее переменных. Опцией coords можно определять построение неявно заданных поверхностей в разных системах координат.

Пример 13. Отображение неявно заданных поверхностей

> # Декартова система координат

> implicitplot3d(x^3 + y^3 + z^3 + 1 = (x + y + z + 1)^3, x=-2..2,

y=-2..2, z=-2..2, shading=ZGRAYSCALE, axes=BOXED);

Пример 14.> # Сферическая система координат

> implicitplot3d(r^2 = (1.3)^x * sin(y), x=-1..2*Pi, y=0..Pi, r=0.1..5,

coords=spherical,orientation=[145,95]);

Для создания надписей в трехмерном пространстве предназначена команда textplot3d(), синтаксис которой полностью соответствует аналогичной команде для отображения текстовых строк на плоскости с единственным исключением, связанным с заданием текстовых точек: их координаты представляются тремя числовыми значениями. Допустимая опция align выравнивания текста относительно точки имеет те же самые значения с тем же самым смыслом, что и двумерный аналог этой команды.