#!/usr/bin/python3 # ==================================================================== # plot curve #1 # ==================================================================== import numpy as np import graphics as gr import draw_xy_axes as ax # -------------------------------------------------------------------- # ---- curve #1 # -------------------------------------------------------------------- def curve01(x): y = 1/(1+x**2) return y # -------------------------------------------------------------------- # ---- range function for floats # -------------------------------------------------------------------- def frange(start,end,inc): while start < end: yield start start += inc # -------------------------------------------------------------------- # ---- main # -------------------------------------------------------------------- if __name__ == '__main__': # ---- draw a point (small circle) using window coordinates def draw_point(x,y,color='red',size=4): p = gr.Circle(gr.Point(x,y),size) p.setFill(color) p.setOutline('black') p.draw(win) return p # ---- setup graphics window win = gr.GraphWin('Curve #1',801,801) win.setBackground("white") # ---- draw X,Y axes ax.draw_xy_axes(win) # ---- plot curve #1 # ---- X scale factor 35 offset 400 # ---- Y scale factor -300 offset 400 for x in range(-10,10): y = curve01(x) print(f'x={x:>6.2f} y={y:>6.2f} (raw values)') x = 400 + (i * 35) y = 400 + (y * -300) draw_point(x,y) # ---- pause program (click in window to continue) click = win.getMouse() win.close()