Reputation: 11
I try to plot a gyroid surface in sage which is defined implicitly. However, I get reflections of the light source on my surface which do not look very good. How can I change light settings for the 3d plots?
I tried to set different texture properties for my surface, but the changes showed no result. I also tried to set the light source but also without any resulting changes.
x, y, z = var('x,y,z')
def phi_g(x,y,z):
X=x+pi/2
Y=y+pi/2
Z=z+pi/2
return sin(X)*cos(Y)+sin(Y)*cos(Z)+sin(Z)*cos(X)
G1=implicit_plot3d(phi_g(x,y,z)==0.02, (x,0,2*pi), (y,0,2*pi), (z,0,2*pi),color='blue', frame=False, plot_points=80)
G2=implicit_plot3d(phi_g(x,y,z)==-0.02, (x,0,2*pi), (y,0,2*pi), (z,0,2*pi),color='red', frame=False, plot_points=80)
C=cube(center=(pi, pi, pi), size=2*pi, color='grey', opacity=0.1)
G=G1+G2+C
plot_G=G.plot()
plot_G.save('g.png',figsize=20,zoom=1.27)
I would like to have the output without any reflections of the light source on the surface.
Upvotes: 1
Views: 43
Reputation: 4402
I don't really use it much, but I think the Tachyon ray-tracer in Sage can do a lot of what you are looking for. I don't know if the implicit_plot3d
fully supports these things in the default viewer.
Upvotes: 1