最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Pygame繪制圓環(huán)的示例代碼

 更新時間:2022年01月20日 08:37:28   作者:我的天才女友  
這篇文章主要介紹了利用Python中的Pygame模塊繪制一個彩色的圓環(huán),文中的示例代碼講解詳細,對我們學習Pygame有一定幫助,需要的可以參考一下

三角函數(shù)

如果我們以OP作為圓的半徑r,以o點作為圓的圓心,圓上的點的x坐標就是r * cos a ,y坐標就是 r * sin a。

python中提供math.cos() 和 math.sin(),要求參數(shù)為弧度。

弧度和角度的關系

PI代表180度,PI就是圓周率:3.1415926 535 897392 23846,python提供了角度和弧度的轉化

math.degress() 弧度轉角度

math.radiens() 角度轉弧度

a = math.cos(math.radians(90))

90度的橫坐標為0,但因為PI不是浮點小數(shù),導致運算不準確,是接近0的一個值。

基本包和事件捕捉

初始化窗口,配置圓心和半徑,添加了定時器便于控制繪制的速度

import sys, random, math, pygame
from pygame.locals import *

pygame.init()
screen = pygame.display.set_mode((600, 500))
pygame.display.set_caption("夢幻圓")
screen.fill((0, 0, 100))

pos_x = 300
pos_y = 250
radius = 200
angle = 360

# 定時器
mainClock = pygame.time.Clock()
while True:
? ? for event in pygame.event.get():
? ? ? ? if event.type == QUIT:
? ? ? ? ? ? pygame.quit()
? ? ? ? ? ? sys.exit()

? ? keys = pygame.key.get_pressed()
? ? if keys[K_ESCAPE]:
? ? ? ? pygame.quit()
? ? ? ? sys.exit()

主程序

角度不斷的加,如果超過360度則重新重1開始,隨機一個顏色,計算出這個角度上的大圓上的點,以這個點畫一個半徑為10的圓。   

angle += 1
? ? if angle >= 360:
? ? ? ? angle = 0

? ? r = random.randint(0, 255)
? ? g = random.randint(0, 255)
? ? b = random.randint(0, 255)
? ? color = r, g, b

? ? x = math.cos(math.radians(angle)) * radius
? ? y = math.sin(math.radians(angle)) * radius

? ? pos = (int(pos_x + x), int(pos_y + y))
? ? pygame.draw.circle(screen, color, pos, 10, 0)

? ? pygame.display.update()
? ? mainClock.tick(20)

全部代碼

import sys, random, math, pygame
from pygame.locals import *

pygame.init()
screen = pygame.display.set_mode((600, 500))
pygame.display.set_caption("夢幻圓")
screen.fill((0, 0, 100))

pos_x = 300
pos_y = 250
radius = 200
angle = 360

# 定時器
mainClock = pygame.time.Clock()

while True:
? ? for event in pygame.event.get():
? ? ? ? if event.type == QUIT:
? ? ? ? ? ? pygame.quit()
? ? ? ? ? ? sys.exit()

? ? keys = pygame.key.get_pressed()
? ? if keys[K_ESCAPE]:
? ? ? ? pygame.quit()
? ? ? ? sys.exit()

? ? angle += 1
? ? if angle >= 360:
? ? ? ? angle = 0

? ? r = random.randint(0, 255)
? ? g = random.randint(0, 255)
? ? b = random.randint(0, 255)
? ? color = r, g, b

? ? x = math.cos(math.radians(angle)) * radius
? ? y = math.sin(math.radians(angle)) * radius

? ? pos = (int(pos_x + x), int(pos_y + y))
? ? pygame.draw.circle(screen, color, pos, 10, 0)

? ? pygame.display.update()
? ? mainClock.tick(10)

到此這篇關于利用Pygame繪制圓環(huán)的示例代碼的文章就介紹到這了,更多相關Pygame繪制圓環(huán)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python中停止線程的幾種常用方法

    python中停止線程的幾種常用方法

    這篇文章主要介紹了python中停止線程的幾種常用方法,在Python中停止線程沒有直接方法,但可以通過標志變量、守護線程或拋出異常來實現(xiàn),文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-10-10
  • python 控制語句

    python 控制語句

    python控制語句和其它的語言的控制語句有些地方是不同的,python的一些哲學思想就體現(xiàn)在他的控制語句上
    2011-11-11
  • Python語言的12個基礎知識點小結

    Python語言的12個基礎知識點小結

    這篇文章主要介紹了Python語言的12個基礎知識點小結,包含正則表達式替換、遍歷目錄方法、列表按列排序、去重、字典排序等,需要的朋友可以參考下
    2014-07-07
  • python opencv實現(xiàn)切變換 不裁減圖片

    python opencv實現(xiàn)切變換 不裁減圖片

    這篇文章主要為大家詳細介紹了python opencv實現(xiàn)切變換,不裁減圖片,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 利用Python制作一個動物識別小程序

    利用Python制作一個動物識別小程序

    動物識別是計算機視覺和模式識別領域的重要研究方向,它涉及通過圖像或視頻數(shù)據(jù)自動識別和分類不同種類的動物,隨著數(shù)字圖像技術和機器學習方法的快速發(fā)展,動物識別在實際應用中具有廣泛的潛力,本文將給大家介紹如何基于Python制作一個動物識別小程序
    2023-10-10
  • pandas groupby + unstack的使用說明

    pandas groupby + unstack的使用說明

    這篇文章主要介紹了pandas groupby + unstack的使用說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • Python3讀取和寫入excel表格數(shù)據(jù)的示例代碼

    Python3讀取和寫入excel表格數(shù)據(jù)的示例代碼

    這篇文章主要介紹了Python3讀取和寫入excel表格數(shù)據(jù)的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • python使用matplotlib庫生成隨機漫步圖

    python使用matplotlib庫生成隨機漫步圖

    這篇文章主要為大家詳細介紹了使用Python的matplotlib庫生成隨機漫步圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • python刪除目錄的三種方法

    python刪除目錄的三種方法

    本文主要介紹了python刪除目錄的三種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • python比較兩個列表大小的方法

    python比較兩個列表大小的方法

    這篇文章主要介紹了python比較兩個列表大小的方法,涉及Python針對列表的相關操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07

最新評論

大悟县| 白城市| 铜陵市| 固安县| 天等县| 茶陵县| 青龙| 涟水县| 嘉义市| 丹寨县| 澄江县| 天门市| 三明市| 华亭县| 凤庆县| 江永县| 海伦市| 交城县| 建始县| 汉沽区| 虞城县| 本溪| 彭水| 武宣县| 通化县| 平江县| 府谷县| 松原市| 竹溪县| 湟源县| 象山县| 凤凰县| 呈贡县| 永善县| 岚皋县| 城步| 伊通| 红桥区| 区。| 老河口市| 崇礼县|