Визуализация на функционална графика в C # и OpenGL
Създайте визуализация на анимирана графична функция в C # и OpenGL
В тази глава ще разгледаме процеса на създаване на програма, чиято задача ще бъде да визуализира графиката на дадена функция. Характеристика на програмата ще бъде, че тя ще анимира как се променят стойностите на функцията на графиката.
Това ще бъде изпълнено по следния начин: червена точка се движи по диаграмата, като приема стойности у за даденост х в нашата графика (по цялата видима област). Освен това координатите му ще бъдат визуализирани близо до курсора (фиг. 1).

Създайте основата на приложението, както е описано в глава 4.4. Просто не добавяйте бутони "Възпроизвеждане"И"Близо", Ограничете се до елемента SimpleOpenGLControl.
Прозорецът трябва да бъде оформен, както е показано на фигура 1.
Добавете таймер към проекта, дайте му име (параметър име в свойствата на таймера) PointInGrap и задайте интервала в неговите свойства тридесет милисекунди. След това щракнете двукратно върху него, за да създадете функция PointInGrap_Tick, отговорен за обработката на събитието ontimer.
Сега, когато основата на приложението е създадена, ще преминем към изходния код. Тя ще се основава на 7 функции, които сега ще разгледаме, но първо добавете инициализацията на следните променливи преди кода на функцията конструктор на клас:
Първата функция е манипулаторът на събития за зареждане на формуляри Form1_Load. Тук при зареждане на приложението ще се извърши инициализация Отваряне за последваща визуализация.
Инициализация Отваряне с двумерна проекция, която разгледахме в предишната част на главата, така че тук всичко трябва да е ясно. Единствената разлика е, че кодът е станал малко по-многословен. Кодът за тази функция:
Както можете да видите, почти нищо не се е променило. Сега нека се обърнем към функцията PointInGrap_Tick. Тази функция се извиква със закъснение в тридесет милисекунди.
В него отброяваме от кой елемент на масива с координатите на диаграмата, сега вземаме координатите, които използваме, за да нарисуваме червената точка.
От тук се извиква и функцията Рисувам, отговарящ за визуализацията.
Кодът за тази функция: