我试图在一个圆上画两条线,就像一个 X。因为它是一个 X,为了找到 (x,y)
我只需将 sqrt(2)/2 乘以半径,然后根据它所在的圆的角从 (x,y)
原点添加或减去它。但是我不断收到 TypeError '错误是:第二个参数不能是强制转换为 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 是半径。 我在这里做错了什么?这就是我得到的:
最佳答案
通过使用sqrt()
,您最终会得到浮点值,但您调用的方法只需要整数。在将值传递给 pic.addLine()
之前,对这些值调用 int()
:
pic.addLine(black, int(a1), int(b1), int(a2), int(b2))
pic.addLine(black, int(c1), int(d1), int(c2), int(d2))
关于java - Jython 中的类型错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20021574/