Vsebina
OpenGL ali Open Graphics Library je grafični API (Application Programming Interface) za pisanje 2D in 3D aplikacij v različnih programskih jezikih in platformah. Z njim lahko upodabljate karkoli, od preprostih, primitivnih predmetov do zapletenih 3D prizorov. Open GL se pogosto uporablja v računalniškem oblikovanju, znanstveni vizualizaciji, simulaciji letenja in video igrah. Čeprav OpenGl nima metod za neposredno risanje kroga, ga je mogoče zgraditi z vrsto vrstic. Za risanje kroga boste morali imeti osnovno znanje OpenGL.
Korak 1
Naredite osnovni program s prikazom OpenGL. Če tega postopka ne poznate, je na strani OpenGL vadnica.
2. korak
Datoteko math.h.header dodajte v svoj program tako, da na začetku programa vnesete naslednjo kodo: #include Zaženite način kroženja tako, da pred prikazom funkcije povratnega klica dodate naslednjo kodo: void drawCircle (GLint x, GLint y, radij GLint, int num_lines) {} Spremenljivki "x" in "y" bosta uporabljeni za določitev središča kroga v vašem oknu, medtem ko "radij" določa polmer kroga. Celo število "num_lines" je število vrstic, uporabljenih za sestavljanje kroga. Višja kot je ta številka, bolj gladek bo krog. V tipke dodajte naslednjo konfiguracijsko kodo: plavajoči kot GO int num_lines GO glColor3f (0,0, 0,0, 0,0) GO. Spremenljivka "kot" bo vsebovala kot črt, ki se uporabljajo za konstrukcijo kroga. Poklic funkcije glColor3f () nastavi barvo črt na črno, pri čemer niz treh 0 ustreza intenzivnosti rdeče, zelene in modre na lestvici od 0 do 1. Pod funkcijo glColor3f () iz 4. koraka dodajte naslednjo kodo: glBegin (GL_LINE_LOOP) GO To pove OpenGL, da vse nadaljnje vrstice vključujejo risanje črt. Natančneje, narisal bo "GL_LINE_LOOP", ki je niz povezanih linij. Vnesite naslednjo kodo za zanko for po klicu glBegin (): for (int i = 0; i <številka_ vrstice; i ++) {angle = i * 2 * M_PI / num_line; glVertex2f (x + (cos (kot) * polmer), y + (sin (kot) * polmer)); } Ta zanka naredi tri stvari. Najprej se ponovi glede na vrednost "num_lines", pri čemer je num_lines celo število, pri čemer se v vsaki ponovitvi nariše črta in nastane krog, sestavljen iz ravnih črt num_lines. Drugič, izračuna kot črt glede na središče kroga v radianih. "M_P" je konstanta, definirana v math.h, ki predstavlja pi. Na koncu klic glVertex2f () izračuna koordinate končnih točk črt. Po zanki vnesite naslednjo vrstico kode: glEnd () GO To bo OpenGL-u sporočilo, da ste končali z risanjem črt. Če želite narisati krog v sceni, dodajte funkcijo prikaza povratnega klica programa, ki mora biti pripravljena v koraku 1. Določite vrednosti x, y, polmer in num_lines, kjer x in y predstavljata točko v vaši sceni je polmer polmer kroga, num_lines pa število vrstic, ki sestavljajo krog. Če še niste seznanjeni z OpenGL in prikazom povratnega klica, glejte vadnico OpenGL. Sestavite in zaženite program. Če ste pravilno vnesli funkcije, se mora sestaviti brez napak. Če ste določili vrednosti za x, y in polmer, boste na belem ozadju videli črni krog.3. korak
4. korak
5. korak
6. korak
7. korak
8. korak
9. korak