Комп'ютерна графіка
Вступ
На початку свого розвитку комп'ютерну графіку розглядали, як частину системного програмування для ЕОМ чи один з розділів систем автоматизованого проектування (САПР). Сучасна комп'ютерна графіка складає ряд напрямків і різноманітних застосувань. Для одних з них основою є автоматизація креслення технічної документації, для інших - проблеми оперативної взаємодії людини і комп'ютера, а також задачі числової обробки, розшифровки і передачі зображень. Сучасне розширення можливостей ЕОМ, створених для виконання обчислень, дає можливість комп'ютеру сприймати і наочно зображувати результати розрахунків, будувати необхідні комплексні креслення, схеми і т.п.. Зорове сприйняття графічної інформації для людини має важливе значення, обсяг і швидкість сприйняття зорових образів значні. Для представлення особливостей чи креслення будь-якого процесу досить декількох секунд, під час яких ми розглядаємо креслення, графік чи функції інше наочне зображення. Отже, важливість наочного представлення комп'ютером результатів числення важко переоцінити.
Однією з основних підсистем САПР, что забезпечує комплексне виконання проектних робіт на основі ЕОМ, є комп'ютерна графіка (КГ ).
Комп'ютерною чи машинною графікою називають наукову дисципліну, що розробляє сукупність засобів і прийомів автоматизації кодування, обробки і декодування графічної інформації. Іншими словами, комп'ютерна графіка розробляє сукупність технічних, програмних, інформаційних способів і методів зв'язку користувача з ЕОМ на рівні зорових образів для рішення різноманітних задач при виконанні конструкторської і технічної підготовки виробництва.
Ведеться інтенсивний пошук шляхів і способів рішення проблеми різкого підвищення продуктивності інженерної роботи під час виконання креслярсько-графічних робіт, конструкторської і технологічної підготовок виробництва. Це викликано потребою ліквідувати розрив, що утворився між відносно високою продуктивністю автоматизованого процесу основного виробництва і низкою продуктивністю ручного чи механізованого процесу конструкторської і технічної підготовки виробництва.
Вивчення комп'ютерної графіки обумовлено:
•широким упровадженням системи комп'ютерної графіки для забезпечення систем автоматизованого проектування, автоматизованих систем конструювання (АСК) і автоматизованих систем технометричної інформації, що складає 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, а x О або y0, то прямі паралельні.
Якщо =0, x= О, y= 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
Полярні параметри прямої. Відстань р початку координат від прямої (1.2) та кут між віссю Ох і відрізком перпендикуляра ОК (рис. 1.8) називають полярними параметрами прямої.
Відстань р визначають за формулою
. (1.16)
Кут t визначають не безпосередньо, а за допомогою функцій синуса та косинуса:
(22.17)
Умова паралельності прямих (1.7) ви¬пливає з формул (1.8) при = 0:
A1B2-B1A2 (1.18)
Умова перпендикулярності прямих (1.7):
A1A2+B1B2 =0 (1.19)
Рівняння прямої, яка проходить через точку М(х1, у1) і перпендикулярна до пря¬мої (1.2):
А(у –у1)- В(Х-Х1)=0. (1.20)
Відстань точки М (х1,у1) до прямої (1.2):
(1.21)
Якщо в цю формулу підставити коорди¬нати початку 0(0.0), то відстань d матиме знак С, чим і пояснюється знак абсолютної величини. Точки, розміщені по той самий бік від прямої що й початок коорди¬нат, дають той самий знак для d. Точки. розміщені по різні боки від прямої, дають протилежні знаки для 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=2si (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 = 2). Цей збіг, як і кінцеве значення 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). Задача має два розв'язки, якщо міжцентрова відстань d задовольняє умові (при 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, =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, y1j=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, то в узагальненій циліндричній системі він дорів¬нює . В обох випадках крок гвин-тової лінії становить. 2k.
Квазігвинтовою називають лінію, що зі сталим кроком напинається на поверхню обертання. Квазігвинтова лінія в гіпербо¬лічних координатах задається функ¬ціями (1.92). Якщо u=c=0, то вона роз¬міщена на конусі, якщо u=c0, то вона розміщена на однопорожнинному гіперболоїді.
Задання поверхонь
У неявній формі центральні по¬верхні обертання другого порядку задають, функцією
(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)
При (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)
то матимемо рівняння ребер призми.
Визначником пранильноїпірашди є: -кут нахилу грані до осі О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)
Алгоритми розв'язання позиційних задач
Перетин кривих поперхонь площиною.Якщо поверхня задана у прямокутних декартових координатах явною чи неявною формою, а січна площина — будь-яким визначни¬ком, то взявши координати трьох неколінійних точок, що належать січній площині, обчислимо коефіцієнти А, В, С, D за фор¬мулами (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, D0), знаходимо
(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, D = -16.
На рис. 23.2 зображено в ізометричній проекції поверхню однопорожнинного гіперболоїда, що перетинається тією самою січною площиною. Порівняно з поперед-німи вхідні дані відрізняються тільки зна¬ченням р, яке в цьому випадку набуває зна-чення -1.
Застосуємо наведений алгоритм для по¬будови лінії перетину прямої призми та
площини. Нехай січна площина має такі коефіцієнти A, B, C, D при яких викону-ються рівності (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
. (1.127)Об¬числимо значення спеціальних координат u, v, t у системі, до якої віднесено поверхню. Підставляючи значення t у внутрішнє рівняння поверхні, дістанемо ріння лінії рівня t=const цієї поверхні. Скористав¬шись формулами та враховуючи, що роль x і у відігра¬ють u і v відповідно, визначимо належність точки М до внутрішності чи зовнішності лінії рівня t = соnst заданої поверхні.
Якщо точка М належить до зовнішності лінії рівня, то функціональний параметр наступної довільної точки М визначаємо за формулою (1.127). надаючи s1 значення sM. Якщо точка M належить до внутрішності, то значення sM надаємо s2. Ітераційний процес продовжуємо доти, доки виконується умова , де визначає наперед задану точність.
Значення функціонального параметра довільної точки, при якому виконується ця умова, треба підставити в рівняння лінії, щоб дістати просторові координаті x, y, z шуканої точки перетину.
Зазначимо, що одна й та сама лінія може перетинати поверхню більше, ніж в одній точці. При цьому треба позначити той функ¬ціональний параметр sM довільної точки М, при якому вона вперше опинилася всере¬дині поверхні, а після знаходження розв'яз¬ку для однієї точки перетину за наведеним алгоритмом слід повернутися до цього зна¬чення та направити ітераційній процес у протилежний бік.
Просторовий алгоритм. Для поверхонь другого порядку (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, — функції, що реалізують ланцюжок —одну з функцій -- (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.32)
ЦиліндрU=0
Конусu=0
Елыпсоїд
Гелікоїдальний
циліндр
Циклічна G-поверхня
Щодо побудови проекції обвидної, то в багатьох випадках це можна зробити, роз¬в'язуючи рівняння (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)
де — кут між віссю та твірною конуса.
Правильна піраміда. Правильну піраміду віднесемо до вписаного в неї конуса. Кут між його твірною та віссю входить до визначника піраміди. Як і для призми, tH — кутовий параметр однієї з вер¬шин основи піраміди відносно площини х0z. Обчислимо ti за формулою (1.142), та р — за формулою (1.144), та 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ГФРНИ-1ИКГИ-0
Розмір робочої о поля, мм 1000 х 1000
500 х 5001055х780850 х618
Точність виміру координат, мм0,250.050,50,1
Продуктивність-10мм/с3000 точок / год100мм/с
Серед пристроїв для кодування найбільш поширеними с М-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
Щифр
графопобудовникаКраїнаТочність, ммМаксимальна швидкість кресленняТип КГАРозміри поля, мм
В 3930СНД0,05100Барабанний880 (ширина)
ЄС-7051Те саме0.0550Планшетний1050 х 1000
СС-70520,10200380 (ширина)
0,05100
СС-70530,10і 50841 (ширина)
ЄС-70540,05100
1600 У. 1500
Игекан-20,12587
394 х 841
Итекан-3
0,1080Барабанний420 (ширина)
0.125100
Aristomat 8310ФPН0,05500Планшетний500 х 500
Aristomat 8320Те саме0.05500Те самеІ200х 1500
Aristomat 83400.045001200 х 1500
Aristomat 83500,04500
1600 х 2000
Aristomat 8360
0.04...0,085002000 х 3000
Aristomat 8370
0,04..,0,085002500 х 3000
Aristomat 83710,04..,0,085003000 х 4000
Aristomat 8448
0,04...0,0866
1200^ 1500
Benson 1 11Франція0,10140Барабанний340 (ширина)
Benson 121Те сяме0,10127Те саме740 (ширина)
Benson 2100,1087Планінетннй480 х 750
0.1085Те саме840 х 1500
Benson 23и0,1085840 х 1500
0.0585840^ 1500
0.1085
840 х 1500
0.5085840 х 1500
0,0545840 х 1500
0,02545840 х 1500
Benson 1120.10150Барабанний340 (ширина)
Benson 1220,10150Те саме740 (ширина)
Benson 1320,10150940 (ширина)
Benson 2220,0575Планшетний840 х 1200
Benson 2320,0575Те саме840 х 1200
КГА з програмним керуванням мають також ряд недоліків: низьку порівняно з ЕОМ швидкодію; недостатню надійність роботи, зумовлену застосуванням механіч-них пристроїв реєстрації та переміщення; програмно-командну несумісність різних типів КГА.
Досягнення в галузі оптоелектроніки, волоконної оптики, лазерної техніки, елек¬троніки дають змогу підійти до створення КГА на основі принципіально нових рішень, які забезпечать високу швидкодію та оптимальну якість креслення як на зви-чайному, так і на спеціальному папері.
Є три великі класи КГА, які розрізняють¬ся за характером програмного керування: від ЕОМ, автономні та універсальні (рис. 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.Програмне забезпечення