成人黄色在线网站 I 国产aa免费 I 中文字幕免费高清 I 国产三级影院 I 日韩欧美三级在线观看 I 久久久国产精品麻豆a片 I 欧美与黑人午夜性猛交久久久 I 91国产精品视频在线 I 国产美女狂喷水潮在线播放 I 黄页免费网站在线观看 I 欧美日韩激情视频 I 午夜理论无码片在线观看免费 I 深夜爽爽动态图无遮无挡 I 国精产品一区一区三区有限公司杨 I 天天操天天舔天天爽 I 免费看日本黄色片 I 成人va在线 I 日韩中文字幕在线观看 I 婷婷综合网 I 97视频免费观察看 I 色月丁香 I 日韩视频一二三 I 男女黄色毛片 I 美女疯狂连续喷潮视频 I 亚洲日本va一区二区sa I 欧美日韩视频区 I 毛片网在线 I 欧美一本在线 I 少妇一级淫片免费放香蕉 I avav在线看 I 久久精品亚洲中文字幕无码网站 I 天堂av在线中文在线新版 I 电影一区 电影二区 I 色av吧 中文字幕 I 国产精品伊人色

歡迎來到培訓無憂網(wǎng)!

全國切換

咨詢熱線 400-001-5729

位置:培訓無憂網(wǎng) > 新聞資訊 > 青少兒培訓 > 少兒編程 >  怎樣用scratch實現(xiàn)3d

怎樣用scratch實現(xiàn)3d

來源:培訓無憂網(wǎng) 發(fā)布人:裴裴

2022-11-21 20:29:03|已瀏覽:1297次

怎樣用scratch實現(xiàn)3d

怎樣用scratch實現(xiàn)3d?相信大家應(yīng)該都接觸過3D游戲和3D動畫,那些栩栩如生的畫面,其實它們并不是照片,而是通過編程讓計算機實時畫(計算)出來的。下面就來說說怎樣用scratch實現(xiàn)3d,大家千萬別錯過。

怎樣用scratch實現(xiàn)3d

基本思路

首先必須明確,3D這種東西不論那個平臺的實現(xiàn)(已有的3D引擎不算,我指自己編寫一個新的3D引擎)都是需要一定的數(shù)學基礎(chǔ)的。如果你沒有過多的去研究數(shù)學的話,我建議初二(含初二)以下的吧友不要闖3D領(lǐng)域,你會覺得無從下手。對于3D的研究最適合高中的吧友們,這時候不僅可以增長編程水平,而且對你的高中數(shù)學的學習也有極大的幫助。

對于3D的實現(xiàn),最重要的是思路,公式及圖像的形成原理大家都懂,我就不普及這種基礎(chǔ)知識了。實現(xiàn)的思路有很多,這篇文章我會給你們提供我實現(xiàn)3D時使用的思路,并不會教你們那里怎么做哪里怎么做(這樣我不如直接放源碼出來),只是給你們一個可行的探索方向。

接著我們來看下一個3D實現(xiàn)的基礎(chǔ)思路,我的這個思路很像計算機成像的思路:

用戶腳本-->運算-->成像;

是不是很類似于計算機成像;

二進制欲顯示圖像-->GPU處理-->顯示器發(fā)光.

沒錯,就是這樣的。也就是這是我們3D成像主攻的3大塊:用戶腳本、運算、成像。我看過我們吧友的一些3D實現(xiàn)方法,他們都犯了一個大錯:將這3大塊揉和在了一起。這是大錯特錯的,這三大塊應(yīng)該是可以分別從你的腳本中獨立出來的(也就是3個角色)。 這樣有利于對腳本的維護,學過高級語言的吧友們就知道了,這樣“塊”狀的腳本是特別利于開發(fā)的。

對于這3大塊的開發(fā)順序應(yīng)該是先開發(fā)運算、再成像、最后用戶腳本。為何這么說,拿計算機成像來看,目前的顯示器只支持GPU輸出的圖像,所以你得先研發(fā)GPU,然后GPU研發(fā)完了顯示器就順理成章了,接著在于CPU配對接受二進制,不然的話先給你二進制顯示不出來有何意義?對于3D實現(xiàn)同理。如果你直接開發(fā)成像你會發(fā)現(xiàn)你在不知不覺中也開發(fā)了運算,然而這樣開發(fā)出來的運算是和成像揉在一起的,違反了我們的開發(fā)原則。

第一階段

我們開發(fā)的第一階段運算是最難啃的,這個階段的開發(fā)猶如混水摸魚。你并不知道你的運算結(jié)果是什么,你看不到圖像,只知道運算而得到的數(shù)字。這要求對各類函數(shù)的確切掌握。那我們?nèi)绾慰焖龠M階呢?這個就很像矢量圖了,大家可以在此處參考矢量圖的實現(xiàn)。那我們要得到些什么數(shù)字?首先對于3D我們肯定得拋棄Scratch原有的二維坐標系統(tǒng)(xy),要自行再開發(fā)一個三位坐標系統(tǒng)(xyz),這個系統(tǒng)里要有長度單位、以及三維基本的三個軸。你3D里的每一個實體,都需要一個確切的坐標以及長寬高。這是第一步。第二步,你要確定一個視界與被觀察實體的相對位置及相對距離,注意實體的坐標是固定的,但是視界不是固定的,所以我們需要一個實時相對位置與相對距離算法,通過這個算法得知一些數(shù)據(jù)(至于是什么數(shù)據(jù),就看你數(shù)學學怎么樣了)以測算角度來成像。

例如p1(作圖抽象,請自行想象)里的正方體是實體,長方體是你的可視范圍,那么紅線延長出去的就是視界。接下來就要介入成像了。

第二階段

在成像方面,我比較推崇位圖式與矢量式結(jié)合的思路。矢量式描繪實體邊框,位圖式給一個面填色。矢量方面并不難,你只要運算出了關(guān)鍵數(shù)據(jù),一根線(剛開始不要介入曲線)的長度、大小、位置、角度自然都是可以通過公式測算的出來的。假設(shè)p2(作圖抽象,請自行想象)是我們看到的圖像,那么我們需要確定圖上幾個關(guān)鍵性的紅點把他們連起來,如何確定這些紅點可以參考紅線(我稱之基準線),確定這些在成像時沒有基準線就是運算要做的,這些基準線必須從視界的一個角出發(fā)其終點就是我們要的關(guān)鍵點。成像難在位圖式(建議大家不要馬上研究位圖式這一塊),你需要研究在Scratch里實現(xiàn)MS-Paint里油漆桶的方式,研究出了這個,也就沒什么難的了。但是實現(xiàn)個看似簡單的油漆桶并不簡單。

第三階段

啃完了兩塊大難關(guān),接著用戶腳本的研究自然就特別簡單了。我們只要自定義函數(shù)后提交到運算創(chuàng)建實體,然后給成像模塊提供運算結(jié)果成像就完成了。

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請注明出處和鏈接 http://www.hebeijilong.cn/news-id-70034.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實性請自行核實或聯(lián)系我們,了解更多相關(guān)資訊請關(guān)注少兒編程頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費申請試課。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機:

  • 地區(qū):

  • 想學什么:

  • 培訓無憂網(wǎng)
免 費 申 請 試 聽
提交申請,《培訓無憂網(wǎng)》課程顧問老師會一對一幫助你規(guī)劃更適合你的專業(yè)課程!