| testplot.edp | 
| // testplot.edp --- plot() の使い方を試す
// メッシュを描く
int m=20;
mesh Th=square(m,m,[-1+2*x,-1+2*y]);
plot(Th,wait=1);
// [return] で次のプロット
// p        で以前のプロット
// 等高線を描く
//  N で本数を増やせる
//  n で本数を減らせる
//  f で塗りつぶしのOn/Off
//  3 で2D/3Dの切り替え
func real f(real x, real y)
{
  // ここは色々複雑なことが書ける。
  return 1.0;
}
func u=x*x-y*y;
func v=2*x*y;
// plot(f); // plot() は func を描画できない。範囲指定がないので当たり前。
fespace Vh(Th,P1);
Vh fh,uh,vh;
// fh=f; // f() は代入できない
uh=u;
vh=v;
// 等高線
plot(uh,wait=1);    // plot() は fespace のオブジェクトは描画できる
plot(uh,vh,wait=1); // plot() は2つのオブジェクトを同時に描画できる
// 鳥瞰図
real [int] levels =-1.0:0.01:1.0;
plot(uh,dim=3,viso=levels,fill=true,wait=true);
// ベクトル場を描く
plot([uh,vh],wait=1);
load "plotPDF"  // without semicolon
plotPDF( "foobar", Th, uh);
 |