97影院理论午夜伦不卡,72式性无遮挡免费视频,国产麻豆精品av在线观看,亚洲欧洲精品专线,亚洲+激情+专区

歡迎來(lái)到培訓(xùn)無(wú)憂網(wǎng)!

全國(guó)切換

咨詢熱線 400-001-5729

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

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

來(lái)源:培訓(xùn)無(wú)憂網(wǎng) 發(fā)布人:裴裴

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

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

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

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

基本思路

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

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

接著我們來(lái)看下一個(gè)3D實(shí)現(xiàn)的基礎(chǔ)思路,我的這個(gè)思路很像計(jì)算機(jī)成像的思路:

用戶腳本-->運(yùn)算-->成像;

是不是很類似于計(jì)算機(jī)成像;

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

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

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

第一階段

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

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

第二階段

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

第三階段

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

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

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

  • 手機(jī):

  • 地區(qū):

  • 想學(xué)什么:

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