国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

用Lingo語(yǔ)言實(shí)現(xiàn)自動(dòng)跟蹤程序的算法

2013-04-29 00:44:03隆川隆巖
電腦知識(shí)與技術(shù) 2013年7期

隆川 隆巖

摘要:應(yīng)用多媒體集成軟件Director中的Lingo語(yǔ)言實(shí)現(xiàn)自動(dòng)跟蹤程序的算法。

關(guān)鍵詞:Director;Lingo程序語(yǔ)言;自動(dòng)跟蹤;程序和算法

中圖分類號(hào):TP312 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2013)07-1546-02

Director(導(dǎo)演)是美國(guó)Macromedia公司(簡(jiǎn)稱MM公司,F(xiàn)lash和Dreamweaver等著名軟件都是該公司的產(chǎn)品)旗下的一款專業(yè)多媒體集成軟件(以下簡(jiǎn)稱D)。國(guó)外多媒體公司大多用它制作多媒體光盤、教學(xué)軟件及網(wǎng)絡(luò)產(chǎn)品。該軟件提供了對(duì)音視頻、圖形、文本、Flash及網(wǎng)絡(luò)等通用文件格式的支持,擁有大量的行為庫(kù)和插件。最具特色的是其內(nèi)置了高級(jí)多媒體編程語(yǔ)言——Lingo語(yǔ)言,自從Lingo語(yǔ)言在90年代初期植入D中以來(lái),其多媒體處理能力已變得十分成熟和強(qiáng)大,隨著96年Shockwave Play網(wǎng)絡(luò)播放器及瀏覽器插件的推出,Lingo語(yǔ)言又搭上了internet的快車。特別是自D的 8.5版本發(fā)布以來(lái),Lingo語(yǔ)言又增加了對(duì)網(wǎng)絡(luò)三維的支持,其完善的三維處理語(yǔ)句幾乎使Lingo語(yǔ)言的數(shù)量擴(kuò)大了一倍,成為了一個(gè)涵蓋單機(jī)到網(wǎng)絡(luò)、從平面到三維虛擬現(xiàn)實(shí)等領(lǐng)域?qū)I(yè)多媒體制作的利器。該文主要通過(guò)導(dǎo)彈對(duì)做隨機(jī)運(yùn)動(dòng)的飛蝶進(jìn)行自動(dòng)跟蹤的例子來(lái)探討Lingo語(yǔ)言編程的一種算法和表現(xiàn)方式,并對(duì)D的使用做一些簡(jiǎn)單的介紹。

1 程序設(shè)計(jì)準(zhǔn)備工作

D軟件既然命名為“導(dǎo)演”,是因?yàn)樗墓ぷ鞣绞骄拖笤谥谱饕徊侩娪?,它主要由演員、舞臺(tái)、總譜等窗口組成,演員就是我們制作中需要的多媒體素材,該文用到的演員是飛蝶和導(dǎo)彈,可在D自帶的繪圖窗口中繪制或輸入外部圖像來(lái)完成。舞臺(tái)就是程序最終運(yùn)行時(shí)的窗口,所有演員的行為是在舞臺(tái)上完成的,相當(dāng)于放電影的屏幕,該文將舞臺(tái)設(shè)置為640*480??傋V是一種制作過(guò)程中記錄的方式,主要是以幀的方式來(lái)體現(xiàn),播放制作好的電影時(shí),指示標(biāo)志(播放磁頭)會(huì)以每秒多少幀的速度移動(dòng)(速度可自行調(diào)節(jié)),可以說(shuō)Flash的工作方式就是從D中借鑒過(guò)來(lái)的,總譜可詳細(xì)記錄舞臺(tái)中所有演員及行為的資料,相當(dāng)于電影制作中的場(chǎng)記。將已輸入到演員窗口中的飛蝶和導(dǎo)彈分別拖到舞臺(tái)中(詳細(xì)制作過(guò)程略),在總譜的一、二兩個(gè)通道中會(huì)分別出現(xiàn)一個(gè)28幀的記錄,總譜中會(huì)自動(dòng)為這兩個(gè)28幀的記錄命名為Sprite(1)和Sprite(2),它們分別代表飛蝶和導(dǎo)彈。在Lingo語(yǔ)言中所有對(duì)該二個(gè)演員的編程者是用Sprite(1)和Sprite(2)來(lái)表示的,在D中有許多用Lingo語(yǔ)言制作的行為,這些行為組成了一個(gè)行為庫(kù),其中就包括了本文要用到的隨機(jī)運(yùn)動(dòng)的行為,將該行為用鼠標(biāo)拖放到舞臺(tái)中的飛蝶上,在隨之打開的窗口中設(shè)置運(yùn)動(dòng)速度為150,旋轉(zhuǎn)角度為0,而飛蝶的運(yùn)動(dòng)范圍該行為會(huì)根據(jù)舞臺(tái)的大小自動(dòng)設(shè)置。關(guān)閉該窗口后隨機(jī)運(yùn)動(dòng)就被賦予到了飛蝶上,同時(shí)在演員窗口中會(huì)增加第三個(gè)演員(行為演員或腳本演員),接下來(lái)的任務(wù)就是本文的主要內(nèi)容,制作第四個(gè)行為演員----自動(dòng)跟蹤腳本程序。

2 自動(dòng)跟蹤程序設(shè)計(jì)

2.1程序設(shè)計(jì)分析

程序設(shè)計(jì)目的是導(dǎo)彈自動(dòng)跟蹤在窗口內(nèi)做隨機(jī)運(yùn)動(dòng)的飛蝶,并逐漸接近,最終與飛蝶在屏幕中的位置重合。必需按照這些要求進(jìn)行程序的設(shè)計(jì),雖然要做到導(dǎo)彈與飛蝶的位置重合在Lingo語(yǔ)言中一條語(yǔ)句就可以實(shí)際,但它在電腦中是瞬間就會(huì)完成的,不足以體現(xiàn)模擬導(dǎo)彈對(duì)飛蝶的跟蹤過(guò)程。所以設(shè)計(jì)重點(diǎn)是延緩它們位置重合的時(shí)間,并具體描述出整個(gè)過(guò)程中的有關(guān)位置、角度等變化的細(xì)節(jié),如:漸近,角度轉(zhuǎn)動(dòng)和跟蹤動(dòng)作的流暢,導(dǎo)彈方向指向等問(wèn)題。

2.2 程序設(shè)計(jì)方法

設(shè)圖1是飛蝶與導(dǎo)彈初始狀態(tài)(發(fā)射前)在屏幕中所處的位置,Dx和Dy是它們間的水平和垂直距離之差,在這里使用一個(gè)大于1的參數(shù)N,程序中令導(dǎo)彈在水平和垂直方向分別移動(dòng)Dx / N和Dy / N,在導(dǎo)彈移動(dòng)后的位置上再與隨機(jī)運(yùn)動(dòng)的飛蝶生成新的Dx和Dy如圖1中虛線所示,再令導(dǎo)彈在水平和垂直方向上移動(dòng)Dx /(N-1)和Dy /(N-1),隨著N的遞減,導(dǎo)彈將逐漸接近飛蝶,并當(dāng)N=1時(shí)(N-1次循環(huán)后)與飛蝶的位置重合。由于真實(shí)導(dǎo)彈跟蹤飛蝶的過(guò)程中導(dǎo)彈的方向是要指向飛蝶的,所以在N次計(jì)算導(dǎo)彈位置的過(guò)程中還要同時(shí)計(jì)算導(dǎo)彈所需轉(zhuǎn)動(dòng)的角度。

2.3 程序算法(Lingo語(yǔ)言中“–”后的內(nèi)容為注釋)

在演員窗口中打開腳本編輯窗口,進(jìn)行如下程序編輯(自動(dòng)跟蹤腳本程序):

程序編輯完成后,關(guān)閉編輯窗口,演員窗口中將會(huì)出現(xiàn)第四個(gè)演員,這第四個(gè)演員就是自動(dòng)跟蹤腳本程序,將該演員用鼠標(biāo)拖

到舞臺(tái)中的導(dǎo)彈上,自動(dòng)跟蹤腳本程序就賦予給了導(dǎo)彈。接下來(lái)通過(guò)播放就可觀看程序運(yùn)行的效果,并通過(guò)調(diào)節(jié)參數(shù)N和隨機(jī)運(yùn)動(dòng)的速度來(lái)改變自動(dòng)跟蹤的運(yùn)動(dòng)狀態(tài),以期達(dá)到滿意的效果。該文主要是以平面的形式來(lái)體現(xiàn)自動(dòng)跟蹤的運(yùn)動(dòng),由于在電腦屏幕中平面的坐標(biāo)常常以屏幕象素為單位,當(dāng)位移的值小于1個(gè)象素時(shí)會(huì)出現(xiàn)一定的誤差。但此誤差對(duì)人眼的視覺(jué)效果不會(huì)產(chǎn)生影響。

3 結(jié)束語(yǔ)

Director發(fā)展多年以來(lái),有許多國(guó)內(nèi)外同仁用Lingo語(yǔ)言編制的程序,它們都很優(yōu)秀,而且涉及的面也很廣。這篇文章只是一個(gè)簡(jiǎn)單的應(yīng)用,不足之處還望各位同仁指正。目前國(guó)外D的使用和Lingo語(yǔ)言編程都已十分成熟,許多行為和插件都是國(guó)外公司或程序員制作的。國(guó)內(nèi)近幾年隨著多媒體制作的發(fā)展也出現(xiàn)了大量?jī)?yōu)秀的D的作品。涌現(xiàn)出了許多象奧古多媒體(http://www.aougu.net/ )和宇風(fēng)多媒體(http://www.yufeng21.com/ )這些專業(yè)的多媒體網(wǎng)站。展現(xiàn)出了我國(guó)多媒體設(shè)計(jì)制作行業(yè)的美好前景,相信通過(guò)社會(huì)各行各業(yè)人士的共同努力,我國(guó)軟件業(yè)的發(fā)展一定會(huì)跨入世界先進(jìn)行列。

參考文獻(xiàn):

[1] 顏志翰,李雅玫.精通Director MX 2004多媒體開發(fā)[M].北京:清華大學(xué)出版社,2005.

[2] 彭澎,饒簡(jiǎn)元.Director交互藝術(shù)設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2007.

[3] 郭繼展,郭勇,蘇輝著.程序算法與技朽精選[M].北京:機(jī)械工業(yè)出版社,2008.

[4] 楊峰.C語(yǔ)言完全手冊(cè):基本概念、函數(shù)參考、編程實(shí)例與試題集錦[M].北京:科學(xué)出版社,2008.

[5] 李志凌,焦麗萍.基于lingo實(shí)現(xiàn)多媒體中圖文的滾動(dòng)控制[J].電腦知識(shí)與技術(shù),2012(20).

永和县| 宁阳县| 长武县| 紫云| 潼关县| 尉犁县| 平顺县| 天等县| 高平市| 乡城县| 青川县| 卓资县| 山丹县| 左权县| 泰安市| 乐都县| 兴国县| 龙口市| 天长市| 高淳县| 镶黄旗| 盖州市| 太原市| 乌鲁木齐县| 连云港市| 德清县| 齐齐哈尔市| 藁城市| 大竹县| 安徽省| 黄大仙区| 沅陵县| 石河子市| 岑溪市| 龙井市| 美姑县| 盘山县| 安吉县| 葫芦岛市| 穆棱市| 阳曲县|