13 inline double G(
double x,
double y, 
double t) 
    16   return exp(-(x*x+y*y))*sin(t+x)*cos(y-t);
    19 inline double dGdx(
double x,
double y, 
double t) 
    21   return cos(y-t)*exp(-(x*x+y*y))*(cos(t+x)-2*x*sin(t+x));
    24 inline double dGdy(
double x,
double y, 
double t) 
    26   return sin(t+x)*exp(-(x*x+y*y))*(-2*y*cos(y-t) -sin(y-t));
    37   std::vector<double> x(Nx);
    38   std::vector<double> y(Ny);
    39   std::vector<double> z(Nx*Ny);
    40   std::vector<double> u(Nx*Ny);
    41   std::vector<double> v(Nx*Ny);
    44   const double x_low = -2.5;
    45   const double x_upp = 1.5;
    46   const double y_low = -2.5;
    47   const double y_upp = 4;
    48   const double dx = (x_upp-x_low)/(Nx-1);
    49   const double dy = (y_upp-y_low)/(Ny-1);
    65   for (
int i=0; i<Nx; i++)
    68   for (
int i=0; i<Ny; i++)
    75   double t0=(double)clock()/(double)CLOCKS_PER_SEC;
    79   griddata->SetRectilinearGrid(x,y);
    80   griddata->SetPointScalar(z ,
"v");
    81   griddata->SetPointVector(u,v ,
"grad");
    84   contour->SetData(griddata,
"v");
    85   contour->SetSurfaceRGBTable(colors,255);
    86   contour->ShowIsolines(
false);
    89   quiver->SetData(griddata,
"grad");
    90   quiver->SetQuiverGrid(10,10);
    95   frame->AddFigure(contour);
    96   frame->AddFigure(quiver);
   102     for (
int i=0; i<Nx; i++)
   103       for (
int j=0; j<Ny; j++)
   105         z[j*Nx+i] = 
G(x[i],y[j],t);
   106         u[j*Nx+i] = 
dGdx(x[i],y[j],t);
   107         v[j*Nx+i] = 
dGdy(x[i],y[j],t);
   110     griddata->SetPointScalar(z ,
"v");
   111     griddata->SetPointVector(u,v ,
"grad");
   116       frame->WritePNG(
"example-quiver2d.png");
   119     double t1=(double)clock()/(double)CLOCKS_PER_SEC;
   123       printf(
"Frame rate: %.2f fps\n",(
double)(i1-i0)/4.0);
   124       t0=(double)clock()/(double)CLOCKS_PER_SEC;
 
double dGdy(double x, double y, double t)
 
static std::shared_ptr< Frame > New()
Create frame with multiple subframes. 
 
static std::shared_ptr< ScalarView > New()
 
static std::shared_ptr< DataSet > New()
Static constructor of an empty instance. 
 
double dGdx(double x, double y, double t)
 
std::vector< RGBPoint > RGBTable
 
Define Frame class providing a window for rendering. 
 
static std::shared_ptr< VectorView > New()
 
double G(double x, double y, double t)