In [3]:
var('y z')
Out[3]:
(y, z)
In [1]:
R=1
r=0.25
In [2]:
def rotacija_x((x,y,z),kut):
	return (x,y*cos(kut)-z*sin(kut),y*sin(kut)+z*cos(kut))
In [4]:
def rotacija_y((x,y,z),kut):
	return (x*cos(kut)-z*sin(kut),y,x*sin(kut)+z*cos(kut))
In [5]:
def rotacija_z((x,y,z),kut):
	return (x*cos(kut)-y*sin(kut),x*sin(kut)+y*cos(kut),z)
In [20]:
def torus((x,y,z),R,r):
	return (x^2+y^2+z^2+R^2-r^2)^2-4*R^2*(x^2+y^2)
In [6]:
def dvostruki_torus((x,y,z),R,r,A):
	d1=((x-1.25)^2+y^2+z^2+R^2-r^2)^2-4*R^2*((x-1.25)^2+y^2)
	d2=((x+1.25)^2+y^2+z^2+R^2-r^2)^2-4*R^2*((x+1.25)^2+y^2)
	d=d1*d2-A
	return d
In [7]:
def trostruki_torus((x,y,z),R,r,A):
	t1=((x-1.5)^2+y^2+z^2+R^2-r^2)^2-4*R^2*((x-1.5)^2+y^2)
	t2=((x-1.5*cos(2*pi/3))^2+(y-1.5*sin(2*pi/3))^2+z^2+R^2-r^2)^2-4*R^2*((x-1.5*cos(2*pi/3))^2+(y-1.5*sin(2*pi/3))^2)
	t3=((x-1.5*cos(4*pi/3))^2+(y-1.5*sin(4*pi/3))^2+z^2+R^2-r^2)^2-4*R^2*((x-1.5*cos(4*pi/3))^2+(y-1.5*sin(4*pi/3))^2)
	t=t1*t2*t3-A
	return t
In [17]:
podaci=rotacija_z(rotacija_x(rotacija_y((x,y,z),pi/2),pi/6),pi/2)
podaci=(podaci[0]+4,podaci[1],podaci[2])
In [18]:
podaci2=rotacija_z(rotacija_y(rotacija_x((x,y,z),pi/2),-pi/3),-33*pi/180)
podaci2=(podaci2[0]+3.3,podaci2[1]-1.3,podaci2[2])
In [19]:
podaci3=rotacija_z(rotacija_x((x,y,z),pi/2),-33*pi/180)
podaci3=(podaci3[0]-3.3,podaci3[1]+1.3,podaci3[2])
In [21]:
slika1=implicit_plot3d(trostruki_torus((x,y,z),R,r,10),(x,-6,6),(y,-6,6),(z,-6,6),plot_points=150,color='lemonchiffon')
slika2=implicit_plot3d(trostruki_torus(podaci,R,r,10),(x,-6,6),(y,-6,6),(z,-6,6),plot_points=150,color='lemonchiffon')
slika3=implicit_plot3d(dvostruki_torus(podaci2,R,r,2),(x,-6,6),(y,-6,6),(z,-6,6),plot_points=150,color='lemonchiffon')
slika4=implicit_plot3d(dvostruki_torus(podaci3,R,r,2),(x,-6,6),(y,-6,6),(z,-6,6),plot_points=150,color='lemonchiffon')
slika5=implicit_plot3d(torus((x,y,z-1.4),4.8,0.2),(x,-6,6),(y,-6,6),(z,-6,6),plot_points=150,color='lemonchiffon')
slika6=implicit_plot3d(torus((x,y,z+1.4),4.8,0.2),(x,-6,6),(y,-6,6),(z,-6,6),plot_points=150,color='lemonchiffon')
(slika1+slika2+slika3+slika4+slika5+slika6).show(viewer='threejs',online=True,frame=False)
In [ ]: