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

до розрахунково-графічної роботи

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

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

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

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

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

Міністерство освіти і науки України Національний університет “Львівська політехніка” Звіт до розрахунково-графічної роботи з курсу “Програмування комп’ютерної графіки” Львів 2016 1.1 Завдання Варіант 7-19-6 Побудувати графік функції ,  Графік має відображати результати розрахунків, які записані у файлі на диску, а масштаб розмітки осей координат графіка – реальним результатам розрахунків. Параметри для побудови графіка: Колір Тип лінії для побудови кривої графіка Товщина лінії (пікселів)  blue  4  Необхідно передбачити “плаваючий” центр координат, – основну частину екрану мають займати ті чверті, в яких знаходиться графік функції. Структура зображення Пояснення   Рух квадрата зі стороною а по видимому круговому контуру радіусу R проти годинникової стрілки з одночасним обертанням квадрата відносно центру перетину власних діагоналей проти годинникової стрілки. Параметри: а=24, R=90   1.2 Розрахунок функціональних залежностей для побудови графіка. Оскільки реальні координати графіка функції, що виводиться на екран можуть бути або значно більшими, або значно меншими за машинні координати екрану монітору, необхідно визначити значення масштабних коефіцієнтів стискання або розтягу для функції, що виводиться на екран. Позначимо максимальні та мінімальні значення реальних координат по осях X та Y – Xmin, Xmax, Ymin, Ymax. Визначаємо розміри нашого вікна через функцію GetClientRect. Тоді масштабні коефіцієнти для графіка по осях X та Y дорівнюють, відповідно:   При виведенні графіка функції на екран монітору значення реальних координат заданої функції домножуємо на масштабні коефіцієнти і додаємо координати машинного центру координат (X0,Y0):   2.1. Завдання. Створити на екрані комп’ютера графічне вікно і сформувати в ньому рухоме зображення. Параметри зображення задані в пікселах. Графік і вікно з рухомим зображенням повинні бути присутні на екрані одночасно. 2.2 Розрахунок матриці перетворень для рухомого зображення. Результуюча матриця М, руху є добутком трьох матриць: переносу T1, T2 і повороту R, причому перша матриця T1 відповідає перенесенню центру повороту в початок координат на відстань -dx та -dy, друга R – повороту об’єкта на кут φ, третя T2 – поверненню об’єкта з початку координат на площину зображення (координати dx та dy).  Перемноживши матрицю-рядок із старими координатами на результуючу матрицю руху, одержимо матрицю з новими координатами рухомої точки.   3. Список ідентифікаторів програми. Xmin, Xmax, Ymin, Ymax – крайні значення функції; x, y – значення функції; x0, y0 – початок координат; kx, ky – масштабні коефіцієнти; str – строка символів; X1, Y1 – верхній лівий кут вікна з анімацією; Xc, Yc – центр кола; x, y – центр квадрата; x1, x2, x3, x4, y1, y2, y3, y4, xс1, xс2, xс3, xс4, yс1, yс2, yс3, yс4 – координати сторін квадрату і його внутрішніх точок; x1p, y1p – перехідні координати спиць; і – градуси повороту квадрата; pi – константа π. 4. Блок-схеми основної програми побудови графіка та анімації. Графік   Анімація  5. Текст програми. void Crozrah_7_19_6View::OnDraw(CDC* pDC) { Crozrah_7_19_6Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; double pi = 3.1415; CRect rectClient; GetClientRect(rectClient); CPen penBlack2; penBlack2.CreatePen(PS_DASHDOT, 4, RGB(0, 0, 255)); pDC->SelectObject(&penBlack2); double Xmax = 3, Ymax = -100, Xmin = -5, Ymin = 100; for (double x = -5; x <= 3; x += 0.01) { double y = 9*pow(x,3)-1; if (y > Ymax) Ymax = y; if (y < Ymin) Ymin = y; } double x0, y0, kx, ky; if (Xmin*Xmax < 0) { x0 = rectClient.right / 2; kx = (rectClient.right/2 - 20) / (- Xmin); } else if (Xmin < 0) { x0 = rectClient.right - 10; kx = (rectClient.right - 20) / (-Xmin); } else { x0 = 10; kx = (rectClient.right - 60) / (Xmax); } if (Ymin*Ymax < 0) { y0 = rectClient.bottom / 2; ky = (rectClient.bottom/2-20) / (- Ymin); } else if (Ymin < 0) { y0 = 10; ky = (...
Антиботан аватар за замовчуванням

27.11.2017 10:11

Коментарі

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

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

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

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

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

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

Admin

26.02.2019 12:38

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

Новини