1.複素数平面の意味

(1) 複素数と点の対応

複素数 a+bi を、座標平面上の点 (a,b)と対応させます。すなわち、平面上の点はひとつの複素数で表せることになります。このとき、座標平面のx軸を実軸、y軸を虚軸といい、座標平面というかわりに複素数平面もしくは複素平面といいます。

では、Cinderellaでこれを表してみましょう。

まず、画面下のツールバーの磁石アイコン(グリッドにスナップする)をクリックして、座標軸と方眼を表示します。

次に、「点を加えるツール」を用いて、適当なところでクリックして点を取ります。これが点Aになっているはずです。

次に、スクリプトメニューからCindyScriptを選び、左側の Draw アイコン(Draw スロット と呼んでいます)をクリックして、右側の広いエリアをクリックし、次のスクリプトを書き込みます。

drawtext([A.x+1,A.y],complex(A));

右上の歯車アイコンをクリックするとこのスクリプトが実行されます。Shift+Enterでも実行できます。

点Aの左側に、点Aを表す複素数が表示されます。ただし、 a*ib の形です。

複素数は、高校の教科書では a+bi と表記しますが、Cinderellaでは、a+ib の形です。これは工学分野などで使われている表記です。

complex() という関数は、引き数(ここでは A ) の点の座標を複素数平面上にあるものとして、複素数に変換する関数です。

動かすモードにして、点Aを動かしてみましょう。座標に対応する複素数が点Aの横に表示されます。

(2) 極形式・極座標

平面上の点の位置を表すのに、x座標 y座標 という直交座標で表す(直交座標系)ほかに、原点からの距離 r と、原点とその点を結ぶ直線がx軸の正の方向となす角θを用いて( r , θ )と表す方法があります。これが極座標です。同様に、この r とθを用いて複素数を表すのを極形式といいます。点Aのx , y座標は、rとθを用いて x=r cosθ ,y=r sinθ と表せますので、 x+yi は r ( cosθ + i sinθ ) と表せます。これが極形式です。

Aが表す複素数を z とすると、原点との距離は、|z| と表し、zの絶対値といいます。また、角θは偏角といい、argzで表します。

では、Cinderellaで点Aが表す複素数の絶対値と偏角を表示してみましょう。

CindyScriptでは、zの絶対値はそのまま |z| で表せますが、偏角を表す式はありません。そのかわり、原点を基準とする点Aの位置ベクトルとx軸のなす角を求める関数 arctan2() があります。これを用いて偏角を求めます。

次のスクリプトを、先ほどのスクリプトのかわりに書きます。

z=complex(A);

th=arctan2(A.xy)*180/pi;

drawtext([A.x+1,A.y],"z="+z);

drawtext([A.x+1,A.y-1],"|z|="+|z|+",argz="+th+"°");

1行目で、点Aの表す複素数をzとします。

2行目で、点Aの座標 A.xy をそのまま位置ベクトルと見なして角x軸(実軸)とのなす角をthに代入します。

3行目で、a+ib の形に表示します。

4行目で、絶対値と偏角を表示します。

なお、arctan2(A.xy) で得られるのは弧度法による角なので、これを度数法に直しています。弧度法のままでよければ、2行目と4行目はつぎのようにします。

th=arctan2(A.xy);

drawtext([A.x+1,A.y-1],"|z|="+|z|+",argz="+th);

次に、極形式で表示してみましょう。絶対値と偏角は先ほど求めた通りなので、表示の形式を整えるだけです。

4行目を次のようにします。

drawtext([A.x+1,A.y-1],"z="+guess(|z|)+"(cos"+th+"°+isin"+th+"°)");

guess() というのは、与えられた数を解釈して、可能ならば分数や平方根で表すものです。x の平方根は sqrt( x ) で表されます。

次の例では、絶対値が3ルート2ですので、3*sqrt(2) と表されています。

点Aをドラッグして、いろいろな位置に動かしてみましょう。

戻る