0

我试图在一个圆上画两条线,比如一个 X。因为它是一个 X,所以要找到(x,y)我只需将 sqrt(2)/2 乘以半径,然后(x,y)根据哪个角从原点添加或减去它它所在的圆圈。但是我不断收到 TypeError '错误是:第二个 arg 不能被强制转换为 int' 这就是我所拥有的:

#starting/ending points of the line
a1 = z - ((sqrt(2) / 2)*(r1))
b1 = w - ((sqrt(2) / 2)*(r1))
a2 = z + ((sqrt(2) / 2)*(r1))
b2 = w + ((sqrt(2) / 2)*(r1))
c1 = z - ((sqrt(2) / 2)*(r1))
d1 = w + ((sqrt(2) / 2)*(r1))
c2 = z + ((sqrt(2) / 2)*(r1))
d2 = w - ((sqrt(2) / 2)*(r1))
pic.addLine(black, a1, b1, a2, b2)
pic.addLine(black, c1, d1, c2, d2)

...其中z是 x 原点,w是 y 原点,r1是半径。我在这里做错了什么?这就是我得到的:

在此处输入图像描述

4

1 回答 1

2

通过使用sqrt()你最终得到浮点值,但你调用的方法只需要整数。int()在将值传递给之前调用它们pic.addLine()

pic.addLine(black, int(a1), int(b1), int(a2), int(b2))
pic.addLine(black, int(c1), int(d1), int(c2), int(d2))
于 2013-11-25T19:56:32.730 回答