0
def main():
    win=GraphWin('Test',400,400)
    line=Line(Point(50,50),Point(350,50))
    line.draw(win)
    win.getMouse()
    win.close()

结果是什么:

有谁知道为什么会这样?

我的期望:窗口是 400 x 400。第一个点应该是向右 50 个单位,向上 50 个单位。第二个点应该是向右 350 个单位和向上 50 个单位。这条线应该连接那些应该出现在窗口底部附近的点。

4

1 回答 1

0

我相信这是因为您期望 Zelle 图形绘制在与实际不同的象限中。听起来您希望位于左上象限,原点位于左下角,但实际上您位于右下象限,原点位于左上角。以下是对您的程序的轻微修改以定位您:

from graphics import *

win = GraphWin('Test', 400, 400)

Line(Point(5, 5), Point(400, 5)).draw(win)
Line(Point(5, 5), Point(5, 400)).draw(win)

line = Line(Point(50, 50), Point(350, 50))
line.draw(win)

win.getMouse()
win.close()

带注释的输出

在此处输入图像描述

然而,与其改变你的世界模型,你可以通过以下方式让 Zelle graphics 改变它的观点setCoords(xll, yll, xur, yur)

from graphics import *

win = GraphWin('Test', 400, 400)
win.setCoords(0, 0, 400, 400)

Line(Point(5, 5), Point(400, 5)).draw(win)
Line(Point(5, 5), Point(5, 400)).draw(win)

line = Line(Point(50, 50), Point(350, 50))
line.draw(win)

win.getMouse()
win.close()

未注释的输出

在此处输入图像描述

于 2017-01-07T06:32:24.540 回答