contours2mesh.py 559 B

1234567891011121314151617181920
  1. """Form a surface mesh by joining contour lines"""
  2. from vedo import Circle, Ribbon, merge, show
  3. cs = []
  4. for i in range(-10, 10):
  5. r = 10 / (i * i + 10)
  6. c = Circle(r=r).rotate_y(i*2).z(i/10).x(i/20)
  7. c.linewidth(3).linecolor('blue5')
  8. cs.append(c)
  9. # create the mesh by merging the ribbon strips
  10. rbs = []
  11. for i in range(len(cs) - 1):
  12. rb = Ribbon(cs[i], cs[i+1], closed=True, res=(150,5))
  13. rbs.append(rb)
  14. mesh = merge(rbs).clean().cap().color('limegreen')
  15. cs.append(__doc__)
  16. show([cs, mesh], N=2, axes=1, elevation=-40, bg2='lb').close()