Máté: Számítógépes grafika alapjai

Hasonló dokumentumok
Máté: Számítógépes grafika alapjai

Bevezetés. Bevezetés. Bevezetés. Történeti áttekintés. Bevezetés

3D koordináta-rendszerek













Számítógépes grafika


ó ü Á Ú ü í Ó ó ö Ú ö ü Ó Ó ő Íó í ő ú ő í ó ö Ö ö ö í ó ó Í ü ő ó ó Ó Ó Ó í Ó Í Ú Ó Ó í í í Ó ő Ö ü Ó Ö ű Ö ű ö ü Ó ő ü Ö í Ö Í ó Ó ó ö ü ü ö ó Ö Ó Ó






1. El szó. Kecskemét, február 23. K házi-kis Ambrus

Líneáris függvények. Definíció: Az f(x) = mx + b alakú függvényeket, ahol m 0, m, b R elsfokú függvényeknek nevezzük.

á á á ö ö ü á á á ő á ó á á ő í á í á ú á ö ó á á ó á ó á á ó í á á á á á ó ő á ő ú á á á á ü á í í á ó ü ű ó ó ő á á á ö á á á ü á á ú á á ö ő á á í

ö Ö ő Í ú ö ö ö ö ő ó ó Ö ú ó ü ó ö Ö ő ö ö ö ő ő ő ö ó ö ő ö ö ö őö ö őö ü ö ö ö ő ö ö ő ő ó ö ö Í ö ú ő ö ó ö ü ó ö ő ó ú ö őí ó ó ó ű ö ű ö ö ő ő ű



á é é é é é é é é á é é é é á ú ó é ő á ő á é ű é á ó é é ő é ú ő á é é őá é é é é é é é á ő ö ő ö é á é ő é éé é é é á ő á é ő é á ó á ú á á é á é őí

Hidro-termodinamikai egyenletek


Alkalmazott Informatikai Tanszék SZÁMÍTÓGÉP-PROGRAMOZÁS dr.dudás László 22./0. 3D grafika programozása OpenGL támogatással Transzformációk



Szilárdságtan. Miskolci Egyetem GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR















Máté: Számítógépes grafika alapjai


Í í ó í Í í í é í ó ő ő ö í é ő ő é é í ü é é ö é é é ú ő ö é é é ő é ő í é í ő é é é é é é í é é é é ú í ó í í ó í é é é í é ú í é í é ü é é í ő ő ő

hajlító nyomaték és a T nyíróerő között ugyanolyan összefüggés van, mint az egyenes rudaknál.


á ő ü á á ó ó ő ü ő ó ő á í á ó á í ü á á ó á á ö í á ó á ó í á á á á ó á ú ö ó ö ö á ü á á ő á á á ó á á á ó ö ö ö íö í á á ú ö ö á á ó á á á ó ű á ó

1 1 y2 =lnec x. 1 y 2 = A x2, ahol A R tetsz. y =± 1 A x 2 (A R) y = 3 3 2x+1 dx. 1 y dy = ln y = 3 2 ln 2x+1 +C. y =A 2x+1 3/2. 1+y = x.

é ü ü ő ü ő é ú é é é é é ő í é ő Í ő ü é é í é í é ő í ó é é í é é ő ó í ó é í í é ő Í ú ó ó í é ű í ó é í é ő é é í ó é í í óé í éé ő ó ü é ő úé é ú

ő í Á ö í í í ű ö ö ö ö ö ő ű ö ö ú Ü í í ő ű ö ű ö Ú Ü ö Ü ö ú ü ö í ú ö ö ö í ö í ü ö ő ö ő ö ú ő í Ü Ü ő í Ü ú í ő ü í í í ű ű í ő ö í í ö ő í í ö


é ó é é é ő é é é é é ö í ó ó é í é é é é é é ö é í é é é í é ú é é é é é é ö é í í ó őí ü ü é é ó é ó é ü é é ó ő é é í é í ó í é ő ő ő ü ő é ó é í é

á ő á ó á á ö á ö ő á á ő á á á á ő ő ö ö ö á ú á á ű ö á á á ü ó á á á ö ű á á á á á á ü ö Á í á á á ó á ö ű á í ü á É í á ó ü á á á á ó á ó ö ő ó á


10.3. A MÁSODFOKÚ EGYENLET

Tartóprofilok Raktári program

Másodfokú függvények

ó í ó í ü ü ó ő ó ú í ó ő ú ő ó í ó í ü ö ö ő ó ő ó ö ó ó ű í ü ü í ó í ó ö ö ö ó ű ő ö ő ű ü ó ü ö ü ó ü ü ö í ű ö í ű í ő ő ű ö ö ö ö ő ő ű í ü ö ö

í ü ö ö í ö ü ö ö ő ö Ö ő ű í ö ű ö ü ő ú ő ő ő ő ú í ú ö ö ö ö í í ő í ü ű Ö í ö Ü Ű ü í í í ö í ő Ö Ü ü í ő ő ö ö ő í ö ö ü ü í í í í ü ű Ö Ö ü í ú

ö ú Í ő ő ö í ö ű í ő ő ü ő ő ő ú ő í í Í ő ő ö ő Íí
































Átírás:

Máté: Sámítógépe gafika alapjai Geometiai tanfomáiók P() P ( ) ( ) P P Beeeté - anfomáiók A Sámítógépe Gafikában hanálato 2- é 3- imenió tanfomáiók: eltolá nagítá kiiníté (káláá) fogatá Pont 2D eltoláa Saka 2D eltoláa Hoak é a ögek áltoatlanok P() P ( ) ( ) (olop-)ektookkal: P P P P Elegenő a új égpontokat ámolni B A B A A A B B P 2D nagítá/kiiníté A ögek áltoatlanok Sokták a kettőt egütt SKÁLÁZÁSKÉN említeni Oigóból töténő nagítá P (olop-)ektookkal: P P S P P S S S 2D fogatá A hoak é a ögek áltoatlanok Oigó köüli fogatá P P o - in in o o R in P R P in o 9_tafo

Máté: Sámítógépe gafika alapjai 9_tafo 2 Homogén kooináták jelölée homogén kooinátákkal: ( w) Egenlőég: (w) ( w ) ha an olan α : hog α α w α w pl: (2 3 6) (4 6 2) Eg pontho égtelen ok (w) tatoik. Ha w akko (w) égtelen táoli pont () nem megengeett! Kapolat 2D é 3D köt (t t t w) egene a 3D tében P etülete a w íkon A égtelen táoli pontok ninenek a íkon w w P(w) 2D eltolá - matematikailag P ( )P ahol Imételt eltoláok (kompoíió): P P P ( ) ( 2 2 ) P ( ) P P ( 2 2 )P ( 2 2 )(( )P) 2 2 2 2 2 2 2D káláá - matematikailag P S( )P Imételt kálááok (kompoíió): P P P S( ) S( 2 2 ) P S( ) P P S( 2 2 )P S( 2 2 )(S( )P) S 2 2 2 2 2 2D fogatá - matematikailag P R() P (R() otogonáli) Imételt fogatáok: P R( ) P P R( 2 )P R( 2 )(R( )P) R( 2 )P Bionítá: Hái Felaat o in in o A hoak é a ögek áltohatnak Páhuamo egeneek képe páhuamo Affin tanfomáió: eltoláok kálááok fogatáok é níáok tetőlege ámú é oenű egmá utáni alkalmaááal kapott tanfomáió a SH b SH a a SH SH 2D níá affin tanfomáiók

Máté: Sámítógépe gafika alapjai 2D tanfomáiók kompoíiója. péla Fogatá -al eg tetőlege P() pont köül. a) eltolá P-ből O-ba (--) b) fogatá a oigó köül R() ) eltolá O-ból P-be () o in in o o in ( o ) in in o ( o ) in 2D tanfomáiók kompoíiója 2. péla Nagítá eg tetőlege P() pontból: () S( ) (--) ( ) ( ) 2D tanfomáiók kompoíiója 3. péla / Világ kooináta Képenő kooináta ene ene ( ma ma ) (u ma ma ) ( ) Lépéek: tanfomáió M WV S (u ) 2 2D tanfomáiók kompoíiója 3. péla /2 u u uma u ma ma ma ma ma ( u ) S ( ) M w ma ma u u uma u ma ma ma u ma ma ma ma u 2D tanfomáiók kompoíiója 3. péla /3 M w tehát u ma ma u P M P w ( ) ma ma ( ) u u ma ma ma ma u u u ( ) ma u ma ma ma Általáno kompoíió máti Könnű látni hog kálááok fogatáok níáok é eltoláok kompoíiója káláá/fogatá utáni eltoláként ételmehető: : káláá/fogatá t: eltolá M t t 2 2 22 2 t t A M alakú mátiokat kompoíió mátioknak neeük 2 22 9_tafo 3

Máté: Sámítógépe gafika alapjai 9_tafo 4 Goítáok M P ámítáako:. 9 oá é 6 öeaá helett elegenő 2 t 2 22 t kiámítáa ami ak 4 oá é 4 öeaá 2. Ha kii öggel fogatunk akko o íg o - in - in in o in ami ak 2 oá é két öeaá ( in kiámítáa) t t M 22 2 2 3D kooináta-eneek balkee bal-oáú jobbkee jobb-oáú 3D tanfomáiók - homogén kooináták () megaáa homogén kooinátákkal: () (w) ( w ) ha an olan α hog α α α é w α w Ha w : ( ) a okáo jelölé Ha w: () égtelen táoli pont Kapolat: () - egene a 4-imenió tében aek a w -e aló etülete a homogén kooináta w w w 3D eltolá met 3D káláá (nagítá/kiiníté) met S S S / / / 3D fogatáok A -tengel köül A -tengel köül A Y-tengel köül R o in in o R o in in o R o in in o

Máté: Sámítógépe gafika alapjai SH SH ( h h ) met 3D níá (Z mentén) ( h h ) h h h h 3D kompoíió-máti Skáláá/fogatá utáni eltoláként ételmehető: 2 3 t 2 22 23 t2 R M 3 32 33 t3 p p p Ilen móon 2 P MP R p2 hatékonabban p 3 p ámítható! 3 3D - íkok tanfomáiói A ík egenlete: A B C D Legen P a ík tetőlege pontja! A B Ha P akko N a ík nomália C D 3D - íkok tanfomáiói Legen P tetőlege pont a íkban! Ekko N P. Melik a a Q máti amele (Q N) (M P)? Ha M - léteik akko ((M - ) N) (M P) N ((M - ) ) MP N P Q(M - ) hien N P Ha a ík pontjait M-el tanfomáljuk akko hog tanfomálóik a ík nomália? N (M - ) N (NEM BIZOS hog léteik nomáli! Pl: etíté) 3D kooináta-eneek áltáa / P (j) : a P pont a j kooináta-eneben M i j : tanfomáió amel a j kooináta-enebeli pontokat a i kooináta-enebe ii át Ekko P (i) M i j P (j) Ha P (j) M j k P (k) akko P (i) M i j P (j) M i j (M j k P (k) ) M i k P (k) ahol M i k M i j M j k 3D kooináta-eneek áltáa /2 oábbá M i j M - j i pl: a) Ha M i j (tt) akko M j i (-t-t). b) Ha R: jobb-kee kooináta-ene L: bal-kee kooináta-ene akko MR L ML R 9_tafo 5

Máté: Sámítógépe gafika alapjai 3D - tanfomáiók alakja (Különböő kooináta-eneekben) P (j) : pont a j kooináta-eneben Q (j) : tanfomáió a j kooináta-eneben Melik a a Q (i) amele Q (i) P (i) M i j Q (j) P (j)? Miel P (i) M i j P (j) eét Q (i) M i j P (j) M i j Q (j) P (j) Q (i) M i j M i j Q (j) Q (i) M i j Q (j) M - i j Máti műeletek (OpenGL) OpenGL-ben olopfoltonoan táoljuk a mátiokat A egég máti: a a5 a9 a3 GLfloat M[] { a2 a6 a a4.... a 3 a7 a a5........ a4 a8 a2 a6....} Új aktuáli máti betöltée: oi glloamati{f}( M[6] ); glmatimoe(gl_modelview); // típu glloamati(m); // betölté Máti műeletek (OpenGL) A aktuáli máti legen a egégmáti: oi glloaientit(oi); A aktuáli máti oáa: oi glmultmati{f}( M[6] ); Pl.: GLfloat M[] {................} glmatimoe(gl_modelview); glmultmati(m); A oat le a új aktuáli máti Kooináta tanfomáiók (OpenGL) Néeti (Viewing) a néő (kamea) helének a megaáa Moell (Moeling) a objektumok (moell) mogatáa Moell-néet (MoelView) a néeti é a moell tanfomáiók egütt Vetítéi (Pojetion) a néet ágáa é látótébe méeteée Ablak a eemén ablaka aló leképeée Néeti kooináták (OpenGL) A megfigelő néőpontja keetben ( ) A megfigelő a tengel negatí iánába né. Vituálian ögített kooináta ene - - Ahog a megfigelő látja a moellt - - - Íg látnánk olalól a megfigelőt a poíiójának a tengel iánába töténő elmoítáa után Néeti kooináták (OpenGL) A néeti kooináta ene elfogatáa 45 -kal a ótamutató jáááal megegeő iánban 9_tafo 6

Máté: Sámítógépe gafika alapjai Néeti (Viewing) tanfomáió (OpenGL) E hajtóik ége előö et kell legelőö efiniálni Néőpont meghatáoáa Keeti néőpont ( ) glulookat paanal móoítható Néeti (Viewing) tanfomáió (OpenGL) oi glulookat( GLouble ee GLouble ee GLouble ee GLouble ente GLouble ente GLouble ente GLouble up GLouble up GLouble up) (ee ee ee) a em poíiója (ente ente ente) efeeniapont ahoá a em né (up up up) felfelé mutató ekto (up-ektovup) Pl.: glulookat(..2.......); Néeti (Viewing) tanfomáió (OpenGL) Moell (Moeling) tanfomáió (OpenGL) A glulookat eljáá kiámítja a megaott néeti tanfomáió ineét maj a aktuáli mátiot megooa a kapott ine tanfomáió mátial A altuáli máti mó a GL_MODELVIEW legen! eltolá (tanláió) fogatá (otáió) A moell ag eg éének a tanfomálááa hanáljuk káláá A úpont (ete) kooinátákat tanfomálja Moell-néeti ualitá (OpenGL) A néeti é a moell tanfomáiók uáliak eét elegenő ak a moell kooináta enet tanfomálni néeti kooináta ene mogatá moell kooináta ene mogatá Moell tanfomáiók (OpenGL) glmatimoe(gl_modelview); oi glrotate{f}( a ); a: fogatá fokban; ( ): fogái tengel pl. 45 foko fogatá a -tengel köül: glrotate(45...) oi glanlate{f}( ); ( ): a eltolá ektoa pl.: -tengel mentén 5 egéggel aló eltolá glanlate(5 ) oi glsale{f}( ); ( ) káláá météke a tengelek mentén pl.: glsale(.5.5.5).5-öö unifom nagítá 9_tafo 7

Máté: Sámítógépe gafika alapjai Vetítéi (pojetion) tanfomáió (OpenGL) glmatimoe(gl_projecion); Kétféle etítéi lehetőég Otogafiku etíté (OpenGL) oi glotho(ouble left ouble ight ouble bottom ouble top ouble nea ouble fa); otogafiku é pepektiiku Megajuk a látóteet i Végehajtá: új pojekiómáti pojekiómáti peifikált máti Othogonáli (otogafiku) etíté ágái teének megaáa 2D eet: oi gluotho2d( ouble left ouble ight ouble bottom ouble top); Pepektí etíté (OpenGL) oi glfutum (ouble left ouble ight ouble bottom ouble top ouble nea ouble fa); left ight: a bal é jobb olali ágóík kooinátája bottom top: a aló é felő ágóík kooinátája nea fa: a köeli é táoli ágóík kooinátája. Pepektí etíté (OpenGL) Simmetiku látóté megaáa: oi glupepetie (ouble fo ouble apet ouble nea ouble fa); fo: a látóté öge iánban apet: w/h nea fa: a ágóíkok táolága a megfigelőtől Néőpont: a oigó: ( ) Ablak (OpenGL) 2D- leképé a ablak eg téglalap alakú (iewpot) éébe: oi glviewpot(glint GLint GLiei with GLiei height); : a iewpot bal aló aka a ablakban with height: a iewpot méete pielben (5 ) Vágái té - Viewpot 5* Ablak 3*2 Ablak (OpenGL) Alapételmeé: ( winwith winheight) ahol winwith é winheight a ablak méetei (5 ) Vágái té - Ablak Viewpot 3*2 9_tafo 8

Máté: Sámítógépe gafika alapjai Pepektí etíté (OpenGL) Pl.: Móoítuk iewpot-ot é a ágái teet pepektí etíténél oi ChangeSie(GLiei w GLiei h){ GLfloat fapet; if (h ) h ; // ne ounk -al // a ablakon beállítjuk a iewpot-ot glviewpot( w h); fapet (GLfloat)w/(GLfloat)h; // etítéi máti glmatimoe(gl_projecion); glloaientit(); // ágái té megaá pepektí etíté glupepetie(6.f fapet. 4.); glmatimoe(gl_modelview); glloaientit(); } anfomáió mátiok (OpenGL) e Moeliew e máti e w we Eeeti Sem kooináták kooináták / w Pepektí / w otá / w w Vágái Nomaliát kooináták kooináták Pojekió máti Viewpot tanf. máti anfomáió mátiok (OpenGL) Máti emek (OpenGL) / w / w / w Nomaliát (inhomogén) kooináták Viewpot tanf. máti Máti móok: GL_EXURE GL_MODELVIEW GL_COLOR GL_PROJECION Minen máti mó ámáa an eg máti eem A aktuáli máti a eem tetején léő máti. A műeletek: oi glpuhmati( oi ); oi glpopmati( oi ); Máti emek (OpenGL) glget(gl_max_modelview_sack_deph) (Miooft: maimáli mélég 32) glget(gl_max_projecion_sack_deph) (Miooft: maimáli mélég 2) GL_SACK_OVERFLOW GL_SACK_UNDERFLOW Felaat (OpenGL) Rajoljuk meg eg obókoka pepektiiku képét! Alapállapot: egégmáti GL_MODELVIEW 9_tafo 9