Information Technology | Graphics » A számítógépes grafikáról

Datasheet

Year, pagecount:1999, 18 page(s)

Language:Hungarian

Downloads:243

Uploaded:July 23, 2009

Size:82 KB

Institution:
-

Comments:

Attachment:-

Download in PDF:Please log in!



Comments

No comments yet. You can be the first!

Content extract

Bevezetés a számítógépes grafikába ALKALMAZOTT INFORMATIKA Bevezetés a számítógépes grafikába 1999. február 1. Felhasználói terület 3 2. Grafikus hardver eszközök3 2.1 Input eszközök4 2.2 Output eszközök4 2.21 Nyomtatók4 2.22 Monitorok5 3. Grafikai szoftverek6 3.1 Gépközeli szint6 3.2 Fejlesztői szint7 3.3 Alkalmazói szint7 4. Megjelenítési alapfogalmak 8 4.1 Színezés8 4.2 Mozgás érzékeltetés 9 5. Grafikai modellezés10 5.1 Alakleírás 11 5.11 A leírással szemben támasztott követelmények 11 5.12 Az alakleírásra használt matematikai eszközök 12 5.2 A valószerűség elérésére használt módszerek14 5.3 Transzformációk15 5.31 Homogén koordináták 16 5.32 Transzformációs mátrix16 5.33 Transzformációk konkatenációja 17 5.4 Geometriai tervezés18 2 1. Felhasználói terület A számítógépes grafika az informatikának azon területe mely képek, ábrák előállításával, szerkesztésével, feldolgozásával,

felismerésével, rögzítésével foglalkozik. Jellemző ipari, műszaki és egyéb alkalmazások: Műszaki számítógépes tervezés (Computer Aided Design) - CAD számítógépes gyártás (Computer Aided Manifacturing) - CAM egységes számítógépes tervezés és gyártás - CAD / CAM számítógépes építészeti tervezés (CA Architecture D) - CAAD folyamatirányítás Számítógépes oktatás - CAE Térinformatika, térképészet Orvostechnika Szemléltető grafika - buisness grafics Környezet szimuláció Játékok, animációk Reklám, művészeti grafika A felsorolt példák korántsem merítik ki az alkalmazási kört. A grafikai megjelenítés a számítástechnika minden szintjére behatolt. jelenleg szoftverek, operációsrendszerek megjelenési formája, felhasználói felülete többnyire grafikus. 2.Grafikus hardver eszközök A hardvereket több szempont szerint lehet csoportosítani. Az információ iránya szerint input és output eszközök. A megjelenítés

illetve az információ gyűjtése szempontjából vektoros és pixeles. A kép anyagi megjelenési formájával papír, film, virtuális kép egy monitoron. 3 A vektoros eszközökkel az objektumaink kulcspontjait definiáljuk, tulajdonságai szabják meg az alakját. Pixeles eszközök esetén az objektumot csak a képi benyomás után tudjuk azonosítani az alakját leíró pontjai alapján. A pixeles eszközök jóval nagyobb memóriát igényelnek, szoftveres szempontból azonban sokkal egyszerűbbek. 2.1Input eszközök Diszkrét pontok bevitelére alkalmas eszközök: egér - mutatóeszköz, használata a vizuális visszacsatoláson alapul digitalizáló fényceruza billentyűzet Képek, ponthalmazok bevitelére alkalmas eszközök: scanner CCD kamera 2.2Output eszközök Vektoros megjelenítők: rajzgép vektorképernyő Pixeles megjelenítők: nyomtató monitor film 2.21Nyomtatók Gyakrabban használt típusok: mátrix tintasugaras hőnyomtató lézernyomtató 4 A

kép minőségét az inch-enként nyomtatott pontszámmal jellemezzük (dot/inch). Tipikus értéksorozatok: 150, 300, 600, 1200 dpi illetve 180, 360, 720, 1440 dpi. 2.22Monitorok Jellemző technikai megvalósítások: katódsugárcsöves folyadékkristályos gázplazmás A videórendszer két részre bontható. A megjelenítő monitorra és egy direkt elérésű memóriára (grafikus kártya). Grafikus üzemmódban a kép pixelenként elérhető azaz a grafikus kártyán közvetlenül címezhető. Egy pixel színét a leíró bítszám határozza meg Üzemmódok felbontás és színszám szerint: grafikus mód Herkules CGA bit/pixel 1 2 1 EGA 4 VGA 4 8 SVGA 4 8 HiColor 16 TrueColor 24 színszám 2 4 2 16 16 256 16 256 216 azaz 64K 224 azaz 16M felbontás 720x348 320x200 640x200 640x350 640x480 320x200 640x480, 800x600 1024x768, 1280x960 1600x 1200, stb A kép memóriaigénye az alábbi képlettel számítható: méret = x irányú pixelszám * y irányú pixelszám bit/pixel / 8

[byte] Példa: 5 Mekkora memóriát igényel a játékprogramok által kedvelt VGA 320x200as felbontású 256 színű üzemmód? mem. igény = 320 * 200 8 bit/pixel /8 = 64000 byte 3.Grafikai szoftverek Hardverek, szoftverek grafikus igénye igen sokrétű. Az igények különböző szintű megvalósítást igényelnek. Egy digitalizáló eszközből érkező jelek feldolgozása vagy egy interaktív vonalrajzoló nyílván más jellegű program készítését követeli meg. Három fő szint jellemzi a grafikus igényű programokat. 3.1Gépközeli szint Többnyire eszközök vezérlését, alapfunkciókat ellátó eljárásokat készítenek e szinten. Jellemző eszközök: - közvetlen memória címzés (pl. videokártya programozása), - portkezelés (pl. hardver eszköz üzemmód beállítása), - vezérlő szekvenciák (pl. nyomtató, rajzgép vezérlése), - alacsony szintű függvényhívás (grafikus eszközök tartalmazhatnak, vagy külön mellékelnek ezekhez

alapfunkciókat ellátó eljárásokat). A különféle hardver eszközök vezérlésére, programozására más-más módot részesítenek előnybe. Példa: PC-s környezetben a szabványos alapszintű funkciókat a Bios látja el. Néhány fontos video Bios függvény funkciója: üzemmód beállítás videolap állítás pixel kigyújtás karakter kiírás karaktertábla definiálás E funkciók megszakításhívással használhatók programokban. 6 3.2Fejlesztői szint A magasszintű programozási nyelvek jelentős része tartalmaz grafikus eljáráscsomagot. A grafikus feladatok szubrutinok hívásával oldhatók meg Manapság a funkciók köre szabványosnak tekinthető, azonban használatukban eltérés lehet. Példa: Pascal grafikus unit Néhány fontos szubrutin nevével és funkciójával: InitGraph grafikus üzemmód beállítása SetColor tinta színének megadása Line vonal rajzolása Circle kör rajzolása OutTextXY szöveg írás GetImage kép elmentése PutImage

kép beillesztése CloseGraph grafikus üzemmód zárás 3.3Alkalmazói szint Az informatika fejlődésével, a felhasználói kör bővülésével indultak igazán fejlődésnek ezek a szoftverek. Jellemző képviselői e szintnek az integrált programcsomagok és a mérnöki tervezőrendszerek. A grafikus felhasználói felület, a menüvezérelt interaktív kapcsolat szinte kötelező. A rajzolás művelete általában grafikus funkció kiválasztásával, pozícionáló eszközzel történik. A felhasználói interfész négy összetevőre bontható. -Felhasználói modell Ez a felhasználó által alkotott fogalom az elvégzendő tevékenységről. Átfogó képet kell alkotnia a program működéséről. -Parancsnyelv A felhasználó parancsok segítségével tudja kezelni a rendszert. E parancsok lehetnek ikonizáltak, menüvezéreltek vagy akár parancssorosak is. -Visszajelzés 7 A visszajelzés révén győződhet meg a felhasználó arról, hogy parancsait a program

pontosan megértette. -Információ megjelenítése Tevékenységünk érdemi részének folyamatos megjelenítése alapvetően fontos. Ettől interaktív a tevékenység Példa: Az AutoCAD rendszer fontosabb funkciói: rajzi környezet beállítása rajzelemek létrehozása egyszerű rajzi entitások: pont, vonal, kör, ív, szöveg összetett rajzi entitások: vonallánc, blokk, mintázat, méretvonal (a rajzot felépítő grafikus elemeket a rendszer terminológiájával élve entitásoknak nevezzük) rajzelemek módosítása a rajz szervezése blokkok: fizikailag összekapcsolt rajzelemek, melyek azonosítóval rendelkeznek rétegek: logikailag összekapcsolt rajzelemek, melyek bizonyos helyzetekben közösen kezelhetők a rajz nézetváltása rajzelemek lekérdezése a rajz megjelenítése hardver eszközökön kapcsolat az operációs rendszerrel 4.Megjelenítési alapfogalmak 4.1Színezés A színek a szembe jutó különböző hullámhosszú fénysugarak érzéklése. A

látható tartomány összes színét tartalmazó fényt fehérnek, teljes hiányát feketének érzékeljük. A színek leírására használt modellek: 8 Az RGB modell alapja három szín, a vörös a zöld és a kék. E színek különböző arányú keverésével lehet a színtartomány más részét leírni. A színeket az alapszínek összeadásával állítjuk elő (additív színkeverés). Sugárzó testek színleírásának jellemző modellje (pl. monitor) A CMYK modell az elnyelt fény tulajdonságain alapul. Alapja négy szín, a cián a bíbor a sárga és a fekete. E színek papírra festett különböző arányú keverése a fény egy részét elnyeli és a maradék szín kelt színérzetet. A fekete komponens a festékek tökéletlensége miatt szükséges, elvileg az első három komponens elegendő a keveréshez. A színeket az alapszínek kivonásával állítjuk elő (szubtraktív színkeverés). A nyomtatók használt színmodellje. A HSB modell az ember

színérzékelését veszi alapul. Három összetevője az árnyalat, a telítettség és a fényerő. Az árnyalat az érzékelt fény hullámhossza, a telítettség a tisztasága, a fényerő pedig világossága vagy sötétsége. Találkozhatunk olyan színezési módokkal (pl. nyomdatechnikában) ahol nem matematikai úton definiálják, hanem egyedi szempont szerint válogatják össze a színeket, amik közül választhatunk (pl. Pantone Process színskála). A megjelenítő eszközök különböző színmodelleket használhatnak. Természetesen a pixelekhez rendelt színinformációt bitekkel reprezentáljuk. Ennek megfelelően az elérhető szín a színkomponensek bitszámából adódó variációs lehetőségből adódik. Példa: VGA üzemmód esetén az RGB komponensek 6 bitesek. Így egy színt 643 variációból választhatunk ki. Természetesen a képernyőn egyszerre csak 16 illetve 256 szín lehet az üzemmódnak megfelelően. 4.2Mozgás érzékeltetés A mozgás

érzékeltetése a számítógépes grafika alapvető igényévé vált. Három csoportba sorolhatók a különböző megvalósítások. Képek egymás utáni sorozata: 9 Az általában előre elkészített képeket folyamatosan, egymás után másoljuk a videomemóriába. Egyszerű módszer, de csak igen gyors hardverrel lesz folyamatos a mozgás. Képrészletek egymás utáni sorozata: Általában fix háttérre helyezzük el a már korábban elkészített alakzatokat. Folyamatosan mentjük az eltakart részleteket, majd visszarajzoljuk és az alakzatokat új helyre rakjuk. Az animációk kedvelt módszere. Képpixelek folyamatos frissítése: Képünk megváltozott pontjait rajzoljuk át, a többihez nem nyúlunk. A módszerrel folyamatosan pásztázzuk a meglévő és az új kép pontjait. Ahol eltérés van frissítjük a videómemóriát. A módszer csak a byte/pixeles üzemmódokban hatékony. Az animáció a mozgás érzékeltetésének speciális fajtája. Amennyiben egy

grafikus objektum mozgását, vagy mozgáskomponensét ismétlődő képsorral le tudjuk írni, akkor e fázisok előre elkészíthetők. Az objektumot új helyén ekkor a képsorozat egy megfelelő tagja jeleníti meg. 5. Grafikai modellezés A számítógépes grafika szorosan kapcsolódik a modellezéshez. Ennek egyik oka az, hogy a számítógépes grafika igen kényelmes lehetőséget nyújt a számítógépes modellek viselkedésének megfigyeléséhez. A képi megjelenítés könnyebben átlátható és értelmezhető, mint a táblázatos forma. Másrészt az interaktív grafikát felhasználhatjuk a tervezési alkalmazásokban is, ahol a grafikai modell a tervezési folyamat jelentős részét teszi ki. Az alakzatokat adatszerkezetben tárolt koordinátái, azok kapcsolati összefüggései teljes mértékben meghatározzák. Az ilyen tulajdonsággal rendelkező modelleket geometriai modellnek nevezzük. Példa: Test felszínének közelítése és képének ábrázolása. A

felszínt diszjunkt p1, p2,., pn poligonokkal közelítjük, területük rendre f1, f2,., fn Ezzel F  f1 + f2 +,,+ fn Ábrázolásához meg kell 10 határozni a poligonok csúcsponti koordinátáit. A megfelelő nézőpont szerinti transzformációt elvégezve, a csúcsokat vonalakkal összekötve előáll a test drótvázas képe. A poligonokkal összerendelt csúcsponti koordináták a test felszínének geometriai modelljét alkotják. 5.1 Alakleírás Egy grafikus programnak több, néha egymásnak ellentmondó szempontnak kell megfelelnie. Teljesítenie kell a felhasználó követelményeit, matematikailag jól kezelhető modellt kell alkotni, számítási munka és tárigény szerint hatékony programot kell készíteni. Vizsgáljuk meg e szempontokat. 5.11A leírással szemben támasztott követelmények Többnyire a felhasználó igényei szabják meg, hogy alakleírásunknak mely tulajdonságokkal kell rendelkeznie. A görbetervezés legfontosabb szempontjai a

következők. Tengelyfüggetlenség. Egy alakzat képe nem változhat meg, ha egy más koordinátarendszerben fogalmazzuk meg jellemző pontjait. Többértékűség. A leírandó alak általában nem tekinthető valamely koordináta egyértékű függvényének. Támpontok, csomópontok. Görbe alakjának interaktív kijelölésére szolgálnak. Olyan pontok melyeken a görbének keresztül kell haladnia, illetve amelyek előre látható módon irányítják a görbe alakját. Globális, lokális változtathatóság. A tervező által végzett módosítás hatása a változtatott környezetre illetve a teljes görbére. Hullámzás kiegyenlítés. Igény lehet a lokális hullámzás csökkentésére, a zaj szűrésére. 11 Sokoldalúság. Akadályozhatja a felhasználót, ha a görbeleírás csak meghatározott alakváltoztatásokat tesz lehetővé. Például körívek rajzolásával nehézkes bonyolult alakot megrajzolni. Folytonossági követelmények. A bonyolult alakzatokat

rendszerint különféle, végüknél összeillesztett görbével modellezik. Az illeszkedés rendje meghatározza az eredő alakzat formáját. A nulladrendű folytonosság két görbe találkozása. Az elsőrendű folytonosság esetén a két görbe csatlakozási pontjában közös érintő húzható. A másodrendű folytonosságnál az előzőkön felül a görbületeknek is meg kell egyeznie. A felülettervezés követelményei a fentiekhez nagyon hasonlóak. Az esetek jelentős részében a görbékre alkalmazott módszerek kiterjesztésével oldhatók meg a problémák. 5.12Az alakleírásra használt matematikai eszközök Görbék megadása Egyszerű grafikus problémák esetén a koordináták függvénykapcsolatba hozása elegendő. Mérések kiértékelése gazdasági diagrammok ábrázolására többnyire kielégítő. Görbék modellezéséhez azonban a paraméteres (vektor-skalár) görbéket használják a leggyakrabban. A görbe pontjainak egy vektor felel meg

r(t)=[x(t) y(t) z(t)] . Itt a koordináták a t paraméter függvényei. A paraméter egy meghatározott intervallumban - rendszerint 0 és 1 között - mozoghat. A többértékűség követelménye természetesen kielégül. Példa: az egység sugarú z=1 koordinátájú kör egyenlete r(t)=[cos(2t) sin(2t) 1] t[0,1] 12 Felületek megadása A kétváltozós függvények korlátozott felhasználási területtel bírnak. Jól használhatók egy terep bemutatására, szintvonalaik ábrázolására. Általános esetben a kétparaméteres (vektor-skalár) függvényekkel tudjuk a felületeket kezelni r(u,v)=[x(u,v) y(u,v) z(u,v)] . Mindhárom koordináta kétváltozós függvény, u és v egy meghatározott tartományon mozoghat. Példa: az egység sugarú, egység magasságú hengerpalást egyenlete r(u,v)=[cos(2u) sin(2u) v] u[0,1] v[0,1] Az alakleírás módja az alkalmazástól függ. Analitikus és szintetikus alkalmazásokról beszélhetünk. Az analitikus

alkalmazásokban a tárgyak mért adataiból indulunk ki. Görbét vagy felületet illesztünk egy tárgy jellemző pontjaihoz. Célunk a valószerű illesztés, a mérések számának minimalizálása stb. Szintetikus alkalmazásokkal a tervezésben találkozhatunk. A felhasználó interaktív módon létrehozza az alakzatot és addig módosítja amig az elfogadható nem lesz. Az analitikus módszerek jellemző matematikai eszköze az alakzatot leíró függvénykapcsolatok ismerete, az interpoláció, és a regresszió. Megemlítendő, mint gyakran használt módszer a Spline interpoláció. A szintetikus módszerekre jellemző, hogy hipotézisgörbét vagy felületet nem állítunk fel. A modellezendő alak támpontjainak megadásával alakítjuk ki a kívánt objektumot. E támpontokon nem feltétlen halad át az alakzat, csupán jellemzi azt. Két gyakran használt matematikai eljárás a Bézier- és a B-spline módszer. 13 Példa: Azonos támpontok kitűzésével rajzolt

görbék. Spline interpolció Bézier görbe 5.2 A valószerűség elérésére használt módszerek A grafikus megjelenítőkön nem tudunk és nem is célszerű olyan képet előállítani amely a valódi látvány tökéletes ábrázolása lenne. Olyan módszerekre van szükség, melyek figyelembe veszik az adott alkalmazás igényeit, a kép előállításához szükséges munka mennyiségét és a megjelenítő hardver jellemzőit, képességét. A megjelenítési módszerek alapproblémája a mélység azaz a harmadik dimenzió érzékeltetése. A főbb megjelenítési módszerek: - Párhuzamos vetítés. A háromdimenziós látvány kétdimenziós képének előállításához alapvető a vetítés. A műszaki gyakorlatban sokféle vetítési módszert dolgoztak ki. E módszerek némelyike az építészek, gépészek által legtöbbet használt merőleges vetítés, viszonylag egyszerű. A legtöbb ember számára e módszerek feldolgozása azonban túl bonyolult. 14 felül

oldalnézet és - Perspektív vetítés. A távlatot azzal érzékelteti, hogy a közelebbi tárgyakat nagyobbnak ábrázolja a távolabbiaknál. A perspektíva érzékeltetése igen valószerűvé teszi a képet, hiszen a szemünkben kialakult kép perspektív vetület. Egyes helyzetekben szükség lehet a túlhangsúlyozására. drótvázrajz - Kinetikus mélységi hatás. A mélységi viszonyokat azzal érzékeltetjük, hogy a tárgyat mozgásában figyeljük. A szemlélőhöz közelebbi vonalak gyorsabban mozognak mint a távolabbiak. Az animációk kedvelt eszköze - Takart felületek elhagyása. A tárgyak alakja, egymáshoz viszonyított mélysége azonnal nyilvánvalóvá válik, amint a képről elhagyjuk azokat a vonalakat, melyeket átlátszatlan felületek eltakarnak. A drótvázrajzok kétértelműsége is megszűnik a módszer alkalmazásával. Komoly hátránya, hogy igen sok számítást igényel már egyszerű színtér modellezése is. - Árnyalás Raszteres

megjelenítőkön a látható felületek színének és fényerősségének helyes megválasztásával is elősegíthetjük a tárgyak alakjának érzékeltetését. Kétségtelen, hogy talán a leghatékonyabb eszköz tárgyak megjelenítésére. 5.3 Transzformációk 15 takarás párhuzamos vetítéssel Egy grafikus rendszernek lehetővé kell tennie, hogy a felhasználó alakzatok elkészítése során különböző transzformációkat alkalmazzon. Fel kell tudnia nagyítani, mozgatnia kell, alkalmanként tükrözésre és forgatásra is szükség lehet. A számítógépes grafika matematikai apparátusa a lineáris algebra eszköztárán alapul. Az alakleírást vektoros, a koordinátatranszformációkat mátrixos írásmóddal tárgyaljuk. 5.31Homogén koordináták A homogén tárgyalásmód eredetileg a projektív geometria eszköztárába tartozott. Egy n-dimenziós problémának megfelel egy n+1 -dimenziós térbeli probléma. Az így defíniált alakzatok

leírásánál nem szerepel explicit állandó tag. Ebből adódik a homogén kifejezés is A háromdimenziós transzformációkat a negyedik dimenzióban kényelmesebb tárgyalni. Az r = [x y z] vektornak megfelel az r = [wx wy wz w] w  0 homogén vektor. Kényelmes az r = [x y z 1] alak használata (w = 1). 5.32Transzformációs mátrix Az r pontot mozgassuk el r pontba. Vektorosan jelölve r = r  T Az általános három dimenziós transzformáció mátrixos alakja: x y z 1  x y z a e L M b f 1 M M c g M d h N O P P P P 1Q i 0 j 0 k 0 l Három elemi háromdimenziós transzformációt részletezünk. A többi transzformációt is általában ezekre vezetjük vissza. Eltolás D vektor irányú eltolás transzformációs mátrixa: 16 1 L M 0 M M 0 M D M N x 0 0 0 1 0 0 0 1 0 Dy Dz 1 O P P P P P Q Léptékezés A léptékezési transzformációval mindhárom koordinátatengely irányában független mértékű nagyítást végezhetünk. Mátrixa: S L M 0 M M 0

M N0 x 0 Sy 0 0 0 0 0 0 Sz 0 0 1 O P P P P Q Sx, Sy, Sz  0 Forgatás A meghatározott tengely körüli  szögű elforgatás mátrixa: y tengely körül z tengely körül cos  L M sin   M M 0 M N0 sin  cos  0 0 0 0 1 0 0 0 0 1 O P P P P Q cos  L M 0 M M sin  M N0 0  sin  1 0 0 cos  0 0 0 0 0 1 x tengely körül O P P P P Q 1 0 L M 0 cos  M M 0  sin  M 0 0 N 0 sin  cos  0 0 0 0 1 O P P P P Q Mindhárom transzformációnak van inverz párja, mely a fordított transzformációt hajtja végre. 5.33Transzformációk konkatenációja Több transzformáció egymás utáni alkalmazását helyettesíthetjük egyetlen mátrix alkalmazásával. Amennyiben T1,T2, ,Tn transzformációt egymás után kell végrehajtani, akkor ugyanazt a hatást érhetjük el egyetlen Te transzformációval, ahol Te = T1  T2  .  Tn A mátrixok összeszorzásakor a transzformációk sorrendjét be kell tartani. Példa: Középpontos

tükrözés transzformációs mátrixának elkészítése. 17 Legyen [k1 k2 k3] a tükrözés középpontja. Teendőnk a következő Eltolás [-k1 -k2 -k3] vektorral, tükrözés az origón keresztül, majd eltolás [k1 k2 k3] vektorral. 1 L M 0 M M 0 M k N 1 0 0 1 0 k 2 0 1 k 3 1 O L P M 0PM 0  0PM 0 P M 1Q N0 0 0 1 0 0 0 0 1 0 1 0 L O M P 0 1 P M 0 0 0 PM M P k k 1Q N 0 0 0 1 2 0 1 k3 1 O L P M 0P M 0  0P M 0 P M 1 QN 2k 0 1 0 0 1 0 2k 2 0 1 2k 3 O P 0P 0P P 1Q 0 5.4Geometriai tervezés A geometriai tervezés a konstruktív geometria elvén alapszik. Ennek alapgondolata, hogy minden véges háromdimenziós geometriai alakzat véges számú diszjunkt geometriai testtel és véges számú kombinálóművelettel (logikai operátorok) leírható. Ezért a tervezőrendszerek saját alaptest készlettel rendelkeznek Példa: Egy bonyolultabb alakzat elkészítésének lépései. 18