Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2010
Тип роботи:
Звіт про виконання лабораторної роботи
Предмет:
Програмування комп’ютерної графіки
Група:
СІ-22

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА” Звіт про виконання лабораторної роботи №3 з курсу “ Програмування комп’ютерної графіки” Підготував: ст. гр. СІ- 22 Федорич В. С. Прийняв: Іванюк О. О. Львів-2010 Мета роботи: вивчити функції для управління кольорами та стилями графічних зображень; навчитися складати програми на алгоритмічній мові С++ для побудови різноманітних графічних зображень в середовищі Microsoft Visual Studio C++ 2008 ЗАВДАННЯ Написати програму на алгоритмічній мові С++, яка виводить на екран розмальоване графічне зображення. Варіант завдання береться згідно з вказівкою викладача з таблиці 1. Таблиця 1. Завдання до лабораторної роботи N% п/п Варіанти завдань  13. /   Список змінних, які використовуються в коді програми, та їх пояснення: dc.MoveTo() – переносить курсор у задану точку; dc.LineTo() – будує лінію до заданої точки; CBrush grey2_brush; grey2_brush.CreateSolidBrush(RGB(255,255,0)); dc.SelectObject(&grey2_brush); - Створення та використання користувацького пера; dc.FloodFill(x, y, Color); - замальовує область екрану поточним пензлем х,у – координати точки всередині замкнутої області; Color – колір межі до якої буде здійснюватися замалювання; dc.SelectStockObject(Color); - перо , Color – колір пера; Блок-схема алгоритму програми:   Остаточна версія програми: #include "stdafx.h" #include "lab3.h" #include "ChildView.h" #ifdef _DEBUG #define new DEBUG_NEW #endif CChildView::CChildView() { } CChildView::~CChildView() { } BEGIN_MESSAGE_MAP(CChildView, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() BOOL CChildView::PreCreateWindow(CREATESTRUCT& cs) { if (!CWnd::PreCreateWindow(cs)) return FALSE; cs.dwExStyle |= WS_EX_CLIENTEDGE; cs.style &= ~WS_BORDER; cs.lpszClass = AfxRegisterWndClass(CS_HREDRAW|CS_VREDRAW|CS_DBLCLKS, ::LoadCursor(NULL, IDC_ARROW), reinterpret_cast<HBRUSH>(COLOR_WINDOW+1), NULL); return TRUE; } void CChildView::OnPaint() { CPaintDC dc(this); CPen pen; //ракета полум’я CBrush grey2_brush; grey2_brush.CreateSolidBrush(RGB(255,255,0)); dc.SelectObject(&grey2_brush); dc.FloodFill(547, 417, RGB(255,255,0)); dc.MoveTo(544, 415); dc.LineTo(559, 436); dc.LineTo(620, 387); dc.LineTo(605, 380); dc.LineTo(544, 415); dc.FloodFill(547, 415, RGB(255,255,0)); dc.MoveTo(670, 335); dc.LineTo(704, 315); dc.LineTo(748, 292); dc.LineTo(739, 305); dc.LineTo(682, 350); CBrush grey8_brush; grey8_brush.CreateSolidBrush(RGB(0,0,0)); dc.SelectObject(&grey8_brush); dc.MoveTo(544, 417); dc.LineTo(544, 410); dc.LineTo(562, 397); dc.LineTo(566, 402); dc.LineTo(544, 417); dc.FloodFill(546, 411, RGB(0,0,0)); CBrush gr_brush; gr_brush.CreateSolidBrush(RGB(0,0,0)); dc.SelectObject(&gr_brush); dc.MoveTo(559, 436); dc.LineTo(560, 440); dc.LineTo(573, 431); dc.LineTo(572, 426); dc.LineTo(559, 436); dc.FloodFill(560, 438, RGB(0,0,0)); dc.MoveTo(580, 395); dc.LineTo(580, 389); dc.LineTo(603, 375); dc.LineTo(605, 380); dc.LineTo(580, 395); dc.FloodFill(581, 390, RGB(0,0,0)); pen.CreatePen(2,6,RGB(0,0,0)); dc.SelectObject(&pen); dc.MoveTo(440, 430); dc.LineTo(560, 360); dc.LineTo(531, 345); dc.LineTo(626, 279); dc.LineTo(709, 390); dc.LineTo(678, 413); dc.LineTo(531, 345); dc.MoveTo(645, 305); dc.LineTo(728, 248); dc.LineTo(751, 253); dc.LineTo(826, 211); dc.LineTo(761, 167); dc.LineTo(738, 101); dc.LineTo(687, 124); dc.LineTo(625, 250); dc.LineTo(761, 167); dc.MoveTo(659, 231); dc.LineTo(751, 253); dc.MoveTo(648, 203); dc.LineTo(479, 293); dc.LineTo(473, 324); dc.LineTo(431, 352); dc.LineTo(407, 348); dc.LineTo(410, 320); dc.LineTo(448, 293); dc.LineTo(479, 294); dc.MoveTo(507, 277); dc.LineTo(515, 230); dc.LineTo(587, 187); dc.LineTo(592, 232); dc.MoveTo(407, 348); dc.LineTo(322, 433); dc.LineTo(320, 444); dc.LineTo(322, 450); dc.LineTo(328, 455); dc.LineTo(336, 457); dc.LineTo(344, 457); dc.LineTo(424, 411); dc.LineTo(440, 430); dc.MoveTo(440, 430); dc.LineTo(414, 445); dc.LineTo(408, 446); dc.LineTo(360, 448); //raketa CPen pen1; pen1.CreatePen(2,6,RGB(0,0,0)); dc.SelectObject(&pen1); dc.MoveTo(460,490); dc.LineTo(550, 430); dc.MoveTo(523,423); dc.LineTo(545, 458); dc.SelectStockObject(BLACK_BRUSH); dc.FloodFill(411, 433, RGB(0,0,0)); CBrush blue_brush; blue_brush.CreateSolidBrush(RGB(0, 245, 250)); dc.SelectObject(&blue_brush); dc.FloodFill(10, 10, RGB(0,0,0)); CBrush grey_brush; grey_brush.CreateSolidBrush(RGB(224, 224, 224)); dc.SelectObject(&grey_brush); dc.FloodFill(508, 330, RGB(0,0,0)); CBrush r_brush; r_brush.CreateSolidBrush(RGB(224, 224, 224)); dc.SelectObject(&r_brush); dc.FloodFill(679, 193, RGB(0,0,0)); CBrush y_brush; y_brush.CreateSolidBrush(RGB(224, 224, 224)); dc.SelectObject(&y_brush); dc.FloodFill(608, 364, RGB(0,0,0)); CBrush q_brush; q_brush.CreateSolidBrush(RGB(224, 224, 224)); dc.SelectObject(&q_brush); dc.FloodFill(566, 218, RGB(0,0,0)); CBrush w_brush; w_brush.CreateSolidBrush(RGB(224, 224, 224)); dc.SelectObject(&w_brush); dc.FloodFill(767, 218, RGB(0,0,0)); // білі смуги dc.SelectStockObject(WHITE_PEN); dc.MoveTo(534, 344); dc.LineTo(676, 409); dc.LineTo(706, 389); dc.LineTo(626, 280); dc.LineTo(534, 344); dc.MoveTo(552, 340); dc.LineTo(674, 400); dc.LineTo(696, 385); dc.LineTo(624, 293); dc.LineTo(552, 340); CBrush grey1_brush; grey1_brush.CreateSolidBrush(RGB(245,245,245)); dc.SelectObject(&grey1_brush); dc.FloodFill(541, 342, RGB(255,255,255)); dc.SelectStockObject(WHITE_PEN); dc.MoveTo(325, 438); dc.LineTo(429, 353); dc.LineTo(407, 351); dc.LineTo(331, 427); dc.LineTo(325, 438); dc.FloodFill(407, 363, RGB(255, 255, 255)); dc.SelectStockObject(WHITE_PEN); dc.MoveTo(476, 321); dc.LineTo(623, 252); dc.LineTo(643, 208); dc.LineTo(481,294); dc.LineTo(476, 321); dc.FloodFill(520, 290, RGB(255, 255, 255)); dc.MoveTo(511, 273); dc.LineTo(516, 230); dc.LineTo(586, 192); dc.LineTo(590, 230); dc.LineTo(511, 273); dc.MoveTo(521, 259); dc.LineTo(525, 234); dc.LineTo(580, 201); dc.LineTo(583, 226); dc.LineTo(521, 259); dc.FloodFill(516, 264, RGB(255, 255, 255)); dc.MoveTo(631, 245); dc.LineTo(687, 129); dc.LineTo(736, 105); dc.LineTo(758, 166); dc.LineTo(631, 245); dc.MoveTo(651, 220); dc.LineTo(692, 134); dc.LineTo(730, 118); dc.LineTo(746, 166); dc.LineTo(651, 220); dc.FloodFill(637, 238, RGB(255, 255, 255)); dc.MoveTo(664, 229); dc.LineTo(761, 170); dc.LineTo(821, 210); dc.LineTo(752, 251); dc.LineTo(664, 229); dc.MoveTo(680, 227); dc.LineTo(761, 178); dc.LineTo(808, 210); dc.LineTo(753, 242); dc.LineTo(680, 227); dc.FloodFill(752, 248, RGB(255, 255, 255)); CBrush blueq_brush; blueq_brush.CreateSolidBrush(RGB(0, 206, 209)); dc.SelectObject(&blueq_brush); dc.FloodFill(430, 331, RGB(0,0,0)); CPen qw; qw.CreatePen(2,6, RGB(0,0,0)); dc.SelectObject(&qw); dc.MoveTo(589, 412); dc.LineTo(615, 394); dc.MoveTo(670, 335); dc.LineTo(704, 315); dc.MoveTo(725, 303); dc.LineTo(745, 294); dc.LineTo(728, 313); dc.MoveTo(700, 336); dc.LineTo(682, 351); } Результат роботи програми: / Висновок: При виконанні даної лабораторної роботи я вивчив функції для управління кольорами та стилями графічних зображень; навчився складати програми на алгоритмічній мові С++ для побудови різноманітних графічних зображень в середовищі Microsoft Visual Studio C++ 2008
Антиботан аватар за замовчуванням

24.04.2012 20:04-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!