python实现3d建模工具_Python实现3D建模工具
一、課程介紹
1. 內容簡介
本課程將基于OpenGL實現一般CAD軟件都會具備的基礎功能:渲染顯示3D空間的畫面并可以操作3D空間中物體。
2. 課程知識點
本課程項目完成過程中,我們將學習:OpenGL坐標系的轉換
實現簡單的用戶輸入事件回調機制
設計模式中組合模式的使用
基于包圍盒的碰撞檢測
3. 課程來源
本課程核心部分來自《500 lines or less》項目,作者是 Erick,Erick從事電子游戲,3D特效軟件,CAD軟件的開發。課程內容在原文檔基礎上做了許多修改,增加了部分原理介紹,步驟的拆解分析及源代碼注釋。
二、實驗說明
1. 背景介紹
人類是那么得有創造力,我們創造、發明、設計、生產了一切大自然沒有直接給予我們的東西使我們的生活變得更輕松更美好。在過去,我們只能在圖紙上進
行產品的創造與設計,而現在,有了計算機的幫助,有了CAD(計算機輔助設計)軟件,大大節省了我們的精力與時間成本,使我們的工作更高效,能夠擁有更多
時間去思考設計本身。
那么CAD軟件是如何寫出來的呢?CAD軟件種類繁多,但它們有一個共同的特點,就是對三維世界的建模,對三維世界中物體的控制,對三維設計的展示。
這,就是本課程要實現的內容了。
2. 實驗工具
渲染流程決定了設計是如何呈現在屏幕上的,我們希望程序能為我們處理復雜的物體,同時我們也希望代碼的復雜度能夠盡可能得低。這些我們該如何做到呢?
在渲染畫面之前,我們首先需要新建一個窗口,并且我們不希望直接操作圖形驅動來生成畫面,所以我們選擇跨平臺圖形接口OpenGL與OpenGL的工具庫GLUT來幫助我們管理窗口和渲染畫面。
關于OpenGL
OpenGL是開發跨平臺圖形應用的接口標準,當前的OpenGL編程分為兩類:現代OpenGL與傳統OpenGL。
傳統OpenGL采用固定管線的形式。通過對一系列全局變量的賦值,你可以啟動或者禁止一些渲染流水線上的工作,比如光照,著色,隱面剔除等,之后自動地根據流水線進行畫面渲染,固定管線的編程形式現在已經不推薦使用了。
現代OpenGL采用可編程管線的形式,我們只需編寫稱作shaders的小程序運行即可。可編程管線已經替代了固定管線。
但是在本課程中,我們仍然使用傳統OpenGL,因為固定管線能夠減少代碼量,并且要求的線性代數知識也更少。
關于GLUT
在本課程中,GLUT負責創建窗口與注冊用戶接口的回調函數(處理鍵盤輸入、鼠標輸入等),如果需要一個功能更全面的窗口管理庫,推薦使用GTK或者QT。
三、項目效果圖
本項目的詳細教程和代碼詳解,可在實驗樓中查看并在線完成,立即【開始實驗】
更多Python經典項目:Python全部 - 課程
總結
以上是生活随笔為你收集整理的python实现3d建模工具_Python实现3D建模工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java基础 - 游戏项目 - 坦克大战
- 下一篇: IDEA远程调试Java代码