Sadržaj
OpenGL ili Open Graphics Library je grafički API (Sučelje za programiranje aplikacija) za pisanje 2D i 3D aplikacija na različitim programskim jezicima i platformama. Može se koristiti za prikazivanje bilo čega, od jednostavnih, primitivnih objekata do složenih 3D scena. Open GL se široko koristi u računalnom dizajnu, znanstvenoj vizualizaciji, simulaciji leta i video igrama. Iako OpenGl nema metode za izravno crtanje kruga, moguće ga je izgraditi pomoću niza linija. Za crtanje kruga trebat ćete imati osnovno znanje OpenGL-a.
Korak 1
Napravite osnovni program s prikazom OpenGL. Ako niste upoznati s ovim postupkom, na stranici OpenGL nalazi se vodič.
Korak 2
Dodajte datoteku math.h.header u svoj program unošenjem sljedećeg koda na početku programa: #include Započnite metodu kruga dodavanjem sljedećeg koda prije prikazivanja funkcije povratnog poziva: void drawCircle (GLint x, GLint y, radijus GLint, int num_lines) {} Varijable "x" i "y" služit će za definiranje središta kruga u vašem prozoru, dok "radijus" utvrđuje radijus kruga. Cijeli broj "num_lines" je broj linija korištenih za sastavljanje kruga. Što je veći ovaj broj, krug će se pojaviti glađi. U ključeve dodajte sljedeći konfiguracijski kod: plutajući kut GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO. Varijabla "kut" sadržavat će kut linija korištenih za konstrukciju kruga. Pozivanjem funkcije glColor3f () boja linija se postavlja na crnu, pri čemu niz od tri 0 odgovara intenzitetu crvene, zelene i plave boje na skali od 0 do 1. Dodajte sljedeći kod ispod funkcije glColor3f () iz koraka 4: glBegin (GL_LINE_LOOP) IDI To OpenGL-u govori da sve naredne crte uključuju crtanje linija. Točnije, nacrtat će "GL_LINE_LOOP", što je niz povezanih linija. Unesite sljedeći kod za petlju for nakon poziva glBegin (): za (int i = 0; i <broj_reda; i ++) {kut = i * 2 * M_PI / num_line; glVertex2f (x + (cos (kut) * polumjer), y + (sin (kut) * polumjer)); } Ova petlja čini tri stvari. Prvo se ponavlja prema vrijednosti "num_lines", gdje je num_lines cijeli broj, crtajući crtu u svakoj iteraciji i rezultirajući krugom koji se sastoji od ravnih linija num_lines. Drugo, izračunava kut linija u odnosu na središte kruga u radijanima. "M_P" je konstanta definirana u math.h koja predstavlja pi. Konačno, poziv na glVertex2f () izračunava koordinate krajnjih točaka linija. Nakon petlje unesite sljedeći redak koda: glEnd () IDI To će OpenGL-u reći da ste završili s crtanjem linija. Da biste nacrtali krug u sceni, dodajte poziv iz metode drawCircle () funkciji prikaza povratnog poziva programa, koja mora biti pripremljena u koraku 1. Navedite vrijednosti x, y, radijus i num_lines, gdje x i y predstavljaju točku u vašoj sceni radijus je radijus kruga, a num_lines broj linija koje čine krug. Opet, ako niste upoznati s OpenGL-om i prikazom povratnog poziva, pogledajte vodič za OpenGL. Sastavite i pokrenite svoj program. Ako ste ispravno unijeli funkcije, trebala bi se kompajlirati bez pogrešaka. Ako ste naveli vrijednosti za x, y i radijus, trebali biste vidjeti crni krug prikazan na bijeloj pozadini.3. korak
4. korak
Korak 5
Korak 6
7. korak
Korak 8
Korak 9