Графіка в системі Maple V b> p>
1. Двовимірна графіка b> p>
1.1. Основні можливості двовимірної графіки b> p>
Лідером з графічним можливостям серед математичних систем для персональних комп'ютерів довгий час вважалася система Mathematics 2. Однак у
реалізації Maple V R4 можливості графіки системи Maple V наблизилися до таким у системи Mathematica 2 і навіть Mathematica 3. Вони настільки великі,
що, будь математична графіка Maple V єдиним призначенням системи, воно цілком виправдало б її розробку. p>
Графіка Maple V реалізує всі мислимі (і навіть «немислимі») варіанти математичних графіків - від побудови графіків простих функцій у Декартовою і
в полярній системах координат до створення реалістичних образів складних перетинаються в просторі фігур з їх функціональної забарвленням. Можливі
наочні графічні ілюстрації рішень найрізноманітніших рівнянь, включаючи системи диференціальних рівнянь. p>
У саме ядро Maple V вбудовано обмежене число функцій графіки. Це перш за все функція для побудови двовимірних графіків (20-типу) - plot і функція для
побудови тривимірних графіків (ЗО-типу) - plot3d. Вони дозволяють будувати графіки найбільш поширених типів. Для побудови графіків спеціального
типу (наприклад, у вигляді векторних полів градієнтів, рішення диференціальних рівнянь, побудови фазових портретів і т.д.) у пакети розширення системи
Maple V включено велику кількість різних графічних функцій. Для їхнього виклику необхідні відповідні вказівки. p>
Взагалі кажучи, засоби для побудови графіків прийнято вважати графічними процедурами або операторами. Однак ми збережемо за ними найменування функцій у
силу двох принципово важливих властивостей: p>
• графічні засоби Maple V повертають b> деякі графічні об'єкти, які розміщуються у вікні документа у рядку висновку або в окремому
графічному об'єкті; p>
• ці об'єкти можна використовувати як значень змінних, тобто змінним можна присвоювати значення графічних об'єктів і виконувати над ними
відповідні операції (наприклад, за допомогою функції show виводити на екран кілька графіків). p>
Графічні функції задані таким чином, що забезпечують побудову типових графіків без будь-якої особливої підготовки. Все, що для цього потрібно,
це вказати функцію, графік якої будується, і межі зміни незалежних змінних. Однак за допомогою додаткових необов'язкових параметрів - опцій
можна суттєво змінити вигляд графіків, наприклад, змінити стиль і колір ліній, вивести титульну напис, змінити вид координатних осей і т.д. p>
13.1.2. Основна функція двовимірної графіки - plot b> p>
Для побудови двовимірних графіків служить функція plot. Вона задається у вигляді: p>
plot (f, h, v) або plot (f, h, v, о), p>
де f - функція (або функції), чий (чиї) графік (и) будуються, h - змінна з вказівкою області її зміни по горизонталі, v - задана опціонально
змінна з зазначенням галузі зміни по вертикалі, про - опція або набір опцій, які задають стиль побудови графіка (товщину і колір кривих, тип кривих, мітки
на них і т.д.). p>
Самими простими формами завдання цієї функції служать: p>
plot (i, xmin .. xmax) - побудова графіка функції f, заданої тільки ймення! h2>
plot (f (x), x = xrnin .. xmax) - побудова графіка функції f (x). p>
Діапазон зміни незалежної змінної х задається як xmin .. xmax, де xmin і гпах - мінімальне та максимальне значення х, .. (дві крапки) - складової
символ, що вказує на зміну незалежної змінної. Зрозуміло, ім'я х тут дано умовно - незалежна змінна може мати будь-яке припустиме ім'я. p>
Для двовимірної графіки можливі наступні опції: p>
axes
Висновок різних типів координат (axes = NORMAL - звичайні осі, виводяться за замовчуванням, axes = BOXES --
графік полягає в рамку з оцифрованим осями, axes = FRAME - осі у вигляді перехрещених ліній і axes = NONE - осі • не виводяться).
color
Визначає колір кривих (див. далі).
coords
Завдання типу координатних систем (див. далі).
numpoints
Визначає мінімальну кількість точок графіка (за замовчуванням numpoints = 49).
resolutions
Встановлює горизонтальну роздільну здатність пристрою виведення (за замовчуванням resolutions-200, параметр
використовується при відключеному адаптивний метод побудови графіків).
scaling
Визначає масштаб графіка CONSTRAINED (стиснутий) або UNCONSTRAINED (незжатий - за умовчанням).
size
Визначає розмір шрифту в пунктах.
style
Визначає стиль побудови графіка (POINT - точковий, LINE - лініями).
symbol
Визначає вид символу для точок графіка (можливі значення BOX - прямокутник, CROSS - хрест, CIRCLE --
коло, POINT - точка, DIAMOND - ромб).
title
Визначає побудова заголовка графіка (title = «string», де string - рядок).
titlefont
Визначає шрифт для заголовка (так само як і для font).
labelfont
Визначає шрифт для міток (labels) на осях координат (так само як і для font).
thickness
Визначає товщину ліній графіків (0, 1,2,3, за умовчанням 0).
view = [A, B]
Визначає максимальні і мінімальні координати, в межах яких графік буде відображатися на
екрані, А = [xmin .. xmax], B = [ymin .. кутах] (за замовчуванням відображається вся крива).
xtickmarks
Встановлює мінімальне число відміток по осі X.
ytickmarks
Встановлює мінімальне число відміток по осі Y.
p>
В основному завдання параметрів особливих труднощів не викликає. За винятком завдання титульної написи з вибором шрифтів за замовчуванням - в цьому випадку не
завжди підтримується висновок символів кирилиці (російської мови). Підбором відповідного шрифту цю проблему вдається вирішити. p>
13.1.3. Завдання координатних систем 20-графіків і її перерахування b> p>
У версії Maple V R4 параметр coords задає 15 типів координатних систем для двовимірних графіків. За умовчанням задана прямокутна (Декартова) система
координат (coords = cartesian). При використанні інших координатних систем координати точок для них (u, v) перетворюються в координати (х, у) як (u, v)
-> (x, b> у). Нижче наведені найменування систем координат (значенні параметра coords) та відповідні формули перетворення: p>
bipolar b> p>
х = sinh (v)/(cosh (v)-cos (u)) у = sin (u)/(cosh (v)-cos (u)) p>
cardiod b> p>
х = [/ 2 * (u'2-v ~ 2)/(u'2 + v'2Y2 у = u * v/(ir2 + v "2) -2 p>
cartesian b> p>
х = u у = v p>
cassinian b> p>
x = a * 2 «(l/2)/2 * ((exp (2 * u) 2 * exp (l ^) * cos (v) + l)« (l/2) + p>
exp (u) * cos (v) + l) "(l/2) у = a * 2» (l/2)/2 * ((exp (2 * u) 2 * exp (u) * cos (v) + l) "(l/2) - p>
exp (u) * ws (v)-l )'-(/ 2)) p>
elliptic b> p>
x = cosh (u) * cos (v) у = sinh (u) * sin (v) p>
hyperbolic b> p>
x = ((iT2 + v-2) - (l/2) + u) - (l/2) у = ((^ 2 + у'2Г (/ 2)-ІУ (1/2)
invcassinian b> p>
x = a * 2 ~ (l/2)/2 * ((exp (2 * u) 2 * exp (u) * cos (v) + l) "(l/2) + p >
exp (u) * cos (v) + l) »(l/2)/(exp (2 * u) 2 * exp (u) * cos (v) + l) - (l/2) у = a * 2 »(l/2)/2 * ((exp (2 * u) - ^ 2 * exp (u) * cos (v) + l) - (l/2) - p>
exp (u) * cos (v)-l) »(l/2)/(exp (2 * u) 2 * exp (u) * cos (v) + l) - (l/2) p>
invelliptic b> p>
x = a * cosh (u) * cos (v)/(cosh (u) "2-sin (v) '2) у = a * sinh (u) * sin (v)/(cosh (u ) "2-sin (v)» 2) p>
logarithmic b> p>
x = ii/Pi * ln (u'2 + v'2) у = 2 * a/Pi * arctan (v/u) p>
logcosh b> p>
x = a/Pi * n (c.osh (uy2-sm (vy2) у = 2 * a/Pi * arctan (tanh (u) * tan (v)) p>
maxwell b> p>
x = a/Pi * (u + l + exp (u) * cos (v)) у = a/Pi * (v + exp (u) * sin (v)) p>
parabolic b> p>
x = (u'2-v ^ 2)/2 у = u * v p>
I'I- p>
polar b> p>
x = u * cos (v) у = u * sin (v) p>
rose b> p>
x = ((u'2 + v'2Y (/ 2) + ur (/ 2)/(u ~ 2 + v'2) - (i/2) у = ((^ 2 + v'2 ) - (/ 2)-u) - (/ 2)/(u'2 + ^ 2r (/ 2)
p>
tangent b> p>
x = u/tu ^ + v ^) у = v/(iT2 + v'2) p>
13.1.4. Управління стилем і кольором ліній 20-графіків b> p>
Maple V R4 дозволяє відтворювати на одному графіку безліч кривих. При цьому виникає необхідність з виділення. Для цього можна використовувати
побудова лінії різними стилями і різними кольорами і різною товщиною ліній. Набір засобів виділення кривих дозволяє впевнено розрізняти їх як на екрані
кольорового дисплея і роздруківках кольоровим струменевих принтером, так і при друку монохромними принтерами. p>
Параметр style дозволяє задавати наступні стилі для ліній графіків: p>
SPISV = POINT або point - графік виводиться по точках; p>
LINE або line - графік виводиться лінією. p>
Якщо задано побудова графіка точками то параметр symbol дозволяє представити точки у вигляді різних символів, наприклад, прямокутника, хреста,
окружності або ромба. p>
Інший параметр color дозволяє встановити великий набір квітів ліній графіків: p>
aquamarine black blue navy coral cyan brown gold green gray grey khaki magenta maroon orange pink plum red sienna tan turquoise violet wheat white
yellow p>
Різні кольорові відтінки виходять використанням RGB-комбінацій базових квітів: red - червоний, green - зелений, blue - синій. Наведемо переведення низки
інших комбінованих кольорів: black - чорний, white - білий, khaki - колір «хакі», gold - золотистий, orange - помаранчевий, violet - фіолетовий, yellow --
жовтий і т.д. Переклад квітів деяких відтінків на російську мову не завжди однозначний і тому не наводиться. Засоби керування стилем графіків дають
можливість легко виділяти різні криві на одному малюнку, навіть якщо для виділення не використовуються кольору. p>
13.2. Приклади побудови основних типів 20-графіків b> p>
13.2.1. Побудова графіків однієї функції b> p>
При побудові графіка однієї функції вона записується в явному вигляді на місце шаблону f. Приклади побудови графіка однієї функції представлені на рис. 13.1.
Зверніть увагу на те, що графік функції sin (x)/x будується без p>
характерного провалу в точці х = 0, який спостерігається при побудові графіків цієї функції багатьма програмами. Він пов'язаний з використовуваним у них
правилом - функція задається рівною нулю, якщо її чисельник дорівнює нулю. Ця функція в цій точці дає устранімим невизначеність 0/0-> 1, що і
враховує графічний процесор системи Maple V. p>
p>
Рис. 13.1. Приклади побудови графіків однієї функції. h2>
При побудові графіків однієї функції можуть бути введені покажчики масштабів і різні опції, наприклад завдання кольору кривої, товщини лінії, якої
будується графік функції та інші параметри. Наприклад, запис у списку параметрів со1ог = 0 (не документована можливість) або запис color = black
задають висновок кривих чорним кольором, а запис thinkness = 2 задає в другому прикладі рис. 13.1 побудова графіка лінією, подвоєною в порівнянні зі звичайною
товщиною. p>
13.2.2. Управління масштабом графіків b> p>
Для керування масштабом графіків служать покажчики масштабів. У ряді випадків їх можна не застосовувати і система автоматично задає прийнятні масштаби.
Проте їх явне застосування дозволяє задати масштаб «вручну». Іноді відповідне завдання масштабу випадково чи цілеспрямовано веде до відсікання
частини графіка - наприклад, на рис. 13.2 в першому прикладі відсічена верхня частина графіка. p>
Правильний вибір масштабу підвищує показність графіків функцій. Рекомендується спочатку пробувати будувати такі графіки з автоматичним
масштабуванням, а вже потім використовувати покажчики масштабів. p>
13.2.3. Графіки функцій в необмеженій масштабі b> p>
Зрідка зустрічаються графіки функцій цх), які треба побудувати при зміні значення х від нуля до нескінченності або навіть від мінус нескінченності
до p>
p>
Рис. 13.2. Побудова графіків функції з явним зазначенням масштабу. h2>
плюс нескінченності. Нескінченність у таких випадках задається в описах масштабу як особлива константа infinity. У цьому випадку масштаб автоматично
змінюється по ходу побудови графіка. Рис. 13.2 (другий приклад) ілюструє сказане. Перерахунок значенні координати х, спрямовуються в нескінченність,
виконується за допомогою функції для арктангенс. p>
13.2.4. Графіки функцій з розривами b> p>
Деякі функції, наприклад tan (x), мають при певних значеннях х розриви, причому трапляється що значення функції в цьому випадку спрямовуються в
нескінченність. Функція tan (x), приміром, у точках розривів спрямовується до + ° ° і - ° °. Побудова графіків таких функцій нерідко дає погано передбачувані
результати. Графічний процесор Maple V не завжди в змозі визначити оптимальний масштаб по осі ординат, а графік функції виглядає вельми
непредставітельно - якщо не сказати потворно (див. рис. 13.3 - перший приклад). p>
Серед параметрів функції plot є спеціальний параметр discont. Якщо задати його значення рівним true, то якість графіків істотно поліпшується - см.
рис. 13.3 - другий приклад. Поліпшення досягається розбивкою графіка на декілька ділянок, в яких функція неперервна, і більш ретельним контролем за
масштабом. p>
13.2.5. Побудова графіків декількох функцій на одному малюнку b> p>
Важливе значення має можливість побудови на одному малюнку графіків декількох функцій. У простому випадку (рис. 13.4 перший приклад) для
побудови таких графіків достатньо перерахувати потрібні функції і встановити для них загальні масштаби. p>
p>
Рис. 13.3. Побудова графіків функції з розривами. h2>
Зазвичай графіки різних функцій автоматично будуються різними кольорами. Але вони не завжди задовольняють користувача - наприклад, при роздруку графіків
монохромним принтером деякі криві можуть виглядати занадто бляклими або навіть не пропечатані взагалі. Використовуючи списки параметрів color (колір лінії) і
style (стиль ліній) можна домогтися виразного виділення кривих - це показує другий приклад на рис. 13.4. p>
p>
Рис. 13.4. Графіки трьох функції на одному малюнку. h2>
На рис. 13.5 показаний ще один приклад такого роду. Тут побудовано графік функції sin (x)/x і графік її поліноміальною апроксимації. Вона виконується
настільки просто, що відповідні функції записані прямо в списку параметрів функції plot. p>
p>
Рис. 13.5. Графік функції sin (x)/x і її поліноміальною апроксимації. h2>
У даному випадку сама функція побудована суцільною лінією, а графік полінома - хрестиками. Добре видно, що при малих х апроксимація дає високу точність,
але потім із зростанням х похибка її різко зростає. p>
Рис. 13.6 показує побудова декількох цікавих функцій, отриманих за допомогою комбінацій елементарних функцій. Ці комбінації дозволяють отримувати
періодичні функції, що моделюють сигнали стандартного вигляду в технічних пристроях: у вигляді напруги на виході двухполуперіодного випрямляча,
симетричних прямокутних коливань (меандр), Пікоподібне і трикутних імпульсів, трикутних імпульсів з округленій вершиною. p>
У цьому малюнку запис axes = NONE прибирає координатні осі. Зверніть увагу, що зсув графіків окремих функцій вниз з метою усунення їх накладення
досягнуто просто додатком до запису кожної функції деякої константи. p>
13.2.6. Побудова графіків функцій, заданих окремими точками b> p>
Показаний на рис. 13.5 графік полінома, побудований хрестиками, не означає, що поліном представлений окремими точками. У даному випадку просто
обраний стиль лінії у вигляді крапок, представлених хрестиками. Однак, часто виникає необхідність побудови графіків функції, які представлені
просто сукупністю точок. Вона може бути створена штучно, як на рис. 13.7, або просто здаватися списком координат х і значень функції. p>
p>
Рис. 13.6. Побудова графіків декількох цікавих функції. h2>
p>
Рис. 137. Формування списку окремих точок функції та їх побудова на графіку. h2>
У даному випадку змінна Р має вигляд списку, в якому попарно перераховані координати точок функції sin (x). У цьому неважко переконатися, замінивши знак «:»
після висловлення, що задає Р на знак «;». Далі за списком Р побудований графік точок у вигляді хрестиків, які відображають окремі значення функції sin (x). p>
На рис. 13.8 показано побудову графіків функцій по точках при явному завданні функції списком координат її окремих точок. У першому прикладі ці p>
точки з'єднуються відрізками прямих, так що виходить кусково-лінійний графік. Видно також, що вказівка типу точок після вказівки стилю лінії
ігнорується, - а шкода, було б непогано, щоб поряд з кусково-лінійної лінією графіка будувалися і виділені колом точки. p>
p>
Рис. 13.8. Побудова графіка функції явно заданої окремими точками. h2>
У другому прикладі рис. 13.8 показано побудову тільки точок заданої функціональної залежності. Вони представлені маленькими гуртками. p>
Читачеві пропонується самому поєднати обидва підходи до побудови графіків по точках і створити графік у вигляді відрізків прямих, що з'єднують задані точки
функції, представлені гуртками чи хрестиками. p>
13.2.7. Побудова графіків функцій, заданих їх іменами b> p>
Здатність Maple V до спрощення роботи користувача просто вражаюча - шкода тільки, що багато можливостей цього стають зрозумілими після
грунтовного вивчення системи, на що йдуть на жаль не дні, а місяці, а то й роки. Стосовно до графіку однієї з таких можливостей є побудова
графіків функцій, заданих тільки їх функціональними іменами - навіть без вказівки параметрів у круглих дужках. Таку можливість наочно демонструє
рис. 13.9. p>
Цей приклад показує, що можлива побудова графіків функцій навіть без застосування в команді plot покажчиків масштабів. При цьому масштаб по
горизонтальної осі встановлюється рівним за замовчуванням -10 .. 10, а по вертикальній осі встановлюється автоматично у відповідності з екстремальними
значеннями функцій у зазначеному діапазоні зміни незалежної змінної - умовно х. p>
p>
Рис. 13.9. Побудова графіків чотирьох функції, заданих тільки їх іменами. h2>
13.2.8. Побудова графіків функції з ордината, заданими вектором b> p>
Часто виникає необхідність побудови графіка точок, ординати яких є елементами деякого вектора. Зазвичай при цьому передбачається
рівномірне розташування точок по горизонтальній осі. p>
Приклад побудови такого графіка даний на рис. 13.10. p>
З цього прикладу неважко помітити, що дана задача вирішується складанням списку парних значень координат вихідних точок - до значень ординат точок,
взятих з вектора додаються значення абсцис. Вони задаються суто умовно, оскільки ніякої інформації про абсциса точок у вихідному векторі немає. Так що
фактично будується графік залежності ординат точок від їх порядкового номера п. p>
13.2.9. Побудова графіків функцій, заданих процедурами b> p>
Деякі види функцій, наприклад кусково, зручно задавати процедурами. Побудова графіків функцій, заданих процедур, не викликає ніяких
труднощів і ілюструється рис. 13.11. p>
Тут, мабуть, корисно звернути увагу на те, що коли у функції plot вказується
ім'я процедури без списку її параметрів, то покажчик масштабу повинен просто вказувати межі графічних побудов по осі х. p>
p>
Рис. 13.10. Побудова графіка точок з ордината, заданими елементами вектора. h2>
p>
Рис. 13.11. Побудова графіка функцій, заданих процедурами h2>
13.2.10. Побудова графіків функцій, заданих функціональними операторами b> p>
Ще один «екзотична» можливість функції plot - побудова графіків функцій, заданих функціональними операторами. Вона ілюструється рис. 13.12. p>
p>
Рис. 13.12. Побудова графіків функції, заданої функціональними операторами. h2>
Імена функції (без зазначення списку параметрів у круглих дужках теж по суті є функціональними операторами. Так що і вони можуть
використовуватися при побудові графіків спрощеними способами. p>
13.2.11. Побудова графіків функцій, заданих параметрично b> p>
У ряді випадків для завдання деяких залежностей використовуються задані параметрично рівняння, наприклад x = fl (t) і y = f2 (t) при зміні змінної t
в деяких межах. Точки (х, у) наносяться на графік у Декартовою системі координат і з'єднуються відрізками прямих. Для цього використовується функція plot в
наступній формі: p>
plot ([fl (t), f2 (t), t = tmin .. tmax], h, v, p) p>
Якщо функції fl (t) і f2 (t) містять періодичні функції (наприклад, тригонометричні), то для одержання замкнутих фігур діапазон зміни
змінної t задається зазвичай 0 .. 2 * Pi або-Pi .. Pi. Наприклад, якщо задати як функцій fl (t) і f2 (t) функції sin (t) і cos (t), то буде отриманий графік
кола. Рис. 13.! 3 показує інші, трохи менш тривіальні приклади побудови графіків такого роду. p>
Завдання покажчиків масштабу h і v, а також параметрів р не обов'язково. Але, як і раніше, дозволяє отримати вигляд графіка, що задовольняє всім вимогам
користувача. p>
p>
Рис. 13.13. Побудова функції, заданих параметрично. h2>
13.2.12. Побудова графіків функцій в полярній системі координат b> p>
Графіки в полярній системі координат являють собою лінії, які описує кінець радіус вектора r (t) при зміні кута t в певних
межах - від tmin до tmax. Побудова таких графіків проводиться також функцією plot, що записується в наступному вигляді: p>
plot ([r (t), theta (t), t = tmin .. tmax], h, v, p, coords = polar) p>
Тут суттєвим моментом є завдання полярної системи координат опцією coords = polar. Рис. 13.14 дає приклади побудови графіків функцій у
полярній системі координат. p>
Графіки параметричних функцій і функцій в полярній системі координат відрізняються величезною різноманітністю. Сніжинки і візерунки морозу на склі,
деякі види кристалів і багато хто інші фізичні об'єкти підкоряються математичним закономірностям, покладеним в основу побудови таких графіків. p>
13.3. Побудова ЗО-графіків за допомогою функція plot3d b> p>
13.3.1. Особливості застосування функції plot3d b> p>
Для побудови графіків тривимірних поверхонь Maple має вбудовану в ядро функцію plot3d. Вона може використовуватися в наступних форматах: p>
p>
Рис. 13.14. Побудова графіків функцій в полярній системі координат. h2>
plot3d (exprl, x = a.. b, y = c.. d, p) plot3d (f, a.. b, c.. d, p) p>
plot3d ([exprf, exprg, exprh], s = a.. b, t = c.. d, p) plot3d ([f, g, h], a.. b, c.. d, p ). p>
У двох перших формах plot3d застосовується для побудови звичайного графіка однієї поверхні, в інших формах - для побудови графіка з параметричної
формою завдання поверхні. У наведених формах: f, g та h - функції, expri - вираз, що відображає залежність від х і у, exprf, exprg і exprh - вирази,
задають поверхню параметрично, s, t, а і b - числові константи дійсного типу, end - числові константи або вираження дійсного
типу, х, у, s і t - імена незалежних змінних і р - параметри-опції. Параметри для функції plot3d задаються аналогічно їх завданням для функції plot. p>
13.3.2. Параметри функції plot3d b> p>
За допомогою параметрів р. можна в широких межах управляти видом тривимірних графіків, виводячи або прибираючи лінії каркасною сітки, вводячи функціональну забарвлення
поверхонь, змінюючи кут їх огляду і параметри освітлення, змінюючи вигляд координатних осей і т.д. p>
Наступні параметри функції plot3d задаються аналогічно їх завданням для функції plot: p>
axesfont font color coords font labelfont linestyle numpoints scaling style symbol thickness title titlefont p>
Однак функція plot3d має ряд додаткових специфічних параметрів: p>
ambientlight = [r, g, o]
Визначає інтенсивність червоного (red), зеленого (green) і синього (blue) кольорів у відносних
одиницях (від 0 до 1).
axes = f
Визначає вид координатних осей (BOXED, NORMAL, FRAME і NONE, за замовчуванням NONE).
grid = [m, nl
Визначає число лінії каркаса поверхні.
gridstyle = x
Визначає стиль ліній каркаса х ( 'rectangular' або 'triangular').
labels = [x, y, z]
Визначає написи по осях (х, у і z - рядки, за замовчуванням порожні).
light = [phi, theta, r, g, b]
Визначає кути, під якими розташоване джерело освітлення поверхні та інтенсивності складових (г, g
і b) кольору.
lightmodel = x
Визначає режим яскравості (відповідно, none ", 'lightl', 'light2', 'light3' і 'light4').
orientation = [theta, phi]
Визначає кути орієнтації поверхні (за замовчуванням 45 градусів).
projection = r
Визначає перспективу при огляді поверхні (г може бути числом 0 або 1, що задає включення або
вимкнення перспективи, а також одного з рядків 'FISHEYE', 'NORMAL', або 'ORTHOGONAL' (це відповідає чисельному значенню г 0, 0.5, або 1,
відповідно, причому за замовчуванням задано projection = ORTHOGONAL).
shading = s
Визначає напрямки, за якими змінюється колір функціональної забарвлення (значення s можуть бути XYZ, XY,
Z, ZGREYSCALE, ZHUE, NONE).
tickmarks = [l, n, m]
Визначає характер маркування по осях х, у и z (числа 1, п и m мають значення не менше 1).
view = zmin .. zmax або Ixmin .. xmax, ymin .. ymax, zmin .. zmax]
Визначає мінімальні і максимальні координати поверхні для її видимих ділянок.
p>
13.3.3. Вибір і перерахунок координат ЗО-графіків b> p>
Для тривимірних графіків можливо завдання 31-го типу координатних систем за допомогою параметра соога5 = Тіп_коордінатноі_сістемь1. Оскільки на екрані дисплея
поверхню відображається тільки в прямокутній системі координат і характеризується координатами х, у и z, то для подання поверхні,
заданої в іншій системі координат з координатами u, v і w використовуються відомі [46,47] формули для перетворення (u, v, w) -> (х, у, z). Нижче
представлені типи координатних систем для тривимірної графіки і відповідні формули перетворення: p>
bipolarcylindrical b> p>
х = a * sinh (v)/(cosh (v)-cos (u)) у = a * sin (u)/(cosh (v)-cos (u)) z = w p>
bispherical b> p>
х = sin (u) * cos (w)/d у = sin (u) * sin (w)/dz = sinh (v)/d (де d = cosh (v) - cos (u)) p>
cardiodal b> p>
x = u * v * cos (w)/(lГ2 + v »2) -2 у = u * v * sin (w)/(ir2 + v" 2r2 z = (u "2-v'2 )/2/^ 2 + v'2) -2
p>
cardiodcylindrical b> p>
x = (u'2-v ~ 2)/2/(u'-2 + v ~ 2) '-2 у = u * v/(u'2 + v-2) "2 z = w p>
casscylindrical b> p>
x = a * 2 ~ (l/2)/2 * ((exp (2 * u) 2 * exp (u) * cos (v) + l) - (l/2) + exp (u ) * cos (v) + l) - (l/2) y =
a * 2 «(l/2)/2 * ((exp (2 * u) 2 * exp (u) * cos (v) + l)" (l/2)-exp (u) * cos (v )-l) "(l/2) z = w p>
confocalellip b> p>
x = ((a ~ 2-u) * (a'2-v) * (a "2-w)/(a'2-b''2)/(a-2-c-2) Y (l/2) у = ((b »2-u) * (b ~ 2-v) * (b" 2-w)/(b "2-a» 2)/(b »2-c« 2)) '(l/2) z = ((c''2-u) * (^ 2-v) * (c''2-w)/(c'2-a'2)/(c ^ 2 -)''2)) ~ (l/2)
p>
confocalparab b> p>
x = ((a'2-u) * (si'2-v) * (a'2-w)/(V2-a'2)) '(l/2) у = ((b » 2-u) * (b »2-v) * (b-2-w)/(b-2-a-2)
Г (1/2) z = (a "2 + b" 2-u-v-w)/2 p>
conical b> p>
x = u * v * w/(a * b) у = u/b * ((v "2 - h ~ 2) * (b ~ 2-w''2)/(a ~ 2-V2 ) Y (l/2) z = u/a * ((a'2 - v'2) * (a'2 - w ~ 2)/(a-2-b »2))" (l/2) p>
cylindrical b> p>
x = u * cos (y) у = u * sin (y) z = w p>
ellcylindrical b> p>
x = a * cosh (u) * cos (v) у = a * sinh (u) * sin (v) z = w p>
ellipsoidal b> p>
x = u * v * w/a/b у = ((u '^-b ^ Mv ^-b ^ ^ b ^-w ^ Aa ^-b ^ ^ l ^/bz = ((u - 2-a »2) * (a • 2-v« 2) * (a »2-w" 2)/(a • 2-b'2)) »(l/2)/a p>
hypercylindrical b> p>
x = ((u "2 + v" 2Y (l/2) + u) '(l/2) y ^ u ^ + v ^ ni ^-iO-O/^) z = w p >
invcasscylindrical b> p>
x = a * 2 - (l/2)/2 * ((exp (2 * u) 2 * exp (u) * cos (v) + l) - (l/2) + p >
exp (u) * cos (v) + l) '(l/2)/(exp (2 * u) 2 * exp (u) * cos (v) + l)' (l/2) у = a * 2 - (l/2)/2 * ((exp (2 * u) 2 * exp (u) * cos (v) + l) - (l/2) - p>
exp (u) * cos (v)-l) »(l/2)/(exp (2 * u) 2 * exp (u) * cos (v) + l)« (l/2) z = w p>
invellcylindrical b> p>
x = a * cosh (u) * cos (v)/(cosh (ur2-sin (v) "2) у = a * sinh (u) * sin (v)/(cosh (u)" 2 -sin (v) ~ 2) z = w p>
invoblspheroidal b> p>
x = a * cosh (u) * sin (v) * cos (w)/(cosh (u) "2-cos (v)« 2) у = a * cosh (u) * sin (v) * sin (w)/(cosh (u) '2-cos (v) "2) z =
a * sinh (u) * cos (v)/(cosh (u) «2-cos (v) '2) p>
invprospheroidal b> p>
x = a * sinh (u) * sin (v) * cos (w)/(cosh (u) '2-sin (v) "2) у = a * sinh (u) * sin (v) * sin (w)/(cosh (u) «2-sin (v)« 2) z =
a * cosh (Ll) * cos (v)/(cosh (u) »2-s ^ n (v) • 2) p>
logcoshcylindrical b> p>
x =! i/Pi * n (cosh (uY2-sm (vY2) у = 2 * a/Pi * arctan (tanh (u) * tan (v)) z = w p>
maxwellcylindrical b> p>
x = a/Pi * (u + l + exp (u) * cos (v)) у = a/Pi * (v + exp (u) * sin (v)) z = w p>
oblatespheroidal b> p>
x = a * cosh (u) * sin (v) * cos (w) у = a * cosh (u) * sin (v) * sin (w) z = a * sinh (u) * cos ( v) p>
paraboloidal b> p>
x = u * v * cos (w) у = u * v * sin (w) z = (u "2 - v'2)/2 p>
paraboloidal2 b> p>
x = 2 * ((ua) * (av) * (aw)/(ab)) - (l/2) у = 2 * ((ub) * (bv) * (bw)/(ab) ) - (l/2) z = u + v + w-a-b p>
paracylindrical b> p>
x = (u'2 - v'2)/2 у = u * v z = w p>
prolatespheroidal b> p>
x = a * sinh (u) * sin (v) * cos (w) y = a * sinh (u) * sin (v) * sin (w) z = a * cosh (u) * cos ( v) p>
rectangular b> p>
x = і у = v • z = w p>
rosecylindrical b> p>
x = ((1Г2 + у-2) - (1/2) + и) - (1/2)/(1Г2 + у-2Г (1/2) у = ((u'2 + v ' 2y (l/2)-uY (l/2)/(u'2 + v'2V (/ 2)
z = w p>
sixsphere b> p>
x = u/(u'2 + v'2 + w'2) у = v/(u'-2 + v'2 + v /''2) z = w/(u'2 + v '2 + w'2)
p>
spherical b> p>
x = u * cos (v) * sin (w) у = u * sin (v) * sin (w) z = u * cos (w) p>
tangentcylindrical b> p>
x = u/(ir2 + v "2) у = v/(u« 2 + v »2) z = w p>
tangentsphere b> p>
x = u-costwVdj ^ + v ^) у = u * sin (w)/(ir2 + v "2) z = v/(u" 2 + v ~ 2) p>
toroidal b> p>
x = a * sinh (v) * cos (w)/d у = a * sinh (v) * sin (w)/dz = a * sin (u)/d (де d = cosh (v) - cos (u)) p>
Ці формули корисно знати, оскільки в літературі зустрічаються дещо відмінні формули перерахунку. p>
Вид графіків тривимірних поверхонь дуже сильно відрізняється в різних p>
координатних системах. За замовчуванням тривимірні графіки будуються в прямокутній системі координат - rectangular. p>
13.4. Приклади побудови тривимірних поверхонь за допомогою функції plot3d b>
p>
13.4.1. Найпростіше побудова ЗО-поверхні з різним стилем b> p>
На рис. 13.15 показано два приклади найпростіших побудов графіків тривимірної поверхні. За замовчуванням будується каркасна поверхню з функціональної
забарвленням тонких ліній каркаса і видаленням невидимих ліній. Щоб графік виглядав більш чітким, побудова в першому прикладі задано лініями чорного кольору
за допомогою параметра color-black. p>
p>
Рис. 13.15. Приклади найпростішого побудови тривимірних поверхонь. h2>
У другому прикладі та сама поверхня побудована з параметром style = patch, що призводить до появи її функціональної забарвлення (на жаль, на малюнках у книзі
сприймається як забарвлення відтінками сірого кольору). Функціональна забарвлення робить малюнки більш інформативними. p>
Крім значення path, можна задавати ряд інших стилів для побудови тривимірних поверхонь: point - крапками, contour - контурними лініями, line --
лініями, hidden - лініями каркаса з видаленням невидимих ліній, wireframe - лініями каркаса з усіма видимими лініями, patchnogrid - з розфарбуванням, але без
ліній каркаса, patchcontour - розфарбування з лініями однакового рівня. p>
Колір тривимірного графіка може задаватися (як і у двовимірного) опцією со1ог = с, де с - колір (відтінки кольору вказувалися вище). Можливо ще два
алгоритму завдання кольору: p>
HUE b> - алгоритм з завданням кольору у вигляді color = f (x, y); p>
RGB b> - алгоритм з завданням кольору у вигляді color = [exprr, exprg, exprb], де вирази exprr, exprg і exprb - вирази, які визначають відносну значимість
(від Про до 1) основних кольорів (червоного - red, зеленого - green і синього - blue). p>
Вдалий вибір кутів огляду фігури і застосування функціональної забарвлення дозволяють додати побудов тривимірних фігур дуже ефектний і
реалістичний вигляд. p>
13.4.2. Побудова фігур в різних системах координат b> p>
Як зазначалося, вигляд графіка тривимірної поверхні істотно залежить від вибору координатної системи. Рис. 13.16 показує приклад побудови
нелінійного конуса в циліндричної системи координат. Для завдання такої системи координат використовується параметр coords = cylindrical. p>
p>
Рис. 13.16. Нелінійна циліндрична поверхня. h2>
При побудові цієї фігури також використана кольорова функціональна забарвлення. Крім того, цей приклад ілюструє висновок над малюнком титульної
написи. p>
Наведемо ще один приклад побудови тривимірної поверхні - на цей раз в сферичної системі координат (рис. 13.17). Тут функція задана взагалі
елементарно просто - у вигляді числа 1. Але оскільки вибрана сферична система координат, то будується поверхню кулі одиничного радіусу. p>
При цьому побудові також задана функціональна забарвлення поверхні і висновок титульної написи. p>
Про те, наскільки незвичайним може бути графік тієї або іншої функції в різних системах координат свідчить рис. 13.18. На ньому показано графік
параметрично заданої функції від однієї координати t - sin (t "3), побудований в сферичної системі координат. p>
До речі, рис. 13.18 ілюструє можливість одночасного спостереження більш ніж одного вікна - у даному випадку двох вікон. В одному вікні задано побудова
графіка, а в іншому - побудований сам графік. При побудові графіка в окремому p>
p>
Рис. 13.17. Побудова кулястої поверхні в сферичної системі координат. h2>
p>
Рис. 13.18. Графік ще однієї поверхні в сферичної системі координат. h2>
вікні з'являється панель форматування графіка. За допомогою її досить наочних кнопок-піктограм можна легко скорегувати допоміжні параметри
графіка (забарвлення, наявність ліній каркаса, орієнтацію та ін.) p>
13.4.3. Побудова графіків параметрично заданих поверхонь b> p>
На рис. 13.19 показано побудову поверхні при повному її параметричної завданні. У цьому випадку поверхня задається трьома формулами, що містяться в
списку. p>
p>
Рис. 3.19. Графік ЗО-поверхні при повному параметричної її завданні. h2>
У даному випадку функціональна забарвлення задана з меню, тому до складу функції відповідний параметр не введений. p>
13.4.4. ЗО-графік як графічний об'єкт b> p>
Належність функції plot і plot3D до функцій (у ряді книг їх називають операторами, командами або процедурами) наочно виявляється при створенні графічних
об'єктів. p>
Графічний об'єкт - це по суті звичайна змінна, якій присвоюється значення графічної функції. Після цього така змінна,
будучи викликаною, викликає побудову відповідного графіка. Приклад цього дано на рис. 13.20. p>
У цьому випадку будується кільце Мебіуса, властивості якого (наприклад, плавний перехід з одного боку стрічки на іншу) вже багато століть розбурхують
уяву людей. p>
13.4.5. Завдання 30-графіки у вигляді процедури b> p>
Мова програмування Maple V допускає застосування у процедурах будь-яких внутрішніх функцій, в тому числі графічних. Приклад такого застосування дає рис.
13.21. p>
p>
Рис. 13.20. Приклад завдання і виведення тривимірного графічного об'єкта h2>
p>
Рис. 13.21. Приклад створення та застосування процедури ЗО-графіки. h2>
Цей приклад показує ще один спосіб завдання та побудови кільця Мебіуса. Практично будь-які графічні побудови можна оформляти у вигляді процедури і
використовувати такі процедури у своїх документах. Докладно створення графічних процедур описано в книзі [38], що поставляється в складі комерційної реалізації
системи. p>
13.4.6. Побудова ряду тривимірних фігур b> p>
Функція plot3d дозволяє будувати одночасно кілька фігур, що перетинаються в просторі. При цьому вона володіє унікальною можливістю --
автоматично обчислює точки перетину фігур і показує тільки видимі частини відповідних фігур. Це створює графіки фігур, що виглядають цілком
природно. p>
Для побудови таких графіків досить замість однієї функції зазначити ряд функцій. Приклад такої побудови для двох функцій показано на рис. 13.22. p>
p>
Рис. 13.22. Приклад побудови двох SD-фігур, що перетинаються в просторі. h2>
Фігура на рис. 13.22 показана після її корекції та функціональної фарбування в «ручному» режимі - з застосуванням інструментальної панелі вікна графіки. p>
13.5. Графічні структури двовимірної і тривимірної графіки b> p>
13.5.1. Поняття про графічних структурах b> p>
Опції PLOT і PLOT3D, з іменами, набраними великими літерами, дозволяють створювати графічні структури, що містять ряд графічних об'єктів si, s2, s3
і т.д. Кожен об'єкт може являти собою точку чи фігуру, полігон, напис і т.д., позиціонувати з високою точністю в заданій системі
координат. Координатні осі також відносяться до графічних об'єктів. Важливо відзначити, що функції PLOT і PLOT3D одночасно є даними, що описують
графіки. Їх можна записувати у вигляді файлів і (після зчитування файлів) представляти у вигляді графіків. Особливі властивості цих функцій підкреслюються
записом їх прописними літерами. p>
13.5.2. Графічні структури двовимірної графіки b> p>
Графічна структура двовимірної графіки задається у вигляді: p>
PLOT (sl, s2, s3 ,..., o); p>
де si, s2, s3 .... - Графічні об'єкти (або елементарні структури-примітиви), о - загальні для структури опції). p>
Основними об'єктами є: p>
POINTS ([xl, yl], [x2, y2 ),...[ xn, ynj) - побудова точок, заданих їх координатами; p>
CURVES ([[xll, yll ],...[ xln, yln ]],[[ x21, y21 ],...[ x2n, y2n ]],...[[ xml, yml] ". . [xmn, yrnn]]) - побудова кривих по точках; p>
POLYGONS ([[xll, yll |,...[ xln, yln ]],[[ x21, y2H ,...[ x2n, y2n ]],...[[ xml, yml], .. . [xmn.ymn]]) - побудова замкнутої області - полігону (остання крапка має
збігатися з першими); p>
Техт ([х, у], 'string', horizontal, vertical) - виведення текстової написи 'string', позіційованої координатами [х, у] з горизонтальної або вертикальної
орієнтацією. Опція horizontal може мати значення ALIGNLEFT або ALIGNRIGHT, які вказують, в який бік (ліворуч або праворуч) йде напис. Аналогічно опція
vertical може мати значення ALIGNABOVE або ALIGNBELOW, які вказують, в якому напрямку (вгору або вниз) йде напис. p>
При завданні графічних об'єктів (структур) si, s2, s3 і т.д. можна використовувати описані вище опції та параметри, наприклад, для завдання стилю
STYLE-побудови (POINT, LINE, PATCH, PATCHNOGRID), товщини ліній THICKNESS