■[Flash][Excel]:対数螺旋の描き方

 前回の「たけしのコマ大数学科」の美しき数学の時間で、中村亨センセが「対数螺旋」の話をしていたので、復習の意味で、爺も対数螺旋を描いて遊んでみた。あくまで遊びのレベルなので、数学的な厳密さをガスコン爺に求めてはいけない^^;

 系数(a)は中心から遠ざかる率(1~2)で、これを増やすと、コマ大生の検証で部屋に収まらなくなったように、対数螺旋は指数的に中心から遠ざかるので、画面内に収まらなくなってしまう。そんなときは、図の倍率(%)を下げてほしい^^; この記事の後半では、「エクセル」で簡単に対数螺旋を描く方法も紹介するよ。

 極座標(円座標)は、r(動径:原点(0,0)からの距離)とθ(偏角)で表すグラフ(0≦θ<2π)。中村亨センセの解説にあったように対数螺旋(等角螺旋)は極座標で考えるとわかりやすい。しかし、FlashやExcelでグラフを描く場合は、ふつうの「X,Y」座標に変換して描くことになる。

ここでは、
r=a^θ(a≧1)として、
x=r cosθ、
y=r sinθを計算している。

 説明するまでもないと思うけれど、y=f(x)のグラフは、xに値を代入すれば、yの値は一意に定まるので、xの値をすこしずつ変えていけば、「X,Y」座標の グラフを描くことができる。極座標は、θの値を(2π/ステップ数)として、最小単位(いわば、グラフの解像度みたいなもの)を決め、これを周回数分変化させたときの(x,y)の値を求め、(x,y)座標に線を引いていく。

 上のスクリプトをコピーしてFlashの第1フレームに貼り付けて、プレビューを行えば、対数螺旋が表示されるが、数値を少し変更し、線を引く代わりに、あらかじめ作成した円のムービークリップを複製して配置していくと、下のような「アンモナイトもどき?」になる^^;(じつにいい加減だ^^;)

 「対数螺旋もどき?」や「アンモナイトもどき?」では、中心から遠ざかるにつれ指数的に大きくしていく方法だったが、Flashのステージ上に大きな正方形を描き、縮小しながら回転させた図を次々と複製していくと、きれいな模様になる。

 この図では、最初の正方形を「(9/10)^n」倍ずつ縮小、つまり、0.9、0.81、0.729…倍にしながら、5度ずつ正方形を回転させている。

※今回制作したFlashのダウンロード(spiral.zip
それぞれのソース、オブジェクト、ブラウザで表示するためのHTMLが入っている。

エクセルで対数螺旋のグラフを描く方法

Excel_01

 まず、上のような表を作成する。セルA1には、系数「a」の値(1.1)、セルA2には、ステップの最小単位(0.1)、セルB2にはX座標の計算式「=$A$1^A2*COS(A2)」、セルC2にY座標の計算式「=$A$1^A2*SIN(A2)」と入力する。計算式を入力するとき、セルA1をクリックしたら、「F4」キーを押して「絶対参照」(A1→$A$1)にするのがポイント。

Excel_02

 A2以降のA列には、スッテプごとの偏角(θ)のデータを作成する。メニューから「連続データの作成」を選び、範囲を「列」、増分値を「0.1」、そして停止値を「22」にして「OK」ボタンを押す。「22」というのは、π(3.14)を7倍したもので、3.5周することになる。

Excel_03

 A列に、0.1刻みで「22」までの連続データが作成される。これに対応するX座標のデータは、セルB2を選択し、セル枠右下の「ポッチ」を「ポポポポ、ポーッち♪」と歌わなくてもいいから、ダブルクリックする。一瞬で220行ぶんのデータが作成される。

Excel_04

 Y座標のデータも同様に、マウスポインタの形が「+」になったところで、ダブルクリックしてね。

Excel_05

 X座標、Y座標のすべてデータを選択状態にして(※データを選択するときは、セルB2をクリックしたあと、「Shift」キーと「Ctrl」キーを押しながら「→」「↓」と押せば、全データを選択できるよ)、で選択したデータのグラフを作成するんだけど「散布図」を選ぶこと。

Excel_06

 グラフのデザインを選び、軸ラベルなどの体裁を整えれば、出来上がり。セルA1の数値「1.1」を変更すれば、違った形の対数螺旋のグラフになる。

Excel_07

 セルA1の値を「1.3」にすると、こんな具合だが、グラフの横幅、縦幅に合わせて、X軸、Y軸の目盛は、振られるので、ひしゃげた形になってしまう。グラフの大きさ(縦横比)を自分で調節しよう。

 ところで、ガスコン爺は、パソコン初心者に向けて「エクセル」などの解説記事をパソコン誌に書いて、細々と毎日の糧である「いいちこ」と「研究費」を得ているが、いくらなんでも「エクセルで対数螺旋を描こう」なんていう記事は、ボツに決まっている。そこで、この「ガスコン研究所」でひさびさに「エクセル」を取り上げた次第。はたして、どれくらいの人が、この記事を「オモシロイ」と感じてもらえるかは、わからない。

 多くの人にとって「対数螺旋」なんて、「なに、それ?」って感じだろう。天才バカボンのほっぺにあるような「渦巻き」を描いて、なにがオモシロイの? という人が大半、たぶん一生のうちで、「エクセルで対数螺旋を描かなきゃならない、どうしよう……」などと言う場面に遭遇する人は、滅多にいるはずがないと思う。でも、ネットで「Excel 対数螺旋」で検索すると、「近接施工に於ける対数らせんによる影響領域の計算」などのページがヒットする。

 意外と「対数螺旋」は、土木や建築の強度計算など、世の中の役に立っているのかもしれない。爺は勉強不足で、よくわからないけれど……。

《追記:11月19日》
アルキメデスの螺旋の描き方

 対数螺旋は、極座標で「r=a^θ」、いっぽう、アルキメデスの螺旋(代数螺旋に含まれる)は、「r=a*θ」と表すことができる。

Excel_08

 ここでは、対数螺旋とアルキメデスの螺旋を描き分けるため、最小限の変更「^」を「*」を書き換えた。
系数(セルA1)を「1」とし、
X座標(セルB2)を「$A$1*A2*COS(A2)」
Y座標(セルC2)を「$A$1*A2*SIN(A2)」
と変更し、周回分のデータを作成する。

Excel_09

ガスコン研究所の本

500円でわかる活用技 エクセル
500円でわかる活用技 エクセル
金矢八十男(ガスコン研究所)/著
発行:学習研究社
コンパクトサイズ:A5判
オールカラー148頁
価格:500円(税込525円)

※どうすれば「エクセル」を使いこなせるか、目からウロコの「エクセル」のお役立ち、TIPSを集めた本。

500円でわかる活用技 エクセル関数
500円でわかる活用技 エクセル関数
金矢八十男(ガスコン研究所)/著
発行:学習研究社
コンパクトサイズ:A5判
オールカラー148頁
価格:500円(税込525円)

※「エクセル」の関数の使い方、関数の事例サンプルだけで構成されている。エクセル関数のコンパクトな辞書的、使い方を想定した本。


“■[Flash][Excel]:対数螺旋の描き方” への4件の返信

  1. [E:happy01]すごいです。ためになりました。
    いま、大学の卒研でアルキメデススパイラルアンテナを製作中なのですが、エクセルできれいなアルキメデススパイラルを描きたいのですが、その場合の計算もできますでしょうか?

  2. 佐藤賢治さん、コメントありがとうございます。
    「アルキメデスの螺旋」を描くのは、とても簡単です。「対数螺旋」を「代数螺旋」にしちゃえば、いいだけです。具体的には、
    X座標(セルB2):A2*COS(A2)
    Y座標(セルC2):A2*SIN(A2)
    として、周回分のデータを作成します。
    あとで、記事中にも「追記」しておきますね。

  3. 初めまして。
    「ヒットの泉」という
    テレビ番組のスタッフをしております
    犬塚と申します。
    突然で申し訳ありませんが
    番組で対数螺旋の紹介をしたいのですが
    その際にこのページをテレビに映したいのですが
    許可をいただけないでしょうか。
    ご検討よろしくお願いいたします。

  4. 犬塚さま、ごめんなさーい。
    更新もせずに、ほったらかしにしていて、
    コメントのチェックも怠っていました;;
    今回は、遅きに失してしまいましたが、
    これからもよろしくお願い致します。

コメントは受け付けていません。