Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Метод Circle




Вправи

Питання для роздумів

Як Ви думаєте, чому товщина контуру незафарбованого прямокутника в прикладі 5.3 дорівнює товщині похилого відрізка і не дорівнює товщині горизонтального і товщині вертикального відрізків?

Як би Ви записали програмний код, щоб відрізок, що перетинає зафарбований прямокутник іншого кольору, проходив би над цим прямокутником? Під цим прямокутником?

Як Ви думаєте, що потрібно зробити для того, щоб числа, що є координатами відрізків і прямокутників у програмі приклада 5.3, були не занадто великими (вимірялися б одиницями, а не сотнями і тисячами)?

Створіть додаток, у графічному вікні якого після натискання командної кнопки з'являється зображення координатних осей зі стрілками, з нулем на початку координат і з буквами X і Y у кінців стрілок (мал. 5.1).

Створіть додаток, у графічному вікні якого після кліку по командній кнопці з'являється зображення українського прапора.

Мал. 5.10. Зображення українського прапора на флагштоку, побудоване за допомогою методу Line

Цей метод застосовується до тих же об'єктів, що й попередні графічні методи. Синтаксис методу наступний:

[Ім’яОб’єкта.] Circle(X, Y), Радіус [, Колір [, Кут1, Кут2 [, КоефіцієнтСтиснення ]]]

Ім’яОб’єкта може бути відсутнім. У цьому випадку за замовчуванням метод Circle використовується Екранною формою.

Зміст параметрів методу наступний.

(X, Y) — координати центра кола чи еліпса, що (або частина якого) буде створювати метод Circle на Об'єкті.

Колір — це вираз, що визначається так само, як і для методу Line.

Кут1 і Кут2 — це початковий і кінцевий кути чи дуги сектори.

Кути вимірюють у радіанах, їхні значення беруться в інтервалі від 0 до 2. Нульовий кут відповідає горизонтальної осі, спрямованій вправо.

Якщо перед ненульовим значенням кута ставиться знак «-» (мінус), це означає, що буде намальована не дуга, a сектор (а зовсім не те, що кут негативний).

При малюванні дуги чи сектора рух «пера» відбувається завжди проти годинникової стрілки, від Кута 1 до Кута 2 (і коли Кут 2 більше Кута 1, і коли Кут 1 більший Кута 2).

Якщо зображується не дуга і не сектор кола чи еліпса, а повне коло чи еліпс, Кути, природно, відсутні.

КоефіцієнтСтиснення — це позитивне число, більше чи менше одиниці. У першому випадку виходить еліпс, витягнутий по вертикалі, а в другому — витягнутий по горизонталі. Ступінь витягнутості визначається значенням Коефіцієнта. Якщо він відсутній, за замовчуванням зображується коло (окружність).

Як і в методі Line, не тільки значення перерахованих параметрів методу Circle впливають на вигляд фігури, що буде побудована цим методом. Нагадаємо (див. розд. 5.1), що в об'єкта, на якому здійснюється малювання, є властивості, що визначають зовнішній вигляд зображуваної фігури — колір її контуру (властивість ForeColor), стиль її заповнення (властивість FillStyle), а також колір її заповнення (властивість FillColor).

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

Приклад 5.6. Нехай на екранній формі знаходяться 3 об'єкти класу Графічне вікно з іменами Поле 1, Поле 2 і Поле3, а також командна кнопка з ім'ям ПУСК.

Після кліку командної кнопки в графічних полях за допомогою методу Circle будуть намальовані:

у Полі 1 — окружність, коло і два еліпси;

у Полі 2 — дуга окружності і різних варіантів секторів кола й еліпса;

у Полі 3 — різнобарвні сектори, що виходять шляхом розподілу кола на 7 рівних частин. На мал. 5.11 показаний результат цього «малювання». Код 5.5 містить опис цієї програми.

Код 5.5
 

 

 
Мал. 5.11. Демонстрація роботи графічного методу Circle

Зверніть увагу на те, що для рівномірного заливання фігури яким-небудь кольором властивість FillStyle Об'єкта повинна мати значення 0, a безпосередньо перед кресленням фігури властивість FillColor повинна одержати значення, що відповідає кольору заливки.

Приклад 5.7. Скористаємося розглянутими графічними методами для створення додатка, у вікні якого можна побачити кожну (за бажанням) з восьми фаз Місяця. Для цього користувач повинен клацнути одну з восьми кнопок з цифрами від 1 до 8 (мал. 5.12).

Мал. 5.12. Вікно додатка, що демонструє застосування графічних методів для малювання фаз Місяця (число командних кнопок дорівнює числу зображуваних фаз)

 

Мал. 5.13. Зображення фаз Місяця, побудовані за допомогою графічного методу Circle

Усі 8 зображень фаз Місяця приведені на мал. 5.13.

Для побудови цих зображень скористаємося двома способами, зміст яких проясняє мал. 5.14.

Мал. 5.14. Два способи малювання фаз Місяця: А — за допомогою накладення еліпса на півколо; Б — за допомогою перетину напівеліпса і півкола

Перший спосіб полягає в накладенні чорного еліпса на біле півколо (лівий чи правий). Вертикальна вісь повинна збігатися з діаметром цього півкола.

Другий спосіб полягає в сполученні двох фігур — сектора кола в межах від 3/2 до /2 (праві білі півкола) і сектора еліпса в межах від /2 до З/2 (ліві білі напівеліпси). Чи навпаки — лівого білого півкола і правого білого напівеліпса.

Код 5.6 містить процедури для 8 подій — щиглика кожної з 8 командних кнопок. У цих процедурах реалізовані зазначені способи малювання місячних фаз.

Код 5.6



Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 490; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.