Реферат: Комп ютерна графіка 2
Название: Комп ютерна графіка 2 Раздел: Рефераты по астрономии Тип: реферат | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Вступ На початку свого розвитку комп'ютерну графіку розглядали, як частину системного програмування для ЕОМ чи один з розділів систем автоматизованого проектування (САПР). Сучасна комп'ютерна графіка складає ряд напрямків і різноманітних застосувань. Для одних з них основою є автоматизація креслення технічної документації, для інших - проблеми оперативної взаємодії людини і комп'ютера, а також задачі числової обробки, розшифровки і передачі зображень. Сучасне розширення можливостей ЕОМ, створених для виконання обчислень, дає можливість комп'ютеру сприймати і наочно зображувати результати розрахунків, будувати необхідні комплексні креслення, схеми і т.п.. Зорове сприйняття графічної інформації для людини має важливе значення, обсяг і швидкість сприйняття зорових образів значні. Для представлення особливостей чи креслення будь-якого процесу досить декількох секунд, під час яких ми розглядаємо креслення, графік чи функції інше наочне зображення. Отже, важливість наочного представлення комп'ютером результатів числення важко переоцінити. Однією з основних підсистем САПР, что забезпечує комплексне виконання проектних робіт на основі ЕОМ, є комп'ютерна графіка (КГ ). Комп'ютерною чи машинною графікою називають наукову дисципліну, що розробляє сукупність засобів і прийомів автоматизації кодування, обробки і декодування графічної інформації. Іншими словами, комп'ютерна графіка розробляє сукупність технічних, програмних, інформаційних способів і методів зв'язку користувача з ЕОМ на рівні зорових образів для рішення різноманітних задач при виконанні конструкторської і технічної підготовки виробництва. Ведеться інтенсивний пошук шляхів і способів рішення проблеми різкого підвищення продуктивності інженерної роботи під час виконання креслярсько-графічних робіт, конструкторської і технологічної підготовок виробництва. Це викликано потребою ліквідувати розрив, що утворився між відносно високою продуктивністю автоматизованого процесу основного виробництва і низкою продуктивністю ручного чи механізованого процесу конструкторської і технічної підготовки виробництва. Вивчення комп'ютерної графіки обумовлено: · широким упровадженням системи комп'ютерної графіки для забезпечення систем автоматизованого проектування, автоматизованих систем конструювання (АСК) і автоматизованих систем технометричної інформації, що складає 60...80 % загального обсягу інформації, необхідної для проектування, конструювання і виробництва літаків, кораблів, автомобілів, складних архітектурних споруджень і т.п.: · необхідністю автоматизації виконання численних креслярсько-графічних робіт; · необхідністю підвищення продуктивності і якості інженерної роботи. Метою комп'ютерної графіки є підвищення продуктивності інженерної роботи і якість проектів, зниження вартості проектних робіт, скорочення термінів виконання їх. Задачею комп'ютерної графіки є звільнення людини від виконання трудомістких графічних операцій, які можна формалізувати: пошук оптимальних рішень, забезпечення природного зв'язку людини з ЕОМ на рівні графічних зображень. Розвиток комп'ютерної графіки (КГ) почався з появою пристроїв графічного ведення. Становлення КГ і широке її використання зв'язане зі створенням засобів графічного введення — виводу і дисплеїв — пристроїв побудови зображень на електронно-променевій трубці. При взаємодії користувача з комп'ютером розрізняють три режими роботи: пакетний; пасивно-интерактивный; інтерактивний. У пакетному режимі роботи графічна інформація формується і виводиться за допомогою заздалегідь написаного пакета прикладних програм — ППП (рис 1.1). Формування і висновок простих зображень у пакетному режимі на пристроях одержання твердих копий (телетайп, АЧПП) здійснювалося ще до початку використання комп'ютерів. У пасивно-інтерактивному режимі роботи графічна інформація формується і виводиться за допомогою заздалегідь написаних прикладних програм, у яких в яких передбачено багаторазові запити даних у користувача (Рис. 1.2). В інтерактивному режимі роботи графічна інформація формується і виводиться в режимі оперативно графічної взаємодії користувача і комп'ютера (Рис.1.3). Початком сучасної інтерактивної комп'ютерної графіки можна вважати дисертацию Сазерленда (1963 р.), присвячену графічній системі SKETCHPAD. Ця система могла відтворювати і перетворювати геометричні фігури за допомогою світлового пера. Робоче поле екрана поділяється на чотири частини для побудови проекцій об'єкта: вид перед, ліворуч, зверху й у перспективі. Будь-яка зміна однієї з проекцій автоматично визначала зміну всіх інших проекцій і зображення в перспективі. Отже, зрозуміло, наскільки широкі можливості комп'ютерної графіки для автоматизації креслярсько-графічних робіт з великим обсягом графічного матеріалу при машинному проектуванні й автоматизації виробництва в багатьох областях промисловості. У 60-роках виникає ряд дослідницьких проектів, з'являються розробки, придатні для комерційного поширення. Найбільш значними серед них були проекти фірми GENERAL MOTORS з використанням графічної системи з розподілом часу для багатьох етапів проектування автомобілів, система Digidraphic була створена фірмою для проектування лінз і дисплейна система ІВМ 2250, заснована на прототипі фірми GENERAL MOTORS. В Україні перша інтерактивна графічна система автоматизованого проектування електронних схем була розроблена Київським політехнічним інститутом і Науково-дослідним інститутом автоматизованих систем керування і плануванні в будівництві (НДІАСК, Київ) і демонструвалася в 1969р. Застосування КГ для формування різноманітної графічної інформації в різних областях людської діяльності свідчить про те, що комп'ютерна графіка і геометрія явища різноманітні і багатопланові. У рамках КГ зважуються такі проблеми: · розробка нових методів математичного забезпечення; · розробка програмних систем графічних мов; · створення нових ефективних технічних засобів для проектувальників, конструкторів і дослідників; · розвиток нових наукових дисциплін і навчальних предметів, що увібрало в себе аналітичну, прикладну і нарисну геометрію; · програмування для ЕОМ, методи обчислювальної математики, приладобудування. Комп'ютерна графіка складає цілий ряд напрямків і має різне застосування. За допомогою КГ вирішують багато графічних задач. У комп'ютері синтезуються прості і складні об'єкти: поверхні, тіла, структури. Без швидкого і точного рішення графічних і геометричних задач не можна освоювати космос, конструювати складні механізми і машини, будувати інженерні спорудження, розвивати медицину і т.п.. Комп'ютерну графіку широко застосовують при рішенні актуальної проблеми підвищення продуктивності і точності інженерної роботи. Цього досягають автоматизацією розрахунково-графічних робіт, вирішуючи різноманітні задачі в області машинобудування, літакобудування, профілювання складного різального інструмента і т.п.. Комп'ютерну графіку широко застосовують також при рішенні актуальної проблеми підвищення продуктивності і якості виготовлення виробів основного виробництва. Цьому сприяє автоматизована система технологічної підготовки виробництва {АСТПВ}, під якою розуміють будь-який автоматизований виробничий процес, яким керує комп'ютер. Найважливішими автоматизованими виробничими комплексами АСТПВ є: верстати з числовим програмним керуванням (ЧПК), верстат з мини-еом, програмно-керовані роботи, гнучкі виробничі системи. Усі види інженерної діяльності, керовані комп'ютерами, об'єднані за назвою автоматизованої системи інженерного забезпечення (АСІЗ), що включає: · планування процесу проектування з використанням комп'ютерного програмного забезпечення; · системи автоматизованого проектування різального інструмента і процесу обробки: · процедури автоматизованої системи керування виробництвом (АСУП); · процедури автоматизованої системи виробничого планування (АСВП) · системи автоматизації проектування, розміщення, оснащення на виробництві, зокрема графічну імітацію робототехніки. Цілковиту інтеграцію областей АСІЗ разом з економічними і бухгалтерськими системами називають комп’ютерно інтегрованим виробництвом (КІВ). КІВ ще тільки починає розвиватися на основі комп'ютерної графіки і, як правило, функціонує під керуванням головних комп'ютерів із загальною базою даних. ГЕОМЕТРИЧНЕ МОДЕЛЮВАННЯ НА ПЛОЩИНІ Пряма Різноманітність форм задання прямої, взагалі будь-якого геометричного образу, зумовлена зручністю застосування тієї чи іншої форми при розв'язанні конкретних задач. Тому перелік форм задання буде супроводжуватися даними про галузі застосування. Пряма в явній формі , (1.2) де k — тангенс кута нахилу прямої до осі абсцис; b — початкова ордината. Рівняння (1.2) називають рівнянням з кутовим коефіцієнтом. Ця форма дуже зручна для виразу умов паралельності (k1 =k2 ) та перпендикулярності () двох прямих з кутовими коефіцієнтами k1 та k2 . В алгоритмі покриття замкненої області штриховкою рівнянням (1.2) задають сім'ю паралельних ліній штриховки, змінюючи b з фіксованим кроком. В алгоритмі обчислення площі замкненої області підінтегральна функція є правою частиною рівняння (1.2). Форму (1.2) застосовують також в алгоритмі перетворення симетрії відносно прямої загального положення. Пряма в неявній формі Ах + Ву + С = 0 (1.2) Ліву частину цього рівняння застосовують для задання півплощин Ах + Ву + С > 0 (1.3) Ах + Ву + С < 0, (1.4) Якщо прийняти, яка з цих півплощин розміщена зліва, а яка справа від прямої, то цим самим можна орієнтувати пряму (1.2). Для зміни напряму прямої (1.2) на протилежний треба обидві частини рівняння (1.2) помножити на -1. При цьому півплощини (1.3) і (1.4) поміняються місцями. Сукупністю нерівностей, кожна з яких задає півплощину, задають область, обмежену опуклим багатокутником на площині, якщо кількість нерівностей менша від трьох. При цьому можна використовувати нерівності лише одного знака. Наприклад, внутрішність квадрата, зображеного на рис. 1.4 моделюється системою нерівностей -у + 2 > 0, -х + 2 > 0, у + 2 > 0, х + 2 > О, (1.5) а зовнішність квадрата, зображеного на рис. 1.5, — системою нерівностей. у - 1 > 0, х - 1 > 0, -у - 1 > 0, -х - 1 > О, (1.6) "Кільцева" область (рис. 1.6), яка обмежена двома попередніми квадратами моделюється системою з восьми нерівностей (1.5) і (1.6). Обчислення координат точки перетину двох прямих . Якщо прямі задані формою (1.2) А1 х+В1 у+С1 =0, (1.7) А2 х+ В2 у+ С2 =0, то координати точки перетину їх обчислюють за формулами (1.8) Якщо в = 0, а Dx ¹О або в y ¹0, то прямі паралельні. Якщо D=0, Dx = О, Dy = 0, то прямі збігаються. Рівняння прямої, що проходить через дві точки, має вигляд (1.9) Це рівняння доцільно застосовувати тоді, коли впорядкована послідовність точок сполучається ламаною. Ця послідовність задається масивами координат хi , уi (і =1,2, ..., n). Рівняння ланок ламаної дістанемо у вигляді (1.10) Рівняння (1.9) можна звести до вигляду (1.1), якщо обчислити k і b за формулами (1.11) та до вигляду (1.2), якщо обчислити А, В і С за формулами (1.12) Розглянемо ще параметричну форму за-дання прямої. Запишемо рівняння (1.9) у вигляді (1.13) Звідси , (1.14) де s є параметром. Якщо s = 0, то x = x1 | , у = y1 . Якщо s = 1, то x2 = х, у = у2 . Якщо О <д< 1, то точка лежить усередині відрізка (x1 , y1 ), (y2 , x2 ). Якщо s<0 або s >1, то точка лежить зовні відрізка. Параметричне рівняння (1.14) застосовують у багатьох алгоритмах комп'ютерної графіки: в алгоритмі покриття області штриховкою, в алгоритмах визначення видності — рухомого та нерухомого екранів тощо. Нехай область, яку треба покрити штриховкою (рис. 1.7), задана масивами координат (x1,y2), (x2,y2) (і = 1, 2, 3, 4). Рівняння ланок, що обмежують область, дістанемо у вигляді (1.10) при i = 1, 2, 3, 4. Визначивши iнтервал, який пробігає параметр b у рівнянні (1.1) сім'ї ліній штриховки, задамо крок зміни b. На кожному кроці треба розв'язати систему чотирьох рівнянь (1.10) і (1.1). У результаті дістанемо координати точок I…IV. Підставимо у формули (1.14) замість х та у знайдені координати хnj та ynj . Матимемо . (1.15) Якщо хі+1 -хі = 0, то слід скористатися другою формулою з (1.15), а якщо уі+1 -уі = 0, то - першою. У результаті для точок ІІ і ІІІ дістанемо значення s2 та s3 за межами інтервалу 0<s<1, тобто їх не враховують при визначенні того відрізка лінії штриховки що належить області. Полярні параметри прямої . Відстань р початку координат від прямої (1.2) та кут між віссю Ох і відрізком перпендикуляра ОК (рис. 1.8) називають полярними параметрами прямої. Відстань р визначають за формулою . (1.16) Кут t визначають не безпосередньо, а за допомогою функцій синуса та косинуса: (22.17) Умова паралельності прямих (1.7) випливає з формул (1.8) при D= 0: A1 B2 -B1 A2 (1.18) Умова перпендикулярності прямих (1.7): A1 A2 +B1 B2 =0 (1.19) Рівняння прямої, яка проходить через точку М(х1, у1) і перпендикулярна до прямої (1.2): А(у –у1)- В(х-х1)=0. (1.20) Відстань точки М (х1,у1) до прямої (1.2): (1.21) Якщо в цю формулу підставити координати початку 0(0.0), то відстань в матиме знак С, чим і пояснюється знак абсолютної величини. Точки, розміщені по той самий бік від прямої що й початок координат, дають той самий знак для d. Точки. розміщені по різні боки від прямої, дають протилежні знаки для d. Тому відстань в називають орієнтованою. Коло Рівняння кола, центр якого збігається з початком координат, має вигляд х2 +у2 =R2 . (1.22) У параметричній формі x=Rcost, y=Rsint, (1.23) де t — кут між Ох та радіусом-вектором точки. Якщо центр кола має координати (а, b) то рівнянням кола є (рис. 1.6): (х - а)2 + (у - b)2 = R2 (1.24) та х = а + Rсоst, у = b + Rsint . (1.25) Орієнтація кола . Перейдемо від форми задання (1.22) чи (1.24) до неявної форми задання: x2 +y2 -R2 =0, (1.26) (x-a)2 +(y-b)2 -R2 =0. (1.27) Якщо координати точок, які лежать усередині кола, підставити в рівняння (1.26) або (1.27), то матимемо зміну знака ''=" на "<". Можна вважати, що коло (1.26) або (1.27) має такий напрям, що точки, координати яких змінюють знак "=" на знак "<" у рівнянні (1.26) чи (1.27), розміщені, наприклад, зліва від напряму кола, тим самим визначити його орієнтацію. Щоб змінити напрям кола на протилежний, треба помножити рівняння на -1. Тоді матимемо -x2 -y2 +R2 =0, або –(x-a)2 -(y-b)2 +R2 = 0. Поділ кола на рівні частини . Щоб поділити коло на n рівних частин, треба ввести параметр s: (1.28) Кутониіі параметр точок поділу ti =2psi (1.29) Змінюючи i від 1 до n + 1 обчислюємо спочатку si за формулою (1.28), а потім ti , за формулою (1.29). Підставивши ti , у рівняння (1.23) або (1.25), знайдемо координати xi , yi точок поділу. Перша точка поділу (і = 1, si = 0, ti = 0) збігається з останньою (i=n+ 1, si = 1, ti = 2p). Цей збіг, як і кінцеве значення i=n+ 1 зроблено навмисно: при кресленні кола чи багатокутника графопобудовником креслярський пристрій міститься у початковій точці двічі — на початку та наприкінці креслення. Наведений алгоритм застосовують у програмах креслення правильних багатокутників і кіл. У другому випадку n вибирають значно більшим, щоб візуально багатокутник не відрізнявся від кола. Дуга (відрізок) кола . Параметрами, що визначають будь-яку дугу кола є: хс , ус - координати центра; R—радіус; tп —кутовий параметр початкової точки дуги; tд —
центральний кут, що охоплює дугу, або кутовий параметр дуги. Кути tп та tд орієнтовані. Перший — від напряму +х до радіуса-вектора початкової точки, другий від радіуса-вектора початкової до радіуса-вектора кінцевої точки. Якщо вини спрямовані проти ходу годинникової стрілки, то значення беруть зі знаком "+", а якщо за ходом - зі знаком "-". Поділ дуги кола на рівні частини . Наведений вище алгоритм для кола треба модернізувати, замінивши формулу (1.29) на t= tп (1-s)+( tд + tд ) (1.30) Решта — без змін. На цьому алгоритмі грунтується програма креслення дуги кола. Перетин кола та прямої . Щоб знайти координати точок перетину прямої (див-рис. 1.9), заданої у формі (1.2) Ах + Ву + С = 0, (1.31) та кола, заданого формою (1.25), знайдемо рівняння прямої у локальній системі х'О'у’ з початком у центрі кола О' (a,b) (рис. 1.9). За формулами рівняння прямої у локальній системі х'О'у' А(х' +a)+ В(у'+b)+ С=0 або Ах' + Ву' + С + Аа + Вb = 0. (1.32) Згідно з (1.16) та (1.17) визначимо полярні параметри прямої (1.32) у системі х'О'у' , (1.33) . Очевидно, якщо p > R, то розв'язків не існує, якщо р = R, то маємо один розв'язок (дотик), Знайдемо синус та косинус кута (22.34) Координати точок перетину прямої з колом у системі (1.35) де . Координати точок перетину у системі хОу маємо (1.36) Пряма, дотична до кола та паралельна заданій прямій . Форми задання прямої та кола, віднесення їх до локальної системи х'О'у' та вирази (1.32) і (1.33) такі самі, як і в попередньому алгоритмі. Для дотичних прямих р = R, а кутовий параметр однієї з точок дотику дорівнює куту нахилу до осі О'х' полярного параметра р. Звідси координати точки дотику однієї з шуканих прямих у системі х'О'у' є такими: (1.37) де cost і sint визначають за формулами (1.33). Координати точки дотику другої прямої у системі х'О'у' (1.38) знаходимо як для точки, симетричної точці () відносно початку О'. Перехід у глобальну систему хОу здійснюється ча формулами (1.36). Якщо хі, уі — знайдені координати точок дотику у системі хОу, то рівняння дотичних прямих дістанемо у вигляді А(х +х1 )+В(у-уі )= О (і= 1,2), (1.39) тобто коефіцієнти А і В такі самі, як і в рівнянні заданої прямої, а вільний член С набуває значення Сі = -Ахі - Вуі . (1.40) Перетин двох кіл . Розглянемо спочатку випадок окремого розміщення кіл, коли центр першого збігається з початком, а центр другого лежить на осі Ох (рис. 1.10). Задача має два розв'язки, якщо міжцентрова відстань в задовольняє умові (при R1 > R2 ) . Тут не розглядаємо тривіальні випадки, коли d=R1 -R2 або d= R1 +R2 . Рівняння першого кола (1.41) Рівняння другого кола (1.42) Координати шуканих точок перетину знайдемо як розв'язок системи рівнянь (1.41) і (1.42). 2ах – а2 = , звідки (1.43) У загальному випадку розміщення (рис. 1.11) при заданих координатах центрів і радіусах знаходимо міжцентрову відстань (1.44) та компонент повороту локальної системи з початком у центрі першого кола й віссю 0'х’, що збігається з 01 02 , відносно глобальної системи хОу : t=f(x,y). (1.45) Далі знаходимо xn1,2 , yn1,2 за формулами (1.43) у локальній системі та зводимо результат до глобальної системи, враховуючи, що х1=х0, у0=у1, a=t. Задача спряження двох кіл третім Задача спряження двох кіл третім зводиться до побудови кола, дотичного до двох заданих кіл. При цьому радіус шуканого кола задано, а треба знайти його центр і точки спряження. Розв'язати цю задачу креслярськими приладами нескладно. Певні труднощі виникають при розробці програмного розв'язування цієї задачі засобами комп'ютерної графіки. Загальна вимога до програмного забезпечення розв'язування будь-якої задачі — включати аналіз сумісності поставлених умов. Це означає, що перш ніж застосувати алгоритм розв'язку, треба визначити, яким умовам мають відповідати вхідні дані. У задачі спряження формулювання умов сумісності вхідних даних та складання алгоритму розв'язування виникають труднощі, спричинені багатоваріантністю. Як відомо, дотик двох кіл може бути зовнішнім або внутрішнім. У загальному випадку існує чотири варіанти дотику шуканого кола з двома заданими. Ці варіанти формалізуються наданням знака "-" чи "+" радіусам заданих кіл. Якщо дотик відповідного кола і шуканого с зовнішнім, то його радіус від'ємний, а якщо внутрішнім, то додатний. Ще два варіанти, що відрізняються розміщенням центра шуканого кола відносно лінії центрів заданих кіл, формалізуємо наданням знака радіусу спряжувального кола. Якщо центри О1 і О2 заданих кіл не збігаються, то радіус спряжувального кола додатний, коли його центр лежить зліва, та від'ємний, коли його центр лежить справа від вектора 0102. Центр спряжувального кола, його радіус і точки спряження ще не однозначно визначають кутовий параметр спряжувальноЇ дуги. Точки дотику поділяють спряжувальне коло на дві дуги, сума яких дорівнює 2п. Отже значенням коефіцієнта k можна поставити у відповідність кожну з двох дуг спряжувального кола. Наприклад, значенню k = 0 відповідає менша дуга, k = 1 — більша. Алгоритм розв'язання в цілому наводимо з урахуванням прийнятої формалізації. Вхідні дані: x1, y1 i R1 - координати центра О1 і радіус першого кола; x2, y2 i R2 — координати центра і радіус другого кола, R — радіус спряжувального кола; k - коефіцієнт вибору спряжупальної дуги. Вихідні дані: xc , yc - координати центра спряжувальноЇ дуги; tп — кутовий параметр початкової точки спряжувальної дуги; tд — кутовий параметр спряжувальної дуги. Обчислення міжцентрової відстані: (1.46) Нехай . (1.47) Перевірка сумісності умов. Задача має розв'язок, якщо: , (1.48) або , (1.49) або (1.50) або (1.51) За допомогою алгоритму визначення координат точок перетину двох кіл, радіуси яких ||R|-R1 | тa ||R|-R2 | (див. коло), знаходять у локальній системі з початком у О1 та віссю О'х', що збігається з 0102 (рис. 1.12), (1.52) Координати точки контакту спряжувального кола з першим колом: (1.53) Координати точки спряження з другим колом: (1.54) Співвідношення (1.53) та (1.54) дістали з розрахунку подібних трикутників. Визначення компонент повороту локальної системи x'О’у’ відносно глобальної xOy : . (1.55)
Обчислення глобальних координат центра спряжувального кола та координати точок спряження за формулами : (1.56) Обчислення кутового параметра точок спряження відносно центра спряжувального кола: . (1.55) Ви'значення кутового параметра спряжувальної дуги: . (1.58) Якщо k = 0 і |t| > п або k = 1 і |t[ < л, то . Екстремальні випадки задачі спряження Під екстремальними розуміють випадки. коли деякі вхідні дані досягають екстремальних значень. Так, наведений вище алгоритм повною мірою можна застосовувати в екстремальних випадках, коли R1 = О або R2= 0. При цьому задача зводиться до знаходження кола заданого радіуса, яке проходить через фіксовану точку та дотикається до другого кола. Цей алгоритм застосовують також тоді, коли одночасно R1= О та R2=0. Тут йдеться про знаходження кола заданого радіуса, яке проходить через дві фіксовані точки. Випадок, коли радіус спряжувального кола дорівнює нулю, тривіальний. Розглядуваний алгоритм до формуй (1.52) включно збігається з алгоритмом знаходження координат точок перетину двох кіл, а формули (1.53)...(1.58) втрачають зміст. Розглянемо випадки, коли радіус спряжувального кола R досягає екстремальних значень, що дістанемо виразів (1.47) ... (1.51) при зміні в них знаків нерівності на знаки рівності, тобто R = А та R = В. Тут радіус спряжувaльного кола перетворюється в залежну величину, яка не може входити у вхідні дані. Знаходження координат центра спряжувальиого кола, що грунтувалaся на алгоритмі визначення координат точок перетину двох кіл, також не може бути здійснений у такому вигляді через перетворення перетину до дотику. Комп'ютерний розв'язок у цьому екстремальному випадку привів би до визначення комп'ютерного нуля, що, в свою чергу, призвело б до значних ускладнень програми. У зв'язку з цим наведений екстремальний випадок вимагає окремого алгоритму та суттєвих змін навіть при формулюванні задачі, а саме: знайти коло екстремально дотичне до двох заданих кіл. Неважко показати, що центр шуканого кола та точки його спряження з заданими колами лежать на лінії їхніх центрів. Тому, не змінюючи умови формалізації щодо знаків R1та R2, накладемо нову умову на коефіцієнт k: при k = 1 спряжувальна дуга розміщена зліва, а при k = -1 справа від вектора . Нарешті, варіант екстремального значення радіуса спряжувального кола формaлізуємо за допомогою коефіцієнта р, при р == 1 маємо R = А, а при р = -1 — R = В. Алгоритми нерухомого та рухомого екранів Екранування ефективно застосовують в алгоритмах визначення видимості, коли одні елементи об'єкта закривають (єкранують) собою інші при проекційному відображенні. Екранування грунтується на алгоритмі визначення належності точки до півплощини чи внутрішності замкненого багатокутника. Екранування замкненим багатокутником (нерухомим екраном) . Нехай n-кутник задано масивами координат його вершин xi , yi , (i = 1.2. .... m) так, що вершини впорядковані в напрямі проти руxу стрілки годинника, а x1 = xm , y1 = уm . Щоб визначити належність точки M (Xо, Yо) до внутрішності n-кутника, обчислимо суму кутів між суміжними променями, що сполучають точку М з вершинами n-кутннка. Маємо (1.76) Цю формулу дістали, застосувавши формулу площі трикутника з вершинами (х0,у0), (хі,уі), (хі+1,уі+1), а саме: (1.77) де знак "+" відповідаг впорядкуванню вершин у напрямі проти руху стрілки годинника. Рухомий екран . Оскільки основним примітивом комп'ютерної графіки є підрізок, а криві лінії інтерполюються ламаними, то криві лінії є основними у задачах комп'ютерного відображення як гранних, так і кривих поверхонь. Нехай на площину х0у проекціюються лінії рівня деякої поверхні (рис. 1.13). АВСDЕF— найближча лінія, видима всіма своїми вузлами та ланками. Наступну лінію рівня STLWRK екрануємо попередньою лінією. Вузол L лежить у зоні екрана. 3най-демо точку перетину U ланок ВС та TL, а також точку перетину V ланок СD та LW. Ці точки, по-перше, обмежують видимі частини ланок TL та LW, а по-друге, їх включають як вузлові в екран STUCVWRK, за допомогою якого визначатимуть видимість наступної лінії рівня. Випробування точок та відрізків на належність екрану в межах цієї задачі можна спростити порівняно з попереднім алгоритмом. а саме: вузли ліній рівня слід брати на однакових інтервалах, тобто 1-2=2-3=... =5-6; належність точок до екрана визначають порівнянням координат відповідних вузлів, наприклад yL < уC , тому вузол L- екранується: якщо на деякому інтервалі з'являється додатний вузол, наприклад вузол U на інтервалі 2-3, то відповідну ланку при наступному екрануванні треба випробовувати не тільки на порівняння ординати у на межах інтервалу, а й на перетин з двома підданками TU та UС. Площа та координати центра ваги плоскої фігури Як відомо, площу елементарної фігури, обмеженої графіком у = f(x), віссю Ох та прямими x=c, x=d, визначають як . (1.79) Координати центра ваги елементарної фігури: (1.80) де - (1.81) статичний момент площі елементарної фігури відносно осі 0x; (1.82) статичний момент площі елементарної фігури відносно осі Оу. У формулах (1.79), (1.81) і (1.82) верхній знак відповідає f(x) > 0, a нижній - f(x) < 0. За умов розглядуваної задачі під плоскою фігурою розуміють плоску область, обмежену замкненими контурами, що не перетинаються між собою. Кожний контур є замкненою ламаною. Якщо деякі з контурів криволінійні, то вони заздалегідь з достатньою точністю апроксимуються ламаними. Вважатимемо, що вузли р контурів, які обмежують область, визначаються масивами координат хij , yij (i=1,2,…, mi ; j=1,2,.., p) та умовами замкненості x1j = xmj , y1 j =ymj . Отже, кожний контур містить nj =mj -1 вузлів , які не збігаються. Нехай також вузли обмежувальних контурів упорядковані так, що матеріальна площа лежить справа від напряму впорядкування. Тоді згідно з означенням плоскої фігури та прийнятими домовленостями знак перед правими частинами виразів (1.79), (1.81) і (1.82) можна опустити. Елементарною фігурою буде трапеція, а підінтегральною функцією — лінійна функція. ГЕОМЕТРИЧНЕ МОДЕЛЮВАННЯ У ПРОСТОРІ Задання площини та ліній Площина у просторі . Площину в прямокутних декартових координатах задають у неявній формі Ах + Ву + Сz+D=0. (1.83) Ця площина поділяє простір на два півпростори, які можна визначити коефіцієнтом . (1.84) Для координат x1, y1, z1, будь-якої точки першого півпростору р=1, для точки, яка належить другому півпростору, р = 1, а якщо точка належить площині , то р = 0. У нарисній геометрії площину задають, проекціями її визначника: трьома точками. що не належать одній прямій: точкою та прямою, що не проходить через точку, двома перетинними прямими: двома паралельними прямими, плоскою фігурою; слідами. Від графічної форми задання будь-яким визначником доцільно перейти. Взявши на площині три неколінійні точки М0(х0, у0, z0), M1(x1, y2, z3), М2,(x2, y2, z2) та підставивши координати їх у формули для визначення коефіцієнтів А, В, С, D. Дістанемо , , , . (1.85) Як уже зазначалося окремим випадком задання площини є той, коли вона за своїм положенням відносно деякої координатної системи с площиною рівня. Ідея поширення класичних координатних систем спеціальними системами та склад спеціальних систем зумовлені піднесенням будь-якої площини (див. формулу (1.85)) до такої системи координат, в якій вона б була б площиною рівня. Реалізація цієї умови дає змогу в компактній формі задавати плоскі лінії у просторі, діставати рівняння ліній перетину поверхні з площиною: · задавати кінематичні поверхні з плоскою твірною; · розв'язувати позиційні задачі на цій поверхні; · використовуючи допоміжні січні площини загального (у термінах нарисної геометрії) положення. Зберігаючи позначення та узагальнюючи їх на тривимірний простір, надамо рівнянням вигляду (1.86) Завдяки введеним спеціальним системам координат та їхнім властивостям щодо піднесення будь-якої площини до такої системи, де вона є площиною рівня, з'являється практично доцільний спосіб задання прямої та плоскої кривої лінії у відповідній системі спеціальних координат виразами (1.87) або (1.88) Ці рівняння можна віднести до залежності прямокутних декартових координат від спеціальних. Застосовуючи рівняння інцидентності площин прямої чи плоскої кривої, визначимо тип системи та значення t за наведеним алгоритмом. Підставивши формули дістанемо параметричні рівняння прямої чи плоскої кривої. Функція для прямої мас вигляд , (1.89) де k і b відіграють ту саму роль на площині t=const у декартовій прямокутній системі u0v, що й у системі xОу . Для кола радіуса r, координати центра якого в системі u0v є (a,b), функція має вигляд . (1.90) Для цього самого кола функції (1.88) набувають вигляду (1.91) Розглянемо тепер форми задання ще одного класу просторових кривих: гвинтових та квазігвинтових ліній. Гвинтову циліндричну лінію задають функціями залежності прямокутних декар-тових координат від циліндричних або під узагальнених циліндричних координат, де (1.92) Якщо в циліндричній системі координат радіус гвинтової лінії дорівнює r, то в узагальненій циліндричній системі він дорівнює . В обох випадках крок гвинтової лінії становить. 2kp. Квазігвинтовою називають лінію , що зі сталим кроком напинається на поверхню обертання. Квазігвинтова лінія в гіперболічних координатах задається функціями (1.92). Якщо u=c=0, то вона розміщена на конусі, якщо u=c¹0, то вона розміщена на однопорожнинному гіперболоїді. Задання поверхоньУ неявній формі центральні поверхні обертання другого порядку задають, функцією (1.93) Залежно відзначень параметрів, що входять у рівняння (1.93), воно визначає: стиснений еліпсоїд (р = 1, q= 1, а > с); витягнутий еліпсоїд (р = 1,q=1, a < с); сферу (р = 1,q=1, a = с); однопорожнинний гіперболоїд (р = -1,q=1); двопорожнинний гіперболоїд (р = -1,q = -1); конус (р = -1, q = 0). Після переходу згідно з залежністю до циліндричних координат та розв'язання рівняння відносно u дістанемо (1.94) або після підстановки u в рівняння матимемо рівняння цього класу поверхонь у параметричній формі: (1.95) Рівняння циліндра, вісь якого збігається з Оz, у неявній формі мас вигляд (1.96) а в параметричній формі ‑‑‑‑ (1.97) Рівняння гіперболічного параболоїда в явній формі (1.98) Розглянемо інші класи поверхонь, що задають внутрішнім рівнянням у спеціальних координатах. Внутрішні рівняння класів та підкласів поверхонь в узагальнених циліндричних та гіперболічних координатах, як правило, збігаються. Внутрішні рівняння можна діставати в явній, неявній та параметричній формах. У параметричній формі параметр t є одним з функціональних параметрів, а другим параметром є інший, який відрізняється від змінних u та v. Для переходу до параметричної форми задання у прямокутних декартових координатах треба внутрішні рівняння підставити у формули, що виражають залежність прямокутних декартових координат від узагальнених циліндричних чи гіперболічних координат, Лінійчаті поверхні задають рівнянням (1.99) Внутрішні рівняння підкласів лінійчатих поверхонь дістають при певних значеннях функцій та . Якщо (1.100) то маємо поверхні однакового нахилу до площини хОу. Якщо (1.101) то маємо поверхні з площиною паралелізму х0у. Якщо (1.102) то маємо однопорожнинний гіперболоїд обертання. Розгортні поверхні в узагальнених циліндричних координатах задають рівняннями (1.103) а в гіперболічних координатах — рівняннями (1.104) Внутрішні рівняння ребра обертання цієї поверхні знайдемо підстановкою u = 0 в рівняння (1.103) або (1.104) відповідно. Циліндр в узагальнених циліндричних координатах, однопорожнинний гіперболоїд у гіперболічних: u=c=const, v=v. (1.105) Гвинтові поверхні в узагальнених циліндричних та квазігвинтові поверхні в гіперболічних координатах: v=f(u)+kt. (1.106) Зокрема, якщо f(u) = bu(b=const), то маємо лінійчату поверхню v=bu+kt. (1.107) Розгортні гвинтові поверхні в узагальнених циліндричних координатах: . (1.108) Розгортні квазігвинтові поверхні в гіперболічних координатах: . (1.109) Циклічними називають поверхні, що утворюються колом. Якщо коло як твірна має сталий радіус, то циклічну поверхню називають трубчастою . Циклічну поверхню, циклічний каркас якої збігається із сім'єю ліній кривини, називають каналовою . Циклічні поверхні в неявній формі задають рівнянням . (1.110) При j(t) = соnst маємо трубчаті поверхні: . (1.111) Якщо то дістаємо поверхні обертання: . (1.112) Якщо то маємо гвинтові чи квазігвинтові циклічні поверхні: . (1.113) Якщо , то маємо каналові поверхні в узагальнених циліндричних координатах: , (1.114) а якщо то каналові поверхні в гіперболічних координатах: . (1.115) Різьблену поверхню Монжа в узагальнених циліндричних координатах задають рівнянням , (1.116) зокрема, циклічну (1.117) а гелікоїд (1.118) Багатогранні поверхні . Узагальнені циліндричні й гіперболічні координати застосовують відповідно для задання правильних призм і пірамід. Визначником правильної призми доцільно вважати: r—радіус вписаного в призму циліндра, який може бути внутрішнім параметром узагальненої циліндричної системи: tn — кутовий параметр однієї з граней (кут між площиною хОz та променевою площиною, що проходить через 0z і лінію дотику деякої грані призми та циліндра системи); h -- висота призми. При цьому вважають, що нижня основа призми лежить на площині х0у. а верхня па площині z= h; n -- кількість гранєй. Рівняння граней призми дістанемо у вигляді (1.87), надаючи t таких значень: . (1.119) Якщо підставимо у рівняння (1.88) значення ti з рівняння (1.119) та (1.120) то матимемо рівняння ребер призми. Визначником пранильноїпірашди є: a -кут нахилу грані до осі Оz, що збігається з внутрішнім параметром гіперболічної системи, tn — кутовий параметр однієї з гра-ней (кут між площиною хОу і променевою площиною, що проходить через Оz. та лінію дотику деякої грані до конуса системи), h— висота піраміди. Вважають що вершина піраміди лежить у початку координат, а основа — на площині. Рівняння граней піраміди дістанемо у вигляді (1.88), надаючи t значення з рівняння (1.119). Рівняння ребер піраміди знайдемо як рівняння прямих, що проходять через дві точки S(0, 0, 0) та Аі (хі , уі , zi ): (1.121) де xi , yi , визначають підстановкою значень ti з формули (1.119): v =-h та . (1.122) Алгоритми розв'язання позиційних задачПеретин кривих поперхонь площиною . Якщо поверхня задана у прямокутних декартових координатах явною чи неявною формою, а січна площина — будь-яким визначником, то взявши координати трьох неколінійних точок, що належать січній площині, обчислимо коефіцієнти А, В, С, в за формулами (1.85) і дістанемо рівняння січної площини в неявній формі (1.83). Визначимо тип системи, в якій січна площина є площиною рівня, а також обчислимо параметр відповідної системи спеціальних координат. У результаті матимемо рівняння січної площини в параметричній формі. Підставивши здобуті вирази у рівняння поверхні зведемо його до рівняння з двома змінними u та v. Якщо це рівняння можна розв'язати відносно однієї із змінних, тобто знати функцію v = v(u), то, надаючи u значення і деяким кроком маємо відповідні значення. Оскільки uOv є прямокутною декартовою системою на січній площині, то лінія перетину, віднесена до цієї системи, визначається в натуральному вигляді. Що6 скласти її рівняння у просторі, треба підставити відповідні значення u та v в параметричні рівняння січної площини. Приклад. Нехай треба знайти рівняння лінії перетину центральної поверхні обертання другого порядку (1.93) і площини, заданої трьома точками M0 (x0 , y0 , z0 ), M1 (x1 , y0 , z1 ), M2 (x2 , y2 , z2 ). Застосування формулу (1.85) дістанемо: А¹0, В¹0, С¹0, D¹0), знаходимо (1.124) Підставивши ці вирази дістанемо параметричні рівняння січної площини: (1.125) Тепер підставимо вирази (1.125) у рівняння поверхні (1.93). У результаті матимемо (1.126) Це рівняння другого ступеня відносно u та v, тобто його можна розв'язати відносно будь-якої з цих змінних. Натуральний вигляд лінії перетину знайдемо побудовою графіка функції (1.126) за її рівнянням у системі uОv. Масиви координат uі , vі , що визначаються в процесі побудови, підставимо в параметричні рівняння січної площини (1.125). Дістанемо просторові координати хі уі zі , точок, які визначають лінію перетину. Наведемо приклади програмної реалізації цього алгоритму для двох поверхонь, що перетинаються площиною. На рис. 23.1 наведено в ізометричній проекції поверхню еліпсоїда обертання за функцією (1,93) при а = 3, с = 5, р = 1, q = 1, що перетинаються площиною [див. рівняння (1.85)] при А = 1, В = 3, С = 16, в = -16. На рис. 23.2 зображено в ізометричній проекції поверхню однопорожнинного гіперболоїда, що перетинається тією самою січною площиною. Порівняно з попередніми вхідні дані відрізняються тільки значенням р, яке в цьому випадку набуває значення -1. Застосуємо наведений алгоритм для побудови лінії перетину прямої призми та площини. Нехай січна площина має такі коефіцієнти A, B, C, в при яких виконуються рівності (1.124) і (1.125). Позначимо і підставимо вирази (1.124) у рівняння (1.85), що при значеннях t згідно з рівнянням (1.119) є рівнянням граней призми, В результаті матимемо . (1.126а) Це є рівнянням лінії перетину і рані призми із січною площиною у системі uОv на січні із площині. Підставляючи замість u його значення з рівняння (1.120), знайдемо координати uі та vі , точок перетину ребер призми із січною площиною. Нагадаємо, що замість t треба підставляти у рівняння (1.126а) послідовно значення з формули (1.119). Масиви просторових координати xі , yі , zі , вершин шуканої лінії перетину знайдемо підстановкою uі та vі , у рівняння (1.125). Приклади програмної реалізації наведеного алгоритму показано на рис.1.14-1.16. В ізометричній проекції подано правильну дванадцятигранну призму, висота якої 12 см, радіус описаного циліндра 5см, а кутовий параметр однієї з вершин нижньої основи становить 0,13 рад. ІІризму перетинає прощина Використовуючи замість (1.85) рівняння сім’ї площин (1,86), матимемо алгоритм побудови лінії перетину правильної піраміди та площини. На рис.1.117 подано ізометричну проекцію правильної дванадцятигранної піраміди, висота якої 12 см, кут між бічною гранню і висотою 0,35 рад, а кутовий параметр основи вершин основи становить 0.26 рад. Піраміду перетинає площина . В алгоритмі розв'язання позиційних задач на перетин прямої чи кривої лінії поверхнею, площини з поверхнею та взаємний перетин двох поверхонь передбачається розв'язання системи рівнянь заданих геометричних образів. Алгоритм грунтується на ідеї належності точки до внутрішності чи зовнішності поверхні. Якщо лінія та поверхня задні в одній системі координат, то завжди можна застосувати один з двох алгоритмів (площинний чи просторовий) визначення належності будь-якої точки внутрішності чи зовнішності поверхні. Площинний алгоритм . Позначимо функціональний параметр рівняння лінії через s. Нехай розв'язок лежить в інтервалі s1<s<s2. Визначимо координати x, y, z точки М, що відповідає значенню . (1.127) Обчислимо значення спеціальних координат u, v, t у системі, до якої віднесено поверхню. Підставляючи значення t у внутрішнє рівняння поверхні, дістанемо ріння лінії рівня t=const цієї поверхні. Скориставшись формулами та враховуючи, що роль x і у відіграють u і v відповідно, визначимо належність точки М до внутрішності чи зовнішності лінії рівня t = соnst заданої поверхні. Якщо точка М належить до зовнішності лінії рівня, то функціональний параметр наступної довільної точки М визначаємо за формулою (1.127). надаючи s1 значення sM . Якщо точка M належить до внутрішності, то значення sM надаємо s2. Ітераційний процес продовжуємо доти, доки виконується умова , де e визначає наперед задану точність. Значення функціонального параметра довільної точки, при якому виконується ця умова, треба підставити в рівняння лінії, щоб дістати просторові координаті x, y, z шуканої точки перетину.
Просторовий алгоритм . Для поверхонь другого порядку (1.119). (1.122) при розгляді питання про належність довільної точки до внутрішності чи зовнішності поверхні не обов'язково переходити до рівняння лінії ріння цієї поверхні. Досить підставити координати x, y, z довільної точки в рівняння (1.119) або (1.122). Якщо знак "=" - змінюється на знак “>” , то довільна точка належить до зовнішності, якщо на знак " < ", то до внутрішності поверхні. Просторовий алгоритм більше нічим не відрізняється від площинного. Якщо поверхня перетинається площиною чи іншою поверхнею, то до алгоритму додасться визначення на площині чи на поверхні сім'ї ліній рівня. Розв'язок шукають для кожної лінії, а масиви координат точок перетину впорядковують згідно із зростанням чи спаданням значення параметра сім'ї.Візуалізація ліній та поверхонь Геометричну модель відображення лінії чи поверхні засобами комп'ютерної графіки дістають методом проекцювання та сполучення точок, які лежать на лінії, впорядкованих відповідно із зростанням або спаданням значення функціонального параметра. Вхідні дані у вигляді рівняння лінії та інтервалу значень функціонального параметра дають змогу обчислити координати x, y, z послідовності точок. Щодо візуалізації поверхні, то проекції відтворюють деякі характерні для поверхні лінії: ребра багатогранників, лінії, обвідну проекції кривої поверхні, межі відсіку поверхні. Ефективний спосіб візуалізації кривої поверхні полягає в попередньому визначенні на поверхні сім'ї або сітки координатних ліній та відображенні на проекції видимих відрізків (рис.1.17 …рис.1.22 ) та відповідно для прямокутних ізометрії, диметрії та косокутної диметрії. Точкове відображення простору на фронтальну площину проекцій визначено формулами , (1.128) а на горизонтальну площину проекцій — формулами . (1.129) Визначення лінії, обвідної проекції поверхні . Нехай поверхня задана в параметричній формі: (1.130) Як було показано, явна форма задання поверхні є окремим випадком задання у формі (1.130). До форми (1.130) приводить також задання поверхні внутрішнім рівнянням у спеціальних координатах. Застосовуючи формули відповідного точкового перетворення простору при проекціюванні, можна записати . (1.131) де х, у -- прямокутні декартові координати проекцій точок; f,j — функції, що реалізують ланцюжок —одну з функцій -- (1.128), (1.129). Проаналізувавши вирази (1.131), дійдемо висновку, що ці рівняння відповідають рінянням двох сімей ліній u=const, t=const Кожна сім'я залежить від одного параметра. Як відомо, такі сім'ї мають обвідну, рівняння якої . (1.132) Обвідна (1.132) поділяє точки на поверхні (1.130) на два класи, що визначаються знаком нерівності, в яку перетворюється ліва частина (1.132) після підстановки внутрішніх координат u, t довільної точки на поверхні. Отже, в результаті підстановки внутрішніх координат u, t точки на поверхні ліву частину (1.132) дістанемо один з трьох випадків: І=0, (1.133) коли точка належить обвідній. За цієї умови можна скласти рівняння обвідної і побудувати її: І>0, (1.134) коли точка є видимою на проекції; І<0, (1.135) коли точка невидима на проекції. Випадок (1.134) або (1.135) завжди можна дістати множенням лівої частини (1.132) на -1. Підкреслимо, що тут ідеться про потенціальну видимість, тобто не враховується випадок, коли інша поверхня закринає собою розглядувану поверхню при проекціюванні. У табл. 1.1 наведено приклади застосування форм задання та алгоритму визначення видимості найпоширеніших поверхонь. Для більшої наочності на поверхнях відтворено сітку координатних ліній, завдяки застосуванню алгоритму визначення видимості на проекціях відтворена зовнішність поверхні, а для таких поверхонь, як параболоїд, катеноїд, псевдосфера відтворена також їхня внутрішність, яку видно крізь отвір. В цьому разі контур отвору с нерухомим екраном, що обмежує видиму внутрішність поверхні. Табл.1.2 Поверхні в ортогональних проекціях та в ізометрії ізометрії
Щодо побудови проекції обвидної, то в багатьох випадках це можна зробити, розв'язуючи рівняння (1.123) відносно однієї з дих змінних. Так для циліндра та конуса (див. табл. 1.1) обидва розв'язки не залежать від другої змінної, для центральних поверхонь другого порядку рівняння (1.123) є квадратним відносно лінійної змінної. Розв'язки цього рівняння використано також для каналової поверхні, різьбленої поверхні Монжа, катеноїда, псевдосфери. Для гранних поверхонь алгоритм визначення видимості полягає в порівнянні знаків лівої частини (1.123) для суміжних граней. Якщо Іі >0, Іі+1 > 0, (1.136) то ребро, по якому перегинаються ці грані, видиме; якщо Іі Іі+1 < 0, (1.137) то ребро контурне; якщо Іі <0, Іі+1 < 0, (1.138) то ребро невидиме. Моделювання розгортокДо розгортних належать такі поверхні: багатогранники, циліндри, конуси та торси. Задача розгортування полягає в знаходженні функцій , (1.139) або з урахуванням залежності прямокутних декартових координат точки на циліндрі чи конусі від відповідних спеціальних координат, в яких ці поверхні мають рівняння u=0, (1.140) У формулах (1.139) та (1.140) xp , yp -- декартові прямокутні координати на площині розгортки, x, y, z — декартові прямокутні координати точки, що належать розгортній поверхні. Циліндр . Для циліндра, радіус основи якого r формули (1.140) мають вигляд (1,141) Правильна призма . Нехай правильна n-гранна призма описана навколо циліндра радіуса r і має висоту h. Кутовий параметр однієї з вершин відносно площини визначимо через tH . Апофеми бічних граней призми мають узагальнену циліндрічну координату . (1.142) Знайдемо а з умови (1.143) дістанемо таке значення j = 1, при якому ця умова виконується. Позначимо (1.144) Тоді координата u точки на поверхні призми в узагальненій ціліндричній системі виражається рівністю (1.145)
Формули (1.141) мають вигляд , (1.146) де v = z. Нагадаємо, що координати точки x, y, z на поверхні призми вважаємо заданими. Конус . У гіперболічних координатах рівнянням конуса є u = 0. Формули (1.140) набувають вигляду (1.147) де a — кут між віссю та твірною конуса. Правильна піраміда . Правильну піраміду віднесемо до вписаного в неї конуса. Кут a між його твірною та віссю входить до визначника піраміди. Як і для призми, tH — кутовий параметр однієї з вершин основи піраміди відносно площини х0z. Обчислимо ti за формулою (1.142), та р — за формулою (1.144), b та j — за формулою (1.143). Потім знаходимо: Функції (1.140) мають вигляд . (1.148) Па рис.1.23,1.28, наведено приклади програмної реалізації алгоритму визначення лінії взаємного перетину поверхонь та алгоритмів моделювання розгорток, На рис. 1.23 зображено конус і циліндр, які перетинаються. На рис.1.24 і рис. 1.26 подано розгортки конуса й циліндра відповідно з визначенням на розгортці лінії взаємного перетину. На рис. 1.27 показано два циліндри, які перетинаються, а на рис. 1.25 і рис. 1.28 — розгортки поверхонь циліндра з горизонтальною та вертикальною осями відповідно з визначенням на розгортці лінії перетину. Геометричне моделювання наближеними методамиУ різних галузях виробництва застосовують об'єкти, геометрична форма яких не може бути описана таким самим за змістом рівнянням, що й рівняння форм класичної геометрії. Приклади таких об'єктів — літаки, судна, автомобілі, пропелери, гвинти, лопатки турбін. Форма їх зумовлена функціональними аерогідродинамічними властивостями чи естетичними вимогами. Характерною рисою проектування таких об'єктів є наявність етапів випробування та коригування форми за його результатами. Фізична модель (масштабна чи в натуральну величину) після випробування є єдиним джерелом для визначення вхідних даних для проектної форми об'єкта чи її чергової фізичної моделі. Слід зазначити, що вимоги до методу геометричного моделювання таких об'єктів часто суперечать одна одній. Так, з одного боку, геометрична модель має як найщільніше наближатися до фізичної моделі, з іншого — вона має містити мінімальне число параметрів, з третього — локальна зміна форми фізичної моделі має відтворюватись у зміну значень лише деяких (а не всіх) параметрів геометричної моделі. Склад вхідних даних геометричної моделі зумовлений вимірюванням на фізичній моделі. Вимірюють насамперед координати точок, які називають опорними . Найпростіша схема визначення опорних точок на поверхні передбачає розміщення їх у сім'ї площин рівня. Так, щоб визначити опорні точки на фізичній моделі, на неї наносять n + 1 лінію її перетину з площинами рівня однієї сім'ї та m + 1 лінію перетину з площинами ріння другої сім'ї. Ці лінії називають координатними або і лініями каркаса. Координати опорних точок мають індекси, які відповідають номерам ліній каркаса, що проходять через відповідну опорну точку (і = 0, 1, ..., n; j = 0, 1, ....m). Оскільки вимірюють координати лише опорних точок, то до визначення лінії в проміжках між суміжними опорними точками та до визначення поверхні в проміжках між двома парами суміжних ліній каркаса різних сімей називають інтерполяцією . Якщо до визначення виконують у проміжках перед початковою опорною точкою (початкового лінією каркаса) або після кінцевої точки (кінцевої лінії каркаса), то його називають екстаполяцією . З математичної точки зору рівняння лінії каркаса на площині рівня j= k можна дістати у вигляді (1.149) Коефіцієнти аі,к знайдемо підстановкою замість х і у значень хi , j і уi,j та розв'язанням системи n + і лінійних рівнянь. Аналогічно можна дістати рівняння лінії каркаса i = l, який належить іншій сім'ї, у вигляді . (1.150) Здобуті рівняння дають змогу обчислити значення коефіцієнта аi , j . У сукупності з координатами x, y, z рівняння (1.148) чи (1.149) визначають цифрову геометричну модель поверхні. Алгоритм обчислення координати точки, яка належить поверхні і не збігається з жодною опорною точкою, тобто b = x при будь-яких значеннях z = с та c ¹z. при будь-яких значеннях j має такий вигляд. 1. Користуючись n + 1 рівнянням (1.148) та значеннями коефіцієнта аi , j , підставимо в кожне з них замість xj , значення bj . Дістанемо значення yb,j . 2. Користуючись n + і рівнянням (1.149) та значеннями zi,j i yc,j знаходимо значення n + 1 коефіцієнта ab,j як результат розв'язання системи n + 1 лінійних рівнянь. 3. Підставивши нове рівняння (1.149) коефіцієнти якого (ab,j ) визначені, значення c замісті z, знайдемо шукане значення y. ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ КОМП'ЮТЕРНОЇ ГРАФІКИ Програміська модель інтерактивної графіки Процес удосконалення програмного забезпечення комп'ютерної графіки був досить довгим і повільним. Пройдено шлях від апаратно залежних пакетів програм низького рівня, які поставляються виготовниками разом з конкретними дисплеями, до апаратно-незалежних пакетів високого рівня. Основна мета апаратно-незалежного пакета полягає в тому. щоб забезпечити його мобільність при переході від однієї ЕОМ до іншої. У процесі розв'язання цієї задачі група американської асоціації з використання обчислювальних машин (GGRAPH) запропонувала проект графічної системи СОRЕ SУSТЕМ, а спеціалісти Німеччини розробили графічну базову систему Graphikal Keгnel System (GKS), прийняту Міжнародною організацією по стандартизації (IS0) як міжнародний графічний стандарт Draft International Standart— ISO/DIS. Ця система звільняє програміста від урахування особливостей графічних пристроїв при розробці програмного забезпечення, при цьому користувачеві доступні різноманітні графічні пристрої. Відповідно до викладеного підходу при розробці програмних засобів комп'ютерної графіки виділяються такі задачі: моделювання, які призначені для створення, перетворення та зберігання моделей геометричних об'єктів (моделюючі системи); відображення цих моделей на графічних пристроях та організації графічного інтерфейса користувача та ЕОМ (базова графічна система). Склад програмного забезпечення відбивається у програміській моделі інтерактивної комп'ютерної графіки .До нього входять три компоненти: моделююча система, базова графічна система та прикладна структура даних (база даних). Моделююча система здобуває інформацію та засилає її у бази даних, а також надсилає графічні команди до графічної системи. База даних містить опис реальних та абстрактних об'єктів, зображення яких мають з'явитися на екрані дисплея. До опису об'єктів звичайно додають геометричні дані про координати, які визначають форму компонентів об'єкта (параметри), атрибути об'єкта (тип, товщину, колір лінії чи фактуру поверхні, тип шрифту, розмір символів, напрям рядка символів, центрування рядка символів), а також дані про зв'язність та положення (про поєднання компонентів між собою). Є також негеометрична, чи текстова, інформація про “властивості”, яка корисна для програм постобробки та для інтерактивного користувача. Прикладами таких даних для застосування в галузі комп'ютерного проектування є відомості про ціну та постачальника, теплові, механічні чи електричні властивості та допуски. Моделюючі системи створюються на основі програмних засобів, які реалізують основні графічні функції — типові способи комп'ютерної графіки, що необхідні для систем будь-якої проблемної орієнтації. До основних графічних функцій належать: позиційні та метричні задачі, афінні перетворення (зсув, перенесення, поворот, симетрія, масштабування), теоретико-множинні операції (перетин, об'єднання, доповнення, різниця) тощо. Ці функції реалізуються на основі внутрішніх канонічних моделей об'єктів, які описують графічні елементи, що дає змогу використовувати найбільш ефективні алгоритми. Основні графічні функції мають бути реалізовані як для дво-, так і для тривимірних моделей. Тривимірні моделі можуть бути аналітичними, кусково-аналітичними, алгебрологічними, рецепторними та ін. Відповідно до класу задач, які розв'язуються, моделююча система, крім основних графічних функцій, може доповнюватися графічними функціями проблемної орієнтації. Моделююча система описує дво- чи тривимірну геометрію об'єкта, який виводиться на видову поверхню, для графічної системи, ядром якої є базовий графічний пакет (БГП). БГП містить набір підпрограм, які забезпечують інтерфейс з мовою високого рівня та дає змогу працювати з пристроєм у термінах елементарних графічних операцій різного рівня складності (зобразити відрізок зеленим кольором, зобразити коло тощо). Цей набір підпрограм звичайно покриває майже всі можливості апаратури. Склад та функції підпрограм БГП залежать від конструкції обладнання, можливостей його блока керування. Вважають, що БГП для графопобудовника містить підпрограми креслення відрізків прямих, кола та його дуг суцільними та штрих пунктирними лініями, а також виведення текстових та цифрових написів. БГП для графічного дисплея забезпечує, великі можливості. наприклад, масштабування та переміщення зображення, розподіл графічної інформації на сегменти та незалежне керування частинами зображення, виділення, витирання елементів тощо. Результати роботи підпрограм безпосередньо відображуються на обладнаннях графічного виведення. БГП працює з обладнанням введення — виведення графічної інформації (ГІ) через програму-драйвер операційної системи. Програма-драйвер реалізує взаємодію із системою та виконання інструмента (графопобудовника, електронного променя графічного дисплея, підсвічування точки та ін.). Образно кажучи, графічну систему можна порівняти з "уявлюваною фотокамерою". Моделююча система дає уявлюваній фотокамері опис сцени, яка складається з одного (чи більше) об'єкта деякого штучного світу (дво- чи тривимірного). Потім ця камера створює вигляд об'єкта в цьому світі. Як і у разі використання фотоапарата "Поляроїд", зроблений знімок відразу "проявляється" і майже миттєво може бути показаний на видовій поверхні. Уявлювана камера діє як реальна: вона може побудувати знімок сцени тільки з візуальних елементів найнижчого рівня та нічого не знає щодо їх організації чи структури. Тому моделююча система описує об'єкти для графічної системи як графічні примітиви нижнього рівня. Таким чином, графічна система забезпечує введення та виведення графічної інформації. Вона має бути інваріантною щодо об'єкта й проблемно-незалежною. Якщо використовується графічний стандарт GKS, то забезпечується крім цього незалежність і від технічних засобів комп'ютерної графіки, що досягається завдяки введенню поняття графічної робочої станції, яка є абстракцією фізичного пристрою. Логічні пристрої введення призначені для введення: координат (LOCATOR), дійсних чисел (VALUATOR.), послідовності координат (STROKE), рядка символів (STRING), однієї з альтернатив (СНОІСЕ), елемента зображення (RІСК). Пристрій виведення забезпечує виведення: · ламаної (POLYLINE); · послідовності маркерів спеціальних символів з центрами у визначених точках (POLYMARKER); · рядка тексту (ТЕХТ); · заповненої площі (FILL AREA); · масиву клітин (CELL ARRAY); · узагальненого графічного примітива (GENERALIZED DRAWING PRIMITIVE). Атрибути примітивів визначаються з точністю до реалізації робочої станції, яка інтерпретує їх відповідно до можливостей апаратури. Слід зазначити, що система GKS —двовимірна графічна. Проте в рамках ISO виконуються роботи, пов'язані з розробкою стандарту для тривимірної графіки. Крім того, у рамках ISO проектується стандартизація геометричного інтерфейса між системами автоматизованого проектування та виробництва, який стандартизує формат файла даних для обміну проектно-конструкторською інформацією. Процедурно-орієнтовані мови. Текстові і графічні редактори Процедурно-оріентовані мови реалізації комп'ютерної графіки мають відповідати таким вимогам: 1 Мова повинна давати користувачеві засоби для опису та генерації зображень і маніпулювання ними. Для опису та гене-рації зображень потрібно мати команди за допомогою яких можна специфікувати графічні примітиви або сукупність примітивів і задавати атрибути, які визначають візуальні якості цих примітивів на екрані дисплея. До маніпуляції належать геометричні перетворення та операції кадрування, а також перекомпонування піделементів малюнка, їх злиття та виведення. 2 Графічна мова повинна мати засоби для аналізу зображень. Для цього слід мати команди, які дають змогу виявляти та досліджувати річні способи зображення. Аналізуються також взаємозв'язки між піделементами зображень. 3 Мова має бути гнучкою. Важливою є наявність засобів для роботи з процедурами. Нині таких універсальних графічних мов ще не розроблено. Формування зображень (зокрема інтерактивне) та їхній аналіз було виділено в дві окремі частини; шляхи зображення цих частин поки що тільки дискутуються. Розглянемо модель графічних мов високого рівня. За останнє десятиріччя з'явилося багато графічних мов або графічних розширень існуючих мов. Розширення мови означає додаток до існуючої "базової" мови нових синтаксичних конструкцій. Деякі з існуючих мов програмування зручні для розширення, тому їх називають "розширюваними". Взагалі розширення мови вимагає модифікації та переписування заново існуючого компілятора, що є довгого трудомісткою роботою. Крім цього, виникає питання про транспортабельність одержаного таким чином діалекту мови. Найбільш поширеним методом, який дає змогу відмовитися від модифікації компілятора базової мови, є створення передтранслятора. При цьому початкова програма складається за інструкціями двох видів: інструкцій базової та розширеної мов. Передтранслятор транслює останні інструкції базової мови. Останнім часом з'явилося багато мов для опису зображень, в яких вони подаються як композиції найпростіших елементів. При цьому різновидів найпростіших елементів небагато. Однією з мов такого типу є мова АutoLISP. Основним графічним примітивом цієї мови є лінія. Лінія ідентифікується вибором двох точок, які їй належать (початком і кінцем). Наведемо приклади задання відрізків: double from x; подвійне x; double from y; подвійне y; double from z; подвійне z; double to x; подвійне х; double to у; подвійне у; double to z; подвійне z. Звичайно таке подання застосовується в примітивних програмах. Як відомо, дві точки визначають пряму. Місце розміщення точки в пристрої визначається координатами х. у, z. Структура даних для задання лінії при цьому може бути структурою типу запису, в якому відрізок визначається двома кінцевими точками. Якщо моделюється множина ліній, що складаються із сотень та тисяч відрізків, то існують методи, які дають змогу скорочувати не тільки обсяг пам'яті, а й час пошуку. Типовими мовами високого рівня є Фортран. Паскаль, Сі++, Лісп, Бейсік. Вхідною інформацією для операторів, що генерують графічні об'єкти, є числові дані. Їхнім виходом є креслення на графопобудовнику чи зображення на екрані дисплея. Вони нічим принципово не відрізняються від інших процедур виведення з обчислювальної машини. Для задач пов'язаних з генерацією зображень, система графічного програмування може бути реалізована у формі пакету підпрограм. За останні роки було створено велику кількість таких пакетів, орієнтованих на генерацію зображень (зокрема в інтерактивному режимі). Технічне забезпечення було б недоцільним без програмного забезпечення його. Програмне забезпечення графіки — це набір програм, підготовлених, щоб зробити їх зручними для користувача, який працює із системою комп'ютерної графіки. Цей набір програм включає програми для формування зображень на екрані ЕПТ, для маніпулювання зображеннями та для виконання різною роду взаємодій між користувачем та системою. Крім програм графіки, в нього можуть входити додаткові програми, які реалізують які-небудь спеціальні функції. До них належать, зокрема, програми аналізу конструкцій. Програмний засіб для конкретної системи комп'ютерної графіки значного мірою залежить від типу апаратних засобів, що використовуються в цій системі. Він має бути написаний спеціально для тих типів ЕПТ і обладнань введення, які застосовуються в даній системі. Внутрішня структура програм для ЕПТ зі штриховим записом звичайно відрізняється від структури програми для ЕПТ з растровим скануванням, Відмінність між трубкою запам'ятовування та трубкою з регенерацією також має впливати на програму графіки. Хоча ці відмінності в програмах можуть бути непомітними для користувача, вони важливі при проектуванні системи інтерактивної комп'ютерної графіки. Проектуючи програмні засоби графіки слід керуватися шістьма основними правилами: 1 Простота. Програмні засоби комп'ютерної графіки мають бути прості у використанні. 2 Несуперечність. З точки зору користувача програми пакету повинні функціонувати узгоджено та бути передбачуваними. 3 Повнота. У наборі графічних функцій не повинно бути істотних упущень. 4 Стійкість. Система графіки має бути стійкою до незначних помилок оператора. 5 Продуктивність. Програмні засоби повинні забезпечувати максимально можливу продуктивність у межах, накладених апаратними засобами. Програми графіки мають бути ефективними, а час реакції— малим у розумних межах. 6 Економічність. Програми графіки не повинні бути занадто великими та дорогими, бо це може зашкодити їх використанню. Звичайно програмне забезпечення поділяють на два великих класи: системне програмне забезпечення та прикладне програмне забезпечення Операційна система (ОС) є найважливішою складовою програмного забезпечення комп'ютерної графіки. Вона призначена для керування та організації комп'ютерних операцій. У більшості випадків операційна система поділяється на дві частини; основна програма, яку називають ядром, та набір периферійних програм, які називають утилітами. Функції ядра ОС такі: · організація простору пам'яті на апаратних пристроях в структурні одиниці для зберігання та відновлення інформації. Ці структурні одиниці називають файлами; · виконання вказівок та пошук існуючих файлів та утиліт; · керування одночасним виконанням різних програм та забезпечення зв'язку між такими програмами; · керування інтерфейсними операціями між програмами та зовнішньою апаратною периферією. Найвідоміші операційні системи СР/М та МS/DOS фірми Місrоsоft. Часто використовується операційна система UNIX. Прикладне програмне забезпечення — це пакет прикладних програм, які реалізовані на мові високого рівня. У найбільш застосовуваних мовах програмування, таких як Сі++, Паскаль, Бейсік є набір функцій елементарної (базової) графіки. У цей набір входять функції креслення простих геометричних фігур, ліній прямокутників, багатокутників, кола, еліпсів, дуг тощо. Крім того, набір доповнюється функціями зафарбовування, виведення рядків тексту, засобами креслення графіків та діаграм. Засоби елементарної (базової) графіки розраховані на ділову графіку, тобто на побудову на екрані різних графіків та діаграм, а також на показ простих рисунків, які підготовлені в графічних редакторах. Проте є цілий клас задач, в яких графіка не тільки використовується для показу на екрані результатів розрахунку або закінчених форм, а й е інтерфейсом комп'ютера з користувачем. На сучасному рівні комп'ютеризації властивість інтерактивності притаманна практично всім програмам персональних комп'ютерів (ПК) у текстовому режимі. Інтерактивність у графіці дає більш високий якісний рівень взаємодії з користувачем. Обсяг інформації на одному екрані в графічному режимі може бути значно більшим, ніж на тому самому екрані в текстовому режимі. Графічний інтерфейс складається з набору бібліотек функцій базової та інтерактивної графіки і графічного редактора. Бібліотеки, розроблені для мов програмування: Сі++, ТурбоПаскаль, Кліпер. Графічний редактор та бібліотеки взаємопов'язані концептуально, тобто графічний редактор побудований з використанням бібліотек графічного інтерфейсу, а бібліотеки мають функції для роботи з графічними об'єктами, підготовленими за допомогою графічного редактора — слайдами, томами, фреймами. Графічний інтерфейс оперує трьома типами графічних об'єктів: слайд — растрова копія екрана. Зберігається у файлі в упакованому форматі. Створюється в графічному редакторі або імпортується з інших систем за допомогою резидентного копіювальника екрана. Слайд звичайно використовується як фоновий малюнок: том — бібліотечний набір малюнків невеликого формату. Доступ до малюнків здійснюється за номером або іменем. Малюнки зберігаються в томі в упакованому форматі. Тома вигідні для зберігання примітивів (ісоns), елементів "меню", умовних позначень, фрагментів зображень, які часто використовуються; фрейм — графічна база даних складається з упорядкованого набору записів і заголовка. Запис містить інформацію про координати, тип, колір та інші атрибути одного з графічних елементів. Графічний елемент — це лінія, прямокутник, коло, багатокутник, зафарбовування, сплайн, текстовий рядок, малюнок з тома. У заголовку міститься інформація про слайд і том, які використовуються з цим фреймом. Запис може бути доповнений кодом, визначеним користувачем, тоді кожному елементу зображення відповідає код, що можна використовувати, наприклад, для зв'язку з базою даних та організації доступу до елементів зображення. Пропонованого набору функцій графічного інтерфейсу достатньо для написання свою графічного редактора з потрібними властивостями. Функції бібліотеки поділяються на дві групи: · базової графіки; · інтерактивної графіки. Набір функцій базової графіки складається з стандартних наборів функцій креслення простих графічних елементів, функцій виведення роботи з вікнами, переведення сторінок, показу слайдів, виведення на принтер. Набір функцій інтерактивної графіки дає змогу працювати з фреймами, слайдами і томами, а також з курсором за допомогою маніпулятора "миша" або клавіатури. Функція роботи з фреймами включає: · читання одного або кількох фреймів з пам'яті; · актуалізацію одного з фреймів; · показ усіх елементів фрейму на екрані; · показ вибраного елемента фрейму на екрані; · установлення першого або останнього елементи фрейму; · послідовний перегляд елементів фрейму; · зміна атрибутів елемента фрейму (координат. кольору); · вибір елементів фрейму через зазначення його на екрані; · приєднання додаткового коду до елемента фрейму; · вибір елемента фрейму за кодом; · запис фрейму, який змінився у файл: · видалення фрейму з пам'яті. Функції роботи з томами полягають у: · завантаженні змісту тома в пам'ять; · завантаженні малюнка з тома за іменем або порядковим номером; · показі малюнка на екрані у різних режимах. Редактор підтримує векторний і растровий способи створення зображення Наявність шрифтів з алфавітом робить редактор зручним для вітчизняного користувача. Графічний редактор дає змогу: · зображувати лінії, причому лінії можуть бути досить складними (наприклад, хвилястими), а прості лінії можуть мати різну товщину; · подавати зображення точками різного розміру. Це растрове зображення призначене для коригування та створення слайдів. При цьому доступні режими зображення за допомогою точки, парних або непарних точок, а також зображення точкою із заданим шаблоном зафарбовування: · заливати, перефарбовувати, обмінювати два кольори; · зображати прямокутники, кола, замкнені багатокутники; · подавати зображення сплайнів, дуг (гіпербол, парабол, еліпсів), ламаних ліній; · вводити текстову інформацію різними шрифтами, вертикально або горизонтально з масштабуванням і тінями; · подавати зображення в режимі збільшення; · копіювати частини растрового екрана: · повертати вибраний елемент або зону растрового екрана. Реалізація і система параметрів Комплекс засобів для обробки даних складається і компонентів апаратного й програмного забезпечення. Технічне забезпечення включає комплекс технічних засобів, призначених для введення графічної інформації, формування та виведення результатів у вигляді графічної інформації, редагування зображень. Функціонально будь-який комп'ютер виконує операції введення, зберігання, обробки, виведення графічної інформації і відповідно містить технічні засоби для їх виконання. Технічні засоби — це всі електричні та механічні складові частини комплексу технічних засобів комп'ютера: центральний пристрій, пристрої введення, виведення та передавання даних. Уся апаратура, яка не входить безпосередньо до складу центрального пристрою об'єднується загальним терміном "периферійні пристрої". На рис. 25.1 наведено існуючі елементи комплексів технічних засобів що дають змогу створювати погрібну конфігурацію комп'ютерів. Центральні процесорні пристрої (ЦПП) розробляють на основі різних типів ЕОМ (рис. 1.28), Критерій вибору ЕОМ зумовлений задачами, що розв'язуються. Наприклад, якщо потрібна висока точність обчислені, або якщо обробляються великі масиви даних, то доцільно використовувати супер-ЕОМ. Основним типом великих і супер-ЕОМ, які використовуються в сучасних САПР, є ЕОМ єдиної системи (ЄС ЕОМ). Міні-ЕОМ та мікро-ЕОМ відкривають нові можливості для конструкторів і проектувальників, оскільки сучасні ЕОМ цих класів, об'єднані в мережі, наближаються до великих ЕОМ. Комп'ютерна система керується центральним процесорним пристроєм, який е головним елементом комп'ютерної системи. Центральний процесорний пристрій (ЦПП — це пристрій, який розшифровує зміст команд у програмі й виконує (інтерпретує) їх. Іншими словами, ЦПП є засобом переробки графічної інформації, яка проходить етапи створення, обробки та зберігання моделей об'єктів. До складу ЦПП входять три основні елементи: 1. Пристрій керування, який перекладає кожну комп'ютерну команду (інструкцію) в коректну послідовність: інтерпретує команди та передає відповідні сигнали, які активують інші частини комп'ютера. 2. Арифметико-логічний пристрій (АЛП), що обробляє елементарні операції додавання й віднімання, які є основою всіх математичних операцій виконуваних комп'ютером. 3. Оперативний пристрій запам'ятовування (ОПЗ), в якому розміщуються програми та дані у міру їх використання. Обсяг пам'яті вимірюється в мегабайтах. Кожний байт є одним символом коду команди і складається з восьми бітів (двійкових шифр). Більшими одиницями фізичної величини пам'яті гігагабайт. ОПЗ забезпечує швидке виконання програм і в більшості САПР або АСТПВ має обсяг до 128 Мбайт. Пристрої введення графічної інформації Джерелом графічної інформації є об'єктивна реальність: реальні механізми та машини як існуючі, так і створювані, а також процеси виробничої діяльності конструктора. При звичайному неавтоматизованому проектуванні основним носієм конструкторської інформації є різні архівні та довідкові інформаційні матеріали, державні стандарти, нормалі, прейскуранти, складальні креслення, специфікації тощо. Основним засобом реєстрації цієї інформації є документи текстові та графічні, які зберігаються в проектних організаціях, бібліотеках, архівах. При автоматизованому проектуванні за допомогою ЕОМ інформація в такому вигляді може існувати тільки зовні автоматизованої системи. Всередині системи інформація має бути подана в цифровому коді однією з її внутрішніх мов. При автоматизованому проектуванні основним носієм інформації про форму, розміри, кінематичні зв'язки та інші властивості конструкцій, що розробляються є креслення, виготовлене за правилами технічного креслення. Сучасна мова технічного креслення —- одна з найбільш розвинених. формалізованих графічних мов. Вона дає змогу описувати практично будь-які форми та конструкції технічних об'єктів. Для успішного застосування графічне зображення перетворюється у форму, придатну для обробки комп'ютером. Усі персональні комп'ютери оперують з графічною інформацією (ГІ), поданою в цифровій формі. Процес перетворення ГІ в цифрову форму складається з двох етапів: · читання та кодування. Читання ГІ зводиться до визначення координат елементів (точок, ліній, фрагментів) у вибраній системі координат. · кодування — до перетворення зчитаної інформації в цифровий код за раніше прийнятими правилами з подальшою обробкою комп'ютером. Пристрої введення інформації в комп'ютер призначені для перетворення даних і програм з доступної людському сприйняттю форми у внутрішню машинну форму. Для цього використовують: термінал -- клавіатурний пристрій типу друкарської машинки або відеотермінал — такий самий пристрій з телеекраном для перегляду інформації, що вводиться. Можуть використовуватися: світлове перо. дотик якого до екрана в певній точці дає змогу вводити або змінювати інформацію в цій точці: сенсорна панель, що реагує на дотик пальця до певної клавіші: графічний планшет, за допомогою якого можна вводити графічну інформацію. Пристрої розробляють на основі звуковою аналізатора для введення інформації з голосу. У персональним комп'ютерах широко використовуються важелі керування, джойстик, схожий на важіль переведення передач в автомобілі; "миша". яку пересувають на столі поряд з дисплеєм (відеотерміналом); кульовий пристрій, який розміщений у спеціальному гнізді зовнішнього пристрою і вільно рухається під рукою. Переміщуючи в довільному напрямі будь-який з цих пристроїв, переміщуємо відповідно на екрані також покажчик курсора, дістаючи доступ до будь-якої області екрана. Це дає змогу зображати на екрані будь-яку криволінійну фігуру. Ручне введення в комп'ютер графічної інформації виконують за допомогою спеціальних мов кодування. Воно має низьку продуктивність і недостатню захищеність від помилок людини. Тому автоматизація введення є актуальною проблемою, яку вирішують на шляху створення автоматичних і напівавтоматичних пристроїв, що доповнюють основний комплект обладнання ЕОМ і дають змогу в десятки разів збільшувати продуктивність праці та підвищувати вірогідність інформації, що кодується. Табл.1.3
Серед пристроїв для кодування найбільш поширеними с М-2002. М-2004. ЕМ-709. ГАРПИ-1, ПАСТИ. Мікроніка ДТ 2Ж1-А, а також пристрої фірм Саl Соmр, Веnson, Агіsto-Werke та ін. Основні характеристики деяких вітчизняних пристроїв графічного введення подано в табл. 1.3. Для комп'ютерів, як правило, необхідна не просто копія зображення, а й інформація з певним змістом. Якщо інформацію було введено без розгляду, то виникає дуже складна проблема розпізнавання. Людина з напівавтоматичним планшетом спочатку не тільки відсортовує потрібну інформацію, а й може суто геометричні дані доповнювати командами, кодами та назвами, що вводяться з алфавітно-цифрової клавіатури. У зв'язку з цим широко застосовуються напівавтоматичні пристрої введення інформації з графічних документів, одним з яких є кодувальний планшет (дігітайзер). Наприклад, кодувальний планшет Мікроніка ДТ 2Ж0-А належить до напівавтоматичних пристроїв введення графічної інформації з креслень, ескізів, фотознімків та інших зображень. Пристроями більш високого класу є автоматичні ПГВ. Вони характеризуються великою швидкодією, не мають несистематичних помилок, які виникають при ручному кодуванні. Проте для задовільної роботи їх потрібні графічні документи високої якості й точності. За принципом дії автоматичні ПГВ поділяють на слідкувальні та сканувальні. Пристрої, які грунтуються на принципі слідкування за лінією, забезпечують читання нескладної ГІ, поданої у вигляді діаграм, графіків, контурів плоских деталей, нанесених на папір, кальку, фотоплівку або інший носій. Сканувальні автоматичні ПГВ, що працюють за принципом порядкового читання зображень, можна використовувати для кодування технічних документів будь-якої складності. Пристроями такого типу є багатоканальний автомат читання кривих МАСК. "График", "Карта", "Аutoscan-1000" (США) та ін. Вони формують двійковий код рядка, що читається, і передають його для зберігання та обробки в ЕОМ. Проте для зберігання всієї інформації про зображення потрібно мати обсяг пам'яті ЕОМ, обчислюваний мільйонами бітів. Крім того, складність реалізації швидкодіючих і надійних алгоритмів відновлення структури ГІ зумовлюють малу ефективність застосування ПГВ для автоматичної обробки. Зараз відомі результати праць щодо створення надійних алгоритмів відновлення зображення, скорочення надмірності, а також спрощення та формалізації конструкторських документів.
Пристрої введення -виведення графічної інформації Одним із важливих пристроїв обчислювальної техніки є графічні дисплеї — зручний та швидкодіючий пристрій введення— виведення інформації з ЕОМ. Він має унікальні характеристики, дає змогу виконувати тривимірне проектування різального інструменту, верстатів, кораблів, літаків та інших складних об'єктів, Графічні дисплеї відрізняються великою швидкістю обміну інформацією з ЕОМ, гнучкими та багатофункціональними засобами введення —виведення, завдяки чому можна легко вводити в ЕОМ, модифікувати та виводити на екран різноманітну графічну й алфавітио-цифрову інформацію. Все це зумовило широке застосування їх як терміналів у різних інтерактивних системах проектування. За призначенням та виглядом інформації, яка відображається на екрані, дисплеї поділяють па два класи: алфавітно-цифрові, орієнтовані на введення — виведення та обробку тільки текстової документації, і графічні, або універсальні, які дають змогу виводити на екран та перетворювати не тільки текстову інформацію, а й різні креслення. графіки тощо. Найбільш широко застосовують алфавітно-цифрові дисплеї ЕЛ1Т-1, УОІ-1000, ЄС-7066. Для ЄС ЕОМ розроблено графічний дисплей ЄС-7064. Крім того використовують графічні дисплеї УГД 43-1 ("Дельта"), ЕПП, ЕПГ-400, Сінтра (Франція). Комп'ютех-400, ІВМ-2250 (США). Графічні дисплеї . Векторні та растрові дисплеї призначені для автоматизації введення — виведення інформації в ЕОМ і є пристроями для діалогу людини й машини. Графічні дисплеї містять екран, на який з ЕОМ виводиться зображення та електронний блок керування, що складається з різноманітних ланцюгів і призначений для розшифрування поданих команд та числової інформації (рис. 1.30). Щоб не перевантажувати ЕОМ дисплеї, як правило постачаються буферною пам'яттю, куди з ЕОМ надходить числова модель зображення. Крім графічного зображення, на екран можуть виводитися надписи. текст, цифри. Для діалогу "людина — машина" дисплей забезпечується алфавітно-цифровою клавіатурою, а також світловим пером, яке дає змогу виконувати операції, пов'язані з внесенням та змінами інформації в ЕОМ. Для машин серії ЄС випускають графічні дисплеї ЄС-7064, ЄС-7905. Фірма ІВМ випускає ЄСА з широкими можливостями. У графічних дисплеях використовується один з трьох принципів побудови зображення: на екрані із запам'ятовуючою електронно-променевою трубкою, на екрані з регенерацією зображення, на растровому екрані. Електронно-променеві трубки векторних графічних дисплеїв бувають з регенерацією зображення та запам'ятовуючі. Перевагою дисплеїв на запам'ятовуючих трубках є можливість генерувати зображення довільної складності з чіткими лініями й літерами без мерехтіння, а недоліками — збільшення часу для креслення зображення при необхідності багаторазової його побудови, слабий контраст (світлотінь), а також обмежена можливість використання барв. Якщо час формування зображення перевищує цикл регенерації ("насичена" картинка), то зображення починає мерехтіти, що є головним недоліком розглянутих дисплеїв. Зовсім інший принцип дії має растровий графічний дисплей, в якому креслення, складене спочатку з ліній, перетворюється в автономному пристрої запам'ятовування, потім переноситься на екран. Зображення на екрані будується електронним променем, який по рядках прокреслює його і подає сигнал туди, де має виникнути точка, яка засвітиться. Так можна дістати майже 2 мли зображених точок (пікселів). У растровому графічному дисплеї зникає небезпека мерехтіння екрана, бо електронний промінь пробігає по рядках усю площину екрана зі сталою швидкістю. Таким чином, КІЛЬКІСТЬ ТОЧОК, ЯКІ ВИСВІТЛЮЮТЬСЯ, НЄ впливає на швидкість побудови зображення на екрані. Недоліками такого дисплея є низька розрізняльна здатність; статичне враження від зображення на екрані гірше, оскільки з'являється так званий "ефект драбини" при відтворенні похилих або кривих ліній. Інтерактивні графічні комплекси . На практиці широко застосовують інтерактивні графічні комплекси, які називаються атоматичними робочими місцями (АРМ). Вони призначені для підготовки, перетворення та редагування текстової й графічної інформації, одержання документації на машинних носіях, розв'язання схематичних і конструкторських задач в автономному режимі. За допомогою їх розв'язують також задачі щодо організації обміну інформацією з САПР, побудованих на основі потужних ЕОМ. Узагальнену структуру АРМ подано на рис. 1.31.
У 80-х роках промисловість випускала АРМ-М-01, АРМ-М-02, АРМ-М-03, АРМ-М-04, АРМ-Р-02, АРМ-Р-03, АРМ-Р-04, АРМ-Р-05 і АРМ-Р-01. Пізніше почали впроваджувати продуктивніші міні-ЕОМ типу СМ-4, "Наїрі-41" та досконаліші операційні системи, які забезпечують багато-використовуваний режим роботи: максимальне віддалення периферійних пристроїв комплексів АРМ від ЕОМ і наближення їх до робочого місця користувача. Вимоги практики стимулюють розвиток графічних засобів. Пристрої введення в комплекси АРМ є фактично представниками першого покоління графічних засобів і комплексів АРМ, вони відображають тільки початковий етап розвитку. Досягнення в галузі мікроелектроніки, обчислювальної техніки, програмування дають змогу виявити напрями в яких вдосконалюватимуться технічні засоби автоматизації введення інформації. Пристрої виведення графічної інформаціїРозвиток комп'ютерної графіки почався з розробки пристроїв виведення графічної інформації. До таких пристроїв належать: екранні пристрої відображення в графічних дисплеях із запам'ятовуючою трубкою (екраном), з регенерацією зображення, з растровим екраном, креслярсько-графічні автомати (КГА), пристрої для одержання твердих копій. Креслярсько-графічні автомати з цифровим програмним керуванням дають змогу автоматизувати найбільш трудомістку операцію проектування — виготовлення технічної документації і, крім того, одержувати результати в звичайній формі (у вигляді креслень, графіків, схем), креслити діаграми, виконувати контрольне зображення результатів розрахунку. Розроблено найрізноманітніші за принципом дії КГА, які працюють як в автономному режимі від машинних носіїв інформації, так і безпосередньо від ЕОМ за керованими каналами зв'язку. Найбільш досконалими КГА планшетного та барабанного типів є ЄС-7051, ЄС-7052, ЄС-7053, ЄС-7054, АП-7251, АП-7052, АП-7053, які працюють в автономному режимі та з ЕОМ (табл.1.4 ). Основним виготовлювачем КГА за кордоном є фірма Саlіfоrnіа Соmрutег Рrоducts (США), яка випускає швидкодіючі автомати типу Саl Соmр. Табл.1.4
КГА з програмним керуванням мають також ряд недоліків: низьку порівняно з ЕОМ швидкодію; недостатню надійність роботи, зумовлену застосуванням механічних пристроїв реєстрації та переміщення; програмно-командну несумісність різних типів КГА. Досягнення в галузі оптоелектроніки, волоконної оптики, лазерної техніки, електроніки дають змогу підійти до створення КГА на основі принципіально нових рішень, які забезпечать високу швидкодію та оптимальну якість креслення як на звичайному, так і на спеціальному папері. Є три великі класи КГА, які розрізняються за характером програмного керування: від ЕОМ, автономні та універсальні (рис. 1.32). Залежно від методу обробки вхідних сигналів бувають такі схеми керування: аналогові, цифро-аналогові та цифрові. За принципом дії виконавчого механізму бувають такі типи КГА: · електромеханічні — з двох координатною системою відліку та графічними методами реєстрації; · оптико-механічні - з електромеханічною розгорткою зображення та фотографічними методами реєстрації · електронно-променеві — з кроковою або сканувальною розгорткою зображення (електростатичними фотографічними методами реєстрації); · рядково-регістрові — з лінійною системою розгортки та комбінованими методами реєстрації. На рис. 25.10 подано класифікацію пристроїв виведення ГІ залежно від видів зображень, Є також інші зображення: · статичні та динамічні (як в кіно та на телебаченні); · на постійному (папері, кальці, плівці) або тимчасовому носієві (екран ЕПТ дисплея); · плоскі або стереоскопічні, які дають ефект об'єму, Найпоширеніші КГА двох тилів: перові планшетного та барабанного типів; електростатичні. Креслярсько-графічний автомат план-щетного типу призначений для автоматичного креслення на паперових носіях графіків, діаграм машинобудівних та будівельних креслень, метеорологічних карт, функціональних та електричних схем, а також інших документів. Вихідні дані надходять від пристрою, який читає їх з перфострічки, магнітної стрічки або від інтерфейси введення — виведення ЄС ЕОМ. Графічні реєструвальні пристрої барабанного типу призначені для креслення графіків деталей та конструкцій, які мають малі розміри по осі у і великі по осі х. Графічні пристрої планшетного типу дають змогу креслити ці документи, але в малих масштабах. За допомогою графічних пристроїв барабанного типу їх креслять з більшими розмірами по осі х і з більшою швидкістю, ніж пристроями планшетного типу (завдяки малим інерційним масам деталей, які обертаються і переміщуються). У графічних реєструвальних пристроях барабанного типу носієм інформації є рулонний папір з перфорацією або шорсткістю по краях, який переміщується по осі х завдяки обертанню транспортного барабана. Уздовж твірної барабана переміщуються три записувальних прилади, які керуються кроковим двигуном.
До цього часу не вирішена проблема перових графопобудовників, пов'язана з появою клякс, засиханням туші, а також з обмеженими швидкостями креслення. Електростатичні КГА не мають недоліків перових КГА. Функціональний принцип електростатичних КГА показано на рис.1.35. Над відтворювальною головкою з дуже тонкими голками (до 16 голок на І мм) протягують папір, який здатний відтворювати електростатичний заряд. За допомогою нижнього та оборотного електродів з'являються короткі електростатичні імпульси на голках. Папір, який протягується, дістає відповідний заряд і при переміщенні через фарбувальну ванну (тонер) на ньому осідає фарба. Після відсмоктування надлишку барвника і закріплення (фіксації) зображення, папір виводиться з КГА в сухому вигляді із зображенням, що не витирається. Електростатичні КГА мають досить високу розрізняльну здатність. Швидкість виведення графічної інформації більша, ніж у перового КГА, тому електростатичні КГА широко застосовують в автоматизованому проектуванні. Проте через складність електростатичних КГА їх досить рідко застосовують для одержання кольорових зображень. Технічні характеристики КГА подано в табл. 1.4. Такі технічні засоби, як центральні процесорні пристрої, пристрої введення ГІ, графічні дисплеїв трьох типів, автоматизовані робочі місця, пристрої виведення ГІ дають змогу створювати різноманітні конфігурації комп'ютерів. Пакети прикладних програм Пакет програм комп'ютерної графіки є засобом забезпечення взаємодії користувача з графічним терміналом. Він керує графічним взаємозв'язком користувача та системи, а також відіграє роль інтерфейсу між користувачем та прикладним програмним забезпеченням. Розглянемо найбільш відомі пакети програм комп'ютерної графіки. Широко застосовується система АutoCAD, розроблена в 1982 р. Вона використовується в різних галузях (зокрема, в машинобудуванні, архітектурі, електроні), де потрібні побудова та підготовка креслень, планів, схем, ілюстрацій. Система АutoCAD працює на різних типах персональних комп'ютерів, підтримує велику кількість різних графічних периферійних обладнань. Ця система настільки популярна, що створені різні об'єднання користувачів нею. Причина популярності — відкритість системи, можливість розроблення на основі системи АutoCAD своїх власних прикладних пакетів програм, в яких використовується інженерна графіка. Застосування інтерактивних систем, в яких усі проектні та технологічні етапи робіт об'єднані загальною концепцією та технологією роботи, єдиним інтерфейсом та загальною структурою даних — це все реалізовано в інтегрованій системі автоматизованого проектування САDdу, розробленій фірмою Ziegler-Instruments Gmbh, Система САDdу випереджає інші професійні системи. Інтеграція в пакеті САDdу досягається наявністю інтерфейсу для роботи з різними базами даних (ОРUS, Оrасlе, dbase, Fох Ваsе), розрахунковими та експертними системами, можливістю підключення до систем різних прикладних модулів, розроблених мовами Сі, Фортран, Паскаль, макроасемблер. Система САDdу забезпечує автоматизацію проектування в машинобудуванні, електротехніці, архітектурі та геодезії. Система САDdу — "Електротехніка" включає базовий модуль САDdу, який є ядром системи і містить драйвери для принтерів та плотерів, графічних відеоадаптерів, шрифти та загальні графічні функції, що використовуються в усіх модулях САDdу, модуль САDdу — "Електроніка-1" для проектування принципіальних та монтажних схем виробів електротехнічної промисловості. Модуль САDdу автоматично завантажує та підтримує специфічне для конкретного проекту графічне середовище, викреслює в потрібних місцях елементи, коректно підписує та зв'язує їх відповідно до схеми та правил з'єднання. Система САDdу — "Електротехніка-1" автоматично генерує креслення монтажної схеми, вводячи в неї за бажанням користувача резервні клеми у заздалегідь заданих вільних місцях креслення. Модуль САDdу — ''Електротехніка-1 " забезпечує одержання належної для проекту технічної документації: автоматично генеруе по сторінках специфікації елементів, контактів та клем. Ці специфікації є дуже важливим джерелом інформації для проектувальників. Система забезпечує виведення креслень і технічної документації на плотери й лазерні принтери у різних формах. Система САDdу — "Архітектура" містить такі модулі: для розробки поповерхових планів будинків; для створення тривимірної моделі будинку, що проектується, проектування та розрахунку даху; розрахунку кошторисної вартості будівництва. Система САDdу — "Геодезія" призначена для обробки даних у таких галузях, як геодезія, топографія, проектування шляхів, землеустрій. Вона містить такі модулі: для перетворення даних польових вимірювань; інформації, здобутої за допомогою електронних приладів; для будівництва топографічних карт та планів місцевості; для створення тривимірної цифрової моделі місцевості; для проектування шляхів, розбивки осей та розрахунку об'ємів виїмки грунту. Пакет "Компас — 4.0", розроблений у Санкт-Петербурзі, дає змогу: · виготовляти креслення, оформлені відповідно до ЄСКД; · мати широкий вибір бібліотек параметричних елементів як для загального машинобудування, так і для проектування електричних, гідравлічних та пневматичних схем; · забезпечувати сумісність із системами АutoCAD; · виводити креслення великих форматів на невеликі графопобудовники з наступним склеюванням; · проектувати оснастку та розробку операційних ескізів; · розробляти керуючі програми та їхній графічний контроль з імітацією обробки для широкого набору обладнання з ЧПК безпосередньо за кресленнями, розробленими за допомогою системи "Компас". Пакет 'ТЕОМОД" (Москва) — об'єктно-орієнтовна бібліотека тривимірної графіки та геометричного моделювання мови ТурбоПаскаль. Вона містить засоби для подавання, обробки й відображення складної геометричної інформації про тривимірні об'єкти. Пакет 'ТЕОМОД" дає змогу: · виконувати наукові та технічні розрахунки на основі геометричних моделей тривимірних об'єктів; · візуалізувати на екрані тривимірні об'єкти. Пакет "ГЕОМОД" розрахований насамперед на розв'язання нетрадиційних задач геометричного моделювання. Будучи бібліотекою процедур, цей пакет може бути доданий до існуючого програмного забезпечення користувача, "ГЕОМОД" застосовується у багатьох галузях: наукових дослідженнях; проектуванні в промисловості; робототехніці та штучному інтелекті; демонстраційних програмах та моделюванні в навчанні; створенні комп'ютерних тренажерів; комп'ютерних іграх. Система проектування деталей тіл обертання RОТАТIОN — це комплекс програмних та інформаційних засобів, які забезпечують проектування деталей типу: вал, втулка, фланець, зубчасте колесо в середовищі системи АutoСАD. Система містить ряд програм, написаних мовою АutоLISP, систему екранних, слайдових та падаючих "меню", а також таблиці, які мають потрібні параметри для генерації стандартних і нормалізованих елементів тіл обертання. Система дає змогу: · генерувати зображення деталей типу тіл обертання в потрібному масштабі шляхом послідовного вибору окремих елементів з графічної о "меню" та автоматичним стискуванням їх; · автоматично вибирати та генерувати зображення типових виглядів: розрізів і перерізів, включаючи канавки для виходу шліфувальних кіл, канавки для виходу; різьб, галтелі; перерізів шліцьових валів з прямокутним, евольвентним і трикутним профілями; канавок для виходу фрез або довбачів для нарізання зубчастих коліс; елементів шпонкових з'єднань; · автоматично вимірювати стандартні елементи конструкції деталей типу тіл обертання; · проставляти діаметральні розміри ступенів деталей, що проектуються як у режимі замовчування, так і в режимі з зазначенням положення розмірних ліній. Значення діаметральних вимірів мають посадки та допуски для гладких елементів валів, а також діаметри різьб з зазначенням кроку різьби та ступеня точності для різьбових елементів. Висновок На сьогодняшній день КГ віграє одну з найголовніших ролей в створюванні різноманітних речей, починаючи з архітектурних закінчуючи мікросхемами, грає головну роль в робототехніці від створення робота, його моделювання, до дістанційнаго керування ним. Дякуючи постійному вдосконаленню пристроїв вводу –виводу, розширенню роздільної здатності, градацій кольору – КГ все більш наближається до найточнішого проетування, модєлювання, більш наочного сприйняття об’єкта. ЗМІСТ 1. Вступ. 2. Принципи модулювання. 2.1 Геометричне моделювання в площині. 2.2 Геометричне моделювання в просторі. 3. Програмне забезпечення - Сама курсова робота була написана Ткаченко Артемом Ігоровичем, студент НТУУ ”КПІ” Група ДЕ-72, кафедра Електронних Приладив та Пристроїв, здана на п’ять (5) професору ДЕНБНОВЕЦЬКОМУ Станіславу Володимировичу 21.06.01 (завідуючий кафедри). 78 сторінок на УКРАЇНСЬКІЙ МОВІ. |