Advertisement
Guest User

Untitled

a guest
May 12th, 2021
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. import matplotlib.pyplot as plt
  2.  
  3. def segments(p0, p1, num_steps):
  4. """return some number of evenly spaced points beetween p0 and p1"""
  5. def interpolate(a,b,f):
  6. return a + (b-a)*f
  7. def interpolate_2d(p0, p1, f):
  8. return (interpolate(p0[0],p1[0], f), interpolate(p0[1], p1[1], f))
  9. return [interpolate_2d(p0, p1, i/num_steps) for i in range(num_steps)]
  10.  
  11. corners = [(0,3), (1,5), (3,3), (2,1)]
  12.  
  13. range_points = segments(corners[0], corners[1], 10) + segments(corners[2], corners[3], 10)
  14. row_points = segments(corners[1], corners[2], 30) + segments(corners[3], corners[0], 30)
  15.  
  16. fig, axs = plt.subplots(1,1, figsize=(10,10))
  17. axs.plot([i[0] for i in corners], [i[1] for i in corners], 'o')
  18. axs.plot([i[0] for i in range_points], [i[1] for i in range_points], 'o')
  19. axs.plot([i[0] for i in row_points], [i[1] for i in row_points], 'o')
  20. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement