《多媒體技術(shù)》作業(yè)匯總_第1頁
《多媒體技術(shù)》作業(yè)匯總_第2頁
《多媒體技術(shù)》作業(yè)匯總_第3頁
《多媒體技術(shù)》作業(yè)匯總_第4頁
《多媒體技術(shù)》作業(yè)匯總_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、部分多媒體技術(shù)軟件實(shí)驗(yàn)共同的基本實(shí)驗(yàn)條件:多媒體PC機(jī)、Windows操作系統(tǒng)、Visual C+ (MFC )1. (必做平時(shí)作業(yè))Wave(1)實(shí)驗(yàn)名稱:波形音頻文件的讀顯和播放。(2)實(shí)驗(yàn)背景:音頻是一類重要的媒體,WAV文件是PC機(jī)的常用波形(Wave)音頻格式,是Windows的多媒體文件格式 RIFF中的一種,WAV文件中的音頻數(shù)據(jù)一般未壓縮,可(不需解碼)直接由聲卡和音頻芯片播放。(3)實(shí)驗(yàn)?zāi)康模赫莆詹ㄐ我纛l信號的數(shù)字化結(jié)果和參數(shù),熟悉WAV文件格式,掌握數(shù)據(jù)預(yù)處理和曲線繪制方法,了解波形曲線和聲音的關(guān)系,學(xué)習(xí)多媒體編程準(zhǔn)備(包含多媒體 頭文件并添加多媒體庫文件)和波形文件的播放

2、方法。(4)實(shí)驗(yàn)內(nèi)容:播放 WAV文件,讀入 WAV文件中的參數(shù)和音頻數(shù)據(jù),在程序窗口的 客戶區(qū)繪制波形音頻數(shù)據(jù)曲線。(5)實(shí)驗(yàn)步驟:創(chuàng)建一個(gè)名為 Wave的單文檔MFC應(yīng)用程序,利用“文件”菜單中的“打開”菜單項(xiàng)彈出的“打開”對話框獲取用戶選擇的WAV文件的完整路徑名串,在文檔類的序列化函數(shù)中利用PlaySound函數(shù)播放該波形文件(需包含多媒體頭文件mmsystem.h并為項(xiàng)目添加多媒體庫文件 winmm.lib )、讀入此 WAV文件中的參數(shù)和音頻數(shù)據(jù),在視圖 類的OnDraw函數(shù)中利用保存在文檔類的公共變量中的音頻參數(shù)和(單/雙聲道)波形數(shù)據(jù)繪制(一 /兩條)音頻波形曲線,參見下圖:單

3、聲道波形音頻數(shù)據(jù)的 Wave程序建議:對不同位數(shù)的整數(shù)樣本值,可以先在文檔類中歸一化到 -1, 1區(qū)間的浮點(diǎn)數(shù)后, 再在視圖類中統(tǒng)一顯示。對大波形文件,當(dāng)樣本個(gè)數(shù)大于客戶區(qū)寬度的4倍時(shí)(經(jīng)驗(yàn)值,你也可以取 3倍、5倍、或6倍等等),可以改為逐像素點(diǎn)畫垂直的直線段,該線段兩端點(diǎn)的y值等于該像素所對應(yīng)的樣本值序列的最大 /小值。(6) 其他實(shí)驗(yàn)條件: WAV文件的基本格式、若干 WAV文件。2. (選做平時(shí)作業(yè))Pallette(1) 實(shí)驗(yàn)名稱:實(shí)現(xiàn)調(diào)色板對話框。(2) 實(shí)驗(yàn)背景:圖形繪制和圖像處理都需要選擇顏色,屏幕顯示顏色一般用 RGB模型,而人類則一般習(xí)慣使用HSL模型,需要進(jìn)行相互轉(zhuǎn)換。(

4、3) 實(shí)驗(yàn)?zāi)康模菏煜ゎ伾奶匦院统S媚P停莆誖GB和HSL模型間的相互轉(zhuǎn)換算法,學(xué)習(xí)對話框中的鼠標(biāo)和鍵盤消息響應(yīng)、在控件上繪圖、文本編輯框的改變消息和焦點(diǎn)消息的響應(yīng)。(4) 實(shí)驗(yàn)內(nèi)容:編程實(shí)現(xiàn)交互式調(diào)色板對話框,包含色調(diào)-飽和度塊、亮度條和選中色塊,HSL和RGB編輯框,可用鼠標(biāo)選擇顏色、在各編輯框中修改顏色分量值、并進(jìn)行HSL和RGB間的實(shí)時(shí)動態(tài)模型轉(zhuǎn)換,參見下圖:盤諂色板x調(diào)色板程序(5) 實(shí)驗(yàn)步驟:創(chuàng)建一個(gè)基于對話框的MFC應(yīng)用程序,添加三個(gè)圖片控件、六個(gè)編輯控件和若干靜態(tài)文本控件。在對話框初始化時(shí)逐像素繪制色調(diào)-飽和度塊、逐線繪制亮度條、 繪制選中色塊矩形、(利用異或方法)繪制表示當(dāng)

5、前顏色值位置的十字線和直線段。響應(yīng)色調(diào)-飽和度塊和亮度條上的鼠標(biāo)單擊和拖動消息,重新繪制亮度條及表示當(dāng)前顏色值位置的 十字線和直線段,修改編輯框中的HSL值,進(jìn)行HSL到RGB的轉(zhuǎn)換,根據(jù)此轉(zhuǎn)換的結(jié)果修改編輯框中 RGB的值,利用新的 RGB值重新繪制選中色塊。響應(yīng)有輸入焦點(diǎn)的文本編 輯框的改變消息, 根據(jù)HSL或RGB編輯框中的新值, 進(jìn)行HSL到RGB或RGB到HSL的 轉(zhuǎn)換,利用轉(zhuǎn)換結(jié)果修改 RGB或HSL編輯框中的值。用新的 HSL值,重新繪制亮度條及 表示當(dāng)前顏色值位置的十字線和直線段,用新的RGB值重新繪制選中色塊。(6) 其他實(shí)驗(yàn)條件:無。3. (必做平時(shí)作業(yè))BMP(1) 實(shí)驗(yàn)

6、名稱:讀取和解碼 BMP文件,逐點(diǎn)顯示并灰度轉(zhuǎn)換。(2) 實(shí)驗(yàn)背景:BMP (Bitmap,位圖)是 Windows平臺的基本圖像格式,支持各種顏色位數(shù)的圖像,一般不壓縮,可以直接用于顯卡或GPU的顯示。對4位和8位顏色BMP文件,可以還采用 RLE (游程編碼)進(jìn)行壓縮。有時(shí)需要將彩色圖像轉(zhuǎn)換為灰度圖。(3) 實(shí)驗(yàn)?zāi)康模菏煜MP文件格式,了解基本圖像參數(shù),掌握RLE壓縮算法和彩色轉(zhuǎn) 灰度算法,復(fù)習(xí)像素繪制函數(shù)。(4) 實(shí)驗(yàn)內(nèi)容:直接讀取(各種顏色位數(shù)的)BMP文件中的圖像參數(shù)和二進(jìn)制數(shù)據(jù),必要時(shí)進(jìn)行 RLE解碼,逐像素繪制圖像數(shù)據(jù)。并利用公式: Y = 0.299R + 0.587G +

7、0.114B , 將8位彩圖和真彩圖轉(zhuǎn)換為灰度圖,然后逐像素顯示。(5) 實(shí)驗(yàn)步驟:創(chuàng)建一個(gè)單文檔MFC應(yīng)用程序,利用“文件”菜單中的“打開”菜單項(xiàng)彈出的“打開”對話框獲取用戶選擇的BMP文件的完整路徑名串,在文檔類的序列化函數(shù)中讀入此BMP文件中的圖像參數(shù)和數(shù)據(jù),如果含RLE壓縮編碼則進(jìn)行解碼,利用讀入的 調(diào)色板參數(shù)獲取圖像的 RGB數(shù)據(jù)。在視圖類的 OnDraw函數(shù)中利用保存在文檔類的公共變 量中的圖像參數(shù)和數(shù)據(jù), 使用CDC類的SetPixl函數(shù)逐像素繪制圖像。 在用戶選擇灰度轉(zhuǎn)換 時(shí),利用公式:Y = 0.299R + 0.587G + 0.114B,將8位彩圖和真彩圖轉(zhuǎn)換為灰度圖,然

8、后再逐像素顯示它。(6) 其他實(shí)驗(yàn)條件: BMP 文件格式,若干 BMP 文件。4(選做平時(shí)作業(yè)) GIF(1) 實(shí)驗(yàn)名稱:讀顯 GIF 文件。(2) 實(shí)驗(yàn)背景:GIF (可交換圖形格式)是最常用的圖像文件格式之一,采用了無損的 LZW 字典編碼壓縮算法。(3) 實(shí)驗(yàn)?zāi)康模菏煜?GIF 文件格式,掌握 LZW 壓縮算法。(4) 實(shí)驗(yàn)內(nèi)容:讀入(含單個(gè)圖片的) GIF 文件,實(shí)現(xiàn) LZW 解碼,在程序窗口的客戶 區(qū)顯示圖片。(5) 實(shí)驗(yàn)步驟:創(chuàng)建一個(gè)單文檔 MFC 應(yīng)用程序,利用“文件”菜單中的“打開”菜單 項(xiàng)彈出的“打開”對話框獲取用戶選擇的 GIF 文件的完整路徑名串,在文檔類的序列化函 數(shù)

9、中讀入此 GIF 文件中的圖像參數(shù)和數(shù)據(jù),實(shí)現(xiàn) LZW 解碼算法,利用讀入的調(diào)色板參數(shù)獲 取圖像的 RGB 數(shù)據(jù)。在視圖類的 OnDraw 函數(shù)中利用保存在文檔類的公共變量中的圖像參 數(shù)和數(shù)據(jù),使用 CDC 類的 SetPixl 函數(shù)逐像素繪制圖像。(6)其他實(shí)驗(yàn)條件:GIF 文件格式,若干 GIF 文件。5(大作業(yè)選題)PNG(1) 實(shí)驗(yàn)名稱:讀顯 PNG 文件。(2) 實(shí)驗(yàn)背景:PNG (可移植網(wǎng)絡(luò)圖形)是 W3C (萬維網(wǎng)協(xié)會)于 的一種采用無損壓縮的圖像文件格式,在萬維網(wǎng)上的使用越來越廣泛。1996 年 10 月制定PNG 格式支持多達(dá)16位的灰度圖和48位的真彩圖,并且還可支持多達(dá)1

10、6位的a通道數(shù)據(jù)。PNG既突破了 GIF 的 8 位顏色的限制,又規(guī)避了 LZW 算法的專利收費(fèi)。(3) 實(shí)驗(yàn)?zāi)康模菏煜?PNG 文件格式,掌握 DEFLATE 壓縮算法。(4) 實(shí)驗(yàn)內(nèi)容: 讀入 PNG 文件, 實(shí)現(xiàn) DEFLATE 解碼, 在程序窗口的客戶區(qū)顯示圖片。(5) 實(shí)驗(yàn)步驟:創(chuàng)建一個(gè)單文檔 MFC 應(yīng)用程序,利用“文件”菜單中的“打開”菜單 項(xiàng)彈出的“打開”對話框獲取用戶選擇的 PNG 文件的完整路徑名串,在文檔類的序列化函 數(shù)中讀入此 PNG 文件中的圖像參數(shù)和數(shù)據(jù), 實(shí)現(xiàn) DEFLATE 解碼算法。 在視圖類的 OnDraw 函數(shù)中利用保存在文檔類的公共變量中的圖像參數(shù)和數(shù)據(jù)

11、, 使用 CDC 類的 SetPixl 函數(shù)逐像 素繪制圖像。(6) 其他實(shí)驗(yàn)條件: PNG 文件格式,若干 PNG 文件。6(必做平時(shí)作業(yè)) DCT(1) 實(shí)驗(yàn)名稱:實(shí)現(xiàn) JPEG 中的 DCT 變換和量化算法。(2) 實(shí)驗(yàn)背景:JPEG是最常用的有損圖像壓縮算法,而8X 8的二維DCT (離散余弦變換)變換和量化又是該算法中的核心步驟。(3) 實(shí)驗(yàn)?zāi)康模赫莆?X 8數(shù)據(jù)塊的正反二維 DCT變換、量化和逆量化的具體算法。(4) 實(shí)驗(yàn)內(nèi)容:逐個(gè)讀入 8X 8 (十六進(jìn)制文本串格式的)亮度數(shù)據(jù)塊,依次進(jìn)行二維 DCT 變換、量化(采用標(biāo)準(zhǔn)亮度量化表)、逆量化和逆二維 DCT 變換。輸出原始數(shù)據(jù)、

12、變 換后的數(shù)據(jù)、量化表、量化后的數(shù)據(jù)、逆量化的數(shù)據(jù)和反變換的數(shù)據(jù)(格式參見下圖)。1制144I4T內(nèi)I5S內(nèi)11 -2.1kJ14-115B153336159J56156156-22j6 -17.3-6.2-3_2-2941-I.Z150155160163I5EJ5S15635&皿93J.j6l_50.2-0.1閑1臨1俺21的Ifin伙1擁曲-7 1-1用0.2IJ0 9-C.l叩gj159】閒1611&21553S51554J.613I.&也1Uj61.31.66l!161lll1601571571571.8-92I.j6-D.S15IJO-1.0IWh時(shí)IEJ5714715T-L1-4.

13、4-15-4J|.l-0M1621&21616D l3 JSS 薄圉偉樣本I5S35E-2J61.6-35 I.& 1.9 U(b FDCT蠱數(shù)lb|ii1也24SI和0-L0D00012121419354I0ADDDtl1413l&244057Z 1Q000Q0141721博51腫期00000fi00IE22J756IW唱77q(I0QnQD0243555朗11139200QdQ0Q04917ICI3121抄|1000000007292MAB 112 IM 色菱童比表1039900Q 000(d) EtLSSfeQ02440100000014146N952154156156156-24-12

14、00000014350152354ISbIS&15&-14-|?igDpD口DIJT1*KISKlT15500000C00160閻161他161IS?571550DGDDD01.63血164IdJ162】51560DQ000D1品164抵11*3的000Q000Q1犧1M2I6Z161】陽I5K000o a o.反童化系數(shù)001翱|frl 36L361(f)垂構(gòu)的E3慷樣*I5kDCT和量化算法舉例(5) 實(shí)驗(yàn)步驟:創(chuàng)建一個(gè) Visual C+的Win32控制臺應(yīng)用程序,讀入標(biāo)準(zhǔn)亮度量化表,逐個(gè)讀入8 X 8亮度數(shù)據(jù)塊,編碼實(shí)現(xiàn)二維DCT變換、量化、逆量化和逆二維DCT變換。輸出8X 8的原始

15、數(shù)據(jù)塊、變換后的數(shù)據(jù)塊、量化表、量化后的數(shù)據(jù)塊、逆量化的數(shù)據(jù)塊和反變換的數(shù)據(jù)塊。(6) 其他實(shí)驗(yàn)條件:4個(gè)8 X 8的十六進(jìn)制亮度值整數(shù)串塊和標(biāo)準(zhǔn)亮度量化表:98 9C 96 99 9C A1 A1 A6 B2 C9 EA E4 C9 B8 D3 E294 95 95 96 98 A0 A1 A7 B3 CB E2 EA D3 CD E6 E295 94 91 94 9D A3 A9 A6 A7 A9 B7 BC D4 D8 C0 B28D 92 8F 94 8F 8F 8C 87 84 83 92 91 9D A2 98 907F 7C 7B 74 72 73 72 6F 6F 6B 7A

16、7F 8B 85 5D 4E5A 61 6A 5D 58 54 4D 49 51 5F 6D 72 77 67 5C 546A 72 74 73 74 74 6F 70 72 72 7F 89 8D 94 8B 7E77 7F 85 89 87 9A A2 A6 AE AF BE C9 CC C7 A2 8976 7A 7C 87 91 A3 B3 C3 C3 C0 C5 CF D5 C7 99 897F 83 7F 7E 89 96 9A A2 A7 A3 9C 9E A6 A2 89 91 7A 7F 81 7F 7F 8C 90 90 99 96 92 90 90 8C 8C 96 7F

17、 7B 77 77 7A 81 84 87 90 88 87 81 7F 8B 98 9A84 7E 7C 76 74 70 72 74 74 70 74 78 8C A2 9D 9485 81 87 88 83 7C 78 7C 80 85 8D 99 A0 A1 94 8D 88 89 92 96 96 9A 9D 9D 9C 9E A1 A1 A1 9D 8D 94 94 94 9C A1 A5 AB B2 AE A6 A5 A5 A6 A1 99 96 954個(gè)8X 8的亮度值塊17 18 24 47 99 99 99 9918 21 26 66 99 99 99 9924 26 56

18、 99 99 99 99 9947 66 99 99 99 99 99 9999 99 99 99 99 99 99 9999 99 99 99 99 99 99 9999 99 99 99 99 99 99 9999 99 99 99 99 99 99 99 標(biāo)準(zhǔn)亮度量化值7(大作業(yè)選題) JPEG(1) 實(shí)驗(yàn)名稱:讀顯 JPEG 文件。(2) 實(shí)驗(yàn)背景:JPEG(聯(lián)合圖象專家組)是使用最廣泛的有損圖像壓縮算法, 是ISO/IEC 和ITU于1992年推出的國際標(biāo)準(zhǔn),支持8位灰度圖和真彩圖。JFIF是JPEG文件格式(*.JPG) 的事實(shí)標(biāo)準(zhǔn)。(3) 實(shí)驗(yàn)?zāi)康模菏煜FIF文件格式,掌握 J

19、PEG算法。(4) 實(shí)驗(yàn)內(nèi)容:讀入JPG文件,實(shí)現(xiàn)JPEG解碼,在程序窗口的客戶區(qū)顯示圖片。(5) 實(shí)驗(yàn)步驟:創(chuàng)建一個(gè)單文檔 MFC 應(yīng)用程序,利用“文件”菜單中的“打開”菜單項(xiàng)彈出的“打開”對話框獲取用戶選擇的JPEG文件的完整路徑名串,在文檔類的序列化函數(shù)中讀入此JPEG文件中的圖像參數(shù)和數(shù)據(jù), 實(shí)現(xiàn)JPEG解碼算法一一熵解碼 (Hufman/LRE 算法)、逆量化、IDCT、重構(gòu)圖像數(shù)據(jù)。在視圖類的On Draw函數(shù)中利用保存在文檔類的公共變量中的圖像參數(shù)和數(shù)據(jù),使用 CDC 類的 SetPixl 函數(shù)逐像素繪制圖像。(6) 其他實(shí)驗(yàn)條件:標(biāo)準(zhǔn)量化表、標(biāo)準(zhǔn) Huffman 表、 JFIF

20、 文件格式,若干 JPG 文件。8(大作業(yè)選題) ImgConvt實(shí)現(xiàn)JPEG算法的編解碼,讀寫并顯示 *.JPG文件及*.BMP和*.GIF文件,實(shí)現(xiàn)這幾種文件 格式的相互轉(zhuǎn)換。(1) 實(shí)驗(yàn)名稱:常用圖像文件的格式轉(zhuǎn)換。(2) 實(shí)驗(yàn)背景: 在不同的系統(tǒng)平臺和應(yīng)用環(huán)境中, 有時(shí)需要在不同的圖像文件格式 (如 Windows中的BMP、萬維網(wǎng)中的 PNG、通用的JPEG和GIF等)之間進(jìn)行相互轉(zhuǎn)換。(3) 實(shí)驗(yàn)?zāi)康模菏煜MP、GIF、PNG和JPEG的文件格式,掌握RLE、LZW DEFLATE 和 JPEG 壓縮算法的編解碼。(4) 實(shí)驗(yàn)內(nèi)容:讀入BMP、GIF、PNG或JPEG文件,解碼并

21、顯示圖像。按用戶要求轉(zhuǎn) 換(編碼)成另一種圖像格式保存。(5) 實(shí)驗(yàn)步驟:創(chuàng)建一個(gè)多文檔 MFC 應(yīng)用程序,利用“文件”菜單中的“打開”菜單項(xiàng)彈出的 “打開” 對話框獲取用戶選擇的圖像文件的完整路徑名串, 在文檔類的序列化函數(shù) 中讀入此文件中的圖像參數(shù)和數(shù)據(jù), 實(shí)現(xiàn)對應(yīng)的解碼算法。 在視圖類的 OnDraw 函數(shù)中利用 保存在文檔類的公共變量中的圖像參數(shù)和數(shù)據(jù),顯示該圖像。響應(yīng)用戶的“文件” 菜單中的“另存為”命令,進(jìn)行對應(yīng)格式的編碼(轉(zhuǎn)換),在文檔類的序列化函數(shù)中將圖像參數(shù)和數(shù) 據(jù)寫入指定文件。(6)其他實(shí)驗(yàn)條件:BMP、GIF、PNG和JFIF文件格式,若干BMP、GIF、PNG和JPG

22、文件。9.(必做平時(shí)作業(yè)) DukeA ni(1)實(shí)驗(yàn)名稱:實(shí)現(xiàn)公爵位圖動畫。(2)實(shí)驗(yàn)背景:動畫(包括電影和電視) 是一系列相關(guān)圖片等時(shí)間間隔的連續(xù)顯示,利 用的是人類的“視覺滯留”原理和“心理認(rèn)可”現(xiàn)象。位圖動畫是動畫的基礎(chǔ),公爵動畫是Java 的 Logo。(3)實(shí)驗(yàn)?zāi)康模毫私狻耙曈X滯留”原理和“心理認(rèn)可”現(xiàn)象,掌握位圖組顯示和計(jì)時(shí)器 的設(shè)置與響應(yīng)方法。(4)實(shí)驗(yàn)內(nèi)容:按照用戶設(shè)置的速度,循環(huán)播放公爵位圖動畫。參見下圖:公爵位圖動畫程序(5)實(shí)驗(yàn)步驟:創(chuàng)建一個(gè)名為Duke的基于對話框的 MFC應(yīng)用程序,添加一個(gè)圖片控件、一個(gè)靜態(tài)文本控件和一個(gè)編輯控件、一個(gè)“播放/停止”按鈕。將公爵(Du

23、ke)動畫所對應(yīng)的10個(gè)256色(8位)BMP文件T1.BMP T10.BMP (參見下圖)添加到項(xiàng)目資源中。A* A技NT1.BMP T2.BMP T3.BMP T4.BMP T5.BMPT6.BMP T7.BMP T8.BMP T9.BMP T10.BMP公爵位圖資源系列圖片將T1.BMP設(shè)置為圖片控件的初始圖片(參見下圖)。在對話框初始化時(shí),創(chuàng)建CImageList對象,加入公爵系列位圖。在用戶按“播放”按鈕時(shí),讀取編輯控件中的整數(shù),利用計(jì)算的 參數(shù)和SetTimer函數(shù),啟動計(jì)時(shí)器,修改按鈕標(biāo)題串為“停止”。在計(jì)時(shí)器響應(yīng)函數(shù) On Timer 中,利用CImageList的Draw函數(shù)

24、顯示當(dāng)前圖片,當(dāng)前圖片的序號加1并余10 (循環(huán))。在用戶按“停止”按鈕時(shí),利用KillTimer函數(shù)停止計(jì)時(shí)器,修改按鈕標(biāo)題串為“播放”。公爵位圖動畫對話框資源(6) 其他實(shí)驗(yàn)條件:公爵動畫的10個(gè)BMP文件。10 .(必做平時(shí)作業(yè))OpenGL(1) 實(shí)驗(yàn)名稱:OpenGL圖形動畫基礎(chǔ)。(2) 實(shí)驗(yàn)背景:OpenGL是二/三維圖形動畫 API的國際標(biāo)準(zhǔn),支持各種系統(tǒng)平臺,在大型專業(yè)級的設(shè)計(jì)、動畫和游戲等軟件中使用廣泛。Direct3D和Java 3D都源自O(shè)penGL。(3) 實(shí)驗(yàn)?zāi)康模毫私釵penGL的特點(diǎn)、工作原理和過程,掌握OpenGL的形體構(gòu)造和圖形繪制方法。通過動態(tài)修改觀察點(diǎn)的位

25、置,實(shí)現(xiàn)旋轉(zhuǎn)物體和調(diào)整物體大小的(動畫)目的。(4) 實(shí)驗(yàn)內(nèi)容:繪制自定義正方形并進(jìn)行矩陣變換,繪制自定義球面和輔助庫中的各種曲面(如網(wǎng)面茶壺),動態(tài)改變觀察位置。(5) 實(shí)驗(yàn)步驟:創(chuàng)建一個(gè)單文檔MFC應(yīng)用程序,為項(xiàng)目添加 OpenGL庫文件(opengl32.lib、glu32.lib、glaux.lib ),在視圖類中包含 OpenGL 的頭文件(gl/gl.h、gl/glu.h、 gl/glaux.h ),在窗口創(chuàng)建函數(shù)進(jìn)行必要的初始化, 在On Draw函數(shù)中繪制各種 Ope nGL圖形。 添加鍵盤與鼠標(biāo)響應(yīng),動態(tài)修改觀察點(diǎn)的位置,實(shí)現(xiàn)旋轉(zhuǎn)物體和改變大小的動畫。(6) 其他實(shí)驗(yàn)條件:對

26、有些Visual Studio版本,須要自己下載和安裝輔助庫及其頭文件(glaux.lib 和 glaux.h )。11.(必做平時(shí)作業(yè))Direct3D(1) 實(shí)驗(yàn)名稱:用 Direct3D實(shí)現(xiàn)旋轉(zhuǎn)圓筒。(2) 實(shí)驗(yàn)背景:Direct3D是DirectX的主體部分,是Windows平臺上游戲和動畫的主要 開發(fā)接口與工具。(3) 實(shí)驗(yàn)?zāi)康模毫私?Direct3D的圖形流水線和設(shè)備,掌握Direct3D的基本編程過程及光照材質(zhì)與紋理的基本使用方法。(4) 實(shí)驗(yàn)內(nèi)容:初始化 Direct3D、創(chuàng)建Direct3D對象和設(shè)備、構(gòu)造圓柱面幾何對象, 在計(jì)時(shí)器響應(yīng)中進(jìn)行動態(tài)旋轉(zhuǎn)變換,設(shè)置光照材質(zhì)或紋理,

27、繪制圓筒,實(shí)現(xiàn)旋轉(zhuǎn)圓筒動畫。(5) 實(shí)驗(yàn)步驟:下載和安裝 DirectX SDK,創(chuàng)建一個(gè)單文檔 MFC應(yīng)用程序,在視圖類中包含多媒體和 Direct3D頭文件(mmsystem.h和d3dx9.h )。在視圖類的初始化更新函數(shù) 中初始化Direct3D、創(chuàng)建Direct3D對象和設(shè)備、構(gòu)造圓柱面幾何對象、啟動計(jì)時(shí)器。在計(jì) 時(shí)器響應(yīng)函數(shù)中設(shè)置光照、材質(zhì)與紋理,進(jìn)行世界、觀察和投影矩陣變換,包括動態(tài)旋轉(zhuǎn)變換,渲染和顯示場景,從而實(shí)現(xiàn)旋轉(zhuǎn)圓筒動畫。(6) 其他實(shí)驗(yàn)條件: DirectX SDK 9.0c以上版本。12 .(必做平時(shí)作業(yè))MCl-AudioPlayer(1) 實(shí)驗(yàn)名稱:MCI音頻播放

28、器。(2) 實(shí)驗(yàn)背景:MCI (媒體控制接口)是 Windows控制多媒體設(shè)備的高層命令的傳統(tǒng) 接口,CD、WAV和MIDI是基本的音頻類型。(3) 實(shí)驗(yàn)?zāi)康模赫莆?MCI的命令串和命令消息方式,熟悉CD、WAV和MIDI設(shè)備的相關(guān)命令參數(shù)。(4) 實(shí)驗(yàn)內(nèi)容:使用 MCI的命令串或命令消息方式,打開和播放CD、WAV和MIDI設(shè)備和文件,顯示相關(guān)參數(shù)信息,交互控制各種音頻媒體的播放。(5) 實(shí)驗(yàn)步驟:創(chuàng)建一個(gè)基于對話框的MFC應(yīng)用程序,添加若干按鈕、單選鈕、編輯控件和靜態(tài)文本控件。使用MCI的命令串或命令消息方式,打開指定的設(shè)備類型,顯示相關(guān)參數(shù)息信。響應(yīng)用戶操作,控制設(shè)備(媒體文件)的播放。

29、參加下圖:CD-DA播放器(6) 其他實(shí)驗(yàn)條件:若干 CD-DA光盤、WAV文件和MIDI文件。13 .(必做平時(shí)作業(yè))MIDI-VirtualEleOrgan(1) 實(shí)驗(yàn)名稱:虛擬電子琴。(2) 實(shí)驗(yàn)背景:MIDI (樂器數(shù)字接口)是電子樂器和計(jì)算機(jī)之間交換音樂信息所使用的一種標(biāo)準(zhǔn)協(xié)議,使用非常廣泛。PC機(jī)的音頻芯片和聲卡中含有支持MIDI的聲音合成器,可用來模擬電子琴。(3) 實(shí)驗(yàn)?zāi)康模赫莆?MMAPI (多媒體API )中的基本MIDI函數(shù)midiOutShortMsg,熟 悉常用的MIDI消息參數(shù)一一音符開(發(fā)出樂音)、音符關(guān)(停止樂音)和程序改變(選擇音色/樂器種類),了解GM旋律樂

30、器音色編號。(4) 實(shí)驗(yàn)內(nèi)容:利用 PC機(jī)的鍵盤(鼠標(biāo))和音頻芯片,編寫利用MIDI接口來模擬電子琴的簡單程序。(5) 實(shí)驗(yàn)步驟:創(chuàng)建一個(gè)基于對話框的MFC應(yīng)用程序,在項(xiàng)目屬性中添加對多媒體庫winmm.lib鏈接,在視圖類中包含多媒體頭文件 mmsystem.h。添加若干控件,用一排按鈕表 示電子琴的鍵盤、用列表框來選擇樂器種類。用主鍵盤上的數(shù)字鍵17表示中音17、在按17鍵的同時(shí)按住Shift鍵時(shí)播放高音1 7、在按17鍵的同時(shí)按住Ctrl鍵時(shí)播放低音1 7、* 在按17鍵的同時(shí)按住 Caps Lock鍵時(shí)播放超高音1 7、在按17鍵的同時(shí)按住左窗口鍵 時(shí)播放超低音 1: 7:。在用戶按下

31、鍵盤上的數(shù)字鍵或用鼠標(biāo)按下對應(yīng)的對話框中按鈕時(shí),播:放對應(yīng)的樂音;在用戶松開按鍵或按鈕后停止樂音。(6) 其他實(shí)驗(yàn)條件: GM 旋律樂器音色編號表。14 (必做平時(shí)作業(yè)) DirectSound-War(1) 實(shí)驗(yàn)名稱:戰(zhàn)爭音效。(2) 實(shí)驗(yàn)背景: DirectSound 是 DirectX 中的傳統(tǒng)音頻模塊, 是一種主要針對波形音頻的 高效底層接口。(3) 實(shí)驗(yàn)?zāi)康模赫莆?DirectSound 編程的具體步驟和方法,了解利用 MMIO (多媒體文 件 IO )讀取 WAV 文件和資源中的數(shù)據(jù)內(nèi)容與參數(shù)信息的方法。(4) 實(shí)驗(yàn)內(nèi)容:用 DirectSound 控制和播放多種戰(zhàn)爭音效的波形文件

32、,采用隨機(jī)聲道混 音和立體音效, 來模仿戰(zhàn)場上槍林彈雨和爆炸聲的音響效果。 在程序窗口的客戶區(qū)輸出字符 串 閉上你的眼睛,聆聽?wèi)?zhàn)爭 .。(5) 實(shí)驗(yàn)步驟:下載和安裝 DirectX SDK ,創(chuàng)建一個(gè)單文檔 MFC 應(yīng)用程序,添加 13 個(gè) 戰(zhàn)爭音效的 WAV 文件資源,包含多媒體頭文件 MMSystem.h 和 DirectSound 的頭文件 DSound.h。在窗口的創(chuàng)建函數(shù)中,初始化聲音對象,其中用若干MMIO函數(shù)來獲得波形音頻的結(jié)構(gòu)和波形數(shù)據(jù)的大小、 將 WAV 文件或資源中的波形數(shù)據(jù)填入輔聲音緩沖區(qū)。 在計(jì)時(shí) 器消息響應(yīng)函數(shù)中, 隨機(jī)播放各種戰(zhàn)爭音效的 WAV 資源。 并調(diào)節(jié)左右聲

33、道的相對音量,以 產(chǎn)生聲音移動的立體聲效果。 對直升飛機(jī)的聲音, 采用循環(huán)播放, 并不斷調(diào)節(jié)左右聲道的相 對音量, 還依據(jù)其離中心平衡點(diǎn)的遠(yuǎn)近, 來設(shè)置主音量的大小, 使越遠(yuǎn)聲音越小。 在 OnDraw 函數(shù)中,設(shè)置 42 磅黑體字和紅色文本顏色,輸出字符串 閉上你的眼睛,聆聽?wèi)?zhàn)爭 .。(6) 其他實(shí)驗(yàn)條件: DirectX SDK 9.0c 以上版本, 13個(gè)基本戰(zhàn)爭音響波形文件 1 種 直升飛機(jī)聲音、 2 種飛彈聲、 5種槍聲、 4種爆炸聲、 1 種警報(bào)聲。15 (選做平時(shí)作業(yè)) AVI(1) 實(shí)驗(yàn)題目:播放 AVI 文件。(2) 實(shí)驗(yàn)?zāi)繕?biāo):熟悉 AVI (音視頻交錯(cuò))文件的基本格式,讀取

34、音視頻參數(shù)和數(shù)據(jù),同 步播放音視頻數(shù)據(jù)。(3) 實(shí)驗(yàn)要求:編寫 MFC 應(yīng)用程序,實(shí)現(xiàn)無壓縮 AVI 文件的手工解碼和播放。16 (大作業(yè)選題) MPEG-1(1) 實(shí)驗(yàn)題目:播放 MPEG-1 和 VCD 文件。 實(shí)驗(yàn)?zāi)繕?biāo):掌握MPEG (運(yùn)動圖象專家組)-1的音視頻解碼方法,了解常用的MPEG-1 和 VCD 文件格式。(3) 實(shí)驗(yàn)要求: 編寫 MFC 應(yīng)用程序, 實(shí)現(xiàn) MPEG-1 或 VCD 的音視頻解碼和同步播放。 可以參考若干自由源代碼。17 (大作業(yè)選題) MP3(1)實(shí)驗(yàn)題目:播放(2)實(shí)驗(yàn)?zāi)繕?biāo):掌握件格式。(3)實(shí)驗(yàn)要求:編寫自由源代碼。MP3 文件。MP3 ( MPEG-1

35、 Audio Layer川)音視頻解碼方法,了解MP3文MFC 應(yīng)用程序,實(shí)現(xiàn) MP3 解碼算法和音頻播放??梢詤⒖既舾?8 (大作業(yè)選題) MPEG-2(1) 實(shí)驗(yàn)題目:播放 MPEG-2 和 DVD 文件。(2) 實(shí)驗(yàn)?zāi)繕?biāo): 掌握 MPEG-2 的基本音視頻解碼方法, 了解常用的 MPEG-2 和 DVD 文 件格式。(3) 實(shí)驗(yàn)要求: 編寫 MFC 應(yīng)用程序, 實(shí)現(xiàn) MPEG-2 和 DVD 的音視頻解碼和同步播放。 可以參考若干自由源代碼。19 (大作業(yè)選題) H.264/AVC(1) 實(shí)驗(yàn)題目:播放采用 H.264/AVC 編碼的視頻文件。(2) 實(shí)驗(yàn)?zāi)繕?biāo):掌握 H.264/AVC

36、(先進(jìn)頻編碼)的基本視頻解碼方法,了解常用的 H.264/AVC 文件格式。(3) 實(shí)驗(yàn)要求:編寫 MFC 應(yīng)用程序,實(shí)現(xiàn) H.264/AVC 解碼算法,播放視頻數(shù)據(jù)??梢?參考若干自由源代碼。20 (大作業(yè)選題) AVS-P2(1) 實(shí)驗(yàn)題目:播放采用 AVS-P2 編碼的視頻文件。(2) 實(shí)驗(yàn)?zāi)繕?biāo):掌握 AVS-P2 (音視頻編碼標(biāo)準(zhǔn) -第 2 部分)的基本視頻解碼方法,了解 常用的 AVS-P2 文件格式。(3) 實(shí)驗(yàn)要求:編寫 MFC 應(yīng)用程序,實(shí)現(xiàn) AVS-P2 解碼算法,播放視頻數(shù)據(jù)。可以參 考若干自由源代碼。21 (必做平時(shí)作業(yè)) MediaPlayer(1) 實(shí)驗(yàn)名稱:媒體播放

37、器。(2) 實(shí)驗(yàn)背景:微軟在 Windows 中提供了媒體播放器組件 (Media Player ActiveX 控件), 可支持大多數(shù)標(biāo)準(zhǔn)格式(如 AVI 、ASF、MPEG、WAV 、MIDI 、MP3、WMA 等)的流式 媒體文件的播放。(3) 實(shí)驗(yàn)?zāi)康模簩W(xué)習(xí) ActiveX 控件的使用方法,掌握媒體播放器組件的常用函數(shù)。(4) 實(shí)驗(yàn)內(nèi)容:利用 ActiveX 控件,實(shí)現(xiàn)媒體播放器。(5) 實(shí)驗(yàn)步驟:創(chuàng)建一個(gè)基于對話框的 MFC 應(yīng)用程序,添加 Windows Media Player 控 件和“裝入”按鈕。在“裝入”按鈕的響應(yīng)函數(shù)中,打開公用文件對話框,獲取用戶所選媒 體文件的完整路徑

38、串, 用該串調(diào)用 ActiveX 控件對象的成員函數(shù) put_URL ,將指定的媒體文件傳遞到播放器。參見下圖:媒體播放器(6) 其他實(shí)驗(yàn)條件:若干流式媒體文件。22 .(選做平時(shí)作業(yè))GB2312(1) 實(shí)驗(yàn)名稱:用 VC生成GB2312編碼網(wǎng)頁。(2) 實(shí)驗(yàn)背景:GB2312是我國最早的漢字編碼標(biāo)準(zhǔn),歷史悠久、使用廣泛。采用高位為1的雙字節(jié)編碼,分成 94個(gè)區(qū)(其中的第1015和8894區(qū)為空白區(qū)),每個(gè)區(qū)有 94 個(gè)漢字或其他字符。由于 JavaScript不直接支持GB2312編碼的生成,所以需用 C+等高級 語言編程工具。(3) 實(shí)驗(yàn)?zāi)康模菏煜?GB2312的編碼方案,掌握 HTML

39、常用標(biāo)簽尤其是表格標(biāo)簽。(4) 實(shí)驗(yàn)內(nèi)容:使用VC編寫一個(gè)程序,自動生成一個(gè)用表格分區(qū)顯示GB2312編碼網(wǎng)頁的HTML文件(不顯示空白區(qū)),瀏覽器的輸出如下圖所示:3 GK 2312-BDi 汶宇編嗎査-iicroMfl Internet-. r - L |tl|fx丈件 tt) SMB收 iB 工具$a oci” 鈾9區(qū)16E (10A1BO(FE)B0 01234567E9 A T d IF啊冋堆模哎唉哀世瘵藹燔艾礙爰陰氨妄施按暗悻肢秦恥昂盎凹敖熬朝芭棚扒嘰巴色兀疤巴拔菠把耙壩霸罷爸白柏百擺f百竝拜禪斑 扳般傾板版拎拌伴胡半辦絆邦幫悟謬綁棒諦持篠儔謗苞咆包吳剝GB2312網(wǎng)頁(5) 實(shí)驗(yàn)

40、步驟:創(chuàng)建一個(gè)單文檔 MFC應(yīng)用程序,利用“文件”菜單中的“打開”菜單項(xiàng)彈出的“打開”對話框獲取用戶選擇的HTML文件的完整路徑名串。在文檔類的序列化函數(shù)中,利用 CArchive類的WriteString輸出各種標(biāo)簽字符串,用 ar cl 樂乒乓疇乖乙L乜九乞習(xí)虬書豈乩a空|買乳db乾|6T0123456789ABCET0松企t何他f殳昭恍伊儻伏忻懷佚優(yōu)伙會伸傘偉f I Mt I 用 1旳1|EM. I * i 比 IihL RM I m斗 I Jt- i MCJK網(wǎng)頁(5) 實(shí)驗(yàn)步驟:編寫含生成 CJK編碼表格的JavaScript腳本的HTML網(wǎng)頁,在網(wǎng)頁的 頭部定義生成CJK編碼表格的JavaScript函數(shù),在網(wǎng)頁體中調(diào)用該函數(shù)。(6) 其他實(shí)驗(yàn)條件:Unicode ( BMP)中的CJK編碼方案,IE等網(wǎng)頁瀏覽器。24 .(必做平時(shí)作業(yè))DigitalClock(1) 實(shí)驗(yàn)名稱:中文數(shù)字時(shí)鐘。(2) 實(shí)驗(yàn)背景:JavaScript提供的日期時(shí)間對象 Date,可用于動態(tài)顯示數(shù)字時(shí)鐘。(3) 實(shí)驗(yàn)?zāi)康模赫莆?JavaScript的日期時(shí)間對象 Date和數(shù)組對象 Array基本使用方法, 熟悉HTML常用標(biāo)簽(尤其是表單和輸入標(biāo)簽), 掌握J(rèn)avaScr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論