久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    內(nèi)鄉(xiāng)縣少兒編程課程scratch3制作一個(gè)旋轉(zhuǎn)的立方體(1)——3D動(dòng)畫(huà)的原理

     ydylaoshi 2021-11-23
                                            原文作者:千里馬快樂(lè)編程
     
     
        同學(xué)們應(yīng)該都接觸過(guò)3D游戲和3D動(dòng)畫(huà),那些栩栩如生的畫(huà)面,大家知不知道其實(shí)它們并不是照片,而是通過(guò)編程讓計(jì)算機(jī)實(shí)時(shí)畫(huà)(計(jì)算)出來(lái)的呢?今天我們就來(lái)學(xué)習(xí)3D動(dòng)畫(huà)的基本原理,以及用scratch實(shí)現(xiàn)3D動(dòng)畫(huà)的方法。這里會(huì)涉及到三角函數(shù)、立體幾何的相關(guān)知識(shí),具有一定的難度。
     
     
        3D是英文3-Dimension,是三維的意思的。Dimension就是維度。3D就是指長(zhǎng)、寬、高三個(gè)維度,或者說(shuō)由x、y、z三個(gè)坐標(biāo)軸構(gòu)成的一種空間表示方法。它們構(gòu)成了一個(gè)和我們現(xiàn)實(shí)生活一樣的立體空間。
     
     
        在計(jì)算機(jī)科學(xué)家的努力下,現(xiàn)代計(jì)算機(jī)3D技術(shù)已經(jīng)可以達(dá)到以假亂真的效果,基本上可以純粹通過(guò)計(jì)算來(lái)精確重現(xiàn)現(xiàn)實(shí)世界或者人們想象中的場(chǎng)景,其精確性、真實(shí)性和無(wú)限可操作性,使得3D技術(shù)可以廣泛應(yīng)用于醫(yī)學(xué)、教育、軍事、娛樂(lè)等領(lǐng)域。
     
     
        大家知道電視機(jī)、電腦顯示器、手機(jī)屏幕等實(shí)際上是2D(二維)的平面,它只有長(zhǎng)和寬(只有x軸和y軸,沒(méi)有z軸)。要在2D平面上顯示出3D立體效果,就需要“3D引擎”,將立體物體的形狀、光線、運(yùn)動(dòng)等抽象成數(shù)學(xué)的表現(xiàn)形式,再通過(guò)計(jì)算輸出2D圖像,建立一個(gè)個(gè)真實(shí)的電腦世界。
     
     
        Scratch沒(méi)有自帶的3D引擎。但是只要知道了3D動(dòng)畫(huà)背后的原理,我們可以自己制作一個(gè)3D引擎出來(lái)。這就是我們一直強(qiáng)調(diào)的編程的好玩和強(qiáng)大之處:只要你學(xué)習(xí)、掌握了事物背后的原理,我們就有辦法通過(guò)編程把它模擬出來(lái)。
     
     
        
     
     
        scratch學(xué)習(xí)中對(duì)于2D坐標(biāo)已經(jīng)非常熟悉:一個(gè)物體的x坐標(biāo)代表它在屏幕左右方向的位置,y坐標(biāo)代表它在上下方向的位置。Scratch規(guī)定了舞臺(tái)的坐標(biāo)范圍分別是:x坐標(biāo)范圍在-240到240,y坐標(biāo)范圍在-180到180。
     
     
        
     
     
        3D坐標(biāo)系增加了一個(gè)z軸,其實(shí)就是2D坐標(biāo)在縱深方向的擴(kuò)展。如下圖所示,紅色直線代表x、y、z軸,黑色點(diǎn)的坐標(biāo)(x,y,z)代表了它在三維立體空間中的位置。
     
     
        在scratch的2D舞臺(tái)上畫(huà)一個(gè)四邊形,我們需要知道四個(gè)頂點(diǎn)的坐標(biāo),然后把它們連線就可以畫(huà)出來(lái)。同樣道理,如果要在3D空間中畫(huà)出一個(gè)物體,一個(gè)方法是知道它的所有頂點(diǎn)的坐標(biāo),然后把頂點(diǎn)用直線連起來(lái)。比如下面這個(gè)立方體,把它的6個(gè)頂點(diǎn)連起來(lái)就能畫(huà)出來(lái)。
     
     
        
     
     
        事實(shí)上,最復(fù)雜的3D圖案和最真實(shí)的3D動(dòng)畫(huà),背后都是通過(guò)這種方法畫(huà)出來(lái)。當(dāng)然畫(huà)面細(xì)節(jié)越豐富,背后的數(shù)學(xué)模型越復(fù)雜,也需要越多的計(jì)算機(jī)資源(CPU、內(nèi)存、顯卡)。作為入門(mén)介紹,本文只用最基本的3D圖形作為例子。
     
     
        比如下面這個(gè)八面體,它有6個(gè)頂點(diǎn),上半部分和下半部分分別有四個(gè)三角形。它是最簡(jiǎn)單的可以一筆畫(huà)出來(lái)的多面體(上面的立方體就不能一筆畫(huà)出來(lái),而八面體可以,同學(xué)們可以思考一下為什么),比如依次連接點(diǎn)1-6-2-5-3-6-4-5-1-2-3-4-1就可以不重復(fù)任一條邊把它畫(huà)出來(lái)。
     
     
        
     
     
        簡(jiǎn)單來(lái)說(shuō),只要我們知道了八面體的6個(gè)頂點(diǎn)的3D坐標(biāo),我們就能一筆過(guò)把它畫(huà)出來(lái)。
     
     
        計(jì)算機(jī)屏幕是一個(gè)2D的平面,我們通過(guò)屏幕看到的3D物體,實(shí)際上是它根據(jù)透視原理在屏幕上的一個(gè)2D投射。
     
     
        下圖說(shuō)明了這個(gè)原理:視點(diǎn)代表了觀察者(眼睛或者攝像頭)的位置。藍(lán)色是一個(gè)3D物體,紅色平面代表了屏幕。綠色部分就是3D物體在屏幕上的投射。在屏幕上顯示一個(gè)3D物體,其實(shí)是顯示它在2D平面上的投射(綠色部分)。
     
     
        
     
     
        根據(jù)上圖可以知道,我們?cè)谄聊簧峡吹降囊粋€(gè)3D物體的大小和形狀,其實(shí)跟以下幾個(gè)因素有關(guān):
     
     
        3D物體的實(shí)際位置
     
     
        視點(diǎn)的位置
     
     
        屏幕的位置
     
     
        那3D空間某一個(gè)點(diǎn)投射在某個(gè)2D屏幕上的坐標(biāo)是怎么計(jì)算的呢?我們下節(jié)繼續(xù)……
     
     
        
                

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶(hù) 評(píng)論公約

      類(lèi)似文章 更多

      主站蜘蛛池模板: 成人免费无码大片A毛片抽搐色欲| 四虎成人精品无码| 亚洲AV中文无码乱人伦在线观看| 公喝错春药让我高潮| 香港日本三级亚洲三级| 国内精品无码一区二区三区| 婷婷五月综合丁香在线| 国产精品毛片一区二区| 天天澡日日澡狠狠欧美老妇| 果冻传媒MV国产推荐视频| 性奴sm虐辱暴力视频网站| 少妇粗大进出白浆嘿嘿视频| 中文精品久久久久人妻不卡| 欧美一本大道香蕉综合视频 | 四虎国产精品永久入口| 男人狂桶女人高潮嗷嗷| 51精品免费视频国产专区| 伊人久久大香线蕉AV网禁呦| 精品少妇人妻AV无码久久| 少妇高潮水多太爽了动态图| 中文精品久久久久人妻不卡| 性奴sm虐辱暴力视频网站| 国内精品久久久久久久影视| 国产精品麻豆中文字幕| 国色天香天天影院综合网| 桃花岛亚洲成在人线AV| 亚洲午夜久久久久久久久电影网| 亚洲爆乳WWW无码专区| 国产高清不卡一区二区| 九九热在线视频观看这里只有精品| 久久人与动人物a级毛片| 国产人妻久久精品一区| 国产中文三级全黄| 欧美白妞大战非洲大炮| 欧美牲交A欧美牲交| 成年福利片在线观看| 亚洲av成人在线一区| 国产成人精品久久综合| 亚洲AV色香蕉一区二区蜜桃小说| 亚洲欧美综合中文| 最新亚洲av日韩av二区|