Exemples de la distribution (extras)

En cliquant sur une imagette, vous accéderez au source et à l'image. En cliquant sur cette dernière, vous ouvrirez le fichier PDF associé.

butterfly.xpconic.xpdecorate.xpdemoivre.xpdensityplot.xpdipole.xpgolden_rect.xphyperboloid.xplog.xplorenz.xpminkowski.xpplot_data.xpR_demo.xpsaddle.xpspherical.xpstereo-left.xpstereo-right.xp
tori.xp [ source ] [ fermer ]
tori.xp
/* -*-ePiX-*- */
#include "epix.h"
using namespace ePiX;

const int N1(24);  // latitudes
const int N2(48);  // longitudes

const P VIEWPT(6, 3, 4);

const double r_0(0.95); // minor radius
const double R_0(2);    // major radius
double g(double u)
{
  return R_0 + r_0*Cos(u);
}

P f1(double u, double v)
{
  return polar(g(u), v) + P(0,0,r_0*Sin(u));
}

P f2(double u, double v)
{
  return P(r_0*Sin(u), 2+ g(u)*Cos(v), g(u)*Sin(v));
}

int main() {
  bounding_box(P(-3,-3),P(3,3));
  unitlength("1in");
  picture(4,4);

  begin();

  viewpoint(VIEWPT);
  camera.look_at(P(0,1,0));
  camera.range(10);

  revolutions();
  crop();
  fill();

  domain R(P(0,0), P(1,1), mesh(N1, N2), mesh(3*N1, 3*N2));

  scenery tori(f1, R);
  tori.add(f2, R);
  tori.draw();

  end();
}
vfield.xp