この記事は、2021年10月23日に開催された第
リンク: 日曜数学会
離散フーリエ変換を使うと、任意の
そのことを応用して、任意の多角形にとある写像を続けた場合の収束先の図形を調べてみました。
この記事では正
正N/M角形
星型多角形の性質として、正
別の言い方をすると、頂点を通過するごとに
そもそものきっかけは、Twitterでみかけた盛田みずすましさんのこちらのツイートでした。
この操作、繰り返すとどうなるでしょう? pic.twitter.com/QFJvaJYl3i
— 盛田みずすまし (@nosiika) September 30, 2021
盛田みずすましさんのツイート
適当に
3角形から始めると周期4でループする
①→②→③→④→①の順にループする
まずは、考えやすい、わかりやすい形から考えてみましょう。
正
実際にやってみると
正
①→②→③→④→①の順にループする
となり、3角形の場合と同じように4回でループしました。
ただし、回転の方向は時計回りになる場合と反時計回りになる場合がありますね。
考えてみると、今回の写像は、元の頂点の位置ベクトルの差を新たな頂点の位置ベクトルとしてから全体を縮小する写像となっています。
写像の「形」だけに注目するならば、「全体を縮小する操作」を考える必要はありません。
そうすると、元の頂点の位置ベクトルの差を新たな頂点の位置ベクトルとする写像について考察すればよいことになります。
さらに考えると、
(※ アフィン変換……線型変換(回転、拡大縮小、剪断(せん断))と平行移動の組み合わせ)
実際にやってみると
アフィン変換しても変化の仕方は変わらない
①→②→③→④→①の順にループする
やはり4回でループしました。
では、対称性のない、任意の配置から始めたら、どんな形に写像されるのでしょうか。
とりあえず、適当に点を配置して写像パターンを観察してみましょう。
4角形の場合、2点へと収束していく
5角形の場合、正5/2角形をアフィン変換した形へと収束していく
6角形の場合、2点へと収束していく
7角形の場合、正7/3角形をアフィン変換した形に収束していく
任意の配置から始め、何度もこの写像を繰り返すと、最初のうちは複雑に変化しますが、やがて何らかの形に収束してループすることに気が付きます。
そして、星形多角形らしき形になってループするのは奇数角形のときだけで、偶数角形のときは2点へと収束していくことに気が付きます。
観察の結果、次のようなことが予想されます。
・正
・正
・どちらでもない偶数角形 →
・どちらでもない奇数角形 → 最も鋭角な正
実は、これらの予想が正しいことが、離散フーリエ変換を使うとわかるんです!
では、ここからはそのことを説明したいと思います。
Wikipediaでは、離散フーリエ変換について次のように説明しています。
離散フーリエ変換(りさんフーリエへんかん、英語: discrete Fourier transform、DFT)とは次式で定義される変換で、フーリエ変換に類似したものであり、信号処理などで離散化されたデジタル信号の周波数解析などによく使われる。また偏微分方程式や畳み込み積分の数値計算を効率的に行うためにも使われる。離散フーリエ変換は(計算機上で)高速フーリエ変換(FFT)を使って高速に計算することができる。(Wikipediaより)
なんだかよくわかりませんね。私にもよくわかりません。ただ、離散フーリエ変換を使うと次のようなことができることはわかっています。
離散フーリエ変換を使うと、
そして、それを応用することにより先ほどの予想を証明できます。
適当な
とおきます。次に、
を満たすような関数
このような
離散フーリエ変換の考え方により、 定数関数と
定数関数は平均値(重心とも解釈できます)を表します。
(以下の記事では定数関数についてはほとんど関係ないので適宜説明を省略します。)
例えば頂点が
次の図を見てください。
7つの座標の場合、3つのサインカーブの和で
図14で、黄色い線は周波数1、水色の線は周波数2、紫の線は周波数3のサインカーブで、それらの和が黒い点線となっています。
黒い点線が7つの点を通っていますね。
7つの
ここで「周波数」とは、繰り返しの回数のことです。
一般に、頂点数の半分以下のサインカーブの和でこのような関数を構成することができます。
それでは、これらのサインカーブはどのように構成すればいいのでしょうか。
具体的には離散フーリエ変換により次のようにして構成することができます。
ただし
上記の式を少し詳しく分析してみましょう。
実は、
つまり、たとえば
……
ここで、「あれ?さっき、『頂点が
そのカラクリは後程説明しますので、まずは本当にこの式が
検算してみましょう。
ここで
ですから、
となることが確かめられました。
ここまで、天下りに「
それぞれのサインカーブの振幅(波の大きさ)や位相(波の頂点の位置)はバラバラですが、周波数は同じになっています。
これらのサインカーブたちの和もまたサインカーブとなることは、簡単に証明できます。しかも、三角関数の公式を使わずに証明できます! 次の図を見てください。
周波数が同じサインカーブの和は1つのサインカーブとなる
この図を見れば、複数のサインカーブの周波数が同じならば、振幅や位相がずれていても、総和が1つのサインカーブとなることがお判りいただけることと思います。
例えば
実は、周波数
&&&ex
したがって、次のように式を簡単にすることができます。
&&&ex
又は
どちらの式を使っても
グラフで確認してみましょう。
周波数
7 頂点の場合、周波数 k と周波数(7-k)のサインカーブは同じ点を通っている
ちょっと見づらいかもしれませんが、周波数
同じ点を通っているから、周波数
置き換えた周波数のサインカーブは、振幅が2倍になることになります。
したがって、周波数(7-k)を周波数kのサインカーブに置き換えることができる
周波数
一般に、
「周波数の高い成分を低い成分に置き換えることに何の意味があるの?」と思われるかもしれませんが、このあとの議論がしやすくなるので以降は置き換えた後の式で考えます。
(余談ですが、視覚化する際には、周波数の高い成分を少なくした方が圧倒的にスマートに見えるので重要なテクニックとなります。)
x,y座標を回転する円周上の点の座標の和で表すことができる
このような視覚化をしている人はたまに見かけます。
今回、今から説明することをわかりやすくするために、先ほどの図をアレンジしてちょっと新しい視覚化を考えました。こんな感じです。
x,y座標を正N/M角形上を移動する点の座標の和で表すこともできる
先ほどの図と見比べていただくと、それぞれの座標をつないでいたサインカーブを折れ線にしただけです。例えば頂点数
今回の写像で新たな多角形を作ると、新たな多角形の頂点の
となります。(縮小する操作は考えていないことに注意)
先ほどと同様に
を満たすような関数
なお、以下では表記を簡単にするために添字は
三角関数の公式を使いながら変形していくと
という形にすることができます。
式の形から、それぞれの
見やすくするために、
一般の場合を考える前に、具体的な方がイメージしやすいと思いますので、
変換前の
変換後の
周波数
周波数
周波数
それぞれ拡大又は縮小されることになります。
今回は、図形の形に注目していますので、比で考えればよく、もとの
とすると、写像の振幅の比は
へと変化することが分かります。
では、この写像を繰り返すと何がおきるでしょうか。
へと変化します。
下図のように、
大きさの比較
最終的には、周波数
周波数の低い成分の振幅は
ただし、例外があることに注意が必要です。
ここまでの議論は、もともとの
このように、任意の
ここまで、イメージしやすいように
つまり、
とすると、
に変化します。そして、
ですから、操作を繰り返すと「振幅が
また、操作を繰り返したときに「周期的に同じ形になる」ための必要十分条件は、「特定の周波数以外の振幅が
次に、位相についても調べたいと思います。
そのために、もう一度、
位相は周期4でループする
これで、先の予想はすべて離散フーリエ変換で説明できることがわかりましたね!
・正
・正
・どちらでもない偶数角形 →
・どちらでもない奇数角形 → 最も鋭角な正
周波数の高い成分が残る
もう少し詳しくまとめてみます。
また、収束先の図形は写像を
多角形の写像を分析するのに、離散フーリエ変換を驚くほどうまく利用することができました。
正直なところ、これほどうまくいくとは思ってもいませんでしたので、とても気持ちよかったです。
面白い問題を考えていただいた盛田みずすましさんに感謝してこの記事をささげたいと思います。
分析に使ったDesmosへのリンクを貼っておきますので、良かったら遊んでみてください。
また、今回の問題と類似する現象で、「任意の多角形の中点をつないで新しい多角形を作る写像を繰り返すと、楕円状の配置へ収束していく」という現象があります。
この記事の方法を応用すれば、この現象も離散フーリエ変換で説明できることがわかりますので、良かったら考えてみてくださいね。