TDCC LABORATORY
TDCC 研究室

   HOME ENGLISH                                         

伊藤忠夫氏による卵形曲線の方程式

伊藤忠夫 氏(奈良県生駒市在住),  山本信雄

   「卵形線」の数学的な定義は Ikuro 氏のサイト 「デルトイドの幾何学(その9)」の冒頭に書かれていますが、 ここでは、現実の鶏卵に近い形を与える曲線の方程式を追求し、その曲線を暫定的に「卵形曲線」と呼ぶことにします。
    伊藤氏の発案よる新たな卵形曲線について、氏より報告が寄せられました。 氏のご了承の上に、メールで戴いた資料をもとにして、山本が計算を進め、再構成してみました。
    なお、卵形曲線を表す方程式は、意外にもそう簡単には見つかりませんので、本稿もまた一つの貴重なものとなるでしょう。
    このページのお問い合わせは、伊藤氏のメール t_ito@kcn.ne.jp になさるとよいでしょう。 伊藤氏は「トーラスの測地線」のページにもコメントを書かれています。
    本方法の発展形が The Egg Equations にあります。
    また、本方法ついて   Twitterデフォルトアイコンの卵を表す方程式が判明(?),     同(アーカイブ版) があります。 さらに、本サイトは   GENERATING AVIAN EGG USING RATIONAL BEZIER QUADRATIC CURVES伊藤氏の発案よる新たな卵形曲線 に紹介され、 Natural Aesthetic Curves for Design の論文に引用されています。

    以上、上記のサイトや論文に紹介・引用された本サイトの著者名が「伊藤忠夫」、「伊藤忠夫、 山本信雄」、「Tadao Itou」、「Tadao Itou & Nobuo Yamamoto」、「Itou & Yamamoto」となっていますが、本サイトのアドレスが古い順に「Http://www16.ocn.ne.jp/~akiko-y/Egg/index_egg_by_Itou_E.html」、 「http://www.geocities.jp/nyjp07/Egg/index_egg_by_Itou_E.html」、「http://www.geocities.jp/nyjp07/index_egg_by_Itou_E.html」 を経過して現在の本サイトのアドレス「http://nyjp07.com/index_egg_by_Itou_E.html」になっています。
    古いアドレスは使えませんが、無料の インターネット・アーカイブ検索(Internet Archive)古いアドレスを検索すると、保存されていた当時のサイトが現れる可能性があります。


1. 平面位相角 θ を媒介変数として表示する卵形曲線


図1 伊藤忠夫氏発案[(1)式]の卵形曲線。
ただし、-π≦θ≦π の範囲

   提案の卵形曲線の方程式は、平面位相角 θ を媒介変数として次のように表します。
                     .                        (1)
    の場合につき, の値をいろいろ変えて (1)式をコンピュータで計算させてグラフに表すと,図1のようになります。

    のときの卵形曲線と山本の卵形曲線 (こちら 卵形曲線 を参照) とを比較すると図2のようになって、両者ほとんど一致します。 ただし、比較のため、前者は 方向に の値だけ平行移動させています。

    (1)式における の定義範囲を除外して広範囲 (実際には、 で すべての に対する曲線が含まれます。)に設定すると、 (1)式を表す曲線は図3のようになります。ただし、 かつ、 の場合を例に示します。この外周が図1の卵形曲線となります。

    なお、この卵型曲線について興味ある報告があります。 (こちら 参考 を参照


図2 伊藤氏の卵形曲線(Itou's)と山本のそれ(Yamamoto's)
との比較。ただし、比較のため、伊藤氏のはx方向に
a(=0.5) の値だけ平行移動させた。


図3 伊藤氏の卵形曲線[(1)式 ]で、
θ のすべての範囲を示した場合
各カーブ a, b, c, d については本文を参照のこと。



図4  のときの卵形曲線
(ピンク色のカーブ)と現実の卵の形との比較

    かつ、 のとき (一般的条件は、)が最も現実の卵に近いようです。 これを図4に示します。

    図3の各カーブ a, b, c, d は、以下に示す の各範囲に対応します。
                  ,           (2)
ただし、n は整数。

    (2)式の表示ではよく分からないので、n=0 として示しますと次の範囲になります。
                  .           (2)'

    しかし、(2)'式の各範囲は複雑に交差しながら重複しているので、未だよく分かりません。 そこで、重複しないように真ん中の範囲のみを抜き出すと、次の表示になり、スッキリします。
                  .           (2)''

    (1)式を数値計算して図1の卵形曲線群を得るための C++ プログラムはこちら 卵形曲線群の計算プログラムです。 画面表示のプログラムをマウスでドラッグしてコピーを取ると、自由にご利用できます。
    また、=0.5, =0.37 の場合の 1個の卵形曲線を得るための C++ プログラムはこちら 1個の卵形曲線の計算プログラムです。 このプログラムで、定数 , の数値を変えることにより卵形の形を変えることができます。 付け足しとして、 図3の卵形原型曲線を得るための C++ プログラムはこちら 卵形原型曲線の計算プログラムです。
    次に、 C++ システム・ファイル上の「ファイル」の中の 「新規作成」をクリックすると、編集画面が現れますが、 この画面に上記コピーしたプログラムを貼り付けます。場合によっては編集も行います。そして、 「ビルド」をクリックすると実行ファイルが作成されます。 さらに、「実行」をクリックすることにより、上記どちらのプログラムでも、 「egg_shaped_curve.txt」という名のテキストファイルが作られて、 計算されたデータ(卵形曲線上の各 x-y 座標点の座標データ)が格納されます。
    次に、このテキストファイルに格納されたデータをエクセルファイルに移し変えます。それには、エクセルファイルの 「外部データの取り込み」機能で行います。 ただし、ここに紹介した計算プログラムの場合、テキストファイルに保存される データ間の仕切りはカンマ()で指定してありますので、 「外部データの取り込み」にはこれを選択します。
    最後に、エクセルファイルに移された各列の x-y 座標データ全てをドラッグした後に、エクセルファイルにある 「グラフ ウィザード」をクリックして、 その中の「散布図」を選び、スムーズなカーブになる絵図をクリックすると卵形曲線が描かれます。
    なお、図3の曲線を得るためには、プログラムの中の の掃引を -2π から +2π の範囲に拡大するとよいでしょう。

[参考] 図3の曲線を表す の関係式

    (1)式の各式を2乗すると、
            ,           (3)    および、             .           (4)
三角関数の公式を(4)式に適用すると、
            .
上式に(3)式を代入して、
            .
上式を整理すると、
            .
上式両辺の2乗を取れば、
            .
三角関数の公式を上式に適用すると、
            .
これに(1)式を代入して、
            .
上式を整理して、見やすい形に整えると、
            ,              (5)
のような5次方程式が得られ、これは、山本の卵形曲線 (こちら 卵形曲線) の(9)式より次数が1つ増えて、より複雑になります。


2. 擬球を斜めに平面で切った断面の卵形曲線  (伊藤氏記)


    直円錐を斜めに平面で切ると、その切り口は卵形になるように思えますが、実際は楕円になります。これはよく知られています。

    双曲幾何をユークリッド世界で実現できる擬球というものがあります。それは回転面ですが、 円錐ではなくて裾の広がったスカートに似ています。ですから、擬球を斜めに平面で切れば、その断面は卵形になるはずだと思われます。 実行してみると、図5に示すように、確かに卵形が得られます。


図5 擬球を斜めに平面で切った断面の卵形曲線

    図5において、2つの曲面
       平面: 
       擬球: 
                              
                              
の共有点をなぞればよいと考えて、 を変化させ
                               (上と同じ)
                              
                              
によって描いたものです。ソフトは Visual Basic です。

    課題は、擬球から得た卵形曲線を平面座標で
                  
のように表す式を求めることです。



~ブラウザの「戻る」で 前に開いたページに戻ります~

~または、下のボタンを押して HOME に戻ります~


HOME

Updated: 2008.3.25, edited by N. Yamamoto.
Revised on Feb. 06, 2015, Mar. 16, 2015, Aug. 15, 2019, Aug. 16, 2019, May 05, 2020, Jan. 17, 2021, May 08, 2021, Sep. 11, 2021, Sep. 12, 2021 and Sep. 23, 2021.