1. 程式人生 > >利用python的turtle庫繪製光的色散實驗示意圖

利用python的turtle庫繪製光的色散實驗示意圖

點選此處檢視視訊
1
import turtle as t 2 3 def tm(a,b): 4 t.seth(a) 5 t.fd(b) 6 #轉向,移動 7 def tmb(a,b): 8 t.seth(a) 9 t.fd(b) 10 t.seth(a+180) 11 t.fd(b) 12 #轉向,移動,返回 13 def tmbc(a,b,cl): 14 t.pencolor(cl) 15 tmb(a,b) 16 #選取畫筆顏色,轉向,移動,返回 17 def
lp(a,b,c,d,cl): 18 t.pencolor(cl) 19 tm(a,b) 20 t.pd() 21 tmb(c,d) 22 t.pu() 23 tm(a+180,b) 24 #出射光線 25 def lp2(a,b,c,d,e,cl): 26 lp(a,b,c,d,cl) 27 lp(a,b,e,d,cl) 28 #修飾未上色的間隙 29 t.screensize(800,600,'grey') 30 t.width(3) 31 tm(300,175) 32 tm(180,175) 33
tm(60,175) 34 tm(240,60) 35 #三稜鏡 36 t.pencolor('white') 37 t.width(6) 38 tmb(180,100) 39 #入射白光 40 t.width(2) 41 tmbc(0,60,'red') 42 tmbc(-3,61,'orange') 43 tmbc(-6,63,'yellow') 44 tmbc(-9,66,'green') 45 tmbc(-12,70,'blue') 46 tmbc(-15,75,'cyan') 47 tmbc(-18,80,'purple') 48 #三稜鏡內色散 49 t.width(4)
50 t.pu() 51 lp2(0,60,-2,60.5,-3.6,'red') 52 lp2(-3,61,-5.2,59.5,-7.8,'orange') 53 lp2(-6,63,-8.4,58,-10,'yellow') 54 lp2(-9,66,-11.6,56,-13.8,'green') 55 lp2(-12,70,-14.8,53.5,-16.5,'blue') 56 lp2(-15,75,-18,51,-19.7,'cyan') 57 lp2(-18,80,-21.2,48.5,-22.8,'purple') 58 #出射三稜鏡色散 59 t.pencolor('black') 60 t.pu() 61 t.goto(-100,250) 62 t.width(3) 63 t.pd() 64 tm(225,10) 65 tm(0,30) 66 tm(225,42) 67 tm(0,30) 68 tm(-90,16) 69 tm(180,15) 70 tmb(90,16) 71 tm(180,15) 72 tmb(90,16) 73 tm(-90,20) 74 tm(0,30) 75 tmb(90,5) 76 #“色” 77 t.pu() 78 t.goto(-70,250) 79 t.pd() 80 tm(0,10) 81 tmb(90,10) 82 tmb(-90,10) 83 tm(0,15) 84 tmb(90,10) 85 tmb(0,10) 86 tm(-90,10) 87 tmb(0,10) 88 tm(-180,15) 89 tmb(-180,10) 90 t.pu() 91 tm(-90,7) 92 t.pd() 93 tmb(-90,45) 94 tm(0,15) 95 tm(-90,15) 96 tmb(180,15) 97 tm(-90,15) 98 tmb(180,15) 99 tm(-90,15) 100 t.pu() 101 t.goto(-25,250) 102 t.pd() 103 tmb(45,11.2) 104 tmb(-135,10) 105 tm(0,30) 106 tmb(0,8) 107 tm(-120,35) 108 tmb(120,30) 109 tmb(-60,37) 110 tm(-120,37) 111 #“散”


趙恆啟  物理院  新能源材料與器件    20171206023

李    尚  物理院  物 理 學 類               20171201088