21 Oct 2007

Asymptote using graph3.asy – fig0010

Figure 0001

A Möbius strip of half-width latex2png equation with midcircle of radius latex2png equation and at height latex2png equation can be represented parametrically by:

latex2png equation

for latex2png equation in latex2png equation and latex2png equation in latex2png equation. In this parametrization, the Möbius strip is therefore a cubic surface with equation

latex2png equation

Source

(Compiled with Asymptote version 2.14svn-r5318)
    
import graph3;
ngraph=200;
size(12cm,0);
currentprojection=orthographic(-4,-4,5);

real x(real t), y(real t), z(real t);

real R=2;
void xyzset(real s){
  x=new real(real t){return (R+s*cos(t/2))*cos(t);};
  y=new real(real t){return (R+s*cos(t/2))*sin(t);};
  z=new real(real t){return s*sin(t/2);};
}


int n=ngraph;
real w=1;
real s=-w, st=2w/n;
path3 p;
triple[][] ts;
for (int i=0; i <= n; ++i) {
  xyzset(s);
  p=graph(x,y,z,0,2pi);

  ts.push(new triple[] {});
  for (int j=0; j <= ngraph; ++j) {
    ts[i].push(point(p,j));
  }
  s += st;
}

pen[] pens={black, yellow, red, yellow, black};
draw(surface(ts, new bool[][]{}), lightgrey);
for (int i=0; i <= 4; ++i) {
  xyzset(-w+i*w/2);
  draw(graph(x,y,z,0,2pi), 2bp+pens[i]);
}

Étiquettes : , ,