Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

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

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

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

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

Частина тексту файла

Міністерство освіти і науки, молоді та спорту України Національний університет «Львівська політехніка» Звіт лабораторної роботи № 2 з курсу «Програмування комп’ютерної графіки» Мета: набути практичних навиків в складанні програми для побудови графіків в середовищі Microsoft Visual Studio C++ 2008. Завдання: Домашня підготовка до роботи. Ознайомитися з методами побудови графіків функцій на екрані монітора комп’ютера. Вивчити основні функції бібліотеки GDI для виведення тексту в графічному режимі. Написати програму, яка будує в середині екрану систему координат ХY і на ній графік функції Y = F(X), якщо аргумент або параметр змінюється на проміжку [a;b] з кроком h. Варіанти завдань брати за вказівкою викладача з таблиці 1. Робота в лабораторії. Ввести в комп’ютер програму написану на мові С++ згідно з отриманим завданням. Здійснити відлагодження введеної програми, виправивши виявлені компілятором помилки. Виконати програму. Текст відлагодженої програми та отримані результати оформити в звіт по лабораторній роботі. Таблиця 1. № п/п Функція Інтервал Крок  8 x = (5 * (cos(t) - t * sin(t)) + log(t) + 20 * cos(t/4)) y = (5 * (sin(t) + t * cos(t)) - log(t) + 20 * sin(t/4)) t = [1;20] h = 0.1   Зміст звіту: Повний текст завдання. Блок-схема алгоритму програми. Список ідентифікаторів констант, змінних, процедур і функцій, використовуваних в програмі та їх пояснення. Остаточно відлагоджений текст програми згідно з отриманим завданням. Результат виконання програми. 2. Блок-схема алгоритму програми. Рис. 1 // 3. Список ідентифікаторів констант, змінних, процедур і функцій, використовуваних в програмі та їх пояснення. k_brush – пензель; bpen – чорне перо товщино 1 рх; hPen – перо товщиною 3 рх; CPen – функція для створення пера; LineTo – проводить лінію з поточної вершини до точки, координати якої задані; MoveToEx – переміщує поточну вершину; FloodFill – зафарбовує замкнуту область; SelectObject – вибирає потрібний пензль або перо; DeleteObject - видаляє потрібний пензль або перо; GetClientRect – визначення параметрів екрану користувача; CString – оголошення змінної для виведення тексту; kx, ky – змінні коефіціентів перетворення; xd, yd, xmashd, ymashd - різниця мінімальних і максимальних координат; x, y – машинні координати; xp, yp - реальні координати; t – інтервал; xmax, xmin, ymax, ymin, xmashmin, xmashmax, ymashmin, ymashmax – мінімальні і максимальні значення функції; xc, yc – координати центру екрану; xs, ys, xchar, ychar – змінні для виведення розмітки осей. 4. Остаточно відлагоджений текст програми згідно з отриманим завданням. // ChildView.cpp : implementation of the CChildView class // #include "stdafx.h" #include "lr1.h" #include "ChildView.h" #include <cmath> #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 double kx, ky, xd, yd, x, y, xp, yp, t; wchar_t str[180] = {0}; double xs, ys; //Визначаємо мінімальне і максимальне значення RECT rect; GetClientRect(&rect); double xmax = 0, xmin = 0, ymax = 0, ymin = 0, xmashd, ymashd, xmashmin, xmashmax, ymashmin, ymashmax, xc, yc; t = 1; while (t <= 20) { x = 5 * (cos(t) - t * sin(t)) + log(t) + 20 * cos(t/4); if (x > xmax) { xmax = x; } else if (t == 1 || x < xmin ) { xmin = x; } y = 5 * (sin(t) + t * cos(t)) - log(t) + 20 * sin(t/4); if (y > ymax) { ymax = y; } els...
Антиботан аватар за замовчуванням

30.11.2012 15:11

Коментарі

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

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

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

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

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини