沿着圆周找到点的坐标

时间:2018-02-12 23:21:35

标签: python geometry 2d computational-geometry

我正在尝试制作一个时钟,我正在尝试根据当前时间绘制第二,分钟和时针,从中获取

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

或者我是否必须根据时钟的每个季度使用角度进行解决?

感谢

1 个答案:

答案 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()