Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
Создание поверхностей вращения — SurfaceOfRevolution | Учебники

Главная > Mathematica 8 > Создание поверхностей вращения — SurfaceOfRevolution


Создание поверхностей вращения — SurfaceOfRevolution

Создание поверхностей вращения — SurfaceOfRevolution
Одна из задач компьютерной графики — создание поверхностей вращения. Средства для этого дает подпакет SurfaceOfRevolution. Они представлены следующими функциями:

  • SurfaceOfRevolution [f, {x, xmin, xmax} ] — строит поверхность, образованную вращением кривой, описанной функцией f, при изменении х от xmin до xmax, в плоскости ху;
  • SurfaceOfRevolution [{fx, f у}, {t, tmin, tmax} ] — строит поверхность, образованную вращением кривой, описываемой параметрически заданной на плоскости функцией {f x, f у}, в плоскости xz при изменении параметра t от tmin до tmax;
  • SurfaceOfRevolution[{fx,fy,fz},{t,tmin,tmax}] — строит поверхность, образованную вращением кривой, описываемой параметрически заданной в пространстве функцией {fx, fy, fz}, в плоскости xz при изменении параметра t от tmin до tmax;
  • SurfaceOfRevolution[f,{{x,xmin,xmax},{theta,thetamin,thetamax}}] — строит поверхность вращения кривой, описываемой функцией f, при угле theta, меняющимся от thetamin до thetamax.

Рисунок дает простой пример построения поверхности, образованной линией cos(x) при изменении х от 0 до 4л, вращающейся вокруг оси xz. Построение задано функцией SurfaceOfRevolution [f, {x, xmin, xmax} ]. В этом случае линия вращается в пределах угла от 0 до 2-я, поэтому поверхность получается круговой.
Следующий пример показывает ту же фигуру в другом положении. Это достигается сменой угла обзора с помощью опции viewVertical.
Пример применения функции SurfaceOfRevolutibn [ {fx, fy}, {t, tmin, tmax) ] представлен на. Формируется этакое декоративное яйцо на подставке. Заменив в определении функции Cos [u] на Sin [u], можно получить изображение рюмки.
Рисунок демонстрирует возможность построения объемной фигуры с вырезами. Все, что для этого надо, — удачно выбрать диапазон изменения угла вращения. Если он будет от 0 до 2л, то фигура будет сплошной, не содержащей вырезов.
Для управления положением оси вращения служат следующие опции:

  • RevolutionAxis->{x, z } — задает поворот вокруг оси, соединяющей начало координат с точкой {х, z} в плоскости xz\
  • RevolutionAxis-> {х, у, z} — задает поворот вокруг оси, соединяющей начало координат с точкой {х, у, z}.

Рисунок иллюстрирует применение опции RevolutionAxis->{x, у, z }.
Следующая функция позволяет построить фигуру вращения, образующая линия которой задается массивом точек:

  • ListSurfaceOfRevolution [ {point1,point2,…} ] — создает поверхность вращения, заданную массивом точек pointl, point2, …;
  • ListSurfaceOfRevolution[{point1,point2,…}, {theta,thetamin,thetamax}] — создает поверхность вращения, заданную массивом точек, при угле вращения theta от thetamin до thetamax.

Рисунок показывает задание массива точек с помощью функции Table и фигуру вращения, полученную при использовании функции ListSurfaceOf-Revolution во второй форме.
 
Что еще есть в пакете расширения Graphics
Помимо уже рассмотренных подпакетов пакет расширения Graphics содержит подпакеты ThreeScript и Common. Подпакет ThreeScript содержит функцию преобразования трехмерных графических объектов в программный код формата 3-Script, например:
<<Graphics ‘ThreeScript’
obj = Graphics3D[Polygon[0,0,0, 0,1,0, 0,1,1]]
• GraphicsSD •
ThreeScript[ "object.ts", obj]
object.ts
!!object.ts
% Graphics3D objects
boundingbox
0 0 0
0 1 1
viewpoint
1.3 -2.399999999999999 2.
ambientlight
000
lightsources
1. 0. 1.
1 0 0
1. 1. 1.
0 1 0
0. 1. 1.
0 0 1
polygon
0 0 0
0 1 0
0 1 1
Подпакет Common содержит просто перечень системных символов (точнее, слов), которые приняты во всех подпакетах пакета Graphics. Вот этот список: Horizontal, MaxArrowLength, ScaleFactor, ScaleFunction и Vertical.

Статьи по теме

Комментарии запрещены.