点与线¶
画点¶
可以使用draw_point()来画一个点。点的大小由线宽(画笔尺寸)决定。如果你需要画一个像素,那么应该使用put_pixel()。
画线¶
你可以使用line()来画一个线段
相对于当前位置画线¶
在Easy Graphics中,每个绘图对象(包括绘图窗口)都保存着一个”当前绘图位置”。可以使用该位置来进行相对绘画。
相关的函数有:
| get_drawing_x(image) | 获取当前绘图位置(x,y)的x坐标值 | 
| get_drawing_y(image) | 获取当前绘图位置(x,y)的y坐标值 | 
| get_drawing_pos(image) | 获取当前绘图位置(x,y)的坐标值 | 
| move_to(x, y, image) | 设置当前绘图位置到(x,y)。 | 
| move_rel(dx, dy, image) | 将绘图位置在x轴方向移动dx,在y轴方向移动dy。 | 
| line_to(x, y, image) | 从当前绘图位置到(x,y)画线,然后将当前绘图位置更新为(x,y) | 
| line_rel(dx, dy, image) | 从当前绘图位置(x,y)到(x+dx,y+dy)画线,然后将当前绘图位置更新为(x+dx,y+dy)。 | 
下面的程序使用当前绘图位置画了一条虚线。
from easygraphics import *
def main():
    init_graph(400, 100)
    move_to(50, 50)
    for i in range(10):
        line_rel(10, 0)
        move_rel(20, 0)
    pause()
    close_graph()
easy_run(main)
近似绘制函数曲线¶
有时我们需要画多条依次首尾相连的线段。
例如,要绘制函数f(x)=sin(x)在区间[-3,3]上的函数曲线,我们可以通过多条连续线段来进行近似绘制。
- 在数轴上将[-3,3]n等分,获得n+1个在[-3,3]上等距分布的值:x0,x1,x2,x3,……,xn。其中x0=-3,xn=3。
- 计算函数值f(x0),f(x1),f(x2),f(x3), …, f(xn)。
- 绘制n条线段:(x0,f(x0))到(x1,f(x1))、(x1,f(x1))到(x2,f(x2))、……、(xn-1,f(xn-1))到(xn,f(xn))。
- 最终的结果就是我们需要的近似曲线。
显然,n越大,近似就约精确。当n很大时,为了减少不必要的内存开销,我们最好是逐一计算各线段的端点,边计算边绘制。
下面的程序使用上述方法绘制[-3,3]区间上的sin(x)曲线。
from easygraphics import *
import math as m
def main():
    init_graph(600, 400)
    translate(300, 200)  # move origin to the center
    scale(100, -100)  # zoom each axis 100 times, and make y-axis grow from bottom to top.
    x = -3
    delta = 0.01
    move_to(x, m.sin(x))
    while x <= 3:
        line_to(x, m.sin(x))
        x = x + delta
    pause()
    close_graph()
easy_run(main)