<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=A_2007.01.08-as_vizsga</id>
	<title>A 2007.01.08-as vizsga - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/index.php?action=history&amp;feed=atom&amp;title=A_2007.01.08-as_vizsga"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=A_2007.01.08-as_vizsga&amp;action=history"/>
	<updated>2026-05-17T09:19:34Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=A_2007.01.08-as_vizsga&amp;diff=138301&amp;oldid=prev</id>
		<title>Unknown user: Új oldal, tartalma: „{{GlobalTemplate|Infoalap|SzgGrafVizsga20070108}}  __TOC__ ==Grafika section== ===1. Feladat=== &#039;&#039;&#039;Adott volt egy homogén lineáris transzformációs mátrix (M), vala…”</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=A_2007.01.08-as_vizsga&amp;diff=138301&amp;oldid=prev"/>
		<updated>2012-10-21T20:16:37Z</updated>

		<summary type="html">&lt;p&gt;Új oldal, tartalma: „{{GlobalTemplate|Infoalap|SzgGrafVizsga20070108}}  __TOC__ ==Grafika section== ===1. Feladat=== &amp;#039;&amp;#039;&amp;#039;Adott volt egy homogén lineáris transzformációs mátrix (M), vala…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{GlobalTemplate|Infoalap|SzgGrafVizsga20070108}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
==Grafika section==&lt;br /&gt;
===1. Feladat===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Adott volt egy homogén lineáris transzformációs mátrix (M), valamint egy ponthalmaz (lásd lentebb), ebből kellett megadni azt az új ponthalmazt, amelyre a trafó leképezi az eredetit. Megoldás menete 5p, számolások 6p.&amp;#039;&amp;#039;&amp;#039; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; M = \left[\begin{array}{rrrr} 8 &amp;amp;amp; 0 &amp;amp;amp; 0 &amp;amp;amp; 0 \\ 0 &amp;amp;amp; 6 &amp;amp;amp; 0 &amp;amp;amp; 0 \\ 0 &amp;amp;amp; 0 &amp;amp;amp; 4 &amp;amp;amp; 0 \\ 8 &amp;amp;amp; 6 &amp;amp;amp; 4 &amp;amp;amp; 2 \\  \end{array} \right] &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Az eredeti ponthalmaz egyenlete: &amp;lt;math&amp;gt; 8x + 6y + 8z + 6 = 0 &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Megoldás&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A &amp;#039;&amp;#039;homogén linearis transzformació&amp;#039;&amp;#039; pontot pontba, egyenest egyenesbe visz. Az &amp;#039;&amp;#039;invertálható homogén lineáris transzformáció&amp;#039;&amp;#039; ezen felül még sikot síkba visz át.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A megadott transzformació [x, y, z, 1] pontból [8x+8, 6y+6, 4z+4, 2]-t csinál.  &amp;lt;br&amp;gt;&lt;br /&gt;
Legyen [x,y,z] az a pont, ami kielégíti az egyenletet.&amp;lt;br&amp;gt;&lt;br /&gt;
Az új pont: [X,Y,Z,1] = [x,y,z,1] * M = [8x+8, 6y+6, 4z+4, 2] = [4x+4, 3y+3, 2z+2, 1]&amp;lt;br&amp;gt;&lt;br /&gt;
Így X=4x+4, Y=3y+3, Z=2z+2 és ezekből az x, y, z koordinátákat az X, Y, Z függvényeiként behelyettesítve az egyenletbe megkapjuk az új ponthalmazt:&amp;lt;br&amp;gt;&lt;br /&gt;
8(1/4*(X-4)) + 6(1/3*(Y-3)) + 8(1/2*(Z-2)) + 6 = 0&amp;lt;br&amp;gt;&lt;br /&gt;
azaz X + Y + 2Z - 8 = 0&lt;br /&gt;
&lt;br /&gt;
-- [[DangTriet|lightcom]] - 2007.01.09.&lt;br /&gt;
-- [[KolczaGyozo|kdodi]] - 2007.01.08.&lt;br /&gt;
-- Definíciót javította [[KelényiImre|Imi]] - 2007.01.09.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Alternatív megoldás 1&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
M&amp;#039; az M invertált mátrixa&lt;br /&gt;
&lt;br /&gt;
[X,Y,Z,1] = [x,y,z,1] * M&lt;br /&gt;
&lt;br /&gt;
--&amp;gt; [x,y,z,1] = [X,Y,Z,1] * M&amp;#039; = [e(X,Y,Z), f(X,Y,Z), g(X,Y,Z), h(X,Y,Z)]&lt;br /&gt;
&lt;br /&gt;
(ezen közvetlenül megkapjuk az x, y, z függvényeit, nem kell az inverz függvényeket kiszámítani az előző módszer szerint. Persze ez csak egyszerű ha könnyű az inverz mátrix számítása)&lt;br /&gt;
&lt;br /&gt;
Ha h(X,Y,Z) nem 0 akkor behelyettesítjük az x=e/h, y=f/h, z=g/h változókat az eredeti egyenletbe, így megkapjuk az új egyenletet, amely csak X-t, Y-t, Z-t tartalmaz.&lt;br /&gt;
&lt;br /&gt;
-- [[DangTriet|lightcom]] - 2007.01.09.&lt;br /&gt;
&lt;br /&gt;
A megoldás megértéséhez érdemes megnézni a bmetransf.pdf utolsó diáit.&lt;br /&gt;
&lt;br /&gt;
Az invertált mátrix transzponáltja: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; M&amp;#039;^T = \left[\begin{array}{rrrr} 1/8 &amp;amp;amp; 0 &amp;amp;amp; 0 &amp;amp;amp; -1/2 \\ 0 &amp;amp;amp; 1/6 &amp;amp;amp; 0 &amp;amp;amp; -1/2 \\ 0 &amp;amp;amp; 0 &amp;amp;amp; 1/4 &amp;amp;amp; -1/2 \\ 0 &amp;amp;amp; 0 &amp;amp;amp; 0 &amp;amp;amp; 1/2 \\  \end{array} \right] &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[KornaiTamas|Yaman]] - 2007.01.12.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===2. Feladat===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mit csinál a pixel (fragment) árnyaló (shader) a megadott OpenGL kód feldolgozásakor? Sum. 11p, nem ide illő megjegyzések -1p!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
glDisable(GL_LIGHTING);&lt;br /&gt;
glEnable(GL_TEXTURE_2D);&lt;br /&gt;
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);&lt;br /&gt;
glEnable(GL_DEPTH_TEST);&lt;br /&gt;
glShadeModel(GL_SMOOTH);&lt;br /&gt;
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);&lt;br /&gt;
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);&lt;br /&gt;
glMatrixMode(GL_PROJECTION);&lt;br /&gt;
glLoadIdentity(); gluPerspective(fov, (double)width/height, front, back);&lt;br /&gt;
glMatrixMode(GL_MODELVIEW);&lt;br /&gt;
glLoadIdentity(); gluLookAt(eyex, eyey, eyez, vrpx, vrpy, vrpz, vupx, vupy, vupz);&lt;br /&gt;
glBegin(GL_TRIANGLES);&lt;br /&gt;
glTexCoord2f(u1, v1); glVertex4f(x1, y1, z1, w1);&lt;br /&gt;
glTexCoord2f(u2, v2); glVertex4f(x2, y2, z2, w2);&lt;br /&gt;
glTexCoord2f(u3, v3); glVertex4f(x3, y3, z3, w3);&lt;br /&gt;
glEnd();&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Itt meg volt adva az OpenGL kód, szokásos függvényekkel, semmi Xtra igazából, volt egy &amp;#039;&amp;#039;&amp;#039;GL_MODULATE&amp;#039;&amp;#039;&amp;#039; a textúra tulajdonságoknál, meg a végén 3 &amp;#039;&amp;#039;&amp;#039;glTexCoord2f(u,v); glVertex3f(x,y,z)&amp;#039;&amp;#039;&amp;#039;, tehát egy háromszög volt a szenvedő alany..&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mo.:&amp;#039;&amp;#039;&amp;#039; Ha leírta valaki a pixel shader által elvégzett alapműveleteket korrektül, felesleges mellébeszélés nélkül, akkor nem lehetett gond.&amp;lt;br&amp;gt;&lt;br /&gt;
Talán: vertex shadertől megkapjuk a csúcs koordinátáit, és az árnyalás által kiköhögött színértékeket, ehhez hozzáadjuk a textúrából származó színinformációt (pontosabban szorozzuk a 2 színértéket &amp;#039;&amp;#039;&amp;#039;GL_MODULATE&amp;#039;&amp;#039;&amp;#039; miatt), ezek voltak eddig a csúcsok.. a köztes pixelekre pedig lineáris interpolációval számítjuk a színt..&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[GergelyK|Geri]] - 2007.01.13.&lt;br /&gt;
Szerintem még érdemes lehet azt is leírni, hogy a fenti kódban a világítás ki van kapcsolva, ezért valószínűleg nem fog árnyalni a program (pontosabban egy színnel árnyal és ahhoz szorozza a textúrát), illetve a GL_DEPTH_TEST miatt a shader lefutása után, a következő pixel feldolgozása előtt eldől hogy látható-e az adott pixel vagy nem (ez azért lehet fontos, mert a Z bufferrel variálhat a pixel shader).&lt;br /&gt;
(Ha hülyeség javítsátok. Kéne egyébként valami részletes leírás ezekről a lépésekről)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Képfeldolgozás section==&lt;br /&gt;
===3. Feladat===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Adott volt egy 3x3-as képrészlet, 9 pixel szürkeskálás értékekkel (8 biten ábrázolunk). 4p&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P = \left[\begin{array}{rrr} 9 &amp;amp;amp; 9 &amp;amp;amp; 9 \\ 9 &amp;amp;amp; 9 &amp;amp;amp; 36 \\ 9 &amp;amp;amp; 9 &amp;amp;amp; 9 \\  \end{array} \right] &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;a) Lineáris szűrés 3x3-as tartományon. 2p&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mo.:&amp;#039;&amp;#039;&amp;#039; A középső pixel értékét tudjuk nyilván csak megmondani, mivel a többinek nem ismert a teljes környezete, ezt pedig egyszerű átlagolással, mégpedig &amp;lt;math&amp;gt; (8*9 + 36)/9 = 12 &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;b) Medián szűrés 3x3-as tartományra. 2p&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Mo.:&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Medián szűrés: veszzük a pixel egy adott környezetét (pl. 3x3) és az ebben található fényesség értékeket sorbarendezzük (ez a művelet a ranking), majd kiválasztjuk a középsőt, és ez lesz a szűrt képen a pixel értéke.&amp;lt;br&amp;gt;&lt;br /&gt;
Ez már egy kicsit trükkösebb feladat volt, itt ugyanis &amp;#039;&amp;#039;nem csak a középső pixel&amp;#039;&amp;#039; új értékét tudjuk megadni, hanem, mivel a medián szűrés sorbarendezi a pixeleket szürkeskála-érték szerint, és a középsőt választja, ezért a középső kereszt (ld. ábra) értéke tutira csupa 9-es lesz. Miért is? Mert ezeknek a környezetében már 5 db kilences van, minekután már tökmind1, milyen pixelek vannak még körülöttük, 9 lesz a sorrendben középső szürkeérték.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt; P&amp;#039; = \left[\begin{array}{rrr} 9 &amp;amp;amp; \underline{9} &amp;amp;amp; 9 \\ \underline{9} &amp;amp;amp; \underline{9} &amp;amp;amp; \underline{9} \\ 9 &amp;amp;amp; \underline{9} &amp;amp;amp; 9 \\  \end{array} \right] &amp;lt;/math&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===4. Feladat===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Adott egy kép, amelyre meg kell mondani, milyen képfeldolgozási műveleteket végeztek el rajta. 4p&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Itt valamiféle felismerhető tulajdonságok alapján kellett rávillantani a megoldást, ha jól emlékszem adaptív vágás volt.. látható volt rajta, hogy a sötét és világos részek jól elkülönülnek, kiemelkednek, viszont élkiemelés nem lehetett, mivel a nagy valószínűséggel homogén részletek továbbra is &amp;quot;pettyesek&amp;quot; maradtak, és elég zajos volt a kép..&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- [[LiFeX|LiFeX]] - 2007.01.08.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoalap]]&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>