Program je napisan v programskem jeziku C++. Program je sestavljen iz glavnega programa in pod programov. V glavnem programu se kreira okno za izris, določi barve, inicializira tipke kot dogotke in kliče podprograme za izris.
Najprej se kliče funkcija init, v kateri definiramo odboj svetlobe, postavimo luci, definiramo barvo ozadja okna in naredimo listo točk za izris navojne gredi. Pri izdelavi listi točk kličemo funkcijo gred, ki izračuna točke.
V podprogramu gred se najprej izvede vpis osnovnih podatkov, ki so potrebni za izris navojne gredi. S pomočjo osnovnih podatkov se izračunajo še ostali podatki, ki so potrebni za izris. Kateri so osnovni podatki in izračunani so podani v uvodu.
Ko so določeni vsi podatki, se izvede izračun točk in definiranje površin navojne gredi.Površine so bile genreiranje z ukazom "GL_QUAD_STRIP" oziroma
s pravokotnimi ploskvicami, ki so med sabo povezani v dveh točkah oziroma je vska ploskvica definirana z dvema starima in dvema na novo definiranima točkama.
Izračun točk izveden tako, da so vse točke "X","Y" in "Z" funkcije parametra "j", ki se spreminja v "for" zanki. Točke "X"
in "Y" so kotne funkcije "Z" pa linearna funkcija. Na enak način so izračunane tudi ostale ostale vijačnice in površine navojne gredi.
Za senčenje so tudi izračunane normale površin, ki se izračunajo iz vektorskega produkta.
V nadaljevanju vidimo izračun točk za eno vijačno ploskev. ena vijačna ploskev predstavljata dve vijačnici. Obe vijačnice imata enake
koordinati "X" in "Y" samo "Z" koordinata pa se razlikuje za konstantno vrednost "a". Ta konstantan predstavlja razmik med vijačnicama.
Taki ramaknjeni vijačnici je potrebno nato še prerezati z ravnino,da sta začetek in konec vijačnice na isti rvnini ravnini. To prikazuje slika 2.
V funkciji "reshape" se definira osnovni pogled, ki se izriše na začetku programa in pa pri spreminjanju velikosti okna za izris. V tej funkcije je definiran prespektiva in velikost izrisane navojne gredi.
V funkciji "keyboard" so definirane homogene transformacije, ki se izvedejo pri pritisku na tipko. Transformacije so translacija, skaliranje in rotacija. Vse transformacije se izvedejo na izhodišče koordinatnega sistema.
Program deluje v "Windows" okolju. Pri zagonu programa se pojavi okno za vpis podatkov. V to okno se vpisejo podatki za izris navojne gredi. Vipše se velikost trapeznega navoja oziroma imenski premer, korak navoja in število ovojev.
Po vnosu osnovnih podatkov se izvede izris in na okno se izpisejo še ostali podatki, ki so bili izračunani za izris in navodilo za manipulacijo z objektom(homogene transformacije) .
Na graficnem delu okna se izriše gred v izhodiščnem pogledu. To gred lahko nato manipuliramo prek tipk.
Na naslednji sliki je izrisana gred po manipulaciji
Na enostavnem primeru je bila izisana navojna gred v 3d prostoru. Pri programeranju z uporabo knjižnice "Glut" se je izkazala prednosti v programirnju 3d grafike. S knjižnico se lažje definira samo okolje za izris. Prednost so tudi v funkcijah, kot so podajanje točk in likov v 3d prostoru , senčenje, postavljanje luči definiranje odboja svetlobe, homogene transformacije in drugo. Programi so krajši in bolj pregledni.