Đăng ký Đăng nhập
Trang chủ Công nghệ thông tin Thiết kế - Đồ họa Tài liệu đồ họa máy tính...

Tài liệu Tài liệu đồ họa máy tính

.PDF
213
213
148

Mô tả:

Tài liệu đồ họa máy tính
2k7 Đồ họa máy tính LÔØI NOÙI ÑAÀU Ñoà hoïa maùy tính laø moät trong nhöõng lónh vöïc lí thuù nhaát vaø phaùt trieån nhanh nhaát cuûa tin hoïc. Ngay töø khi xuaát hieän, ñoà hoïa maùy tính ñaõ coù söùc loâi cuoán maõnh lieät, cuoán huùt raát nhieàu ngöôøi vaø ñöôïc söû duïng ôû nhieàu lónh vöïc khaùc nhau nhö : khoa hoïc, ngheä thuaät, kinh doanh, thöông maïi, coâng nghieäp, quaûn lí, giaùo duïc, giaûi trí, … Soá löôïng caùc chöông trình ñoà hoïa öùng duïng thaät khoång loà vaø phaùt trieån lieân tuïc. Cuoán saùch naøy ñöôïc bieân soaïn döïa treân ñeà cöông moân Ñoà hoïa maùy tính thuoäc chöông trình ñaøo taïo tin hoïc baäc cöû nhaân vaø cao ñaúng cuûa Boä Giaùo duïc vaø Ñaøo taïo, taäp trung vaøo caùc vaán ñeà cuûa ñoà hoïa hai chieàu vaø ba chieàu nhaèm cung caáp moät neàn taûng kieán thöùc ñaày ñuû vaø choïn loïc bao goàm caùc khaùi nieäm cô baûn nhaát, caùc thuaät toaùn cô sôû cuûa ñoà hoïa maùy tính, … giuùp ngöôøi ñoïc coù theå töï tìm hieåu vaø xaây döïng caùc chöông trình öùng duïng ñoà hoïa. Cuoán saùch ñöôïc chia laø m 10 chöông, goàm hai phaàn chính : ñoà hoïa hai chieàu vaø ñoà hoïa ba chieàu. Cuoái moãi chöông ñeàu coù phaàn toùm taét vaø heä thoáng baøi taäp ñeå ngöôøi ñoïc töï kieåm tra. Caùc thuaät toaùn trình baøy ñeàu coù löu ñoà vaø chöông trình minh hoïa döôù i daïng ngoân ngöõ C. Ñeå caùc vaán ñeà trình baøy ñöôïc phong phuù, ña daïng vaø caäp nhaät, chuùng toâi ñaõ raát noã löïc trong vieäc tham khaûo caùc taøi lieäu kinh ñieån, ñaëc bieät laø caùc baøi giaûng veà ñoà hoïa cuûa caùc tröôøng ñaïi hoïc noåi tieáng treân theá giôùi ôû AÂu, Myõ nhö Brown, Stanford, MIT, Waterloo, … Tuy nhieân trong quaù trình bieân soaïn chaéc chaén khoâng theå khoâng traùnh khoûi sô soùt, chuùng toâi xin traân troïng tieáp thu taát caû nhöõng yù kieán ñoùng goùp cuûa baïn ñoïc cuõng nhö caùc baïn ñoàng nghieäp ñeå hoaøn thieän cuoán saùch ngaøy moät toát hôn. Convert by ha_con_bk Trang 3 Chuùng toâi xin chaân thaønh caùm ôn Ban chuû nhieäm Khoa Coâng ngheä Thoâng tin - Ñaïi hoïc Khoa hoïc Töï nhieân, caùc anh chò trong Ban bieân taäp Nhaø xuaát baûn Giaùo duïc ñaõ hoã trôï raát nhieät tình ñeå cuoán saùch naøy sôùm ñeán tay baïn ñoïc. CAÙC TAÙC GIAÛ 4 2k7 Đồ họa máy tính CHÖÔNG 1 GIÔÙI THIEÄU VEÀ ÑOÀ HOÏA MAÙY TÍNH Söï phaùt trieån cuûa khoa hoïc, kó thuaät, ngheä thuaät, kinh doanh, vaø coâng ngheä luoân luoân phuï thuoäc vaøo khaû naêng truyeàn ñaït thoâng tin cuûa chuùng ta, hoaëc thoâ ng qua caùc bit döõ lieäu löu tröõ trong microchip hoaëc thoâng qua giao tieáp baèng tieáng noùi. Caâu chaâm ngoân töø xa xöa “moät hình aûnh coù giaù trò hôn caû vaïn lôøi” hay “traêm nghe khoâng baèng moät thaáy” cho thaáy yù nghóa raát lôùn cuûa hình aûnh trong vieäc chuyeån taûi thoâng tin. Hình aûnh bao giôø cuõng ñöôïc caûm nhaän nhanh vaø deã daø ng hôn, ñaëc bieät laø trong tröôøng hôïp baát ñoàng veà ngoân ngöõ. Do ñoù khoâng coù gì ngaïc nhieân khi maø ngay töø khi xuaát hieän maùy tính, caùc nhaø nghieân cöùu ñaõ coá gaéng söû duïng noù ñeå phaùt sinh caùc aûnh treân maøn hình. Trong suoát gaàn 50 naêm phaùt trieån cuûa maùy tính, khaû naêng phaùt sinh hình aûnh baèng maùy tính cuûa chuùng ta ñaõ ñaït tôùi möùc maø baây giôø haàu nhö taát caû caùc maùy tính ñeàu coù khaû naêng ñoà hoïa. Ñoà hoïa maùy tính laø moät trong nhöõng lónh vöïc lí thuù nhaát vaø phaùt trieån nhanh nhaát cuûa tin hoïc. Ngay töø khi xuaát hieän, ñoà hoïa maùy tính ñaõ coù söùc loâi cuoán maõnh lieät, cuoán huùt raát nhieàu ngöôøi ôû nhieàu lónh vöïc khaùc nhau nhö khoa hoïc, ngheä thuaät, kinh doanh, quaûn lí, ... Tính haáp daãn vaø ña daï ng cuûa ñoà hoïa maùy tính coù theå ñöôïc minh hoïa raát tröïc quan thoâng qua vieäc khaûo saùt caùc öùng duïng cuûa noù. Convert by ha_con_bk Trang 5 1. MOÄT SOÁ ÖÙNG DUÏNG CUÛA ÑOÀ HOÏA MAÙY TÍNH Ngaøy nay, ñoà hoïa maùy tính ñöôïc söû duïng trong raát nhieàu lónh vöïc khaùc nhau nhö coâng nghieäp, thöông maïi, quaûn lí, giaùo duïc, giaûi trí, … Soá löôïng caùc chöông trình ñoà hoïa öùng duïng thaät khoång loà vaø phaùt trieån lieân tuïc, sau ñaây laø moät soá öùng duïng tieâu bieåu : 1.1. Hoã trôï thieát keá Moät trong nhöõng öùng duïng lôùn nhaát cuûa ñoà hoïa maùy tính laø hoã trôï thieát keá (CAD – computer-aided design). Ngaøy nay CAD ñaõ ñöôïc söû duïng haàu heát trong vieäc thieát keá caùc cao oác, oâ toâ, maùy bay, taøu thuûy, taøu vuõ truï, maùy tính, trang trí maãu vaûi, vaø raát nhieàu saûn phaåm khaùc. Söû duïng caùc chöông trình naøy, ñaàu tieân caùc ñoái töôïng ñöôïc hieån thò döôùi daïng caùc phaùc thaûo cuûa phaàn khung (wireframe outline), maø töø ñoù coù theå thaáy ñöôïc toaøn boä hình daïng vaø caùc thaønh phaàn beân trong cuûa caùc ñoái töôïng. Söû duïng kó thuaät naøy, ngöôøi thieát keá seõ deã daøng nhaä n thaáy ngay caùc thay ñoåi cuûa ñoái töôïng khi tieá n haønh hieäu chænh caùc chi tieát hay thay ñoåi goùc nhìn, …. Moät khi ñaõ thieát keá xong phaàn khung cuûa ñoái töôïng, caùc moâ hình chieáu saùng, toâ maøu vaø taïo boùng beà maët seõ ñöôïc keát hôïp ñeå taïo ra keát quaû cuoái cuøng raát gaàn vôùi theá giôùi thöïc . 1.2. Bieåu dieãn thoâng tin Ñaây laø caùc öùng duïng söû duïng ñoà hoïa maùy tính ñeå phaùt sinh caùc bieåu ñoà, ñoà thò, … duøng minh hoïa moá i quan heä giöõa nhieàu ñoái töôïng vôùi nhau. Caùc öùng duïng naøy thöôøng ñöôïc duøng ñeå toùm löôïc caùc döõ lieäu veà taøi chính, thoáng keâ, kinh teá, khoa hoïc, toaùn hoïc, … giuùp cho vieäc nghieân cöùu, quaûn lí, … moät caùch coù hieäu quaû. 6 2k7 Đồ họa máy tính Hình 1.1 - Phaùc thaûo phaàn khung vaø keát quaû cuûa thieát keá xy lanh Hình 1.2 – Thoâng tin toùm löôïc ñöôïc bieåu dieãn qua caùc bieåu ñoà Convert by ha_con_bk Trang 7 1.3. Lónh vöïc giaû i trí, ngheä thuaät Trong lónh vöïc ngheä thuaät, caùc chöông trình maùy tính nhö Paint Shop Pro, Adobe Photoshop, 3D Studio, … hoã trôï raát ñaéc löïc cho caùc hoïa só, caùc nhaø taïo maãu trong vieäc thieát keá caùc hình aûnh soáng ñoäng, vaø raát thöïc. Vôùi caùc chöông trình naøy, ngöôøi hoïa só ñöôïc maùy tính taïo cho caûm giaùc y nhö ñang laøm vieäc ngoaøi ñôøi thöïc baèng caùch cung caáp caùc coâng cuï nhö khung veõ, giaù veõ, baûng pha maøu, caùc hieäu öùng ba chieàu, … laøm cho hoï caûm thaáy raát thoaûi maùi vaø tieän lôïi. Ngoaøi ra ñoà hoïa maùy tính coø n giuùp taïo ra caùc chöông trình troø chôi, giaûi trí; hoã trôï cho caùc kó xaûo ñieä n aûnh, cho caùc nhaø laøm phim. Coù nhieàu boä phim raát noåi tieáng nhôø vaøo kó xaûo ñieän aûnh nhö : Coâng vieâ n Khuûng long kæ Jura (Jurassic Park), Titanic, Theá giôùi nöôùc (Water World), … Hình 1.3 – Hình aûnh ñöôïc taïo ra töø chöông trình ñoà hoïa 8 2k7 Đồ họa máy tính 1.4. Giaùo duïc vaø ñaøo taïo Hieän nay caùc chöông trình moâ phoûng caáu truùc cuûa caùc vaät theå, tieán trình cuûa caùc phaû n öùng hoùa hoïc, hoaït ñoäng cuûa caùc goùi tin treân maïng maùy tính, … ñöôïc duøng raát nhieàu trong vieäc hoã trôï giaûng daïy. Trong ñaøo taïo, caùc öùng duïng moâ phoûng ñöôïc duøng ñeå kieåm tra trình ñoä ngöôøi laùi, huaán luyeän phi coâng, ñieàu khieån giao thoâng, … Hình 1.4 – Chöông trình hoïc veà maùy tính 1.5. Giao tieáp giöõa maùy tính vaø ngöôøi duøng Moïi öùng duïng ñeàu phaûi coù giao dieän giao tieáp vôùi ngöôøi duøng. Giao dieän ñoà hoïa thöïc söï laø moät cuoäc caùch maïng mang laïi söï thuaän tieän vaø thoaûi maùi cho ngöôøi duøng öùng duïng. Caùc öùng duïng döïa treân heä ñieàu haønh MS Windows laø moät minh hoïa raát tröïc quan cuûa giao Convert by ha_con_bk Trang 9 dieän ñoà hoïa. Caùc chöùc naêng cuûa caùc öùng duïng naøy ñöôïc thieát keá cho ngöôøi duøng laøm vieäc thoâng qua caùc bieåu töôïng moâ taû chöùc naêng ñoù. Ví duï, chöùc naêng löu taäp tin ñöôïc hieåu thoâng qua bieåu töôïng ñóa meàm, chöùc naêng in aán ñöôïc hieåu thoâng qua bieåu töôïng maùy in, … Ñeå choïn caùc chöùc naêng, ngöôøi duøng söû duïng chuoät troû ñeán vaø nhaán vaøo caùc bieåu töôïng töông öùng. Ñieåm thuaän lôïi chính khi duøng bieåu töôïng laø kích thöôùc khoâng gian maø noù chieám ít hôn nhieàu so vôùi duøng vaên baûn ñeå moâ taû cho cuøng moät chöùc naêng, ngoaøi ra vieäc naém baét caùc chöùc naêng qua caùc bieåu töôïng seõ deã daøng hôn raát nhieàu khi ngöôøi duøng gaëp trôû ngaïi veà maët ngoân ngöõ. Caùc öùng duïng coù giao dieän ñoà hoïa coøn cho pheùp ngöôøi duøng khaû naêng laøm vieäc deã daøng vôùi nhieàu cöûa soå vôùi nhieàu daïng taøi lieäu khaùc nhau cuøng moät luùc. Hình 1.5 – Giao dieän cuûa chöông trình MS Word 10 2k7 Đồ họa máy tính 2. KHAÙI NIEÄM VEÀ ÑOÀ HOÏA MAÙY TÍNH Ñoà hoïa maùy tính laø taát caû nhöõng gì lieân quan ñeán vieäc söû duïng maùy tính ñeå phaùt sinh ra hình aûnh. Caùc vaán ñeà lieân quan tôùi coâng vieäc naøy bao goàm : taïo, löu tröõ, thao taùc treân caùc moâ hình (caùc moâ taû hình hoïc cuûa ñoái töôïng) vaø caùc aûnh. Theo ñònh nghóa naøy thì ñoà hoï a maùy tính bao goàm vieäc thieát keá phaàn cöùng nhö thieát bò hieån thò, caùc thuaät toaùn caàn thieát ñeå phaùt sinh caùc ñöôøng treâ n caùc thieát bò naø y, caùc phaàn meàm ñöôïc söû duïng cho caû ngöôøi laäp trình heä thoáng vaø ngöôøi laäp trình öùng duïng ñoà hoïa, vaø caùc chöông trình öùng duïng taïo aûnh baèng maùy tính. Ñoà hoïa maùy tính cung caáp moät trong nhöõng phöông caùch töï nhieân nhaát cho vieäc truyeàn ñaït thoâng tin vôùi maùy tính. Ngaøy nay, trong nhieàu quaù trình thieát keá, caøi ñaët vaø xaây döïng, thoâng tin maø hình aûnh mang laïi laø haàu nhö khoâng theå thieáu ñöôïc. Kó thuaät tröïc quan (scientific visualization) ñaõ trôû neâ n laø moät lónh vöïc raát quan troïng töø naêm 1980, khi caùc nhaø nghieâ n cöùu khoa hoïc vaø caùc kó sö nhaän ra raèng hoï khoâ ng theå xöû lí moät löôïng döõ lieäu khoång loà phaùt sinh töø caùc sieâu maùy tính maø döõ lieäu khoâng ñöôïc toùm löôïc vaø laøm noåi baät caùc xu höôùng vaø hieän töôïng qua nhieàu loaïi bieåu dieãn ñoà hoïa khaùc nhau. Ñoà hoïa maùy tính töông taùc laø moät trong nhöõng phöông tieän mang laïi theâm nhieàu söï thuaän lôïi cho ngöôøi duøng trong vieäc phaùt sinh hình aûnh keå töø khi coù phaùt minh cuûa maùy aûnh vaø truyeàn hình. Vôùi maùy tính, chuùng ta coù theå taïo caùc hình aûnh khoâng chæ cuûa caùc ñoái töôïng cuï theå, thöïc teá, maø coøn cuûa caùc ñoái töôïng tröøu töôïng, nhaâ n taïo; caùc bieåu dieã n cuûa döõ lieäu maø khoâng coù tính keá thöøa veà maët hình hoïc, nhö laø keát quaû ñieàu tra, khaûo saùt. Hôn nöõa, vôùi ñoà hoïa maùy tính chuùng ta khoâng bò giôùi haïn trong caùc aûnh tónh. Caùc aû nh ñoäng thoâng thöôøng mang laïi nhieàu hieäu quaû hôn so vôùi aûnh tónh, ñaëc bieät laø vôùi caùc hieän töôïng bieán ñoåi theo thôøi gian, caû thöïc teá (nhö söï ñoå i höôùng cuûa caùnh maùy bay sieâu aâm, hay Convert by ha_con_bk Trang 11 söï phaùt trieån cuûa khuoâ n maët ngöôøi töø luùc treû thô tôùi luùc giaø) vaø tröøu töôïng (nhö laø xu höôùng phaùt trieån cuûa vieäc söû duïng naêng löôïng, gia taêng daân soá, …). Coù nhieàu caùch tieáp caän trong vieäc hoïc moân ñoà hoïa, traûi roäng töø vieäc nghieân cöùu phaàn cöùng tôùi vieäc hoïc ñeå söû duïng ñoà hoïa maùy tính chæ trong moät lónh vöïc chuyeân bieät naøo ñoù nhö laø thieát keá maïch tích hôïp cao (VLSI – very large scale integrated circuit). ÔÛ ñaây chuùng ta tieáp caän töø goùc ñoä cuûa ngöôøi laäp trình öùng duïng, ñoù laø ngöôøi söû duïng taát caû caùc hoã trôï cuûa phaàn cöùng, caùc coâng cuï phaàn meàm ñeå xaây döïng neân caùc öùng duïng. Tuy nhieân ñeå coù theå thieát keá vaø caøi ñaët caùc chöông trình öùng duïng ñoà hoïa ñöôïc toát, ngoaøi vieäc tìm hieåu caùc khaû naêng cuûa coâng cuï laäp trình, chuùng ta cuõng caàn phaûi naém vöõng caùc khaùi nieäm veà phaàn cöùng; caùc vaá n ñeà, caùc nguyeân lí lieâ n quan ñeán caøi ñaët phaàn meàm, caùc thuaät toaùn, caùc öùng duïng, … 3. TOÅNG QUAN VEÀ MOÄT HEÄ ÑOÀ HOÏA Moät heä ñoà hoï a bao giôø cuõng coù hai thaønh phaàn chính ñoù laø phaàn cöùng vaø phaàn meàm. Phaàn cöùng bao goàm caùc thieát bò hieån thò vaø nhaäp döõ lieäu, … Phaàn meàm bao goàm caùc coâng cuï laäp trình vaø caùc trình öùng duïng ñoà hoïa. Chuùng ta seõ laàn löôït khaûo saùt caùc thaønh phaà n naøy. 3.1. Phaàn cöùng 3.1.1. Thieát bò hieån thò Maøn hình laø thieát bò hieån thò thoâ ng duïng nhaát trong moät heä ñoà hoïa. Caùc thao taùc cuûa haàu heát maøn hình ñeàu döïa treân thieát keá cuûa oáng tia aâm cöïc (CRT – cathode ray tube). Caáu taïo cuûa CRT Hình 1.6 minh hoïa thao taùc cô sôû cuûa moät oáng tia aâm cöïc. Moät chuøm caùc tia ñieän töû (tia aâm cöïc) phaùt ra töø moät suùng ñieän töû, 12 2k7 Đồ họa máy tính vöôït qua caùc heä thoáng hoäi tuï (focusing) vaø daãn höôùng (deflection) seõ höôùng tôùi caùc vò trí xaùc ñònh treân maøn hình ñöôïc phuû moät lôùp phosphor. Taï i moãi vò trí töông taùc vôùi tia ñieän töû, haït phosphor seõ phaùt ra moät chaám saùng nhoû. Vì aùnh saùng phaùt ra bôûi caùc haït phosphor môø daàn raát nhanh neâ n caàn phaûi coù moät caùch naøo ñoù ñeå duy trì aûnh treâ n maøn hình. Moät trong caùc caùch ñoù laø laëp ñi laëp laïi nhieàu laàn vieäc veõ laïi aûnh thaät nhanh baèng caùch höôùng caùc tia ñieän töû trôû laïi vò trí cuõ. Kieåu hieån thò naøy goïi laø refresh CRT. Hình 1.6 – Caáu taïo cuûa CRT Coù nhieàu loaïi phosphor ñöôïc duøng trong moät CRT. Ngoaøi maøu saéc ra, ñieåm khaùc nhau chính giöõa caùc loaïi phosphor laø “ñoä beàn” (persistent), ñoù laø khoaûng thôøi gian phaùt saùng sau khi tia CRT khoâng coøn taùc ñoä ng. Lôùp phosphor coù ñoä beà n thaáp caàn toác ñoä laøm töôi cao hôn ñeå giöõ cho hình aûnh treân maøn hình khoûi nhoøe . Loaïi naøy thöôøng raát toát cho hoaït hình, raát caàn thay ñoåi hình aûnh lieân tuïc. Lôùp phosphor coù ñoä beàn cao thöôøng ñöôïc duøng cho vieäc hieån thò caùc aûnh tónh, ñoä phöùc taïp cao. Maëc duø moät soá loaïi phosphor coù ñoä beàn lôùn hôn 1 giaây, tuy nhieân caùc maøn hình ñoà hoïa thöôøng ñöôïc xaây döïng vôùi ñoä beàn dao ñoäng töø 10 ñeán 60 micro giaây. Soá löôïng toái ña caùc ñieåm coù theå hieån thò treân moät CRT ñöôïc goïi laø ñoä phaân giaûi (resolution). Moät ñònh nghóa chính xaùc hôn cuûa Convert by ha_con_bk Trang 13 ñoä phaâ n giaûi laø soá löôïng caùc ñieåm treân moät centimet maø coù theå ñöôïc veõ theo chieàu ngang vaø chieàu doïc, maëc duø noù thöôøng ñöôïc xem nhö laø toång soá ñieåm theo moãi höôùng. Kích thöôùc vaät lí cuûa maøn hình ñoà hoïa ñöôïc tính töø ñoä daøi cuûa ñöôøng cheùo maøn hình, thöôøng dao ñoäng töø 12 ñeán 27 inch hoaëc lôùn hôn. Moät maø n hình CRT coù theå ñöôïc keát hôïp vôùi nhieàu loaïi maùy khaùc nhau, do ñoù soá löôïng caùc ñieåm treân maøn hình coù theå ñöôïc veõ thaät söï coøn tuøy thuoäc vaøo khaû naêng cuûa heä thoáng maø noù keát hôïp vaøo. Moät thuoäc tính khaùc cuûa maøn hình nöõa laø tæ soá phöông (aspect ratio). Tæ soá phöông laø tæ leä cuûa caùc ñieåm doïc vaø caùc ñieåm ngang caà n ñeå phaùt sinh caùc ñoaï n thaúng coù ñoä daøi ñôn vò theo caû hai höôùng treân maø n hình (trong moät soá tröôøng hôïp ngöôøi ta thöôøng duøng tæ soá phöông nhö laø tæ soá cuûa caùc ñieåm theo chieàu ngang so vôùi caùc ñieåm theo chieàu doïc). Vôùi caùc maøn hình coù tæ soá phöông khaùc 1, deã daøng nhaän thaáy laø caùc hình vuoâng hieån thò treân noù seõ coù daïng hình chöõ nhaät, caùc hình troøn seõ coù daïng hình ellipse. Thöïc ra khaù i nieäm tæ soá phöông xuaát phaùt töø baûn chaát khoaûng caùch (neáu tính cuøng moät ñôn vò ñoä daøi) giöõa caùc ñieåm doïc khoâng baèng khoaû ng caùch giöõa caùc ñieåm ngang. Moät tæ soá phöông coù giaù trò ¾ coù nghóa laø veõ 3 ñieåm theo chieàu doïc seõ coù cuøng ñoä daøi vôùi vieäc veõ 4 ñieåm theo chieàu ngang. Maøn hình daïng ñieåm (raster - scan display): Maøn hình daïng ñieåm laø daïng thöôøng gaëp nhaát trong soá caùc daïng maøn hình söû duïng CRT döïa treân coâng ngheä truyeàn hình. Trong heä thoáng naøy, chuøm tia ñieän töû seõ ñöôïc queùt ngang qua maøn hình, moãi laàn moät doøng vaø queùt tuaàn töï töø treân xuoáng döôùi. Söï baät taét cuûa caùc ñieåm saùng treân maøn hình phuï thuoäc vaøo cöôøng ñoä cuûa tia ñieän töû vaø ñaây chính laø cô sôû cuûa vieäc taïo ra hình aûnh treân maøn hình. 14 2k7 Đồ họa máy tính Moãi ñieåm treân maøn hình ñöôïc goïi laø moät pixel hay laø pel (vieát taét cuûa picture element). Caùc thoâ ng tin veà hình aûnh hieån thò treân maøn hình ñöôïc löu tröõ trong moät vuøng boä nhôù goïi laø vuøng ñeäm laøm töôi (refresh buffer) hay laø vuøng ñeäm khung (frame buffer). Vuøng boä nhôù naøy löu tröõ taäp caùc giaù trò cöôøng ñoä saùng cuûa toaøn boä caùc ñieåm treân maøn hình vaø luoân luoân toàn taïi moät song aùnh giöõa moãi ñieåm treân maøn hình vaø moãi phaàn töû trong vuøng naøy. Hình 1.7 – Quaù trình taïo hình aûnh cuûa caùc tia queùt Ñeå thay ñoåi caùc hình aûnh caàn hieån thò, caùc giaù trò töông öùng vôùi vò trí vaø ñoä saù ng phaûi ñöôïc ñaët vaøo vuøng ñeäm khung. Hình 1.8 minh hoïa caùc giaù trò töông öùng trong vuøng ñeäm khung ñeå hieån thò hình aûnh cuûa chöõ A treân maøn hình. Ñoái vôùi maøn hình ñen traéng, vuøng ñeäm khung coøn ñöôïc goïi laø bitmap, vôùi caùc maøn hình khaùc vuø ng ñeäm khung thöôøng ñöôïc goïi laø pixmap. Convert by ha_con_bk Trang 15 Ñeå taïo ra caùc aûnh ñen traé ng, ñôn giaû n chæ caàn löu thoâng tin cuûa moãi pixel baè ng 1 bit (caùc giaù trò 0, 1 seõ töôïng tröng cho vieäc taét (toái), baät (saùng) pixel treân maøn hình). Trong tröôøng hôïp aûnh nhieàu maøu, ngöôøi ta caàn nhieàu bit hôn, neáu thoâng tin cuûa moãi pixel ñöôïc löu baèng b bit, thì ta coù theå coù 2 b giaù trò maøu phaân bieät cho pixel ñoù. Hình 1.8 – Song aùnh giöõa vuøng ñeäm khung vaø maøn hình Trong caùc maøn hình maøu, ngöôøi ta ñònh nghóa taäp caùc maøu laøm vieäc trong moät baû ng tra (LookUp Table - LUT). Moãi phaàn töû cuûa LUT ñònh nghóa moät boä ba giaù trò R (Red), G (Green), B (Blue) moâ taû moät maøu naøo ñoù. Khi caàn söû duïng moät maøu, ta chæ caàn chæ ñònh soá thöù töï (index) töông öùng cuûa maøu ñoù trong LUT. Baûng LUT coù theå ñöôïc thay ñoåi bôûi caùc öùng duïng vaø ngöôøi laäp trình coù theå can thieäp ñieàu khieån. Vôùi caùch laøm naøy chuùng ta coù theå tieát kieäm khoâng gian löu tröõ cho moãi phaàn töû trong vuøng ñeäm khung. Soá phaàn töû cuûa LUT ñöôïc xaùc ñònh töø soá löôïng caùc bits/pixel. Neáu moãi phaàn töû cuûa vuøng ñeäm khung duøng b bits ñeå löu thoâ ng tin 16 2k7 Đồ họa máy tính cuûa moät pixel, thì baûng LUT coù 2 b phaàn töû. Neáu b=8, LUT seõ coù 28=256 phaàn töû, ñoù chính laø soá maøu coù theå ñöôïc hieån thò cuøng moät luùc treân maøn hình. Vieäc laøm töôi treân maøn hình daïng naøy ñöôïc thöïc hieän ôû toác ñoä 60 ñeán 80 frame/giaây. Ñoâi khi toác ñoä laøm töôi coøn ñöôïc bieåu dieãn baèng ñôn vò Hertz (Hz – soá chu kì/ giaây), trong ñoù moät chu kì töông öùng vôùi moät frame. Söû duïng ñôn vò naøy, chuùng ta coù theå moâ taû toác ñoä laøm töôi 60 frame/giaây ñôn giaû n laø 60Hz. Khi ñaït ñeán cuoái moãi doøng queùt, tia ñieän töû quay trôû laïi beân traùi cuûa maøn hình ñeå baét ñaàu doøng queùt keá tieáp. Vieäc quay trôû laïi phía traùi maøn hình sau khi laøm töôi moãi doøng queùt ñöôïc goïi laø tia hoài ngang (horizontal retrace). Vaø tôùi cuoái moãi frame, tia ñieän töû (tia hoài doïc – vertical retrace) quay trôû laïi goùc treân beân traùi cuûa maøn hình ñeå chuaån bò baét ñaàu frame keá tieáp. Trong moät soá maøn hình, moãi frame ñöôïc hieån thò thaønh hai giai ñoaïn söû duïng kó thuaät laøm töôi ñan xen nhau (interlaced refesh). ÔÛ giai ñoaïn ñaàu tieân, tia queùt seõ queùt moät soá doøng töø treân xuoáng döôùi, sau tia hoài doïc, caùc doøng coøn laïi seõ ñöôïc queùt. Vieäc ñan xen caùc doøng queùt naøy cho pheùp chuùng ta thaáy ñöôïc toaøn maøn hình hieån thò chæ trong moät nöûa thôøi gian so vôùi duøng ñeå queùt taát caû caùc doøng moät laàn töø treân xuoáng döôùi. Kó thuaät naøy thöôøng ñöôïc duøng cho loaïi maøn hình coù toác ñoä laøm töôi thaáp. Hình 1.9 – Hoaït ñoäng cuûa maøn hình interlaced Convert by ha_con_bk Trang 17 Caùc heä maøu Vieäc nghieâ n cöùu maøu saéc bao goàm nhieàu lónh vöïc nhö : quang hoïc, sinh lí hoïc, taâm lí hoïc vaø caùc nhaâ n toá khaùc thuoäc veà con ngöôøi. Vì theá, coù raát nhieàu quan nieäm cuõng nhö caùc thaønh ngöõ veà khoa hoïc caùc maøu saéc. Ñoái vôùi nhöõng ngöôøi laøm tin hoïc, vaán ñeà maø hoï quan taâm laø moái töông taùc qua laïi giöõa söï caûm nhaän maøu saéc cuûa con ngöôøi vôùi caùc boä phaä n phaà n cöùng hieån thò maøu saéc cuûa maøn hình maùy tính, vaø vôùi caùc phaàn meàm thieát keá treân noù. Baûng döôùi ñaây seõ trình baøy moái quan heä naøy : Söï caûm nhaän Ñaëc ñieåm phaàn cöùng Ñaëc ñieåm phaàn meàm cuûa con ngöôøi Maøu saéc Thuaät toaùn treân khoâng gian maøu Ñoä baõo hoøa (Saturation) Caùc maøu hieån thò goác Böôùc soùng (WaveLength) Söï thuaàn nhaát cuûa maøu Ñoä saùng hay ñoä choùi Söï “rung” cuûa maøn hình Cöôøng ñoä saùng Toác ñoä laøm töôi (refresh) Hieäu chænh gamma Saéc ñoä maøu (Hue) Khoâng gian maøu (color space) do ñoù ñöôïc ñöa ra ñeå ñònh caùc maøu hieån thò treân maùy tính bôûi vì chuùng laøm ñôn giaûn hoùa caùc thao taùc tính toaùn caà n thieát cho vieäc chuyeån ñoåi maøu saéc (color transformation). Khoâng gian maøu coù theå ñöôïc thieát keá hoaëc laø döïa treân cô sôû cuûa boä phaùt sinh maøu cuûa phaà n cöùng (hardware color generation) (ví duï nhö khoâng gian RGB) hoaëc laø döïa treân söï caûm nhaän maøu saéc cuûa maét (nhö khoâ ng gian HSL). Vôùi moät öùng duïng, vieäc choïn khoâng gian maøu naøo ñeå söû duïng tuøy thuoä c vaøo moät soá nhaân toá sau : ñoä chính xaùc maø caùc nhaø thieát keá caàn kieåm soaùt maøu saéc (color control); yeâu caàu veà söï töông taùc giöõa caùc maøu saéc vaø toác ñoä caùc tính toaùn cho öùng duïng ñoù. 18 2k7 Đồ họa máy tính Khoâng gian RGB (RGB space) Khoâng gian RGB moâ taû maøu saéc baèng ba thaønh phaàn Red, Green, Blue. Khoâng gian naøy ñöôïc minh hoïa baèng moät khoái laäp phöông vôùi caùc truïc chính R, G, B. Moãi maøu trong khoâng gian RGB ñeàu ñöôïc bieåu dieãn nhö laø moät vector thoâng qua ba vector cô sôû laø Red, Green, Blue. Do ñoù, öùng vôùi caùc toå hôïp khaùc nhau cuûa ba maøu naøy seõ cho ta moät maøu môùi. G Green Gray scale 1 (0,1,0) Cy an (0,1,1) White (1,1,1) Black (0,0,0) 1 Red (1,0,0) 1 B Y ellow (1,1,0) Blue (0,0,1) R Magenta (1,0,1) Hình 1.10 - Moâ hình khoâng gian RGB Trong hình laäp phöông moãi maøu goác (Red, Green, Blue) ñöôïc ñaët vaøo goùc ñoái dieän vôùi caùc maøu buø noù. (Hai maøu buø nhau laø hai maøu maø khi keát hôïp taïo thaø nh maøu traéng hay xaùm (grey)). Nhö vaäy Red ñoái dieän vôùi Cyan, Green ñoái dieä n vôùi Magenta, Blue ñoái dieän vôùi Yellow. Giaù trò xaùm naèm treân ñöôøng cheùo noái caùc ñænh 0,0,0 , 1,1,1 cuûa hình laäp phöông. Thöôøng thöôøng caùc truïc R, G, B ñöôïc chuaån hoùa. Khi keát hôïp hai maøu laïi vôùi nhau thì maøu sinh ra coù vector baèng toång caùc vector thaønh phaàn. Convert by ha_con_bk Trang 19 Moät soá thuaän lôïi khi duøng khoâng gian RGB : Khoâng gian RGB laø chuaån coâng nghieäp cho caùc thao taùc ñoà hoïa maùy tính. Caùc thao taùc maøu saéc coù theå ñöôïc tính toaùn treân caùc khoâng gian maøu khaùc nhöng cuoái cuøng caàn phaûi chuyeån veà khoâng gian RGB ñeå coù theå hieån thò treân maøn hình (do thieát keá cuûa phaàn cöùng döïa treân moâ hình RGB). Coù theå chuyeå n ñoåi qua laïi giöõa khoâng gian RGB vôùi caùc khoâng gian maøu khaùc nhö CIE, CMY, HSL, HSV, ... Caùc thao taùc tính toaù n treân khoâng gian RGB thöôøng ñôn giaûn hôn. Moät soá baát lôïi : Caùc giaù trò RGB cuûa moät maøu laø khaùc nhau ñoái vôùi caùc maøn hình khaùc nhau : Nghóa laø caùc giaù trò RGB cuûa maøu tiùm treân maøn hình maøu naøy seõ khoâng sinh ra ñuùng maøu ñoù treân moät maøn hình khaùc. Söï moâ taû caùc maøu trong theá giôùi thöïc ñoái vôùi khoâng gian RGB coøn nhieàu haïn cheá bôûi vì khoâng gian RGB khoâng hoaøn toaøn phuø hôïp vôùi söï caûm nhaän maøu saéc cuûa con ngöôøi. Hai ñieåm phaân bieät trong khoâ ng gian RGB, vôùi maét ngöôøi coù theå hoaëc khoâng theå laø theå hieän cuûa hai maøu khaùc nhau. Chính vì ñieàu naøy maø khoâng gian RGB khoâng theå aùnh xaï tröïc tieáp ñeán baát cöù chieàu caûm nhaä n naøo khaùc (nhö hue, saturation, lightness) ngoaøi hue (saéc ñoä). Khoâng gian HSL Khoâng gian naøy coù chuù troïng hôn khoâng gian RGB ñeán caùc thaønh phaà n cuûa söï caûm nhaän maøu saéc cuûa maét (Hue, Saturation, Lightness). Tuy nhieân, khoâng gian HSL thöïc ra cuõng chæ laø moät pheùp bieá n ñoåi gaàn ñuù ng cuûa khoâng gian RGB maø thoâi. Khoâng gioáng nhö caùc khoâng gian maøu khaùc xaây döïng treân söï caûm nhaän maøu saéc cuûa maét, khoâng gian HSL vaãn coøn bò leä thuoäc vaøo phaàn 20 2k7 Đồ họa máy tính cöùng cuûa CRT. Khoâng gian HSL ñöôïc bieåu dieãn trong heä toïa ñoä truï, hình minh hoïa laø hai hình noùn uùp vaø o nhau. H (Hue) laø toaï ñoä öùng vôùi goùc quay, S (Saturation) laø toïa ñoä goác, L laø truïc thaúng ñöùng. Haàu heát caùc maøu ñaït baõo hoøa khi S = 1 vaø L = 0.5. L(Lightness) L=1 (White) Red Yellow Magenta L=0.5 Green Blue Cy an Gray scale H(Hue angle) L=0 (Black) S(Saturation) Hình 1.11 - Moâ hình khoâng gian HSL Moät soá thuaän lôïi cuûa khoâng gian HSL : Khoâng gian HSL gaàn vôùi söï caûm nhaän caùc thuoäc tính maøu saéc cuûa con ngöôøi hôn khoâng gian RGB (tuy caùch tieáp caän ñaõ ñôn giaûn hoùa ñi nhieàu). Caùc maøu ñöôïc xaùc ñònh deã daøng hôn chaúng haïn do H quay quanh truïc ñöùng neân caùc maøu buø ñöôïc xaùc ñònh moät caùch deã daø ng, ñoái vôùi caùc giaù trò lightness cuõng vaäy. Vieäc kieåm soaùt caùc maøu cô sôû HSL deã hôn cho nhöõng ngöôøi môùi laøm quen vôùi caùc chöông trình ñoà hoïa. Convert by ha_con_bk Trang 21 Moät soá baát lôïi : Vieäc theâm vaøo moät vector khoâng theå thöïc hieän ñôn giaûn nhö khoâng gian RGB (chæ theâm vaø o caùc thaønh phaàn maøu). Caùc thao taùc löôïng giaùc khi bieán ñoåi seõ aûnh höôûng ñaùng keå ñeán toác ñoä cuûa chöông trình. Caàn phaûi qua hieäu chænh gamma tröôùc khi hieån thò (gioáng nhö caùc khoâng gian khaùc). Khoâng gian HSV Khoâng gian HSV thöïc chaát cuõng chæ laø moät söï bieán ñoåi khaùc cuûa khoâng gian RGB. Khoâng gian HSV ñöôïc moâ hình baèng hình laäp phöông RGB quay treân ñænh Black cuûa noù. H (Hue) laø goùc quay quanh truïc Values, S (Saturation) ñi töø 0 ñeán 1, truïc V (Values) do vaäy töông öùng vôùi ñöôøng cheùo noái ñænh White vaø Black. V(Value) Green (1200) Y ellow V=1 (White) Cy an Blue (2400) Red (00) Magenta Gray scale H(Hue angle) V=0 (Black) S(Saturation) Hình 1.12 - Moâ hình khoâng gian HSV 22
- Xem thêm -

Tài liệu liên quan