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')