Если необходимо создать какие-то более сложные геометрические образы, то можно воспользоваться пакетом plottools, содержащим ряд команд для создания трёхмерных геометрических объектов, например, сферы, конуса, тора и т. д., над которыми можно даже выполнить разные преобразования с помощью команд этого же пакета. В таблице не помещены команды arrow, line, point, polygon, которые аналогичны двумерным командам пакета plottools. Их можно использовать для создания соответствующих пространственных объектов с естественным изменением синтаксиса их параметров: точки следует задавать в виде трёхэлементного списка, представляющего значения трёх пространственных координат.
Команды пакета 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.
Ниже приводится пример, который демонстрирует технику использования команд пакета plottools для формирования и преобразования трёхмерных графических объектов.
Вместо непосредственного использования команды PLOT3D() для отображения пространственных геометрических объектов, которая требует задания опций в виде PLOT3D-структур, можно, как и в случае с двумерной графикой, воспользоваться командой display() пакета plots, позволяющей совместить на одном графике вывод нескольких графических команд и графических структур.