Mathematica Version 6 Compatibility Information
(continued)

This notebook continues Chapter by Chapter observations. Don't forget to look at the introduction in the first notebook! There are no issues with Chapter 24.

22 Tiling the Euclidean and hyperbolic planes

22.2 \[MathematicaIcon] Tiling the Euclidean plane with triangles

FontForm is now obsolete but the author could not figure out how to use StyleForm here. As the early plots with labels are not critcal to most of what follows I suggest you just use the following instead of what is in the printed text.

pointLabels[{a_,la_},{b_,lb_}]:=
Module[{theta,disp},
theta=Arg[(First[#]+I Last[#]) & [a-b]];
disp=0.25*{Cos[theta-Pi/2],Sin[theta-Pi/2]};
{Text[la,a+disp],
Text[lb,b+disp]}]

Everything else in this chapter works fine.

23 Physics in three and four dimensions I

23.7 \[MathematicaIcon] Warping with Mathematica

The ExtendGraphics files are located at

http://library.wolfram.com/infocenter/Books/3753/

where there are download links at the bottom of that web page. Apart from a few moans from the kernel, everything here works fine. The window to the spaceship is now coloured in but it has a nice feel to it — rather like being inside a nebula. At the end of this Section you should do the animation as follows:

Manipulate[Show[HemiSphere, abberplota[m], abberplotb[m]], {m, 0, 9, 1}]

23.10 \[MathematicaIcon] Minimal surfaces and null curves II: minimal surfaces and visualization in three dimensions

This is definitely a place to use some of the new 3D graphics features!! At the very least, given the way these surfaces fold over themselves, try out the opacity controls and then use the real time rotation commands. You can also zoom in on the hole in the catenoid for example.

NullCurve[G_][w_] :=
Module[{ww, temp, one, two},
one = D[G[ww], ww]; 
two = D[G[ww], {ww, 2}];
temp = {-2*G[ww]+2*ww*one + (1-ww^2)*two,
I*(2*G[ww]-2*ww*one+(1+ww^2)*two),
2*ww*two - 2*one};
Simplify[temp /. ww->w]
]

Let's check it is working by giving it a trivial quadratic – we should get a point back:

NullCurve[-1/4((x+I y) + 2 z #-(x - I y)#^2)&][w]

Next we wish to write out the real part of these null curves, based on a convenient parametrization:

Clear[w]

MinimalSurface[G_, w_, params_] :=
Module[{null},
null = NullCurve[G][w];
ComplexExpand[Re[null /. w-> params]]]

MinimalSurface[#^3&, w, u + I v]

Next we wish to generate some automatic plotting routines. We also want the flexibility to use either Cartesian or Polar coodinates, or possibly a hybrid. Let's do a Cartesian version first:

CartesianMinimalSurface[G_, w_, {umin_, umax_}, {vmin_, vmax_}, options___] :=
Module[{ms, u, v},
ms = MinimalSurface[G, w, u + I v];
ParametricPlot3D[Evaluate[ms], {u, umin, umax}, {v, vmin, vmax}, options]]

Here are some versions for other coordinates:

PolarMinimalSurface[G_, w_, {umin_, umax_}, {vmin_, vmax_}, options___] :=
Module[{ms, u, v},
ms = MinimalSurface[G, w, u*Exp[I v]];
ParametricPlot3D[Evaluate[ms], {u, umin, umax}, {v, vmin, vmax}, options]]

ExponentialMinimalSurface[G_, w_, {umin_, umax_}, {vmin_, vmax_}, options___] :=
Module[{ms, u, v},
ms = MinimalSurface[G, w, Exp[u+I v]];
ParametricPlot3D[Evaluate[ms], {u, umin, umax}, {v, vmin, vmax}, options]]

CartesianMinimalSurface[#^3&, w, {-4, 4}, {-4, 4}, PlotPoints -> 30]

ExponentialMinimalSurface[#*Log[#]&, w, {-2, 2}, {0, 2 Pi}, 
PlotPoints -> 30, PlotStyle -> Opacity[0.7]]

CartesianMinimalSurface[1/(10-#^3)^(1/3)&,w,{-1,1},{-1,1},PlotPoints->30,PlotStyle->Opacity[0.7]]