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

        ?

        基于OpenGL技術(shù)的計算機動畫實現(xiàn)的研究

        2021-02-01 06:11:23羅新曼
        商丘師范學院學報 2021年6期
        關(guān)鍵詞:動畫計算機

        羅新曼

        (臨汾職業(yè)技術(shù)學院 計算機系,山西 臨汾 041000)

        近年來,隨著“互聯(lián)網(wǎng)+”被納入國家戰(zhàn)略,移動互聯(lián)網(wǎng)技術(shù)、信息技術(shù)迅速發(fā)展,直接影響著我們的生活習慣和學習、工作方式.計算機動畫技術(shù)也隨之飛速崛起,它的應(yīng)用領(lǐng)域日益擴大,帶來的社會效益和經(jīng)濟效益也不斷增長.現(xiàn)階段主要被廣泛應(yīng)用于電影業(yè)、電視片頭、廣告、科學計算和工業(yè)設(shè)計、模擬、教育、娛樂以及虛擬現(xiàn)實與3D、Web等諸多領(lǐng)域.而在計算機動畫中,繪圖速度和圖像的清晰程度是至關(guān)重要的.由于動畫需要每秒產(chǎn)生20~30幀的畫面,因此對動畫中圖形的繪制速度有一定的要求,當圖形的數(shù)據(jù)信息量較大時,繪圖的過程需花費的時間也會隨之加長,在這個過程中可能還會伴隨有其它現(xiàn)象出現(xiàn)(如:圖形不斷閃爍).這時如果采用OpenGL提供的雙緩沖技術(shù)來完成圖形的繪制過程,這些問題便可以迎刃而解,從而為動畫的制作完成奠定了堅實基礎(chǔ).

        1 關(guān)于OpenGL

        1.1 什么是OpenGL

        OpenGL[1]通俗來說就是一個軟件包,它的性能卓越,是專門針對三維圖形而制訂的一個通用標準.對于窗口系統(tǒng)和操作系統(tǒng)來說,它是獨立的個體,利用它可開發(fā)出多種類型的應(yīng)用程序,這些應(yīng)用程序可以在各種不同的平臺間靈活地被移植而不受影響;同時它還能與Visual C++緊密接口,使得機械手的有關(guān)計算和圖形算法完整實現(xiàn),既能充分保證算法的正確性,又能保證其可靠性;另一方面,雖然OpenGL使用時較簡單,但是效率卻是極高的.

        1.2 關(guān)于OpenGL功能的介紹

        1) 建模功能:圖形庫中不但包含有繪制基本的點、線、多邊形的簡單函數(shù),同時還有很多復(fù)雜函數(shù),可完成對一些較復(fù)雜的三維物體(球、錐、多面體、茶壺等)以及帶有曲線、曲面的物體線、面的繪制,能完成快速建模.

        2) 變換功能:OpenGL圖形庫的變換可分為基本變換和投影變換兩類.它的變換方法與機器人運動學中的坐標變換方法完全一致,對減少算法的運行時間,提高三維圖形的顯示速度是很有利的.

        3) 顏色模式設(shè)置功能:OpenGL顏色模式包括RGBA模式和顏色索引模式兩種.

        4) 光照和材質(zhì)設(shè)置功能:OpenGL光有四種,即輻射光、環(huán)境光、漫反射光和鏡面光.材質(zhì)是用光反射率來表示.光的紅綠藍分量與材質(zhì)紅綠藍分量的反射率相乘后形成的顏色才是場景中物體最終反映到人眼中的顏色.

        5) 紋理映射:OpenGL所提供的紋理映射功能對于表達物體表面的一些細節(jié)十分有利,仿真度極高.

        6) 位圖顯示和圖像增強功能:圖像功能既包括基本的拷貝和像素讀寫,同時還有融合、反走樣和霧三種特殊圖像效果處理.而經(jīng)過這三種特殊效果處理,被仿真物的真實感會更強,圖形顯示的效果也會隨之增強.

        7) 雙緩存(Double Buffering)動畫:所謂雙緩存,具體是指前臺緩存和后臺緩存,它們各司其職.具體來說,計算場景、生成畫面的任務(wù)由后臺緩存負責,而前臺緩存則負責后臺緩存已畫好的畫面的完整顯示.另一方面,OpenGL還能使深度暗示、運動模糊等特殊效果順利實現(xiàn),從而完成消隱算法.

        2 計算機動畫的基本原理及關(guān)鍵技術(shù)

        2.1 動畫基本原理概述

        所謂動畫,通常是指連續(xù)播放一組靜態(tài)畫面相互銜接而形成的動態(tài)效果.它是利用人眼具有視覺暫留這一特性,讓一幅幅靜態(tài)畫面 “動”起來的動態(tài)呈現(xiàn)過程.如果要活靈活現(xiàn)地展現(xiàn)一個事件的發(fā)展變化過程就可以使用動畫的方式來清晰、完整地進行表現(xiàn).目前對動畫的定義公認為:它實際是一門產(chǎn)生運動視覺的技術(shù),是將一組組單個且具有連續(xù)性的畫面拍攝在膠片上,從而產(chǎn)生視覺運動的技術(shù)手段,這種視覺技術(shù)是通過將膠片以一定的速度放映的形式而具體體現(xiàn)出來的.

        2.2 什么是計算機動畫

        計算機動畫[2]是指采用一種先進技術(shù)讓靜止圖像進行連續(xù)播放,從而呈現(xiàn)出物體不同運動狀態(tài)的一種動態(tài)效果,也就是利用計算機產(chǎn)生圖形、圖像運動的技術(shù).計算機動畫通過對圖形和圖像采用綜合處理技術(shù),再通過程序編寫軟件和制作動畫軟件相結(jié)合設(shè)計出多組動態(tài)畫面.將前一幀的內(nèi)容設(shè)計為物體的某個特定狀態(tài),而當前幀的內(nèi)容則修改為它的另一個狀態(tài),利用動畫軟件形成動態(tài)效果.動畫制作軟件系統(tǒng)主要包括以下幾種:(1)腳本系統(tǒng).它是早期的動畫制作系統(tǒng);(2)程序動畫.是采用一系列程序來定義在特定時段某一角色的運動,這些程序是采用角色的物理規(guī)則和動畫的生成方法來生成的;(3)表示動畫.這種動畫允許在動畫過程對象的形狀發(fā)生變化;(4)隨機動畫.這種動畫采用隨機過程來控制角色的運動;(5)行為動畫.這種動畫系統(tǒng)中的物體或角色定義中就已經(jīng)明確規(guī)定了這些物體或角色應(yīng)處在什么樣的環(huán)境中,以及要遵循什么樣的規(guī)則.計算機將根據(jù)這些要素構(gòu)造一個虛擬的動畫世界,其中虛擬出來的一些景物、建造體、物體和虛擬攝像機的運動過程,完全是由我們選用的計算機系統(tǒng)的基本處理功能來決定的.

        2.3 計算機動畫使用關(guān)鍵技術(shù)

        計算機動畫的關(guān)鍵技術(shù)體現(xiàn)在計算機動畫制作軟件和硬件上.動畫軟件、硬件的功能不同,則可實現(xiàn)的的動畫效果也不同.從計算機動畫軟件實現(xiàn)的角度來看,其關(guān)鍵技術(shù)主要包括以下幾種類型.

        (1) 關(guān)鍵幀動畫:計算機動畫模仿傳統(tǒng)動畫的生成方法,先繪制出關(guān)鍵幀,然后再根據(jù)關(guān)鍵幀進行插值,繪出中間幀,因此稱為關(guān)鍵幀動畫.設(shè)置為關(guān)鍵幀的位置一般是指在此處會出現(xiàn)動作上的某種變化,對一些連續(xù)動作起著關(guān)鍵的轉(zhuǎn)折作用.關(guān)鍵幀技術(shù)通過對運動物體的運動參數(shù)插值實現(xiàn)對動畫的運動控制.

        (2)運動軌跡法:基本運動學描述,通過指定物體的空間運動路徑來確定物體的運動,并在物體的運動過程中允許對物體實施各種幾何變換(如縮放、旋轉(zhuǎn)等),但不引入運轉(zhuǎn)的力.

        (3)運動動力學法:基于具體的物理模型,運動過程由描述物理定律的力學公式來得到.該方法綜合考慮到物體的質(zhì)量、慣性、摩擦力、引力、碰撞力等多個物理因素.其他還包括人體動畫、基于物理特征的動畫等[3].

        3 OpenGL技術(shù)支持下的計算機動畫的實現(xiàn)過程

        3.1 計算機動畫中繪圖的具體要求

        在計算機動畫中,由于需要每秒產(chǎn)生20~30幀的畫面,因此對圖形的繪制速度有一定的要求,當圖形的數(shù)據(jù)信息量較大時,繪圖的過程需花費的時間也會隨之加長,在這個過程中可能還會伴隨有其它現(xiàn)象出現(xiàn)(如:圖形不斷閃爍).這時如果采用OpenGL提供的雙緩沖技術(shù)來完成圖形的繪制過程,則可以有效防止這些問題的出現(xiàn).雙緩沖是指在計算機內(nèi)存中創(chuàng)建一個對象區(qū)域,讓其與屏幕上的繪圖區(qū)域保持一致,首先在內(nèi)存中的這個區(qū)域中完成圖形的全部繪制操作,然后將內(nèi)存中對象上的圖形一次性完整地復(fù)制到屏幕上繪圖的區(qū)域,經(jīng)過如此處理可快速完成圖形的繪制.

        3.2 雙緩沖技術(shù)函數(shù)功能分析

        OpenGL支持雙緩沖,它是可以通過一個函數(shù)調(diào)用來實現(xiàn)前、后緩沖區(qū)之間信息交換的.OpenGL雙緩沖技術(shù)使用如下:

        Windows編程環(huán)境下調(diào)用如下函數(shù):

        SwapBuffers( );

        控制臺編程環(huán)境下調(diào)用的函數(shù)為:

        glutSwapBuffers( );

        glutnisDisplayMode(GLUT_DOUBLE|GLUT_RGB);//指定一個雙緩沖窗口,完成所有繪圖代碼都在畫面外的緩沖區(qū)進行渲染.

        計算機動畫還需要進行窗口定時刷新:

        glutPostRedisplay( );//刷新當前窗口

        glutTimeFune(int interval,void*TimeFunc,1);//登記一個回調(diào)函數(shù),經(jīng)過設(shè)定的時間值后由GLUT調(diào)用該函數(shù).

        3.3 動畫的具體實現(xiàn)過程

        下面以完成一個逆時針旋轉(zhuǎn)的茶壺動畫為例說明其實現(xiàn)過程.首先在屏幕上繪制一個繞經(jīng)點(0,0,0),(1,1,1)的矢量圖形茶壺,動畫實現(xiàn)逆時針旋轉(zhuǎn),每隔50 ms刷新一次窗口.

        代碼如下:

        #include

        Double dlst=0;

        Void Timerloop(int);

        Void Render(void);

        Void main(void)//主函數(shù)入口

        {

        glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);

        glutCreate Window(“Animation”);

        glutDisplayFunc(Render);

        ……

        glutTimeFunc(50,TimerLoop,1);

        ……

        glutMainloop();

        }

        Void Render(void)

        {//計算旋轉(zhuǎn)角度

        dist+=10.0f;

        if(dist>360.0f)

        dist =10.0f;

        //繪圖

        glClear(GL_COLOR_DUFFER_BIT|GL_DEPTH_BUFFER_BIT);

        glClear;

        glColor3f(255,0,0);

        glPushMatrix( );

        glRotatef(dist,1.0f,1.0f,1.0f);

        glutSolidTeapot(0.4);

        glPopMatrix( );

        glFinish( );

        glutSwapBuffers( );//在雙緩沖模式下進行一次緩沖區(qū)交換

        }

        Void TimerLoop(int value)

        {glutPostRedisplay( );//刷新當前窗口

        glutTimerFunc(50,TimerLoop,1);

        }

        4 結(jié) 語

        當前我們正處于互聯(lián)網(wǎng)飛速發(fā)展的時代,計算機動畫技術(shù)作為一種新的信息制作與傳播方式,在各個領(lǐng)域的應(yīng)用價值都是不可估量的.隨著計算機動畫應(yīng)用的不斷深入,動畫中對圖形圖像的繪制速度和質(zhì)量的要求必將會更快更高,而OpenGL所提供的雙緩沖技術(shù)首先在內(nèi)存中的這個對象上完成圖形繪制的所有操作,然后再將該圖形一次性完整地復(fù)制到屏幕上,如此既可以快速完成,同時還能保證清晰度不受影響.計算機動畫將會給我們帶來一個比現(xiàn)實更加豐富多彩的世界,呈現(xiàn)給我們一個新奇的視覺效果和視覺體驗.

        猜你喜歡
        動畫計算機
        計算機操作系統(tǒng)
        做個動畫給你看
        動畫發(fā)展史
        穿裙子的“計算機”
        基于計算機自然語言處理的機器翻譯技術(shù)應(yīng)用與簡介
        科技傳播(2019年22期)2020-01-14 03:06:34
        計算機多媒體技術(shù)應(yīng)用初探
        科技傳播(2019年22期)2020-01-14 03:06:30
        我的動畫夢
        文苑(2019年22期)2019-12-07 05:28:56
        動畫批評融入動畫教育的思考
        新聞傳播(2018年3期)2018-05-30 07:01:39
        信息系統(tǒng)審計中計算機審計的應(yīng)用
        消費導刊(2017年20期)2018-01-03 06:26:40
        我是動畫迷
        學生天地(2016年9期)2016-05-17 05:45:06
        欧美黑人乱大交| 久久久极品少妇刺激呻吟网站| 人妻少妇久久中文字幕| 国产情侣久久久久aⅴ免费| 免费一级肉体全黄毛片| 午夜视频福利一区二区三区 | 精品在线视频在线视频在线视频 | 97久久精品无码一区二区天美 | 久久精品女同亚洲女同| 美女露内裤扒开腿让男人桶无遮挡| 亚洲国产精品sss在线观看av| 久久99精品久久久久九色 | 国产中文欧美日韩在线| 国产精品九九九久久九九| 白白白色视频在线观看播放| 友田真希中文字幕亚洲| 免费人成在线观看视频播放| 国产综合精品久久亚洲| 人妻少妇被猛烈进入中文| 久久中文骚妇内射| 国产嫖妓一区二区三区无码| 国产婷婷丁香久久综合| 性一交一乱一乱一视频亚洲熟妇| 校园春色综合久久精品中文字幕| 亚洲男同gay在线观看| 国产精品后入内射日本在线观看| 无码成人AV在线一区二区| 青青草视频网站在线观看| 三年片大全在线观看免费观看大全| 在线免费日韩| 亚洲一区二区三区高清视频| 日本伊人精品一区二区三区| 一本一道波多野结衣一区| 99免费视频精品| 熟女人妻在线中文字幕| 亚洲 自拍 另类小说综合图区 | 色www亚洲| av中文字幕在线直播| 亚洲av日韩aⅴ无码色老头| 亚洲天堂第一区| 久久这黄色精品免费久|