Съдържание
OpenGL или Open Graphics Library е графичен API (интерфейс за програмиране на приложения) за писане на 2D и 3D приложения на различни програмни езици и платформи. Може да се използва за изобразяване на всичко, от прости, примитивни обекти до сложни 3D сцени. Open GL се използва широко в компютърния дизайн, научната визуализация, симулацията на полети и видео игрите. Въпреки че OpenGl няма методи за директно изчертаване на кръг, възможно е да се изгради такъв, като се използват поредица от редове. За да нарисувате кръга, ще трябва да имате основни познания по OpenGL.
Етап 1
Направете основна програма с изглед на OpenGL. Ако не сте запознати с този процес, има урок на страницата на OpenGL.
Стъпка 2
Добавете файла math.h.header към вашата програма, като въведете следния код в началото на програмата: #include Стартирайте метода на кръга, като добавите следния код, преди да покажете функцията за обратно извикване: void drawCircle (GLint x, GLint y, GLint радиус, int num_lines) {} Променливите "x" и "y" ще бъдат използвани за определяне на центъра на кръга във вашия прозорец, докато "радиусът" определя радиуса на кръга. Цялото число "num_lines" е броят на редовете, използвани за съставяне на кръга. Колкото по-голямо е това число, толкова по-плавен ще се появи кръгът. Добавете следния конфигурационен код вътре в ключовете: плаващ ъгъл GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO. Променливата "ъгъл" ще съдържа ъгъла на линиите, използвани за изграждане на окръжността. Извикването на функцията glColor3f () задава цвета на линиите на черен, където поредицата от три 0 съответства на интензивността на червено, зелено и синьо по скала от 0 до 1. Добавете следния код под функцията glColor3f () от стъпка 4: glBegin (GL_LINE_LOOP) GO Това казва на OpenGL, че всички следващи линии включват рисуване на линии. По-конкретно, той ще изчертае „GL_LINE_LOOP“, който представлява поредица от свързани линии. Въведете следния код за цикъл for след извикването glBegin (): за (int i = 0; i <номер_ред; i ++) {ъгъл = i * 2 * M_PI / num_line; glVertex2f (x + (cos (ъгъл) * радиус), y + (sin (ъгъл) * радиус)); } Този цикъл прави три неща. Първо, той се итерира според стойността на "num_lines", където num_lines е цяло число, изчертавайки линия във всяка итерация и в резултат на това се получава кръг, съставен от прави линии num_lines. Второ, той изчислява ъгъла на линиите спрямо центъра на окръжността в радиани. "M_P" е константа, дефинирана в math.h, представляваща pi. И накрая, извикването на glVertex2f () изчислява координатите на крайните точки на линиите. След цикъла, въведете следния ред код: glEnd () GO Това ще каже на OpenGL, че сте приключили с чертането на линиите. За да нарисувате кръга в сцена, добавете повикване от метода drawCircle () към функцията за показване на обратното повикване на програмата, която трябва да бъде подготвена в стъпка 1. Посочете стойностите на x, y, радиус и num_lines, където x и y представляват точка във вашата сцена радиус е радиусът на кръга, а num_lines е броят на линиите, които съставят кръга. Отново, ако не сте запознати с OpenGL и дисплея за обратно извикване, вижте урока за OpenGL. Компилирайте и стартирайте програмата си. Ако сте въвели функциите правилно, той трябва да се компилира без грешки. Ако сте посочили стойностите за x, y и радиус, трябва да видите черен кръг, показан на бял фон.Стъпка 3
Стъпка 4
Стъпка 5
Стъпка 6
Стъпка 7
Стъпка 8
Стъпка 9