In [4]:
var('y z')
Out[4]:
(y, z)
In [1]:
elipsoid(x,y,z,a,b,c) = x^2/a^2+y^2/b^2+z^2/c^2-1
In [2]:
torus(x,y,z,R,r) = (x^2+y^2+z^2+R^2-r^2)^2-4*R^2*(x^2+y^2)
In [3]:
def candelabra(x,y,z,deg,g,c0,ksi,zeta,delta,d,R,r,c1,eta):
	p1=elipsoid(x,y,z-x^2/5.0,deg,g,g)*elipsoid(y,x,z-y^2/5.0,deg,g,g)-c0
	p2=elipsoid(x-ksi,y,z-zeta+(x-ksi)^2/3.0,delta,d,d)*elipsoid(x-ksi,y,z-zeta+y^2/3.0,d,delta,d)*torus(x-ksi,y,z-zeta-eta,R,r)-c1
	p3=elipsoid(x+ksi,y,z-zeta+(x+ksi)^2/3.0,delta,d,d)*elipsoid(x+ksi,y,z-zeta+y^2/3.0,d,delta,d)*torus(x+ksi,y,z-zeta-eta,R,r)-c1
	p4=elipsoid(y-ksi,x,z-zeta+(y-ksi)^2/3.0,delta,d,d)*elipsoid(y-ksi,x,z-zeta+x^2/3.0,d,delta,d)*torus(y-ksi,x,z-zeta-eta,R,r)-c1
	p5=elipsoid(y+ksi,x,z-zeta+(y+ksi)^2/3.0,delta,d,d)*elipsoid(y+ksi,x,z-zeta+x^2/3.0,d,delta,d)*torus(y+ksi,x,z-zeta-eta,R,r)-c1
	return p1*p2*p3*p4*p5
In [8]:
implicit_plot3d(candelabra(x,y,z,5.0,0.5,1.0,5.05,5.0,1.5,0.2,1.8,0.2,40,-0.85),
                (x,-7.5,7.5),(y,-7.5,7.5),(z,-1,6),plot_points=[200,200,100],
                color='lemonchiffon',viewer='threejs',online=True,frame=False)
Out[8]:
In [ ]: