DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

Рік:
2012
Тип роботи:
Звіт
Предмет:
Програмування комп’ютерної графіки

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

Міністерство освіти і науки, молоді та спорту України Національний університет «Львівська політехніка» Звіт лабораторної роботи № 3 з курсу «Програмування комп’ютерної графіки» Мета: вивчити функції для управління кольорами та стилями графічних зображень, навчитися складати програми на алгоритмічній мові С++ для побудови різноманітних графічних зображень в середовищі Microsoft Visual Studio C++ 2008. Завдання: Домашня підготовка до роботи. Вивчити основні графічні процедури і функції алгоритмічної мови для побудови кольорових графічних зображень. Написати програму на алгоритмічній мові С++, яка виводить на екран розмальоване графічне зображення. Варіанти завдань брати за вказівкою викладача з таблиці 1. Робота в лабораторії. Ввести в комп’ютер програму написану на мові С++ згідно з отриманим завданням. Здійснити відлагодження введеної програми, виправивши виявлені компілятором помилки. Виконати програму. Текст відлагодженої програми та отримані результати оформити в звіт по лабораторній роботі. Таблиця 1. № п/п Варіанти завдань № п/п Варіанти завдань  1. / 2 /  3. / 4. /  5. / 6. /  7. / 8. /   Зміст звіту: Повний текст завдання. Блок-схема алгоритму програми. Список ідентифікаторів констант, змінних, процедур і функцій, використовуваних в програмі та їх пояснення. Остаточно відлагоджений текст програми згідно з отриманим завданням. Результат виконання програми. 2. Блок-схема алгоритму програми. Рис. 1 / / 3. Список ідентифікаторів констант, змінних, процедур і функцій, використовуваних в програмі та їх пояснення. k_brush – пензель; bpen – чорне перо товщино 1 рх; hPen – перо товщиною 3 рх; CBrush – функція для створення пензля; CPen – функція для створення пера; Arc – малює дугу еліпса; LineTo – проводить лінію з поточної вершини до точки, координати якої задані; MoveToEx – переміщує поточну вершину; AngleArc – малює дугу кола; FloodFill – зафарбовує замкнуту область; SelectObject – вибирає потрібний пензль або перо; DeleteObject - видаляє потрібний пензль або перо; CreateSolidBrush – ініціалізує суцільний пензель. 4. Остаточно відлагоджений текст програми згідно з отриманим завданням. // ChildView.cpp : implementation of the CChildView class #include "stdafx.h" #include "lr1.h" #include "ChildView.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // CChildView CChildView::CChildView() { } CChildView::~CChildView() { } BEGIN_MESSAGE_MAP(CChildView, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() // CChildView message handlers 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); // device context for painting CBrush k_brush; CPen bpen; HPEN hPen = CreatePen(PS_SOLID, 3, RGB(0, 0, 0)); HGDIOBJ hOldPen = SelectObject(dc, hPen); //2 кола - початок Arc(dc, 100, 100, 300, 300, 210, 100, 200, 300); Arc(dc, 175, 175, 225, 225, 200, 175, 200, 225); //2 кола - кінець //великий прямокутник - початок MoveToEx(dc, 200, 175, 0); LineTo(dc, 230, 175); LineTo(dc, 230, 195); LineTo(dc, 270, 195); LineTo(dc, 270, 175); LineTo(dc, 300, 175); LineTo(dc, 300, 300); LineTo(dc, 200, 300); LineTo(dc, 200, 175); MoveToEx(dc, 200, 175, 0); LineTo(dc, 210, 165); //великий прямокутник - кінець //малий прямокутник - початок MoveToEx(dc, 210, 185, 0); LineTo(dc, 230, 185); MoveToEx(dc, 270, 185, 0); LineTo(dc, 290, 185); LineTo(dc, 290, 290); LineTo(dc, 210, 290); LineTo(dc, 210, 185); //малий прямокутник - кінець //бокова стінка - початок MoveToEx(dc, 300, 175, 0); LineTo(dc, 325, 150); LineTo(dc, 325, 275); LineTo(dc, 300, 300); MoveToEx(dc, 325, 150, 0); LineTo(dc, 290, 150); //бокова стінка - кінець //кришка - початок MoveToEx(dc, 325, 150, 0); LineTo(dc, 325, 120); LineTo(dc, 208, 120); MoveToEx(dc, 220, 120, 0); LineTo(dc, 220, 125); MoveToEx(dc, 325, 120, 0); AngleArc(dc, 305, 120, 20, 0, 90); MoveToEx(dc, 305, 100, 0); LineTo(dc, 210, 100); AngleArc(dc, 210, 110, 10, 90, 180); //кришка - кінець //карта - початок MoveToEx(dc, 290, 135, 0); AngleArc(dc, 280, 135, 10, 0, 90); LineTo(dc, 220, 125); AngleArc(dc, 220, 135, 10, 90, 90); LineTo(dc, 210, 175); MoveToEx(dc, 290, 135, 0); LineTo(dc, 290, 175); MoveToEx(dc, 230, 135, 0); LineTo(dc, 220, 150); LineTo(dc, 230, 165); LineTo(dc, 240, 150); LineTo(dc, 230, 135); MoveToEx(dc, 270, 135, 0); LineTo(dc, 260, 150); LineTo(dc, 270, 165); LineTo(dc, 280, 150); LineTo(dc, 270, 135); MoveToEx(dc, 250, 160, 0); LineTo(dc, 270, 190); MoveToEx(dc, 250, 160, 0); LineTo(dc, 230, 190); SelectObject(dc, hOldPen); DeleteObject(hPen); //карта - кінець //Розбивка діска MoveToEx(dc, 174, 200, 0); //Фіолетовий LineTo(dc, 101, 200); MoveToEx(dc, 177, 195, 0); //салат LineTo(dc, 102, 184); MoveToEx(dc, 180, 188, 0); //голубий LineTo(dc, 110, 159); MoveToEx(dc, 182, 184, 0); //с.голубий LineTo(dc, 116, 140); MoveToEx(dc, 183, 180, 0); //темно зелений LineTo(dc, 127, 128); MoveToEx(dc, 188, 175, 0); //білий LineTo(dc, 160, 110); MoveToEx(dc, 197, 175, 0); //сірий LineTo(dc, 187, 102); MoveToEx(dc, 183, 220, 0);// білий внизу 1 LineTo(dc, 127, 270); MoveToEx(dc, 193, 223, 0); // білий внизу 2 LineTo(dc, 160, 290); //Розкраска діска k_brush.CreateSolidBrush(RGB(193,0,255)); dc.SelectObject(&k_brush); dc.FloodFill(150,197,RGB(0,0,0)); k_brush.DeleteObject(); k_brush.CreateSolidBrush(RGB(156,255,0)); dc.SelectObject(&k_brush); dc.FloodFill(120,165,RGB(0,0,0)); k_brush.DeleteObject(); k_brush.CreateSolidBrush(RGB(157,255,252)); dc.SelectObject(&k_brush); dc.FloodFill(120,145,RGB(0,0,0)); k_brush.DeleteObject(); k_brush.CreateSolidBrush(RGB(222,254,253)); dc.SelectObject(&k_brush); dc.FloodFill(182,180,RGB(0,0,0)); k_brush.DeleteObject(); k_brush.CreateSolidBrush(RGB(0,116,87)); dc.SelectObject(&k_brush); dc.FloodFill(185,178,RGB(0,0,0)); k_brush.DeleteObject(); k_brush.CreateSolidBrush(RGB(0,255,0)); dc.SelectObject(&k_brush); dc.FloodFill(188,170,RGB(0,0,0)); k_brush.DeleteObject(); //Розбивка диска //замальовка k_brush.CreateSolidBrush(RGB(255,0,0));//колір на карті dc.SelectObject(&k_brush); dc.FloodFill(250,170,RGB(0,0,0)); dc.FloodFill(270,140,RGB(0,0,0)); dc.FloodFill(230,140,RGB(0,0,0)); k_brush.DeleteObject(); //Диск k_brush.CreateSolidBrush(RGB(215,215,215)); dc.SelectObject(&k_brush); dc.FloodFill(160,205,RGB(0,0,0)); dc.FloodFill(195,295,RGB(0,0,0)); dc.FloodFill(200,150,RGB(0,0,0)); k_brush.DeleteObject(); //Корбка k_brush.CreateSolidBrush(RGB(0,0,255)); dc.SelectObject(&k_brush); dc.FloodFill(285,285,RGB(0,0,0)); k_brush.DeleteObject(); k_brush.CreateSolidBrush(RGB(140,140,140)); dc.SelectObject(&k_brush); dc.FloodFill(205,225,RGB(0,0,0)); k_brush.DeleteObject(); k_brush.CreateSolidBrush(RGB(170,170,170)); dc.SelectObject(&k_brush); dc.FloodFill(315,165,RGB(0,0,0)); k_brush.DeleteObject(); k_brush.CreateSolidBrush(RGB(240,240,240)); dc.SelectObject(&k_brush); dc.FloodFill(320,115,RGB(0,0,0)); dc.FloodFill(320,125,RGB(0,0,0)); k_brush.DeleteObject(); k_brush.CreateSolidBrush(RGB(220,220,220)); dc.SelectObject(&k_brush); dc.FloodFill(315,155,RGB(0,0,0)); dc.FloodFill(203,172,RGB(0,0,0)); k_brush.DeleteObject(); } 5. Результат виконання програми. Рис. 2 /
Антиботан аватар за замовчуванням

30.11.2012 15:19

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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