Vijak po standardu DIN 2509
Kazalo:
1. Abstract
2. Uvod
3. Definicija naloge
4. Skica vijaka
5. Teoreticne osnove
6. Program in programiranje
7. Zakljucek
8. Literatura
1. Abstract
This document presents some basics of 2D geometrics. Main properties are translation, rotation and scalation in X - Y field. For this presentation is used graphics library Phigs. The example is screw DIN 2509.
2. Uvod
Bistvo naloge je bilo vezano na samostojno programiranje v dolocenem programskem jeziku. Student je moral osvojiti znanje uporabe transformacijskih matrik za premikanje (translacija), skaliranje in rotacijo prikazanih elementov, torej transformacije v 2D ravnini. Pri tem je moral uporabiti graficno knjiznico Phigs, ki pa sluzi tudi za prikazovanje predmetov v 3D ravnini.
3. Definicija naloge
Predmet prikaza je vijak po standardu DIN 2509. Program naj omogoca izbor dolocenega vijaka glede na mere iz seznama in prikaz le-tega v tlorisu in narisu. Omogocena mora biti moznost postavitve vijaka na doloceno mesto na risalni povrsini.
V prikazu v 2D ravnini morata biti obe osi X in Y oznaceni. V nadaljevanju morajo biti prikazane moznosti geometrijskih transformacij. To so premikanje v smeri X in Y (naprej in nazaj), skaliranje in rotacija okoli osi pravokotne na ravnino X-Y. Te funkcije morajo biti izvedene tako, da se jih lahko izvaja interaktivno z izbiro v menujih ali vnosom potrebnih vrednosti.
Uporabi programski jezik Javascript, mozno tudi Fortran ali C, skupaj z emulacijo knjiznice Phigs.
4. Skica vijaka DIN 2509
Skica je priblizna in ne vsebuje navojev zaradi lazje predstave.
5.Teoreticne osnove
5.1. Graficni in formularni zapis 2D transformacij
5.1.1 Translacija
5.1.2. Rotacija
5.1.3. Skaliranje
5.2. Matricni zapis 2D transformacij
5.2.1. Translacija
a) Kartezijeve koordinate: ni mozno zapisati v matricnem nacinu
b) Homogene koordinate:
5.2.2. Rotacija
a) Kartezijeve koordinate:
b) Homogene koordinate:
5.2.3. Skaliranje:
a) Kartezijeve koordinate:
b) Homogene koordinate:
6. Program in programiranje
6.1. Predstavitev
Pri programiranju sem uporabil programski jezik Fortran. Program zato deluje v MS-DOS okolju in je zapisan v EXE kodi in ne v HTML obliki kakor je to pri Javascriptu. Program se zato uporablja z vnasanjem dolocenih parametrov in ne s "klikanjem" na dolocene gumbe, kar pa ne pomeni, da uporaba ni enostavna.
Program sem napisal v navadnem urejevalniku teksta (WordPad) in ga prevedel v EXE kodo z GNU-jevim prevajalnikom, ki podpira mnogo racunalniskih jezikov. Prevajalnik obenem tudi ugotavlja in sporoca morebitne napake pri programiranju.
Poleg datoteke EXE potrebuje program za delovanje se podatkovne datoteke s koncnico DAT, kjer so zapisani osnovni parametri geometrije dolocenega vijaka. V eni datoteki so podatki za en vijak (primerov je 12).
Poskusal sem vse podatke zdruziti v eno datoteko, vendar mi to zal ni uspelo.
6.2. Opis postopka programiranja
Program je sestavljen iz glavnega programa in iz vecih podprogramov, ki se izvajajo v dolocenih zaporedjih in dolocenih zankah ter se med sabo poljubno zdruzujejo.
Na zacetku so navedeni parametri in spremenljivke in so podani samo enkrat. Potem program odpre doloceno podatkovno datoteko glede na izbiro in zeljo uporabnika, ter s tem prebere osnovne dimenzije za izracun in izris izbranega vijaka. S pomocjo teh podatkov program izracuna koordinate 130 oglisc vijaka, ki sem jih oznacil z spremenljivko OG. Podatki so vstavljeni v mm. Nato sem definiral 132 stranic (ST), ki so povezave izracunanih oglisc. Nato se delovna postaja Phigs odpre, pojavi se graficno okno in izrise se izbran vijak v prvotni velikosti, ki se lahko doloca poljubno. Nato se pojavi menu, kjer so navedene operacije programa. Ko uporabnik izbere npr. rotacijo, program izbrise vsebino graficnega okna ter klice podprogram rotacije, izracuna nove koordinate tock glede na vneseni kot uporabnika in izrise novo sliko. Podobno je tudi pri izbiri translacije in skaliranja. Ce uporabnik izbere funkcijo "na zacetek programa", se graficno okno oz. postaja zapre in uporabnik lahko izbere drugi vijak. Funkcija "izhod iz programa" zapre najprej graficno postajo Phigs, potem se prekine izvajanje programa.
Program je prilozen v datoteki "vijak.txt". Za lazje razumevanje sem pisal zraven komentarje.
Datoteka z napisanim programom
6.3. Slike in primeri iz programa
Slika ponazarja primer rotacije okoli Z osi.
Legenda:
svetlo modra=vijak; temno modra=srednjice; rdeca=navoji; rumena=koor.sistem; zelena=kotirnice
Slika ponazarja primer translacije s prikazom okna, kjer je osnovni menu.
6.4. Zagon programa
Datoteke, ki so potrebne za zagon programa so zdruzene v eni datoteki oblike ZIP.
Pogoj za delovanje programa je, da so posnete v istem direktoriju.
7. Zakljucek
Z izdelavo te seminarske naloge sem se seznanil malo bolje s programskim jezikom Fortran in pa seveda z uporabo graficne knjiznice Phigs. Obnovil sem seveda tudi matematicno znanje, ki se navezuje na matrike za 2D transformacije.
Kot sem ze prej omenil, bi program bil boljsi, ce bi bil napisan v Javascriptu, hitrejsa je uporaba, pa tudi estetsko je lepse. Vendar bi se dalo tudi v Fortranu boljse narediti. Lahko bi podatke zdruzil v eno samo datoteko, zal mi ni uspelo. Namesto vnasanja faktorjev za 2D transformacije, pa bi lahko uporabljal dolocene tipke. Npr. pri skaliranju bi dolocil skalirni faktor 1.05, potem bi stiskal doloceno tipko, zanka bi se na hitro izvajala in slika bi se navidezno povecevala. Za kontra proces bi uporabil faktor 0.95. Podobno bi bilo pri rotaciji in translaciji.
Skoda je, da Phigs grafika ne pozna lokov oz. krivulj. Tako sem krog improviziral z vecimi daljicami. Uporabil sem jih 24, kar pomeni, da je vmesen kot med odseki 15 stopinj.
8. Literatura
1. Standard DIN 2509
2. Joze Petrisic: FORTRAN, FS Ljubljana, 1994
Avtor: Marjan Hribljan