前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇波動(dòng)方程范文,相信會(huì)為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
關(guān)鍵詞: 瀑布型多重網(wǎng)格方法;矢量有限元;外推;矢量波動(dòng)方程
中圖分類號:O 24182
文獻(xiàn)標(biāo)志碼:A文章編號:1672-8513(2011)04-0267-05
A New Cascadic Multi-Grid Method for the Vector Wave Equation
LU Kangmei,LI Chengliang,CAO Yanbin
(School of Mathematics and Computational Science,Guilin University of Electronics Technology,Guilin 541004,China )
Abstract: The vector finite element method,which can effectively avoid the spurious modes,is widely used in the analysis of electromagnetic problems,as is the case in the discrete calculating of the vector wave equation.The finite element extrapolation technique for the eigenvalue problem, which is proposed by Yang Yi-duo,is extended and applied to eigenvalue problems of vector wave equation.In this paper,a new cascadic multi-grid method based on the vector field eigenvalue problem is proposed,based on the extrapolation technique.The numerical results show that the new method is a very accurate and efficient method.
Key words: cascadic multi-grid method;vector finite element;extrapolation;vector wave equation
在微波理論和技術(shù)中,諧振腔本征值問題是最基本的問題之一.很多微波部件和系統(tǒng)的分析與最優(yōu)化設(shè)計(jì)又往往以該問題的求解為基礎(chǔ).矢量有限元方法是近10年來在電磁場計(jì)算中應(yīng)用比較廣泛的一種方法.只要選擇了合適的矢量基,所考慮結(jié)構(gòu)的內(nèi)部和外部邊界都能夠從數(shù)學(xué)上自然滿足,就能夠很好地解決偽解問題;又因?yàn)橛邢拊椒ǖ木W(wǎng)格劃分能很好地模擬實(shí)際結(jié)構(gòu),因此我們選擇了矢量有限元對諧振腔進(jìn)行離散計(jì)算.
多重網(wǎng)格方法,對于求解由微分方程離散化得到的方程組來說,是目前最快速高效的方法之一,它的求解的工作量可降為O(n)或O(nlnn).因此它在計(jì)算電磁場問題上得到了廣泛的關(guān)注,最近一些學(xué)者發(fā)展了基于棱邊元的多重網(wǎng)格算法[1-6].瀑布型多重網(wǎng)格無需粗網(wǎng)格校正,它比一般的多重網(wǎng)格方法計(jì)算量減少了,從而提高了計(jì)算效率,然而基于棱邊元上的瀑布型多重網(wǎng)格方法的研究還是比較少的,特別是矢量場的本征問題,目前研究的也較少.
外推算法是由林群, 陳傳淼等[7-8]引入到有限元求解偏微分方程,楊一都在文獻(xiàn)[9]中引進(jìn)了本征有限元外推的一個(gè)新技術(shù), 李永明等[10]將有限元外推應(yīng)用到了波導(dǎo)本征問題.本文在其基礎(chǔ)上, 將其推廣應(yīng)用到矢量波動(dòng)本征問題, 具體的算例表明其可行性和高精度性.
本文結(jié)合外推技術(shù),提出了一種基于矢量場本征問題的瀑布型多重網(wǎng)格方法.?dāng)?shù)值算例結(jié)果說明該方法的有效性和實(shí)用性.
1 數(shù)學(xué)基礎(chǔ)
對于一個(gè)填充相對介電常數(shù)為εr和相對磁導(dǎo)率為μr介質(zhì)的封閉諧振腔體,對應(yīng)的矢量波動(dòng)方程為
其中ε為精度控制參數(shù). 以上迭代過程簡記為(λj,uj)=NC{(j,j)}.
2.3 外推技術(shù)
定理1 設(shè)剖分是強(qiáng)正規(guī)的, 又設(shè)λ為對應(yīng)于波導(dǎo)本征問題的簡單本征值, 相應(yīng)的規(guī)格化本征函數(shù)u∈C4(Ω), 則本征值外推估計(jì)為:
λ=13(4λh/2-λh)+ο(h4).
詳細(xì)證明見文獻(xiàn)[9].
類似的,設(shè)某矩形諧振腔在粗矩形剖分單元下計(jì)算得到的本征值為λh, 隨后在此粗剖分基礎(chǔ)上加密剖分1次, 再計(jì)算得到的本征值為λh/2 ,則根據(jù)定理1 ,此矩形諧振腔本征值可由外推λhw=13(4λh/2-λh)(記為λhw=E(λh/2,λh)),得到更精確的解.
2.4 矢量波動(dòng)本征問題的瀑布型多重網(wǎng)格算法
對于矢量有限元離散產(chǎn)生的一系列本征方程組Aiui=λiBiui(i=0,1,2,…,l), 若要求解最細(xì)網(wǎng)格層l層上本征方程Alul=λlBlul, 我們結(jié)合外推技術(shù)給出如下求解該本征問題的新瀑布型多重網(wǎng)格算法.
由圖2,我們也可以看出隨著網(wǎng)格的加密計(jì)算的精度越來越高,從而驗(yàn)證了算法的快速收斂性,且和一般的瀑布型多重網(wǎng)格方法比較計(jì)算精度也提高了很多.
4 結(jié)語
從上述的算法公式,以及矩形諧振腔的諧振頻率計(jì)算結(jié)果的分析可以看到,利用瀑布型多重網(wǎng)格方法大大減少了計(jì)算量,將外推推廣應(yīng)用到諧振腔本征問題求解精度得到了很大的提高,因此在比較少的單元剖分下便可以較大的提高計(jì)算精度.計(jì)算過程也比較簡單,易于編程,因此該算法在現(xiàn)代數(shù)值計(jì)算中是一種十分實(shí)用、簡單、高效的新方法.
參考文獻(xiàn):
[1]WATANABE K ,IGARASHI H .Robustness of nested multigrid method for edge-based finite element analysis [J]. IEEE Transactions on Magnetics, 2009,45(3):1088-1091.
[2]TSAI C L ,WANG W S .An improved multigrid tcchnique for quasi-TEM analysis of a microstrip embedded in an inhomogeneous anisotropic medium[J].IEEE Trans. Microwave Theory Tech,1997,45(5): 678-686.
[3]WEISS B ,BIRO O .Edge element multigrid solution of nonlinear magnetostatic problems[J]. Comple,2001,20(2):357-365.
[4]SCHINNERL M ,SHOBERL J ,KALTENBACHER M. Nested multigrid methods for the fast numerical computation of 3D magnetic fields[J]. IEEE Trans Magn,2000,36:1539-1542.
[5]WATANABE K ,IGARASHI H ,HINMA T.Comparison of geometric and algebraic multigrid methods in edge-based finite-element analysis[J]. IEEE Transactions on Magnetics,2005,41(5):1672-1675.
[6]金建銘,王建國,葛德彪.電磁場有限元方法[M].西安:西安電子科技大學(xué)出版社,2001:165-186.
[7]陳傳淼,黃云清.有限元高精度理論[M].長沙:湖南科學(xué)技術(shù)出版社,1995:451-492.
[8]李郴良,陳傳淼,許學(xué)軍.基于超收斂和外推方法的一類新的瀑布型多重網(wǎng)格方法[J].計(jì)算數(shù)學(xué),2007,37(9):1083-1098.
[9]楊一都.本征值有限元外推的一個(gè)新技術(shù)[J].貴州大學(xué)學(xué)報(bào):自然科學(xué)版,1989,6(3):6-11.
【關(guān)鍵詞】鋁箔 加工 排產(chǎn) 優(yōu)化
鋁箔的生產(chǎn),在工藝方面和材料的使用方面要求都比較高。需要的工藝流程復(fù)雜,要經(jīng)過焙鑄、熱軋鑄軋、冷軋、箔材軋制、分切等加工工藝和熱處理過程才能對鋁制品進(jìn)行加工,工序比較長、難度比較大。鋁箔的生產(chǎn)技術(shù)不斷的發(fā)展使我國在鋁箔方面的消費(fèi)比例不斷的提高但是鋁箔的生產(chǎn)水平還依然存在很多問題,對于加工方法還有待研究。本文對超薄鋁箔的加工動(dòng)態(tài)集成排產(chǎn)方法進(jìn)行研究。
1熱軋問題的使用方法
1.1數(shù)學(xué)規(guī)劃方法
在熱軋的問題上,我們早期使用的方法是數(shù)學(xué)規(guī)劃的方法。數(shù)學(xué)規(guī)劃模型的使用是利用動(dòng)態(tài)的規(guī)劃方法對離散鋼鐵企業(yè)的優(yōu)化生產(chǎn)問題進(jìn)行解決的。PVC板生產(chǎn)中的多開工時(shí)間調(diào)度問題開發(fā)出了一種TABU搜索啟發(fā)的算法,這種算法的應(yīng)用很大程度上減弱了開工時(shí)間的調(diào)度問題。分支界定算法的出現(xiàn)是對無縫鋼管的軋制進(jìn)行多階段的分批調(diào)度問題的解決。而在軋機(jī)、加熱爐、能力損耗和制造成本方面的調(diào)度目標(biāo)模塊所使用的是分支界定求解的方法。在國外,這幾種方法得到了廣泛的應(yīng)用但是應(yīng)用的時(shí)效性受到了限制。
1.2非數(shù)學(xué)規(guī)劃的方法
非數(shù)學(xué)的規(guī)劃方法可以分為兩大類,主要是啟發(fā)式方法和人工智能的方法。啟發(fā)式方法是通過對計(jì)算過程和評價(jià)指數(shù)的運(yùn)算在比較短的時(shí)間里,有意識(shí)的尋找最佳的解決方案。COWLING提出了一種決策系統(tǒng),這種決策系統(tǒng)是以鋼鐵熱軋過程的多模型為依據(jù),利用TSBU的算法對調(diào)度問題進(jìn)行有效的解決。熱軋調(diào)度問題的簡化是PCVRP的模型,同時(shí)提出了基于大規(guī)模鄰域定義的局部搜索方法。模擬退火算法有時(shí)候也被用于求解熱軋調(diào)度的相關(guān)問題。
1.3數(shù)學(xué)模型的建立
我國的研究者陳雄創(chuàng)造出了軋制批量計(jì)劃問題的數(shù)學(xué)模型,這種數(shù)學(xué)模型分為啟發(fā)式算法和模擬退火算法。我國在熱軋批量計(jì)算問題的約束滿意問題進(jìn)行了處理,對軋熱問題的PCTSP建模和該模蟻群的蒜放方面做出了研究。針對軋熱問題的CVRP建模還提出了混合免疫算法。
上述的這些方法都是軋制生產(chǎn)中的優(yōu)化排產(chǎn)的基本理論和方法。由于我國超薄鋁箔的生產(chǎn)不斷的發(fā)展,生產(chǎn)要求也隨之提高,在排產(chǎn)計(jì)劃和熱處理方面要使生產(chǎn)具有動(dòng)態(tài)性就要根據(jù)具體實(shí)際進(jìn)行任務(wù)的不斷完善和添加,隨時(shí)對排產(chǎn)計(jì)劃進(jìn)行調(diào)整,排產(chǎn)的相關(guān)實(shí)時(shí)性要求和方法要快速的計(jì)算,增加可靠性和實(shí)用性特點(diǎn)。
2代數(shù)法建模
2.1符號函數(shù)的定義方法
I設(shè)置為鋁卷號,I=1,2...,P。J為設(shè)備的編號,J=1,2,...,M。工藝路線矩形陣R。R是n*m型矩陣,其中元素R表示鋁卷I在加工工藝路線中設(shè)備J所占的順序位。鋁卷號關(guān)系表E%表E中每行代表一個(gè)鋁卷號的屬性、各列分別表示物料編碼、爐架號、直徑、計(jì)劃開始時(shí)間、加工時(shí)間、設(shè)備編號、工藝順序號其中物料編碼、設(shè)備編號、工藝順序號、加工時(shí)間的數(shù)據(jù)來源于工藝路線矩陣和加工時(shí)間矩陣。圖1所示為爐架和鋁卷的幾何尺寸其中a、b、h分別代表爐架的長、寬、高。條件如下所示:
H=h1+h2+h3
r1>r2>....rk rk+1>rk+2>....>rk2k
上排
h1>r1 h2>r1 u1=r1 u2=r1+r2
下排
H3>rk+1 h2>rk+1
圖1.爐架和鋁卷的幾何參數(shù)
2.2第一次排序
第一次排序是對訂單池中的鋁卷進(jìn)行排序,排序按照重要的程度和緊急的程度進(jìn)行安排,優(yōu)化的準(zhǔn)則體現(xiàn)在評價(jià)指數(shù)當(dāng)中。對調(diào)度問題的NP難度性,要選擇計(jì)算量不大,計(jì)算時(shí)間不長的效果優(yōu)化好的啟發(fā)式目標(biāo)函數(shù)作為評判的標(biāo)準(zhǔn)。
兼顧能夠?qū)υO(shè)備的使用率提高、合同按照完工率和裝爐系數(shù)等進(jìn)行多樣性目標(biāo)的歸集,評價(jià)的指數(shù)可以參照鋁卷號和爐架號進(jìn)行歸類。第一次排序是對任務(wù)中的全部鋁卷進(jìn)行加工,按照從小到大的順序進(jìn)行排序。
2.3第二次排序
第二次排序是第一次排序的升級,把第一次排序截取的歸屬于統(tǒng)一最佳的鋁卷進(jìn)行內(nèi)部的排序,使呂佳能夠安裝更多的鋁卷,這樣能夠節(jié)省熱處理電費(fèi)。這種方法也被稱為爐次計(jì)劃,計(jì)劃的步驟主要體現(xiàn)在:
首先,在按照排好的序列中從前向后截取鋁卷直徑之和小于或等于2a最好接近2a的鋁卷子序列。
其次,從這種子序列中對鋁卷進(jìn)行選擇,每隔一個(gè)選取一個(gè),按照鋁卷的直徑大小排列,排列順序是由小到大的排列順序。
最后,將該兩段鋁卷分別擺放在支架的上下兩排,對每個(gè)鋁卷的位置是否滿足約束條件進(jìn)行檢查,如果符合則排產(chǎn)成功,進(jìn)行下一步,如果沒有成功就要對兩端序列進(jìn)行保留。截取兩端子序列,在四段中選配評價(jià)指數(shù)最小的又能滿足條件的方案。然后輸出鋁卷的兩次排序方式和爐架上的擺放方式。
2.4狀態(tài)賦值
當(dāng)設(shè)備為退火爐時(shí),設(shè)定編號為K,設(shè)備軋機(jī)時(shí)設(shè)定編號為J。這種情況下設(shè)備的變量的計(jì)算方式主要有三種,分別表示為:
首先,設(shè)備編號為軋制設(shè)備時(shí)每一個(gè)爐架的第一鋁卷開工時(shí)間為上一道熱處理時(shí)間與本輪最后一個(gè)任務(wù)完成時(shí)間的最大值。每一個(gè)爐架非第一個(gè)鋁卷軋制工序設(shè)備加工最近的鋁卷被上一道工序加工完畢是具有以下公式:
在設(shè)備J沒有加工鋁卷時(shí),鋁卷被上一道程序加工時(shí)的公式是:
在這里i表示設(shè)備k加工的上一道鋁卷,熱處理工序的狀態(tài)時(shí)間是在當(dāng)前設(shè)備加工的前一個(gè)爐架的結(jié)束時(shí)間和當(dāng)前鋁卷時(shí)間的最大值。
3結(jié)語
綜上所述,本文從鋁卷的排產(chǎn)方法、爐架的布置以及生產(chǎn)的調(diào)度方面對超薄鋁箔的生產(chǎn)排產(chǎn)方法進(jìn)行了研究。按照訂單的需求進(jìn)行先后的排序,在同一個(gè)鋁卷在爐架上的合理排放方式進(jìn)行了分析。超薄鋁箔具有工藝流程復(fù)雜性的特點(diǎn),我們要對對象進(jìn)行合并、分割、集中的特點(diǎn)運(yùn)用相應(yīng)的代數(shù)方法進(jìn)行模型的建立以此促進(jìn)按時(shí)完成訂單和節(jié)能減排的一員。
參考文獻(xiàn):
傳統(tǒng)意義上的世界杯營銷,往往是有實(shí)力的大品牌之間的商業(yè)博弈行為,更多的中小企業(yè)大多數(shù)時(shí)候只是看客。然而,在今年的南非世界杯期間,我們卻看到了合作營銷的亮點(diǎn)。淘寶商城聯(lián)合中央電視手打造的世界杯營銷新模式,在交叉整合雙方資源的基礎(chǔ)上, “實(shí)現(xiàn)了品牌廠商、央視和淘寶商城的三方共贏,讓品牌在電子商務(wù)平臺(tái)上發(fā)揮出巨大能量”。淘寶網(wǎng)CFO兼淘寶商城總經(jīng)理張勇表示。
據(jù)悉,在6月11日至7月12日的31天內(nèi),淘寶商城的曲美、九陽、七匹狼、歐莎等數(shù)十家品牌商在世界杯期間購買央視一套、五套的廣告資源,并與央視共同合作一檔電視節(jié)目,在淘寶商城內(nèi)搭建網(wǎng)上世界杯頻道,同時(shí),將央視“球迷狂歡節(jié)”節(jié)目中互動(dòng)游戲“九宮格射門”與淘寶商城網(wǎng)上世界杯頻道的秒殺活動(dòng)連接起來。電視節(jié)目中,現(xiàn)場嘉賓所踢中的九宮格球門中的任一品牌,便會(huì)在淘寶零點(diǎn)世界杯頻道的秒殺板塊以1元價(jià)格秒殺。這種精準(zhǔn)的促銷廣告形式。縮短了消費(fèi)路徑,直接將央視龐大的觀眾群導(dǎo)入到淘寶商城,傳播效果通過網(wǎng)絡(luò)平臺(tái)的銷售即刻展現(xiàn)。由此,大品牌可以更好地監(jiān)控投放效果,把握市場需求;小品牌也“登堂入室”,進(jìn)入了更多消費(fèi)者的視野。
創(chuàng)新性的合作營銷模式為淘寶商城在世界杯期間締造了銷售神話。據(jù)淘寶數(shù)據(jù)顯示,在過去的31天,3000多萬人次關(guān)注淘寶商城球迷狂歡節(jié),為淘寶帶來2390萬元成交量。淘寶網(wǎng)世界杯相關(guān)產(chǎn)品的交易額更是達(dá)到了4390萬元,是史上一個(gè)月交易額的44倍。當(dāng)然,此次活動(dòng)惠及更多的當(dāng)屬參與活動(dòng)的淘寶商城的商家們。600%的點(diǎn)擊增長,60%的銷售增長,讓商家們喜不自禁。
在眾多品牌中,增長最驚人的是奧克斯空調(diào),592%的點(diǎn)擊增長令?yuàn)W克斯的銷售人員都瞠目結(jié)舌,“在6月就迎來銷售高峰,我們都很吃驚。”銷售增長獲得215%的曲美也樂觀地表示, “我們覺得,這樣的模式不僅是商家遇到盛事時(shí)候的有效營銷模式,以后也可以不斷嘗試,說不定還能在實(shí)踐中不斷出新。”
一、FLIC文件格式的概述
FLIC文件事實(shí)上是對一個(gè)靜止畫面序列的描述,連續(xù)顯示這一序列便可在上產(chǎn)生動(dòng)畫效果。FLIC文件結(jié)構(gòu)簡潔,彈出速度快,雖然每種基色最多只有256級灰度,圖像深度只有8位,但使用起來很方便。
FLIC文件有兩種類型:FLI文件和FLC文件。FLC文是FLI文件的進(jìn)一步發(fā)展,它采用更高效的壓縮技術(shù),且其分辨率也不僅限于320×200。我們在PC上經(jīng)常使用的FLI文件,因?yàn)樗蚔GA的320×200×256顯示相匹配。
FLIC文件采取的壓縮技術(shù)原理就是僅保存前一幀中改變的部分。這樣占的空間小,彈出速度快。FLIC文件的結(jié)果可分為3個(gè)層次:文件層、幀層和塊層。文件層給出了FLIC文件的基本特征。幀層定義了幀的緩沖和塊中塊的數(shù)目。塊層包括塊的大小、類型和實(shí)際數(shù)據(jù)。這樣的層次結(jié)構(gòu)很容易實(shí)現(xiàn),特別是可以增加塊的類型以滿足新的需要,同時(shí)無需涉及原定義。
二、各層頭的結(jié)構(gòu)
1.FLI文件格式的結(jié)構(gòu)定義
①文件頭的結(jié)構(gòu)定義
文件頭長度為80H字節(jié),其C語言結(jié)構(gòu)定義如下
/*flifilehedaerstruct*/
typedefstruct{
unsignedlongfli-size;/*00H:文件總長度*/
unsignedintmagic;/*04H:文件格式,FLC=AF12;
FLI=AF11;*/
unsignedintframes-number;/*06H:FLIC的幀數(shù)*/
unsignedintscreen-width;/*08H:屏幕寬度*/
unsignedintscreen-height;/*0AH:屏幕高度*/
unsignedintunuserd;/*0CH:保留未用*/
unsignedintflags;/*0EH:標(biāo)志=0003*/
unsignedintspeed;/*10H:幀間播放速度單位*/
unsignedlongnext;/*12H:置為0*/
unsignedlongfrit;/*16H:置為0*/
unsignedcharfli-expand[102];/*1AH:保留作擴(kuò)展用=0*/
}FLIHEAD;
②幀頭的結(jié)構(gòu)定義
幀頭長度為10H字節(jié),其C語言結(jié)構(gòu)定義如下:
/*framesheaderstruct*/
typedefstruct{
unsignedlongsize-frame;/*00H:幀大小,包括本幀頭*/
unsignedintmagic;/*04H:幀標(biāo)識(shí)字=0F1FAH*/
unsignedintchunks;/*06H:本幀塊數(shù)*/
unsignedcharexpand[8];/*08H:保留未用=0*/
}FRAMESHEAD;
③塊頭的結(jié)構(gòu)定義
塊頭長度為6H字節(jié),其C語言結(jié)構(gòu)定義如下:
/*chunkheaderstruct*/
typedefstruct{
unsignedlongsize-chunk;/*00H:塊大小*/
unsignedtype-chunk;/*04H:塊類型*/
}CHUNKHEAD;
2.FLC文件格式的結(jié)構(gòu)定義
文件頭長度為80H字節(jié),其C語言結(jié)構(gòu)定義如下:
/*flifileheaderstruct*/
typedefstruct{
unsignedlongfli-size;/*00H:文件總長度*/
unsignedintmagic;/*04H:文件格式,FLC=AF12;
FLI=AF11;*/
unsignedintframes-number;/*06H:FLIC的幀數(shù)*/
unsignedintscreen-width;/*08H:屏幕寬度*/
unsignedintscreen-height;/*0AH:屏幕高度*/
unsignedintdepth;/*0CH:圖像深度*/
unsignedintflags;/*0EH:標(biāo)志=0003*/
unsignedintspeed;/*10H:幀間播放速度單位
FLC=1ms,FLI=1/70s*/
unsignedintreserved-1;/*14H:保留未用*/
unsignedlongcreatetime;
unsignedlongcreator;
unsignedlongupdatetime;
unsignedlongupdater;
unsignedintaspectx;/*創(chuàng)建文件時(shí)的顯示屏幕像素大小的縱橫比,VGA320×200
unsignedintaspecty;為6∶5*/
unsignedcharreserved-2[0x26];/*保留未用,=0*/
unsignedlongoffsetframel;/*50H:第一幀畫面相對于文件
開始的偏移*/
unsignedlongoffsetframe2;/*54H:第二幀畫面相對于文件
開始的偏移*/
unsignedcharreserved-3[0x28];/*保留未用=0*/
}FLIHEAD;
FLC的幀頭和塊頭的結(jié)構(gòu)定義和FLI文件格式的定義相同。
每塊的數(shù)據(jù)緊接在FLIC文件頭的后面。對于不同的塊類型有不同的數(shù)據(jù)含義,下面就不同的塊類型分別介紹,這是設(shè)計(jì)播放FLIC動(dòng)畫文件程序的關(guān)鍵之所在。
三、塊類型的含義
FLIC格式文件中的塊類型有許多種,每一種類型都有不同的定義,因此我們必須對每一種類型作出準(zhǔn)確的分析。由于動(dòng)畫格式FLIC圖像文件的塊類型具有極強(qiáng)的可擴(kuò)展性,在此我們只介紹幾種常見的塊類型。
1.類型04H
為每基色256級灰度的彩色調(diào)色板信息表FLIC-COLOR,其第一個(gè)字為需調(diào)色的調(diào)色子塊數(shù)(一個(gè)字),緊接其后的是需調(diào)色的相應(yīng)各塊的數(shù)據(jù)定義:
字節(jié)含義
第一字節(jié):跳色數(shù),在本塊中的需要跳過的顏色數(shù)(字節(jié))。
第二字節(jié):調(diào)色數(shù),本塊中有多少種顏色需要改變,當(dāng)調(diào)色數(shù)為0時(shí)指調(diào)256色。初始時(shí)當(dāng)前色號為零。
其后的字節(jié):以三字節(jié)為一組,是需要改調(diào)色的相應(yīng)的RGB值。
通常FLIC圖像文件的頭一幀的第一塊數(shù)據(jù)便是該類型(或0BH類塊)。在程序設(shè)計(jì)中我們定義了一個(gè)256色的調(diào)色板數(shù)組:
charpalette[768];
用于完成調(diào)色板的初始化工作。
2.類型07H
該類型數(shù)據(jù)以字節(jié)為基礎(chǔ),只適用于.FLC文件,處理對第一幀圖像的改變情況較為適用。它含有本幀圖像對于上與幀圖像的改變部分。
這種塊類型是一種最常用的、最復(fù)雜的塊類型,一般除了第一幀外后面的各幀通常采用這種塊類型進(jìn)行行數(shù)據(jù)壓縮存儲(chǔ)。它的描述如下:
字節(jié)含義
(1)第一個(gè)字:需要改變的行的數(shù)量
(2)第二個(gè)字開始:是具體需要改變的數(shù)據(jù)本身。每一行是進(jìn)行單獨(dú)的壓縮的,這種技術(shù)的采用大大壓縮了.FLC文件長度。它的具體定義為:可選字、小塊數(shù)及小塊的值。①可選字:
當(dāng)高位=11時(shí),低位部分為跳行數(shù)。該字可以有多個(gè),其跳行數(shù)相加。當(dāng)高位=10時(shí),低位部分內(nèi)容為當(dāng)前行的最后一個(gè)字節(jié)。(作為本行的結(jié)束標(biāo)志)。②小塊數(shù):當(dāng)高位=00時(shí),此字表示小塊數(shù)的值。③小塊:第一個(gè)字節(jié):跳列數(shù)。第二個(gè)字節(jié):小塊類型:當(dāng)該值為正時(shí):表示要從塊中搬到圖像中的像素(字)個(gè)數(shù)N,其后就是N個(gè)連續(xù)的像素?cái)?shù)據(jù);當(dāng)該值為負(fù)時(shí):它的絕對值N表示要重復(fù)從塊中搬到圖像中的像素(字)的次數(shù),其后就是那個(gè)像素的數(shù)據(jù)
。第三個(gè)字節(jié):塊中的圖像數(shù)據(jù)(字)。
3.類型0BH
與類型04H類似,它與VGA的13H模式相匹配。
4.類型0CH
與類型07H類似,但它以字節(jié)為基礎(chǔ),通常用于.FLI文件
字節(jié)含義
(1)第一個(gè)字:從屏幕上方開始和上一幀相同的行數(shù)即本幀中第一行要改變的行號。例如:如果有一個(gè)改變(運(yùn)動(dòng))僅僅只是在屏幕的底部,那么此時(shí)該字值為199(VGA320×200)。
(2)第二個(gè)字:需要改變的行的數(shù)量。
(3)第三個(gè)字以后:是具體需要改變的數(shù)據(jù)本身。每一行是進(jìn)行單獨(dú)的壓縮的,這種技術(shù)的采用大大壓縮了.FIC文件長度。它的具體定義為:小塊數(shù)及塊的值。
①小塊數(shù):此字表示小塊的個(gè)數(shù)值,它是本行中含有小塊的個(gè)數(shù)。當(dāng)小塊數(shù)=0時(shí),說明本行和上一行相同,不用進(jìn)行重新處理。
②小塊:第一個(gè)字節(jié):跳列數(shù)。第二個(gè)字節(jié):小塊類型:當(dāng)該值為正時(shí):表示要從塊中搬到圖像中的像素(字節(jié))個(gè)數(shù)N,其后就是N個(gè)連續(xù)的像素?cái)?shù)據(jù);當(dāng)該值為負(fù)時(shí):它的絕對值N表示要重復(fù)從塊中搬到圖像中的像素(字節(jié))的次數(shù),其后就是那個(gè)像素的數(shù)據(jù)。第三個(gè)字節(jié):
塊中的圖像數(shù)據(jù)。
5.類型0DH
該類型沒有數(shù)據(jù),該幀的所有像素值都為0。在實(shí)際應(yīng)用中通常它只產(chǎn)生在當(dāng)用戶使用3DS創(chuàng)建一個(gè)新的FLIC文件中的第一幀。
6.類型0FH
該類型用于壓縮圖像,通常只用于第一幀。它采用了Run-Length壓縮方法。該方法與類型07H及0CH中的行數(shù)據(jù)壓縮方法是相似的。只是在該方法中正負(fù)號的定義與類型07H和0CH恰好相反。
字節(jié)含義
(1)第一字節(jié)本行中小塊數(shù)。
(2)第二字節(jié)小塊的具體內(nèi)容。
①第一字節(jié):小塊類型:當(dāng)該值為負(fù)時(shí):它的絕對值表示要搬到圖像中的像素(字節(jié))個(gè)數(shù),其后就是數(shù)據(jù);當(dāng)該值為正時(shí),表示要將下一個(gè)像素復(fù)制到圖像中的次數(shù),該像素(字節(jié))緊隨其后。
②第二個(gè)字節(jié):塊中的圖像數(shù)據(jù)。
7.類型10H
這種類型不進(jìn)行壓縮,塊中的數(shù)據(jù)個(gè)數(shù)一定為圖像的長寬相乘。這種類型在實(shí)際應(yīng)用中一般不用。
下面具體討論播放程序的C語言程序設(shè)計(jì)方法,本文中的程序是針對.FLI格式的動(dòng)畫文件而進(jìn)行的程序設(shè)計(jì)。讀者如果要播放.FIC格式的動(dòng)畫文件,只需根據(jù).FIC文件格式的具體定義,并參照下面的程序設(shè)計(jì)方法即可設(shè)計(jì)出相應(yīng)的程序。
四、程序設(shè)計(jì)
1.第一幀圖像的播放程序
voidFirst-Frame(Video-Mem,fli-fp)
char*Video-Mem;
FILE*fli-fp;
{
intLine-PacketNumber
intSize-Count=0
intScreen-Char;
longSereen-Count=0L;
memset(Video-Mem,0,60000);
do{
Line-PacketNumber=fgetc(fli-fp);
while(Line-PacketNumber--)
{
Size-Count=fgetc(fli-fp);
if((Size-COUNT&0X80)==0X80
{
Size-Count=(256-Size-Count);
while(Size-Count--)
{
Screen-Count++;
Sereen-Char=fgete(fli-fp);
*Video-Mem++=Screen-Char;
}
}
else
{
Sereen-Char=fgete(fli-fp);
while(Size-Count--
{
Screen-Count++;
*Video-Mem++=Sereen-Char;
}
}
}
}while(Screen-Count<64000);
}
2.FLI后續(xù)各幀圖像的播放程序
voidOther-Frame(Video-Mem,Fli-fp,Update-LineNumber)
char*Video-Mem;
FILE*Fli-fp;
intUpdate-LineNumber;
{
intSize-Count=0,Skip-Col=0;
intUpdate-LineCount=0;
intScreen-Char;
intNumber-Packet;
char*Video-p;
while(Update-LineCount<Update-LineNumber)
{
Video-p=Video-Mem;
Number-Packet=fgetc(Fli-fp)
Update-LineCount++;
while(Number-Packet--)
{
Skip-Col=fgete(Fli-fp);
Video-Mem=Video-Mem+Skip-Col;
Size-Count=fgetc(Fli-fp);
if((Size-Count&0x80)==0x80)
{
Size-Count=256-Size-Count;
Screen-Char=fgetc(Fli-fp);
while(Size-Count--)*Video-Mem++=Sereen-Char;
}
else
{
while(Size-Count--){
Screen-Char=fgetc(Fli-fp);
*Video-Mem++=Screen-Char;
}
}
}
Video-Mem=Video-p+320;
}
}
3.播放程序的調(diào)用及其它幾個(gè)子程序
voidTransmit-Fli(Fli-fp)
FILE*Fli-fp;
{
intNUmber-Chunk;
if(fread((unsignedchar*)&header,1,sizeof(FLIHEAD),Fli-fp)
==sizeof(FLIHEAD))
if(header,magie|=0xAF11)
{
printf("NotanFLIfile/n");
exit(0);
}
if(fread((unsignedchar*)*frame-head,1,
sizeof(FRAMESHEAD),Fli-fp)==sizeof(FRAMESHEAD));
if(frame-head,magic=0xF1FA)
{
printf("ReadinganErroeFLIfile\n");
exit(0);
}
if(fread((unsignedchar*)&chunk-head,1,
sizeof(CHUNKHEAD),Fli-fp)==sizeof(CHUNKHEAD));
if(fread(&NUmber-Chunk,1,sizeof(int),Fli-fp)==sizeof(int));
else{
printf("ErrorreadingFli\n");
exit(0);
}
fgetc(Fli-fp);fgetc(Fli-fp);
if(fread(&palette,1,sizeof(palette),Fli-fp)==768);
else{
printf("ErrorreadingFli\n");
exit(0);
}
if(fread((unsignedchar*)&chunk-head,1,
sizeof(CHUNKHEAD),Fli-fp)==sizeof(CHUNKHEAD));
else{
printf("ErrorreadingFli\n");
exit(0);
}
ShowFli-Frame(Fli-fp);
fclose(Fli-fp);
}
voidShowFli-Frame(Fli-fp)
FILE*Fli-fp;
{
longFrame-DataAddress;
intFirst-UpdateLine,End-UpdateLine;
intFrame-Number=2,Adjust-Char=0;
init();
setvgapalette(palette);
First-Frame(MK-FP(0x0a000,0x0),Fli-fp);
Frame-DataAddress=ftell(Fli-fp);
while(Frame-Number<=header,frames-number-1)
{
Frame-DataAddress=ftell(Fli-fp);
Adjust-Char=fgetc(Fli-fp);
if(Adjust-Char|=0)fseek(Fli-fp,-1L,SEEK-CUR);
if(fread((unsignedchar*)&frame-head,1,
sizeof(FRAMESHEAD),Fli-fp)==sizeof(FRAMESHEAD));
if(frame-head,magic|=0xFIFA)exit(0);
if(frame-head,chunks|=0)
{
if(fread((unsignedchar*)&chunk-head,1,
sizeof(CHUNKHEAD),Fli-fp)==sizeof(CHUNKHEAD));
if(fread(&First-UpdateLine,1,sizeof(int),Fli-fp)
==sizeof(int));
else{
printf("ErrorreadingFli/n");
exit(0);
}
if(fread(&End-UpdateLine,1,sizeof(int),Fli-fp)
==sizeof(int));
else{
prinft("ErrorreadingFli/n");
exit(0);
}
Other-Frame(MK-FP(0x0a000,First-UpdateLine*320),Fli-fp,
End-UpdateLine);
}
Frame-Number++;
}
}
voidvideo-init()
{
unionREGSr;
r.x.ax=0x0013;
int86(0x10,&r,&r);
}
voidvideo-text()
{
unionREGSr;
r.x.ax=0x0003;
int86(0x10,&r,&r);
}
setvgapalette(p)
char*p;
{
unionREGSr;
structSREGSsr;
inti;
for(i=0;i<768;++i)*(p+i)=*(p+i)>>1;
r.x.ax=0x1012;
r.x.bx=0;
r.x.cx=256;
r.x.dx=FP-OFF(p);
sr.es=FP-SEG(p);
int86x(0x10,&r,&r,&sr);
關(guān)鍵詞:移動(dòng)學(xué)習(xí);PHP;改革
DOI:10.16640/ki.37-1222/t.2017.10.231
近年來,隨著無線電通信技術(shù)的迅猛發(fā)展、移動(dòng)計(jì)算技術(shù)的日趨成熟,越來越多的新技術(shù)在教育領(lǐng)域被采納運(yùn)用和廣泛推廣,這使得移動(dòng)學(xué)習(xí)這個(gè)新興學(xué)習(xí)方式被更多的人所接受和的青睞,傳統(tǒng)的學(xué)習(xí)方式正逐漸被改變。移動(dòng)學(xué)習(xí)是數(shù)字化學(xué)習(xí)的深化和發(fā)展,它突破了傳統(tǒng)學(xué)習(xí)方式的時(shí)間、空間限制,以其特有的靈活性和便利性,使得人們可以自由支配學(xué)習(xí)時(shí)間,隨時(shí)隨地開展學(xué)習(xí)活動(dòng),大大地提升了學(xué)習(xí)的效率。當(dāng)前,教育領(lǐng)域掀起了一股針對移動(dòng)學(xué)習(xí)方式的應(yīng)用研究熱潮,如何解決傳統(tǒng)課堂教學(xué)的弊端,進(jìn)而滿足學(xué)員對知識(shí)多樣性和及時(shí)性等方面的訴求,成為了廣大高校教育工作者面臨的一個(gè)新課題。移動(dòng)學(xué)習(xí)不僅具備網(wǎng)絡(luò)教育的基本特征,而且以其在教學(xué)中獨(dú)有的及時(shí)性、移動(dòng)性、交互性、跨時(shí)空性等優(yōu)點(diǎn),可以有效彌補(bǔ)傳統(tǒng)教學(xué)的不足和短板。
1 PHP 程序設(shè)計(jì)課程特點(diǎn)
PHP是一種運(yùn)行于服務(wù)器端并完全跨平臺(tái)的嵌入式腳本編程語言,是目前開發(fā)各類WEB應(yīng)用的主流語言之一,在高校中《PHP程序設(shè)計(jì)》不僅是計(jì)算機(jī)專業(yè)的必修課,也是很多非計(jì)算機(jī)專業(yè)的學(xué)習(xí)課程。《PHP程序設(shè)計(jì)》課程需要將一些非常復(fù)雜、難以理解的思想和問題簡單化。讓學(xué)生能夠輕松理解并快速掌握。在實(shí)訓(xùn)過程中學(xué)生如果不能將理論知識(shí)應(yīng)用自如,那么在處理實(shí)際問題時(shí)往往不知從何著手。因此為了達(dá)到良好的教學(xué)效果,需要在平時(shí)教學(xué)中注意培養(yǎng)學(xué)生動(dòng)手實(shí)踐能力,對于一些難以理解的知識(shí)點(diǎn)通過案例的練習(xí)來學(xué)習(xí),才產(chǎn)生較好學(xué)習(xí)效果。正是因?yàn)镻HP課程的這種特點(diǎn),它適合采用移動(dòng)學(xué)習(xí)來作為其輔助教學(xué)方式。移動(dòng)學(xué)習(xí)利用智能手機(jī)或平板電腦等移動(dòng)終端設(shè)備通過3G或WIFI無線網(wǎng)絡(luò),隨時(shí)隨地進(jìn)行課程學(xué)習(xí)。隨著移動(dòng)通信技術(shù)的大力發(fā)展,可以改變以往的移動(dòng)學(xué)習(xí)只能局限于文字與圖片的現(xiàn)狀,通過視頻讓學(xué)習(xí)者更容易理解課堂內(nèi)容,更能激發(fā)學(xué)習(xí)者的學(xué)習(xí)熱情和學(xué)習(xí)興趣。因此,把可以應(yīng)用微視頻的課程資源進(jìn)行開發(fā)并且和移動(dòng)學(xué)習(xí)結(jié)合起來,設(shè)計(jì)一個(gè)基于微視頻課程的移動(dòng)學(xué)習(xí)系統(tǒng),具有一定的應(yīng)用前景。
2 移動(dòng)學(xué)習(xí)在《PHP程序設(shè)計(jì)》課程教學(xué)中的應(yīng)用
PHP程序課程教學(xué)目前主要以傳統(tǒng)的講授+實(shí)驗(yàn)教學(xué)方式為主,希望能夠輔助移動(dòng)學(xué)習(xí)方式,充當(dāng)課堂教學(xué)的重要補(bǔ)充,希望能夠?qū)崿F(xiàn)課堂知識(shí)的延伸。實(shí)現(xiàn)方式主要采用視頻課程與在線學(xué)習(xí)結(jié)合的學(xué)習(xí)方式。針對課堂教學(xué),深入分析課程知識(shí)點(diǎn),并對每個(gè)知識(shí)點(diǎn)精心設(shè)計(jì)案例,課后設(shè)計(jì)模擬知識(shí)點(diǎn)在工作中的實(shí)際運(yùn)用,案例延伸以微課的形式發(fā)給學(xué)生。移動(dòng)學(xué)習(xí)做為一種輔助教學(xué)方式,同時(shí)應(yīng)積極參與到課堂教學(xué)的課前準(zhǔn)備,課后輔導(dǎo)以及實(shí)驗(yàn)指導(dǎo)等方面。輔助在線學(xué)習(xí)系統(tǒng)可以分為兩部分:實(shí)時(shí)交流論壇和視頻學(xué)習(xí)。開發(fā)在線學(xué)習(xí)系統(tǒng)是移動(dòng)學(xué)習(xí)的主流研究方向。其目標(biāo)用戶使用群體和跨平臺(tái)學(xué)習(xí)資源息息相關(guān),用戶使用跨平臺(tái)學(xué)習(xí)資源的方式和使用數(shù)字化學(xué)習(xí)資源的方式不同,滿足跨平臺(tái)學(xué)習(xí)的相關(guān)視頻資源還有所欠缺。所以,研發(fā)在線學(xué)習(xí)系統(tǒng)的首要任務(wù)是通過挖掘開發(fā),設(shè)計(jì)出能夠滿足學(xué)習(xí)者需要的在線學(xué)習(xí)資源。二是要通過不斷充實(shí)完善學(xué)習(xí)視頻資源庫,最大限度地支持學(xué)習(xí)者能夠使用移動(dòng)設(shè)備進(jìn)行遠(yuǎn)程訪問、瀏覽和檢索教學(xué)資源。三是要能夠滿足跨平臺(tái)內(nèi)容的“碎片化”學(xué)習(xí)需求,通過移動(dòng)通信網(wǎng)絡(luò)設(shè)備這一橋梁溝通老師、學(xué)生和資源庫三者的有效交互。這些都是高職教師努力實(shí)現(xiàn)的目標(biāo)。
3 移動(dòng)學(xué)習(xí)播放系統(tǒng)的設(shè)計(jì)
移動(dòng)學(xué)習(xí)播放系統(tǒng)需要實(shí)現(xiàn)的功能包括用戶的管理,以及視頻信息的管理和使用等。具體來講,它包含用戶管理中常見的注冊、登錄操作,視頻信息的播放操作,視頻管理中的添加、刪除、修改等。該系統(tǒng)在樂視云系統(tǒng)提供的視頻云存儲(chǔ)解決方案的基礎(chǔ)下,用戶可以在線瀏覽、播放視頻。該系統(tǒng)包括兩大模塊:視頻播放相關(guān)模塊和管理員管理相關(guān)模塊。
樂視云視提供的不僅僅是云存儲(chǔ)解決方案,作為視頻開發(fā)平臺(tái),專注于為用戶提供視頻上傳、存儲(chǔ)、轉(zhuǎn)碼、調(diào)取、個(gè)性化定制、統(tǒng)計(jì)等一站式視頻解決方案。選擇樂視云視頻產(chǎn)品的原因是兩大自身特征,一是樂視云視頻提供強(qiáng)大的視頻管理功能,支持客戶批量上傳視頻,視頻云端快速智能轉(zhuǎn)碼。對上傳的視頻,可以輕松的對視頻信息進(jìn)行編輯和修改。二是個(gè)性化定制,客戶也可以根據(jù)自己的需求對播放器進(jìn)行重新設(shè)計(jì)。
4 結(jié)語
本文針對 PHP語言教學(xué)中存在的問題,提出了輔助移動(dòng)學(xué)習(xí)的改進(jìn)措施,以激發(fā)學(xué)生的學(xué)習(xí)興趣。同時(shí),通過視頻學(xué)習(xí)加強(qiáng)實(shí)踐環(huán)節(jié)的設(shè)計(jì),以提高學(xué)生的編程能力及程序調(diào)試的能力。但也出現(xiàn)一部分學(xué)生不但沒有通過移動(dòng)終端學(xué)習(xí), 反而陷入到網(wǎng)絡(luò)不能自拔。針對這種問題還需要教師加大對學(xué)生的思想教育, 使其認(rèn)識(shí)到網(wǎng)絡(luò)的便利性和危害性。
參考文獻(xiàn):
[1]杜輕,張金秋.基于PHP的教學(xué)管理系統(tǒng)的分析與設(shè)計(jì)[J].福建電腦,2015(04):
[2]陳一匡.PHP課程教學(xué)改革驗(yàn)[J].電腦知識(shí)與技術(shù),2015(04).
[3]樓盈天.基于ThinkPHP的實(shí)訓(xùn)系統(tǒng)設(shè)計(jì)[J].中國科技信息,2015(16).
[4]蘇仰娜,韋寧彬.移動(dòng)學(xué)習(xí)教學(xué)游戲積件平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].電化教育研究,2013(02).