Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ 3-2 трехмерная графика в MAPLE.doc
Скачиваний:
14
Добавлен:
07.12.2018
Размер:
744.45 Кб
Скачать

6. Поверхности второго порядка

ЗАДАНИЯ.

  1. Нарисовать эллипсоид . Сместить его центр. Не забудьте задать параметры .

  2. Придумать другой эллипсоид и затем сместить его центр.

  3. Нарисовать оба эллипсоида на одном чертеже. Параметр «стиль» положить равным WIREFRAME ().

  4. Нарисовать однополостный гиперболоид . Параметр «сетка» для гладкости положить равным 30х30х30 (). Диапазоны координат: .

  5. Нарисовать двухполостный гиперболоид .

  6. Оба гиперболоида изобразить на одном чертеже. Параметр «стиль» положить равным WIREFRAME ().

  7. Изобразить конус .

  8. Придумать и построить другие эллипсоид, гиперболоиды и конус.

  9. Построить эллиптический параболоид . Сделать анимацию по образцу:

> with(plots):f:=(x,y)->t*x^2+t*y^2;

> animate3d(f(x,y),x=-4..4,y=-4..4,t=-1..1,frames=20,axes=boxed);

10. Придумать другой параболоид.

11. Построить гиперболический параболоид (седло): .

> plot3d(x^2-y^2,x=-2..2,y=-2..2,orientation=[111,56],axes=boxed);

Сделать анимацию.

12. Построить поверхность и определить её тип:

.

7. Трёхмерные графические структуры Maple

Пример 19. Отображение PLOT3D-структур

> # Первая плоскость зелёного цвета

> p1:=POLYGONS([[1,0,0], [1,0,2], [0,1,2], [0,1,0]], COLOR(RGB,0,1,0)):

> # Вторая плоскость красного цвета

> p2:=POLYGONS([[0,0,0], [1,1,0], [1,1,2], [0,0,2]], COLOR(RGB,1,0,0)):

> # Надпись синего цвета

> t1:=TEXT([0.5, 0.5, 3],"Пересечение", COLOR(RGB, 0, 0, 1)):

> PLOT3D(p1, p2, t1, ORIENTATION(-15,45), AXES(BOXED));

В примере 19 создаются достаточно простые трёхмерные графические структуры, но если необходимо создать какие-то более сложные геометрические образы, то можно воспользоваться пакетом plottoools, содержащим ряд команд для создания трехмерных геометрических объектов, например, сферы, конуса, тора и т. д., над которыми можно даже выполнить разные преобразования с помощью команд этого же пакета. Все команды создания пространственных геометрических объектов перечислены в табл.4.

Таблица 4. Команды пакета plottools для пространственных графических структур

Синтаксис команды

Описание создаваемой графической структуры

cone([x,y,z],r,h,opt)

Конус с вершиной в точке, координаты которой заданы первым параметром, направленный в положительном направлении оси z и высотой h. В сечении z=h окружность имеет радиус r

cuboid([x1,y1,z1],[x2,y2,z2], opt)

Прямоугольный параллелепипед с главной диагональю, определяемой двумя заданными точками

cylinder([x,y,z],r,h,opt)

Круговой цилиндр высотой h с образующей окружностью радиуса r с центром в точке, определяемой первым параметром и параллельной плоскости xy. Значение опции capped равное true отображает цилиндр с закрытыми основаниями. Если она равна false, то основания не закрыты

dodecahedron([x,y,z],s,opt)

Масштабируемый параметром s (по умолчанию равен 1) додекаэдр (двенадцатигранник) с центром в точке с координатами (x,y,z)

hemisphere([x,y,z],r,opt)

Полусфера радиуса r с центром в точке с координатами (x,y,z). Значение опции capped равное true отображает полусферу с закрытым сечением. Если она равна false, то сечение не закрыто

hexahedron([x,y,z],s,opt)

Масштабируемый параметром s (по умолчанию равен 1) куб с центром в точке с координатами (x,y,z)

icosahedron([x,y,z],s,opt)

Масштабируемый параметром s (по умолчанию равен 1) икосаэдр (двадцатигранник) с центром в точке с координатами (x,y,z)

octahedron([x,y,z],s,opt)

Масштабируемый параметром s (по умолчанию равен 1) октаэдр (восьмигранник) с центром в точке с координатами (x,y,z)

semitorus([x,y,z],a..b,r,R, opt)

Часть тора с радиусом меридиана r, центром в точке с координатами (x,y,z) и радиусом образующей окружности R. Диапазон a..b определяет в радианах углы начальной и конечной точек на образующей тора. Значение опции capped равное true отображает часть тора с закрытыми сечениями. Если она равна false, то сечения открыты

sphere([x,y,z],r,opt)

Сфера радиуса r с центром в точке с координатами (x,y,z)

tetrahedron([x,y,z],s,opt)

Масштабируемый параметром s (по умолчанию равен 1) тетраэдр (четырехгранник) с центром в точке с координатами (x,y,z)

torus([x,y,z],r,R,opt)

Тор с радиусом меридиана r, центром в точке с координатами (x,y,z) и радиусом образующей окружности R

Параметр opt во всех командах пакета plottools соответствует допустимым для соответствующей формируемой структуры опциям графической команды plot(). Некоторые команды могут иметь дополнительную опцию capped (наличие крышки, т.е. закрытое тело).

ЗАДАНИЕ. Нарисовать: 1) параллелепипед, 2) закрытый цилиндр, 3) додекаэдр, 4) закрытую полусферу, 5) куб, 6) икосаэдр, 7) октаэдр, 8) часть закрытого тора, 9) сферу, 10) тетраэдр, 11) тор.

Пример.

> with(plottools): with(plots):

> display(hexahedron([0,0,0], 0.8, color=blue), orientation=[60, 65]);

> display(hexahedron([0,0,0], 0.8, color=blue),

hexahedron([1,1,1], 0.5, color=pink), axes=boxed, orientation=[75,50]);

> display(semitorus([1, 1, 1], 0..Pi/2, 2, 7), lightmodel=light4, orientation=[-140, 60], scaling=constrained, style=patchnogrid);

> display(icosahedron([0,0,0], 0.8), icosahedron([1,1,1], 0.5), lightmodel=light2, orientation=[45, 0]);

Рисование поверхностей. Следует заметить, что когда предпринимается попытка нарисовать 3 графика на одном чертеже, команда plot3d может воспринять 3 формулы как параметрическое задание одной поверхности. Поэтому не рекомендуется сразу рисовать три поверхности (4 и более можно).

Пример. >

Какие поверхности изображены на этом рисунке?