a级毛片免费全部播放-a级毛片免费观看在线播放-a级毛片免费观看网站-a级毛片免费看-国产成人精品在视频-国产成人精品在线

歡迎來到培訓無憂網!

全國切換

咨詢熱線 400-001-5729

位置:培訓無憂網 > 新聞資訊 > 青少兒培訓 > 少兒編程 >  用scratch制作3d投影的步驟

用scratch制作3d投影的步驟

來源:培訓無憂網 發布人:裴裴

2022-11-21 20:29:32|已瀏覽:2054次

用scratch制作3d投影的步驟

用scratch制作3d投影的步驟

用scratch制作3d投影的步驟第一步:在“造型”里將思思兔的造型圖片按照方向一一對應,動作越復雜,所需圖片越多。

用scratch制作3d投影的步驟第二步:設置思思兔的朝向、大小、位置。

用scratch制作3d投影的步驟第三步:設置重復執行動畫。

第四步:見證奇跡的時刻,運行腳本,注意腳本命令之間不要有斷層。

用scratch實現3D動畫的方法

1. 坐標

接觸過scratch的同學對于2D坐標已經非常熟悉:一個物體的x坐標代表它在屏幕左右方向的位置,y坐標代表它在上下方向的位置。Scratch規定了舞臺的坐標范圍分別是:x坐標范圍在-240到240,y坐標范圍在-180到180。

3D坐標系增加了一個z軸,其實就是2D坐標在縱深方向的擴展。紅色直線代表x、y、z軸,黑色點的坐標(x,y,z)代表了它在三維立體空間中的位置。

在scratch的2D舞臺上畫一個四邊形,我們需要知道四個頂點的坐標,然后把它們連線就可以畫出來。同樣道理,如果要在3D空間中畫出一個物體,一個方法是知道它的所有頂點的坐標,然后把頂點用直線連起來。比如下面這個立方體,把它的8個頂點連起來就能畫出來。

事實上,最復雜的3D圖案和最真實的3D動畫,背后都是通過這種方法畫出來。當然畫面細節越豐富,背后的數學模型越復雜,也需要越多的計算機資源(CPU、內存、顯卡)。作為入門介紹,本文只用最基本的3D圖形作為例子。

比如下面這個八面體,它有6個頂點,上半部分和下半部分分別有四個三角形。它是最簡單的可以一筆畫出來的多面體(上面的立方體就不能一筆畫出來,而八面體可以,同學們可以思考一下為什么),比如依次連接點1-6-2-5-3-6-4-5-1-2-3-4-1就可以不重復任一條邊把它畫出來。

簡單來說,只要我們知道了八面體的6個頂點的3D坐標,我們就能一筆過把它畫出來。

2. 投射

計算機屏幕是一個2D的平面,我們通過屏幕看到的3D物體,實際上是它根據透視原理在屏幕上的一個2D投射。

原理:視點代表了觀察者(眼睛或者攝像頭)的位置。藍色是一個3D物體,紅色平面代表了屏幕。綠色部分就是3D物體在屏幕上的投射。在屏幕上顯示一個3D物體,其實是顯示它在2D平面上的投射(綠色部分)。

在屏幕上看到的一個3D物體的大小和形狀,其實跟以下幾個因素有關:3D物體的實際位置、視點的位置、屏幕的位置。

那3D空間某一個點投射在某個2D屏幕上的坐標是怎么計算的呢?

P代表3D空間中的一個點,設它的位置坐標值是x,y,z。現在要計算的是它在紅色的代表屏幕的平面上的投射點P’的坐標值。其中O點代表視點。

兩次強調,3D點的投射除了和它本身的坐標有關之外,還和視點位置、投射屏幕位置有關。這三個因素是互相影響的。忽略了任何一個因素都不能得出投射點坐標!

綠色平面代表P經過的、和紅色屏幕平面平行的一個平面。線段OAB和紅色以及綠色平面都垂直。為了方便計算,我們讓紅色平面與x軸和y軸組成的平面平行。這樣,線段OAB和z軸平行(并垂直于紅色及綠色平面);線段BC以及AC’與x軸平行;線段PC以及P’C’與y軸平行。

因為BC與AC’平行、PC與P’C’平行。根據相似三角形的特點,我們很容易知道:

OA /OB = AC’ / BC = P’C’ / PC

所以,如果知道:

P點坐標x,y,z

O點坐標ox,oy,oz

紅色平面的z坐標值pz

則:

OA = pz – oz

OB = z – oz

BC = x – ox

PC = y – oy

則P在紅色屏幕平面投射點P’的x、y軸坐標值為:

P’的x坐標 =

ox + AC’ =

ox + [(pz – oz) * (x - ox)/(z - oz)]

P’的y坐標 =

oy + P’C’ =

oy + [(pz - oz) * (y - oy)/(z - oz)]

接下來我們就用這個結論在scratch里畫出一個3D的八面體來。

我們要做的就是把3D物體在2D屏幕上的投射畫出來。所以在畫(編程)之前我們先要在自己心中有一個3D坐標,視點的位置、屏幕的位置、物體的位置我們都要先想清楚。

八面體有6個頂點,依次連接點1-6-2-5-3-6-4-5-1-2-3-4-1就可以一筆過畫出它來;

- 首先我們用三個數組分別保存八面體6個頂點的x坐標、y坐標和z坐標;

- 定義視點及投射屏幕平面的位置(前面說過,為了方便計算,我們讓投射平面與x軸和y軸組成的平面平行,所以投射面只有一個z值);

- 根據前面3D到2D屏幕的投射公式,自定義一個積木用來投射轉換;

- 接下來就依次投射1-6-2-5-3-6-4-5-1-2-3-4-1點,用畫筆畫出連接各點的軌跡。

執行“投射八面體“積木就可以畫出下面的形狀:

3. 移動

物體移動只需要改變它所有頂點的x,y,z值,然后再重新投射一次就可以了。

注意這里物體的移動是在原3D空間的移動,所以物體在x軸方向或y軸方向移動后,在屏幕上的投射會產生一定的旋轉效果。視點離投射平面越近,這種旋轉效果越明顯。

物體在z軸方向的移動會產生物體大小變化的視覺效果:物體遠離視點時物體投射縮小,接近視點時物體投射增大。

4. 旋轉

物體旋轉涉及到三角函數的知識。推導過程需要一定的篇幅。我們只需要記住簡單的結論來應用就可以了。

旋轉可以分為三種:沿x軸的旋轉、沿y軸的旋轉和沿z軸的旋轉。

- 沿x軸旋轉時,物體的x坐標不變,y坐標和z坐標的變換規律是(A為旋轉角度):

新的y坐標 = y * cos A + z * sin A;

新的z坐標 = z * cos A – y * sin A。

- 沿y軸旋轉時,物體的y坐標不變,x坐標和z坐標的變換規律是(A為旋轉角度):

新的x坐標 = x * cos A – z * sin A;

新的z坐標 = x * sin A + z * sin A。

- 沿z軸旋轉時,物體的z坐標不變,x坐標和y坐標的變換規律是(A為旋轉角度):

新的x坐標 = x * cos A – y * sin A;

新的y坐標 = x * sin A + y * cos A。

顯示了沿z軸旋轉時的變換情況。有興趣的同學可以自己推導出坐標的變換規律。

注意上面說的坐標變化都是物體原3D坐標的變化,而不是投射在2D平面上的投射坐標的變化。換言之,旋轉改變物體坐標后,還要重新計算投射坐標。


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

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

  • 手機:

  • 地區:

  • 想學什么:

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

主站蜘蛛池模板: 免费在线观看亚洲 | 日本在线观看免费看片 | 在线成人免费观看国产精品 | 97久久草草超级碰碰碰 | 岛国大片在线播放高清 | 国产一区二区三区在线视频 | 三级网站视频 | 97超频国产在线公开免费视频 | 久久橹| 成人在线手机视频 | 欧美在线国产 | 免费成人一级片 | 热伊人99re久久精品最新地 | 亚洲精品一区二区三区 | 男女性高爱潮免费的国产 | 亚洲综合片 | 久久午夜网 | 欧美亚洲免费 | 久久精品中文字幕有码日本 | 亚洲日韩精品欧美一区二区一 | 日韩一区二区三区视频在线观看 | 真人毛片 | 亚洲成人第一 | 久久青草国产手机看片福利盒子 | 色熟 | 欧美精品一区二区三区视频 | 免费看欧美毛片大片免费看 | 男女乱配视频免费观看 | 一级二级三级毛片 | 亚洲国产精品一区二区三区 | 毛片视频网站在线观看 | 久草在线视频免费资源观看 | 亚洲欧美国产一区二区三区 | 午夜性刺激免费视频观看不卡专区 | 国产精品反差婊在线观看 | 欧美日本在线三级视频 | 亚洲国产精品免费观看 | 亚洲激情视频网 | 欧美日韩国产亚洲一区二区 | 久久爱www成人 | 欧美特级视频 |