REFERATUA.ORG.UA — База українських рефератів




src="i/21/cb29f263f.gif"> (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=2si (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д —

Комп'ютерна графіка

Рис.1.9

центральний кут, що охоплює дугу, або кутовий параметр дуги. Кути 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.

Задача спряження двох кіл третім

Задача спряження двох кіл третім зводиться до побудови кола, дотичного до двох заданих кіл. При цьому радіус шуканого кола задано, а треба знайти його центр і точки спряження.

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

Загальна вимога до програмного забезпечення розв'язування будь-якої задачі — включати аналіз сумісності поставлених умов. Це означає, що перш ніж застосувати алгоритм розв'язку,


 
Загрузка...