Interact example of Weierstrass representation of minimal surfaces

64 views
Skip to first unread message

Tobias Weich

unread,
Feb 17, 2013, 4:52:57 PM2/17/13
to sage-s...@googlegroups.com
Dear sage community,

find below a small interact example of the Weierstrass representation of minimal surfaces. Maybe you find it suited for the sage-interact collection. I constructed it as a visualization example for my differential geometry class.

Best,
Tobias

#########################################################

Calculates Weierstrass-Enneper parametrization of a minimal surface
(see http://en.wikipedia.org/wiki/Weierstrass%E2%80%93Enneper_parameterization)

Enter two holomorphic functions f and g. The Weierstrass-Enneper parametrization then consists of a family (parmetrized by the parameter c) of isometric minimal surfaces, i.e. surfaces with zero mean curvature.

Via "plotp" and "rng" the plotpoints and plot range of the 3d-plot can be adjusted.

The default values correspond to the Enneper surface. Another interesting example is given by
$$f=-i/z^2, g=z$$
which corresponds to the heliocid/catenoid family (http://en.wikipedia.org/wiki/Helicoid). For this example one has to play around a little bit with the plot ranges in order to have a reasonable image as the parametrization by real an imaginary parts are not really adapted in this case.

#####################################################################################




var('a,b,z')
@interact
def WeierStrass(f=1, g=z, c=slider([0.05*pi*m for m in range(0,11)],default=0), plotp=slider(range(0,80),default=20) ,rng=slider(range(0,30),default=10)):
  Psi_1=f/2*(1-g^2)
  Psi_2=i*f/2*(1+g^2)
  Psi_3=f*g
  Phi_1=Psi_1.integrate(z)
  Phi_2=Psi_2.integrate(z)
  Phi_3=Psi_3.integrate(z)
  def FF1(a,b):
    return real_part(exp(i*c)*Phi_1(z=a+i*b))
  def FF2(a,b):
    return real_part(exp(i*c)*Phi_2(z=a+i*b))
  def FF3(a,b):
    return real_part(exp(i*c)*Phi_3(z=a+i*b))
  P=parametric_plot3d([FF1,FF2,FF3],(a,-rng,rng),(b,-rng,rng), plot_points=[plotp,plotp])
  P.show()
Reply all
Reply to author
Forward
0 new messages