sin(x+y)のグラフ
DriftDemoで説明しているようなsin波を3次元グラフとして描画するサンプルプログラムです。
グラフをぐるぐると回してみて、x軸方向の断面と、y軸方向の断面をイメージしてみてください。
変数 f についてですが、厳密には角周波数と呼ばれます。デフォルトでは1ピクセルあたり0.05サイクルとなり、周期は20 (= 1 / 0.05) ピクセルとなります。angle=0とすると、周期(周波数)が分かりやすいかと思います。
range=50;
%2次元平面の定義
[x, y]=meshgrid(-range:2:range, -range:2:range);
f=0.05*2*pi; % cycles/pixel
%sin波の進行方向(angleの単位がラジアンであることに注意)
angle=45/180*pi;
a=cos(angle)*f;
b=sin(angle)*f;
%いずれでも見やすいほうで
%mesh(x, y, sin(a*x+b*y))
surf(x, y, sin(a*x+b*y))
xlabel('x')
ylabel('y')