0

所以我需要能够在我已经编码的笛卡尔坐标系制作的图表上绘制一个点。几何形状是这样的:(0,0) 位于窗口的左上角,当它向右移动时,x 增加,当它向下移动时,y 增加,所以右下角将是 (800, 600)。

我的笛卡尔 (0,0) 实际上在点 (400, 300) 上,这就是我希望我的图表对齐的地方。

我获取输入、将其转换为表达式并使用小矩形点绘制这些点的代码是

expression = input("Enter a mathematical 
for x in range(0, 800):
    y = eval(expression)
    rect(x, y, 2, 2)

我的问题是:代码需要能够正确读取和绘制所有正常的数学表达式,例如 x、x^2、x^3 等,但是在我绘制的笛卡尔平面上,这些值实际上都是正数,因为由图形库创建的窗口奇怪的象限系统。

当我的程序开始绘制并映射所有这些坐标时,我没有得到正确的绘图。

有人可以阐明我在实际转换这些图形坐标以匹配我的笛卡尔平面坐标方面应该做什么吗?

注意我的笛卡尔平面的每 30 个图形units = 1 tick单元。

4

1 回答 1

1

如果您的问题是我认为的问题,请尝试以下代码。

expression = input("Enter a mathematical 
for x in range(0, 800):
    x_val = x-400
    y_val = eval(expression(x_val))
    y = -y_val+300
    rect(x, y, 2, 2)
于 2015-10-20T08:32:43.450 回答