【Python基礎】1.4.7 Turtle例項——用Python作畫之彩虹
語言:Python
IDE:Python.IDE
需求
做出彩虹效果顏色空間
RGB模型:光的三原色,共同決定色相
HSB/HSV模型:H色彩,S深淺,B飽和度,H決定色相
需要將HSB模型轉換為RGB模型程式碼段
from turtle import *
def HSB2RGB(hues):
hues = hues * 3.59 #100轉成359範圍
rgb=[0.0,0.0,0.0]
i = int(hues/60)%6
f = hues/60 -i
if i == 0:
rgb[0] = 1; rgb[1] = f; rgb[2] = 0
elif i == 1:
rgb[0] = 1-f; rgb[1] = 1; rgb[2] = 0
elif i == 2:
rgb[0] = 0; rgb[1] = 1; rgb[2] = f
elif i == 3:
rgb[0] = 0; rgb[1] = 1-f; rgb[2] = 1
elif i == 4:
rgb[0] = f; rgb[1] = 0; rgb[2] = 1
elif i == 5:
rgb[0] = 1; rgb[1] = 0; rgb[2] = 1-f
return rgb
def rainbow():
hues = 0.0
color(1,0,0)
#繪製彩虹
hideturtle()
speed(100)
pensize(3)
penup()
goto(-400,-300)
pendown()
right(110)
for i in range (100):
circle(1000)
right(0.13)
hues = hues + 1
rgb = HSB2RGB(hues)
color(rgb[0],rgb[1],rgb[2 ])
penup()
def main():
setup(800, 600, 0, 0)
bgcolor((0.8, 0.8, 1.0))
tracer(False)
rainbow()
#輸出文字
tracer(False)
goto(100,-100)
pendown()
color("red")
write("Rainbow",align="center",
font=("Script MT Bold", 80, "bold"))
tracer(True)
mainloop()
if __name__ == "__main__":
main()
- 預覽輸出結果
相關推薦
【Python基礎】1.4.7 Turtle例項——用Python作畫之彩虹
語言:Python IDE:Python.IDE 需求 做出彩虹效果 顏色空間 RGB模型:光的三原色,共同決定色相 HSB/HSV模型:H色彩,S深淺,B飽和度,H決定色相 需要將HS
【Python基礎】1.4.5 Turtle例項——用Python實現時鐘顯示
語言:Python IDE:Python.IDE 編寫時鐘程式,要求根據時間動態更新 程式碼思路 需求:5個Turtle物件, 1個繪製外表盤+3個模擬表上針+1個輸出文字 Step1:建立Turtle物件並初始化 Step2:靜態錶盤繪製
【重溫基礎】1.語法和資料型別
最近開始把精力放在重新複習JavaScript的基礎知識上面,不再太追求各種花枝招展的前端框架,框架再多,適合實際專案才是最重要。 上星期在掘金髮布了幾篇文章,其中最大塊算是 【複習資料】ES6/ES7/ES8/ES9資料整理(個人整理),也是讓我好好把這些規範複習了一遍,雖然不是完全的原創,而是自己的一些複
【Swift基礎】Swift 4.0學習筆記
The Swift Programming Language 4.0 中文版學習筆記 1 1. 基礎部分 註釋 巢狀註釋: /* A /* B */ / 常量和變數 常量和變數名可以使用Unicode字元來命名,但不能包含數學符號,箭
【AI基礎】python:openCV——處理鼠標事件(1)
python:opencv 處理鼠標 一、用戶通過鼠標對圖像視窗最常見的操作有: 左鍵單擊按下 左鍵單擊擡起 左鍵按下拖動 鼠標指針位置移動 二、單次單擊操作響應事件及順序 Opencv中setMouseCallback()創建了一個鼠標回調函數,每次在圖像上單擊鼠標左鍵再擡起的過程,
【AI基礎】python:openCV——圖像處理(1)
python python:openCV OpenCV圖像的基本操作 :使用包cv2,numpy import cv2 import numpy as np img = cv2.imread(‘1.jpg‘) cv2.imshow(‘image‘,img) k = cv2.waitKey(0) "
【AI基礎】python:openCV——圖像算術運算(1)
圖像算術運算圖像算術運算 1.圖像加法使用cv2.add()將兩幅圖像進行加法運算,也可以直接使用numpy,res=img1+img2.兩幅圖像的大小,類型必須一致,或者第二個圖像可以是一個簡單的標量值。openCV的加法是一種飽和操作,而numpy的加法是一種模操作。OpenCV的結果會更好 import
【MySQL基礎】CentOS 7.4 RPM方式安裝MySQL 5.7.19
bae tar -xvf rpm -e create 3.3 general upd tst 版本 1、基本環境準備 操作系統:CentOS 7.4 內核版本3.10..0-693,可使用uname -a命令查看Oracle JDK 1.8_171(建議使用Oracle J
【日常學習筆記】2019/1/(4,7)(SSM再熟悉與網頁傳值)
學生管理系統(SSM簡易版)總結 可以用來再次熟悉SSM https://www.jianshu.com/p/6a594fbea51d 頁面傳值 示例:點選a頁面的p標籤,將p標籤內的學號傳遞到b頁面,之後b頁面根據得到的值,再進行ajax資料請求,顯示此學號的詳情。 a
【python基礎】python基礎3+4(列表,元組字串,字典)
一.python基礎3 【列表】 1.1布林值和控制 布林值分為True和False 空值是None,不可以當成0 1.2列表 '''列表''' list=[] #列表組合 list1=[1,2,3] list2=[4,5,6] list3=list1+lis
【HTML基礎】語法1
ack close 兩個 log 默認 scroll blank 回到頂部 天都 從今天開始學習一些前端的知識,從HTML開始,爭取每天都積累一點。 什麽是HTML? HTML(HyperText Markup Language,超文本標記語言),所謂超文本就是指
【AI基礎】python:openCV——圖像處理(2)
getTrackbarPos圖像處理練習 制作一個滑動條調色板,使用函數cv2.getTrackbarPos();cv2.creatTrackbar() import cv2 import numpy as np def nothing(x): pass img = np.zeros((300,5
【AI基礎】python:openCV——圖像算術運算(2):按位運算
按位運算 openCV 按位運算 按位操作有:AND,OR,NOT,XOR 等。當我們提取圖像的 一部分,選擇非矩形 ROI 時這些操作會很有用,常用於Logo 投射。 本節操作思路:通過 threshold 函數將圖片 固定閾值二值化,定義:圖像的二值化,就是將圖像上的像素點的灰度值設置為0或25
【python基礎】--列表相關基礎知識
PE 刪除 結果 使用 查找 方法 從大到小 類型 pen 1.定義列表 a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘]索引(下標)都是從0開始
【Python基礎】流程控制-break及continue使用及while..else的使用
break continue while..else ‘‘‘ break 用於結束一個完整的循環,跳出循環體執行循環後面的語句 continue 用於跳出本次循環,但繼續下一個循環 ‘‘‘ ‘‘‘ continue的用法 打印1-10的數字,3除外 ‘‘‘ # count
【Python基礎】流程控制-while循環
while#while循環 ‘‘‘ while 條件判斷: 滿足條件執行的代碼 ... 條件判斷的根本是True和False的判斷 True才會執行 False不會執行 通過一下方法來打印條件是True或者False a = 10 b = 20 pr
【Python基礎】格式化打印
格式化打印‘‘‘ 1、能夠很規範的打印出想要的內容 2、雙引號內沒有辦法放變量 ‘‘‘ ## 格式化輸入 # %s 輸入任意扥內容都不會報錯因為全部當做str來處理 # %d 只能輸入數字 #案例一 name = input("Name: ") age = input("Age: ") hos
【Python基礎】流程控制-if..else
if..else‘‘‘ 基本的使用 if 條件: 滿足條件執行的代碼 else: 不滿足條件執行的代碼 ‘‘‘ # age = input("Please input Age: ") # age = int(age) # ‘‘‘ # 從input得出的結果默認是str,str格式不能被<
【Python基礎】字符編碼ASCII-GBK-Unicode-UTF-8之間的關系
精準 應該 寫入 歷程 UC tran 執行 文件 總結 字符編碼 由於計算機只識別0和1,為了使計算機能夠支持文字和字母等符號,方便實用操作計算機 於是字符編碼應運而生,旨在解決符號和人類語言與計算機0和1建立起一種對應關系 據說不理解字符編碼可能是程序員一輩子的遺憾,拿
【python基礎】集合類型
linux code 課程 xxd hone 插入元素 close 1.3 格式 集合類型: 作用: --> 關系運算(交集,並集,差集) --> 去重(有局限性) 定義方法:set() linuxers = {1,1.1,‘a‘,(1,2