Uvod

Graficni del aplikacije dobiva vedno vecji pomen, saj lahko z njegovo pomocjo takoj vidimo pravilnost izracuna (pravilne deformacije) - kvalitativni del. Kvantitativni del zal ne moremo preveriti s pomocjo post- procesorja. Poleg zgornjih lastnosti dobimo ze vpogled v obnasanje konstrukcije pod obremenitvijo. Deformacije so zaradi majhnosti v primerjavi z velikostjo konstrukcije prikazane karikirano. Izpisi oznacb vozlisc in palic ter izpis velikosti sil v palicah nam zelo olajsajo delo, ker nam ni potrebno preskakovati med posameznimi aplikacijami ali podatki na papirju.

Zahteve

Izdelaj program, ki bo prikazal prostorsko konstrukcijo v ravninski projekciji x-y. Program naj omogoca poljubno stevilo transformacij v prostoru. Poleg tega naj izrise konstrukcijo v deformirani in nedeformirani obliki. Na zahtevo (menu) mora izrisati oznacbe vozlisc in palic, velikosti pomikov vozlisc in sil v palicah. V deformirani obliki naj bodo palice obremenjene na tlak izrisane v rdeci, palice obremenjene na nateg pa v zeleni barvi.

Teoreticne osnove

Koordinate vozlisc sem zapisal v homogeni obliki, zaradi lazjih transformacij.

	( x, y, z, 1)                               

Transformacije se izvedejo s pomocjo transformacijskih matrik.

Translacija

Skaliranje

Rotacija

x - os; y - os; z - os

Zaradi hitrejsega delovanja (manj racunskih operacij) zdruzimo posamezne transformacijske matrike v eno skupno matriko, ki jo dobimo kot produkt vseh posameznih transformacijskih matrik. Ker produkt matrik v splosnem ni komutativen, je koncna matrika odvisna od vrstnega reda mnozenja matrik. Vrstni red mnoznja ni nikjer definiran, zato imajo posamezne aplikacije poljuben vrstni red mnozenja.

Predstavitev principov delovanja programa

Prototipi

Prototipi posameznih ukazov so definirani v uvodnih vrsticah, ki se zacnejo z #include.

Odpiranje datotek

Za deklaracijo globalnih spremenljivk, podprogramov in lokalnih (main) spremenljivk sledi odpiranje izhodne datoteke procesorja palpost.txt. Datoteka palpost.txt je zapisana v enaki obliki kot vhodna datoteka procesorja. Poleg podatkov iz vhodne datoteke vsebuje se velikosti reakcij (rforces), sil v palicah (memforce) in pomikov vozlisc (displacements)

Branje vhodne datoteke

Branje vhodne datoteke je popolnoma enako kot v procesorju, le da beremo vec podatkov.

Inicializacija in zapis vrednosti spremenljivk

Po branju podatkov program inicializira vrednosti posameznih vektorjev (koordinate vozli�c, velikosti pomikov vozlisc, reakcij in zunanjih obremenitev). Nato sledi zapis vektorjev v obliki homogenih koordinat (oblika 1).

Vklop graficnega zaslona

Vklop se izvede s pomocjo naslednjih dveh ukazov:

	int gdriver=DETECT, gmode, errorcode;
	initgraph(&gdriver, &gmode, "");

S pomocjo teh dveh ukazov zaznamo graficno kartico (DETECT) in odpremo graficni zaslon.

Resetiranje stikal

Stikala imajo en sam namen in sicer dolocajo kaj se bo na ekranu prikazalo in kaj ne. Glede na njihovo binarno naravo je ocitno, da imajo lahko le dve vrednosti (0 in 1). Ker se polje stikal pri deklaraciji ne resetira, ga moramo naknadno resetirati - osnovna pozicija. V osnovni poziciji so vsa stikala ugasnjena - imajo vrednost 0.

Skalirni faktorji

V zelji, da bi videli v osnovnem polozaju konstrukcijo v celoti (Autoscale), moramo dolociti skalirne faktorje, ki nam omogocajo prikaz konstrukcije cez cel ekran. Program najprej doloci skalirni faktor konstrukcije scale, glede na najvecjo vrednost koordinate in najvecjo mozno vrednost zaslonskih koordinat. Nato sledi dolocitev skalirnega faktorja pomikov dqscale, glede na vrednost najvecjega pomika, ki naj predstavlja 5% velikosti okna v y smeri. Skalirni faktor za sile in reakcije (priblizno enak velikostni razred) rscale pa dolocimo tako, da predstavlja velikost najvecje reakcije 70 zaslonskih enot (offset).

Dolocitev izrisa na ekran

Jedro programa je izbira izrisa na ekran. Izbiramo s pomocjo rdece obarvanih crk (hotkeys) v menuju. S pritiskom na ustrezne tipke (hotkeys) vklopimo in izklopimo posamezna stikala iz polja stikal sw� �. Program na podlagi vrednosti stikal sw� �, klice ustrezne podprograme za izris oziroma izpis posameznih delov. Program vedno prikaze vozlisca in nedeformirano konstrukcijo. Ostale stvari so izbirne (optional).

Podprogrami

Podprogrami za izris

Podprogrami za izpis

Podprogram za izpis menuja

Podprogrami za izracun transformacijskih matrik

Podprogrami za izracun novih vrednosti

Primer

Zal ne morem spraviti prikaza konstrukcije na papir, ker dos ne podpira mojega tiskalnika Epson LQ100. Zato je moj prikaz omejen le na zaslon.

Omejitve in pomankljivosti programa

Mozne izboljsave

Priloge

Zakljucek

Program ustreza zahtevam, poleg tega pa se izrisuje reakcije v podporah in zunanje obremenitve. Graficni del aplikacije nam daje karikiran pogled v obnasanje konstrukcije pod obremenitvami. S poljubnimi transformacijami v prostoru gledamo na konstrukcijo z zelenega zornega kota. Poleg tega se lahko osredotocimo na posamezne detajle (translacija + skaliranje). Ce povzamem zgornje misli, lahko recem, da postprocesor omogoca cloveku predstavljiv pogled na konstrukcijo.