用Go語言繪製Go語言地鼠吉祥物

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

Go語言是Google2009發布的第二款開源程式設計語言。Go語言專門針對多處理器系統應用程式的編程進行了最佳化,使用Go編譯的程式可以媲美C或C++代碼的速度,而且更加安全、支援並行進程。但Go語言除了擅長處理伺服器端任務外,它還可以用來做圖。

package mainimport ("log""github.com/fogleman/pt/pt")func main() {scene := pt.Scene{}wall := pt.SpecularMaterial(pt.HexColor(0xFCFAE1), 2)scene.Add(pt.NewSphere(pt.Vector{4, 7, 3}, 2, pt.LightMaterial(pt.Color{1, 1, 1}, 1, pt.NoAttenuation)))scene.Add(pt.NewCube(pt.Vector{-30, -1, -30}, pt.Vector{-8, 10, 30}, wall))scene.Add(pt.NewCube(pt.Vector{-30, -1, -30}, pt.Vector{30, 0.376662, 30}, wall))material := pt.GlossyMaterial(pt.Color{}, 1.5, pt.Radians(30))mesh, err := pt.LoadOBJ("examples/gopher.obj", material)if err != nil {log.Fatalln("LoadOBJ error:", err)}mesh.SmoothNormals()scene.Add(mesh)camera := pt.LookAt(pt.Vector{8, 3, 0.5}, pt.Vector{-1, 2.5, 0.5}, pt.Vector{0, 1, 0}, 45)pt.IterativeRender("out%03d.png", 10, &scene, &camera, 2560/4, 1440/4, -1, 16, 4)}

上面這都簡潔的只有幾行的代碼運行後會輸出什麼結果?也許會讓你吃驚。不信的話,你可以運行一下,運行時方法是:

go run examples/gopher.go

輸出的結果是這樣的:

多麼漂亮的地鼠呀,這個地鼠可不是一般的地鼠,它是Go語言的吉祥物。幾句簡單的代碼就能產生這麼漂亮的圖案真是神奇吧。這寫代碼的作者是Michael Fogleman,除了這個地鼠外,下面這幾個圖片也是用Go語言繪製出來的,是不是有點不可思議?

Sponza

Suzanne

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.