Побудова шляхом стиску окружності
Скористаємося тим, що еліпс із параметрами a, b (нехай a < b) виходить із окружності радіуса a стиском по осі y в a/b раз. Побудуємо алгоритм, що є якоюсь комбінацією алгоритмів Брезенхема для окружності й для відрізка (див. мал. 6.12).
Рис. 6.12. Побудова еліпса шляхом стиску окружності.
Рис. 6.13. Змішана зв'язність.
Почнемо із крапки (a, 0) на окружності й із крапки (0, 0) на відрізку. Будемо будувати еліпс точно так само, як окружність, але зміщати поточну крапку по y тільки в тому випадку, коли такий зсув відбувається в поточному кроці вже для відрізка, тобто побудова відрізка саме і є реалізацією стиску в a/b раз (точніше, його дискретною апроксимацією). Цей алгоритм теж має недолік: можлива змішана зв'язність отриманої лінії (див. мал. 6.13).
1) dist(P1,P2) = ((x1 - x2) + (y1 - y2)2)1/2
Дата добавления: 2015-04-03; просмотров: 867;