亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        利用OpenGL技術(shù)實現(xiàn)網(wǎng)格波動效果界面

        2016-06-14 01:04:42張笑一
        電腦知識與技術(shù) 2016年12期
        關(guān)鍵詞:程序開發(fā)

        張笑一

        摘要:為模擬波濤洶涌的波浪的動畫,設(shè)計與開發(fā)網(wǎng)格波動效果界面;借鑒余弦函數(shù)以及相應(yīng)的變換建立問題解決模型;利用C++的OpenGL開發(fā)動畫程序;程序?qū)崿F(xiàn)網(wǎng)格隨機擺動。

        關(guān)鍵詞:網(wǎng)格波動;余弦函數(shù);OpenGL技術(shù);C++;程序開發(fā)

        中圖分類號:TP37 文獻標識碼:A 文章編號:1009-3044(2016)12-0220-02

        Abstract: To simulate the roaring waves animation, design and achieve the grid fluctuation effect interface; Refer to cosine function and some transformations about cosine function to construct the problem solving model; Using of OpenGL of the C++ to develop animation program; The program achieve random fluctuation grid .

        Key words: Grid fluctuation; Cosine function; OpenGL technology; C++; program development

        1 概述

        網(wǎng)格波動界面的探索可以應(yīng)用于影視、廣告以及科研領(lǐng)域的仿真研究上,是一個值得探索的問題。

        文獻[1]描述利用海浪頻譜和方向函數(shù)生成每一張海面圖片的高度場。文獻[2]研究工作中涉及了波浪和浮體聯(lián)合作用的研究。文獻[3]研究內(nèi)容涉及對波浪扭曲時的建模方式的探討。文獻[4]研究的內(nèi)容涉及對海波使用紋理映射的討論。

        2問題提出

        利用C++的OpenGL渲染技術(shù),通過在事先定義的三維空間的若干頂點上增加隨機運動方式算法可在之后程序畫圖時實現(xiàn)網(wǎng)格波動,利用C++的窗口界面程序的開發(fā)方法和引入相關(guān)后綴名為“.h”的文件的語法以及OpenGL技術(shù),可實現(xiàn)所開發(fā)的界面播放OpenGL動畫程序。將這兩點有機結(jié)合后,提出開發(fā)帶有網(wǎng)格波動虛擬影像的播放界面。

        3 建立運動方式模型

        倘若定義若干行三維空間中的頂點,可把行數(shù)定義為變量n,各行頂點數(shù)目與行數(shù)相等,則可以在OpenGL程序每回畫出一張圖畫前通過使用循環(huán)語句執(zhí)行算法的途徑讓各個頂點的空間位置發(fā)生變化或者不變。當(dāng)每次畫出圖片前頂點可組成多條波動曲線的形狀時,則可讓這些圖片在因為程序執(zhí)行引起的連續(xù)放映形成網(wǎng)格搖擺的動畫。本次n取80。

        循環(huán)語句所表達的初始頂點在任意單位循環(huán)時刻應(yīng)具備的運動方式模型抽象為如下內(nèi)容:(1)所有頂點的初始位置都保證它們在三維坐標系中的y為零,第一行第一個頂點處在(0,0,0)點位置,之后的此行中,各頂點與上一頂點相隔長度為m,第二行相隔上一行距離的長度是m,第二行各個鄰居頂點間隔都是m,此后各行與上一行間隔是m并且本行鄰居位置的頂點間隔也為m,所有頂點構(gòu)成長寬等距的矩形網(wǎng)格并與負z軸、坐標為(0,0,0)的點和正x軸接壤;(2)假定在單位循環(huán)時刻圖片畫出前都從各行的前m個頂點中隨機選取一個頂點放一個帶指針的圓形紙片,各指針尾部按在各紙片中心,各針尖最前端與各紙片邊緣某處重合,各紙片和坐標軸x平行;(3)各紙片的指針與頂點構(gòu)成的長寬等距的矩形垂直,各紙片的指針和整個正y軸和負y軸組成的連線平行,指針所指方向所表示的向量和沿著y軸的正無窮遠延伸的方向所表示的向量構(gòu)成的角度為零,并且各紙片的中心位置與選取的隨機頂點重合;(4)各紙片以數(shù)值一樣的轉(zhuǎn)速圍著紙片中心勻速原地旋轉(zhuǎn)并且都沿著正x軸朝正無窮遠延伸的方向做著相同速度的加速度為0的直線運動;(5)各紙片在每次畫出圖片前都按相同的規(guī)定時間運動;(6)當(dāng)長寬等距的矩形上某個頂點被某個紙片中心經(jīng)過時,把指針的針尖與紙片的重合位置的y值作為此刻頂點的y值,這個值可用余弦函數(shù)以及相應(yīng)的三角函數(shù)變換根據(jù)本次循環(huán)中運動開始后當(dāng)前紙片在此時旋轉(zhuǎn)產(chǎn)生的角度計算;(7)當(dāng)各行的紙片在規(guī)定時間內(nèi)運動結(jié)束,使用OpenGL的語法連線、渲染和畫圖;(8)下一張圖片(也就是下一個單位循環(huán)時刻)依然按照前七步繪制。這里m為30。

        4網(wǎng)格波動界面關(guān)鍵內(nèi)容介紹

        網(wǎng)格波動界面使用C++與用戶界面程序開發(fā)有關(guān)的開發(fā)技術(shù)進行搭建。在利用C++語法加入OpenGL有關(guān)的文件后,將運動方式算法和每一時刻的與畫圖有關(guān)的語句放到合適的位置進行使用。由此,可以實現(xiàn)網(wǎng)格波動界面的動畫。

        網(wǎng)格波動界面程序邏輯上分為三大部分,第一部分為網(wǎng)格波動界面的處理用戶與界面交互主函數(shù),第二部分為網(wǎng)格波動界面的交互信息處理函數(shù),第三部分是與畫每一張圖片有關(guān)的函數(shù)。建立三部分之間聯(lián)系的方法是在處理用戶與界面交互主函數(shù)中利用while循環(huán)去檢測預(yù)先定義的交互信息結(jié)構(gòu)體有無內(nèi)容,有就用C++自帶的處理交互信息的函數(shù)發(fā)送到交互信息處理函數(shù)處理,處理后,程序?qū)⒗^續(xù)執(zhí)行處理用戶和界面交互主函數(shù)的那個循環(huán),這由運行該波動界面的電腦自身控制,沒有交互發(fā)生就執(zhí)行畫圖函數(shù)的調(diào)用語句。在處理用戶與界面交互主函數(shù)中,涉及的內(nèi)容從上到下接連為:初始化網(wǎng)格波動界面語句塊,加載波動界面畫圖設(shè)備函數(shù)體的調(diào)用語句,循環(huán)檢測(這是之前提到的while循環(huán)),界面銷毀句塊。交互信息處理函數(shù)使用C++的分叉條件判別語法編寫,它處理用戶按下鍵盤、按緊和松開鼠標、手握鼠標滑動、網(wǎng)格界面大小變化、銷毀網(wǎng)格波動界面的交互信息。

        網(wǎng)格波動界面的關(guān)鍵部分起到的作用的闡述如下:(1)處理用戶與界面交互主函數(shù)的初始化網(wǎng)格波動界面語句塊包含對波動界面的屬性的定義、交互信息結(jié)構(gòu)體的定義以及注冊波動界面和與建立波動界面相關(guān)的操作。其中,波動界面的屬性和交互信息的定義都是通過聲明擁有與網(wǎng)格波動界面程序中的界面執(zhí)行相關(guān)聯(lián)屬性的結(jié)構(gòu)體的變量來在程序中使用它們。(2)處理用戶與界面交互主函數(shù)的加載波動界面畫圖設(shè)備函數(shù)體的調(diào)用語句調(diào)用的是開發(fā)波動界面時編寫的與向系統(tǒng)申請畫圖環(huán)境有關(guān)操作的函數(shù),它的內(nèi)容概括起來是利用windosws用戶界面開發(fā)中需要的相關(guān)描述表去在一個操作系統(tǒng)的存儲區(qū)域內(nèi)分配一個用于進行OpenGL畫圖動作的工作區(qū)。(3)當(dāng)處理用戶與界面交互主函數(shù)的循環(huán)檢測發(fā)現(xiàn)交互信息結(jié)構(gòu)體有內(nèi)容,如之前所說,交互信息處理函數(shù)使用的C++的分叉條件判別語法會根據(jù)判別條件到相應(yīng)的位置去操作預(yù)先定義的全局變量或執(zhí)行C++自帶的會最終通知系統(tǒng)結(jié)束波動界面運行的語句。比如,當(dāng)判定交互信息是銷毀波動界面時,程序就會執(zhí)行這個最終將結(jié)束波動界面運行的語句。交互信息處理函數(shù)中的全局變量被執(zhí)行后,并且當(dāng)循環(huán)檢測執(zhí)行到相應(yīng)的畫圖函數(shù)時,畫圖函數(shù)根據(jù)它們的某些元素影響這個函數(shù)中相應(yīng)分叉判別語句內(nèi)部的OpenGL函數(shù)的生效,這實現(xiàn)了用戶和波動界面的交互產(chǎn)生時應(yīng)當(dāng)引發(fā)的內(nèi)容。當(dāng)沒有交互信息時,循環(huán)檢測執(zhí)行相應(yīng)畫圖函數(shù)的調(diào)用語句,這個調(diào)用語句所關(guān)聯(lián)的函數(shù)體也是波動界面的開發(fā)中自行編寫的。它解釋OpenGL在波動界面每一張圖片繪畫時起到怎樣的作用,就是說怎樣利用該技術(shù)提供的函數(shù)來刻畫圖片呈現(xiàn)給用戶的效果。不僅如此,這個自行編寫的函數(shù)體還將上一節(jié)的模型通過程序?qū)崿F(xiàn)。(4)循環(huán)檢測的終止條件是當(dāng)交互信息結(jié)構(gòu)體的message屬性收到離開循環(huán)的信息。當(dāng)離開循環(huán)檢測,程序就執(zhí)行界面銷毀句塊。它包含釋放界面和繪畫的工作區(qū)工作時所占的存儲空間。

        5 效果展示

        6結(jié)束語

        1) 如圖1所示,在波動界面的運行場所中點擊啟動調(diào)試后,可看到網(wǎng)格的波浪隨機擺動的動畫;

        2) 如圖2所示,由于用戶按下相應(yīng)鍵盤,切換效果;

        3) 如圖3所示,用戶利用鼠標改變網(wǎng)格波動界面大??;

        4) 如圖4所示,網(wǎng)格波動界面的畫面可以隨著用戶鼠標的滑動而變換視角;

        5) 雖然實現(xiàn)了波濤洶涌的效果,但是,圖2效果不夠美觀,這是不足之處,可通過改進3節(jié)模型規(guī)則后經(jīng)過程序?qū)崿F(xiàn)來改善放映效果。

        參考文獻:

        [1] 羅玉. 3D海浪動畫模擬技術(shù)研究[D]. 武漢理工大學(xué),2008:3.

        [2] 鄒耀斌. 風(fēng)浪的行為特征建模[D]. 武漢理工大學(xué), 2007:5.

        [3] 曾建英. 海浪的行為特征建模與實時繪制研究[D]. 武漢理工大學(xué),2009:6.

        [4] 賈佳. 海面建模與繪制技術(shù)研究[D]. 天津大學(xué),2011:12.

        猜你喜歡
        程序開發(fā)
        螺旋管傳熱與阻力特性實驗研究及熱工水力分析程序開發(fā)
        淺析大學(xué)生在兼職小程序開發(fā)中遇到的問題
        APP應(yīng)用程序開發(fā)模式探究
        電子制作(2019年19期)2019-11-23 08:42:02
        基于TestStand的自動檢測程序開發(fā)
        電子測試(2018年11期)2018-06-26 05:56:16
        淺析《桌面應(yīng)用程序開發(fā)》課程翻轉(zhuǎn)課堂實踐教學(xué)探究
        電子測試(2018年10期)2018-06-26 05:54:34
        基于信息隱藏工具的大數(shù)據(jù)信息儲存系統(tǒng)開發(fā)
        軟件工程(2017年11期)2018-01-05 10:43:12
        核電廠失水事故后長期冷卻一體化分析軟件開發(fā)
        基于形成性評價的程序開發(fā)作業(yè)設(shè)計與實踐
        計算機教育(2017年8期)2017-09-01 22:30:19
        高職C#程序開發(fā)改革研究
        基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開發(fā)
        永久黄网站色视频免费| 国产乱人伦av在线麻豆a| 乱色精品无码一区二区国产盗| 少妇熟女天堂网av| 在线播放亚洲第一字幕| 久久国产精品99精品国产987| 亚洲综合综合在线| 特级黄色大片性久久久| 超碰97人人射妻| 放荡的闷骚娇妻h| 久久久2019精品视频中文字幕| 风流少妇一区二区三区91| 337p日本欧洲亚洲大胆色噜噜| …日韩人妻无码精品一专区| 久久精品亚洲乱码伦伦中文| 高跟丝袜一区二区三区| 在线成人影院国产av| 亚洲av无码精品国产成人| 成人区人妻精品一区二区不卡网站| 美国黄色片一区二区三区| 精品蜜臀国产av一区二区| av在线免费观看蜜桃| 欧美 变态 另类 人妖| 人妻无码在线免费| 美女一区二区三区在线视频| 夜夜高潮夜夜爽国产伦精品| 天堂sv在线最新版在线| 少妇av免费在线播放| 扒开美女内裤舔出白水| 乱人伦人妻中文字幕无码| 亚洲av无码一区二区乱子仑| 中文字幕文字幕一区二区| 久久精品国产亚洲av麻豆长发| 国产xxxxx在线观看| 一本一本久久a久久| 91热久久免费频精品99| 中文人妻熟女乱又乱精品| 精品性影院一区二区三区内射| 天天澡天天揉揉AV无码人妻斩| 青青草视频免费在线播放| 久久久国产乱子伦精品|