[数学] 黄金比の循環調和曲線

黄金比を適用した、循環調和曲線の数式を説明します。また、複数の循環調和曲線の図を作成する、SageMath スクリプトも公開します。

(There is the English(英語) page.)

(最終更新日: 2021年2月21日)

前書き

循環調和曲線とは、“cyclic-harmonic curve” 1 2 3 のことです。 まだ、一般的に通用する日本語訳がないようなので、個人的に訳してみました(直訳です)。

Web で、バラ曲線 (または、正葉曲線) の勉強をしているときに、循環調和曲線のことを知りました。

この曲線を描いた図の中に、大小の花びらで構成されたような図があります。先に示した図もその一つです。今回は、このような図の、大小の花びらの長さに、黄金比 を適用してみました。その数式を、以下 に説明します。

また、黄金比を適用した、複数の循環調和曲線の図を作成する、SageMath スクリプトも作成しました。そのスクリプトは、このページの 後半 で公開します。

黄金比の循環調和曲線

循環調和曲線の数式

循環調和曲線は、以下の極座標の方程式で表されます。

\[r = a \cos \left( \frac{n}{d} \, \theta \right) + b\]

  • \(n\)\(d\) は、正の整数です。
  • \(a\)\(b\) は、正の実数です。
  • \(\theta\) は、\(0\) から \(2d \pi\) まで、変化します。

ちなみに、この式の \(b\)\(0\) にした場合が、バラ曲線 に該当します。

循環調和曲線を描いた図は、以下の条件のときに、大小の花びらで構成されたような図になります。

  • \(n \geq d\)
  • \(a>b\)

このとき、大小の花びらの枚数は、同じ数で、以下の式で求められます。

\[\frac{n}{\mathrm{gcd}(n,d)}\]

また、大小の花びらの長さは、以下の式で求められます。

  • 大きな花びらの長軸の長さ (下図の \(l\) ) は、\(a+b\) です。
  • 小さな花びらの長軸の長さ (下図の \(s\) ) は、\(a-b\) です。
大小の花びらの長さ

黄金比の適用

今回は、大小の花びらの長さの比率を、以下のように、黄金比 にします。

\[s : l = (l-s) : s = 1 : \frac{1 + \sqrt{5}}{2}\]

この式に、花びらの長さの式を代入すると、以下のようになります。

\[(a-b) : (a+b) = 1 : \frac{1 + \sqrt{5}}{2}\]

循環調和曲線の式の変数 \(a\) は、図の倍率に相当します。 そこで式を単純にするために、\(a=1\) とします。すると、前述の式は、以下のようになります。

\[(1-b) : (1+b) = 1 : \frac{1 + \sqrt{5}}{2}\]

\[\therefore \; (1-b) \times \frac{1 + \sqrt{5}}{2} = 1+b\]

この式を \(b\) について解くと 4 、以下のようになります。

\[b = \sqrt{5} -2 \approx 0.236 >0\]

\(a\)\(b\) が決定したので、大小の花びらの長さを計算してみると、それぞれ、以下のようになります。 5

\[\begin{align*} l & = 1 + \left( \sqrt{5} -2 \right) \approx 1.236 \\ s & = 1 - \left( \sqrt{5} -2 \right) \approx 0.764 \end{align*}\]

最後に、循環調和曲線の式に、決定した \(a\)\(b\) の値を代入すると、以下のようになります。

\[r = \cos \left( \frac{n}{d} \, \theta \right) + \sqrt{5} -2\]

あとは、この式の \(n\)\(d\) に、いろいろな数値を代入すれば、黄金比で構成された、様々な図を描くことができます。

以下に、例を示します。

例1 :   \(n=1\) ,   \(d=1\)

\(n\)\(d\) は、\(n=1\)\(d=1\) の組み合わせが、一番簡単な例になります。

以下に、使用した数式と、SageMath version 9.0 での実行結果を、順に示します。

\[r = \cos \theta + \sqrt{5} -2\]

sage: var('θ') # シンボリック変数 θ を作成します。一回だけ実行すれば良いです。
sage: polar_plot(cos(θ)+sqrt(5)-2, (θ, 0, 2*pi), plot_points=200)
黄金比の循環調和曲線 (n=1, d=1)

上図で、大小の花びらの長さが、計算した値と等しいことを、確認できます。

例2 :   \(n=3\) ,   \(d=1\)

\[r = \cos 3 \theta + \sqrt{5} -2\]

sage: polar_plot(cos(3*θ)+sqrt(5)-2, (θ, 0, 2*pi), plot_points=200)
黄金比の循環調和曲線 (n=3, d=1)

例3 :   \(n=5\) ,   \(d=3\)

\[r = \cos \left( \frac{5}{3} \, \theta \right) + \sqrt{5} -2\]

sage: polar_plot(cos((5/3)*θ)+sqrt(5)-2, (θ, 0, 2*3*pi), plot_points=200*3)
黄金比の循環調和曲線 (n=5, d=3)

例4 :   \(n=12\) ,   \(d=7\)

前述の3つの例で、花びらの長さが、計算した値と等しいことを、確認できたと思います。そこで、これ以降の例では、図形の美しさを楽しめるように、座標軸を表示しないことにします。

\[r = \cos \left( \frac{12}{7} \, \theta \right) + \sqrt{5} -2\]

sage: polar_plot(cos((12/7)*θ)+sqrt(5)-2, (θ, 0, 2*7*pi), plot_points=200*7, axes=False)
黄金比の循環調和曲線 (n=12, d=7)

例5 :   \(n=25\) ,   \(d=6\)

\[r = \cos \left( \frac{25}{6} \, \theta \right) + \sqrt{5} -2\]

sage: polar_plot(cos((25/6)*θ)+sqrt(5)-2, (θ, 0, 2*6*pi), plot_points=200*6, axes=False)
黄金比の循環調和曲線 (n=25, d=6)

例6 :   \(n=49\) ,   \(d=6\)

\[r = \cos \left( \frac{49}{6} \, \theta \right) + \sqrt{5} -2\]

sage: polar_plot(cos((49/6)*θ)+sqrt(5)-2, (θ, 0, 2*6*pi), plot_points=200*6, axes=False)
黄金比の循環調和曲線 (n=49, d=6)

複数の循環調和曲線の図を作成するスクリプト

前述した、循環調和曲線の式から、複数の図を、まとめて作成するための、SageMath スクリプトと、その作成例を、以下に示します。

stop_int = 50 # >= 2

file_ext = "svg"
#file_ext = "png"

var('θ') # Create a symbolic variable 'θ'

for numer in range(1, stop_int):        # Numerator
    for denom in range(1, (numer + 1)): # Denominator

        if gcd(numer, denom) != 1:
            continue

        c_h_curve = polar_plot( cos((numer/denom)*θ)+sqrt(5)-2, \
            (θ, 0, 2*denom*pi), plot_points=200*denom)

        file_name = "c_h_curve_" + str(numer) + "_" + str(denom) + \
            "_gold." + file_ext

        c_h_curve.save(file_name, axes=False)

        print(file_name + " saved.")
黄金比の循環調和曲線 (n=29, d=13)
ファイル名: c_h_curve_29_13_gold.svg

このスクリプトを実行するには、スクリプトのコピーをファイル (例えば、make_figures.sage) に保存し、端末で、以下のコマンドを実行してください。

$ sage make_figures.sage

このスクリプトは、\(n\)\(d\) の値の、\(1\) から \((\mathrm{stop\_int} -1)\) までの範囲の、全ての組み合わせの図を作成します。 ただし、同じ形の図になる、一部の \(n\)\(d\) の値の組み合わせの図は、出力しないようにしています。

例えば、以下の3つの循環調和曲線の式は、同じ形になります。

\[\begin{align*} r & = \cos \left( \frac{3}{2} \, \theta \right) + \sqrt{5} -2 \\[0.5em] r & = \cos \left( \frac{6}{4} \, \theta \right) + \sqrt{5} -2 \\[0.5em] r & = \cos \left( \frac{9}{6} \, \theta \right) + \sqrt{5} -2 \end{align*}\]

このスクリプトでは、一番目の図のみ出力し、それ以降の同じ形の図は、出力しません。 そのため、このスクリプトで出力される図は、全て違う形になります。

スクリプト内の、\(\mathrm{stop\_int}\) 変数の値を変更すれば、作成される図の数を変更することができます。 以下に例を示します。

\(\mathrm{stop\_int}\) の値 作成される図の数
30 270
50 754
100 3004

\(\mathrm{stop\_int} =100\) の時に、作成された図を確認したところ、\(n=50\) 以上の循環調和曲線の図は、どれも似たような図になりました。よって、このスクリプトを試すときは、\(\mathrm{stop\_int} =50\) で、十分だと思います。

また、このスクリプトでは、図を SVG 形式で出力していますが、出力されるファイル名の拡張子を変更することで、図を別の形式で出力することもできます。例えば、図を PNG 形式で出力するときは、スクリプト内でコメントアウトしている箇所を変更してください。

以上、興味のある方は、お試しください。

追記

色を塗った、循環調和曲線の例を、別のページ に掲載しています。


  1. Robert E. Moritz, The General Theory of Cyclic-Harmonic Curves. Annals of Mathematics Second Series, Vol. 23, No. 1 (Sep., 1921), pp. 29-39 (11 pages).
    DOI: 10.2307/1967779
    Documentation on JSTOR↩︎

  2. Sonja Gorjanc, Ema Jurkin, Generalized Rose Surfaces and their Visualizations. 2013.
    Documentation on arXiv↩︎

  3. Cyclic-harmonic curves on mathcurve.com↩︎

  4. 計算手順を以下に示します。

    \[\begin{align*} (1-b) \times \frac{1 + \sqrt{5}}{2} & = 1+b \\[0.5em] (1-b) \left(1+ \sqrt{5} \right) & = 2 \, (1+b) \\[0.5em] \left(1+ \sqrt{5}\right) - \left(1+ \sqrt{5}\right)b & = 2+2b \\[0.5em] -\left(1+ \sqrt{5}\right)b -2b & = 2 - \left(1+ \sqrt{5}\right) \\[0.5em] \left(1+ \sqrt{5}\right)b +2b & = -2 + \left(1+ \sqrt{5}\right) \\[0.5em] \left(3+ \sqrt{5}\right)b & = -1 + \sqrt{5} \\[0.5em] b & = \frac{-1 + \sqrt{5}}{3+ \sqrt{5}} \\[0.5em] & = \frac{\left(-1 + \sqrt{5}\right) \left(3- \sqrt{5}\right)}{\left(3+ \sqrt{5}\right) \left(3- \sqrt{5}\right)} \\[0.5em] & = \frac{-3 + \sqrt{5} + 3 \sqrt{5} -5}{9-5} \\[0.5em] & = \frac{-8 + 4 \sqrt{5}}{4} \\[0.5em] & = -2 + \sqrt{5} \\[0.5em] & = \sqrt{5} -2 \end{align*}\]↩︎

  5. 検算手順を以下に示します。

    \[\begin{align*} \frac{l}{s} & = \frac{1 + \left( \sqrt{5} -2 \right)}{1 - \left( \sqrt{5} -2 \right)} \\[0.5em] & = \frac{-1 + \sqrt{5}}{3 - \sqrt{5}} \\[0.5em] & = \frac{\left(-1 + \sqrt{5} \right) \left(3 + \sqrt{5} \right)}{\left(3 - \sqrt{5} \right) \left(3 + \sqrt{5} \right)} \\[0.5em] & = \frac{-3 - \sqrt{5} + 3 \sqrt{5} +5}{9-5} \\[0.5em] & = \frac{2 + 2 \sqrt{5}}{4} \\[0.5em] & = \frac{1 + \sqrt{5}}{2} \\[0.5em] & = \varphi \end{align*}\]↩︎

コメント

このブログの人気の投稿