PyOpenGL學習筆記---畫線(繪制金剛石)
PyOpenGL繪制金剛石
代碼 `
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
import math
def drawLine():
glClearColor(0.0, 0.0, 0.0, 0.0)
glClear(GL_COLOR_BUFFER_BIT)
n = 18 # 頂點數
r = 0.5 # 半徑
pi = math.pi
angle = 2 * pi / (n)
x = []
y = []
for i in range(1, n + 1):
x.append(r * math.cos(i * angle))
y.append(r * math.sin(i * angle))
glColor3f(1.0, 0.0, 0.0) # 顏色設置
glLineWidth(2)
for i in range(n):
for j in range(i + 1, n):
glBegin(GL_LINES)
glVertex3f(x[i], y[i], 0.0)
glVertex3f(x[j], y[j], 0.0)
glEnd()
glFlush()
if __name__ == '__main__':
glutInit()
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA)
glutInitWindowSize(800, 800)
glutCreateWindow(b"Diamond")
glutDisplayFunc(drawLine)
glutMainLoop()
智能推薦
PyOpengl學習(三):繪制點、線、面(上)
今天我們來看一下在OpenGL中如何繪制點線面。 我們使用glBegin,和glEnd兩個函數進行所要繪制圖形的描述。繪制的內容要放在這兩個函數之間。 一,首先來了解一下OpenGl圖元的模式標識  ...
漢諾塔(Hanoi)c語言做法:漢諾塔(Hanoi)是必須用遞歸方法才能解決的經典問題。它來自于印度神話。上帝創造世界時作了三根金剛石柱子,在第一根柱子上從下往上按大小順序摞著64片黃金圓盤
漢諾塔(Hanoi)是必須用遞歸方法才能解決的經典問題。借助c桿將所有的圓盤移到b桿上,每次只能移一個,且小的盤子一定在大的盤子上面 它來自于印度神話。上帝創造世界時作了三根金剛石柱子,在第一根柱子上從下往上按大小順序摞著64片黃金圓盤,如圖所示。上帝命令婆羅門把圓盤從下面開始按大小順序重新擺放到第二根柱子上,并且規定,每次只能移動一個圓盤,在小圓盤上不能放大圓盤。有人預言說,這件事完成時宇宙會在...
Python 3學習筆記(17):PyOpenGL之組合螺釘
目的 組合螺帽、螺桿、螺紋成螺釘,可用箭頭鍵切換視角。 內容 把螺釘的三個部分在適當的位置畫出,組成螺釘。螺桿不用修改和移動,螺紋必須旋轉來吻合螺桿,螺帽需要旋轉和移動,并放在合適的位置。 代碼 ...
PyOpengl學習(一):環境搭建
一,安裝 安裝pyopengl很簡單,只需要用pip工具執行下面命令就行了 但是安裝過程中可能 會遇到這個的異常:error: Microsoft Visual C++ 10.0 is required 意思就是我們需要安裝對應的c++庫。折騰了很久終于找到了辦法,親測可行: 打開網站https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl 找到py...
猜你喜歡
Python 3學習筆記(13):PyOpenGL之正交投影
目的 1、建立金屬螺釘的模型(三個組成:螺帽、螺桿、螺紋) 2、創建一個正交投影立方體框架,可用箭頭鍵切換視角。 3、掌握OpenGL的頂點數組功能。 4、掌握OpenGL的繪制圖元函數。 5、 了解OpengGL鍵盤控制及回調函數glutSpecialFunc。 內容 1、用較小、較簡單的圖形生成一個較復雜的圖形。如建立一個建立金屬螺釘的模型(三個組成:螺帽、螺桿、螺紋) 2、開始構...
opencv學習筆記3:畫線,畫圓,方框,橢圓,文字
opencv學習筆記3:畫線,畫圓,方框,橢圓,文字 opencv學習筆記3:畫線,畫圓,方框,橢圓,文字 目標 參數解釋 Drawing Line 畫線 Drawing Rectangle 畫矩形 Drawing Circle 畫圓 Drawing Ellipse 畫橢圓 Drawing Polygon 畫多邊形 圖片上添加文字 畫圖結果顯示 Additional Resources 目標 1使...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...