Python编程:使用数学表达式绘制点

时间:2015-10-20 08:01:10

标签: python python-3.x math cartesian-coordinates

所以我需要能够在我已经编码的笛卡尔坐标系的图上绘制一个点。几何形状如下:(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单位。

1 个答案:

答案 0 :(得分: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)