我正在尝试制作一个时钟,我正在尝试根据当前时间绘制第二,分钟和时针,从中获取
datetime.datetime.now()
当您拥有以下内容时,是否存在查找圆圈坐标的算法:
半径,
周长
和周长(采用以下方法计算:)
circumference = math.pi * (2 * radius)
secs = 10 # for example
secs /= 60 # gets fraction of clock face taken up i.e. for hours I would use /24
secs *= circumference
或者我是否必须根据时钟的每个季度使用角度进行解决?
感谢
答案 0 :(得分:1)
从一个角度更好地计算点坐标;那么你需要添加圆心位置的画布坐标。
x = radius * math.cos(angle) + center_x
y = radius * math.sin(angle) + center_y
此处的示例显示了圆周上的移动点:http://py3.codeskulptor.org/#user301_zoPm59Qeb1_1.py
import simplegui
import math
radius = 50
offset = 0
def draw(canvas):
global offset
canvas.draw_circle([100,100], radius, 2, "Red")
offset = (offset + 1) % 12
for t in range(offset, 360+offset, 12):
angle = t * math.pi / 180
canvas.draw_circle([radius * math.cos(angle) + 100, radius * math.sin(angle) + 100], 2, 2, 'yellow')
frame = simplegui.create_frame("Home", 200, 200)
frame.set_draw_handler(draw)
frame.start()