0
私が作成している円の半径は、先に作成した線の長さの1/4にする必要があります。円の長さを分割して半径として設定することはできません
win = GraphWin("Interactive Drawing",300,300)
win.setCoords(0,0,300,300)
##Create instruction to click the corners of the rectangle
instruction1 = Text(Point(104,10), "Click for lower left of rectangle")
instruction1.draw(win)
lowerLeft = win.getMouse()
instruction1.undraw()
instruction2 = Text(Point(100,10), "Click upper right of rectangle")
instruction2.draw(win)
upperRight = win.getMouse()
instruction2.undraw()
##Draw 2 triangles to form a multicolor rectangle from given points
rightX = upperRight.getX()
rightY = upperRight.getY()
leftX = lowerLeft.getX()
leftY = lowerLeft.getY()
leftZ = rightY - leftY
leftB = leftY + leftZ
rightZ = rightY - leftZ
point1 = Point(leftX,leftY)
point2 = Point(leftX,leftB)
point3 = Point(rightX,rightY)
point4 = Point(rightX,rightZ)
leftTriangle = Polygon(point1,point2,point3)
leftTriangle.draw(win)
leftTriangle.setFill("Purple")
rightTriangle = Polygon(point1,point3,point4)
rightTriangle.draw(win)
rightTriangle.setFill("Green")
##Get Circle point from mouse and draw 4 from point
color = Entry(Point(90,30),19)
color.setText("Enter Color Name Here")
color.draw(win)
instruction3 = Text(Point(114,10), "Click location after entering color")
instruction3.draw(win)
circleClick = win.getMouse()
instruction3.undraw()
circleX = circleClick.getX
circleY = circleClick.getY
circleCenter = Point(circleX,circleY)
radius = ((rightY - leftY)/4)
circle1 = Circle(circleCenter, radius)
circle1.draw(win)
circle2 = Circle(300 - circleClick.getX, 300 - circleClick.getY,radius)
circle2.draw(win)
私はプログラムを実行すると、私は長方形を作ることができていますが、円の中心であることをマウスのクリックポイントを求め、それを描画しようとすると、私はエラー
File "C:/Users/Ian/Documents/Python Projects/InputDrawing.py", line 68, in main
circle1 = Circle(circleCenter, radius)
File "C:\Users\Ian\AppData\Local\Programs\Python\Python35-32\lib\graphics.py", line 599, in __init__
p1 = Point(center.x-radius, center.y-radius)
TypeError: unsupported operand type(s) for -: 'method' and 'float'
を取得
サークルの半径を得るために一緒に分けることができるものに変更する方法がわかりません。どんな助け? (これが何かを意味する場合)
私は実際にあなたが作業しているライブラリに精通していないので、わかりません。 CircleにはsetFill()メソッドがありますか?それは三角形の色を設定するために使用するように見えます。 – vtl
ああ申し訳ありませんが、私はそれを考え出したので、コメントを削除しました。 setFill()の内部をsetFill(color.getText)に変更する必要があります) – LufiaCloud