Введення
Мова С # як засіб навчання програмуванню володіє рядом безперечних достоїнств. Він добре організований, строгий, більшість його конструкцій логічні й зручні. Розвинені засоби діагностики та редагування коду роблять процес програмування приємним і ефективним. Потужна бібліотека класів платформи .NET бере на себе масу рутинних операцій, що дає можливість вирішувати більш складні завдання, використовуючи готові будівельні блоки raquo ;. Все це дозволяє розцінювати С # як перспективну заміну мов Паскаль, BASIC і С ++ при навчанні програмуванню. Важливо, що С # є не навчальним, а професійною мовою, призначеним для вирішення широкого спектру завдань, і в першу чергу - у швидко розвивається області створення розподілених додатків. Тому базовий курс програмування, побудований на основі мови С #, дозволить студентам швидше стати затребуваними фахівцями-професіоналами. Міць мови С # має і зворотний бік: по-перше, він досить вимогливий до ресурсів комп'ютера, по-друге, для осмисленого написання найпростішої програми, що обчислює, скільки буде двічі по два raquo ;, потрібно вивчити досить багато матеріалу, але численні достоїнства мови і платформи .NET переважують всі недоліки.
Метою даної курсової роботи є закріплення навичок роботи в середовищі .NET при створенні графічних компонент з використанням користувача елементів управління.
До завдань курсової роботи можна віднести:
. Розробка компоненти для математичних обчислень (операцій над матрицями) з використанням технології OpenGL.
. Придбати базові навички і знання по роботі з технологією OpenGL в середовищі .Net.
Завдання на курсову роботу.
Використання передових 3-D технологій OpenGL для перспективних розробок.
Розробка компоненти для автоматизації математичних розрахунків: операції з матрицями (додавання, віднімання, множення, транспонування, визначник, зворотна матриця).
. Аналітична частина
1.1 Аналіз предметної області
Матрицею називається прямокутна таблиця з чисел a ij, де i=1,2, .., m, j=1,2, .., n
Відбувся з m рядків і n стовпців.
Операції з матрицями.
Додавання і віднімання.
Складати можна тільки матриці однакового розміру. Складання матриць A + B є операція знаходження матриці C, всі елементи якої рівні попарной сумі всіх відповідних елементів матриць A і B, тобто кожен елемент матриці C дорівнює
Різниця двох матриць однакового розміру можна визначити через операцію додавання матриць і через множення матриці на число:
(3)
Властивості додавання матриць:
. Комутативність: A + B=B + A;
. Асоціативність: (A + B) + C=A + (B + C);
. Додавання з нульовою матрицею: A +? =A;
. Існування протилежної матриці: A + (-A) =?.
Множення.
Множення матриць lt;http://ru.wikipedia/wiki/%D0%A3%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%86gt; (позначення AB, рідше зі знаком множення AxB) - є операція обчислення матриці C, кожен елемент якої дорівнює сумі добутків елементів у відповідному рядку перший множника і стовпці другому.
Кількість стовпців в матриці A має збігатися з кількістю рядків в матриці B, іншими словами, матриця A зобов'язана бути узгодженою з матрицею B. Якщо матриця A має розмірність mxn, B - nxk, то розмірність їхні твори AB=C є mxk.
Властивості множення матриць:
.Ассоціатівность lt;http://ru.wikipedia/wiki/%D0%90%D1%81%D1%81%D0%BE%D1%86%D0%B8%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%8Cgt; (AB) C=A (BC);
.Некоммутатівность lt;http://ru.wikipedia/wiki/%D0%9A%D0%BE%D0%BC%D0%BC%D1%83%D1%82%D0%B0%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%8Cgt; (у загальному випадку): AB BA;
.Проізведеніе коммутативно в разі множення з одиничною матрицею: AI=IA;
.Дістрібутівность lt;http://ru.wikipedia/wiki/%D0%94%D0%B8%D1%81%D1%82%D1%80%D0%B8%D0%B1%D1%83%D1%82%D0%B8%D0%B2%D0%BD%D0%BE%D1%81%D1%82%D1%8Cgt;: (A + B) C=AC + BC, A (B + C)=AB + AC;
5. Асоціативність і комутативність щодо множення на число:
(? A) B =? (AB)=A (? B);
Транспонування.
Транспонована матриця - матриця lt; # justify gt; Властивості транспонованих матриць:
1. Двічі транспонована матриця А дорівнює вихідній матриці...