3D圖形編程入門(1)- cubic

來源:互聯網
上載者:User

3D圖形編程入門(1) 。 Cubics 。      【說明】本文以立方體為例來介紹3D圖形編程入門知識並說明電腦上與圖形變換相關的一些問題。3D幾何物體很多,除了立方體外,還可以是長方體,柱體,錐體,台體,球,環等等,本文未介紹這些幾何 形狀的物體的編程, 也沒有介紹繪製真實感物體所必須的光照模型和陰影產生問題,使用演算法也儘可能簡單,有關3D更多的知識將放在3D圖形入門(2),(3),...... 中去介紹,這裡僅介紹最基本的3D作圖問題。本文講解所利用的插圖均由我以前的自編軟體所產生,所有代碼也都是從此軟體中複製得到,所以都是經過實際實驗、能成功使用的。這個軟體名字就叫CUBICS,下面就是這個軟體啟動時的畫面。        以下先以瀏覽方式快速介紹軟體的的功能,當對各種圖形獲得了足夠印象後,再介紹它們是怎樣具體編程的。

1. 程式啟動後見到的介面,其上有一現成的立方體,可對進行其放大輸小,左轉右轉,等各種操作。狀態行顯示各種參數,可點擊下排工具條中的工具觀察圖形隨之發生 的變化,同時監視狀態行中的參數大小的變化。
        本軟體雖然只有立方體一種形狀的物體,但畫到螢幕上可有各種不同的形式,這和假定的物體(立方體)的本身的資料設定有關,也和此物體在空間的位置有關(距離遠近和方位),也和人觀察它的距離和相位有關,也和人想把它畫在螢幕上什麼部位有關。為此,程式要為物體設定各種參數和改變各種參數的按鍵。我們還可以決定是畫一個或畫多個,如果是多個,它們相互間有怎樣的空間位置關係,等等。
       本程式所要研究的功能有哪些,可以從上面圖1標題列中的標題大體可以看清: 立方體的設計,旋轉,平移,縮放,變焦,透視,複製,視線轉動與視距改變,四種顯示模型,利用立方體玩遊戲 ...
        一般程式通常都設有菜單條和工具條,工具條中工具在菜單裡面實際都是有的,這顯得有些重複。為此,本程式不設立菜單條,而設立了兩個工具條,上排工具條中的工具按鈕一般比較寬,它對應於下排工具條中幾個按鈕,其用途就是用說明下排工具按鈕的作用。例如,點擊上排第一個按鈕檔案時,就會彈出一個面板來說明下排工具條中輸入、輸出兩個按鈕的功能含義:
2. 本程式無菜單條,而有2個工具條。上圖顯示與下排輸入與輸出對應的上排檔案操作
而點擊上排第二個按鈕大O時,將顯示如下面所示的畫面: 3. O代表初始狀態,大O代表一切參數回初態,其他各處的小 o代表其中一種參數歸初態

4. 按下排O後得到的結果,使紅面對著你。左下角是一個座標架子,它與物體一起轉動;大十字是畫面座標,供協助用,可點擊上排按鍵協助下的下排按鍵去掉或恢複。

5. 在以上狀態下,點擊物體右移4次,得到的結果,座標架子顯示藍色z軸了

6. 但若在圖4的狀態下,點擊圖形右移4次,則得到的結果

7. 如果在圖4的狀態下,點擊改變視線,左移4次,則得到win10那樣的視窗圖形

8. 如果在上圖基礎上,再把視線向上點擊幾下,就可得上圖
9. 點擊上排圖形縮放,就彈出上圖,說明圖形縮放的意義及如何?的面板
10. 除了彩色立方體外,點擊顯示模型下的線就可顯示由線組成的立方形架子,沒有 隱藏線和面。這種圖容易引起混淆,看不清6面的朝向,但如果這是立方體,那麼面積最大的面,即由點4567圍成的面就是離開我們最近的一面。

11. 點擊D,看立方體8頂點的空間座標位置

11. 點擊顯示模型下的面就可顯示一個 黑白立方體模型,隱藏線和面都看不到了
12. 點擊上排物體旋轉,會彈出一下拉麵板,再點擊下拉麵板中第4項,可彈出以上圖形,能產生3面有不同顏色組成立方體,一共可以見到24種3面顏色不同的立方體。這24種立方體狀態可由其中任一圖出發,通過繞x或y或z軸轉90度不斷重複得到,但也不可能得到更多的圖形。

13. 這24個不同顏色狀態的立方體組成一個群,叫Cayley群。此2維圖可以改用3維球面表示,這時的圖形就非常對稱。
14. 由3X3=9個立方體組成圖形陣列

15. 由3X3=9個立方體組成的另一種圖形陣列

16. 由3X3=9個立方體組成的再一種圖形陣列

17. 用27個立方體構造魔方(初始未轉動狀態)

18 用許多立方體構作隧道

17. 由許多立方體可以拼成一個迷宮,這裡是用3層,每層可容納9X9=81個立方體
18. 上排按鈕協助下的2個鍵用來在螢幕顯示十字游標(C,cursor)和全螢幕網格(G,grid),以便作為參考,精確計算圖形的大小和位置。本圖是在圖1基礎上點擊G的結果,再點一次G,網格就消失。

19. 改變底色為白色。 底色必須與立方體各面顏色明顯不同,所以也只有黑或白2色可用。
用一個或多個立方體製作遊戲 。      用立方體可以製作很多遊戲。就我知道,可以製作下列三種遊戲:      1.扔骰子:骰子就是其上標點的立方體,在電腦上製作扔骰子遊戲是很容易的,可以用一個或多個一切進行。      2. 轉魔方:魔方也是由許多立方體拼成的整體,所以不難用繪製立方體的知識來繪製一個魔方,並進行轉動。      3. 走迷宮:立方體既然如圖17那樣能拼成迷宮,所以可以製作走迷宮的遊戲,讓大家在其中從入口到出口進行摸索。

用5個立方體構作扔骰子遊戲,每個立方體由圖1所示的初始狀態隨機繞 x,y 轉動90度n(n一般取3到6)次得到,但不管n有多大,其結果形狀必如圖12與13那樣,為caley群的24個元素種狀態中的一種,如果立方體狀態一樣,可加分;如轉動次數同,也加10分。當然,也可以用畫1,2,3,4,5,6個點的骰子來遊戲,再根據五子的點數總和及是否同花或連順來統計分數,或用6種不同顏色來代替6個點,如何計分不同的人可以作不同選擇,但永遠必須使所得分數的大小與狀態出現機率的大小基本成正比才合理。


help4:怎樣讓電腦畫一個立方體的協助

尚待詳細化解釋



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.