Зупинимося на практичній реалізації аффінного перетворення у вигляді демонстраційної програми. До можливостей додатку, що демонструє поворот площини мишею, додаються функції паралельного перенесення при натиснутій клавіші CTRL.
Оскільки ця стаття є такою, що завершує в даному розділі, код демонстраційного додатку повинен бути відповідним. Давайте спробуємо розібратися, які блоки потрібні в графічному додатку, паралельно розглядаючи, як вони реалізовані в даній програмі:
блок, в якому відбувається створення вікна і обробляються повідомлення операційної системи, реалізований у файлі main.cpp
графічний движок, що виконує отрісовку зображення, клас Engine
прошарок, необхідний для перетворення логічних координат у віконні і назад, клас Viewport
об’єкт, що відповідає за реакцію на дії користувача, клас Action
В приведеному прикладі реалізовані ці функціональні блоки, з докладними коментарями.
...
1. Фонове освітлення це постійна в кожній крапці величина надбавки до освітлення. Обчислюється фонова складова освітлення як:
, де
- фонова складова освітленості в крапці,
- властивість матеріалу сприймати фонове освітлення,
- потужність ...
3D - Графіка (30.03.2009) ...
Ще одним способом побудови об'єктів з примітивів служить твердотільне моделювання. Об'єкти представлені твердими тілами, які при взаємодії з іншими тілами різними способами (об'єднання, віднімання, злиття і ін.) зазнають необхідну трансформацію.
Все різноманіття властивостей в комп'ютерному моделюванні зводиться до візуалізації поверхні, тобто до розрахунку коефіцієнта прозорості поверхні і кута заломлення променів світла на ...
Логічна система координат (25.03.2009) ... Опишемо основні недоліки такого підходу:
при зміні розмірів вікна розмір зображення залишається тим самим, тим самим порушується логічна картина;
незручність завдання координат. Нам доведеться весь час прикидати, де знаходитиметься об'єкт на екрані;
неприродне розташування осей. У Windows використовується система координат, в якій вісь у ...
Роздільна здатність (06.02.2009)
Вона визначається кількістю крапок які знаходяться на одному горизонтальному рядку і кількістю таких рядків по вертикалі. Ще однією важливою характеристикою яку помилково іноді приймають за роздільну здатність це крок точки екрану, а саме відстань між окремими крапками. Ця характеристика впливає на різкість монітора і отже на різкість зображення.Джерело: grafa.org.ua
Растрові і векторні графічні редактори (23.02.2009) ...
Але навики роботи з мишею приходять достатньо швидко, а до приємних дрібниць, що знаходяться завдяки комп'ютеру, звикаєш вмить. Йдеться в першу чергу про команду Undо (Відмінити).
Звичайно, програми для малювання розрізняються по складності. Працюючи з растровою графікою, можна просто малювати, не думаючи ні про які послідовності дій і їх наслідки. Дещо складніше ...
Thursday, March 26th, 2009 at 09:15 and is filed under 2D теорія.
You can follow any responses to this entry through the feed.
Both comments and pings are currently closed.