Kuinka tehdä ympyrä OpenGL: ssä

Kirjoittaja: Judy Howell
Luomispäivä: 4 Heinäkuu 2021
Päivityspäivä: 15 Marraskuu 2024
Anonim
Kuinka tehdä ympyrä OpenGL: ssä - Elektroniikka
Kuinka tehdä ympyrä OpenGL: ssä - Elektroniikka

Sisältö

OpenGL tai Open Graphics Library on graafinen sovellusliittymä (Application Programming Interface) 2D- ja 3D-sovellusten kirjoittamiseen useille ohjelmointikielille ja -alustoille. Sitä voidaan käyttää renderöimään kaikkea yksinkertaisista, alkeellisista esineistä monimutkaisiin 3D-kohtauksiin. Open GL: ää käytetään laajalti tietokonesuunnittelussa, tieteellisessä visualisoinnissa, lentosimulaatiossa ja videopeleissä. Vaikka OpenGl: llä ei ole tapoja piirtää ympyrää suoraan, on mahdollista rakentaa se käyttämällä sarjaa viivoja. Ympyrän piirtämiseen vaaditaan perustiedot OpenGL: stä.

Vaihe 1

Tee perusohjelma OpenGL-näkymällä. Jos et ole perehtynyt tähän prosessiin, OpenGL-sivulla on opetusohjelma.


Vaihe 2

Lisää math.h.header-tiedosto ohjelmaasi kirjoittamalla seuraava koodi ohjelman alkuun: #include . Tämä antaa sinulle cos () ja sin () (sini ja kosini) toiminnot, joita tarvitaan ympyrän laskemiseen.

Vaihe 3

Aloita ympyrämenetelmä lisäämällä seuraava koodi ennen soittopyynnön näyttämistä:

void drawCircle (GLint x, GLint y, GLint säde, int num_lines) {}

Muuttujia "x" ja "y" käytetään määrittelemään ympyrän keskipiste ikkunassasi, kun taas "säde" määrittää ympyrän säteen. Luku "num_lines" on ympyrän muodostamiseen käytettyjen rivien määrä. Mitä suurempi luku, sitä tasaisempi ympyrä tulee näkyviin.

Vaihe 4

Lisää seuraava määrityskoodi näppäinten sisään:

uimakulma GO int num_lines GO glColor3f (0.0, 0.0, 0.0) GO.

Muuttuja "kulma" sisältää ympyrän muodostamiseen käytettyjen viivojen kulman. Funktion glColor3f () kutsuminen asettaa linjojen värin mustaksi, jolloin kolmen 0-sarja vastaa punaisen, vihreän ja sinisen voimakkuutta asteikolla 0-1.


Vaihe 5

Lisää seuraava koodi glColor3f () -funktion alle vaiheesta 4:

glBegin (GL_LINE_LOOP) GO

Tämä kertoo OpenGL: lle, että kaikkiin seuraaviin viivoihin liittyy viivojen piirtämistä. Tarkemmin sanottuna se piirtää "GL_LINE_LOOP", joka on sarja yhdistettyjä viivoja.

Vaihe 6

Anna seuraava koodi for for -silmukalle glBegin () -kutsun jälkeen:

for (int i = 0; i <rivinumero_; i ++) {kulma = i * 2 * M_PI / num_line; glVertex2f (x + (cos (kulma) * säde), y + (sin (kulma) * säde)); }

Tämä silmukka tekee kolme asiaa. Ensinnäkin se iteroi arvon "num_lines" arvon mukaan, missä num_lines on kokonaisluku, piirtämällä viiva kullekin iteraatiolle ja tuloksena ympyrä, joka koostuu suorista viivoista num_lines. Toiseksi se laskee viivojen kulman ympyrän keskustaan ​​nähden radiaaneina. "M_P" on matematiikassa h määritelty vakio, joka edustaa pi: tä. Lopuksi kutsu glVertex2f () laskee viivojen päätepisteiden koordinaatit.


Vaihe 7

Syötä silmukan jälkeen seuraava koodirivi:

glEnd () GO

Tämä kertoo OpenGL: lle, että olet lopettanut viivojen piirtämisen.

Vaihe 8

Piirrä ympyrä kohtaukseen lisäämällä kutsu drawCircle () -metodista ohjelman takaisinsoittonäyttöön, joka on valmisteltava vaiheessa 1. Määritä x: n, y: n, säteen ja num_linjan arvot, joissa x ja y edustavat pistettä kohtauksessasi säde on ympyrän säde ja num_lines on ympyrän muodostavien rivien määrä. Jälleen, jos et ole vielä perehtynyt OpenGL: ään ja takaisinsoittonäyttöön, katso OpenGL-opetusohjelma.

Vaihe 9

Käännä ja suorita ohjelma. Jos syötit toiminnot oikein, sen pitäisi kääntyä virheettömästi. Jos määritit x: n, y: n ja säteen arvot, sinun pitäisi nähdä musta ympyrä valkoisella taustalla.

Sakkaroosi-intoleranssin oireet

Frank Hunt

Marraskuu 2024

akkarooilla tai tavalliella okerilla voi olla vakavia terveyvaikutukia. Tietyt perinnölliet biokemiatyypit tekevät joitakin ihmiitä uvaitemattomia okeria. Tämä on kohtuullien ...

Ueat ihmiet, lähinnä naiet, värjäävät hiukena peittämään valkoiet äikeet tai muuttamaan ja parantamaan ulkonäköään. Tuotetta on pi...

Suosittelemme Sinua Lukemaan