Download - 3D tervezés
3D tervezés3D tervezés
Öszeállította: Öszeállította: Kosztyán Zsolt TiborKosztyán Zsolt Tibor
[email protected]@vision.vein.hu
TartalomTartalom
Geomtriai modellezésGeomtriai modellezés AdatstruktúrákAdatstruktúrák MegvilágításMegvilágítás TextúrákTextúrák
Geometriai modellezésGeometriai modellezés 2D-s modellek2D-s modellek 2½D-s modellek2½D-s modellek 3D-s modellek3D-s modellek
Nem teljes értékű testmodellekNem teljes értékű testmodellek• Huzalvázas modellekHuzalvázas modellek• FelületmodellekFelületmodellek
Analitikus felületmodellekAnalitikus felületmodellek Parametrikus felületmodellekParametrikus felületmodellek
Teljesértékű testmodellekTeljesértékű testmodellek• Határfelületekkel megvalósított (B-Rep) testmodellekHatárfelületekkel megvalósított (B-Rep) testmodellek• Alaptestekkel megvalósított (CSG) testmodellekAlaptestekkel megvalósított (CSG) testmodellek• HibridekHibridek• Cellamodellek vagy sejtmodellekCellamodellek vagy sejtmodellek• Hasábnyolcadoláson alapuló testmodellekHasábnyolcadoláson alapuló testmodellek
2D-s modell2D-s modell A 2D-s modellre jellemző, hogy minden pontot A 2D-s modellre jellemző, hogy minden pontot
két koordinátával ír le. A testet több ábrázolási két koordinátával ír le. A testet több ábrázolási mezővel adja meg (elölnézet, oldalnézet stb.). mezővel adja meg (elölnézet, oldalnézet stb.). Fontos tulajdonsága még, hogy képek nem Fontos tulajdonsága még, hogy képek nem függnek egymástól. A képek közötti függnek egymástól. A képek közötti ellentmondásokat nem korrigálja automatikusan.ellentmondásokat nem korrigálja automatikusan.
2½D-s modellek2½D-s modellek A 2½D-s modellek bázisa egy 2D-s síkidom. A A 2½D-s modellek bázisa egy 2D-s síkidom. A
síkidomhoz hozzárendelnek egy műveletet, síkidomhoz hozzárendelnek egy műveletet, amely háromféle lehet. Egyenes menti eltolás, amely háromféle lehet. Egyenes menti eltolás, tengely körüli elforgatás, vagy egy görbe menti tengely körüli elforgatás, vagy egy görbe menti elmozgatás.elmozgatás.
A síkidom által súrolt testet azért hívjuk 2½D-nak, A síkidom által súrolt testet azért hívjuk 2½D-nak, mert a számítógép a síkidom geometriai adatain mert a számítógép a síkidom geometriai adatain kívül csak az eltolás irányát és nagyságát, az kívül csak az eltolás irányát és nagyságát, az elforgatás tengelyét és szögét, illetve a görbe egy elforgatás tengelyét és szögét, illetve a görbe egy egyenletét és a mozgatás ívhosszát rögzíti.egyenletét és a mozgatás ívhosszát rögzíti.
3D-s modellek3D-s modellek
A 3D-s modellek mindegyikében egy pont A 3D-s modellek mindegyikében egy pont definiálásához három koordinátát kell definiálásához három koordinátát kell megadni. Mivel a pontok három megadni. Mivel a pontok három dimenzióban vannak leírva, ezért a pontok dimenzióban vannak leírva, ezért a pontok által leírt alakzat testként jelentkezik által leírt alakzat testként jelentkezik nemcsak a képernyőn, hanem a nemcsak a képernyőn, hanem a számítógépen is.számítógépen is.
További követelmény még, hogy a test További követelmény még, hogy a test minden egyes felületén műveletek minden egyes felületén műveletek végezhetők.végezhetők.
Huzalvázas (wire frame) modellekHuzalvázas (wire frame) modellek Csak pontokkal és élekkel dolgozik. A testet Csak pontokkal és élekkel dolgozik. A testet
éleivel írja le, ezért nem lehet eldönteni, hol van éleivel írja le, ezért nem lehet eldönteni, hol van anyag és hol nincs.anyag és hol nincs.
Mivel csak élekkel dolgozik, a nem látható éleket Mivel csak élekkel dolgozik, a nem látható éleket is ábrázolja, ezért bonyolultabb esetekben a is ábrázolja, ezért bonyolultabb esetekben a szemletetés bizonytalan. szemletetés bizonytalan.
Tárolási helyszükséglete csekély, ezért teljes Tárolási helyszükséglete csekély, ezért teljes értékű modellek esetén a köztes eredmény értékű modellek esetén a köztes eredmény megjelenítésére szokták használni.megjelenítésére szokták használni.
Felületmodellek (surfaces in space)Felületmodellek (surfaces in space)
Térben vastagság Térben vastagság nélküli felületekkel nélküli felületekkel dolgozik. Emiatt dolgozik. Emiatt nem beszélhetünk nem beszélhetünk valódi testekről.valódi testekről.
Felületmodellek - fogalmakFelületmodellek - fogalmak
TopológiaTopológia Topológikus leképezés Topológikus leképezés
(homeomorfizmus)(homeomorfizmus) Topológiai ekvivalencia Topológiai ekvivalencia
(homeomorfia)(homeomorfia) Poliéder (Poliéder (cc++ll--ee=2)=2) HatárpontokHatárpontok Euler-féle karakterisztikaEuler-féle karakterisztika Felületek osztályozása Felületek osztályozása
(egyoldalú-kétoldalú (egyoldalú-kétoldalú felületek)felületek)
Analitikus felületmodellekAnalitikus felületmodellek
A felületek leírásához először egy alkalmas A felületek leírásához először egy alkalmas koordinátarendszert kell megválasztani.koordinátarendszert kell megválasztani. Descartes-féle derékszögű,Descartes-féle derékszögű, henger, illetvehenger, illetve gömbi koordináták.gömbi koordináták.
A felületeket leírása:A felületeket leírása: Skaláregyenlettel: (F(x,y,z)=0)Skaláregyenlettel: (F(x,y,z)=0) Vektoregyenlettel: (f(Vektoregyenlettel: (f(rr)=)=00))
02
2
2
2
2
2
c
z
b
y
a
x
Parametrikus felületmodellekParametrikus felületmodellek Az analitikusan leírható felületek mellett gyakran Az analitikusan leírható felületek mellett gyakran
előfordul, hogy olyan felületeket kell használni, előfordul, hogy olyan felületeket kell használni, amelyeknek matematikailag egzakt leírása amelyeknek matematikailag egzakt leírása nehézségekbe ütközik.nehézségekbe ütközik.
Ebben az esetben szokták használni a Ebben az esetben szokták használni a parametrikus felületmodellt, amelynek lényege az, parametrikus felületmodellt, amelynek lényege az, hogy csomópontokat vesznek fel, majd a pontokra hogy csomópontokat vesznek fel, majd a pontokra görbéket illesztenek és ezek a felületek határozzák görbéket illesztenek és ezek a felületek határozzák meg a felületet. meg a felületet.
1,0,
1111, 4321
vu
rvuruvruvruvvur
Görbék illesztéseGörbék illesztése InterpolációInterpoláció
Lagrange, Csebisev, Lagrange, Csebisev, Hermite interpolációHermite interpoláció
Spilne-ok (közönséges, és Spilne-ok (közönséges, és B-Spline-ok, NURBS-ok)B-Spline-ok, NURBS-ok)
ApproximációApproximáció Beziér görbék, Beziér Beziér görbék, Beziér
felületekfelületek Illesztés (CIllesztés (Cnn-osztály)-osztály)
NulladrendűNulladrendű ElsőrendűElsőrendű MásodrendűMásodrendű
nnuauauaaug ...)( 2
210
Lagrange interpoláció – Newton Lagrange interpoláció – Newton polinomokpolinomok
INPUT: n-az alappontok száma-1INPUT: n-az alappontok száma-1 xi (i=0,1,..,n) alappontok xi (i=0,1,..,n) alappontok yi (i=0,1,..,n) függvényértékek yi (i=0,1,..,n) függvényértékekOUTPUT: ai (i=0,1,..,n) Newton polinom együtthatói. OUTPUT: ai (i=0,1,..,n) Newton polinom együtthatói. forfor i=0,1,..,n i=0,1,..,n dodo ai aiyiyiend doend doforfor j=1,2,..,n j=1,2,..,n dodo forfor i=n,n-1,..,j i=n,n-1,..,j dodo ai aiai-ai-1)/ai-ai-1)/xi-xi-j)xi-xi-j) end do end doend doend dooutputoutput (a0,a1,..,an,) (a0,a1,..,an,) Newton polinom kiértékelése: Newton polinom kiértékelése: INPUT: n-az alappontok száma-1INPUT: n-az alappontok száma-1 ai (i=0,1,..,n) Newton polinom együtthatói ai (i=0,1,..,n) Newton polinom együtthatói yi (i=0,1,..,n) függvényértékek yi (i=0,1,..,n) függvényértékek x - a pont ahol kiértékeljük a polinomot x - a pont ahol kiértékeljük a polinomotOUTPUT: y a Newton polinom értéke x-ben.OUTPUT: y a Newton polinom értéke x-ben.
Spline-okSpline-ok
Közönséges spline-ok:Közönséges spline-ok:
(Egyenközű) B-spline-ok:(Egyenközű) B-spline-ok:
NURBS (Non-Uniform Rational B-Spline):NURBS (Non-Uniform Rational B-Spline):
Közönséges spline-okKözönséges spline-ok
01
22
33
012
23
3
012
23
3
cucucucuz
bubububuy
auauauaux
12
23
122
3
122
3
23'
23'
23'
cucucuz
bububuy
auauaux
23
23
23
26"
26"
26"
cucuz
bubuy
auaux
A spline-okat csoportosíthatjuk az alábbiak A spline-okat csoportosíthatjuk az alábbiak szerint: parabolikus, köbös, magasabb fokú.szerint: parabolikus, köbös, magasabb fokú.
A köbös spline-okra jellemző, hogy egy A köbös spline-okra jellemző, hogy egy csomópontjának megváltoztatása az összes csomópontjának megváltoztatása az összes görbe megváltoztatásával jár.görbe megváltoztatásával jár.
B-spline-okB-spline-ok A B-spline-ok a A B-spline-ok a
közönségesekhez közönségesekhez hasonlóan különböző hasonlóan különböző fokúak lehetnek. Két fokúak lehetnek. Két csoportra oszthatók csoportra oszthatók aszerint, hogy a aszerint, hogy a csomópontok közötti csomópontok közötti távolság egyenlő vagy sem.távolság egyenlő vagy sem.
Jellemző még rájuk, hogy Jellemző még rájuk, hogy alapfüggvényekből állnak alapfüggvényekből állnak és ezek az és ezek az alapfüggvénynek az értéke alapfüggvénynek az értéke bizonyos számú bizonyos számú szomszédos csomópont szomszédos csomópont kivételével zérus.kivételével zérus.
B-spline-okB-spline-ok
A műszaki gyakorlatban a A műszaki gyakorlatban a köbös B-spline-t köbös B-spline-t használják, amely öt használják, amely öt csomópontra támaszkodó csomópontra támaszkodó alapfüggvényből áll. Egy alapfüggvényből áll. Egy szegmens nem más, mint szegmens nem más, mint két pont közötti két pont közötti görbeszakasz. Egy görbeszakasz. Egy szegmens megadásához szegmens megadásához négy pont szükséges.négy pont szükséges.
Egy B-spline szegmens Egy B-spline szegmens egyenlete a következő:egyenlete a következő:
1332
132
232
6
13331
6
1364
6
1331
6
1 iiii ruruuuruuruuuur
1
1
2
32
1331
0363
0303
0141
16
1)(
i
i
i
i
r
r
r
r
uuuRMUur
n
i
nii uNrur
0
Általánosított B-Spline-okÁltalánosított B-Spline-ok
Görbék esetén:Görbék esetén: rrii a a PPii pontra mutató helyvektor pontra mutató helyvektor
NNiikk(u) polinom(u) polinom
kk a görbe rendje a görbe rendje 00≤≤uu≤1 paraméter≤1 paraméter
wwii súlyérték súlyérték
Felületek esetén:Felületek esetén: rri,ji,j a a PPi,ji,j pontra mutató helyvektor pontra mutató helyvektor
NNiikk(u), (u), NNjj
kk(v) polinom(v) polinom k,lk,l a görbe rendje a görbe rendje 00≤≤u,vu,v≤1 paraméter≤1 paraméter
wwi,ji,j súlyérték súlyérték
n
i
kii
n
i
kiii
uNw
uNrwur
0
0
n
i
m
j
lj
kiji
n
i
m
j
lj
kijiji
vNuNw
vNuNrw
vur
0 0,
0 0,,
,
Segítségükkel leírhatók: kúpszeletek, törtvonalak, hatványgörbék, NURBS-ök, Segítségükkel leírhatók: kúpszeletek, törtvonalak, hatványgörbék, NURBS-ök, Beziér görbék, és felületek is.Beziér görbék, és felületek is.
Beziér görbék, Beziér felületekBeziér görbék, Beziér felületek Bernstein polinomokra alapozott Beziér Bernstein polinomokra alapozott Beziér
görbék. Bernstein polinomok:görbék. Bernstein polinomok:
Görbék leírása, felületek leírása:Görbék leírása, felületek leírása:
inini uu
i
nub
1 Nnniu ,,..,1,0,1,0
n
i
nii ubrur
0
n
i
m
j
mj
niji vbubrvur
0 0,,
3
2
1
0
32
1331
0363
0033
0001
,,,1
r
r
r
r
uuuRMUur
Beziér görbék, Beziér felületekBeziér görbék, Beziér felületek
Teljesértékű testmodellekTeljesértékű testmodellek
A teljesértékű testmodellek a testet A teljesértékű testmodellek a testet anyaggal töltött, zárt felületű geometriai anyaggal töltött, zárt felületű geometriai objektumokként írják le.objektumokként írják le.
Határfelületekkel megvalósított Határfelületekkel megvalósított testmodellek (Boundary testmodellek (Boundary
Representation)Representation) A B-Rep modell a testet határfelületeivel, A B-Rep modell a testet határfelületeivel,
éleivel, pontjaival írja le. Minden felülethez éleivel, pontjaival írja le. Minden felülethez egy vektor tartozik, amely mutatja, hogy a egy vektor tartozik, amely mutatja, hogy a felület melyik oldalán van a testet kitöltő felület melyik oldalán van a testet kitöltő anyag.anyag.
Ennél a modellnél is dolgozhatunk Ennél a modellnél is dolgozhatunk alaptestekkel, de ezek az alaptestek alaptestekkel, de ezek az alaptestek határfelületekkel vannak definiálva.határfelületekkel vannak definiálva.
Határfelületekkel megvalósított Határfelületekkel megvalósított testmodellektestmodellek
ElőnyökElőnyök Felületek közelebb állnak a konstruktőr Felületek közelebb állnak a konstruktőr
szemléletéhez.szemléletéhez. Lehetőség van a test egy felületének lokális Lehetőség van a test egy felületének lokális
megváltoztatására.megváltoztatására. B-Rep modell tartalmazza a huzalvázas B-Rep modell tartalmazza a huzalvázas
modell és a felületmodell információit is, ezért modell és a felületmodell információit is, ezért könnyen összekapcsolható ezekkel a könnyen összekapcsolható ezekkel a modellekkel és ki lehet használni ezen modellekkel és ki lehet használni ezen modellek előnyeit.modellek előnyeit.
A felületekhez kiegészítő információk A felületekhez kiegészítő információk rendelhetők (pl. érdesség).rendelhetők (pl. érdesség).
Határfelületekkel megvalósított Határfelületekkel megvalósított testmodellektestmodellek
HátrányokHátrányok Nagy tárolókapacitás.Nagy tárolókapacitás. A lokális változtathatóságnál ügyelni kell az A lokális változtathatóságnál ügyelni kell az
egyértelműségre, ami megfelelő egyértelműségre, ami megfelelő algoritmusokat kíván.algoritmusokat kíván.
A megjelenítés számításigényes.A megjelenítés számításigényes.
Alaptestekkel megvalósított Alaptestekkel megvalósított testmodellek (Constructive Solids testmodellek (Constructive Solids
Geometry)Geometry) Az alaptestekkel megvalósított testmodellezés Az alaptestekkel megvalósított testmodellezés
analitikusan felírható testek (Primitives) segítségével analitikusan felírható testek (Primitives) segítségével építi fel a kívánt alakzatot.építi fel a kívánt alakzatot.
A testeket BOOLE-fA testeket BOOLE-féle műveletekkel kapcsolja össze.éle műveletekkel kapcsolja össze. A kész testet nem tárolja, csak a kiinduláskori A kész testet nem tárolja, csak a kiinduláskori
alaptesteket, illetve a rajtuk elvégzett műveleteket.alaptesteket, illetve a rajtuk elvégzett műveleteket.
Alaptestekkel megvalósított Alaptestekkel megvalósított testmodellektestmodellek
ElőnyökElőnyök Kis tárolókapacitás.Kis tárolókapacitás. Egyszerű generálás, (ha a test az Egyszerű generálás, (ha a test az
alaptestekkel leírható).alaptestekkel leírható). Az analitikus leírás miatt a testek Az analitikus leírás miatt a testek
egyértelműek.egyértelműek. A test keletkezése megjeleníthető, A test keletkezése megjeleníthető,
modosítható.modosítható.
Alaptestekkel megvalósított Alaptestekkel megvalósított testmodellektestmodellek
HátrányaiHátrányai Felületek, élek lokális megváltoztathatósága Felületek, élek lokális megváltoztathatósága
nem lehetséges, ugyanis a modell ezeket nem lehetséges, ugyanis a modell ezeket nem használja.nem használja.
A testek változtatásánál, relatív hosszú a A testek változtatásánál, relatív hosszú a várakozási idő, amíg a gép a BOOLE-féle várakozási idő, amíg a gép a BOOLE-féle fastruktúrát felbontja és újra felépíti.fastruktúrát felbontja és újra felépíti.
Az alaptestekkel megvalósított testmodellezés Az alaptestekkel megvalósított testmodellezés távolabb áll a tervező szemléletétől.távolabb áll a tervező szemléletétől.
Hibrid testmodellekHibrid testmodellek
A CSG, és B-Rep testmodellezés előnyeit A CSG, és B-Rep testmodellezés előnyeit próbálják ötvözni, a hátrányaikat pedig próbálják ötvözni, a hátrányaikat pedig kiküszöbölni. (Az egyik mindig domináns)kiküszöbölni. (Az egyik mindig domináns) CSG-hibridCSG-hibrid B-Rep hibridB-Rep hibrid
Cellamodell vagy sejtmodellCellamodell vagy sejtmodell A sejtmodellezés lényege az, A sejtmodellezés lényege az,
hogy a testet a test bármely hogy a testet a test bármely méreténél kisebb méretű méreténél kisebb méretű elemi „építőkockákból”, elemi „építőkockákból”, sejtekből építi fel. A sejtek sejtekből építi fel. A sejtek mérete alapján egy modellező mérete alapján egy modellező rendszer rendelkezhet rendszer rendelkezhet egyféle, vagy többféle egyféle, vagy többféle sejtkészlettel.sejtkészlettel.
Előnye, hogy elvileg bármilyen Előnye, hogy elvileg bármilyen geometriájú testet le lehet írni geometriájú testet le lehet írni megfelelő közelítéssel.megfelelő közelítéssel.
Hátránya, hogy nagyméretű Hátránya, hogy nagyméretű testeknél sok cellára van testeknél sok cellára van szükség.szükség.
HasábnyolcadolásHasábnyolcadolás A hasábnyolcadolás leginkább A hasábnyolcadolás leginkább
egymásra merőleges oldalú egymásra merőleges oldalú testek leírására alkalmas. Elve a testek leírására alkalmas. Elve a következő. A testet befoglaljuk következő. A testet befoglaljuk egy hasábba. A hasáb minden egy hasábba. A hasáb minden élét megfelezzük majd ezeket élét megfelezzük majd ezeket összekötve metszősíkokat összekötve metszősíkokat kapunk, amelyek a hasábot kapunk, amelyek a hasábot nyolc részre osztják. nyolc részre osztják. Megvizsgáljuk az egyes Megvizsgáljuk az egyes részeket, ha homogén részeket, ha homogén változatlan hagyjuk, ha változatlan hagyjuk, ha heterogén, akkor tovább osztjuk.heterogén, akkor tovább osztjuk.
AdatstruktúrákAdatstruktúrákAdatstruktúrák (élek, Adatstruktúrák (élek, csúcsok tárolása)csúcsok tárolása)
HierarchikusHierarchikus HálósHálós
Tárolási struktúrákTárolási struktúrák Lineáris listákLineáris listák Kapcsolt listákKapcsolt listák
Geometriai modellek Geometriai modellek adatstruktúráiadatstruktúrái
CSG modellCSG modell Huzalváz modellHuzalváz modell B-Rep modellB-Rep modell
MegvilágításMegvilágítás
A fény viselkedésének szimulációja mindig A fény viselkedésének szimulációja mindig is sarkalatos pontja volt a számítógépes is sarkalatos pontja volt a számítógépes képábrázolásnak. A fény képábrázolásnak. A fény hullámtermészetéből fakadóan hullámtermészetéből fakadóan visszaverődik, törik, szóródik, elhajlik, visszaverődik, törik, szóródik, elhajlik, interferál interferál stb.stb.
Lokális és globális illuminációs Lokális és globális illuminációs modellekmodellek
AA látható pont szín látható pont színingerénekingerének meghatározásánál csak a meghatározásánál csak a fényforrásokból érkezõ direkt megvilágítást veszik figyelembe, fényforrásokból érkezõ direkt megvilágítást veszik figyelembe, a más felületekrõl visszavert indirekt megvilágítást nem. Mivel a más felületekrõl visszavert indirekt megvilágítást nem. Mivel ekkor a pont színe a fényforrásokon kívül csak a lokális ekkor a pont színe a fényforrásokon kívül csak a lokális anyagjellemzõktõl és geometriától függ, a módszerek közös anyagjellemzõktõl és geometriától függ, a módszerek közös neveneve lokális illuminációs modellek lokális illuminációs modellek. A durva elhanyagolások . A durva elhanyagolások miatt a lokális illuminációs módszerekkel létrehozott képek, miatt a lokális illuminációs módszerekkel létrehozott képek, legyenek azok bármilyen szépek, vizuálisan és fizikai legyenek azok bármilyen szépek, vizuálisan és fizikai értelemben is pontatlanok, így mérnöki alkalmazásokban - értelemben is pontatlanok, így mérnöki alkalmazásokban - például világítás és látványtervezésben - nem használhatóak. például világítás és látványtervezésben - nem használhatóak. Ezekben az alkalmazásokban fizikailag pontos eredményt Ezekben az alkalmazásokban fizikailag pontos eredményt várunk el, ezért nem tekinthetünk el az árnyalási egyenlet várunk el, ezért nem tekinthetünk el az árnyalási egyenlet integrálegyenletkénti megoldásától. Ekkor tehát az indirekt integrálegyenletkénti megoldásától. Ekkor tehát az indirekt megvilágítás hatását is figyelembe kell venni, így egy pont megvilágítás hatását is figyelembe kell venni, így egy pont sugársûrûségét elvileg az összes többi felületi pont sugársûrûségét elvileg az összes többi felületi pont sugársûrûsége is befolyásolja. A csatolás hangsúlyozására, sugársûrûsége is befolyásolja. A csatolás hangsúlyozására, ezen módszereket ezen módszereket globális illuminációs modellkéntglobális illuminációs modellként ismeri a ismeri a szakirodalom.szakirodalom.
Ray-tracingRay-tracing
A A Ray-tracing eljárásRay-tracing eljárás a kilőtt sugár a kilőtt sugár sugárkövetéssel a kamera egyes pixeleiből sugárkövetéssel a kamera egyes pixeleiből kiindulva keres egy-egy fényforráskiindulva keres egy-egy fényforrástt. (A technológia . (A technológia aztán tovább finomítva a fényforrásból visszafele aztán tovább finomítva a fényforrásból visszafele is követ sugarakatis követ sugarakat..) Előnye, hogy viszonylag ) Előnye, hogy viszonylag gyors, hátránya, hogy "félmegoldás". Azonban ez gyors, hátránya, hogy "félmegoldás". Azonban ez a technológia képes az anyagokon átmenő fény a technológia képes az anyagokon átmenő fény számítására is.számítására is.
RadiosityRadiosity A Radiosity eljárás a képszámítás előtt a A Radiosity eljárás a képszámítás előtt a
fényforrásból (mely fizikailag pontosan fényforrásból (mely fizikailag pontosan meghatározott - photometrikus) n számú fotont meghatározott - photometrikus) n számú fotont lő ki, és ezek útját követi, pattogtatva őket lő ki, és ezek útját követi, pattogtatva őket felületről, felületre, addig, amíg el nem felületről, felületre, addig, amíg el nem enyésznek, vagy energiájuk nullára nem enyésznek, vagy energiájuk nullára nem csökken. Ez a módszer nagyon pontos csökken. Ez a módszer nagyon pontos eredményeket szül, főleg magas fotonszám eredményeket szül, főleg magas fotonszám esetén. Hátránya, hogy az anyagokon csakis, esetén. Hátránya, hogy az anyagokon csakis, és kizárólag visszavert fotonokat kezel, azokon és kizárólag visszavert fotonokat kezel, azokon átmenőket, bennük megtörőket nem. átmenőket, bennük megtörőket nem.
TextúrákTextúrák A textúrák olyan grafikai A textúrák olyan grafikai
objektumok, amiket tárgyakra objektumok, amiket tárgyakra lehet felhúzni, ezáltal lehet felhúzni, ezáltal megadva annak valós megadva annak valós szerepét, anyagát a virtuális szerepét, anyagát a virtuális világban. Az alábbi kép egy világban. Az alábbi kép egy háromdimenziós szobát háromdimenziós szobát ábrázol, amit egyszerű ábrázol, amit egyszerű objektumokból építettünk fel, objektumokból építettünk fel, de textúrákat kaptak, hogy de textúrákat kaptak, hogy mindegyiknek meg legyen a mindegyiknek meg legyen a maga szerepe a képen. A maga szerepe a képen. A textúráknak köszönhetően textúráknak köszönhetően látszik, hogy például a fal látszik, hogy például a fal téglából van.téglából van.
Bump MappingBump Mapping Hogyan lehet akkor realisztikusabb textúrát készíteni? A Hogyan lehet akkor realisztikusabb textúrát készíteni? A
legelterjedtebb módszer a Bump Mapping technika használata. legelterjedtebb módszer a Bump Mapping technika használata. Ebben az esetben a textúra kap egy 3D-s hatást, mélységet és Ebben az esetben a textúra kap egy 3D-s hatást, mélységet és árnyékot. A program képes elkülöníteni az eredeti kép árnyékot. A program képes elkülöníteni az eredeti kép szürkeárnyalatait, amiből kiszámolja annak kiemelkedéseit. Az szürkeárnyalatait, amiből kiszámolja annak kiemelkedéseit. Az alábbi képek ennek a technikának a lehetőségeit mutatják be. A alábbi képek ennek a technikának a lehetőségeit mutatják be. A bal oldali képen a táj lapos, nincs benne semmi mélységérzet. bal oldali képen a táj lapos, nincs benne semmi mélységérzet. A középső szürkében lett kiszámolva, amin már láthatóak a A középső szürkében lett kiszámolva, amin már láthatóak a kiemelkedések és a mélyedések. A harmadik kép pedig ennek kiemelkedések és a mélyedések. A harmadik kép pedig ennek a kettőnek az összegzéséből született. Itt már tisztán a kettőnek az összegzéséből született. Itt már tisztán kivehetőek a táj jellegzetességei.kivehetőek a táj jellegzetességei.
Textúra tömörítésTextúra tömörítés A technika lényege, hogy az adatokat A technika lényege, hogy az adatokat
összepréseljük, hogy kevesebb memóriát és összepréseljük, hogy kevesebb memóriát és merevlemez területet foglaljanak. Vannak merevlemez területet foglaljanak. Vannak adatvesztés mentes és adatvesztéssel járó adatvesztés mentes és adatvesztéssel járó tömörítési eljárások. Szerencsére az emberi tömörítési eljárások. Szerencsére az emberi szem elsiklik némi hiba felett.szem elsiklik némi hiba felett.
Teljes képernyős Anti-AliasingTeljes képernyős Anti-Aliasing Ahogy a textúra tömörítés az animációk gyorsabb Ahogy a textúra tömörítés az animációk gyorsabb
futását segíti, a teljes képernyős anti-alias azért futását segíti, a teljes képernyős anti-alias azért született meg, hogy jobban nézzenek ki. Az Anti-Alias született meg, hogy jobban nézzenek ki. Az Anti-Alias (AA) egy olyan módszer, amivel a grafikákat simábbá (AA) egy olyan módszer, amivel a grafikákat simábbá tehetjük. A képernyőn megjelenő rajzok pontokból, tehetjük. A képernyőn megjelenő rajzok pontokból, úgynevezett pixelekből állnak. Minél nagyobb egy kép úgynevezett pixelekből állnak. Minél nagyobb egy kép felbontása, ezek a pixelek annál kisebbek, és a kép felbontása, ezek a pixelek annál kisebbek, és a kép annyival élethűbb és szebb.annyival élethűbb és szebb.
Az AA egy olyan módszer, amivel a kisebb felbontású Az AA egy olyan módszer, amivel a kisebb felbontású képeken is elérhetjük majdnem ugyanazt a minőséget. képeken is elérhetjük majdnem ugyanazt a minőséget. Az AA egy matematikai számítás segítségével Az AA egy matematikai számítás segítségével átmenetet képez a tárgy és annak háttere között. A átmenetet képez a tárgy és annak háttere között. A kontúrnál kezdi, a két legeltérőbb színnel, és közéjük kontúrnál kezdi, a két legeltérőbb színnel, és közéjük olyan átmenetet képez, amitől az objektum kontúrja olyan átmenetet képez, amitől az objektum kontúrja kevésbé tűnik recésnek, élesnek.kevésbé tűnik recésnek, élesnek.
A következő négy képen ezt figyelhetjük meg. A következő négy képen ezt figyelhetjük meg. A különbség szemmel látható az AA-t használó A különbség szemmel látható az AA-t használó (jobbra) és nem használó kép között. A (jobbra) és nem használó kép között. A baloldali képen a kontúrok recések, míg jobbra baloldali képen a kontúrok recések, míg jobbra ezeket összemossa a számítógép, ezeket összemossa a számítógép, beleolvadnak a háttérbe.beleolvadnak a háttérbe.
Teljes képernyős Anti-AliasingTeljes képernyős Anti-Aliasing
Teljes képernyős Anti-AliasingTeljes képernyős Anti-Aliasing
N-PatchN-Patch
A DirectX 8-ban vezették be először az ún. N-A DirectX 8-ban vezették be először az ún. N-patch felületeket, amelyek révén az alacsony patch felületeket, amelyek révén az alacsony részletességű, darabos objektumokat részletességű, darabos objektumokat részletesebbé, gömbölyűbbé, természetesebbé részletesebbé, gömbölyűbbé, természetesebbé lehetett tenni. Az N-Patchelést (Normal Patch) lehetett tenni. Az N-Patchelést (Normal Patch) mind a DirectX 8, mind az OpenGL támogatja. mind a DirectX 8, mind az OpenGL támogatja. Az eljárás lényegében a három dimenziós Az eljárás lényegében a három dimenziós objektumokat alkotó háromszögeket az oldalak objektumokat alkotó háromszögeket az oldalak osztásával több kisebb háromszögre bontja fel. osztásával több kisebb háromszögre bontja fel. Az eredeti objektumot alkotó háromszög Az eredeti objektumot alkotó háromszög csúcspontjainak normálisa az adott csúcspontjainak normálisa az adott csúcspontban találkozó háromszögek csúcspontban találkozó háromszögek normálisainak eredője. normálisainak eredője.
DDisplacement isplacement MMappingapping AAz ún. displacement mapping révén a z ún. displacement mapping révén a
háromszögek felbontása, darabolása és háromszögek felbontása, darabolása és mozgatása nem geometriai egyenletek alapján mozgatása nem geometriai egyenletek alapján történik, hanem egy textúra alapján, ez a textúra történik, hanem egy textúra alapján, ez a textúra a displacement map. A displacement mapping a displacement map. A displacement mapping lényegében hasonlít a bump mappingre, lényegében hasonlít a bump mappingre, azonban a bump mapping esetében csak a azonban a bump mapping esetében csak a felület normálvektora módosul annak érdekében, felület normálvektora módosul annak érdekében, hogy az másképp verje vissza a fényt, így hogy az másképp verje vissza a fényt, így becsapja a nézőt, aki azt hiszi, érdes felületet becsapja a nézőt, aki azt hiszi, érdes felületet lát, holott valójában a felület továbbra is sík. lát, holott valójában a felület továbbra is sík.
DDisplacement isplacement MMappingapping A képen látható, hogy míg bump mapping A képen látható, hogy míg bump mapping
használatával a gumi éle továbbra is egyenes marad, használatával a gumi éle továbbra is egyenes marad, displacement mapping esetén már a kontúrja a displacement mapping esetén már a kontúrja a futófelület barázdáihoz igazodva változik, mivel a futófelület barázdáihoz igazodva változik, mivel a displacement mapping magát a test geometriáját displacement mapping magát a test geometriáját változtatja meg. A folyamatos tesszeláció azt jelenti, változtatja meg. A folyamatos tesszeláció azt jelenti, hogy az N-patchelt, illetve displace mappelt felületek hogy az N-patchelt, illetve displace mappelt felületek valós időben a grafikus chipen számítódnak ki, és valós időben a grafikus chipen számítódnak ki, és folyamatos az átmenet a részletes, illetve kevésbé folyamatos az átmenet a részletes, illetve kevésbé részletes modellek között.részletes modellek között.
IrodalomIrodalom
1.1. Pálma RóbertPálma Róbert: A számítógéppel segített tervezés : A számítógéppel segített tervezés alapjai CAD, Veszprémi Egyetem 2000, alapjai CAD, Veszprémi Egyetem 2000, pp. 44-pp. 44-9292..
2.2. http://www.hwsw.hu/oldal.php3?http://www.hwsw.hu/oldal.php3?cikkid=729&oldal=3cikkid=729&oldal=3
3.3. http://bolt.kronos.hu/kpFullNews.phtml?http://bolt.kronos.hu/kpFullNews.phtml?NEWSX=1691&STATUS=1NEWSX=1691&STATUS=1
4.4. http://www.hungarocad.hu/Latvanyterv/http://www.hungarocad.hu/Latvanyterv/Latvanyterv.htmLatvanyterv.htm
5.5. http://www.monarch.hu/_term/_adesk/_viz/http://www.monarch.hu/_term/_adesk/_viz/viz_ismerteto.shtmlviz_ismerteto.shtml
6.6. http://www.fsz.bme.hu/~szirmay/ikta/temakor.htmlhttp://www.fsz.bme.hu/~szirmay/ikta/temakor.html
Köszönöm a figyelmet!Köszönöm a figyelmet!