watch

#coding: utf-8
'''
本程式可以在 Python2 與 Python3 環境執行
'''
import visual, math
import time
time=time.strftime('%I-%M-%S',time.localtime(time.time()))
time=time.split('-')
print(time)

visual.scene.autoscale = True
hr,min,sec=float(time[0]),float(time[1]),float(time[2])
i=0
pi=3.14159
#box = visual.box( pos=[0,0,0], width=1, length=10, height=0.5 )
#arrow=visual.arrow(pos=(0,0,1), axis=(0,1,0), shaftwidth=1)
sec=sec*6*pi/180.
secarrow=visual.arrow(pos=(0,0,0),axis=(math.sin(sec),math.cos(sec),0),color=visual.color.red,shaftwidth=1)
min=(min+sec/60.)*6*pi/180.
minarrow=visual.arrow(pos=(0,0,0),axis=(math.sin(min),math.cos(min),0),color=visual.color.blue,shaftwidth=1)
hr=(hr+(min+sec)/3600.)*30*pi/180.
hrarrow=visual.arrow(pos=(0,0,0),axis=(math.sin(hr),math.cos(hr),0),color=visual.color.yellow,shaftwidth=1)
ring=visual.ring(pos=(0,0,0), axis=(0,0,1), radius=1.2, thickness=0.1,color=(0,1,1))
visual.label(pos=(1,1,0), text='This is a watch')
while(1):
    secarrow.axis=(math.sin(sec+i*6*pi/180.),math.cos(sec+i*6*pi/180.),0)
    minarrow.axis=(math.sin(min+(i/60.)*6.*pi/180.),math.cos(min+(i/60.)*6.*pi/180.),0)
    hrarrow.axis=(math.sin(hr+(i/3600.)*30.*pi/180.),math.cos(hr+(i/3600.)*30.*pi/180.),0)
    i=i+1
    visual.rate(1)

0 意見:

張貼留言