#!/usr/bin/env python # coding: utf-8 # In[1]: from k3d import K3D import numpy as np from ipywidgets import interact, interactive, fixed import ipywidgets as widgets import time plot = K3D() T = 1.618033988749895 from numpy import sin,cos,pi r = 4.77 zmin,zmax = -r,r xmin,xmax = -r,r ymin,ymax = -r,r Nx,Ny,Nz = 77,77,77 x = np.linspace(xmin,xmax,Nx) y = np.linspace(ymin,ymax,Ny) z = np.linspace(zmin,zmax,Nz) x,y,z = np.meshgrid(x,y,z,indexing='ij') p = 2 - (cos(x + T*y) + cos(x - T*y) + cos(y + T*z) + cos(y - T*z) + cos(z - T*x) + cos(z + T*x)) iso = K3D.marching_cubes(p,xmin=xmin,xmax=xmax,ymin=ymin,ymax=ymax, zmin=zmin, zmax=zmax, level=0.0) plot += iso @interact(x=widgets.FloatSlider(value=0,min=-3,max=4,step=0.01)) def g(x): iso.level=x plot.display() # In[ ]: # In[ ]: