デカルトの夢と奇妙な図形 part2
パスカルのかたつむり(リマソン曲線)
最初の曲線はパスカルのかたつむり(蝸牛)です。あの有名なパスカルの父が見つけたそうです。リマソン曲線(蝸牛のラテン語)とも言います。数式は以下のとおりですが、何とも奇妙な数式です。aとbはパラメータ(係数)です。適当な数に変えると図形が変化します。
( x + y + ax ) = b ( x + y )
この数式からどんな図形が描かれるのでしょうか。早速、rpnを使って適当な数を繰り返し発生させて、プロット用のデータを作成してみます。データはxypを使ってグラフ表示させます。
>xyp -x-1,4 -y-2,2 -m <tmp
y^2
| * **********
| *** ***
** ***
*| *
*| *
*| ***** **
-1 *** ** * 4
-------***-----*---------------*------->
*| ***** * x
*| *
** **
** **
|**** ***
| * * * * ***
|-2
何とも奇妙な図形が出てきました。テキスト文字で描くので、どうしても歪みが出てしまいますが、雰囲気は伝わるでしょう。かたつむりの殻に似ていなくもありません。そして、面白いことにaとbのパラメータを少し変えると「心臓形」に変化してしまいます。
>xyp -x-1,5 -y-3,3 -m <tmp
y^3
| *************
* * ****
**| ***
* | ***
* | **
** | *
-1 ***| * 5
---***+------------------------**------>
** o| * x
* | *
* | *
**| ***
**** ****
| ****** * ***
|-3
図形中央部の巻いている部分がなくなりましたが、何で心臓なのかよく分かりません。そこで、座標軸の原点付近を拡大してみます。
**** y^1.5
* |
* |
* |
* |
* |
*** |
-1 *****| 1
--------------******+------------------>
** o| x
** |
* |
* |
* |
** |
* |-1.5
心臓と言われる理由が分かります。要はハート型なんですね。
グランディのバラ(四葉線)
イタリアの数学者であるグランディによるものです。これも複雑な数式ですが、パラメータはaの一つだけです。
( x + y ) = 4a ・ x ・ y
数式からはどんな図形が描かれるのか皆目見当が付きませんが、rpnで数式に値を代入しながらxypでグラフを描いてみましょう。
>xyp -x-4,4 -y-4,4 -m <tmp
y^4
|
*** **** * | *********
* * * | * **
* * * | * **
** * ** **
**** ** **
-4 * ** ****** *** *** 4
----------*-***-**-***--**-**---------->
**** ** ** x
*** * ** *
* *** |** *
* *** | ** **
******** * | * *******
|
|-4
4つの花びらが見えます。この形でバラと言えるか分かりませんが、一つの数式からなんとも奇妙というか不思議な図形が生まれるものです。例のごとく、数式のパラメータをちょっと変更すると図形が変化していきます。
>xyp -x-4,4 -y-4,4 -m <tmp
y^4
|
|
****** | ******
** ***** | ****** **
** *** | **** **
***** ** |*** ****
-4 ****** ***************** 4
------------------***------------------>
**o|** x
** | *
* | *
* | *
* | *
** | **
*****4
今度は三つ葉のクローバーになりました。再度、パラメータを変更です。
>xyp -x-4,4 -y-4,4 -m <tmp
****
* |*
* | *
* | *
** | *
** ***** * * |* * *******
**** **** * ** ***** *****
-4 **** * ** *********** ***** * 4
-----------------******---------------->
*** *o|* ** x
*** * | * ***
*** ** | ** **
** ** | * **
* *** | **** *
** | ***
|-4
5つの花びらを持つ桜が現れました。調子に乗ってパラメータをとても大きな数にしてみます。
>xyp -x-4,4 -y-4,4 -m <tmp
* **4 *
* * *| ** *
* * * * * ***
** * * *| * * * ****
*** * ** * * *
* * * * * * | * * * ****
* ** ***|** ** **
*4 * * * ***** ** * * **
----------*-----*****-----*-----*------>
* * * * * ***o* ** ** * ** *
** * * |* * **
*** * * *| * * ***
* ** * * |* * * *
** * * | * * ***
* * |** **
* |-**
21の花びらが見えるはずなのですが、何だかよく分からない図形になりました。右上端(第一象限)だけを拡大表示してみましょう。
*y 4 *
* * *
* *
| * * *
|* * *
| * *
| * * * * *
| *
* *
| * * * *
| * * * *
* * * * * *
| *
* * * * * * *x
** ** * * * 4
*------------*------------------------->
どうやら6つの花びらが見えます。ただ、プロット数が少ないので、隙間が空いて綺麗に見えません。そこで、プロット数を10倍にして繰り返し計算させて、表示の密度を上げてみましょう。
>xyp -x,4 -y,4 -m <tmp
*y 4 **
* ***
* **** ***
** **** ****
|* ** * *****
|* * ** **** ***
|* **** **** *****
* **** ** ** ******
* *** ***** ********
* * * **** ******* ******
* *** **** ****** ***********
* ****** ****** ************
***********************
********** ***** *****************x
***************************************4
***********-***------------------------>
今度はくっきりと6つの花びらが見えてきましたね。
対数螺旋(等角螺旋、ベルヌーイの螺旋)
最後に自然界に多く見られる対数螺旋です(等角螺旋、ベルヌーイの螺旋とも言われます)。数式は以下のとおりです。aとbはパラメータです。
r = ae
rpnで数式に適当な数を代入して計算させます。結果をxypに渡せば簡単にグラフ表示できます。
>xyp -x-10,10 -y-10,10 -m <tmp
y^10
|
|
* **** ****
**** | ***
** | **
* ***** *
-10 * ******** * 10
---**----------*--*****----**---------->
* *** o| *** x
* ********
** |
* |
** |
* * | *
* * * |-10 * * *
不思議なことに反時計回りの渦巻きが描かれました。台風のようなオーム貝のような形です。
台風にしても低気圧にしても、そして洗面台の栓を抜いたときに水が抜けていくときも、北半球と南半球では渦巻きの向きが逆になるのは有名な話ですね。
さて、座標の原点付近が込み入っていて、よく見えません。そこで、図形の中心部だけを拡大表示してみましょう。まずは、x軸を±3、y軸を±3にしてみます。
y^3
|
|
*** ****
**** | ****
*** | ***
** ***** **
-3 ** ******** * 3
----*----------*--*****----*----------->
* *** o| *** x
* ******
* |
** |
** | *
** | * *
* * * *-3 * * *
何だか、前と同じ図形に見えますね。そして、原点付近はやはり込み入っています。もっと拡大してx軸を±1、y軸を±1にしてみます。初めの図形の10分の1のサイズになります。
y^1 * *
|
|
|
************
*** | ***
** *** **
-1 * *** ** * 1
------*---------*---+*---**------------>
** ********** x
* |
** | *
*** | *
** | ** *
** * ** * * * * *
|-1
やっぱり何か似てますよね。螺旋を拡大して細かく細かく見ていっても、前と同じ姿が現れるようです。何とも不思議な感じがします。このような現象を自己相似形と言うのですが、フラクタルなど自然界には意外に多い現象です。
では、今度は逆にプロット数を増やしてみましょう。とても大きな螺旋を描いて、巨大なグラフに描いてみます。それをグラフにして見ると、今度は図形を縮小して見たのと同じ効果になります。
プロットデータができたのでxypで表示してみますが、1つ目のグラフはx軸が±800とy軸が±800に、2つ目のグラフはx軸が±3200とy軸が±3200に設定します。横に並べて比較してみましょう。
* | * * * * | * **
| ** ** | **
| * | **
| * | *
******* ** **** *
*** | ** * *** |*** *
-800 ** ***** ** *800 -3200 ** **** * * 3200
---------*----*******---------*---> ----------*----***-**-------**---->
* ***** ** x * *** ** x
** | ** ** | ***
*** | *** ***** *****
***** ***** ***
| |
| |
|-800 |-3200
両方とも同じに見えます。それどころか巻き数が違うだけで、x軸とy軸が±10のときとそっくりな図形です。実に元の図形の80倍と320倍なのにスケールの違いがパッと見ただけ分かりません。本当に対数螺旋は近づいて細かく見ても、離れて大まかに見ても同じ形なのですね。
物事を細かく観察して得られることは、大まかに観察して得られることと同じということになります。社会の縮図という言葉がありますが、物事の本質はスケールに拠らず同じなのかも知れません。まさに「一は全、全は一」ですね。
rpnプログラムを実行するには、rpn試用版かrpn標準版が必要です(バージョンの違いはこちら)。
pasteは講座サポートで公開されています。xypとnpdはrpnの姉妹ソフトウェアです。詳しくはプロダクトを参照ください。