AutoCADによる楽しい数学

 卵の描き方     ホームページの内容目次に戻る


本物の鶏卵の描き方


作業中です (10/25/2007)

本物の鶏卵の描き方

前の話題 全ての曲線は多数の円で構成されるでは、 楕円が5点で構成する縮閉線(evolute)を使って近似的に描けることを示した。
この章では、前章と同様の方法でどのようしたら本物の鶏の卵の形を描けるかを説明する。
Robert Dixon [1] は幾つかの卵形を示し、全てがコンパスと定規で描けることから"Euclidean Egg"と名付けた。
下図に全7個の形を示す。名前の付け方は [1] に順ずる。


****** Dixon's_Euclidean_eggs.dwg -------7個のユークリッドの卵(Euclidean Eggs)を表示 ******

これら全ての曲線形状の違いを見るためには、図面を正規化"normalize" (i.e. 尺度の統一)をする必要がある。
それには、各卵の高さを単位値に設定し、比較用の同一基点に図面を移行する。
これらの図形は後から実際の鶏卵の形がどうなっているのかを調べるのに用いる。


***** compare_Euclidean_eggs.dwg------比較のため全ての卵を同じ位置に重ねる *****


この図面の作成方法:
プログラム egg_shape.lsp ---> (load "egg_shape") でロードする。
実行するには:コマンド ラインから Show_Euclidean_Egg とCompare_Euclidean_Egg を実行する。

ユークリッド(Euclidean Eggs)の描き方

*** 4 Points Egg ***

(1) 中心(0 0)で単位半径の半円上部を描く。点3, 3', 4 を決める。
(2) 中心 が点3' で半径 = 3'4 = √2 の弧 42 を描く。
弧はx-軸の 4 から始まり 2 で終わる。
同じ操作を左側の 3 に行う。点2 と 2' が決まる。
(3) 中心(0 0)で直径 2-2' = 2√2 - 2 の円を描く。 点1 でY-軸に交差する。
(4) 点 1 を中心とし、半径 = 2√2 - 2 の円を描く。
(5) 点 4 を中心とし、半径 = 2 - √2 の円を描く。
*注: ステップ4 と5 の円では、1 と 4 の間の点が半径の定義に用いられる。

参照図面:
egg_Euclidean_4pt.dwg --------上のステップで作成した図面ファイル
egg_Euclidean_4pt_normalized.dwg------高さを単位値に正規化
egg_Euclidean_4pt_normalized_1.dwg----文字と作図線を消去


この図面の作成方法:
プログラム egg_draw.lsp ---> (load "egg_draw") でロードする。
実行するには: コマンド ラインから Draw_4pt_Egg と実行命令をタイプする。

*** 5 Points Egg ***

(1) 4つの単位円を単位距離づつ離して描き、それぞれC1, C2 ,C3, C4 とする。
これらの円はP,Q,R および P',Q',R'で交差する。
円C1 と C4 は点0, 5, 6 でY-軸と交差する。
線分PP' は点1 でY-軸に交差する。
(2) 線分P5 とR1 を引く。C3との交点がそれぞれ点3と点2。
(3) 単位円を Q と Q' にて描き、C5 と C6 とする。 C5 と Q'3 の交点を点4 とする。

参照図面:
egg_Euclidean_5pt.dwg ----------------上のステップで作成した図面ファイル
egg_Euclidean_5pt_normalized.dwg------高さを単位値に正規化
egg_Euclidean_5pt_normalized_1.dwg----文字と作図線を消去
****** egg_Euclidean_5pt.dwg ******

この図面の作成方法:
プログラム egg_draw.lsp ---> (load "egg_draw") でロードする。
実行するには: コマンド ラインから Draw_5pt_Egg と実行命令をタイプする。

*** Moss' Egg (3 points) ***

(1) 中心点 "1" ( 0, 0 )の単位円(赤色)を描く。
 点 0, 2, 2R, 3 はその円周上にある。
(2) 点2 を中心にして,点2R から始まり線分23 で終わる弧(黄色)を描く。
(3) 点3 を中心にして 一番上に弧(緑)を描く。

参照図面:

egg_Euclidean_Moss.dwg -----上のステップで作成した図面ファイル
egg_Euclidean_Moss_normalized.dwg------高さを単位値に正規化
egg_Euclidean_Moss_normalized_1.dwg----文字と作図線を消去


***** egg_Euclidean_Moss.dwg *****

この図面の作成方法:
プログラム egg_draw.lsp ---> (load "egg_draw") でロードする。
実行するには: コマンド ラインから Draw_Moss_Egg と実行命令をタイプする。

*** Thom's Egg (3 points) ***

(1) 中心が点1 ( 0, 0 )の単位円を描く。この円はY-軸に点3 で交差する。
(2) 中心(-0.25 0) で半径 = 0.5 の円を描く。この円はX-軸と点2 で交差する。
(3) 線分23 を引き、2P の長さが線分23 の二倍となるようにP を決める。
(4) 半径 = 3P の弧をP から4 へ描く。
(5) 2P = 2Q となるX-軸上の点Q に印をする。
(6) 10 = 1Q となる点0 に印をする。
(7) 0 から Q へ弧を描く。

参照図面:

egg_Euclidean_Thom.dwg -----------上のステップで作成した図面ファイル
egg_Euclidean_Thom_normalized.dwg------高さを単位値に正規化
egg_Euclidean_Thom_normalized_1.dwg----文字と作図線を消去


この図面の作成方法:

プログラム egg_draw.lsp ---> (load "egg_draw") でロードする。
コマンド ラインから Draw_Thom_Egg と実行命令をタイプする。

*** Golden Egg (3 points) ***

(1) 3つの単位円をそれぞれ中心(0 -1) ,(0 0), (0 1)にして描く。
それらは X-軸とY-軸に 0,Q,P,P' で交差する。 点(0 0)を点1 とする。
(2) P を中心とし、点0 から始まり点Q で終わる弧を描く。
同じ操作を点P' にも行う。これで点2 と 2R を決める。
(3) 2 を中心とし半径 = 2.0 で 3' から 3 までの弧を描く。
(4) 3 と 4 の距離は 21 = (S5 -1) と同じ長さにする。
この卵が "Golden" と呼ばれる理由は、21 と 23 の長さの比が
 (√5 -1)/2 で、これは黄金比の逆数(√5 + 1)/2 に相当するであるからである。

参照図面:
egg_Euclidean_golden.dwg -----------上のステップで作成した図面ファイル
egg_Euclidean_golden_normalized.dwg------高さを単位値に正規化
egg_Euclidean_golden_normalized_1.dwg----文字と作図線を消去


この図面の作成方法:

プログラム egg_draw.lsp ---> (load "egg_draw") でロードする。
実行するには: コマンド ラインから Draw_Golden_Egg と実行命令をタイプする。

*** Sqrt327 Egg (3 points) ***

(1) 2つの単位円C1 とC2 を中心(0 0.5) と(0 1.5)に描く。
交点P Q を結ぶ。線分PQ はY-軸を点3 で交差する。
C1 はX-軸を点2 で交差する。点(0 0) を点1 とする。
(2) 線分23 と線分Q2を引く。2Q = 2R となるX-軸上の点R を決める。
(3) 点R から線分23 までの弧を描く。
(4) 一番上に円弧を描く。
(5) 一番下に長さ1R = 長さ10 の円を描く。
三角形123 の三辺の長さの比は √5 : 2 :√7 となる。
Dixon [1] はこの円を√5 : 2 :√7と名づけた。

参照図面:
egg_Euclidean_sqrt327.dwg -------上のステップで作成した図面ファイル
egg_Euclidean_sqrt327_normalized.dwg------高さを単位値に正規化
egg_Euclidean_sqrt327_normalized_1.dwg----文字と作図線を消去


この図面の作成方法:
プログラム egg_draw.lsp ---> (load "egg_draw") でロードする。
実行するには: コマンド ラインから Draw_Sqrt327_Egg と実行命令をタイプする。

*** Cundy_Rollett Egg (3 points) ***

(1) 点1 (0 0)を中心に半径 = 2.0 の半円を描く。
(2) 点1 から単位距離のところに点2 と 点2R を定義する。
点2 を中心とし2R から始めてY-軸上の点3 で終わる弧を描く。
(3) 線分23 を描く。2P の長さが線分23 の1.5 倍となるようにP を決める。
(4) 点2 を中心とする弧PQ を描く。
(5) Q から 4 へ弧を描く。
(6) 長さ 10 = 1P とする。

参照図面:
egg_Euclidean_Cundy_Rollett.dwg ------上のステップで作成した図面ファイル
egg_Euclidean_Cundy_Rollett_normalized.dwg------高さを単位値に正規化
egg_Euclidean_Cundy_Rollett_normalized_1.dwg----文字と作図線を消去



この図面の作成方法:
プログラム egg_draw.lsp ---> (load "egg_draw") でロードする。
実行するには: コマンド ラインから Draw_Cundy_Rollett_Egg と実行命令をタイプする。

本物の鶏卵はどんなふうに見えるか

*** 本物の鶏卵 ***

本物の卵の縮閉曲線を定義する方法:

(1) デジタルカメラで卵の写真を撮りCADに取り込む。
(2) CADソフトでイメージをデジタイズする。(卵の輪郭線に沿って点を拾い、形を定義する。)
(3) これらの点を結び、一つのスプライン(またはポリライン)を形成する。
(4) このスプラインを等間隔に分割する。(例えば48等分) 
(5) 卵の両端にて連続した3点を通る円を描き、その円の中心と円を描いた3点の中点とを結ぶ線を引く。
(6) これが両端の弧の半径とY-軸の定義に繋がる。縮閉線の点1 と 5 が定義される。
(7) スプラインの右半分を12等分の長さに分割する。縮閉線の点を定義するのにこれらの点を用いる。 縮閉線の点3 を定義する。
(8) 縮閉線の点2 と 4 を根軸のアイデアを使って求める。
(9) これで縮閉線の点1 から 5 が定義され、"digital egg"の右側部分を形成する5つの弧が描かれる。

--ステップ 1 --デジタルカメラを使って本物の卵の写真を撮る


ここでの鶏卵の写真イメージ例(egg_42_in_ACAD.dwg )

ある爽やかな朝、私は4つの卵を冷蔵庫から出し、傷つけないように注意しながら茹でた。暫くして茹卵が冷えた後、これらの写真を撮った。
その際、卵は対称軸がテーブルに対して水平になるように置き、できる限りテーブルの基準線に近づくように揃えた。
テーブル上のグリッドの幅は1インチである。卵のサイズは縦が約2.5 インチで横が2 インチである。

デジタル写真のイメージファイルはJPGフォーマットなので、オートキャドには簡単に取り込むことができる。
上の写真はうまくピントの合ったイメージである。この卵の対称軸は私の努力にも関わらず左方向へ少しずれてしまっているのが判る。
ここでまず最初にやることは、取り込んだイメージを基に対称軸(Y-軸)を決めることである。

筆者は、卵の上端部と下端部の半径について次のような仮定を設けた。

"卵の上端部と下端部における弧の中心は、対称軸(及び回転軸)上にある。"

--ステップ 2 --卵の形状のデジタイズにはCAD を使う


*********** egg_42_digitized.dwg *********** ********** egg_42_top_end_2.dwg ********** ********** egg_42_top_end_3.dwg *********

卵の形状に沿って点をつける。これらの点は次のステップでスプラインを決めるのに用いる。 デジタイズした卵 (ref dwg : egg_42_digitized.dwg)


*********** egg_42_normalized_1.dwg ********** ********** egg_42_normalized_4.dwg **********

--ステップ 4 --根軸を使って縮閉線の点を求める


*********************** egg_42_evolute_3.dwg ***********************

--Step 5 --5つの縮閉線の点を使って弧を描く


************** egg_42_start.dwg ************** ************** egg_42_end.dwg *************** ********** egg_42_end_evolute_arc.dwg **********

参考文献

  1. Dixon, Robert : Mathographics. New York: Dover Publications, p.3-11,75-78,159. 1987.


  卵の描き方     ホームページの内容目次に戻る

質問、問い合わせは 筆者 岩本 卓也 宛てにお願いします。

Last Updated July 9-th, 2006

Copyright 2006 Takaya Iwamoto   All rights reserved.