Зміст
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 radius, 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 (): for (int i = 0; i <number_number; i ++) {angle = 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