numpy2volume1.py 622 B

12345678910111213141516171819
  1. """Create a Volume from a numpy.mgrid"""
  2. import numpy as np
  3. from vedo import Volume, Text2D, show
  4. X, Y, Z = np.mgrid[:30, :30, :30]
  5. # Distance from the center at (15, 15, 15)
  6. scalar_field = ((X-15)**2 + (Y-15)**2 + (Z-15)**2) /225
  7. vol = Volume(scalar_field).crop(0.3)
  8. vol.add_scalarbar3d()
  9. print('numpy array from Volume:', vol.tonumpy().shape)
  10. lego = vol.legosurface(vmin=1.1, vmax=2)
  11. lego.cmap('hot_r', vmin=1.1, vmax=2).add_scalarbar3d()
  12. text1 = Text2D(__doc__, c='blue')
  13. text2 = Text2D('..and its lego isosurface representation\nvmin=1, vmax=2', c='dr')
  14. show([(vol,text1), (lego,text2)], N=2, azimuth=10).close()