
- •До розрахунково-графічної роботи
- •2.1. Мета роботи...............................................................................................................................15
- •3.1. Мета роботи...............................................................................................................................17
- •4.1. Мета роботи...............................................................................................................................21
- •5.1. Мета роботи...............................................................................................................................21
- •Завдання
- •Календарний план
- •Індивідуальні завдання
- •Список скорочень
- •Розділ 1. Моделі геометрії просторових об’єктів
- •1.2. Комбінаційні моделі геометричного об’єкта Комбінаційна модель геометричного об’єкта
- •Розділ 2. Координатне перетворення
- •Розділ 3. Побудови кривих
- •Розділ 4 колірні моделі. Змішування кольорів
- •4.2. Розрахунок кольорів та колірних перетворень
- •1. Тексти програмної реалізації завдання:
- •Int main(void)
- •2. Результати виконання програми (PrintScreen):
- •Розділ 5 програмні реалізації
- •5.2. Програмна реалізація з OpenGl
- •InitializeComponent();
- •5.2.2 Віконні інтерфейси
- •5.3. Програмна реалізація з WinApi
- •5.3.1 Опис алгоритму
- •Interface
- •Image1: tImage;
- •Implementation
- •Var daDi:integer;
- •If Form1.CheckBox2.Checked then
- •5.3.2 Віконні інтерфейси
- •5.4. Програмна реалізація афінних перетворень та анімації
- •5.4.1 Опис алгоритму
- •2. Тексти програмної реалізації завдання:
- •Void drawB()
- •Void DrawObjects()
- •Int main( int argc, char *argv[])
- •5.4.2 Віконні інтерфейси
- •5.5. Програмні реалізація розрахунків кривих ліній, координат, кольорів
- •5.5.1 Опис алгоритмів
- •Int main(void)
- •5.5.2 Віконні інтерфейси
- •Висновки
- •Список використаних джерел
- •Додатки
- •InitializeComponent();
- •Interface
- •Image1: tImage;
- •Implementation
- •Var daDi:integer;
- •If Form1.CheckBox2.Checked then
- •Void drawB()
- •Void DrawObjects()
- •Int main( int argc, char *argv[])
- •Int main(void)
Void DrawObjects()
{
{
glTranslatef(0.5, 6*sin(1.0), 0); // переміщення
drawB(); // перемалювання фігури
Sleep(200); // призупинка виконання
}
}
Int main( int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA); //ініціалізація графічного режиму
glutInitWindowPosition(100, 100); //розміщення вікна
glutInitWindowSize(800, 500); //розміри вікна
glutCreateWindow("Lab2_Khristian");
glutDisplayFunc(drawB); //рисування фігури
glutIdleFunc(DrawObjects); //відтворення руху фігури
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0, 300, -50, 300);
glutMainLoop();
return 0;
}
5.4.2 Віконні інтерфейси
Рис. 5.4.1. Запуск програми
Рис. 5.4.2 Результат виконання програми через певний час.
5.5. Програмні реалізація розрахунків кривих ліній, координат, кольорів
5.5.1 Опис алгоритмів
#include <math.h>
#include <stdio.h>
#include <conio.h>
Int main(void)
{
float R,R1,G,G1,B,B1,H,L,S; // Оголошення змінних
printf("Vvedit R : "); // Введення R
scanf("%f", &R);
printf("Vvedit G : "); // Введення G
scanf("%f", &G);
printf("Vvedit B : "); // Введення L
scanf("%f", &B);
S=sqrt(pow(R,2)+pow(G,2)+pow(B,2)-R*G-B*G-R*B); // Обчислення S
H=asinf(sqrt(3.0/2.0)*((G-R)/S)); // Обчислення H
L=(R+G+B)/3; // Обчислення L
R1=0.35*220+0.42*20+0.2*60; // Обчислення R`(множення матриці)
G1=0.715*220+0.06*20+0.22*60; // Обчислення B` (множення матриці)
B1=0.1156*220+0.34*20+0.54*60; // Обчислення G` (множення матриці)
R1=R1-R1*0.33; // R`-темніший на тритину
G1=G1-G1*0.33; // G`-темніший на тритину
B1=B1-B1*0.33; // B`-темніший на тритину
printf("\nZavdanie A ");
printf("\n\nZnachenie R`: "); // Вивід R`
printf("%0.2f",R1);
printf("\nZnachenie G`: "); // Вивід G`
printf("%0.2f",G1);
printf("\nZnachenie B`: "); // Вивід B`
printf("%0.2f",B1);
printf("\n\nZavdanie B (RGB - HLS)");
printf("\n\nZnachenie H: "); // Вивід H
printf("%0.2f",H);
printf("\nZnachenie L: "); // Вивід L
printf("%0.2f",L);
printf("\nZnachenie S: "); // Вивід S
printf("%0.2f",S);
getch();
}
5.5.2 Віконні інтерфейси
Рис. 5.5 Програма реалізації
Висновки
Під час виконання даної графічно-розрахункової роботи було узагальнено всі знання здобуті при проходженні курсу “Геометричне моделювання у конструюванні інженерних об’єктів і систем”.
Дана робота містить комбінаційну модель геометричного об’єкта з графічною побудовою. Каркасну модель геометричного об’єкта з графічною побудовою. Матрицю суміжності з відповідною нумерацією вершин графа та зазначенням її на графічній побудові. Матрицю інцеденції з відповідною нумерацією вершин та дуг графа та зазначенням її на графічній побудові. В цій графічно-розрахунковій роботі визначена придатність для розробки та реалізації розробленої моделі системи координат та перетворення системи координат; математичне задання класичних кривих (окружність, еліпс, гіпербола, парабола, кардіоїда тощо), які використовуються у геометричному моделюванні. Побудовано криву Без’є на основі шести вершин багатокутника, яка описує елемент геометрії об’єкта побудови. Здійснено опис визначених колірних областей об’єкту засобами колірних моделей. Здійснено перевід кольору з одної колірної моделі в іншу. Програмно реалізовано побудову кривих засобами графічних функції Windows-інтерфейса (WinAPI). Розроблено алгоритм афінних перетворень геометричних елементів об’єкту та запрограмовано анімацію і програмно реалізовано з використанням OpenGL.