В примере 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 (наличие крышки, т.е. закрытое тело).
Рисование поверхностей. Следует заметить, что когда предпринимается попытка нарисовать 3 графика на одном чертеже, команда plot3d может воспринять 3 формулы как параметрическое задание одной поверхности. Поэтому не рекомендуется сразу рисовать три поверхности (4 и более можно).