НОУ ІНТУЇТ | лекція | Робота з графікою: візуалізація функцій двох перемінних

  1. 7.4. Візуалізація функцій трьох змінних в тривимірному просторі У попередньому розділі ми навчилися...

7.4. Візуалізація функцій трьох змінних в тривимірному просторі

У попередньому розділі ми навчилися представляти функціональні залежності і дискретні набори даних від двох змінних на площині, замінюючи третю координату кольором (зображення щільності функції) або лініями рівня (контурне зображення). Схожий трюк ми використовуємо для подання в тривимірному просторі залежностей від трьох змінних, для яких принципово немає можливості забезпечити і функцію, і кожну змінну власної координатної віссю. У цьому нам допоможе функція ContourPlot3D. Задана у вигляді ContourPlot3D [{f, {x, xmin, xmax}, {y, ymin, ymax}, {z, zmin, zmax}}] функція генерує тривимірне контурне зображення функції f змінних x, y і z, при цьому, на відміну від двовимірного випадку, контурами будуть криволінійні поверхні. Функція ContourPlot3D [{f == g, {x, xmin, xmax}, {y, ymin, ymax}, {z, zmin, zmax}}] малює тільки ту контурну поверхню, для якої f і g рівні.

У прикладі In [1] на Мал. 7.10 ми побудували в контурному поданні деяку залежність У прикладі In [1] на   Мал . На малюнку зліва ми обійшлися без додаткових налаштувань. Оскільки кількістю контурів і їх оформленням в тривимірному випадку можна маніпулювати точно так же, як і в двовимірному, на малюнку справа ми побудували на малюнку п'ять контурів, Contours-> 5 /, що характеризують залежність, і кожен з них розфарбували в певний колір, ContourStyle- > {Red, Orange, Green, Cyan, Blue}.

У прикладі In [2] на Мал. 7.10 ми побудували контурну поверхню тієї ж залежності, що задовольняє умові У прикладі In [2] на   Мал .


Мал.7.10.

Подання функцій трьох змінних в тривимірному просторі

Мається на Mathematica і функція для подання в тривимірному просторі дискретного набору даних за трьома координатам - ListContourPlot3D. Як аргумент виступає трирівневий вкладений список, т. О., Функція задається у вигляді ListContourPlot3D [{{{f111, f112, ...}, {f121, f122, ...}, ...}, {{f211, f212, ...}, {f221, f222, ...}, ...}, ...}], де індекси у вигляді ijk нумерують елемент списку зі значенням функції fijk. на малюнку 7.11 ми побудували ту ж залежність, що і в прикладі In [1] на Мал. 7.10 , Однак поставили її в дискретному вигляді за допомогою функції Table.

Спеціальних функцій для плотностной візуалізації залежностей від трьох змінних в Mathematica немає.

Детальніше про тривимірних функціях візуалізації залежностей від трьох змінних див. Книгу В. П. Дьяконова [2, с. 468-470] .


Мал.7.11.

Подання дискретних наборів даних від трьох змінних в тривимірному просторі

7.5. Тривимірні графічні примітиви

Примітиви двовимірної графіки, точка, лінія, прямокутник, багатокутник, дуга, диск, текст, використовуються також і для побудови тривимірних графічних зображень. Єдина відмінність в тривимірному випадку полягає в тому, що позиції всіх точок описуються двома, а трьома координатами.

Для того щоб перетворити в малюнок тривимірні примітиви, до них слід застосувати функцію Graphics3D. на Мал. 7.12 ми зобразили в тривимірному просторі точку, лінію і багатокутник (трикутник). Для того щоб відрізняти тривимірне зображення від двовимірного Mathematica уклала зображення на коробку.


Мал.7.12.

Використання двовимірних примітивів в тривимірній графіці

Однак тривимірна графіка володіє власними специфічними примітивами, що представляють собою тривимірні мінімальні об'єкти: це паралелепіпед (cuboid), сфера (sphere), циліндр (cylinder), конус (cone), труба (tube).

Примітив Cuboid [{xmin, ymin, zmin}, {xmax, ymax, zmax}] малює паралелепіпед, сторони якого паралельні координатним осях, а протилежні кути на одній з діагоналей мають координати {xmin.ymin, zmin} і {xmax, ymax, zmax}.

Примітив Sphere [{x, y, z}, r] зображує сферу радіуса r з центром в точці з координатами {x, y, z}.

на Мал. 7.13 ми зобразили за допомогою відповідних примітивів паралелепіпед і дві пересічних сфери. Крім того, ми скористалися вже відомої нам опцією Boxed для того, щоб прибрати обрамляє зображення "коробку". Слід зазначити, що цю опцію ми вказали поза списком, що містить графічні примітиви і директиви, а як окремий аргумент функції Graphics3D.


Мал.7.13.

Тривимірні графічні примітиви: паралелепіпед і сфера

Примітиви Cylinder [{{x1, y1, z1}, {x2, y2, z2}}, r] і Cone [{{x1, y1, z1}, {x2, y2, z2}}, r] малюють відповідно циліндр і конус з радіусами підстав r, осями яких виступає лінія з координатами {x1, y1, z1}, {x2, y2, z2}. Ефект використання обох примітивів проілюстрований на Мал. 7.14 .


Мал.7.14.

Тривимірні графічні примітиви: циліндр і конус

Примітив Tube малює в тривимірному просторі тіло, яке ми будемо називати трубою: це тривимірний об'єкт, який представляє собою деяку суперпозицію лінії і циліндра. Заданий у вигляді Tube [{{x (1), y (1), z (1)}, {x (2), y (2), z (2)}, ...}] примітив малює циліндри навколо ліній , що з'єднують точки з заданими координатами {x (i), y (i), z (i)}, {x (i + 1), y (i + 1), z (i + 1)} (ліве зображення в Out [1] на Мал. 7.15 ). Якщо задати функцію з додатковим аргументом, Tube [{{x (1), y (1), z (1)}, {x (2), y (2), z (2)}, ...}, r ], то малюються циліндри радіусу r (центральне зображення в Out [1]). Якщо ми звернемо увагу на відкриті кінці зображених за допомогою Tube тел, то побачимо, що вони не плоскі, як у циліндра, а округлені.

За допомогою примітиву Tube можна одночасно створювати зображення декількох труб, задавши в якості першого аргументу список описують їх ліній (праве зображення в Out [1] на Мал. 7.15 ). Можна міняти спосіб з'єднання циліндрів сусідніх відрізків лінії. Для цього використовується директива JoinForm. Існує три способи з'єднання: скіс (Bevel), округлення (Round) і кут (Miter). Всі способи представлені в прикладі In [2].

Детальніше про двовимірних і тривимірних графічних примітивах Mathematica - в книзі Ш. Гетца і Дж. Хелмстедт [9, с. 28-35, 49-52] .

Мерлин (Merlin)

Сериал Мерлин (Merlin) — это экранизация захватывающей книги о Короле Артуре, по легенде живший во времена магии и волшебства. Телеканал BBC постарался максимально передать атмосферу тех времён — идеально подобранные актеры, десятки сценаристов, работающих над адаптацией истории к кинематографу, потрясающие декорации и дорогостоящие костюмы и платья — всё это увлекает зрителя и позволяет прочувствовать историю былых времён..

Это лишь начало приключений юного Мерлина и принца Артура, чьи судьбы с этого момента будут крепко связаны. Впоследствии один из них станет самым могущественным и известным чародеем, другой — доблестным рыцарем и великим королем Альбиона…

Это удивительная история юного мага, который в впоследствии становится одним из самых могущественных и известных волшебников из тех, кто когда либо жил на земле…