Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vykresliť kruh v OpenGL

OpenGL , alebo Otvoriť Graphics Library , je počítačová grafika API ( application programming interface ) pre písanie 2D a 3D počítačovej grafiky aplikácie na programovacích jazykov a platforiem . To môže byť použitý na to , aby čokoľvek , od jednoduchých , primitívnych objektov až po zložité 3D scény . OpenGL je široko používaný v profesionálnych počítačovo podporovanom dizajnu , vedecké vizualizáciu , simuláciu letu a videohier . Kým OpenGL nemá žiadne metódy priamo nakresliť kruh , kruh môže byť konštruovaný za použitia radu liniek . Budete potrebovať základné znalosti OpenGL nakresliť kruh . Veci , ktoré budete potrebovať
počítača s OpenGL podporu
textovom editore a jazyk C vykazujúcim nástroje alebo C vývojové prostredie
Zobraziť ďalšie inštrukcie Cestuj 1

Nastaviť základný program ktoré sa zobrazí okno OpenGL výrezu . Ak ste oboznámení s týmto procesom , je tu návod na základy OpenGL
2

pridať hlavičkový súbor math.h do svojho programu zadaním nasledujúci kód na začiatku programu . : # include To vám poskytne cos ( ) a sin ( ) funkcie ( cos a sin ) potrebných pre výpočet kruhu .
3

Začnite svoj ​​spôsob kruh pridaním nasledujúci kód pred funkciu zobrazenia spätného volania : void drawCircle ( Glint x , Glint y , radius Glint , int num_lines ) { } premennej \\ " x \\ " a \\ " y \\ " sa používa na nastavenie stred kruhu v okne , zatiaľ čo \\ " polomer \\ " , samozrejme , nastaví polomer kruhu . Číselné \\ " num_lines \\ " je počet riadkov , ktoré tvoria kruh . Čím vyššie číslo , tým hladšie kruh sa zdá byť
4

Pridajte nasledujúci set - up kód vnútri zátvoriek : . Uhol float vyrazte num_lines GO glColor3f ( 0.0 , 0.0 , 0.0 ) GO premenná \\ " uhol \\ " bude obsahovať uhol čiar použitých na vytvorenie kruhu . Volanie funkcie glColor3f ( ) nastavuje farbu čiar na čiernu , kde rada troch 0s zodpovedajú intenzite červená , zelená a modrá na škále od 0 do 1.
5

Pridajte nasledujúci kód pod glColor3f ( ) volanie z kroku 4 : glBegin ( GL_LINE_LOOP ) GO To hovorí OpenGL , že všetky nasledujúce riadky zahŕňajú kreslenie čiar . Konkrétne to kreslí \\ " GL_LINE_LOOP , \\ " ktorý kreslí sériu pripojených liniek
6

zadajte nasledujúce pre - slučky kód po glBegin ( ) volanie : . For ( int i = 0 ; i < num_lines ; i + + ) { uhol = i * 2 * M_PI /num_lines ; glVertex2f ( x + ( cos ( uhol ) * rádius ) , y + ( sin ( angle ) * rádius ) ) ; } Táto slučka dosiahne troch veci . Po prvé , to opakuje num_lines časy , kedy num_lines je celé číslo , nakreslenie čiary v každej iterácii a končiť v kruhu zložené z num_lines priamok . Po druhé , sa vypočíta uhol čiar vzhľadom ku stredu kruhu v radiánoch . \\ " M_PI \\ " je konštantná premenná je definovaná v math.h predstavuje pí . Konečne , glVertex2f ( ) volanie počíta ( x , y ) súradnice koncových bodov línií
7

po pre - slučky , zadajte nasledujúci riadok kódu : . Glenda ( ) GO Tento hovorí OpenGL , čo ste urobil kreslenie čiar .
8

Ak chcete nakresliť kruh v scéne , pridajte volania do drawCircle ( metódy ) pre funkciu spätného volania displej vášho programu , ktorý ste mali pripravený v kroku 1 . Zadajte hodnoty pre x , y , polomer , a num_lines , kde x a y predstavuje bod v scéne , polomer je polomer kruhu , a num_lines je počet riadkov , ktoré tvoria kruh . Opäť platí , že ak ste oboznámení s OpenGL a displeja spätné volanie , nájdete v tutoriálu OpenGL .
9

Kompilácia a spustenie programu . Ak ste zadali funkciu správne , mala by zostaviť bez chyby . Ak ste zadali platné hodnoty pre x , y a polomer , mali by ste vidieť čierny kruh zobrazenej na bielom pozadí .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené