<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://vik.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Makkos+Bence</id>
	<title>VIK Wiki - Felhasználó közreműködései [hu]</title>
	<link rel="self" type="application/atom+xml" href="https://vik.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Makkos+Bence"/>
	<link rel="alternate" type="text/html" href="https://vik.wiki/Speci%C3%A1lis:Szerkeszt%C5%91_k%C3%B6zrem%C5%B1k%C3%B6d%C3%A9sei/Makkos_Bence"/>
	<updated>2026-04-20T07:48:10Z</updated>
	<subtitle>Felhasználó közreműködései</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://vik.wiki/index.php?title=GrafikaGyakorloAnalitikusGeometria&amp;diff=189163</id>
		<title>GrafikaGyakorloAnalitikusGeometria</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=GrafikaGyakorloAnalitikusGeometria&amp;diff=189163"/>
		<updated>2016-05-17T09:20:26Z</updated>

		<summary type="html">&lt;p&gt;Makkos Bence: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{GlobalTemplate|Infoalap|GrafikaGyakorloAnalitikusGeometria}}&lt;br /&gt;
&lt;br /&gt;
===Mintakérdések a Számítógépes grafika és képfeldolgozás tárgy vizsgájára való felkészüléshez===&lt;br /&gt;
&lt;br /&gt;
====Analitikus geometria====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Írja fel azon művelet mátrixát, amely egy ax+by+cz+d=0 egyenletű síkra merőlegesen vetít.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A sík normálvektora: &amp;lt;math&amp;gt;\underline{n} = (a, b, c)&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{p}&amp;lt;/math&amp;gt; a pont, amit vetíteni akarunk. Írjuk fel a &amp;lt;math&amp;gt;\underline{p}&amp;lt;/math&amp;gt; pontból induló síkra merőleges egyenes egyenletét: &amp;lt;math&amp;gt;\underline{p}- q\underline{n}&amp;lt;/math&amp;gt; Megkaphatjuk a sík és az egyenes metszéspontját, ha a következő egyenletet megoldjuk &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt;-ra: &amp;lt;math&amp;gt;a(p_{x}-qa)+b(p_{y}-qb)+c(p_{y}-qc)+d=0&amp;lt;/math&amp;gt; Majd a &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt;-t visszaírva az egyenes egyenletébe megkaphatjuk a metszéspontot. Most, hogy megvan a &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt;, hogyan írjuk fel a vetítés mátrixát? Tudjuk, hogy: &amp;lt;math&amp;gt;(p_{x}, p_{y}, p_{z}, 1)*\underline{\underline{T}} = (p_{x}-qa, p_{y}-qb, p_{y}-qc, 1)&amp;lt;/math&amp;gt; Most már csak ki kell találni a mátrix elemeit, hogy az egyenlet két oldala megegyezzen.&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T = \left[\begin{array}{cccc}&lt;br /&gt;
1-\frac{a^2}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-a\cdot b}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-a \cdot c}{(a^2 + b^2 + c^2)} &amp;amp; 0\\&lt;br /&gt;
\frac{-a \cdot b}{(a^2 + b^2 + c^2)} &amp;amp; 1-\frac{b^2}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-b \cdot c}{(a^2 + b^2 + c^2)} &amp;amp; 0\\&lt;br /&gt;
\frac{-a \cdot c}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-b \cdot c}{(a^2 + b^2 + c^2)} &amp;amp; 1-\frac{c^2}{(a^2 + b^2 + c^2)} &amp;amp; 0 \\&lt;br /&gt;
\frac{-ad}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-bd}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-cd}{(a^2 + b^2 + c^2)} &amp;amp; 1&lt;br /&gt;
\end{array}&lt;br /&gt;
\right]&lt;br /&gt;
&amp;lt;/math&amp;gt; -- [[PaleszA|Pálesz]] - 2007.10.27.&lt;br /&gt;
* Megjegyzés: az &amp;lt;math&amp;gt; a^2+b^2+c^2 &amp;lt;/math&amp;gt; nevező nem hagyható el, ugyanis itt &amp;quot;kívülről&amp;quot; kapjuk a, b, c értékét, tehát nem tehetjük fel, hogy az (a, b, c) vektor egységnyi hosszú.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;2. Bizonyítsa be, hogy a projektív sík egyenesének AX+BY+ch=0 egyenlete összhangban van a projektív geometria azon axiómáival, hogy &amp;quot;két különböző egyenes egy pontban metszi egymást&amp;quot;, és hogy &amp;quot;két pont meghatároz egy egyenest&amp;quot;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Egy A, B, c hármas akkor határoz meg egy projektív egyenest, ha legalább az egyik nem nulla, két ilyen hármas pedig akkor határoz meg két különböző egyenest, ha az egyik nem áll elő a másik konstansszorosaként. Ez a két feltétel pontosan azt jelenti, hogy az &amp;lt;math&amp;gt; \underline{\underline{F}}=\left[\begin{array}{rrr} A_1 &amp;amp; B_1 &amp;amp; c_1 \\ A_2 &amp;amp; B_2 &amp;amp; c_2 \end{array}\right] &amp;lt;/math&amp;gt; mátrix rangja 2. Ekkor az &amp;lt;math&amp;gt; \underline{\underline{F}}\cdot (X, Y, h)^T=(0, 0) &amp;lt;/math&amp;gt; egyenletnek végtelen sok megoldása lesz (tehát lesz nem csupa nullából álló, valódi projektív pontot kijelölő megoldás), viszont bármely két megoldás egymásnak a konstansszorosa lesz, tehát ugyanazt a projektív síkbeli pontot jelenti. Tehát pontosan egy pont van rajta mindkét egyenesen.&lt;br /&gt;
* A projektív síkban teljes dualitás van az egyenesek és a pontok között; ugyanezt a bizonyítás a másik állításra is működik, az &amp;lt;math&amp;gt; (A, B, c) \Leftrightarrow (X, Y, h) &amp;lt;/math&amp;gt; felcseréléssel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3. Írja fel három pontra illeszkedő sík egyenletét az euklideszi és a projektív térben.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Euklideszi térben: ismerjük a sík 3 pontját: &amp;lt;math&amp;gt;\underline{p_{1}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{p_{2}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{p_{3}}&amp;lt;/math&amp;gt;, tehát ismerünk 2 vektort, ami a síkon van: &amp;lt;math&amp;gt;\underline{p_{2}} - \underline{p_{1}}&amp;lt;/math&amp;gt; és &amp;lt;math&amp;gt;\underline{p_{3}} - \underline{p_{1}}&amp;lt;/math&amp;gt; Ezeket össze keresztelve megkapjuk a sík normál vektorát: &amp;lt;math&amp;gt;\underline{n} = (\underline{p_{2}} - \underline{p_{1}}) \times (\underline{p_{3}} - \underline{p_{1}}) &amp;lt;/math&amp;gt; A sík egyenlete: &amp;lt;math&amp;gt;\underline{n} \cdot (\underline{r} - \underline{r_{0}}) = 0&amp;lt;/math&amp;gt;, behelyettesítve: &amp;lt;math&amp;gt;((\underline{p_{2}} - \underline{p_{1}}) \times (\underline{p_{3}} - \underline{p_{1}})) \cdot (\underline{r} - \underline{p_{1}}) = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
* Projektív térben: először is, írjuk át az euklideszi térben érvényes egyenletet, hogy vektorok helyett a vektorok x, y, z komponensei szerepeljenek benne: &amp;lt;math&amp;gt; det \left[\begin{array}{ccc} x-x_1 &amp;amp; y-y_1 &amp;amp; z-z_1 \\ x_2-x_1 &amp;amp; y_2-y_1 &amp;amp; z_2-z_1 \\ x_3-x_1 &amp;amp; y_3-y_1 &amp;amp; z_3-z_1\end{array}\right]=0 &amp;lt;/math&amp;gt; ugyanis fent a &amp;lt;math&amp;gt; \underline{p_{2}} - \underline{p_{1}} &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \underline{p_{3}} - \underline{p_{1}} &amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt; \underline{r} - \underline{p_{1}} &amp;lt;/math&amp;gt; vektorok vegyes szorzata szerepel, az pedig pont a vektorok komponenseiből felírt mátrix determinánsa. Ezután, a sík egyenletének másik levezetéséhez hasonlóan, x-et x/h-val, stb. helyettesítjük: &amp;lt;math&amp;gt; det \left[\begin{array}{ccc} x/h-x_1/h_1 &amp;amp; y/h-y_1/h_1 &amp;amp; z/h-z_1/h_1 \\ x_2/h_2-x_1/h_1 &amp;amp; y_2/h_2-y_1/h_1 &amp;amp; z_2/h_2-z_1/h_1 \\ x_3/h_3-x_1/h_1 &amp;amp; y_3/h_3-y_1/h_1 &amp;amp; z_3/h_3-z_1/h_1\end{array}\right]=0 &amp;lt;/math&amp;gt; majd (felhasználva, hogy a mátrix egy sorát konstanssal szorozva a determináns is ugyanazzal szorzódik) beszorozzuk mindegyik sort, hogy eltüntessük a törteket (az első sort &amp;lt;math&amp;gt; hh_1 &amp;lt;/math&amp;gt;-gyel, stb.): &amp;lt;math&amp;gt; det \left[\begin{array}{ccc} xh_1-x_1h &amp;amp; yh_1-y_1h &amp;amp; zh_1-z_1h \\ x_2h_1-x_1h_2 &amp;amp; y_2h_1-y_1h_2 &amp;amp; z_2h_1-z_1h_2 \\ x_3h_1-x_1h_3 &amp;amp; y_3h_1-y_1h_3 &amp;amp; z_3h_1-z_1h_3\end{array}\right]=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Triple_product#Properties Wikipédia: vegyes szorzat]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4. Bizonyítsa be, hogy a homogén lineáris transzformációk a konvex kombinációkat konvex kombinációkká képezik le.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Nem tudom, jól értettem-e a feladatot, de: konvex kombinációnak az olyan lineáris kombinációt hívják, ahol mindegyik együttható 0 és 1 között van, és az együtthatók összege 1 (ugyanis egy konvex sokszög csúcsvektorainak konvex kombinációiként a sokszög minden pontja előáll, és csak azok). Mivel a lineáris transzformációk pontosan azzal a tulajdonsággal rendelkeznek, hogy a lineáris kombinációkat azonos lineáris kombinációkba viszik, ezért az állítás nyilvánvaló.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Convex_combination Wikipédia: konvex kombináció]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5. Írja fel azon síkpontok mértani helyének egyenletét, amelyek egy egyenestől és egy ponttól ugyanolyan távolságra vannak. Milyen alakzat ez? Terjessze ki az alakzatot a projektív síkra. Mik az ideális pontjai?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Úgy vesszük fel a koordinátarendszert, hogy a pont a (0, 0.25) legyen, az egyenes pedig az y=-0.25 egyenes. Ekkor a ponttól való távolság négyzete egyenlő az egyenestől vett távolság négyzetével: &amp;lt;math&amp;gt; (x-0)^2+(y-0.25)^2=(y-(-0.25))^2 &amp;lt;/math&amp;gt; A zárójeleket felbontva és rendezve: &amp;lt;math&amp;gt; x^2=y &amp;lt;/math&amp;gt;, tehát ez az alakzat a parabola.&lt;br /&gt;
* A projektív síkra kiterjesztve, az egyenes egyenletéhez hasonló módszerrel: &amp;lt;math&amp;gt; \left(\frac{x}{h}\right)^2=\frac{y}{h} &amp;lt;/math&amp;gt;, átrendezve: &amp;lt;math&amp;gt; x^2=yh &amp;lt;/math&amp;gt;, így a parabolán egy ideális pont van, az x=0, h=0.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Parabola Wikipédia: parabola]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6. Írjon C függvényt, amely egy egyenes és egy pont távolságát kiszámítja.&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{p_{1}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{p_{2}}&amp;lt;/math&amp;gt; egyenes 2 pontja&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{p}&amp;lt;/math&amp;gt; a pont&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{v} = \underline{p_{2}} - \underline{p_{1}}&amp;lt;/math&amp;gt; egyenes irány vektora&lt;br /&gt;
&amp;lt;math&amp;gt; d = \frac{\left| (\underline{p} - \underline{p_{1}}) \times \underline{v} \right|}{\left| v \right|} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
float distanceLinePoint(float x1, float y1, float z1,&lt;br /&gt;
								float x2, float y2, float z2,&lt;br /&gt;
								float px, float py, float pz)&lt;br /&gt;
{&lt;br /&gt;
	 //egyenes irányvektora&lt;br /&gt;
	 float vx = x2 - x1,&lt;br /&gt;
			 vy = y2 - y1,&lt;br /&gt;
			 vz = z2 - z1;&lt;br /&gt;
	 //irányvektor nagysága&lt;br /&gt;
	 float v = sqrt(vx*vx + vy*vy + vz*vz);&lt;br /&gt;
	 //irányvektor normalizálása&lt;br /&gt;
	 vx /= v;	 vy /= v;	 vz /= v;&lt;br /&gt;
&lt;br /&gt;
	 //pont - egyenes első pontja közötti vektor&lt;br /&gt;
	 float qx = px - x1,&lt;br /&gt;
			 qy = py - y1,&lt;br /&gt;
			 qz = pz - z1;&lt;br /&gt;
&lt;br /&gt;
	 //r = q (kereszt) v = |q|*|v|*sin(alpha)&lt;br /&gt;
	 //v-t normalizáltuk, ezért az 1, nem kell osztani&lt;br /&gt;
	 float rx = qy*vz - vy*qz,&lt;br /&gt;
			 ry = vx*qz - qx*vz,&lt;br /&gt;
			 rz = qx*vy - qy*vx;&lt;br /&gt;
&lt;br /&gt;
	 //r vektor nagysága&lt;br /&gt;
	 return sqrt(rx*rx + ry*ry + rz*rz);&lt;br /&gt;
	 &lt;br /&gt;
	 /*Másik megoldás:&lt;br /&gt;
	 q vektor skalárisan szorozva v-vel, így megvan az egyenesre&lt;br /&gt;
	 vetített q vektor nagysága. Ezt összeszorozva v-vel, és  hozzáadva&lt;br /&gt;
	 az egyenes első pontjához, megvan az egyenesre vetített pont.&lt;br /&gt;
	 Innen d = a 2 pont távolsága.*/&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7. Írjon C függvényt, amely két térbeli egyenes távolságát kiszámítja.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Legyenek az egyenesek kezdőpontjai az &amp;lt;math&amp;gt; \underline{a}_1,\; \underline{a}_2 &amp;lt;/math&amp;gt; vektorok, az irányvektoraik pedig &amp;lt;math&amp;gt; \underline{d}_1,\; \underline{d}_2 &amp;lt;/math&amp;gt;. Vegyünk fel mindkét egyenesen egy-egy pontot, úgy, hogy a lehető legközelebb legyenek egymáshoz; a távolságuk egyenlő lesz az egyenesek távolságával. Legyen &amp;lt;math&amp;gt; \underline{n}=\frac{\underline{d}_1 \times \underline{d}_2}{|d_1 \times d_2|} &amp;lt;/math&amp;gt; egy mindkét egyenesre merőleges egységvektor. Erre vetítve bármely, az egyenesek pontjait összekötő szakaszt, legalább &amp;lt;math&amp;gt; |\underline{n}(a_1-a_2)| &amp;lt;/math&amp;gt; lesz a vetület hossza, tehát bármely szakasz is legalább ilyen hosszú. (Ilyen hosszú szakasz elő is állítható.)&lt;br /&gt;
* Párhuzamos egyeneseknél máshogy kell számolni: ekkor egyszerűen a két kezdőpont különbségének az irányvektorokra merőleges komponensének abszolútértéke a távolság.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
float lineDistance(Vector a1, Vector a2, Vector d1, Vector d2) {&lt;br /&gt;
  Vector adiff=vectSub(a1, a2);&lt;br /&gt;
  Vector n=crossProduct(d1, d2);&lt;br /&gt;
  float temp;&lt;br /&gt;
  if (vectAbs(n)==0) {&lt;br /&gt;
	 normalize(&amp;amp;d1);&lt;br /&gt;
	 temp=dotProduct(adiff, d1);&lt;br /&gt;
	 return sqrt(vectAbs(adiff)*vectAbs(adiff)-temp*temp);&lt;br /&gt;
  } else {&lt;br /&gt;
	 normalize(&amp;amp;n);&lt;br /&gt;
	 return fabs(dotProduct(n, adiff));&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8. Írjon C függvényt, amely egy implicit egyenletével adott egyenes, és két végpontjával adott szakasz metszéspontját kiszámítja.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9. Írja fel a projektív sík egyeneseinek implicit (azaz nem paraméteres) egyenletét homogén koordinátákban. Bizonyítsa be, hogy a sík minden invertálható homogén lineáris transzformációja ezt az egyenest egyenesre képezi le. Melyek azok a transzformációk, amelyek az egyenest önmagára képezik le? Mi történik az egyenes normálvektorával?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10. Lehet-e egy affin - azaz párhuzamos egyeneseket párhuzamos egyenesekbe leképző - transzformáció mátrixának negyedik oszlopa [0, 0, 0, 2]?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Az egységmátrix &amp;amp;lambda;-szorosa az (x, y, z, h) homogén koordinátás pontot a (&amp;amp;lambda;x, &amp;amp;lambda;y, &amp;amp;lambda;z, &amp;amp;lambda;h) pontba viszi, azaz helyben hagyja. A helyben hagyás egy affin transzformáció, és &amp;amp;lambda;=2-re a mátrix negyedik oszlopa pont (0, 0, 0, 2) lesz. -- [[PallosPeter|Peti]] - 2007.10.27.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11. A projektív tér síkjainak homogén lineáris transzformációi. A projektív tér síkjának egyenlete. A transzformáció mibe viszi át a síkot (feltételezheti, hogy a transzformációs mátrix invertálható), bizonyítás. Mi történik a sík normálvektorával? Mi ennek a következménye az [[OpenGL]] működésére?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12. Tekintsük a projektív térben a [1, 2, 3, 4] és [-4,-3,-2,-1] homogén koordinátákkal azonosított végpontok konvex kombinációiként előálló szakaszt! Mekkora a szakasz hossza?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;13. Írja fel azon homogén lineáris transzformáció mátrixát, amely egy síkbeli pontot az xc, yc vetítési középponttal az ax+by+c=0 egyenletű egyenesre vetít.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;14. Tekintsük a következő homogén lineáris transzformációs mátrixot (a transzformálandó pontot a mátrix bal oldalára kell írni):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;math&amp;gt; \left[ \begin{array}{rrr} 1 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 \end{array} \right] &amp;lt;/math&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mit csinál a transzformáció? Mi keletkezik a transzformáció után a [2, 1] és [-1, 1]  pontokat összekötő szakaszból?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;15. Adott a következő homogén lineáris transzformáció (a transzformálandó pont helyvektorát sorvektornak kell tekinteni):&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;math&amp;gt; \left[ \begin{array}{rrrr} 8 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 6 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 4 &amp;amp; 0 \\ 8 &amp;amp; 6 &amp;amp; 4 &amp;amp; 2 \end{array} \right] &amp;lt;/math&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Adja meg azon ponthalmaz egyenletét, amelyre ez a transzformáció a 8x+6y+8z + 6 = 0 egyenletet kielégítő ponthalmazt leképezi! Először írja le a megoldás menetét, azután végezze el a szükséges számításokat.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;16. Adott két pont Descartes koordinátákkal: (3,6), (-2,5). Adja meg erre a két pontra illeszkedő egyenes ideális pontját homogén koordinátákban!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;17. Bizonyítsa be, hogy ha egy invertálható transzformációs mátrix 4. oszlopa [0, 0, 0, 1], akkor a transzformáció affin, azaz párhuzamos egyeneseket párhuzamos egyenesekre képez le (a transzformálandó pont homogén koordinátáit sorvektornak tekintjük és a mátrixszal jobbról szorozzuk)!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;18. Írja fel a 3D projektív tér összes ideális síkjának és ideális egyenesének egyenletét (az ideális térelem csak ideális pontokat tartalmaz). Hány ideális sík és egyenes van?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;19. Írja fel a projektív sík egy körének egyenletét! Mi lesz abból a körből, amelynek középpontja egy ideális ponton van? Segítség: a kör egyenlete homogén koordinátákban annak analógiájára, ahogyan az egyenes egyenletét a síkban, és a sík egyenletét a térben bevezettük.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A kör egyenlete euklideszi síkon: &amp;lt;math&amp;gt; (x-x_0)^2+(y-y_0)^2-r^2=0 &amp;lt;/math&amp;gt; Amit itt a pont x koordinátájának nevezetünk, azt a projektív síkon úgy lehet kiszámítani, hogy az x koordinátát h-val leosztjuk (homogén osztás). Legyen a pont (aminek a körön lévőségét el akarjuk dönteni) negyedik koordinátája h, a középponté &amp;lt;math&amp;gt; h_0 &amp;lt;/math&amp;gt;. Ekkor a projektív síkon az egyenlet: &amp;lt;math&amp;gt; (\frac{x}{h}-\frac{x_0}{h_0})^2+(\frac{y}{h}-\frac{y_0}{h_0})^2-r^2=0 &amp;lt;/math&amp;gt; beszorozva &amp;lt;math&amp;gt; hh_0 &amp;lt;/math&amp;gt;-lal, hogy ne legyen benne tört: &amp;lt;math&amp;gt; (xh_0-x_0h)^2+(yh_0-y_0h)^2-r^2h^2h_0^2=0 &amp;lt;/math&amp;gt;&lt;br /&gt;
* Ha a középpont az ideális egyenesen van, akkor &amp;lt;math&amp;gt; h_0=0 &amp;lt;/math&amp;gt;, ezt behelyettesítve: &amp;lt;math&amp;gt; (x_0^2+y_0^2)h^2=0 &amp;lt;/math&amp;gt; Mivel egy pontnak nem lehet mindhárom koordinátája nulla, ezért nem lehet &amp;lt;math&amp;gt; x_0,\; y_0 &amp;lt;/math&amp;gt; közül mindkettő nulla, tehát a négyzetösszegük sem, így h-nak kell nullának lennie. Tehát ha egy kör középpontja az ideális egyenesen van, akkor a kör az ideális egyenes lesz. (Igen, a projektív síkon van értelme annak, hogy a kör egy egyenes lesz.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;20. Tekintsük a projektív tér [a, b, c, d] homogén négyessel megadott síkját. Írja fel ezen sík ideális egyenesének paraméteres egyenletét!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;21. Írjon C++ függvényt, amely a bemeneti paraméteréül a projektív sík két egyenesét kapja, kiszámítja a két egyenes metszéspontját, a metszéspontot vetíti az origó középpontú, egység sugarú körre, és a vetület Descartes koordinátáit adja vissza.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;22. Adott a következő &amp;lt;math&amp;gt; r \rightarrow r^\prime &amp;lt;/math&amp;gt; 2D transzformáció, ahol r, r&#039;; és a, b, c a sík vektorai: &amp;lt;math&amp;gt; r^\prime = \left[\frac{a\cdot r}{c\cdot r}, \frac{b\cdot r}{c\cdot r}\right] &amp;lt;/math&amp;gt; Mibe vihet át ez a transzformáció egy szakaszt?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* A feladatban nagyon lényeges pont, hogy a két tört nevezője azonos. Ugyanis, ha áttérünk (kétdimenziós) homogén koordinátákra, akkor az &amp;lt;math&amp;gt; r^\prime &amp;lt;/math&amp;gt; vektort felírhatjuk a következőképp is: &amp;lt;math&amp;gt; r^\prime = \left[ \frac{a\cdot r}{c\cdot r}, \frac{b\cdot r}{c\cdot r}, 1 \right] = \left[ a\cdot r, b\cdot r, c\cdot r \right] &amp;lt;/math&amp;gt; ahol a harmadik elem a w homogén koordináta. Ezt pedig - felhasználva az a, b, c vektorok x és y komponenseit - mátrixos alakba írhatjuk: &amp;lt;math&amp;gt; \left[ \begin{array}{r} r_x^\prime \\ r_y^\prime \\ r_w^\prime \end{array} \right] = \left[ \begin{array}{rrr} a_x &amp;amp; a_y &amp;amp; 0 \\ b_x &amp;amp; b_y &amp;amp; 0 \\ c_x &amp;amp; c_y &amp;amp; 0 \end{array} \right] \left[ \begin{array}{r} r_x \\ r_y \\ 1 \end{array} \right] &amp;lt;/math&amp;gt;&lt;br /&gt;
* A fenti transzformáció tehát nem más, mint egy kétdimenziós projekció. Ez egyenest egyenesbe visz, viszont szakaszok esetében bonyolultabb a helyzet. Végig lehet gondolni, hogy - attól függően, a szakasz valamelyik pontja ideális pont lesz-e, vagy sem - szakasz, félegyenes, vagy &amp;quot;inverz szakasz&amp;quot; (egy egyenes, amiből egy szakasz ki van vágva) lehet a kép. Egy projektív transzformáció egyik legfontosabb jellemzője, hogy melyik egyenest viszi át az ideális egyenesbe, illetve a konkrét esetben az, hogy ez az egyenes milyen viszonyban van a szakaszunkkal:&lt;br /&gt;
** Ha az ideálisba átmenő egyenesnek nincs közös pontja a szakasszal, akkor nem történik semmi &amp;quot;különleges&amp;quot;, egy szakasz lesz a kép.&lt;br /&gt;
** Ha az egyenes a szakasz egyik végpontján átmegy, a másikon nem, akkor félegyenest kapunk.&lt;br /&gt;
** Ha a szakasz benne fekszik az egyenesben, akkor szakaszt kapunk, csakhogy az ideális egyenesen.&lt;br /&gt;
** Ha az egyenes a szakaszt belső pontjában metszi, akkor &amp;quot;inverz szakaszt&amp;quot; kapunk.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;23. Adott a következő &amp;lt;math&amp;gt; r \rightarrow r^\prime &amp;lt;/math&amp;gt; 2D transzformáció, ahol r, r&#039; és b a sík vektorai: &amp;lt;math&amp;gt; r^\prime = \frac{r}{\left| r \right|} + b &amp;lt;/math&amp;gt; A képletben &amp;lt;math&amp;gt; \left| r \right| &amp;lt;/math&amp;gt; az r vektor abszolútértékét jelenti. Mibe vihet át ez a transzformáció egy szakaszt?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Az első lépésben a vektort osztjuk a saját abszolút értékével. Könnyen látható, hogy ez nem más, mint az origó körüli egységsugarú körre való vetítés (középpontosan, az origóból). Ez általában egy körívet eredményez, kivéve két speciális esetet: ha a szakasz egyenese átmegy az origón, de az origó nincs a szakaszban, akkor egyetlen pont (&amp;quot;nulla hosszú körív&amp;quot;) lesz az eredmény. Ha viszont az origó benne van a szakaszban, akkor két, a körön átellenesen elhelyezkedő pont lesz az eredmény.&lt;br /&gt;
* A második lépésben csak egy eltolást végzünk, ami a fenti alakzatok alakját nem változtatja meg.&lt;br /&gt;
&lt;br /&gt;
-- [[KisGergelyG|G]] - 2008.12.25.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoalap]]&lt;/div&gt;</summary>
		<author><name>Makkos Bence</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=A_grafkerdes.doc_feladatai&amp;diff=189109</id>
		<title>A grafkerdes.doc feladatai</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=A_grafkerdes.doc_feladatai&amp;diff=189109"/>
		<updated>2016-05-12T11:33:02Z</updated>

		<summary type="html">&lt;p&gt;Makkos Bence: /* Megoldás */ törött link javítása&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{GlobalTemplate|Infoalap|SzgGrafFeladatok}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Letöltés itt: [http://www.iit.bme.hu/~szirmay/grafika/grafkerdes.doc grafkerdes.doc]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Megjegyzés: elkezdtem tömörebben formázva, témakörökre vágva beírni a feladatokat, itt:&#039;&#039;&lt;br /&gt;
* [[GrafikaGyakorloAnalitikusGeometria|Gyakorlófeladatok: analitikus geometria]]&lt;br /&gt;
* [[GrafikaGyakorloGeometriaiModellezes|Gyakorlófeladatok: geometriai modellezés]]&lt;br /&gt;
* [[GrafikaGyakorlo2DKepszintezis|Gyakorlófeladatok: 2D képszintézis]]&lt;br /&gt;
* [[GrafikaGyakorloIlluminacio|Gyakorlófeladatok: illumináció]]&lt;br /&gt;
* [[GrafikaGyakorloSugarkovetes|Gyakorlófeladatok: sugárkövetés]]&lt;br /&gt;
* [[GrafikaGyakorloInkrementalisKepszintezis|Gyakorlófeladatok: inkrementális képszintézis]]&lt;br /&gt;
* [[GrafikaGyakorloOpenGL_Cg|Gyakorlófeladatok: OpenGL, Cg nyelv]]&lt;br /&gt;
* [[GrafikaGyakorloGlobalisIlluminacio|Gyakorlófeladatok: globális illumináció]]&lt;br /&gt;
* [[GrafikaGyakorloTerfogatVizualizacio|Gyakorlófeladatok: térfogat vizualizáció]]&lt;br /&gt;
* [[GrafikaGyakorloAnimacio|Gyakorlófeladatok: animáció]]&lt;br /&gt;
* [[GrafikaGyakorloFraktalok|Gyakorlófeladatok: fraktálok]]&lt;br /&gt;
&#039;&#039;Az itt lévő kidolgozásokat letisztázva majd áttöltöm az új lapokra, és itt csak az al-lapokra mutató linkek maradnak.&#039;&#039;&lt;br /&gt;
-- [[KisGergelyG|G]] - 2008.12.25.&lt;br /&gt;
&lt;br /&gt;
==Analitikus geometria==&lt;br /&gt;
&lt;br /&gt;
===1. feladat===&lt;br /&gt;
Írja fel azon művelet mátrixát, amely egy ax+by+cz+d=0 egyenletű síkra merőlegesen vetít.&lt;br /&gt;
----&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T = \underline{v} - (\underline{v}\cdot\underline{n})\cdot\underline{n} = \left[\begin{array}{cccc}&lt;br /&gt;
1-a^2 &amp;amp; -a\cdot b &amp;amp; -a \cdot c &amp;amp; 0\\&lt;br /&gt;
-a \cdot b &amp;amp; 1-b^2 &amp;amp; -b \cdot c &amp;amp; 0\\&lt;br /&gt;
-a \cdot c &amp;amp; -b \cdot c &amp;amp; 1-c^2 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; d&lt;br /&gt;
\end{array}&lt;br /&gt;
\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Nem tudom, hogy a fenti megoldás hogyan jött ki, én a következőt kaptam:&lt;br /&gt;
&lt;br /&gt;
A sík normálvektora: &amp;lt;math&amp;gt;\underline{n} = (a, b, c)&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underline{p}&amp;lt;/math&amp;gt; a pont, amit vetíteni akarunk.&lt;br /&gt;
&lt;br /&gt;
írjuk fel a &amp;lt;math&amp;gt;\underline{p}&amp;lt;/math&amp;gt; pontból induló síkra merőleges egyenes egyenletét: &amp;lt;math&amp;gt;\underline{p}- q\underline{n}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Megkaphatjuk a sík és az egyenes metszéspontját, ha a következő egyenletet megoldjuk &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt;-ra:&lt;br /&gt;
&amp;lt;math&amp;gt;a(p_{x}-qa)+b(p_{y}-qb)+c(p_{z}-qc)+d=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Majd a &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt;-t visszaírva az egyenes egyenletébe megkaphatjuk a metszéspontot.&lt;br /&gt;
&lt;br /&gt;
Most, hogy megvan a &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt;, hogyan írjuk fel a vetítés mátrixát?&lt;br /&gt;
&lt;br /&gt;
Tudjuk, hogy: &amp;lt;math&amp;gt;(p_{x}, p_{y}, p_{z}, 1)*\underline{\underline{T}} = (p_{x}-qa, p_{y}-qb, p_{z}-qc, 1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most már csak ki kell találni a mátrix elemeit, hogy az egyenlet két oldala megegyezzen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T = \left[\begin{array}{cccc}&lt;br /&gt;
1-\frac{a^2}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-a\cdot b}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-a \cdot c}{(a^2 + b^2 + c^2)} &amp;amp; 0\\&lt;br /&gt;
\frac{-a \cdot b}{(a^2 + b^2 + c^2)} &amp;amp; 1-\frac{b^2}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-b \cdot c}{(a^2 + b^2 + c^2)} &amp;amp; 0\\&lt;br /&gt;
\frac{-a \cdot c}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-b \cdot c}{(a^2 + b^2 + c^2)} &amp;amp; 1-\frac{c^2}{(a^2 + b^2 + c^2)} &amp;amp; 0 \\&lt;br /&gt;
\frac{-ad}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-bd}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-cd}{(a^2 + b^2 + c^2)} &amp;amp; 1&lt;br /&gt;
\end{array}&lt;br /&gt;
\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ha valaki tudja, hogy esetleg miért nem jó ez a megoldás, akkor írja meg ide, thx.&lt;br /&gt;
-- [[PaleszA|Pálesz]] - 2007.10.27.&lt;br /&gt;
&lt;br /&gt;
A Pálesz-mátrix elemeiben az &amp;lt;math&amp;gt;a^2+b^2+c^2&amp;lt;/math&amp;gt; nevező elhagyható, ugyanis ez megegyezik az &amp;lt;math&amp;gt;\underline{n}&amp;lt;/math&amp;gt; normálvektor hosszával, amit egységnyire választunk.&lt;br /&gt;
-- [[RebeliSzaboTamas|toma]] - 2007.10.28.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===3. feladat===&lt;br /&gt;
Írja fel három pontra illeszkedő sík egyenletét az euklideszi és a projektív térben.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&#039;&#039;&#039;Euklideszi térben&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ismerjük a sík 3 pontját: &amp;lt;math&amp;gt;\underline{p_{1}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{p_{2}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{p_{3}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehát ismerünk 2 vektort, ami a síkon van: &amp;lt;math&amp;gt;\underline{p_{2}} - \underline{p_{1}}&amp;lt;/math&amp;gt; és &amp;lt;math&amp;gt;\underline{p_{3}} - \underline{p_{1}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ezeket össze keresztelve megkapjuk a sík normál vektorát: &amp;lt;math&amp;gt;\underline{n} = (\underline{p_{2}} - \underline{p_{1}}) \times (\underline{p_{3}} - \underline{p_{1}}) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A sík egyenlete: &amp;lt;math&amp;gt;\underline{n} \cdot (\underline{r} - \underline{r_{0}}) = 0&amp;lt;/math&amp;gt;, behelyettesítve: &amp;lt;math&amp;gt;((\underline{p_{2}} - \underline{p_{1}}) \times (\underline{p_{3}} - \underline{p_{1}})) \cdot (\underline{r} - \underline{p_{1}}) = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===6. feladat===&lt;br /&gt;
Írjon C függvényt, amely egy egyenes és egy pont távolságát kiszámítja.&lt;br /&gt;
&lt;br /&gt;
Általánosan:&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{p_{1}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{p_{2}}&amp;lt;/math&amp;gt; egyenes 2 pontja&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{p}&amp;lt;/math&amp;gt; a pont&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{v} = \underline{p_{2}} - \underline{p_{1}}&amp;lt;/math&amp;gt; egyenes irány vektora&lt;br /&gt;
&amp;lt;math&amp;gt; d = \frac{\left| (\underline{p} - \underline{p_{1}}) \times \underline{v} \right|}{\left| v \right|} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
float distanceLinePoint(float x1, float y1, float z1,&lt;br /&gt;
								float x2, float y2, float z2,&lt;br /&gt;
								float px, float py, float pz)&lt;br /&gt;
{&lt;br /&gt;
	 //egyenes irányvektora&lt;br /&gt;
	 float vx = x2 - x1,&lt;br /&gt;
			 vy = y2 - y1,&lt;br /&gt;
			 vz = z2 - z1;&lt;br /&gt;
	 //irányvektor nagysága&lt;br /&gt;
	 float v = sqrt(vx*vx + vy*vy + vz*vz);&lt;br /&gt;
	 //irányvektor normalizálása&lt;br /&gt;
	 vx /= v;	 vy /= v;	 vz /= v;&lt;br /&gt;
&lt;br /&gt;
	 //pont - egyenes első pontja közötti vektor&lt;br /&gt;
	 float qx = px - x1,&lt;br /&gt;
			 qy = py - y1,&lt;br /&gt;
			 qz = pz - z1;&lt;br /&gt;
&lt;br /&gt;
	 //r = q (kereszt) v = |q|*|v|*sin(alpha)&lt;br /&gt;
	 //v-t normalizáltuk, ezért az 1, nem kell osztani&lt;br /&gt;
	 float rx = qy*vz - vy*qz,&lt;br /&gt;
			 ry = vx*qz - qx*vz,&lt;br /&gt;
			 rz = qx*vy - qy*vx;&lt;br /&gt;
&lt;br /&gt;
	 //r vektor nagysága&lt;br /&gt;
	 return sqrt(rx*rx + ry*ry + rz*rz);&lt;br /&gt;
	 &lt;br /&gt;
	 /*Másik megoldás:&lt;br /&gt;
	 q vektor skalárisan szorozva v-vel, így megvan az egyenesre&lt;br /&gt;
	 vetített q vektor nagysága. Ezt összeszorozva v-vel, és  hozzáadva&lt;br /&gt;
	 az egyenes első pontjához, megvan az egyenesre vetített pont.&lt;br /&gt;
	 Innen d = a 2 pont távolsága.*/&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===7. feladat===&lt;br /&gt;
Írjon C függvényt, amely két térbeli egyenes távolságát kiszámítja.&lt;br /&gt;
----&lt;br /&gt;
====Megoldás====&lt;br /&gt;
Általánosan:&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{p_{1}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{p_{2}}&amp;lt;/math&amp;gt; egyik egyenes pontjai&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{q_{1}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{q_{2}}&amp;lt;/math&amp;gt; másik egyenes pontjai&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{v_{1}} = \underline{p_{2}} - \underline{p_{1}}&amp;lt;/math&amp;gt; első egyenes irány vektora&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{v_{2}} = \underline{q_{2}} - \underline{q_{1}}&amp;lt;/math&amp;gt; második egyenes irány vektora&lt;br /&gt;
&amp;lt;math&amp;gt; d = \frac{\left| (\underline{p_{1}} - \underline{q_{1}}) \cdot (\underline{v_{1}} \times \underline{v_{2}}) \right|}{\left| \underline{v_{1}} \times \underline{v_{2}} \right|} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Egy kis magyarázat a fenti képlethez&#039;&#039;&#039;: Két kitérő egyenes távolságán az azokat összekötő, mindkettőre merőleges normáltranszverzális szakasz hosszát értjük. A v1 × v2 vektoriális szorzat normáltranszverzális irányú, hiszen mindkét irányvektorra merőleges vektor, osztva a hosszával, egységvektor. Ennek és a két egyenes egy-egy pontjával meghatározott (P1, Q1) reprezentánsú (q1 - p1) vektornak a skaláris szorzata éppen a (q1 - p1) vektor normáltranszverzális irányra vett merőleges vetületének hosszát adja abszolútértékben. (forrás: http://zeus.nyf.hu/~szalonta/Trigkoord06.doc)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
float distanceLineLine(float p1x, float p1y, float p1z,&lt;br /&gt;
							  float p2x, float p2y, float p2z,&lt;br /&gt;
							  float q1x, float q1y, float q1z,&lt;br /&gt;
							  float q2x, float q2y, float q2z)&lt;br /&gt;
{&lt;br /&gt;
	 //irány vektorok&lt;br /&gt;
	 float v1x = p2x - p1x,&lt;br /&gt;
			 v1y = p2y - p1y,&lt;br /&gt;
			 v1z = p2z - p1z;&lt;br /&gt;
	 float v2x = q2x - q1x,&lt;br /&gt;
			 v2y = q2y - q1y,&lt;br /&gt;
			 v2z = q2z - q1z;&lt;br /&gt;
			 &lt;br /&gt;
	 //vektorok nagysága&lt;br /&gt;
	 float v1 = sqrt(v1x*v1x + v1y*v1y + v1z*v1z), &lt;br /&gt;
			 v2 = sqrt(v2x*v2x + v2y*v2y + v2z*v2z);&lt;br /&gt;
&lt;br /&gt;
	 //normalizálás&lt;br /&gt;
	 v1x /= v1;	 v1y /= v1;	 v1z /= v1;&lt;br /&gt;
	 v2x /= v2;	 v2y /= v2;	 v2z /= v2;&lt;br /&gt;
	 &lt;br /&gt;
	 //egyenesek pontjai közötti vektor&lt;br /&gt;
	 float ex = p1x - q1x,&lt;br /&gt;
			 ey = p1y - q1y,&lt;br /&gt;
			 ez = p1z - q1z;&lt;br /&gt;
			 &lt;br /&gt;
	 if (abs(v1x) == abs(v2x) &amp;amp;&amp;amp; abs(v1y) == abs(v2y) &amp;amp;&amp;amp; abs(v1z) == abs(v2z)) {&lt;br /&gt;
		  //az egyenesek párhuzamosak, de lehet, hogy ellentétes irányuak, ezért kell abs&lt;br /&gt;
		  //a kereszt szorzat 0-t eredményezne rosszul&lt;br /&gt;
		  //mert a vektorok által bezárt szög 0, vagy 180 és sin(0) = sin(180) = 0&lt;br /&gt;
&lt;br /&gt;
		  //a távolság |e|*|v1|*sin(alpha)&lt;br /&gt;
		  //d = |e (cross) v1|&lt;br /&gt;
		  float fx = ey*v1z - v1y*ez,&lt;br /&gt;
				  fy = v1x*ez - ex*v1z,&lt;br /&gt;
				  fz = ex*v1y - ey*v1x;&lt;br /&gt;
&lt;br /&gt;
		  return sqrt(fx*fx + fy*fy + fz*fz);&lt;br /&gt;
	 } else {&lt;br /&gt;
		  //v1 (cross) v2&lt;br /&gt;
		  float wx = v1y*v2z - v2y*v1y,&lt;br /&gt;
				  wy = v2x*v1z - v1x*v2z,&lt;br /&gt;
				  wz = v1x*v2y - v1y*v2x;&lt;br /&gt;
&lt;br /&gt;
		  //e (dot) w&lt;br /&gt;
		  //v-ket normalizáltuk, nem kell leosztani&lt;br /&gt;
		  return abs(ex*wx + ey*wy + ez*wz);		  &lt;br /&gt;
	 }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ez az abs feltétel biztos? Mert sztem ez bővebb a párhuzamosságnál, pl két merőleges egyenes is lehet ilyen.&lt;br /&gt;
lásd (1,1,0) és (1,-1,0) vektorok.&lt;br /&gt;
-- [[TakoTibor|TTb]] - 2008.05.26.&lt;br /&gt;
&lt;br /&gt;
A kód megértését segítendő magyarázat: a felvázolt képlet egy elméleti koordinátageometria megoldás, a kód analógiája teljesen más. A megvalósítás kihasználja a vektoriális szorzat azon tulajdonságát, hogy két vektor vektoriális szorzata egy a két vektorra merőleges vektor lesz, melynek hossza |v1*sin(alpha). ([http://www.fsz.bme.hu/~szirmay/grafika/bmeanalgeom.ppt Szirmay - Analitikus geometria - 7.oldal]) Ami nem más, mint a v2 és v1 vektor síkján lévő v2 vektorra merőleges egyenesre vetített v1 vektor. A mi esetünkben ez pont a normáltranszverzális, melynek hossza adja a két egyenes közti távolságot.&lt;br /&gt;
-- [[EberhardtPeter|Paaci]] - 2009.01.17.&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===10. feladat===&lt;br /&gt;
Lehet-e egy affin - azaz párhuzamos egyeneseket párhuzamos egyenesekbe leképező - transzformáció mátrixának negyedik oszlopa [0, 0, 0, 2]?&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
Az egységmátrix &amp;amp;lambda;-szorosa az (x, y, z, h) homogén koordinátás pontot a (&amp;amp;lambda;x, &amp;amp;lambda;y, &amp;amp;lambda;z, &amp;amp;lambda;h) pontba viszi, azaz helyben hagyja. A helyben hagyás egy affin transzformáció, és &amp;amp;lambda;=2-re a mátrix negyedik oszlopa pont (0, 0, 0, 2) lesz. -- [[PallosPeter|Peti]] - 2007.10.27.&lt;br /&gt;
&lt;br /&gt;
=====Vita=====&lt;br /&gt;
Idézet tk. 46 oldala: &amp;quot;Az &#039;&#039;&#039;affin transzformációkban&#039;&#039;&#039; a mátrix negyedik oszlopa mindig [0,0,0,1] alakú , tehát a pont negyedik koordinátáját nem rontja el. (...) Ha a mátrix negyedik oszlopában nem ragaszkodunk a [0,0,0,1] értékekhez, akkor egy még átalánosabb transzformáció típushoz, a &#039;&#039;&#039;projektív transzformációkhoz&#039;&#039;&#039; jutunk.&amp;quot; Szóval szerintem a válasz a feladatra a &amp;quot;nem&amp;quot;.  &lt;br /&gt;
-- [[TothZs|Zsófi]] - 2007.10.28.&lt;br /&gt;
&lt;br /&gt;
Sztem a fenti megoldás helyes: adott egy példát h miért &#039;&#039;lehet&#039;&#039;. Valóban definíció szerint projektyv transzformációkat kaunk, viszont az affin is projektív, és a fenti példa arra, hogy valóban lehet affin sztem, javítsatok ki ha tévednék. -- [[TakoTibor|TTb]] - 2008.05.27.&lt;br /&gt;
&lt;br /&gt;
Sztem a mátrix így néz ki (nevezzük A-nak) : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T = \left[\begin{array}{cccc}&lt;br /&gt;
a11 &amp;amp; a12 &amp;amp; a13 &amp;amp; 0\\&lt;br /&gt;
a21 &amp;amp; a22 &amp;amp; a23 &amp;amp; 0\\&lt;br /&gt;
a31 &amp;amp; a32 &amp;amp; a33 &amp;amp; 0\\&lt;br /&gt;
a41 &amp;amp; a42 &amp;amp; a43 &amp;amp; 2\\&lt;br /&gt;
\end{array}&lt;br /&gt;
\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Ez annyiban különbözik egy általánosan megszokott affin transzformációs mátrixtól, hogy az a44 eleme 2 és nem 1 (nevezzük 1-essel A&#039;-nek). Ha meggondoljuk ez nem baj, mert annyi változást okoz A az A&#039;-höz képest, hogy (x, y, z, 1) helyett (x, y, z, 2)-t kapunk, ami pont egy 1/2-szeres nagyítást jelent (hiszen ha leosztjuk a pont koordinátáit 2-vel, akkor ezt kapjuk : (x/2, y/2, z/2, 1), és az x, y és z helyen a Descartes-koordinátáknak megfelelő pontot kapjuk(ha a 4. koordináta (h) 1)). A könyvből vett idézetet ellenőriztem, valóban így szerepelt, és ez nem pontos megfogalmazás. &lt;br /&gt;
Szerintem a [0, 0, 0, 1] helyett [0, 0, 0, &amp;amp;lambda;], &amp;amp;lambda; &amp;amp;ne; 0 a helyes kifejezés.&lt;br /&gt;
-- [[ProdanovMitko|k317h]] - 2009.06.07.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===13. feladat===&lt;br /&gt;
Írja fel azon homogén lineáris transzformáció mátrixát, amely egy síkbeli pontot az  xc, yc vetítési középponttal az ax+by+c=0 egyenletű egyenesre vetít.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&amp;lt;math&amp;gt;T = \left(&lt;br /&gt;
\begin{array}{ccc}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; \frac{1}{c} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{array}&lt;br /&gt;
\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Javítás:=====&lt;br /&gt;
Ez az y = c egyenletű egyenesre origó középponttal vetítő mátrix. A megoldás alapja a bmetransf slideshow 20. slide-ja:&lt;br /&gt;
ax + by = 1 egyenletű egyenesre origó középpontú vetítés esetén a mátrix:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T = \left(&lt;br /&gt;
\begin{array}{ccc}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; a \\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; b \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{array}&lt;br /&gt;
\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ehhez képest az ax + by + c = 0 egyenlet helyett írhatjuk azt, hogy ax + by = 1-c, és akkor az előzőhöz hasonló egyenletet kapunk. Rátolunk egy (1-c)-vel skálázást a mátrixra: ax és by összege ez esetben nem 1, hanem annak (1-c)-szerese. Az y=c egyenesre való vetítéshez hasonlóan ez itt egy (1-c)-vel való osztásként jelenik meg a mátrix harmadik oszlopában. Mivel nem az origó a középpont, ezért még el is kell tolni az egészet (xc, yc)-vel, így a keresett mátrix:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T = \left(&lt;br /&gt;
\begin{array}{ccc}&lt;br /&gt;
1-c &amp;amp; 0 &amp;amp; a \\&lt;br /&gt;
0 &amp;amp; 1-c &amp;amp; b \\&lt;br /&gt;
xc &amp;amp; yc &amp;amp; 0 \\&lt;br /&gt;
\end{array}&lt;br /&gt;
\right)&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt;T = \left(&lt;br /&gt;
\begin{array}{ccc}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; \frac{a}{1-c} \\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; \frac{b}{1-c} \\&lt;br /&gt;
xc &amp;amp; yc &amp;amp; 0 \\&lt;br /&gt;
\end{array}&lt;br /&gt;
\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[GurmaiGergely|Gergő]] -- 2007.11.29.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===14. feladat===&lt;br /&gt;
Tekintsük a következő homogén lineáris transzformációs mátrixot (a transzformálandó pontot a mátrix bal oldalára kell írni):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left(&lt;br /&gt;
\begin{array}{ccc}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 1 \\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{array}&lt;br /&gt;
\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit csinál a transzformáció? Mi keletkezik a transzformáció után a [2, 1] és [-1, 1]  pontokat összekötő szakaszból.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
Ez egy nem-lineáris transzformáció a 2 dimenziós térben, ami a [x,y,1] alakból [x,y,x] (vagy másként [1,y/x,1]) alakba képez át. A transzformáció után a két új végpont az [1, 0.5] és az [1, -1]. A szakasz 90 fokkal elfordul, és az x tengelyre lesz merőleges, a hossza pedig megrövidül 2-ről 1,5-re. Összeségében a transzformáció minden pontot az x tengelyre merőleges, és azt 1-nél metsző egyenesre helyez át.&lt;br /&gt;
&lt;br /&gt;
=====Javítás:=====&lt;br /&gt;
A vetítés után a szakasz hosszával nem a fent leírt dolog történik, ugyanis létrejön az átfordulási probléma; azaz az x=1 egyenesen a szakaszunk nem a 0.5 és a -1 között helyezkedik el, hanem pont ezen kívül; az eredeti szakasz [0,1] pontja pedig ideális ponttá válik! Tk. 49 oldal.&lt;br /&gt;
&lt;br /&gt;
-- [[TothZs|Zsófi]] - 2007.10.28.&lt;br /&gt;
&lt;br /&gt;
=====Rajz=====&lt;br /&gt;
&lt;br /&gt;
Ez egy homogén lineáris transzformáció 2D-ben. Középpontosan levetíti a pontokat az &amp;lt;math&amp;gt;x = 1&amp;lt;/math&amp;gt; egyenesre az origón át.&lt;br /&gt;
&lt;br /&gt;
%ATTACHURL%/graph_anal_14.png&lt;br /&gt;
&lt;br /&gt;
* piros egyenes: a vetítési egyenes&lt;br /&gt;
* kék pontok, szakasz: eredeti pontok, és a szakasz&lt;br /&gt;
* zöld pontok, szakasz: vetített pontok, és félegyenesek a már említett átfordulás miatt&lt;br /&gt;
&lt;br /&gt;
Lásd: [http://www.fsz.bme.hu/~szirmay/grafika/bmetransf.ppt bmetrans.ppt] 20. slide&lt;br /&gt;
&lt;br /&gt;
-- [[DeVi|DeVi]] - 2007.10.28.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===22. feladat===&lt;br /&gt;
Adott a következő &amp;lt;math&amp;gt;\underline{r} \rightarrow \underline{r}&#039; &amp;lt;/math&amp;gt; 2D transzformáció, ahol &amp;lt;math&amp;gt;\underline{r}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{r}&amp;lt;/math&amp;gt;&amp;amp;#8217; és &amp;lt;math&amp;gt;\underline{b}&amp;lt;/math&amp;gt; a sík vektorai:&lt;br /&gt;
&amp;lt;math&amp;gt; \underline{r}&#039; = \frac{\underline{r}}{\left| \underline{r} \right |} + \underline{b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A képletben &amp;lt;math&amp;gt;\left| \underline{r} \right|&amp;lt;/math&amp;gt; az &amp;lt;math&amp;gt;\underline{r}&amp;lt;/math&amp;gt; vektor abszolút értékét jelenti. Mibe vihet át ez a transzformáció egy szakaszt?&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&lt;br /&gt;
Az origó körüli 1 sugarú körre vetíti a pontokat, majd ezeket az új pontokat eltolja &amp;lt;math&amp;gt;\underline{b}&amp;lt;/math&amp;gt;-vel.&lt;br /&gt;
&lt;br /&gt;
Szakaszból görbe lesz.&lt;br /&gt;
&lt;br /&gt;
====Megoldás 2====&lt;br /&gt;
&lt;br /&gt;
A trafo elsőként lenormálja a paraméterül kapott vektort, (azaz megőrzi az irányát és egységnyire változtatja a hosszát), majd eltolja azt &#039;b&#039; vektorral. Egy szakaszt, ha az nem tartalmazza az origót egy Pi-nél kisebb szögű origó középpontú körivvé transzformál, majd eltolja &#039;b&#039; -vel. Különben két ponttá transzformálja a szakaszt és azt tolja el, de ekkor a trafo a nullvektorra nem értelmezett.&lt;br /&gt;
&lt;br /&gt;
-- [[SzucsMiklos|&amp;lt;&amp;lt;Miki&amp;gt;&amp;gt;]] - 2007.10.29&lt;br /&gt;
 &lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===23. feladat===&lt;br /&gt;
Hogyan definiálható a B-spline és milyen tulajdonságai vannak.&lt;br /&gt;
Sünis Könyv 58.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&lt;br /&gt;
A B-spline olyan görbeleírás, amely a lokális vezérelhetőség és a simaság (deriválhatóság) között ad kompromisszumot.&lt;br /&gt;
Approximációs görbe, tehát a vezérlőpontokon jellemzően nem halad át. (Az első és az utolsó vezérlőponton sem)&lt;br /&gt;
Általános esetben a szomszédos csomópontok távolságára nincs megkötés.&lt;br /&gt;
&lt;br /&gt;
A görbe bázisfüggvényeit úgy származtatjuk, hogy kiindulunk olyan bázisfüggvényekből, amelyek a hozzájuk tartozó csomópontintervallumon Bi=1 értéket vesznek fel,&lt;br /&gt;
egyébként pedig nullát.&lt;br /&gt;
Ezután a B-spline fokszámának megfelelő számszor lineáris simítást végzünk.&lt;br /&gt;
&lt;br /&gt;
Ha egy B-spline fokszáma n. akkor egy vezérlőpont a görbe n+1 szegmensére van hatással, tehát a fokszám növelésével a lokális vezérelhetőség csökken.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===24. feladat===&lt;br /&gt;
Mi a NURBS.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&lt;br /&gt;
Non-Uniform Rational B-Spline, a B-Spline egy kezelhetőbb változata. A vezérlőpontokhoz még egy w súlyt is rendelünk, ennek növelésével a görbe az adott pontban egyre jobban csúcsosodik. Előnye, hogy a kúpszeletek tökéletesen leírhatók legalább harmadfokú NURBS-ökkel, hátránya hogy (hacsak homogén koordinátákban nem számolunk), osztásokra is szükség van a görbe kirajzolásához.&lt;br /&gt;
&lt;br /&gt;
A görbe egy pontjának meghatározása:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  r(t) = {{\sum w_iB_i^{NUBS} r_i}\over{\sum w_jB_j^{NUBS}}} = B_i^{NURBS} r_i&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A bázisfüggvények kiszámítása a NUBS bázisfüggvényeiből tehát:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  B_i^{NURBS} = {{w_i B_i^{NUBS}}\over{\sum w_jB_j^{NUBS}}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===27. feladat===&lt;br /&gt;
Adja meg a kvadratikus felületek általános definícióját. Milyen konkrét tagjai vannak ennek a családnak.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
 &lt;br /&gt;
Kvadratikus felületnek nevezzük azokat a felületeket, melyek legfeljebb másodfokú implicit egyenlettel leírhatók. Általános, homogén koordinátás alakban megadva:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  [x, y, z, 1] Q \left[ \begin{array}{r} x \\ y \\ z \\ 1 \end{array} \right] = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahol Q egy 4x4-es mátrix. Kvadratikus felülettel leírható például a kúp, ellipszoid, hengerpalást, paraboloid.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===28. feladat===&lt;br /&gt;
Rajzolja fel a szárnyas él adatstruktúrát, és írjon programot, amely egy lapnak kiírja az összes csúcsát.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&lt;br /&gt;
Sünis könyv 140.o.&lt;br /&gt;
&amp;lt;br&amp;gt;Adatszerkezet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Edge {&lt;br /&gt;
  Vertex * vertex_start, vertex_end; //Az él kezdő- és végpontja&lt;br /&gt;
  Face * face_left, face_right;		//Az él jobb- és baloldali lapja&lt;br /&gt;
  Edge * loop_left, loop_right;		//A végpontból kiinduló két él&lt;br /&gt;
  Edge * next;							  //Az éllista következő eleme&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
struct Vertex {&lt;br /&gt;
  Vector point;&lt;br /&gt;
  Edge * edge;  //A csúcsot tartalmazó él&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
struct Face {&lt;br /&gt;
  Edge * edge;&lt;br /&gt;
  Face * next;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Program (vázlatosan):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void printVertex(Vertex * v) {&lt;br /&gt;
  cout &amp;lt;&amp;lt; v.x &amp;lt;&amp;lt; &amp;quot;,&amp;quot; &amp;lt;&amp;lt; v.y &amp;lt;&amp;lt; &amp;quot;,&amp;quot; v.z;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void printVertices(Face * face) {&lt;br /&gt;
  Edge * edge = face.edge;&lt;br /&gt;
  Edge * current = NULL;&lt;br /&gt;
  &lt;br /&gt;
  bool goRight = (edge.face_right == face) ? true : false;&lt;br /&gt;
&lt;br /&gt;
  print(edge.vertex_end);&lt;br /&gt;
&lt;br /&gt;
  while( edge != current ) {&lt;br /&gt;
	 if( goRight ) {&lt;br /&gt;
		current = edge.loop_right;&lt;br /&gt;
	 } else {&lt;br /&gt;
		current = edge.loop_left;&lt;br /&gt;
	 }&lt;br /&gt;
&lt;br /&gt;
	 print(current.vertex_end);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===29. feladat===&lt;br /&gt;
Mik az Euler operátorok és miért van rájuk szükség.&lt;br /&gt;
Sünis könyv 75.o.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&lt;br /&gt;
Euler egyenlet:&lt;br /&gt;
lapok + csúcsok = élek + 2&lt;br /&gt;
&lt;br /&gt;
Az Euler operátorokat poligonhálóra alkalmazva az Euler tulajdonság nem sérül.&lt;br /&gt;
&lt;br /&gt;
Típusai: &lt;br /&gt;
A, Él kettévágás&lt;br /&gt;
Egy él egy pontján felveszünk egy új csúcsot, ami ezáltal két élre bomlik.&lt;br /&gt;
A csúcsok száma eggyel, az élek száma szintén eggyel növekszik.&lt;br /&gt;
&lt;br /&gt;
B, Poligon kettévágás&lt;br /&gt;
Egy lap két csúcsát egy új éllel kötünk össze, ezáltal a lap két lapra esik szét.&lt;br /&gt;
Az éleg és a lapok száma egyaránt eggyel növekszik.&lt;br /&gt;
&lt;br /&gt;
C, Élzsugorítás&lt;br /&gt;
Egy élet egy pontba zsugorítunk. Az él eltűnik, a két végpontját egyesítjük.&lt;br /&gt;
Az élek száma eggyel csökkel, a csúcsok száma eggyel csökken.&lt;br /&gt;
Ha az élhez kapcsolódó egyik vagy minkét poligon egy háromszög, akkor az eltűnik, a a másik két éle pedig egyesül.&lt;br /&gt;
&lt;br /&gt;
D, Poligon kihúzás&lt;br /&gt;
Kiválasztunk egy lapot, és az elmozdítjuk az eredeti helyről, ehhez a kiválasztott lap éleit és csúcsait meg kell duplázni. Ha *e* éle van a kiválaszott lapnak, akkor *e* új él jön létre, és *e* új pont. Ezután az új pontokat össze kell kötni a nekik megfelelő régi pontokkal. (még *e* új él és *e* új lap.)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===30. feladat===&lt;br /&gt;
Írjon C++ nyelven egy CSG fát megvalósító osztályt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===35. feladat===&lt;br /&gt;
Írjon erősen emelkedő szakaszt rajzoló programot, a Bresenham algoritmus alapján.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===36. feladat===&lt;br /&gt;
Írjon erősen emelkedő szakaszt rajzoló programot, a DDA algoritmus alapján.&lt;br /&gt;
&lt;br /&gt;
2008-as házi feladat keretben implementált DDA szakaszrajzoló algoritmus:&amp;lt;br&amp;gt;&lt;br /&gt;
{{InLineFileLink|Infoalap|SzgGrafFeladatok|DDA.cpp|DDA.cpp}}&amp;lt;br&amp;gt;&lt;br /&gt;
Erősen emelkedő szakaszokra kicsit furán viselkedik :)&amp;lt;br&amp;gt;&lt;br /&gt;
-- [[SikAndras|Bandita]] - 2009.01.02.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===37. feladat===&lt;br /&gt;
Írjon programot, amely egy szakaszt egy konvex sokszögre vág.&lt;br /&gt;
&lt;br /&gt;
-- [[GergelyK|Geri]] - 2006.12.29.&lt;br /&gt;
-- [[PallosPeter|Peti]] - 2006.08.02.&lt;br /&gt;
-- [[SzelessZoltanTamas|Sales]] - 2006.07.27.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoalap]]&lt;/div&gt;</summary>
		<author><name>Makkos Bence</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=A_grafkerdes.doc_feladatai&amp;diff=189107</id>
		<title>A grafkerdes.doc feladatai</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=A_grafkerdes.doc_feladatai&amp;diff=189107"/>
		<updated>2016-05-12T10:42:03Z</updated>

		<summary type="html">&lt;p&gt;Makkos Bence: /* Analitikus geometria */ mátrixos latexek helyrehozása&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{GlobalTemplate|Infoalap|SzgGrafFeladatok}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Letöltés itt: [http://www.iit.bme.hu/~szirmay/grafika/grafkerdes.doc grafkerdes.doc]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Megjegyzés: elkezdtem tömörebben formázva, témakörökre vágva beírni a feladatokat, itt:&#039;&#039;&lt;br /&gt;
* [[GrafikaGyakorloAnalitikusGeometria|Gyakorlófeladatok: analitikus geometria]]&lt;br /&gt;
* [[GrafikaGyakorloGeometriaiModellezes|Gyakorlófeladatok: geometriai modellezés]]&lt;br /&gt;
* [[GrafikaGyakorlo2DKepszintezis|Gyakorlófeladatok: 2D képszintézis]]&lt;br /&gt;
* [[GrafikaGyakorloIlluminacio|Gyakorlófeladatok: illumináció]]&lt;br /&gt;
* [[GrafikaGyakorloSugarkovetes|Gyakorlófeladatok: sugárkövetés]]&lt;br /&gt;
* [[GrafikaGyakorloInkrementalisKepszintezis|Gyakorlófeladatok: inkrementális képszintézis]]&lt;br /&gt;
* [[GrafikaGyakorloOpenGL_Cg|Gyakorlófeladatok: OpenGL, Cg nyelv]]&lt;br /&gt;
* [[GrafikaGyakorloGlobalisIlluminacio|Gyakorlófeladatok: globális illumináció]]&lt;br /&gt;
* [[GrafikaGyakorloTerfogatVizualizacio|Gyakorlófeladatok: térfogat vizualizáció]]&lt;br /&gt;
* [[GrafikaGyakorloAnimacio|Gyakorlófeladatok: animáció]]&lt;br /&gt;
* [[GrafikaGyakorloFraktalok|Gyakorlófeladatok: fraktálok]]&lt;br /&gt;
&#039;&#039;Az itt lévő kidolgozásokat letisztázva majd áttöltöm az új lapokra, és itt csak az al-lapokra mutató linkek maradnak.&#039;&#039;&lt;br /&gt;
-- [[KisGergelyG|G]] - 2008.12.25.&lt;br /&gt;
&lt;br /&gt;
==Analitikus geometria==&lt;br /&gt;
&lt;br /&gt;
===1. feladat===&lt;br /&gt;
Írja fel azon művelet mátrixát, amely egy ax+by+cz+d=0 egyenletű síkra merőlegesen vetít.&lt;br /&gt;
----&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T = \underline{v} - (\underline{v}\cdot\underline{n})\cdot\underline{n} = \left[\begin{array}{cccc}&lt;br /&gt;
1-a^2 &amp;amp; -a\cdot b &amp;amp; -a \cdot c &amp;amp; 0\\&lt;br /&gt;
-a \cdot b &amp;amp; 1-b^2 &amp;amp; -b \cdot c &amp;amp; 0\\&lt;br /&gt;
-a \cdot c &amp;amp; -b \cdot c &amp;amp; 1-c^2 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 &amp;amp; d&lt;br /&gt;
\end{array}&lt;br /&gt;
\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Nem tudom, hogy a fenti megoldás hogyan jött ki, én a következőt kaptam:&lt;br /&gt;
&lt;br /&gt;
A sík normálvektora: &amp;lt;math&amp;gt;\underline{n} = (a, b, c)&amp;lt;/math&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\underline{p}&amp;lt;/math&amp;gt; a pont, amit vetíteni akarunk.&lt;br /&gt;
&lt;br /&gt;
írjuk fel a &amp;lt;math&amp;gt;\underline{p}&amp;lt;/math&amp;gt; pontból induló síkra merőleges egyenes egyenletét: &amp;lt;math&amp;gt;\underline{p}- q\underline{n}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Megkaphatjuk a sík és az egyenes metszéspontját, ha a következő egyenletet megoldjuk &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt;-ra:&lt;br /&gt;
&amp;lt;math&amp;gt;a(p_{x}-qa)+b(p_{y}-qb)+c(p_{z}-qc)+d=0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Majd a &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt;-t visszaírva az egyenes egyenletébe megkaphatjuk a metszéspontot.&lt;br /&gt;
&lt;br /&gt;
Most, hogy megvan a &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt;, hogyan írjuk fel a vetítés mátrixát?&lt;br /&gt;
&lt;br /&gt;
Tudjuk, hogy: &amp;lt;math&amp;gt;(p_{x}, p_{y}, p_{z}, 1)*\underline{\underline{T}} = (p_{x}-qa, p_{y}-qb, p_{z}-qc, 1)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Most már csak ki kell találni a mátrix elemeit, hogy az egyenlet két oldala megegyezzen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T = \left[\begin{array}{cccc}&lt;br /&gt;
1-\frac{a^2}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-a\cdot b}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-a \cdot c}{(a^2 + b^2 + c^2)} &amp;amp; 0\\&lt;br /&gt;
\frac{-a \cdot b}{(a^2 + b^2 + c^2)} &amp;amp; 1-\frac{b^2}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-b \cdot c}{(a^2 + b^2 + c^2)} &amp;amp; 0\\&lt;br /&gt;
\frac{-a \cdot c}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-b \cdot c}{(a^2 + b^2 + c^2)} &amp;amp; 1-\frac{c^2}{(a^2 + b^2 + c^2)} &amp;amp; 0 \\&lt;br /&gt;
\frac{-ad}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-bd}{(a^2 + b^2 + c^2)} &amp;amp; \frac{-cd}{(a^2 + b^2 + c^2)} &amp;amp; 1&lt;br /&gt;
\end{array}&lt;br /&gt;
\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ha valaki tudja, hogy esetleg miért nem jó ez a megoldás, akkor írja meg ide, thx.&lt;br /&gt;
-- [[PaleszA|Pálesz]] - 2007.10.27.&lt;br /&gt;
&lt;br /&gt;
A Pálesz-mátrix elemeiben az &amp;lt;math&amp;gt;a^2+b^2+c^2&amp;lt;/math&amp;gt; nevező elhagyható, ugyanis ez megegyezik az &amp;lt;math&amp;gt;\underline{n}&amp;lt;/math&amp;gt; normálvektor hosszával, amit egységnyire választunk.&lt;br /&gt;
-- [[RebeliSzaboTamas|toma]] - 2007.10.28.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===3. feladat===&lt;br /&gt;
Írja fel három pontra illeszkedő sík egyenletét az euklideszi és a projektív térben.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&#039;&#039;&#039;Euklideszi térben&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ismerjük a sík 3 pontját: &amp;lt;math&amp;gt;\underline{p_{1}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{p_{2}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{p_{3}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tehát ismerünk 2 vektort, ami a síkon van: &amp;lt;math&amp;gt;\underline{p_{2}} - \underline{p_{1}}&amp;lt;/math&amp;gt; és &amp;lt;math&amp;gt;\underline{p_{3}} - \underline{p_{1}}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ezeket össze keresztelve megkapjuk a sík normál vektorát: &amp;lt;math&amp;gt;\underline{n} = (\underline{p_{2}} - \underline{p_{1}}) \times (\underline{p_{3}} - \underline{p_{1}}) &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A sík egyenlete: &amp;lt;math&amp;gt;\underline{n} \cdot (\underline{r} - \underline{r_{0}}) = 0&amp;lt;/math&amp;gt;, behelyettesítve: &amp;lt;math&amp;gt;((\underline{p_{2}} - \underline{p_{1}}) \times (\underline{p_{3}} - \underline{p_{1}})) \cdot (\underline{r} - \underline{p_{1}}) = 0&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===6. feladat===&lt;br /&gt;
Írjon C függvényt, amely egy egyenes és egy pont távolságát kiszámítja.&lt;br /&gt;
&lt;br /&gt;
Általánosan:&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{p_{1}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{p_{2}}&amp;lt;/math&amp;gt; egyenes 2 pontja&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{p}&amp;lt;/math&amp;gt; a pont&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{v} = \underline{p_{2}} - \underline{p_{1}}&amp;lt;/math&amp;gt; egyenes irány vektora&lt;br /&gt;
&amp;lt;math&amp;gt; d = \frac{\left| (\underline{p} - \underline{p_{1}}) \times \underline{v} \right|}{\left| v \right|} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
float distanceLinePoint(float x1, float y1, float z1,&lt;br /&gt;
								float x2, float y2, float z2,&lt;br /&gt;
								float px, float py, float pz)&lt;br /&gt;
{&lt;br /&gt;
	 //egyenes irányvektora&lt;br /&gt;
	 float vx = x2 - x1,&lt;br /&gt;
			 vy = y2 - y1,&lt;br /&gt;
			 vz = z2 - z1;&lt;br /&gt;
	 //irányvektor nagysága&lt;br /&gt;
	 float v = sqrt(vx*vx + vy*vy + vz*vz);&lt;br /&gt;
	 //irányvektor normalizálása&lt;br /&gt;
	 vx /= v;	 vy /= v;	 vz /= v;&lt;br /&gt;
&lt;br /&gt;
	 //pont - egyenes első pontja közötti vektor&lt;br /&gt;
	 float qx = px - x1,&lt;br /&gt;
			 qy = py - y1,&lt;br /&gt;
			 qz = pz - z1;&lt;br /&gt;
&lt;br /&gt;
	 //r = q (kereszt) v = |q|*|v|*sin(alpha)&lt;br /&gt;
	 //v-t normalizáltuk, ezért az 1, nem kell osztani&lt;br /&gt;
	 float rx = qy*vz - vy*qz,&lt;br /&gt;
			 ry = vx*qz - qx*vz,&lt;br /&gt;
			 rz = qx*vy - qy*vx;&lt;br /&gt;
&lt;br /&gt;
	 //r vektor nagysága&lt;br /&gt;
	 return sqrt(rx*rx + ry*ry + rz*rz);&lt;br /&gt;
	 &lt;br /&gt;
	 /*Másik megoldás:&lt;br /&gt;
	 q vektor skalárisan szorozva v-vel, így megvan az egyenesre&lt;br /&gt;
	 vetített q vektor nagysága. Ezt összeszorozva v-vel, és  hozzáadva&lt;br /&gt;
	 az egyenes első pontjához, megvan az egyenesre vetített pont.&lt;br /&gt;
	 Innen d = a 2 pont távolsága.*/&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===7. feladat===&lt;br /&gt;
Írjon C függvényt, amely két térbeli egyenes távolságát kiszámítja.&lt;br /&gt;
----&lt;br /&gt;
====Megoldás====&lt;br /&gt;
Általánosan:&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{p_{1}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{p_{2}}&amp;lt;/math&amp;gt; egyik egyenes pontjai&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{q_{1}}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{q_{2}}&amp;lt;/math&amp;gt; másik egyenes pontjai&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{v_{1}} = \underline{p_{2}} - \underline{p_{1}}&amp;lt;/math&amp;gt; első egyenes irány vektora&lt;br /&gt;
* &amp;lt;math&amp;gt;\underline{v_{2}} = \underline{q_{2}} - \underline{q_{1}}&amp;lt;/math&amp;gt; második egyenes irány vektora&lt;br /&gt;
&amp;lt;math&amp;gt; d = \frac{\left| (\underline{p_{1}} - \underline{q_{1}}) \cdot (\underline{v_{1}} \times \underline{v_{2}}) \right|}{\left| \underline{v_{1}} \times \underline{v_{2}} \right|} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
float distanceLineLine(float p1x, float p1y, float p1z,&lt;br /&gt;
							  float p2x, float p2y, float p2z,&lt;br /&gt;
							  float q1x, float q1y, float q1z,&lt;br /&gt;
							  float q2x, float q2y, float q2z)&lt;br /&gt;
{&lt;br /&gt;
	 //irány vektorok&lt;br /&gt;
	 float v1x = p2x - p1x,&lt;br /&gt;
			 v1y = p2y - p1y,&lt;br /&gt;
			 v1z = p2z - p1z;&lt;br /&gt;
	 float v2x = q2x - q1x,&lt;br /&gt;
			 v2y = q2y - q1y,&lt;br /&gt;
			 v2z = q2z - q1z;&lt;br /&gt;
			 &lt;br /&gt;
	 //vektorok nagysága&lt;br /&gt;
	 float v1 = sqrt(v1x*v1x + v1y*v1y + v1z*v1z), &lt;br /&gt;
			 v2 = sqrt(v2x*v2x + v2y*v2y + v2z*v2z);&lt;br /&gt;
&lt;br /&gt;
	 //normalizálás&lt;br /&gt;
	 v1x /= v1;	 v1y /= v1;	 v1z /= v1;&lt;br /&gt;
	 v2x /= v2;	 v2y /= v2;	 v2z /= v2;&lt;br /&gt;
	 &lt;br /&gt;
	 //egyenesek pontjai közötti vektor&lt;br /&gt;
	 float ex = p1x - q1x,&lt;br /&gt;
			 ey = p1y - q1y,&lt;br /&gt;
			 ez = p1z - q1z;&lt;br /&gt;
			 &lt;br /&gt;
	 if (abs(v1x) == abs(v2x) &amp;amp;&amp;amp; abs(v1y) == abs(v2y) &amp;amp;&amp;amp; abs(v1z) == abs(v2z)) {&lt;br /&gt;
		  //az egyenesek párhuzamosak, de lehet, hogy ellentétes irányuak, ezért kell abs&lt;br /&gt;
		  //a kereszt szorzat 0-t eredményezne rosszul&lt;br /&gt;
		  //mert a vektorok által bezárt szög 0, vagy 180 és sin(0) = sin(180) = 0&lt;br /&gt;
&lt;br /&gt;
		  //a távolság |e|*|v1|*sin(alpha)&lt;br /&gt;
		  //d = |e (cross) v1|&lt;br /&gt;
		  float fx = ey*v1z - v1y*ez,&lt;br /&gt;
				  fy = v1x*ez - ex*v1z,&lt;br /&gt;
				  fz = ex*v1y - ey*v1x;&lt;br /&gt;
&lt;br /&gt;
		  return sqrt(fx*fx + fy*fy + fz*fz);&lt;br /&gt;
	 } else {&lt;br /&gt;
		  //v1 (cross) v2&lt;br /&gt;
		  float wx = v1y*v2z - v2y*v1y,&lt;br /&gt;
				  wy = v2x*v1z - v1x*v2z,&lt;br /&gt;
				  wz = v1x*v2y - v1y*v2x;&lt;br /&gt;
&lt;br /&gt;
		  //e (dot) w&lt;br /&gt;
		  //v-ket normalizáltuk, nem kell leosztani&lt;br /&gt;
		  return abs(ex*wx + ey*wy + ez*wz);		  &lt;br /&gt;
	 }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Egy-kis magyarázat a fenti képlethez: (forrás: http://zeus.nyf.hu/~szalonta/Trigkoord06.pdf)&lt;br /&gt;
&lt;br /&gt;
Bizonyítás: Két kitérő egyenes távolságán az azokat összekötő, mindkettőre merőleges normáltranszverzális szakasz hosszát értjük. A v1 × v2 vektoriális szorzat normáltranszverzális irányú, hiszen mindkét irányvektorra merőleges vektor, osztva a hosszával, egységvektor. Ennek és a két egyenes egy-egy pontjával meghatározott (P1, Q1) reprezentánsú (q1 - p1) vektornak a skaláris szorzata éppen a (q1 - p1) vektor normáltranszverzális irányra vett merőleges vetületének hosszát adja abszolútértékben.&lt;br /&gt;
&lt;br /&gt;
Ez az abs feltétel biztos? Mert sztem ez bővebb a párhuzamosságnál, pl két merőleges egyenes is lehet ilyen.&lt;br /&gt;
lásd (1,1,0) és (1,-1,0) vektorok.&lt;br /&gt;
-- [[TakoTibor|TTb]] - 2008.05.26.&lt;br /&gt;
&lt;br /&gt;
A kód megértését segítendő magyarázat: a felvázolt képlet egy elméleti koordinátageometria megoldás, a kód analógiája teljesen más. A megvalósítás kihasználja a vektoriális szorzat azon tulajdonságát, hogy két vektor vektoriális szorzata egy a két vektorra merőleges vektor lesz, melynek hossza |v1*sin(alpha). ([http://www.fsz.bme.hu/~szirmay/grafika/bmeanalgeom.ppt Szirmay - Analitikus geometria - 7.oldal]) Ami nem más, mint a v2 és v1 vektor síkján lévő v2 vektorra merőleges egyenesre vetített v1 vektor. A mi esetünkben ez pont a normáltranszverzális, melynek hossza adja a két egyenes közti távolságot.&lt;br /&gt;
-- [[EberhardtPeter|Paaci]] - 2009.01.17.&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===10. feladat===&lt;br /&gt;
Lehet-e egy affin - azaz párhuzamos egyeneseket párhuzamos egyenesekbe leképező - transzformáció mátrixának negyedik oszlopa [0, 0, 0, 2]?&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
Az egységmátrix &amp;amp;lambda;-szorosa az (x, y, z, h) homogén koordinátás pontot a (&amp;amp;lambda;x, &amp;amp;lambda;y, &amp;amp;lambda;z, &amp;amp;lambda;h) pontba viszi, azaz helyben hagyja. A helyben hagyás egy affin transzformáció, és &amp;amp;lambda;=2-re a mátrix negyedik oszlopa pont (0, 0, 0, 2) lesz. -- [[PallosPeter|Peti]] - 2007.10.27.&lt;br /&gt;
&lt;br /&gt;
=====Vita=====&lt;br /&gt;
Idézet tk. 46 oldala: &amp;quot;Az &#039;&#039;&#039;affin transzformációkban&#039;&#039;&#039; a mátrix negyedik oszlopa mindig [0,0,0,1] alakú , tehát a pont negyedik koordinátáját nem rontja el. (...) Ha a mátrix negyedik oszlopában nem ragaszkodunk a [0,0,0,1] értékekhez, akkor egy még átalánosabb transzformáció típushoz, a &#039;&#039;&#039;projektív transzformációkhoz&#039;&#039;&#039; jutunk.&amp;quot; Szóval szerintem a válasz a feladatra a &amp;quot;nem&amp;quot;.  &lt;br /&gt;
-- [[TothZs|Zsófi]] - 2007.10.28.&lt;br /&gt;
&lt;br /&gt;
Sztem a fenti megoldás helyes: adott egy példát h miért &#039;&#039;lehet&#039;&#039;. Valóban definíció szerint projektyv transzformációkat kaunk, viszont az affin is projektív, és a fenti példa arra, hogy valóban lehet affin sztem, javítsatok ki ha tévednék. -- [[TakoTibor|TTb]] - 2008.05.27.&lt;br /&gt;
&lt;br /&gt;
Sztem a mátrix így néz ki (nevezzük A-nak) : &lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
T = \left[\begin{array}{cccc}&lt;br /&gt;
a11 &amp;amp; a12 &amp;amp; a13 &amp;amp; 0\\&lt;br /&gt;
a21 &amp;amp; a22 &amp;amp; a23 &amp;amp; 0\\&lt;br /&gt;
a31 &amp;amp; a32 &amp;amp; a33 &amp;amp; 0\\&lt;br /&gt;
a41 &amp;amp; a42 &amp;amp; a43 &amp;amp; 2\\&lt;br /&gt;
\end{array}&lt;br /&gt;
\right]&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
Ez annyiban különbözik egy általánosan megszokott affin transzformációs mátrixtól, hogy az a44 eleme 2 és nem 1 (nevezzük 1-essel A&#039;-nek). Ha meggondoljuk ez nem baj, mert annyi változást okoz A az A&#039;-höz képest, hogy (x, y, z, 1) helyett (x, y, z, 2)-t kapunk, ami pont egy 1/2-szeres nagyítást jelent (hiszen ha leosztjuk a pont koordinátáit 2-vel, akkor ezt kapjuk : (x/2, y/2, z/2, 1), és az x, y és z helyen a Descartes-koordinátáknak megfelelő pontot kapjuk(ha a 4. koordináta (h) 1)). A könyvből vett idézetet ellenőriztem, valóban így szerepelt, és ez nem pontos megfogalmazás. &lt;br /&gt;
Szerintem a [0, 0, 0, 1] helyett [0, 0, 0, &amp;amp;lambda;], &amp;amp;lambda; &amp;amp;ne; 0 a helyes kifejezés.&lt;br /&gt;
-- [[ProdanovMitko|k317h]] - 2009.06.07.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===13. feladat===&lt;br /&gt;
Írja fel azon homogén lineáris transzformáció mátrixát, amely egy síkbeli pontot az  xc, yc vetítési középponttal az ax+by+c=0 egyenletű egyenesre vetít.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&amp;lt;math&amp;gt;T = \left(&lt;br /&gt;
\begin{array}{ccc}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; \frac{1}{c} \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{array}&lt;br /&gt;
\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Javítás:=====&lt;br /&gt;
Ez az y = c egyenletű egyenesre origó középponttal vetítő mátrix. A megoldás alapja a bmetransf slideshow 20. slide-ja:&lt;br /&gt;
ax + by = 1 egyenletű egyenesre origó középpontú vetítés esetén a mátrix:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T = \left(&lt;br /&gt;
\begin{array}{ccc}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; a \\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; b \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{array}&lt;br /&gt;
\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ehhez képest az ax + by + c = 0 egyenlet helyett írhatjuk azt, hogy ax + by = 1-c, és akkor az előzőhöz hasonló egyenletet kapunk. Rátolunk egy (1-c)-vel skálázást a mátrixra: ax és by összege ez esetben nem 1, hanem annak (1-c)-szerese. Az y=c egyenesre való vetítéshez hasonlóan ez itt egy (1-c)-vel való osztásként jelenik meg a mátrix harmadik oszlopában. Mivel nem az origó a középpont, ezért még el is kell tolni az egészet (xc, yc)-vel, így a keresett mátrix:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;T = \left(&lt;br /&gt;
\begin{array}{ccc}&lt;br /&gt;
1-c &amp;amp; 0 &amp;amp; a \\&lt;br /&gt;
0 &amp;amp; 1-c &amp;amp; b \\&lt;br /&gt;
xc &amp;amp; yc &amp;amp; 0 \\&lt;br /&gt;
\end{array}&lt;br /&gt;
\right)&amp;lt;/math&amp;gt; = &amp;lt;math&amp;gt;T = \left(&lt;br /&gt;
\begin{array}{ccc}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; \frac{a}{1-c} \\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; \frac{b}{1-c} \\&lt;br /&gt;
xc &amp;amp; yc &amp;amp; 0 \\&lt;br /&gt;
\end{array}&lt;br /&gt;
\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[GurmaiGergely|Gergő]] -- 2007.11.29.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===14. feladat===&lt;br /&gt;
Tekintsük a következő homogén lineáris transzformációs mátrixot (a transzformálandó pontot a mátrix bal oldalára kell írni):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;\left(&lt;br /&gt;
\begin{array}{ccc}&lt;br /&gt;
1 &amp;amp; 0 &amp;amp; 1 \\&lt;br /&gt;
0 &amp;amp; 1 &amp;amp; 0 \\&lt;br /&gt;
0 &amp;amp; 0 &amp;amp; 0 \\&lt;br /&gt;
\end{array}&lt;br /&gt;
\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit csinál a transzformáció? Mi keletkezik a transzformáció után a [2, 1] és [-1, 1]  pontokat összekötő szakaszból.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
Ez egy nem-lineáris transzformáció a 2 dimenziós térben, ami a [x,y,1] alakból [x,y,x] (vagy másként [1,y/x,1]) alakba képez át. A transzformáció után a két új végpont az [1, 0.5] és az [1, -1]. A szakasz 90 fokkal elfordul, és az x tengelyre lesz merőleges, a hossza pedig megrövidül 2-ről 1,5-re. Összeségében a transzformáció minden pontot az x tengelyre merőleges, és azt 1-nél metsző egyenesre helyez át.&lt;br /&gt;
&lt;br /&gt;
=====Javítás:=====&lt;br /&gt;
A vetítés után a szakasz hosszával nem a fent leírt dolog történik, ugyanis létrejön az átfordulási probléma; azaz az x=1 egyenesen a szakaszunk nem a 0.5 és a -1 között helyezkedik el, hanem pont ezen kívül; az eredeti szakasz [0,1] pontja pedig ideális ponttá válik! Tk. 49 oldal.&lt;br /&gt;
&lt;br /&gt;
-- [[TothZs|Zsófi]] - 2007.10.28.&lt;br /&gt;
&lt;br /&gt;
=====Rajz=====&lt;br /&gt;
&lt;br /&gt;
Ez egy homogén lineáris transzformáció 2D-ben. Középpontosan levetíti a pontokat az &amp;lt;math&amp;gt;x = 1&amp;lt;/math&amp;gt; egyenesre az origón át.&lt;br /&gt;
&lt;br /&gt;
%ATTACHURL%/graph_anal_14.png&lt;br /&gt;
&lt;br /&gt;
* piros egyenes: a vetítési egyenes&lt;br /&gt;
* kék pontok, szakasz: eredeti pontok, és a szakasz&lt;br /&gt;
* zöld pontok, szakasz: vetített pontok, és félegyenesek a már említett átfordulás miatt&lt;br /&gt;
&lt;br /&gt;
Lásd: [http://www.fsz.bme.hu/~szirmay/grafika/bmetransf.ppt bmetrans.ppt] 20. slide&lt;br /&gt;
&lt;br /&gt;
-- [[DeVi|DeVi]] - 2007.10.28.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===22. feladat===&lt;br /&gt;
Adott a következő &amp;lt;math&amp;gt;\underline{r} \rightarrow \underline{r}&#039; &amp;lt;/math&amp;gt; 2D transzformáció, ahol &amp;lt;math&amp;gt;\underline{r}&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;\underline{r}&amp;lt;/math&amp;gt;&amp;amp;#8217; és &amp;lt;math&amp;gt;\underline{b}&amp;lt;/math&amp;gt; a sík vektorai:&lt;br /&gt;
&amp;lt;math&amp;gt; \underline{r}&#039; = \frac{\underline{r}}{\left| \underline{r} \right |} + \underline{b} &amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A képletben &amp;lt;math&amp;gt;\left| \underline{r} \right|&amp;lt;/math&amp;gt; az &amp;lt;math&amp;gt;\underline{r}&amp;lt;/math&amp;gt; vektor abszolút értékét jelenti. Mibe vihet át ez a transzformáció egy szakaszt?&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&lt;br /&gt;
Az origó körüli 1 sugarú körre vetíti a pontokat, majd ezeket az új pontokat eltolja &amp;lt;math&amp;gt;\underline{b}&amp;lt;/math&amp;gt;-vel.&lt;br /&gt;
&lt;br /&gt;
Szakaszból görbe lesz.&lt;br /&gt;
&lt;br /&gt;
====Megoldás 2====&lt;br /&gt;
&lt;br /&gt;
A trafo elsőként lenormálja a paraméterül kapott vektort, (azaz megőrzi az irányát és egységnyire változtatja a hosszát), majd eltolja azt &#039;b&#039; vektorral. Egy szakaszt, ha az nem tartalmazza az origót egy Pi-nél kisebb szögű origó középpontú körivvé transzformál, majd eltolja &#039;b&#039; -vel. Különben két ponttá transzformálja a szakaszt és azt tolja el, de ekkor a trafo a nullvektorra nem értelmezett.&lt;br /&gt;
&lt;br /&gt;
-- [[SzucsMiklos|&amp;lt;&amp;lt;Miki&amp;gt;&amp;gt;]] - 2007.10.29&lt;br /&gt;
 &lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===23. feladat===&lt;br /&gt;
Hogyan definiálható a B-spline és milyen tulajdonságai vannak.&lt;br /&gt;
Sünis Könyv 58.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&lt;br /&gt;
A B-spline olyan görbeleírás, amely a lokális vezérelhetőség és a simaság (deriválhatóság) között ad kompromisszumot.&lt;br /&gt;
Approximációs görbe, tehát a vezérlőpontokon jellemzően nem halad át. (Az első és az utolsó vezérlőponton sem)&lt;br /&gt;
Általános esetben a szomszédos csomópontok távolságára nincs megkötés.&lt;br /&gt;
&lt;br /&gt;
A görbe bázisfüggvényeit úgy származtatjuk, hogy kiindulunk olyan bázisfüggvényekből, amelyek a hozzájuk tartozó csomópontintervallumon Bi=1 értéket vesznek fel,&lt;br /&gt;
egyébként pedig nullát.&lt;br /&gt;
Ezután a B-spline fokszámának megfelelő számszor lineáris simítást végzünk.&lt;br /&gt;
&lt;br /&gt;
Ha egy B-spline fokszáma n. akkor egy vezérlőpont a görbe n+1 szegmensére van hatással, tehát a fokszám növelésével a lokális vezérelhetőség csökken.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===24. feladat===&lt;br /&gt;
Mi a NURBS.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&lt;br /&gt;
Non-Uniform Rational B-Spline, a B-Spline egy kezelhetőbb változata. A vezérlőpontokhoz még egy w súlyt is rendelünk, ennek növelésével a görbe az adott pontban egyre jobban csúcsosodik. Előnye, hogy a kúpszeletek tökéletesen leírhatók legalább harmadfokú NURBS-ökkel, hátránya hogy (hacsak homogén koordinátákban nem számolunk), osztásokra is szükség van a görbe kirajzolásához.&lt;br /&gt;
&lt;br /&gt;
A görbe egy pontjának meghatározása:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  r(t) = {{\sum w_iB_i^{NUBS} r_i}\over{\sum w_jB_j^{NUBS}}} = B_i^{NURBS} r_i&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A bázisfüggvények kiszámítása a NUBS bázisfüggvényeiből tehát:&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  B_i^{NURBS} = {{w_i B_i^{NUBS}}\over{\sum w_jB_j^{NUBS}}}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===27. feladat===&lt;br /&gt;
Adja meg a kvadratikus felületek általános definícióját. Milyen konkrét tagjai vannak ennek a családnak.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
 &lt;br /&gt;
Kvadratikus felületnek nevezzük azokat a felületeket, melyek legfeljebb másodfokú implicit egyenlettel leírhatók. Általános, homogén koordinátás alakban megadva:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
  [x, y, z, 1] Q \left[ \begin{array}{r} x \\ y \\ z \\ 1 \end{array} \right] = 0&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ahol Q egy 4x4-es mátrix. Kvadratikus felülettel leírható például a kúp, ellipszoid, hengerpalást, paraboloid.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===28. feladat===&lt;br /&gt;
Rajzolja fel a szárnyas él adatstruktúrát, és írjon programot, amely egy lapnak kiírja az összes csúcsát.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&lt;br /&gt;
Sünis könyv 140.o.&lt;br /&gt;
&amp;lt;br&amp;gt;Adatszerkezet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class Edge {&lt;br /&gt;
  Vertex * vertex_start, vertex_end; //Az él kezdő- és végpontja&lt;br /&gt;
  Face * face_left, face_right;		//Az él jobb- és baloldali lapja&lt;br /&gt;
  Edge * loop_left, loop_right;		//A végpontból kiinduló két él&lt;br /&gt;
  Edge * next;							  //Az éllista következő eleme&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
struct Vertex {&lt;br /&gt;
  Vector point;&lt;br /&gt;
  Edge * edge;  //A csúcsot tartalmazó él&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
struct Face {&lt;br /&gt;
  Edge * edge;&lt;br /&gt;
  Face * next;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Program (vázlatosan):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void printVertex(Vertex * v) {&lt;br /&gt;
  cout &amp;lt;&amp;lt; v.x &amp;lt;&amp;lt; &amp;quot;,&amp;quot; &amp;lt;&amp;lt; v.y &amp;lt;&amp;lt; &amp;quot;,&amp;quot; v.z;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void printVertices(Face * face) {&lt;br /&gt;
  Edge * edge = face.edge;&lt;br /&gt;
  Edge * current = NULL;&lt;br /&gt;
  &lt;br /&gt;
  bool goRight = (edge.face_right == face) ? true : false;&lt;br /&gt;
&lt;br /&gt;
  print(edge.vertex_end);&lt;br /&gt;
&lt;br /&gt;
  while( edge != current ) {&lt;br /&gt;
	 if( goRight ) {&lt;br /&gt;
		current = edge.loop_right;&lt;br /&gt;
	 } else {&lt;br /&gt;
		current = edge.loop_left;&lt;br /&gt;
	 }&lt;br /&gt;
&lt;br /&gt;
	 print(current.vertex_end);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===29. feladat===&lt;br /&gt;
Mik az Euler operátorok és miért van rájuk szükség.&lt;br /&gt;
Sünis könyv 75.o.&lt;br /&gt;
&lt;br /&gt;
====Megoldás====&lt;br /&gt;
&lt;br /&gt;
Euler egyenlet:&lt;br /&gt;
lapok + csúcsok = élek + 2&lt;br /&gt;
&lt;br /&gt;
Az Euler operátorokat poligonhálóra alkalmazva az Euler tulajdonság nem sérül.&lt;br /&gt;
&lt;br /&gt;
Típusai: &lt;br /&gt;
A, Él kettévágás&lt;br /&gt;
Egy él egy pontján felveszünk egy új csúcsot, ami ezáltal két élre bomlik.&lt;br /&gt;
A csúcsok száma eggyel, az élek száma szintén eggyel növekszik.&lt;br /&gt;
&lt;br /&gt;
B, Poligon kettévágás&lt;br /&gt;
Egy lap két csúcsát egy új éllel kötünk össze, ezáltal a lap két lapra esik szét.&lt;br /&gt;
Az éleg és a lapok száma egyaránt eggyel növekszik.&lt;br /&gt;
&lt;br /&gt;
C, Élzsugorítás&lt;br /&gt;
Egy élet egy pontba zsugorítunk. Az él eltűnik, a két végpontját egyesítjük.&lt;br /&gt;
Az élek száma eggyel csökkel, a csúcsok száma eggyel csökken.&lt;br /&gt;
Ha az élhez kapcsolódó egyik vagy minkét poligon egy háromszög, akkor az eltűnik, a a másik két éle pedig egyesül.&lt;br /&gt;
&lt;br /&gt;
D, Poligon kihúzás&lt;br /&gt;
Kiválasztunk egy lapot, és az elmozdítjuk az eredeti helyről, ehhez a kiválasztott lap éleit és csúcsait meg kell duplázni. Ha *e* éle van a kiválaszott lapnak, akkor *e* új él jön létre, és *e* új pont. Ezután az új pontokat össze kell kötni a nekik megfelelő régi pontokkal. (még *e* új él és *e* új lap.)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===30. feladat===&lt;br /&gt;
Írjon C++ nyelven egy CSG fát megvalósító osztályt.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===35. feladat===&lt;br /&gt;
Írjon erősen emelkedő szakaszt rajzoló programot, a Bresenham algoritmus alapján.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===36. feladat===&lt;br /&gt;
Írjon erősen emelkedő szakaszt rajzoló programot, a DDA algoritmus alapján.&lt;br /&gt;
&lt;br /&gt;
2008-as házi feladat keretben implementált DDA szakaszrajzoló algoritmus:&amp;lt;br&amp;gt;&lt;br /&gt;
{{InLineFileLink|Infoalap|SzgGrafFeladatok|DDA.cpp|DDA.cpp}}&amp;lt;br&amp;gt;&lt;br /&gt;
Erősen emelkedő szakaszokra kicsit furán viselkedik :)&amp;lt;br&amp;gt;&lt;br /&gt;
-- [[SikAndras|Bandita]] - 2009.01.02.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
----&lt;br /&gt;
===37. feladat===&lt;br /&gt;
Írjon programot, amely egy szakaszt egy konvex sokszögre vág.&lt;br /&gt;
&lt;br /&gt;
-- [[GergelyK|Geri]] - 2006.12.29.&lt;br /&gt;
-- [[PallosPeter|Peti]] - 2006.08.02.&lt;br /&gt;
-- [[SzelessZoltanTamas|Sales]] - 2006.07.27.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Infoalap]]&lt;/div&gt;</summary>
		<author><name>Makkos Bence</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_%C3%A9s_k%C3%A9pfeldolgoz%C3%A1s&amp;diff=189106</id>
		<title>Számítógépes grafika és képfeldolgozás</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_%C3%A9s_k%C3%A9pfeldolgoz%C3%A1s&amp;diff=189106"/>
		<updated>2016-05-12T09:09:41Z</updated>

		<summary type="html">&lt;p&gt;Makkos Bence: /* Ajánlott olvasmányok */ behúzás&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[TargynevAjanlas|Ajánlott rövidítés]]: grafika&lt;br /&gt;
&lt;br /&gt;
{{Tantárgy&lt;br /&gt;
|tárgykód=VIIIA316&lt;br /&gt;
|nev=Számítógépes grafika &amp;lt;br /&amp;gt; és képfeldolgozás&lt;br /&gt;
|szak=info&lt;br /&gt;
|kredit=4&lt;br /&gt;
|felev=5&lt;br /&gt;
|tanszék=IIT&lt;br /&gt;
|kiszh=nincs&lt;br /&gt;
|vizsga=írásbeli&lt;br /&gt;
|nagyzh=nincs&lt;br /&gt;
|hf=5 db&lt;br /&gt;
|tad=https://www.vik.bme.hu/kepzes/targyak/VIIIA316/&lt;br /&gt;
|targyhonlap=http://cg.iit.bme.hu/portal/szamitogepes-grafika&lt;br /&gt;
|levlista=grafika{{Kukac}}sch.bme.hu&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Követelmények==&lt;br /&gt;
&lt;br /&gt;
===Előtanulmányi rend===&lt;br /&gt;
[[Bevezetés a számításelméletbe I.|Bevezetés a számításelméletbe 1.]] tárgyból kredit megszerzése szükséges a tárgy felvételéhez és legkorábban a [[Szoftver labor III.|Szoftver laboratórium 3.]] tárggyal vehető fel együtt.&lt;br /&gt;
&lt;br /&gt;
===A szorgalmi időszakban===&lt;br /&gt;
*Az &#039;&#039;&#039;aláírás feltételei:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;Házi feladatok leadása&#039;&#039;&#039;. 5 db kis házi feladat van, ezekből 3-at kell sikeresen megcsinálni és az erre kijelölt [https://cg.iit.bme.hu/grafhazi/ portálon] feltölteni. Opcionálisan, az oktatóval előre egyeztetett módon nagy házi feladat is készíthető, mely kiválthat két kis házi feladatot. &lt;br /&gt;
**&#039;&#039;&#039;Házi feladatok védése&#039;&#039;&#039;. A védés arra szolgál, hogy megbizonyosodjanak róla, hogy Te írtad a beadott házijaidat. Ennek megfelelően ez nem egy vizsga a teljes anyagból, hanem a háziban alkalmazott megoldásaidat kell tudnod elmagyarázni és azzal kapcsolatban kérdésekre felelni. Ha tényleg te írtad meg a házikat, akkor ez semmilyen problémát nem jelenthet.&lt;br /&gt;
*&#039;&#039;&#039;Megajánlott jegy:&#039;&#039;&#039; van, 5 kiemelkedően jó házi feladat leadása és azok megvédése szükséges a megajánlott ötöshöz. A sikeres védéshez itt már szükséges a tárgy teljes anyagának (beleértve a sugárkövetést és az árnyalóprogramozást is) az implementációs részleteken túlmutató, alapos ismerete, amely alapján a védésen úgy ítélik meg, hogy a vizsgán is teljes bizonyossággal ötös születne.&lt;br /&gt;
*&#039;&#039;&#039;Pótlási lehetőségek:&#039;&#039;&#039;&lt;br /&gt;
**A házi feladatok nem pótolhatók.&lt;br /&gt;
*&#039;&#039;&#039;Elővizsga:&#039;&#039;&#039; nincs.&lt;br /&gt;
*&#039;&#039;&#039;2014 tavaszi félévtől&#039;&#039;&#039; Négy házi feladat van, viszont a sugárkövetéses házi dupla pontszámmal kerül beszámításra.&lt;br /&gt;
*&#039;&#039;&#039;2015 tavaszi félévtől&#039;&#039;&#039; Három házi feladat van, az első 1 pontot, míg a másik kettő 2-2 pontot ér, amiket a vizsgába beszámítanak.&lt;br /&gt;
*&#039;&#039;&#039;Kontakt órák&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;Előadás:&#039;&#039;&#039; Minden héten 2X2. &lt;br /&gt;
**&#039;&#039;&#039;Gyakorlat:&#039;&#039;&#039; Nincs.&lt;br /&gt;
&lt;br /&gt;
===A vizsgaidőszakban===&lt;br /&gt;
*&#039;&#039;&#039;Vizsga:&#039;&#039;&#039; írásbeli, 30 pontot lehet rajta elérni, min. 40% (12 pont) kell az elégségeshez.&lt;br /&gt;
**Előfeltétele: az aláírás megléte.&lt;br /&gt;
&lt;br /&gt;
===Félévvégi jegy===&lt;br /&gt;
*A jegyet a vizsga pontszáma (V)  adja, de a házi feladatok (HF&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;) pontjai (P) feljavíthatják azt a következő módon:&lt;br /&gt;
*&amp;lt;math&amp;gt;P= V + \min\left(V,\sum\limits_{i= 1}^5 2*HF_i\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
*Ponthatárok:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!P!!Jegy&lt;br /&gt;
|-&lt;br /&gt;
| 0 - 11 || 1&lt;br /&gt;
|-&lt;br /&gt;
|12 - 14 || 2&lt;br /&gt;
|-&lt;br /&gt;
|15 - 17 || 3&lt;br /&gt;
|-&lt;br /&gt;
|18 - 20 || 4&lt;br /&gt;
|-&lt;br /&gt;
|21 - 30 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Segédanyagok ==&lt;br /&gt;
&lt;br /&gt;
=== Előadásdiák ===&lt;br /&gt;
 &lt;br /&gt;
* [[Media:grafika_eloadasdiak_20151219_merged.pdf | 2015 őszi félév előadásdiái összefűzve]]&lt;br /&gt;
* [[Media:grafika_foliak_2013osz_merged.pdf|2013 őszi félév fóliái összefűzve]] - néhol téglalapok vannak a szövegben, ezért olvashatatlan&lt;br /&gt;
* [[Media:Grafika_diasor_szirmayfull.pdf|Nyomtatóbarát dia összeválogatás]]&lt;br /&gt;
* [[SzgGrafEA2010_Tavasz|2009/2010 tavaszi félév diái]]&lt;br /&gt;
&lt;br /&gt;
=== Hallgatók által írt összefoglalók ===&lt;br /&gt;
&lt;br /&gt;
* [[Számítógépes_grafika_házi_feladat_tutorial|Csala Tamás: Grafika házi tutorial, példaprogramokkal]]&lt;br /&gt;
* [https://docs.google.com/document/d/1MLIdbJ-OsD0Rp5auOyH10MSmHW1mC3cNcAzHICoQ3Cc/edit Google doksi a kiadott vizsgafeladatok és korábbi vizsgák megoldására]&lt;br /&gt;
* [[Grafika_hibakezelés_és_tipikus_hibák|Hibakezelés és tipikus hibák]]&lt;br /&gt;
&lt;br /&gt;
=== Könyv === &lt;br /&gt;
&lt;br /&gt;
* [[Media:Grafika_jegyzet_OpenGL.pdf|Juhász Imre: OpenGL]] (csak érdeklődőknek, ez sokkal részletesebb, mint ami a tárgyhoz kell)&lt;br /&gt;
&lt;br /&gt;
=== Videó ===&lt;br /&gt;
A 2009 őszi kurzusról videofelvétel készült, elérhető a [http://videotorium.hu/hu/categories/details/1083,Szamitogepes_grafika Videotorium]-on streamelve, vagy a [http://video.bme.hu/index.php?act=vid&amp;amp;tkod=BMEVGR régi oldalán] egyben letölthető. Egyes előadásokról nem készült felvétel (1,3,4)&lt;br /&gt;
&lt;br /&gt;
== Házik ==&lt;br /&gt;
A tárgy arról szól, hogy ezeket meg tudod-e írni. Az első órán el szokott hangzani, hogy vagy 5-sel, vagy 1-sel szeretik értékelni a munkát, kettest csak az kap akit már sok év alatt sem sikerült megtanítani a tárgyra, de a tudása kezd körvonalazódni. Szóval ez a rész amire nagyon szükséged lesz!&lt;br /&gt;
&lt;br /&gt;
=== Korábbi házifeladat-kiírások ===&lt;br /&gt;
&lt;br /&gt;
* [[Számítógépes_grafika_és_képfeldolgozás_házi_feladat_kiírások|Házifeladat-kiírások]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Feladatbeadó rendszer ===&lt;br /&gt;
&lt;br /&gt;
* [http://cg.iit.bme.hu/grafhazi cg.iit.bme.hu/grafhazi]&lt;br /&gt;
&lt;br /&gt;
===Előkészületek===&lt;br /&gt;
Mielőtt elkezdenéd be kell lőni a fejlesztőkörnyezetet:&lt;br /&gt;
* [[Számítógépes grafika: OpenGL + GLUT + fejlesztőkörnyezetek]] &amp;lt;&amp;lt; Ez az ajánlott olvasmány&lt;br /&gt;
&lt;br /&gt;
==== Külső linkek ====&lt;br /&gt;
* [http://mockid.net/?p=5 xCode OSX]&lt;br /&gt;
* [http://users.atw.hu/zelux/pub/vik/vik_cb_glut_bundle.rar Windowshoz gyorsan felrakható GLUT] -   ([http://www.sci.brooklyn.cuny.edu/~goetz/codeblocks/glut/ tutorial hozzá])&lt;br /&gt;
&lt;br /&gt;
=== Tippek a házikhoz ===&lt;br /&gt;
&lt;br /&gt;
Érdemes mind az 5 házit elfogadottra megcsinálni. &lt;br /&gt;
A házikat érdemes a kiadás napjától emészteni, és a leadás napján az a jó, ha már csak nagyon kicsi hibák vannak benne, mert a beadórendszer nagyon le tud lassulni. A határidő előtt 6 órával akárhogy áll töltsd fel, mert rossz azon elbukni 1-1 házit hogy bent maradt egy printf, csak már nem láttad az eredményt mert lejárt a határidő.&lt;br /&gt;
&lt;br /&gt;
Ha a határidő előtt 1-2 nappal akarod elkezdeni a munkát, és az anyagot még nem nagyon érted, akkor bele se kezdj egyedül.&lt;br /&gt;
&lt;br /&gt;
=== A feladatok ===&lt;br /&gt;
==== Első házi ====&lt;br /&gt;
Ez általában valamilyen 2D rajzolásos &amp;quot;játék&amp;quot;. Amit a házi megtanít, az az, hogy hogy kell a különböző koordinátarendszereket egymásnak megfeleltetni. Érdemes felfrissíteni a C++ tudást, mert Java után az emberek el szokták felejteni a nyelv sajátosságait.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédanyagok:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#Az_els.C5.91_h.C3.A1zihoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
* [http://www.inf.u-szeged.hu/oktatas/jegyzetek/KubaAttila/opengl_html/szak.html 2D-s rajzolás kezdőknek]&lt;br /&gt;
&lt;br /&gt;
==== Második házi ====&lt;br /&gt;
Ez valamilyen görberajzolási feladat szokott lenni, érdemes a jegyzeteket, könyveket elővenni. Nem szabad mindig az internetre hagyatkozni, a feladatok többnyire úgy vannak megfogalmazva, hogy a neten található kódok nem húzhatóak rájuk.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédanyagok:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#A_m.C3.A1sodik_h.C3.A1zihoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
* [http://www.geometrictools.com/LibMathematics/CurvesSurfacesVolumes/CurvesSurfacesVolumes.html Görbék minden mennyiségben]&lt;br /&gt;
* [[Média:Grafika_jegyzet_catmull-rom.pdf‎|Catmull-Rom levezetés]]&lt;br /&gt;
* [[Média:Grafika_jegyzet_dzhugashvili.pdf‎|Джугашвили levezetés]]&lt;br /&gt;
* [http://www.rhino3d.com/nurbs.htm NURBS magyarázat]&lt;br /&gt;
&lt;br /&gt;
==== Harmadik házi ====&lt;br /&gt;
Sugárkövetés. Ez megy a legkevésbé az embereknek, pedig ezzel lehet a legszebb képeket előállítani. Erősen igényel térgeometriai ismereteket.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédanyagok:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#A_harmadik_h.C3.A1zihoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
* [[Média:Grafika_tutorial_20110410_Raytracing_-_Farkas_Adam_Attila_-wolfee-_levlistarol_(rt).pdf|Sugárkövetés tutorial (by Wolfee, 2011.04.11)]] (A benne lévő kódokat semmiképp NE használjátok fel egy az egyben a házi feladatokban (ld. plágiumgyanú), az anyag csupán iránymutatás, a megértést segíti!!)&lt;br /&gt;
** a szerző (Farkas Ádám Attila) [https://lists.sch.bme.hu/wws/arc/grafika/2011-09/msg00052.html levlistán, 2011.09.09-én felhívta a figyelmet] Dr. Szirmay-Kalos László kóddal kapcsolatos aggályaira: &#039;&#039;&amp;quot;a pdf-fel tényleg óvatosan bánjatok, a legfőbb kifogások a Tanár Úr részéről: Kamerakezelés. én pont-szerű kamerával dolgoztam annó. na nem ez a matematikailag korrekt módja a dolognak, de a pdf-be megteszi. Színkezelés. én 0..255ös skálával dolgoztam (amikor számolni kellett vele, akkor normáltam persze), de T. Ú. azt mondta, hogy végig 0..1 tartománnyal kéne számolni.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Negyedik házi ====&lt;br /&gt;
Az első 3D-s OpenGL feladat. Tipikusan a korábbi házikhoz kellő elméletre itt is visszaköszönhetnek, pl görbéket elég gyakran kell használni ebben a háziban is. Ezt a házit érdemes jól megcsinálni mert az 5. erre épül.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédletek:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#A_negyedik_.C3.A9s_az_.C3.B6t.C3.B6dik_h.C3.A1zikhoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
* [http://www.falloutsoftware.com/tutorials/gl/gl8.htm Megvilágítás]&lt;br /&gt;
* [http://www.gamedev.net/reference/articles/article947.asp Textúrázás] &lt;br /&gt;
&lt;br /&gt;
==== Ötödik házi ====&lt;br /&gt;
A negyedik házi továbbfejlesztése, általában animációval, mozgással, fizikával. Itt általában új grafikai elemekre már nincs szükség.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédletek:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#A_negyedik_.C3.A9s_az_.C3.B6t.C3.B6dik_h.C3.A1zikhoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
&lt;br /&gt;
=== Védés ===&lt;br /&gt;
&lt;br /&gt;
A házikat nem elég megírni, meg is kell tudni védeni. A védésen nagyrészt azt kell bizonyítanod, hogy a házikat tényleg te írtad, de persze emelett az anyag többi részébe is belekérdezhetnek. A védés általában a pótlási héten van. Nem mindenkit hívnak be (csak kb minden harmadik embert). Ha nem hívtak be, az olyan, mint ha minden házidat megvédted volna. &lt;br /&gt;
&lt;br /&gt;
Tippek a védésre:&lt;br /&gt;
&lt;br /&gt;
Védésen örülnek neki amikor megkérdezik, hogy &amp;quot;na melyikből kérdezhetek?&amp;quot;, és mondod, hogy bármelyikből.&lt;br /&gt;
Védésre mindenképpen szedd össze az 5 házidat, és előtte legalább 1 órát tölts el a kódok felelevenítésével, mert bár akkor amikor írtad valószínű értetted, ez nem biztos hogy reflexből tudsz válaszolni 1-1 kérdésre, nem árt rákészülni picit, végülis ez egy szóbeli &amp;quot;vizsga&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Házi szépségverseny ===&lt;br /&gt;
Általában a sugárkövetéses (és néha az 5.) házira hirdetnek meg szépségversenyt, a helyezések plussz pontot érnek. A 2013 őszi félévben egy 3. helyezés 0.5, egy 2. helyezés 1, míg az első helyezettnek 1.5 elfogadott házi lett a jutalma. A versenyre egy a háziról készült youtube videóval lehet nevezni, az előadónak küldött e-mailel. A versenyeken jó helyezés eléréséhez általában a specifikáció teljeseítése még nem elég, valami pluszt is tegyél bele, ha nyerni akarsz.&lt;br /&gt;
&lt;br /&gt;
== Vizsga ==&lt;br /&gt;
* 2014 őszi félév&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2015.01.12.|2015-01-12]]&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2015.01.06.|2015-01-06]]&lt;br /&gt;
&lt;br /&gt;
* 2013 őszi félév&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2014.01.03.|2014-01-03]]&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2014.01.10.|2014-01-10]]&lt;br /&gt;
&lt;br /&gt;
* 2013 tavaszi félév&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2013.06.05.|2013-06-05]]&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2013.06.19.|2013-06-19]]&lt;br /&gt;
&lt;br /&gt;
* 2012 tavaszi félév&lt;br /&gt;
** [[SzgGrafVizsga20120613 | 2012-06-13]]&lt;br /&gt;
** [[SzgGrafVizsga20120523 | 2012-05-23]]&lt;br /&gt;
&lt;br /&gt;
* 2010 tavaszi félév&lt;br /&gt;
** [[Media:Grafika_vizsga_20100618.png | 2010-06-18]]&lt;br /&gt;
** [[Media:Grafika_vizsga_20100528.jpg | 2010-05-28]]&lt;br /&gt;
&lt;br /&gt;
{{Rejtett | mutatott=Régebbi vizsgák | szöveg=&lt;br /&gt;
* 2009 őszi félév&lt;br /&gt;
** [[Media:Grafika_vizsga_20100120.jpg | 2010-01-20]]&lt;br /&gt;
** [[Media:Grafika_vizsga_20100106.jpg | 2010-01-06]]&lt;br /&gt;
** [[SzgGrafVizsga20091222 | 2009-12-22]]&lt;br /&gt;
&lt;br /&gt;
* 2009 tavaszi félév&lt;br /&gt;
** [[Media:Grafika_vizsga_20090618.jpg | 2009-06-18]]&lt;br /&gt;
** [[SzgGrafVizsga20090611|2009-06-11]]&lt;br /&gt;
** [[Media:Grafika_vizsga_20090528.JPG | 2009-05-28]]&lt;br /&gt;
&lt;br /&gt;
* 2008 őszi félév&lt;br /&gt;
** [[SzgGrafVizsga20090114|2009-01-14]]&lt;br /&gt;
** [[Media:Grafika_vizsga_20090107.jpg | 2009-01-07]]&lt;br /&gt;
** [[SzgGrafVizsga20081222|2008-12-22]]&lt;br /&gt;
&lt;br /&gt;
* 2008 tavaszi félév&lt;br /&gt;
** [[SzgGrafVizsga20080618|2008-06-18]]&lt;br /&gt;
** [[SzgGrafVizsga20080604|2008-06-04]]&lt;br /&gt;
** [[SzgGrafVizsga20080529|2008-05-29]]&lt;br /&gt;
&lt;br /&gt;
* 2007 őszi félév&lt;br /&gt;
** [[SzgGrafVizsga20080116|2008-01-16]]&lt;br /&gt;
** [[SzgGrafVizsga20080103|2008-01-03]]&lt;br /&gt;
** [[SzgGrafGyakIV20080103|2008-01-03 (gyakIV)]]&lt;br /&gt;
&lt;br /&gt;
* 2007 tavaszi félév&lt;br /&gt;
** [[SzgGrafVizsga20070530A|2007-05-30 A csoport]]&lt;br /&gt;
&lt;br /&gt;
* 2006 őszi félév&lt;br /&gt;
** [[SzgGrafVizsga20070116|2007-01-16]]&lt;br /&gt;
** [[SzgGrafVizsga20070108|2007-01-08]]&lt;br /&gt;
** [[SzgGrafVizsga20070102|2007-01-02]]&lt;br /&gt;
&lt;br /&gt;
* 2006 tavaszi félév&lt;br /&gt;
** [[SzgGrafVizsga20060620|2006-06-20]]&lt;br /&gt;
** [[SzgGrafVizsga20060601|2006-06-01]]&lt;br /&gt;
&lt;br /&gt;
* 2005 őszi félév&lt;br /&gt;
** [[SzgGrafVizsga20060117|2006-01-17]]&lt;br /&gt;
** [[SzgGrafVizsga20060110|2006-01-10]]&lt;br /&gt;
&lt;br /&gt;
* 2004 őszi félév&lt;br /&gt;
** [[Grafika_vizsga_2005_01_11_A_csoport|2005-01-11]]&lt;br /&gt;
** [[Grafika_vizsga_20050104|2005-01-04]]&lt;br /&gt;
}}&lt;br /&gt;
=== Segédletek a vizsgához ===&lt;br /&gt;
&lt;br /&gt;
* [[SzgGrafVizsgaTanacsok|Tanácsok vizsgára]] (Németh Balázs)&lt;br /&gt;
* [[SzgGrafKerdesKidolg|Kérdések kidolgozása]]&lt;br /&gt;
* [http://www.renyi.hu/~endre/csoportok/9.szakasz.xhtml Projektív sík transzformációi] &lt;br /&gt;
* [[GrafShader|Shaderek]]&lt;br /&gt;
* [[Média:Grafika_jegyzet_2011_kvaternio.pdf|Kvaterniós feladat]]&lt;br /&gt;
* http://www.eet.bme.hu/~szekely/ (Dr. Székely Vladimír; [http://www.eet.bme.hu/~szekely/szg4.ppt Fourier-módszerek a képfeldolgozásban], [http://www.eet.bme.hu/~szekely/szg5.ppt Képfeldolgozási esettanulmányok, képfájlformátumok])&lt;br /&gt;
&lt;br /&gt;
== Kedvcsináló ==&lt;br /&gt;
&lt;br /&gt;
* A programozásnak talán ez a legélvezesebb része, hiszen amit csinálsz, annak látványos eredménye is van.&lt;br /&gt;
* A legtöbb programozóban felmerül, hogy milyen jó lenne parancssori programok helyett inkább játékot írni. Itt nem csak, hogy lehetőséged van rá, de durván erre kapod a jegyet.&lt;br /&gt;
&#039;&#039;&#039;Mottók:&#039;&#039;&#039; &lt;br /&gt;
* A terroristák manapság főleg OpenGL függvényeket lopnak. Abban van az igazi biznisz.&lt;br /&gt;
* Az Avatar című animációs film már állítólag majdnem megajánlott 4-est ért, de sajnos nem volt mellé kész a négy házi feladat.&lt;br /&gt;
* Bal kezünk a billentyűzeten, jobb kezünkben az egér, a lábunk között meg szorongatjuk a joystickot.&lt;br /&gt;
* &#039;&#039;&amp;quot;Ha azt kérdeznénk önöktől vizsgán, amit előadáson elmondunk, akkor önök nem a Műszaki Egyetemre járnának, hanem a Színművészeti Főiskolára.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Egyéb információk==&lt;br /&gt;
&lt;br /&gt;
=== Angol nyelvű, többnyire nagyon részletes tutorialok érdeklődőknek ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.videotutorialsrock.com/ VideoTutorialsRock]. Hasznos kódok és tutorialok az abszolút kezdőknek. Sok képpel és magyarázattal.&lt;br /&gt;
* [http://nehe.gamedev.net/ NeHe]. Alapmű, viszont a WinAPI-s cuccokat érdemes belőle kihagyni. A példák végén általában van GLUT-os megvalósítás is.&lt;br /&gt;
* [http://www.lighthouse3d.com/tutorials/opengl-short-tutorials/ Lighthouse 3D]&lt;br /&gt;
&lt;br /&gt;
===Ajánlott olvasmányok===&lt;br /&gt;
&lt;br /&gt;
* [[Media:Grafika_jegyzet_OpenGL.pdf|Juhász Imre: OpenGL &amp;amp;mdash; mobiDIÁK könyvtár, 2005.12.30.]]&lt;br /&gt;
* Dr. Szirmay-Kalos László, Antal György, Csonka Ferenc: Háromdimenziós grafika, animáció és játékfejlesztés &amp;amp;mdash; ComputerBooks, 2003 (Ez a &amp;quot;sünis könyv&amp;quot;, ingyenesen letölthető [http://sirkan.iit.bme.hu/~szirmay/3Dgraf.pdf innen])&lt;br /&gt;
* Dr. Szirmay-Kalos László: Számítógépes grafika &amp;amp;mdash; ComputerBooks, 1999&lt;br /&gt;
** Az előző könyv 1999-es kiadása. A fraktálokról szóló fejezet csak ebben van benne. Egyébként az új kiadást érdemes elolvasni, mert sokkal részletesebben és érthetőbben magyarázza el a dolgokat. Ingyenesen letölthető [http://www.iit.bme.hu/~szirmay/grafika/graf.pdf innen].&lt;br /&gt;
* Székely Vladimír: Képfeldolgozás (55067) &amp;amp;mdash; Műegyetemi Kiadó, 2007&lt;br /&gt;
&lt;br /&gt;
{{Lábléc_-_Mérnök_informatikus_alapszak}}&lt;/div&gt;</summary>
		<author><name>Makkos Bence</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_%C3%A9s_k%C3%A9pfeldolgoz%C3%A1s&amp;diff=189105</id>
		<title>Számítógépes grafika és képfeldolgozás</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_%C3%A9s_k%C3%A9pfeldolgoz%C3%A1s&amp;diff=189105"/>
		<updated>2016-05-12T09:08:59Z</updated>

		<summary type="html">&lt;p&gt;Makkos Bence: /* Egyéb információk */  könyvrendelés eltávolítása - a sünis könyv is leltölthetővé vált&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[TargynevAjanlas|Ajánlott rövidítés]]: grafika&lt;br /&gt;
&lt;br /&gt;
{{Tantárgy&lt;br /&gt;
|tárgykód=VIIIA316&lt;br /&gt;
|nev=Számítógépes grafika &amp;lt;br /&amp;gt; és képfeldolgozás&lt;br /&gt;
|szak=info&lt;br /&gt;
|kredit=4&lt;br /&gt;
|felev=5&lt;br /&gt;
|tanszék=IIT&lt;br /&gt;
|kiszh=nincs&lt;br /&gt;
|vizsga=írásbeli&lt;br /&gt;
|nagyzh=nincs&lt;br /&gt;
|hf=5 db&lt;br /&gt;
|tad=https://www.vik.bme.hu/kepzes/targyak/VIIIA316/&lt;br /&gt;
|targyhonlap=http://cg.iit.bme.hu/portal/szamitogepes-grafika&lt;br /&gt;
|levlista=grafika{{Kukac}}sch.bme.hu&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Követelmények==&lt;br /&gt;
&lt;br /&gt;
===Előtanulmányi rend===&lt;br /&gt;
[[Bevezetés a számításelméletbe I.|Bevezetés a számításelméletbe 1.]] tárgyból kredit megszerzése szükséges a tárgy felvételéhez és legkorábban a [[Szoftver labor III.|Szoftver laboratórium 3.]] tárggyal vehető fel együtt.&lt;br /&gt;
&lt;br /&gt;
===A szorgalmi időszakban===&lt;br /&gt;
*Az &#039;&#039;&#039;aláírás feltételei:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;Házi feladatok leadása&#039;&#039;&#039;. 5 db kis házi feladat van, ezekből 3-at kell sikeresen megcsinálni és az erre kijelölt [https://cg.iit.bme.hu/grafhazi/ portálon] feltölteni. Opcionálisan, az oktatóval előre egyeztetett módon nagy házi feladat is készíthető, mely kiválthat két kis házi feladatot. &lt;br /&gt;
**&#039;&#039;&#039;Házi feladatok védése&#039;&#039;&#039;. A védés arra szolgál, hogy megbizonyosodjanak róla, hogy Te írtad a beadott házijaidat. Ennek megfelelően ez nem egy vizsga a teljes anyagból, hanem a háziban alkalmazott megoldásaidat kell tudnod elmagyarázni és azzal kapcsolatban kérdésekre felelni. Ha tényleg te írtad meg a házikat, akkor ez semmilyen problémát nem jelenthet.&lt;br /&gt;
*&#039;&#039;&#039;Megajánlott jegy:&#039;&#039;&#039; van, 5 kiemelkedően jó házi feladat leadása és azok megvédése szükséges a megajánlott ötöshöz. A sikeres védéshez itt már szükséges a tárgy teljes anyagának (beleértve a sugárkövetést és az árnyalóprogramozást is) az implementációs részleteken túlmutató, alapos ismerete, amely alapján a védésen úgy ítélik meg, hogy a vizsgán is teljes bizonyossággal ötös születne.&lt;br /&gt;
*&#039;&#039;&#039;Pótlási lehetőségek:&#039;&#039;&#039;&lt;br /&gt;
**A házi feladatok nem pótolhatók.&lt;br /&gt;
*&#039;&#039;&#039;Elővizsga:&#039;&#039;&#039; nincs.&lt;br /&gt;
*&#039;&#039;&#039;2014 tavaszi félévtől&#039;&#039;&#039; Négy házi feladat van, viszont a sugárkövetéses házi dupla pontszámmal kerül beszámításra.&lt;br /&gt;
*&#039;&#039;&#039;2015 tavaszi félévtől&#039;&#039;&#039; Három házi feladat van, az első 1 pontot, míg a másik kettő 2-2 pontot ér, amiket a vizsgába beszámítanak.&lt;br /&gt;
*&#039;&#039;&#039;Kontakt órák&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;Előadás:&#039;&#039;&#039; Minden héten 2X2. &lt;br /&gt;
**&#039;&#039;&#039;Gyakorlat:&#039;&#039;&#039; Nincs.&lt;br /&gt;
&lt;br /&gt;
===A vizsgaidőszakban===&lt;br /&gt;
*&#039;&#039;&#039;Vizsga:&#039;&#039;&#039; írásbeli, 30 pontot lehet rajta elérni, min. 40% (12 pont) kell az elégségeshez.&lt;br /&gt;
**Előfeltétele: az aláírás megléte.&lt;br /&gt;
&lt;br /&gt;
===Félévvégi jegy===&lt;br /&gt;
*A jegyet a vizsga pontszáma (V)  adja, de a házi feladatok (HF&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;) pontjai (P) feljavíthatják azt a következő módon:&lt;br /&gt;
*&amp;lt;math&amp;gt;P= V + \min\left(V,\sum\limits_{i= 1}^5 2*HF_i\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
*Ponthatárok:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!P!!Jegy&lt;br /&gt;
|-&lt;br /&gt;
| 0 - 11 || 1&lt;br /&gt;
|-&lt;br /&gt;
|12 - 14 || 2&lt;br /&gt;
|-&lt;br /&gt;
|15 - 17 || 3&lt;br /&gt;
|-&lt;br /&gt;
|18 - 20 || 4&lt;br /&gt;
|-&lt;br /&gt;
|21 - 30 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Segédanyagok ==&lt;br /&gt;
&lt;br /&gt;
=== Előadásdiák ===&lt;br /&gt;
 &lt;br /&gt;
* [[Media:grafika_eloadasdiak_20151219_merged.pdf | 2015 őszi félév előadásdiái összefűzve]]&lt;br /&gt;
* [[Media:grafika_foliak_2013osz_merged.pdf|2013 őszi félév fóliái összefűzve]] - néhol téglalapok vannak a szövegben, ezért olvashatatlan&lt;br /&gt;
* [[Media:Grafika_diasor_szirmayfull.pdf|Nyomtatóbarát dia összeválogatás]]&lt;br /&gt;
* [[SzgGrafEA2010_Tavasz|2009/2010 tavaszi félév diái]]&lt;br /&gt;
&lt;br /&gt;
=== Hallgatók által írt összefoglalók ===&lt;br /&gt;
&lt;br /&gt;
* [[Számítógépes_grafika_házi_feladat_tutorial|Csala Tamás: Grafika házi tutorial, példaprogramokkal]]&lt;br /&gt;
* [https://docs.google.com/document/d/1MLIdbJ-OsD0Rp5auOyH10MSmHW1mC3cNcAzHICoQ3Cc/edit Google doksi a kiadott vizsgafeladatok és korábbi vizsgák megoldására]&lt;br /&gt;
* [[Grafika_hibakezelés_és_tipikus_hibák|Hibakezelés és tipikus hibák]]&lt;br /&gt;
&lt;br /&gt;
=== Könyv === &lt;br /&gt;
&lt;br /&gt;
* [[Media:Grafika_jegyzet_OpenGL.pdf|Juhász Imre: OpenGL]] (csak érdeklődőknek, ez sokkal részletesebb, mint ami a tárgyhoz kell)&lt;br /&gt;
&lt;br /&gt;
=== Videó ===&lt;br /&gt;
A 2009 őszi kurzusról videofelvétel készült, elérhető a [http://videotorium.hu/hu/categories/details/1083,Szamitogepes_grafika Videotorium]-on streamelve, vagy a [http://video.bme.hu/index.php?act=vid&amp;amp;tkod=BMEVGR régi oldalán] egyben letölthető. Egyes előadásokról nem készült felvétel (1,3,4)&lt;br /&gt;
&lt;br /&gt;
== Házik ==&lt;br /&gt;
A tárgy arról szól, hogy ezeket meg tudod-e írni. Az első órán el szokott hangzani, hogy vagy 5-sel, vagy 1-sel szeretik értékelni a munkát, kettest csak az kap akit már sok év alatt sem sikerült megtanítani a tárgyra, de a tudása kezd körvonalazódni. Szóval ez a rész amire nagyon szükséged lesz!&lt;br /&gt;
&lt;br /&gt;
=== Korábbi házifeladat-kiírások ===&lt;br /&gt;
&lt;br /&gt;
* [[Számítógépes_grafika_és_képfeldolgozás_házi_feladat_kiírások|Házifeladat-kiírások]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Feladatbeadó rendszer ===&lt;br /&gt;
&lt;br /&gt;
* [http://cg.iit.bme.hu/grafhazi cg.iit.bme.hu/grafhazi]&lt;br /&gt;
&lt;br /&gt;
===Előkészületek===&lt;br /&gt;
Mielőtt elkezdenéd be kell lőni a fejlesztőkörnyezetet:&lt;br /&gt;
* [[Számítógépes grafika: OpenGL + GLUT + fejlesztőkörnyezetek]] &amp;lt;&amp;lt; Ez az ajánlott olvasmány&lt;br /&gt;
&lt;br /&gt;
==== Külső linkek ====&lt;br /&gt;
* [http://mockid.net/?p=5 xCode OSX]&lt;br /&gt;
* [http://users.atw.hu/zelux/pub/vik/vik_cb_glut_bundle.rar Windowshoz gyorsan felrakható GLUT] -   ([http://www.sci.brooklyn.cuny.edu/~goetz/codeblocks/glut/ tutorial hozzá])&lt;br /&gt;
&lt;br /&gt;
=== Tippek a házikhoz ===&lt;br /&gt;
&lt;br /&gt;
Érdemes mind az 5 házit elfogadottra megcsinálni. &lt;br /&gt;
A házikat érdemes a kiadás napjától emészteni, és a leadás napján az a jó, ha már csak nagyon kicsi hibák vannak benne, mert a beadórendszer nagyon le tud lassulni. A határidő előtt 6 órával akárhogy áll töltsd fel, mert rossz azon elbukni 1-1 házit hogy bent maradt egy printf, csak már nem láttad az eredményt mert lejárt a határidő.&lt;br /&gt;
&lt;br /&gt;
Ha a határidő előtt 1-2 nappal akarod elkezdeni a munkát, és az anyagot még nem nagyon érted, akkor bele se kezdj egyedül.&lt;br /&gt;
&lt;br /&gt;
=== A feladatok ===&lt;br /&gt;
==== Első házi ====&lt;br /&gt;
Ez általában valamilyen 2D rajzolásos &amp;quot;játék&amp;quot;. Amit a házi megtanít, az az, hogy hogy kell a különböző koordinátarendszereket egymásnak megfeleltetni. Érdemes felfrissíteni a C++ tudást, mert Java után az emberek el szokták felejteni a nyelv sajátosságait.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédanyagok:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#Az_els.C5.91_h.C3.A1zihoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
* [http://www.inf.u-szeged.hu/oktatas/jegyzetek/KubaAttila/opengl_html/szak.html 2D-s rajzolás kezdőknek]&lt;br /&gt;
&lt;br /&gt;
==== Második házi ====&lt;br /&gt;
Ez valamilyen görberajzolási feladat szokott lenni, érdemes a jegyzeteket, könyveket elővenni. Nem szabad mindig az internetre hagyatkozni, a feladatok többnyire úgy vannak megfogalmazva, hogy a neten található kódok nem húzhatóak rájuk.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédanyagok:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#A_m.C3.A1sodik_h.C3.A1zihoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
* [http://www.geometrictools.com/LibMathematics/CurvesSurfacesVolumes/CurvesSurfacesVolumes.html Görbék minden mennyiségben]&lt;br /&gt;
* [[Média:Grafika_jegyzet_catmull-rom.pdf‎|Catmull-Rom levezetés]]&lt;br /&gt;
* [[Média:Grafika_jegyzet_dzhugashvili.pdf‎|Джугашвили levezetés]]&lt;br /&gt;
* [http://www.rhino3d.com/nurbs.htm NURBS magyarázat]&lt;br /&gt;
&lt;br /&gt;
==== Harmadik házi ====&lt;br /&gt;
Sugárkövetés. Ez megy a legkevésbé az embereknek, pedig ezzel lehet a legszebb képeket előállítani. Erősen igényel térgeometriai ismereteket.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédanyagok:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#A_harmadik_h.C3.A1zihoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
* [[Média:Grafika_tutorial_20110410_Raytracing_-_Farkas_Adam_Attila_-wolfee-_levlistarol_(rt).pdf|Sugárkövetés tutorial (by Wolfee, 2011.04.11)]] (A benne lévő kódokat semmiképp NE használjátok fel egy az egyben a házi feladatokban (ld. plágiumgyanú), az anyag csupán iránymutatás, a megértést segíti!!)&lt;br /&gt;
** a szerző (Farkas Ádám Attila) [https://lists.sch.bme.hu/wws/arc/grafika/2011-09/msg00052.html levlistán, 2011.09.09-én felhívta a figyelmet] Dr. Szirmay-Kalos László kóddal kapcsolatos aggályaira: &#039;&#039;&amp;quot;a pdf-fel tényleg óvatosan bánjatok, a legfőbb kifogások a Tanár Úr részéről: Kamerakezelés. én pont-szerű kamerával dolgoztam annó. na nem ez a matematikailag korrekt módja a dolognak, de a pdf-be megteszi. Színkezelés. én 0..255ös skálával dolgoztam (amikor számolni kellett vele, akkor normáltam persze), de T. Ú. azt mondta, hogy végig 0..1 tartománnyal kéne számolni.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Negyedik házi ====&lt;br /&gt;
Az első 3D-s OpenGL feladat. Tipikusan a korábbi házikhoz kellő elméletre itt is visszaköszönhetnek, pl görbéket elég gyakran kell használni ebben a háziban is. Ezt a házit érdemes jól megcsinálni mert az 5. erre épül.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédletek:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#A_negyedik_.C3.A9s_az_.C3.B6t.C3.B6dik_h.C3.A1zikhoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
* [http://www.falloutsoftware.com/tutorials/gl/gl8.htm Megvilágítás]&lt;br /&gt;
* [http://www.gamedev.net/reference/articles/article947.asp Textúrázás] &lt;br /&gt;
&lt;br /&gt;
==== Ötödik házi ====&lt;br /&gt;
A negyedik házi továbbfejlesztése, általában animációval, mozgással, fizikával. Itt általában új grafikai elemekre már nincs szükség.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédletek:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#A_negyedik_.C3.A9s_az_.C3.B6t.C3.B6dik_h.C3.A1zikhoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
&lt;br /&gt;
=== Védés ===&lt;br /&gt;
&lt;br /&gt;
A házikat nem elég megírni, meg is kell tudni védeni. A védésen nagyrészt azt kell bizonyítanod, hogy a házikat tényleg te írtad, de persze emelett az anyag többi részébe is belekérdezhetnek. A védés általában a pótlási héten van. Nem mindenkit hívnak be (csak kb minden harmadik embert). Ha nem hívtak be, az olyan, mint ha minden házidat megvédted volna. &lt;br /&gt;
&lt;br /&gt;
Tippek a védésre:&lt;br /&gt;
&lt;br /&gt;
Védésen örülnek neki amikor megkérdezik, hogy &amp;quot;na melyikből kérdezhetek?&amp;quot;, és mondod, hogy bármelyikből.&lt;br /&gt;
Védésre mindenképpen szedd össze az 5 házidat, és előtte legalább 1 órát tölts el a kódok felelevenítésével, mert bár akkor amikor írtad valószínű értetted, ez nem biztos hogy reflexből tudsz válaszolni 1-1 kérdésre, nem árt rákészülni picit, végülis ez egy szóbeli &amp;quot;vizsga&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Házi szépségverseny ===&lt;br /&gt;
Általában a sugárkövetéses (és néha az 5.) házira hirdetnek meg szépségversenyt, a helyezések plussz pontot érnek. A 2013 őszi félévben egy 3. helyezés 0.5, egy 2. helyezés 1, míg az első helyezettnek 1.5 elfogadott házi lett a jutalma. A versenyre egy a háziról készült youtube videóval lehet nevezni, az előadónak küldött e-mailel. A versenyeken jó helyezés eléréséhez általában a specifikáció teljeseítése még nem elég, valami pluszt is tegyél bele, ha nyerni akarsz.&lt;br /&gt;
&lt;br /&gt;
== Vizsga ==&lt;br /&gt;
* 2014 őszi félév&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2015.01.12.|2015-01-12]]&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2015.01.06.|2015-01-06]]&lt;br /&gt;
&lt;br /&gt;
* 2013 őszi félév&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2014.01.03.|2014-01-03]]&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2014.01.10.|2014-01-10]]&lt;br /&gt;
&lt;br /&gt;
* 2013 tavaszi félév&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2013.06.05.|2013-06-05]]&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2013.06.19.|2013-06-19]]&lt;br /&gt;
&lt;br /&gt;
* 2012 tavaszi félév&lt;br /&gt;
** [[SzgGrafVizsga20120613 | 2012-06-13]]&lt;br /&gt;
** [[SzgGrafVizsga20120523 | 2012-05-23]]&lt;br /&gt;
&lt;br /&gt;
* 2010 tavaszi félév&lt;br /&gt;
** [[Media:Grafika_vizsga_20100618.png | 2010-06-18]]&lt;br /&gt;
** [[Media:Grafika_vizsga_20100528.jpg | 2010-05-28]]&lt;br /&gt;
&lt;br /&gt;
{{Rejtett | mutatott=Régebbi vizsgák | szöveg=&lt;br /&gt;
* 2009 őszi félév&lt;br /&gt;
** [[Media:Grafika_vizsga_20100120.jpg | 2010-01-20]]&lt;br /&gt;
** [[Media:Grafika_vizsga_20100106.jpg | 2010-01-06]]&lt;br /&gt;
** [[SzgGrafVizsga20091222 | 2009-12-22]]&lt;br /&gt;
&lt;br /&gt;
* 2009 tavaszi félév&lt;br /&gt;
** [[Media:Grafika_vizsga_20090618.jpg | 2009-06-18]]&lt;br /&gt;
** [[SzgGrafVizsga20090611|2009-06-11]]&lt;br /&gt;
** [[Media:Grafika_vizsga_20090528.JPG | 2009-05-28]]&lt;br /&gt;
&lt;br /&gt;
* 2008 őszi félév&lt;br /&gt;
** [[SzgGrafVizsga20090114|2009-01-14]]&lt;br /&gt;
** [[Media:Grafika_vizsga_20090107.jpg | 2009-01-07]]&lt;br /&gt;
** [[SzgGrafVizsga20081222|2008-12-22]]&lt;br /&gt;
&lt;br /&gt;
* 2008 tavaszi félév&lt;br /&gt;
** [[SzgGrafVizsga20080618|2008-06-18]]&lt;br /&gt;
** [[SzgGrafVizsga20080604|2008-06-04]]&lt;br /&gt;
** [[SzgGrafVizsga20080529|2008-05-29]]&lt;br /&gt;
&lt;br /&gt;
* 2007 őszi félév&lt;br /&gt;
** [[SzgGrafVizsga20080116|2008-01-16]]&lt;br /&gt;
** [[SzgGrafVizsga20080103|2008-01-03]]&lt;br /&gt;
** [[SzgGrafGyakIV20080103|2008-01-03 (gyakIV)]]&lt;br /&gt;
&lt;br /&gt;
* 2007 tavaszi félév&lt;br /&gt;
** [[SzgGrafVizsga20070530A|2007-05-30 A csoport]]&lt;br /&gt;
&lt;br /&gt;
* 2006 őszi félév&lt;br /&gt;
** [[SzgGrafVizsga20070116|2007-01-16]]&lt;br /&gt;
** [[SzgGrafVizsga20070108|2007-01-08]]&lt;br /&gt;
** [[SzgGrafVizsga20070102|2007-01-02]]&lt;br /&gt;
&lt;br /&gt;
* 2006 tavaszi félév&lt;br /&gt;
** [[SzgGrafVizsga20060620|2006-06-20]]&lt;br /&gt;
** [[SzgGrafVizsga20060601|2006-06-01]]&lt;br /&gt;
&lt;br /&gt;
* 2005 őszi félév&lt;br /&gt;
** [[SzgGrafVizsga20060117|2006-01-17]]&lt;br /&gt;
** [[SzgGrafVizsga20060110|2006-01-10]]&lt;br /&gt;
&lt;br /&gt;
* 2004 őszi félév&lt;br /&gt;
** [[Grafika_vizsga_2005_01_11_A_csoport|2005-01-11]]&lt;br /&gt;
** [[Grafika_vizsga_20050104|2005-01-04]]&lt;br /&gt;
}}&lt;br /&gt;
=== Segédletek a vizsgához ===&lt;br /&gt;
&lt;br /&gt;
* [[SzgGrafVizsgaTanacsok|Tanácsok vizsgára]] (Németh Balázs)&lt;br /&gt;
* [[SzgGrafKerdesKidolg|Kérdések kidolgozása]]&lt;br /&gt;
* [http://www.renyi.hu/~endre/csoportok/9.szakasz.xhtml Projektív sík transzformációi] &lt;br /&gt;
* [[GrafShader|Shaderek]]&lt;br /&gt;
* [[Média:Grafika_jegyzet_2011_kvaternio.pdf|Kvaterniós feladat]]&lt;br /&gt;
* http://www.eet.bme.hu/~szekely/ (Dr. Székely Vladimír; [http://www.eet.bme.hu/~szekely/szg4.ppt Fourier-módszerek a képfeldolgozásban], [http://www.eet.bme.hu/~szekely/szg5.ppt Képfeldolgozási esettanulmányok, képfájlformátumok])&lt;br /&gt;
&lt;br /&gt;
== Kedvcsináló ==&lt;br /&gt;
&lt;br /&gt;
* A programozásnak talán ez a legélvezesebb része, hiszen amit csinálsz, annak látványos eredménye is van.&lt;br /&gt;
* A legtöbb programozóban felmerül, hogy milyen jó lenne parancssori programok helyett inkább játékot írni. Itt nem csak, hogy lehetőséged van rá, de durván erre kapod a jegyet.&lt;br /&gt;
&#039;&#039;&#039;Mottók:&#039;&#039;&#039; &lt;br /&gt;
* A terroristák manapság főleg OpenGL függvényeket lopnak. Abban van az igazi biznisz.&lt;br /&gt;
* Az Avatar című animációs film már állítólag majdnem megajánlott 4-est ért, de sajnos nem volt mellé kész a négy házi feladat.&lt;br /&gt;
* Bal kezünk a billentyűzeten, jobb kezünkben az egér, a lábunk között meg szorongatjuk a joystickot.&lt;br /&gt;
* &#039;&#039;&amp;quot;Ha azt kérdeznénk önöktől vizsgán, amit előadáson elmondunk, akkor önök nem a Műszaki Egyetemre járnának, hanem a Színművészeti Főiskolára.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Egyéb információk==&lt;br /&gt;
&lt;br /&gt;
=== Angol nyelvű, többnyire nagyon részletes tutorialok érdeklődőknek ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.videotutorialsrock.com/ VideoTutorialsRock]. Hasznos kódok és tutorialok az abszolút kezdőknek. Sok képpel és magyarázattal.&lt;br /&gt;
* [http://nehe.gamedev.net/ NeHe]. Alapmű, viszont a WinAPI-s cuccokat érdemes belőle kihagyni. A példák végén általában van GLUT-os megvalósítás is.&lt;br /&gt;
* [http://www.lighthouse3d.com/tutorials/opengl-short-tutorials/ Lighthouse 3D]&lt;br /&gt;
&lt;br /&gt;
===Ajánlott olvasmányok===&lt;br /&gt;
&lt;br /&gt;
* [[Media:Grafika_jegyzet_OpenGL.pdf|Juhász Imre: OpenGL &amp;amp;mdash; mobiDIÁK könyvtár, 2005.12.30.]]&lt;br /&gt;
* Dr. Szirmay-Kalos László, Antal György, Csonka Ferenc: Háromdimenziós grafika, animáció és játékfejlesztés &amp;amp;mdash; ComputerBooks, 2003 (Ez a &amp;quot;sünis könyv&amp;quot;, ingyenesen letölthető [http://sirkan.iit.bme.hu/~szirmay/3Dgraf.pdf innen])&lt;br /&gt;
* Dr. Szirmay-Kalos László: Számítógépes grafika &amp;amp;mdash; ComputerBooks, 1999&lt;br /&gt;
* Az előző könyv 1999-es kiadása. A fraktálokról szóló fejezet csak ebben van benne. Egyébként az új kiadást érdemes elolvasni, mert sokkal részletesebben és érthetőbben magyarázza el a dolgokat. Ingyenesen letölthető [http://www.iit.bme.hu/~szirmay/grafika/graf.pdf innen].&lt;br /&gt;
* Székely Vladimír: Képfeldolgozás (55067) &amp;amp;mdash; Műegyetemi Kiadó, 2007&lt;br /&gt;
&lt;br /&gt;
{{Lábléc_-_Mérnök_informatikus_alapszak}}&lt;/div&gt;</summary>
		<author><name>Makkos Bence</name></author>
	</entry>
	<entry>
		<id>https://vik.wiki/index.php?title=Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_%C3%A9s_k%C3%A9pfeldolgoz%C3%A1s&amp;diff=189104</id>
		<title>Számítógépes grafika és képfeldolgozás</title>
		<link rel="alternate" type="text/html" href="https://vik.wiki/index.php?title=Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_%C3%A9s_k%C3%A9pfeldolgoz%C3%A1s&amp;diff=189104"/>
		<updated>2016-05-12T09:08:25Z</updated>

		<summary type="html">&lt;p&gt;Makkos Bence: /* Ajánlott olvasmányok */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[TargynevAjanlas|Ajánlott rövidítés]]: grafika&lt;br /&gt;
&lt;br /&gt;
{{Tantárgy&lt;br /&gt;
|tárgykód=VIIIA316&lt;br /&gt;
|nev=Számítógépes grafika &amp;lt;br /&amp;gt; és képfeldolgozás&lt;br /&gt;
|szak=info&lt;br /&gt;
|kredit=4&lt;br /&gt;
|felev=5&lt;br /&gt;
|tanszék=IIT&lt;br /&gt;
|kiszh=nincs&lt;br /&gt;
|vizsga=írásbeli&lt;br /&gt;
|nagyzh=nincs&lt;br /&gt;
|hf=5 db&lt;br /&gt;
|tad=https://www.vik.bme.hu/kepzes/targyak/VIIIA316/&lt;br /&gt;
|targyhonlap=http://cg.iit.bme.hu/portal/szamitogepes-grafika&lt;br /&gt;
|levlista=grafika{{Kukac}}sch.bme.hu&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Követelmények==&lt;br /&gt;
&lt;br /&gt;
===Előtanulmányi rend===&lt;br /&gt;
[[Bevezetés a számításelméletbe I.|Bevezetés a számításelméletbe 1.]] tárgyból kredit megszerzése szükséges a tárgy felvételéhez és legkorábban a [[Szoftver labor III.|Szoftver laboratórium 3.]] tárggyal vehető fel együtt.&lt;br /&gt;
&lt;br /&gt;
===A szorgalmi időszakban===&lt;br /&gt;
*Az &#039;&#039;&#039;aláírás feltételei:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;Házi feladatok leadása&#039;&#039;&#039;. 5 db kis házi feladat van, ezekből 3-at kell sikeresen megcsinálni és az erre kijelölt [https://cg.iit.bme.hu/grafhazi/ portálon] feltölteni. Opcionálisan, az oktatóval előre egyeztetett módon nagy házi feladat is készíthető, mely kiválthat két kis házi feladatot. &lt;br /&gt;
**&#039;&#039;&#039;Házi feladatok védése&#039;&#039;&#039;. A védés arra szolgál, hogy megbizonyosodjanak róla, hogy Te írtad a beadott házijaidat. Ennek megfelelően ez nem egy vizsga a teljes anyagból, hanem a háziban alkalmazott megoldásaidat kell tudnod elmagyarázni és azzal kapcsolatban kérdésekre felelni. Ha tényleg te írtad meg a házikat, akkor ez semmilyen problémát nem jelenthet.&lt;br /&gt;
*&#039;&#039;&#039;Megajánlott jegy:&#039;&#039;&#039; van, 5 kiemelkedően jó házi feladat leadása és azok megvédése szükséges a megajánlott ötöshöz. A sikeres védéshez itt már szükséges a tárgy teljes anyagának (beleértve a sugárkövetést és az árnyalóprogramozást is) az implementációs részleteken túlmutató, alapos ismerete, amely alapján a védésen úgy ítélik meg, hogy a vizsgán is teljes bizonyossággal ötös születne.&lt;br /&gt;
*&#039;&#039;&#039;Pótlási lehetőségek:&#039;&#039;&#039;&lt;br /&gt;
**A házi feladatok nem pótolhatók.&lt;br /&gt;
*&#039;&#039;&#039;Elővizsga:&#039;&#039;&#039; nincs.&lt;br /&gt;
*&#039;&#039;&#039;2014 tavaszi félévtől&#039;&#039;&#039; Négy házi feladat van, viszont a sugárkövetéses házi dupla pontszámmal kerül beszámításra.&lt;br /&gt;
*&#039;&#039;&#039;2015 tavaszi félévtől&#039;&#039;&#039; Három házi feladat van, az első 1 pontot, míg a másik kettő 2-2 pontot ér, amiket a vizsgába beszámítanak.&lt;br /&gt;
*&#039;&#039;&#039;Kontakt órák&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;Előadás:&#039;&#039;&#039; Minden héten 2X2. &lt;br /&gt;
**&#039;&#039;&#039;Gyakorlat:&#039;&#039;&#039; Nincs.&lt;br /&gt;
&lt;br /&gt;
===A vizsgaidőszakban===&lt;br /&gt;
*&#039;&#039;&#039;Vizsga:&#039;&#039;&#039; írásbeli, 30 pontot lehet rajta elérni, min. 40% (12 pont) kell az elégségeshez.&lt;br /&gt;
**Előfeltétele: az aláírás megléte.&lt;br /&gt;
&lt;br /&gt;
===Félévvégi jegy===&lt;br /&gt;
*A jegyet a vizsga pontszáma (V)  adja, de a házi feladatok (HF&amp;lt;sub&amp;gt;i&amp;lt;/sub&amp;gt;) pontjai (P) feljavíthatják azt a következő módon:&lt;br /&gt;
*&amp;lt;math&amp;gt;P= V + \min\left(V,\sum\limits_{i= 1}^5 2*HF_i\right)&amp;lt;/math&amp;gt;&lt;br /&gt;
*Ponthatárok:&lt;br /&gt;
:{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!P!!Jegy&lt;br /&gt;
|-&lt;br /&gt;
| 0 - 11 || 1&lt;br /&gt;
|-&lt;br /&gt;
|12 - 14 || 2&lt;br /&gt;
|-&lt;br /&gt;
|15 - 17 || 3&lt;br /&gt;
|-&lt;br /&gt;
|18 - 20 || 4&lt;br /&gt;
|-&lt;br /&gt;
|21 - 30 || 5&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Segédanyagok ==&lt;br /&gt;
&lt;br /&gt;
=== Előadásdiák ===&lt;br /&gt;
 &lt;br /&gt;
* [[Media:grafika_eloadasdiak_20151219_merged.pdf | 2015 őszi félév előadásdiái összefűzve]]&lt;br /&gt;
* [[Media:grafika_foliak_2013osz_merged.pdf|2013 őszi félév fóliái összefűzve]] - néhol téglalapok vannak a szövegben, ezért olvashatatlan&lt;br /&gt;
* [[Media:Grafika_diasor_szirmayfull.pdf|Nyomtatóbarát dia összeválogatás]]&lt;br /&gt;
* [[SzgGrafEA2010_Tavasz|2009/2010 tavaszi félév diái]]&lt;br /&gt;
&lt;br /&gt;
=== Hallgatók által írt összefoglalók ===&lt;br /&gt;
&lt;br /&gt;
* [[Számítógépes_grafika_házi_feladat_tutorial|Csala Tamás: Grafika házi tutorial, példaprogramokkal]]&lt;br /&gt;
* [https://docs.google.com/document/d/1MLIdbJ-OsD0Rp5auOyH10MSmHW1mC3cNcAzHICoQ3Cc/edit Google doksi a kiadott vizsgafeladatok és korábbi vizsgák megoldására]&lt;br /&gt;
* [[Grafika_hibakezelés_és_tipikus_hibák|Hibakezelés és tipikus hibák]]&lt;br /&gt;
&lt;br /&gt;
=== Könyv === &lt;br /&gt;
&lt;br /&gt;
* [[Media:Grafika_jegyzet_OpenGL.pdf|Juhász Imre: OpenGL]] (csak érdeklődőknek, ez sokkal részletesebb, mint ami a tárgyhoz kell)&lt;br /&gt;
&lt;br /&gt;
=== Videó ===&lt;br /&gt;
A 2009 őszi kurzusról videofelvétel készült, elérhető a [http://videotorium.hu/hu/categories/details/1083,Szamitogepes_grafika Videotorium]-on streamelve, vagy a [http://video.bme.hu/index.php?act=vid&amp;amp;tkod=BMEVGR régi oldalán] egyben letölthető. Egyes előadásokról nem készült felvétel (1,3,4)&lt;br /&gt;
&lt;br /&gt;
== Házik ==&lt;br /&gt;
A tárgy arról szól, hogy ezeket meg tudod-e írni. Az első órán el szokott hangzani, hogy vagy 5-sel, vagy 1-sel szeretik értékelni a munkát, kettest csak az kap akit már sok év alatt sem sikerült megtanítani a tárgyra, de a tudása kezd körvonalazódni. Szóval ez a rész amire nagyon szükséged lesz!&lt;br /&gt;
&lt;br /&gt;
=== Korábbi házifeladat-kiírások ===&lt;br /&gt;
&lt;br /&gt;
* [[Számítógépes_grafika_és_képfeldolgozás_házi_feladat_kiírások|Házifeladat-kiírások]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Feladatbeadó rendszer ===&lt;br /&gt;
&lt;br /&gt;
* [http://cg.iit.bme.hu/grafhazi cg.iit.bme.hu/grafhazi]&lt;br /&gt;
&lt;br /&gt;
===Előkészületek===&lt;br /&gt;
Mielőtt elkezdenéd be kell lőni a fejlesztőkörnyezetet:&lt;br /&gt;
* [[Számítógépes grafika: OpenGL + GLUT + fejlesztőkörnyezetek]] &amp;lt;&amp;lt; Ez az ajánlott olvasmány&lt;br /&gt;
&lt;br /&gt;
==== Külső linkek ====&lt;br /&gt;
* [http://mockid.net/?p=5 xCode OSX]&lt;br /&gt;
* [http://users.atw.hu/zelux/pub/vik/vik_cb_glut_bundle.rar Windowshoz gyorsan felrakható GLUT] -   ([http://www.sci.brooklyn.cuny.edu/~goetz/codeblocks/glut/ tutorial hozzá])&lt;br /&gt;
&lt;br /&gt;
=== Tippek a házikhoz ===&lt;br /&gt;
&lt;br /&gt;
Érdemes mind az 5 házit elfogadottra megcsinálni. &lt;br /&gt;
A házikat érdemes a kiadás napjától emészteni, és a leadás napján az a jó, ha már csak nagyon kicsi hibák vannak benne, mert a beadórendszer nagyon le tud lassulni. A határidő előtt 6 órával akárhogy áll töltsd fel, mert rossz azon elbukni 1-1 házit hogy bent maradt egy printf, csak már nem láttad az eredményt mert lejárt a határidő.&lt;br /&gt;
&lt;br /&gt;
Ha a határidő előtt 1-2 nappal akarod elkezdeni a munkát, és az anyagot még nem nagyon érted, akkor bele se kezdj egyedül.&lt;br /&gt;
&lt;br /&gt;
=== A feladatok ===&lt;br /&gt;
==== Első házi ====&lt;br /&gt;
Ez általában valamilyen 2D rajzolásos &amp;quot;játék&amp;quot;. Amit a házi megtanít, az az, hogy hogy kell a különböző koordinátarendszereket egymásnak megfeleltetni. Érdemes felfrissíteni a C++ tudást, mert Java után az emberek el szokták felejteni a nyelv sajátosságait.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédanyagok:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#Az_els.C5.91_h.C3.A1zihoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
* [http://www.inf.u-szeged.hu/oktatas/jegyzetek/KubaAttila/opengl_html/szak.html 2D-s rajzolás kezdőknek]&lt;br /&gt;
&lt;br /&gt;
==== Második házi ====&lt;br /&gt;
Ez valamilyen görberajzolási feladat szokott lenni, érdemes a jegyzeteket, könyveket elővenni. Nem szabad mindig az internetre hagyatkozni, a feladatok többnyire úgy vannak megfogalmazva, hogy a neten található kódok nem húzhatóak rájuk.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédanyagok:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#A_m.C3.A1sodik_h.C3.A1zihoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
* [http://www.geometrictools.com/LibMathematics/CurvesSurfacesVolumes/CurvesSurfacesVolumes.html Görbék minden mennyiségben]&lt;br /&gt;
* [[Média:Grafika_jegyzet_catmull-rom.pdf‎|Catmull-Rom levezetés]]&lt;br /&gt;
* [[Média:Grafika_jegyzet_dzhugashvili.pdf‎|Джугашвили levezetés]]&lt;br /&gt;
* [http://www.rhino3d.com/nurbs.htm NURBS magyarázat]&lt;br /&gt;
&lt;br /&gt;
==== Harmadik házi ====&lt;br /&gt;
Sugárkövetés. Ez megy a legkevésbé az embereknek, pedig ezzel lehet a legszebb képeket előállítani. Erősen igényel térgeometriai ismereteket.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédanyagok:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#A_harmadik_h.C3.A1zihoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
* [[Média:Grafika_tutorial_20110410_Raytracing_-_Farkas_Adam_Attila_-wolfee-_levlistarol_(rt).pdf|Sugárkövetés tutorial (by Wolfee, 2011.04.11)]] (A benne lévő kódokat semmiképp NE használjátok fel egy az egyben a házi feladatokban (ld. plágiumgyanú), az anyag csupán iránymutatás, a megértést segíti!!)&lt;br /&gt;
** a szerző (Farkas Ádám Attila) [https://lists.sch.bme.hu/wws/arc/grafika/2011-09/msg00052.html levlistán, 2011.09.09-én felhívta a figyelmet] Dr. Szirmay-Kalos László kóddal kapcsolatos aggályaira: &#039;&#039;&amp;quot;a pdf-fel tényleg óvatosan bánjatok, a legfőbb kifogások a Tanár Úr részéről: Kamerakezelés. én pont-szerű kamerával dolgoztam annó. na nem ez a matematikailag korrekt módja a dolognak, de a pdf-be megteszi. Színkezelés. én 0..255ös skálával dolgoztam (amikor számolni kellett vele, akkor normáltam persze), de T. Ú. azt mondta, hogy végig 0..1 tartománnyal kéne számolni.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Negyedik házi ====&lt;br /&gt;
Az első 3D-s OpenGL feladat. Tipikusan a korábbi házikhoz kellő elméletre itt is visszaköszönhetnek, pl görbéket elég gyakran kell használni ebben a háziban is. Ezt a házit érdemes jól megcsinálni mert az 5. erre épül.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédletek:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#A_negyedik_.C3.A9s_az_.C3.B6t.C3.B6dik_h.C3.A1zikhoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
* [http://www.falloutsoftware.com/tutorials/gl/gl8.htm Megvilágítás]&lt;br /&gt;
* [http://www.gamedev.net/reference/articles/article947.asp Textúrázás] &lt;br /&gt;
&lt;br /&gt;
==== Ötödik házi ====&lt;br /&gt;
A negyedik házi továbbfejlesztése, általában animációval, mozgással, fizikával. Itt általában új grafikai elemekre már nincs szükség.&lt;br /&gt;
&lt;br /&gt;
Kapcsolódó segédletek:&lt;br /&gt;
* [https://wiki.sch.bme.hu/Sz%C3%A1m%C3%ADt%C3%B3g%C3%A9pes_grafika_h%C3%A1zi_feladat_tutorial#A_negyedik_.C3.A9s_az_.C3.B6t.C3.B6dik_h.C3.A1zikhoz_sz.C3.BCks.C3.A9ges_elm.C3.A9let Összefoglaló, példaprogramokkal]&lt;br /&gt;
&lt;br /&gt;
=== Védés ===&lt;br /&gt;
&lt;br /&gt;
A házikat nem elég megírni, meg is kell tudni védeni. A védésen nagyrészt azt kell bizonyítanod, hogy a házikat tényleg te írtad, de persze emelett az anyag többi részébe is belekérdezhetnek. A védés általában a pótlási héten van. Nem mindenkit hívnak be (csak kb minden harmadik embert). Ha nem hívtak be, az olyan, mint ha minden házidat megvédted volna. &lt;br /&gt;
&lt;br /&gt;
Tippek a védésre:&lt;br /&gt;
&lt;br /&gt;
Védésen örülnek neki amikor megkérdezik, hogy &amp;quot;na melyikből kérdezhetek?&amp;quot;, és mondod, hogy bármelyikből.&lt;br /&gt;
Védésre mindenképpen szedd össze az 5 házidat, és előtte legalább 1 órát tölts el a kódok felelevenítésével, mert bár akkor amikor írtad valószínű értetted, ez nem biztos hogy reflexből tudsz válaszolni 1-1 kérdésre, nem árt rákészülni picit, végülis ez egy szóbeli &amp;quot;vizsga&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Házi szépségverseny ===&lt;br /&gt;
Általában a sugárkövetéses (és néha az 5.) házira hirdetnek meg szépségversenyt, a helyezések plussz pontot érnek. A 2013 őszi félévben egy 3. helyezés 0.5, egy 2. helyezés 1, míg az első helyezettnek 1.5 elfogadott házi lett a jutalma. A versenyre egy a háziról készült youtube videóval lehet nevezni, az előadónak küldött e-mailel. A versenyeken jó helyezés eléréséhez általában a specifikáció teljeseítése még nem elég, valami pluszt is tegyél bele, ha nyerni akarsz.&lt;br /&gt;
&lt;br /&gt;
== Vizsga ==&lt;br /&gt;
* 2014 őszi félév&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2015.01.12.|2015-01-12]]&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2015.01.06.|2015-01-06]]&lt;br /&gt;
&lt;br /&gt;
* 2013 őszi félév&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2014.01.03.|2014-01-03]]&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2014.01.10.|2014-01-10]]&lt;br /&gt;
&lt;br /&gt;
* 2013 tavaszi félév&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2013.06.05.|2013-06-05]]&lt;br /&gt;
** [[Számítógépes grafika és képfeldolgozás - Vizsga, 2013.06.19.|2013-06-19]]&lt;br /&gt;
&lt;br /&gt;
* 2012 tavaszi félév&lt;br /&gt;
** [[SzgGrafVizsga20120613 | 2012-06-13]]&lt;br /&gt;
** [[SzgGrafVizsga20120523 | 2012-05-23]]&lt;br /&gt;
&lt;br /&gt;
* 2010 tavaszi félév&lt;br /&gt;
** [[Media:Grafika_vizsga_20100618.png | 2010-06-18]]&lt;br /&gt;
** [[Media:Grafika_vizsga_20100528.jpg | 2010-05-28]]&lt;br /&gt;
&lt;br /&gt;
{{Rejtett | mutatott=Régebbi vizsgák | szöveg=&lt;br /&gt;
* 2009 őszi félév&lt;br /&gt;
** [[Media:Grafika_vizsga_20100120.jpg | 2010-01-20]]&lt;br /&gt;
** [[Media:Grafika_vizsga_20100106.jpg | 2010-01-06]]&lt;br /&gt;
** [[SzgGrafVizsga20091222 | 2009-12-22]]&lt;br /&gt;
&lt;br /&gt;
* 2009 tavaszi félév&lt;br /&gt;
** [[Media:Grafika_vizsga_20090618.jpg | 2009-06-18]]&lt;br /&gt;
** [[SzgGrafVizsga20090611|2009-06-11]]&lt;br /&gt;
** [[Media:Grafika_vizsga_20090528.JPG | 2009-05-28]]&lt;br /&gt;
&lt;br /&gt;
* 2008 őszi félév&lt;br /&gt;
** [[SzgGrafVizsga20090114|2009-01-14]]&lt;br /&gt;
** [[Media:Grafika_vizsga_20090107.jpg | 2009-01-07]]&lt;br /&gt;
** [[SzgGrafVizsga20081222|2008-12-22]]&lt;br /&gt;
&lt;br /&gt;
* 2008 tavaszi félév&lt;br /&gt;
** [[SzgGrafVizsga20080618|2008-06-18]]&lt;br /&gt;
** [[SzgGrafVizsga20080604|2008-06-04]]&lt;br /&gt;
** [[SzgGrafVizsga20080529|2008-05-29]]&lt;br /&gt;
&lt;br /&gt;
* 2007 őszi félév&lt;br /&gt;
** [[SzgGrafVizsga20080116|2008-01-16]]&lt;br /&gt;
** [[SzgGrafVizsga20080103|2008-01-03]]&lt;br /&gt;
** [[SzgGrafGyakIV20080103|2008-01-03 (gyakIV)]]&lt;br /&gt;
&lt;br /&gt;
* 2007 tavaszi félév&lt;br /&gt;
** [[SzgGrafVizsga20070530A|2007-05-30 A csoport]]&lt;br /&gt;
&lt;br /&gt;
* 2006 őszi félév&lt;br /&gt;
** [[SzgGrafVizsga20070116|2007-01-16]]&lt;br /&gt;
** [[SzgGrafVizsga20070108|2007-01-08]]&lt;br /&gt;
** [[SzgGrafVizsga20070102|2007-01-02]]&lt;br /&gt;
&lt;br /&gt;
* 2006 tavaszi félév&lt;br /&gt;
** [[SzgGrafVizsga20060620|2006-06-20]]&lt;br /&gt;
** [[SzgGrafVizsga20060601|2006-06-01]]&lt;br /&gt;
&lt;br /&gt;
* 2005 őszi félév&lt;br /&gt;
** [[SzgGrafVizsga20060117|2006-01-17]]&lt;br /&gt;
** [[SzgGrafVizsga20060110|2006-01-10]]&lt;br /&gt;
&lt;br /&gt;
* 2004 őszi félév&lt;br /&gt;
** [[Grafika_vizsga_2005_01_11_A_csoport|2005-01-11]]&lt;br /&gt;
** [[Grafika_vizsga_20050104|2005-01-04]]&lt;br /&gt;
}}&lt;br /&gt;
=== Segédletek a vizsgához ===&lt;br /&gt;
&lt;br /&gt;
* [[SzgGrafVizsgaTanacsok|Tanácsok vizsgára]] (Németh Balázs)&lt;br /&gt;
* [[SzgGrafKerdesKidolg|Kérdések kidolgozása]]&lt;br /&gt;
* [http://www.renyi.hu/~endre/csoportok/9.szakasz.xhtml Projektív sík transzformációi] &lt;br /&gt;
* [[GrafShader|Shaderek]]&lt;br /&gt;
* [[Média:Grafika_jegyzet_2011_kvaternio.pdf|Kvaterniós feladat]]&lt;br /&gt;
* http://www.eet.bme.hu/~szekely/ (Dr. Székely Vladimír; [http://www.eet.bme.hu/~szekely/szg4.ppt Fourier-módszerek a képfeldolgozásban], [http://www.eet.bme.hu/~szekely/szg5.ppt Képfeldolgozási esettanulmányok, képfájlformátumok])&lt;br /&gt;
&lt;br /&gt;
== Kedvcsináló ==&lt;br /&gt;
&lt;br /&gt;
* A programozásnak talán ez a legélvezesebb része, hiszen amit csinálsz, annak látványos eredménye is van.&lt;br /&gt;
* A legtöbb programozóban felmerül, hogy milyen jó lenne parancssori programok helyett inkább játékot írni. Itt nem csak, hogy lehetőséged van rá, de durván erre kapod a jegyet.&lt;br /&gt;
&#039;&#039;&#039;Mottók:&#039;&#039;&#039; &lt;br /&gt;
* A terroristák manapság főleg OpenGL függvényeket lopnak. Abban van az igazi biznisz.&lt;br /&gt;
* Az Avatar című animációs film már állítólag majdnem megajánlott 4-est ért, de sajnos nem volt mellé kész a négy házi feladat.&lt;br /&gt;
* Bal kezünk a billentyűzeten, jobb kezünkben az egér, a lábunk között meg szorongatjuk a joystickot.&lt;br /&gt;
* &#039;&#039;&amp;quot;Ha azt kérdeznénk önöktől vizsgán, amit előadáson elmondunk, akkor önök nem a Műszaki Egyetemre járnának, hanem a Színművészeti Főiskolára.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Egyéb információk==&lt;br /&gt;
&lt;br /&gt;
=== Angol nyelvű, többnyire nagyon részletes tutorialok érdeklődőknek ===&lt;br /&gt;
&lt;br /&gt;
* [http://www.videotutorialsrock.com/ VideoTutorialsRock]. Hasznos kódok és tutorialok az abszolút kezdőknek. Sok képpel és magyarázattal.&lt;br /&gt;
* [http://nehe.gamedev.net/ NeHe]. Alapmű, viszont a WinAPI-s cuccokat érdemes belőle kihagyni. A példák végén általában van GLUT-os megvalósítás is.&lt;br /&gt;
* [http://www.lighthouse3d.com/tutorials/opengl-short-tutorials/ Lighthouse 3D]&lt;br /&gt;
&lt;br /&gt;
===Ajánlott olvasmányok===&lt;br /&gt;
&lt;br /&gt;
* [[Media:Grafika_jegyzet_OpenGL.pdf|Juhász Imre: OpenGL &amp;amp;mdash; mobiDIÁK könyvtár, 2005.12.30.]]&lt;br /&gt;
* Dr. Szirmay-Kalos László, Antal György, Csonka Ferenc: Háromdimenziós grafika, animáció és játékfejlesztés &amp;amp;mdash; ComputerBooks, 2003 (Ez a &amp;quot;sünis könyv&amp;quot;, ingyenesen letölthető [http://sirkan.iit.bme.hu/~szirmay/3Dgraf.pdf innen])&lt;br /&gt;
* Dr. Szirmay-Kalos László: Számítógépes grafika &amp;amp;mdash; ComputerBooks, 1999&lt;br /&gt;
* Az előző könyv 1999-es kiadása. A fraktálokról szóló fejezet csak ebben van benne. Egyébként az új kiadást érdemes elolvasni, mert sokkal részletesebben és érthetőbben magyarázza el a dolgokat. Ingyenesen letölthető [http://www.iit.bme.hu/~szirmay/grafika/graf.pdf innen].&lt;br /&gt;
* Székely Vladimír: Képfeldolgozás (55067) &amp;amp;mdash; Műegyetemi Kiadó, 2007&lt;br /&gt;
&lt;br /&gt;
=== Könyvrendelés (2014) ===&lt;br /&gt;
A kiadó szerint a könyv elfogyott, utánnyomás nem lesz!&lt;br /&gt;
&lt;br /&gt;
{{Lábléc_-_Mérnök_informatikus_alapszak}}&lt;/div&gt;</summary>
		<author><name>Makkos Bence</name></author>
	</entry>
</feed>