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

        ?

        基于OpenGL的交互式科普平臺(tái)設(shè)計(jì)研究

        2019-01-16 07:51:06
        關(guān)鍵詞:最低點(diǎn)擺線小球

        程 飛

        (安徽電子信息職業(yè)技術(shù)學(xué)院電子工程系,安徽 蚌埠 233000)

        1 問題的提出

        當(dāng)前,科技類場(chǎng)館開展科普工作主要通過三種手段:(1)實(shí)物模擬,(2)采用多媒體技術(shù),利用聲光電營造場(chǎng)館環(huán)境,(3)微視頻展示科學(xué)原理,(4)利用虛擬現(xiàn)實(shí)技術(shù)。對(duì)于第一類,觀眾一般不能觸摸實(shí)物模型,第二類技術(shù)對(duì)于傳播科技知識(shí)作用有限,而對(duì)于第三類,觀眾一般情況下僅能通過視頻了解科學(xué)原理和科技知識(shí),被動(dòng)接受得多,主動(dòng)參與得少。第四類則依賴于硬件設(shè)備(如VR頭盔等)??傮w看來,科普平臺(tái)的展示功能較多,而具有交互功能的科普平臺(tái)較為少見。如果結(jié)合計(jì)算機(jī)圖形學(xué)技術(shù),開發(fā)具有交互功能的科普虛擬平臺(tái),可以有效提高科普效果,促進(jìn)科學(xué)知識(shí)的傳播。本文結(jié)合中國科協(xié)科普大賽的命題《輪旋線》為例,結(jié)合軟件工程理論,詳述交互式科普平臺(tái)的設(shè)計(jì)方法。

        2 輪旋線原理和特性

        一個(gè)動(dòng)圓(圓心為O,半徑為r)在一條定曲線L上滾動(dòng)時(shí),與動(dòng)圓圓心O距離為定值c的點(diǎn)P的軌跡稱為輪旋線[1],又稱擺線。OP稱為擺軸,且c=|OP|。一般L為直線或者圓。如果L為直線,稱為普通擺線(如圖1所示)。如果L為定圓,分為兩種情況,稱為內(nèi)圓擺線(如圖2所示)和外圓擺線(如圖3所示)。若c>r,稱為長(zhǎng)軸擺線,若c<r,稱為短軸擺線。圖4從左至右顯示了c>r、c=r、c<r三種內(nèi)圓擺線的形成過程。

        圖1 普通擺線

        圖2 內(nèi)圓擺線

        圖3 外圓擺線

        圖4 三種內(nèi)圓擺線

        3 虛擬平臺(tái)總體設(shè)計(jì)

        3.1 需求分析

        從交互式科普角度考慮,虛擬平臺(tái)應(yīng)能夠動(dòng)態(tài)、交互表達(dá):(1)擺線的形成過程(2)擺線的數(shù)學(xué)表達(dá)式(3)擺線的特殊性質(zhì)(4)擺線的簡(jiǎn)史(5)擺線的應(yīng)用(6)擺線的繪制。由于科普平臺(tái)的作用是激發(fā)科學(xué)研究的興趣,對(duì)于公式的推導(dǎo)和理論一般不做展開。

        3.2 場(chǎng)景設(shè)計(jì)

        基于教育心理學(xué)的理論,人類視覺對(duì)于運(yùn)動(dòng)的物體比靜止的物體敏感;此外,在立體的場(chǎng)景中多視圖觀察形體,所獲得的信息量遠(yuǎn)大于固定視角所獲得的信息量。因而,將擺線的動(dòng)態(tài)形成過程置于三維場(chǎng)景中,場(chǎng)景的視角可以變換,其效果如圖5所示。這里視角矢量為(1,1,1),即軸側(cè)觀察。該圖顯示了各種擺線的形成過程。

        圖5 各種擺線的形成過程

        3.3 開發(fā)引擎選擇

        這里采用底層引擎OpenGL作為開發(fā)工具[2]。這是因?yàn)椋海?)OpenGL具有良好的浮點(diǎn)計(jì)算能力,特別適用于數(shù)學(xué)函數(shù)處理;(2)其動(dòng)態(tài)刷新功能可以保證動(dòng)畫效果的實(shí)現(xiàn);(3)其顯示表功能可以實(shí)現(xiàn)場(chǎng)景中的中英文字標(biāo)注,還可以方便載入圖片說明;(4)合理調(diào)用VC++的sleep函數(shù),可以實(shí)現(xiàn)場(chǎng)景的自動(dòng)變換,可以以微視頻的形式輸出;(5)基于VC++的一檔多視技術(shù)[3],可以增加表單視(FormView),易于實(shí)現(xiàn)設(shè)計(jì)交互式界面,如圖5左半部分所示。

        4 詳細(xì)設(shè)計(jì)

        限于篇幅,本文僅以(1)外擺線的形成(2)等時(shí)降線(3)最速降線為例說明詳細(xì)設(shè)計(jì)的思路和方法。

        4.1 外擺線的形成過程詳細(xì)設(shè)計(jì)

        外擺線如圖3所示,其方程為[1]:

        其中,a為定圓半徑,b為動(dòng)圓半徑,c為動(dòng)圓圓心O到點(diǎn)P的距離,即c=|OP|,θ對(duì)應(yīng)于動(dòng)圓的自轉(zhuǎn)角度。給定a,b(一般情況下a、b取有理數(shù)),如果a/b可以化為最簡(jiǎn)分式m/n(m、n為互質(zhì)整數(shù)),則動(dòng)圓將會(huì)繞定圓公轉(zhuǎn)m圈,同時(shí)自轉(zhuǎn)n圈(即共計(jì)自轉(zhuǎn)n*2π弧度),回到起點(diǎn)[4]。每自轉(zhuǎn)一圈,形成擺線的一瓣。如圖3所示,a=3,b=1,c=1.5,動(dòng)圓公轉(zhuǎn)1圈,同時(shí)完成三次自轉(zhuǎn),形成擺線的3瓣。OpenGL下,擺線的動(dòng)畫實(shí)現(xiàn)步驟如下:

        (1)計(jì)算n.給定a,b,計(jì)算a/b,化為最簡(jiǎn)分式m/n,得到n;

        (2)計(jì)算曲線上的各個(gè)數(shù)據(jù)點(diǎn)。因?yàn)棣取蔥0,n*2π],將[0,n*2π]均分1 000份,令,代入(1)式,計(jì)算各個(gè)θi所對(duì)應(yīng)的pi(xi,yi)。

        (3)繪制圖形,OpenGL用多段直線描繪曲線。給定一個(gè)整數(shù)t,繪制直線P0P1,…,Pt-1Pt。t初始化為0,每次OpenGL刷新重繪的時(shí)候t增加1,即每次刷新圖形多繪制一段直線,從而實(shí)現(xiàn)擺線繪制動(dòng)畫。當(dāng)t=1 000時(shí),置t=0,重新繪制。關(guān)鍵代碼如下:

        為了增加動(dòng)畫效果,定圓繪制完成后,還要繪制動(dòng)圓以及動(dòng)圓上的擺軸OP的運(yùn)動(dòng),如圖3所示。定圓和動(dòng)圓圓周的繪制方法參考相關(guān)文獻(xiàn)[5]。只要知道動(dòng)圓的圓心,就可以通過每次刷新重繪動(dòng)圓,表現(xiàn)動(dòng)圓沿定圓圓周滾動(dòng)。采用下面的語句移動(dòng)動(dòng)圓的圓心:

        進(jìn)一步通過動(dòng)圓的自轉(zhuǎn)實(shí)現(xiàn)擺軸OP的運(yùn)動(dòng)效果,關(guān)鍵語句如下:

        繪制效果如圖3所示,由圖可見,P點(diǎn)的運(yùn)動(dòng)形成了外擺線。對(duì)于內(nèi)擺線和普通擺線的情形,用同樣的方法繪制,不再贅述。圖1、圖2、圖3顯示了擺軸OP的旋轉(zhuǎn)以及P點(diǎn)的運(yùn)動(dòng)產(chǎn)生擺線的過程。

        4.2 等時(shí)降線的動(dòng)畫設(shè)計(jì)

        多個(gè)小球從擺線的不同高度同時(shí)沿?cái)[線下落,會(huì)同時(shí)到達(dá)最低點(diǎn),這就是擺線的等時(shí)降線特性[4]。圖6(a)顯示了位于擺線上不同高度的小球,按下“啟動(dòng)”按鈕后,各個(gè)小球同時(shí)沿?cái)[線下滑,圖6(b)顯示了各點(diǎn)同時(shí)到達(dá)最低點(diǎn)。

        圖6 等時(shí)降線和最速降線

        為了表現(xiàn)具有真實(shí)感的小球下滑過程,需要依據(jù)物理學(xué)的原理計(jì)算小球沿等時(shí)降線下滑的相關(guān)位置數(shù)據(jù)。思路如下:假設(shè)從初始點(diǎn)下滑到最低點(diǎn)的總時(shí)間為nt,小球在it時(shí)刻的位置即為H(i),(i=0,1,2,3,…,n;特別的,i=0時(shí)記為H,i=1時(shí)記為H’,i=2時(shí)記為H”)。第i次刷新的時(shí)候,在位置H(i)繪制小球。每次刷新重繪的時(shí)間間隔都是相同的,但是小球移動(dòng)的距離 d(i)=|H(i)-H(i-1)|不同,這樣就表現(xiàn)出真實(shí)感的動(dòng)畫效果。下面計(jì)算H(i)(i=1,2,3,…,n),為簡(jiǎn)化問題,這里僅計(jì)算H,H’以及H”。

        圖7 小球沿?cái)[線下滑位置計(jì)算

        如圖7所示,|AB|=α,擺線的方程為:

        小球初始位置位于H,坐標(biāo)表示為H(m,h),t時(shí)刻位于H’(m’,h’),2t時(shí)刻位于H”(m”,h”)。過H作x軸的平行線,交y軸于A1,以O(shè)A1為直徑作輔助圓O1,過H’、H”作x軸的平行線,交輔助圓于A2、A3,則∠A1O1A2=∠A2O1A3=β。即重力作用下小球下落時(shí)各個(gè)位置點(diǎn)的縱坐標(biāo)的值等于一個(gè)小球沿輔助圓O1勻速轉(zhuǎn)動(dòng)(角速度為,g為重力加速度)時(shí)相應(yīng)位置點(diǎn)的縱坐標(biāo)的值。這樣,H’點(diǎn)的縱坐標(biāo)就可以表示為:

        代入(2)式的第2式,有

        求得

        再將(5)式代入(2)式的第1式,求出H點(diǎn)的橫坐標(biāo)。

        而H”點(diǎn)的縱坐標(biāo)就可以表示為:

        采用和上面相同的方法,可以求出H”點(diǎn)的橫坐標(biāo),以及所有關(guān)鍵點(diǎn)的位置坐標(biāo)。

        可以證明,小球下落的時(shí)間與初始位置無關(guān)[4](證明請(qǐng)參閱相關(guān)文獻(xiàn))。小球初始位置不同,沿?cái)[線下滑,最終同時(shí)下落到最低點(diǎn)。等時(shí)降線詳細(xì)設(shè)計(jì)的思路如下:給定初始位置H’(m’,h’),首先在初始位置繪制小球;OpenGL刷新一次(對(duì)應(yīng)于經(jīng)過t時(shí)刻),在H”(m”,h”)位置小球;以此類推,計(jì)算其余關(guān)鍵點(diǎn)的位置數(shù)據(jù)。小球沿?cái)[線下滑的動(dòng)畫效果如圖6(a)、(b)所示。小球到達(dá)最低點(diǎn)以后,由于其具有水平速度,會(huì)沿?cái)[線的左半部分繼續(xù)上升,即動(dòng)畫的效果是小球沿?cái)[線來回震蕩。關(guān)鍵代碼如下:

        4.3 最速降線的動(dòng)畫設(shè)計(jì)

        如圖6(c)(d)所示,在從起點(diǎn)到終點(diǎn)的所有連線中,小球沿?cái)[線下落速度最快,稱為最速降線性質(zhì)[4]。圖6(c)顯示了小球沿直線和擺線同時(shí)下落,圖6(d)顯示小球沿?cái)[線到達(dá)最低點(diǎn)的時(shí)候,沿直線下落尚未到達(dá)最低點(diǎn)。其設(shè)計(jì)方法和數(shù)據(jù)計(jì)算類似4.2,這里不再贅述。

        圖8 載入圖片

        圖9 顯示表技術(shù)導(dǎo)入字體

        5 結(jié)語

        OpenGL性能良好的底層圖形庫,結(jié)合VC++的強(qiáng)大的數(shù)學(xué)處理能力,特別適合于基于物理原理的交互式科普軟件設(shè)計(jì),可以反映真實(shí)的物理實(shí)驗(yàn)環(huán)境,給科普參與者以真實(shí)的科普體驗(yàn)。不僅如此,OpenGL還可以導(dǎo)入圖片(如圖8所示,用圖片形式描述擺線簡(jiǎn)史),通過顯示表技術(shù)導(dǎo)入不同字體的文字,并可以通過sleep()自動(dòng)生成科普視頻,滿足特定的科普需求(如圖9所示視頻截圖)?;贠penGL設(shè)計(jì)科普交互式軟件,是實(shí)現(xiàn)真實(shí)感的虛擬科普?qǐng)鼍暗挠行緩健?/p>

        猜你喜歡
        最低點(diǎn)擺線小球
        擺線的歷史和現(xiàn)狀
        擺線銑削在硬零件槽銑加工中的應(yīng)用技術(shù)
        聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃?chǎng)中做圓周運(yùn)動(dòng)”為例
        小球進(jìn)洞了
        小球別跑
        小球別跑
        家教世界(2020年10期)2020-06-01 11:49:26
        巧析豎直平面內(nèi)的圓周運(yùn)動(dòng)
        擺線齒輪和傳動(dòng)特點(diǎn)
        “等時(shí)圓”模型及形異質(zhì)同的“等時(shí)圓”
        “等時(shí)圓”模型及形異質(zhì)同的“等時(shí)圓”
        久久久噜噜噜噜久久熟女m| AV无码系列一区二区三区| 国产成人av综合色| 亚洲中文字幕日本日韩| 国产丝袜长腿在线看片网站| 国产精品国产av一区二区三区| 亚洲综合av一区在线| 一区二区三区视频亚洲| 日本精品一区二区三区二人码 | 国产 高潮 抽搐 正在播放| 国产午夜精品一区二区| 亚洲av无码一区二区三区四区| 日本久久久| 亚洲无码毛片免费视频在线观看| 国产高清在线精品一区二区三区| 日本高清一级二级三级| 成人亚洲精品777777| 99久久人人爽亚洲精品美女| 最新国产三级| 国产高清天干天天视频| 亚洲一区二区三区免费av| 亚洲精品一区二区三区52p| 天堂√在线中文官网在线| 亚洲精品久久久久高潮| 久久国产乱子精品免费女| 东京热东京道日韩av| 亚洲精品国产精品乱码在线观看| 国产午夜精品一区二区三区| 精品一品国产午夜福利视频| 免费一级a毛片在线播出| 午夜免费观看一区二区三区| 亚洲熟妇av一区二区三区| 99久久精品国产一区二区三区| 亚洲va欧美va国产综合| 99国产精品无码专区| 国产剧情亚洲一区二区三区| 美女视频在线观看亚洲色图| 人妻无码中文字幕| 色拍拍在线精品视频| 国产三级在线看完整版| 中文字幕人妻久久久中出|