TDCC Laboratory
TDCC 研究室

   HOME ENGLISH                                         

ハート形の曲線 II

山本 信雄

本ページの図形は自由にコピーして自由にご使用できます。

1.   はじめに

    ハート形曲線は

  Heart Curve - Mathematische Basteleien

および、First heart Curve - Wolfram|Alpha

および、 Heart Curve -- from Wolfram MathWorld

のサイトに代表して見られます。

    ここでは、カージオイド曲線からハート形に変形することを試みます。
    1つの方法は、カージオイドの丸い底の位相角を単純に狭めて角度を作ること、もう1つは、 カージオイドの底に角度を付けるような位相角の変換を行うこと、の2方法を考えてみました。



図1  カージオイド曲線
2.   方法1

    カージオイド曲線は

Masasi Sanae (早苗雅史)氏のサイト

および、 Wolfram Math World

に紹介されていますが、その形の縦と横を入れ替えたときの方程式は次のように表されます。
           ,                       (1)
ただし、 は動径、 は位相角を示します。
    図1に示すように、原点の位置をカージオイドの底に移すことにします。図1より、
           .
           ,                       (2)
ただし、。   さらに、図1より、

          
なので、(1)、(2)式を代入して、


図2  の定義

           ,                       (3)
ただし、

    また、カージオイドの新角度 は図1より
           ,                       (4)
ただし、



図3  位相角 から への変換

    次に、カージオイドの底が、ハート形に移行するハートの底の与えられた角度 (図2)になるように、 カージオイドの新位相角 からハート形を表示する新位相角 に、 図3に示すように変換します。この変換式は次のようになります。
           .                       (5)
    これに(4)式を代入すると、 から への変換式が次のように求まります。
           .                       (6)

    ハート形曲線の 座標は次の2式で得られます。
           .                       (7)
           ,                       (8)
ただし、(8)式中の係数 は圧縮率を示します。これがないと、ハート形が縦方向に伸びた形になるからです。

    (2)式、(3)式、(6)式、(7)式、および、(8)式を計算することにより、ハート形曲線の 座標が求められます。 こうして得られた図形の例を図4から図8に示します。 ただし、一貫して としました。 理由は、係数 はハートの大きさのみに関係し、ハートの形に無関係だからです。

図4
図5

図6a
図6b  =30°, b=20%

図6c  =30°, b=23%
図7a  =45°, b=25%

図7b  =45°, b=30%
図7c  =45°, b=35%

図8a  =60°, b=35%
図8b  =60°, b=40%

図8c  =60°, b=45%
図9a  =90°, b=50%

図9b
図10  =120°, b=80%

    上図を着色すると次のようです。

図4 α=5°, b=3% 図5 α=15°, b=10% 図6a α=30°, b=18% 図6b α=30°, b=20% 図6c α=30°, b=23% 図7a α=45°, b=25% 図7b α=45°, b=30% 図7c α=45°, b=35% 図8a α=60°, b=35% 図9b α=90゜, b=55% 図10 α=120°, b=80% 図8b α=60°, b=40% 図8c α=60°, b=45% 図9a α=90°, b=50%

    上図をアニメーションで示しますと次のようです。 なお、画像の自動切り替え方法はこちら 画像の切り替え法を参考にしました。




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


3.   方法2

    ここでは、カージオイドの底に角度を付けるような位相角の変換を行います。1つの考え方は図11c のように、 カージオイドの位相角 (図11a)から ハート曲線の位相角 (図11b)に変換することです。この変換関数をとして、
           .                       (9a)
    この形を実現する変換式として、ここでは、平方根関数と直線の式 の合成を用いて次のように構成してみます。
           ,                       (9b)
ここに、 は変換の強さを示す正の任意の係数と考えます。 ただし、図11c に見られるように には周期性がなく、 の範囲にのみ適用されます。
    なお、(9b)式の平方根関数を使う代わりに逆三角関数で図11c を表現した場合をハート形曲線Ⅱb (こちら ハート形2b)に示します。

図11a  カージオイド
図11b  ハート形曲線

図11c  位相角 から への変換

    こうして、カージオイドの底に角度をなすように変換できます。
    綺麗きれいなハートに形にするために、もう1種の変換の強さを表す係数 と縦方向に伸縮する係数 座標表示にする次の変換式に組み入れます。
           ,                         (10a)
および、
           ,                       (10b)
ただし、
           .                       (11)

    (9a)式、(9b)式、(10a)式、(10b)式、および、(11)式を計算することにより、ハート形曲線の 座標が求められます。 こうして得られた図形の例を図12から図24に示します。 ただし、一貫して としました。 理由は、係数 はハートの大きさのみに関係し、ハートの形に無関係だからです。

図12a  b=1, c=0.3, d=1
図12b  b=1, c=0.4, d=1

図12c  b=1, c=0.4, d=1.1
図13a  b=1.2, c=0.4, d=1

図13b  b=1.2, c=0.5, d=1.1
図13c  b=1.2, c=0.6, d=1.2

図14a  b=1.5, c=0.5, d=0.95
図14b  b=1.5, c=0.5, d=1

図14c  b=1.5, c=0.6, d=1
図14d  b=1.5, c=0.6, d=1.05

図14e  b=1.5, c=0.6, d=1.1
図14f  b=1.5, c=0.6, d=1.15

図14g  b=1.5, c=0.6, d=1.2
図14h  b=1.5, c=0.65, d=1

図14i  b=1.5, c=0.65, d=1.1
図14j  b=1.5, c=0.65, d=1.2

図14k  b=1.5, c=0.65, d=1.3
図14l  b=1.5, c=0.7, d=1

図14m  b=1.5, c=0.7, d=1.2
図14n  b=1.5, c=0.7, d=1.4

図15a  b=1.65, c=0.6, d=1
図15b  b=1.65, c=0.6, d=1.1

図16a  b=1.8, c=0.3, d=0.7
図16b  b=1.8, c=0.3, d=0.8

図17a  b=1.8, c=0.5, d=0.8
図17b  b=1.8, c=0.5, d=0.9

図17c  b=1.8, c=0.5, d=1
図18a  b=1.8, c=0.6, d=1

図18b  b=1.8, c=0.6, d=1.1
図19a  b=1.8, c=0.67, d=1

図19b  b=1.8, c=0.67, d=1.05
図19c  b=1.8, c=0.67, d=1.1

図19d  b=1.8, c=0.67, d=1.15
図19e  b=1.8, c=0.67, d=1.2

図19f  b=1.8, c=0.7, d=1
図19g  b=1.8, c=0.7, d=1.05

図19h  b=1.8, c=0.7, d=1.1
図19i  b=1.8, c=0.7, d=1.15

図19j  b=1.8, c=0.7, d=1.2
図19k  b=1.8, c=0.7, d=1.25

図19l  b=1.8, c=0.7, d=1.3
図19m  b=1.8, c=0.7, d=1.35

図19n  b=1.8, c=0.7, d=1.4
図20a  b=2, c=0.3, d=0.7

図20b  b=2, c=0.3, d=0.8
図20c  b=2, c=0.5, d=0.7

図20d  b=2, c=0.5, d=0.8
図21a  b=2, c=0.6, d=0.9

図21b  b=2, c=0.65, d=1
図21c  b=2, c=0.7, d=1

図21d  b=2, c=0.7, d=1.05
図21e  b=2, c=0.7, d=1.1

図21f  b=2, c=0.7, d=1.15
図21g  b=2, c=0.7, d=1.2

図21h  b=2, c=0.7, d=1.25
図21i  b=2, c=0.7, d=1.3

図21j  b=2, c=0.7, d=1.4
図21k  b=2, c=0.73, d=1

図21l  b=2, c=0.73, d=1.1
図21m  b=2, c=0.73, d=1.2

図21n  b=2, c=0.73, d=1.3
図21o  b=2, c=0.73, d=1.4

図22a  b=2.2, c=0.7, d=0.8
図22b  b=2.2, c=0.7, d=0.9

図22c  b=2.2, c=0.7, d=1
図22d  b=2.2, c=0.7, d=1.05

図22e  b=2.2, c=0.7, d=1.1
図22f  b=2.2, c=0.7, d=1.15

図22g  b=2.2, c=0.75, d=1
図22h  b=2.2, c=0.75, d=1.1

図22i  b=2.2, c=0.75, d=1.2
図22j  b=2.2, c=0.75, d=1.25

図22k  b=2.2, c=0.75, d=1.3
図23a  b=2.5, c=0.7, d=0.8

図23b  b=2.5, c=0.78, d=1
図23c  b=2.5, c=0.78, d=1.1

図23d  b=2.5, c=0.78, d=1.2
図23e  b=2.7, c=0.78, d=0.95

図23f  b=2.7, c=0.78, d=1
図23g  b=2.7, c=0.78, d=1.05

図23h  b=2.7, c=0.82, d=1
図23i  b=2.7, c=0.82, d=1.1

図23j  b=2.7, c=0.82, d=1.2

    上図を着色すると次のようです。

図12a b=1, c=0.3, d=1 図12b b=1, c=0.4, d=1 図12c b=1, c=0.4, d=1.1 図13a b=1.2, c=0.4, d=1 図13b b=1.2, c=0.5, d=1.1 図13c b=1.2, c=0.6, d=1.2 図14a b=1.5, c=0.5, d=0.95 図14b b=1.5, c=0.5, d=1 図14c b=1.5, c=0.6, d=1 図14d b=1.5, c=0.6, d=1.05 図14e b=1.5, c=0.6, d=1.1 図14f b=1.5, c=0.6, d=1.15 図14g b=1.5, c=0.6, d=1.2 図14h b=1.5, c=0.65, d=1 図14i b=1.5, c=0.65, d=1.1 図14j b=1.5, c=0.65, d=1.2 図14k b=1.5, c=0.65, d=1.3 図14l b=1.5, c=0.7, d=1 図14m b=1.5, c=0.7, d=1.2 図14n b=1.5, c=0.7, d=1.4 図15a b=1.65, c=0.6, d=1 図15b b=1.65, c=0.6, d=1.1 図16a b=1.8, c=0.3, d=0.7 図16b b=1.8, c=0.3, d=0.8 図17a b=1.8, c=0.5, d=0.8 図17b b=1.8, c=0.5, d=0.9 図17c b=1.8, c=0.5, d=1 図18a b=1.8, c=0.6, d=1 図18b b=1.8, c=0.6, d=1.1 図19a b=1.8, c=0.67, d=1 図19b b=1.8, c=0.67, d=1.05 図19c b=1.8, c=0.67, d=1.1 図19d b=1.8, c=0.67, d=1.15 図19e b=1.8, c=0.67, d=1.2 図19f b=1.8, c=0.7, d=1 図19g b=1.8, c=0.7, d=1.05 図19h b=1.8, c=0.7, d=1.1 図19i b=1.8, c=0.7, d=1.15 図19j b=1.8, c=0.7, d=1.2 図19k b=1.8, c=0.7, d=1.25 図19l b=1.8, c=0.7, d=1.3 図19m b=1.8, c=0.7, d=1.35 図19n b=1.8, c=0.7, d=1.4 図20a b=2, c=0.3, d=0.7 図20b b=2, c=0.3, d=0.8 図20c b=2, c=0.5, d=0.7 図20d b=2, c=0.5, d=0.8 図21a b=2, c=0.6, d=0.9 図21b b=2, c=0.65, d=1 図21c b=2, c=0.7, d=1 図21d b=2, c=0.7, d=1.05 図21e b=2, c=0.7, d=1.1 図21f c=0.7, d=1.15 図21g b=2, c=0.7, d=1.2 図21h b=2, c=0.7, d=1.25 図21i b=2, c=0.7, d=1.3 図21j b=2, c=0.7, d=1.4 図21k b=2, c=0.73, d=1 図21l b=2, c=0.73, d=1.1 図21m b=2, c=0.73, d=1.2 図21n b=2, c=0.73, d=1.3 図21o b=2, c=0.73, d=1.4 図22a b=2.2, c=0.7, d=0.8 図22b b=2.2, c=0.7, d=0.9 図22c b=2.2, c=0.7, d=1 図22d b=2.2, c=0.7, d=1.05 図22e b=2.2, c=0.7, d=1.1 図22f b=2.2, c=0.7, d=1.15 図22g b=2.2, c=0.75, d=1 図22h b=2.2, c=0.75, d=1 図22i b=2.2, c=0.75, d=1 図22j b=2.2, c=0.75, d=1.25 図22k b=2.2, c=0.75, d=1.3 図23a b=2.5, c=0.7, d=0.8 図23b b=2.5, c=0.78, d=1 図23c b=2.5, c=0.78, d=1.1 図23d b=2.5, c=0.78, d=1.2 図23e b=2.7, c=0.78, d=0.95 図23f b=2.7, c=0.78, d=1 図23g b=2.7, c=0.78, d=1.05 図23h b=2.7, c=0.82, d=1 図23i b=2.7, c=0.82, d=1.1 図23j b=2.7, c=0.82, d=1.2

    上図をアニメーションで示しますと次のようです。 なお、画像の自動切り替え方法はこちら 画像の切り替え法を参考にしました。


    これ以外にも別方法にて、さらによい形のハート形がハート形曲線Ⅱb (こちら ハート形2b)にあります。

    以上、ハート形曲線を描く元のデータを集めると、ハート形曲線が存在する各パラメータ および の範囲が分かります。 これを図24に示します。

図24 ハート形曲線が存在する各パラメータ
および の範囲

ピンク色が存在範囲で、青色のドットが
ハート形曲線を描かせたときのデータ点


    (9a)式、(9b)式、(10a)式、(10b)式、および、(11)式を数値計算して1個のハート形曲線を得るための C++ プログラムはこちら ハート形曲線群の計算プログラム 2です。 画面表示のプログラムをマウスでドラッグしてコピーを取ると、自由にご利用できます。
    C++ の計算方法、および、ハート形曲線の描画方法は、前記と同様です。

    ハート形以外の曲線も次のように得られます。

図25a
図25b

図25c
図25d

図25e
図25f

    上図を着色すると次のようです。

図25a b=2.5, c=1, d=1.2 図25b b=2.5, c=0.95, d=1 図25c b=2.5, c=0.9, d=0.9 図25d b=2.5, c=0.9, d=1 図25e b=2.5, c=1.1, d=1.1 図25f b=2.5, c=2, d=1


4.   方法3

    方法2によるハート図形の上の切れ込みをより深く、より広くすることを試みます。このために、(10a)式はそのままに、(10b)式を次のように変えます。
           ,                       (12)
ただし、 は(10)式で与えられ、 は新たな定数です。

    (9)式、(10a)式、(11)式、および、(12)式を計算することにより、ハート形曲線の 座標が求まります。 こうして得られた図形の例を図26から図32に示します。ただし、 としました。 なお、図26は図14b から、図27は図15から、図28は図18から、図29は図19b, c から、図30は図22e から、図31は図23c から、図32は図24c からの変形です。

図26a
図26b

図26c
図26d

図27a
図27b

図27c
図27d

図28a
図28b

図28c
図28d

図29a
図29b

図29c
図29d

図30a
図30b

図31a
図31b

図32a
図32b

    上図を着色すると次のようです。

図26a b=1.5, c=0.5, d=1, p=0.1 図26b b=1.5, c=0.5, d=1, p=0.2 図26c b=1.5, c=0.5, d=1.1, p=0.1 図26d b=1.5, c=0.5, d=1.1, p=0.2 図27a b=1.65, c=0.6, d=1, p=0.1 図27b b=1.65, c=0.6, d=1, p=0.2 図27c b=1.65, c=0.6, d=1.1, p=0.1 図27d b=1.65, c=0.6, d=1.1, p=0.2 図28a b=1.8, c=0.6, d=0.95, p=0.1 図28b b=1.8, c=0.6, d=1, p=0.1 図28c b=1.8, c=0.6, d=1.05, p=0.1 図28d b=1.8, c=0.6, d=1, p=0.2 図29a b=1.8, c=0.7, d=1.1, p=0.1 図29b b=1.8, c=0.7, d=1.1, p=0.2 図29c b=1.8, c=0.7, d=1.1, p=0.2 図29d b=1.8, c=0.7, d=1.2, p=0.2 図30a b=2, c=0.7, d=1.1, p=0.1 図30b b=2, c=0.7, d=1.1, p=0.2 図31a b=2.2, c=0.7, d=1, p=0.1 図31b b=2.2, c=0.7, d=1, p=0.2 図32a b=2.5, c=0.78, d=1.1, p=0.1 図32b b=2.5, c=0.78, d=1.1, p=0.2

    上図をアニメーションで示しますと次のようです。 なお、画像の自動切り替え方法はこちら 画像の切り替え法を参考にしました。




    (9)式、(10a)式、(11)式、および、(12)式を数値計算して1個のハート形曲線を得るための C++ プログラムはこちら ハート形曲線群の計算プログラム 3です。 画面表示のプログラムをマウスでドラッグしてコピーを取ると、自由にご利用できます。
    C++ の計算方法、および、ハート形曲線の描画方法は、前記と同様です。


5.   方法4

    方法3 と同じ考え方で、(10a)式はそのままに、(10b)式を次のように変えます。
           ,                       (13)
ただし、 は(10a)式で与えられ、 は新たな定数です。

    (9)式、(10a)式、(11)式、および、(13)式を計算することにより、ハート形曲線の 座標が求まります。 こうして得られた図形の例を図33から図39に示します。ただし、 としました。 なお、図33は図14b から、図34は図15から、図35は図18から、図36は図19b と図19c から、図37は図22e から、図38は図23c から、図39は図24c からの変形です。

図33a
図33b

図34a
図34b

図34c
図34d

図35a
図35b

図35c
図35d

図36a
図36b

図36c
図36d

図37a
図37b

図38a
図38b

図39a
図39b

図33a b=1.5, c=0.5, d=1, p=0.1 図33b b=1.5, c=0.5, d=1, p=0.2 図34a b=1.65, c=0.6, d=1, p=0.1 図34b b=1.65, c=0.6, d=1, p=0.2 図34c b=1.65, c=0.6, d=1.1, p=0.1 図34d b=1.65, c=0.6, d=1.1, p=0.2 図35a b=1.8, c=0.6, d=0.95, p=0.1 図35b b=1.8, c=0.6, d=1, p=0.1 図35c b=1.8, c=0.6, d=1.05, p=0.1 図35d b=1.8, c=0.6, d=1, p=0.2 図36a b=1.8, c=0.7, d=1.1, p=0.1 図36b b=1.8, c=0.7, d=1.1, p=0.1 図36c b=1.8, c=0.7, d=1.2, p=0.1 図36d b=1.8, c=0.7, d=1.2, p=0.2 図37a b=2, c=0.7, d=1.1, p=0.1 図37b b=2, c=0.7, d=1.1, p=0.2 図38a b=2.2, c=0.7, d=1, p=0.1 図38b b=2.2, c=0.7, d=1, p=0.2 図39a b=2.2, c=0.78, d=1.1, p=0.1 図39b b=2.2, c=0.78, d=1.1, p=0.2

    上図をアニメーションで示しますと次のようです。 なお、画像の自動切り替え方法はこちら 画像の切り替え法を参考にしました。




    (9)式、(10a)式、(11)式、および、(13)式を数値計算して1個のハート形曲線を得るための C++ プログラムはこちら ハート形曲線群の計算プログラム 4です。 画面表示のプログラムをマウスでドラッグしてコピーを取ると、自由にご利用できます。
    C++ の計算方法、および、ハート形曲線の描画方法は、前記と同様です。


6.   方法5

    方法1によるハート図形の上の切れ込みをより深く、より広くすることを試みます。このために、(7)式はそのままに、(8)式を次のように変えます。
           ,                       (14)
ただし、 は(7)式で与えられ、 は新たな定数です。

    (2)式、(3)式、(6)式、(7)式、および、(14)式を計算することにより、ハート形曲線の 座標が求まります。 こうして得られた図形の例を図40から図45に示します。ただし、 としました。 なお、図40は図4 から、図41は図6b から、図42は図7b から、図43は図8 から、図44は図9b から、図45は図10 からの変形です。

図40
図41

図42
図43a

図43b
図44

図45

    上図を着色すると次のようです。

図40 α=5°, b=3%, p=0.1 図41 α=30°, b=20%, p=0.1 図42 α=45°, b=30%, p=0.1 図43a α=60°, b=37%, p=0.1 図43b α=60°, b=3%, p=0.1 図44 α=90°, b=55%, p=0.1 図45 α=120°, b=80%, p=0.2

    上図をアニメーションで示しますと次のようです。 なお、画像の自動切り替え方法はこちら 画像の切り替え法を参考にしました。





    (2)式、(3)式、(6)式、(7)式、および、(14)式を数値計算して1個のハート形曲線を得るための C++ プログラムはこちら ハート形曲線群の計算プログラム 5です。 画面表示のプログラムをマウスでドラッグしてコピーを取ると、自由にご利用できます。
    C++ の計算方法、および、ハート形曲線の描画方法は、前記と同様です。


7.   方法6

    方法5 と同じ考え方で、(7)式はそのままに、(8)式を次のように変えます。
           ,                       (15)
ただし、 は(7)式で与えられ、 は新たな定数です。

    (2)式、(3)式、(6)式、(7)式、および、(15)式を計算することにより、ハート形曲線の 座標が求まります。 こうして得られた図形の例を図46から図51に示します。ただし、 としました。 なお、図46は図4 から、図47は図6b から、図48は図7b から、図49は図8 から、図50は図9b から、図51は図10 からの変形です。

図46
図47

図48
図49a

図49b
図50a

図50b
図51a

図51b
図51c

    上図を着色すると次のようです。

図46 α=5°, b=3%, p=0.02 図47 α=20°, b=20%, p=0.03 図48 α=45°, b=30%, p=0.03 図49a α=60°, b=37%, p=0.05 図49b α=60°, b=37%, p=0.18 図50a α=90°, b=55%, p=0.08 図50b α=90°, b=55%, p=0.18 図51a α=120°, b=80%, p=0.15 図51b α=120°, b=80%, p=0.3 図51c α=120°, b=75%, p=0.25

    上図をアニメーションで示しますと次のようです。 なお、画像の自動切り替え方法はこちら 画像の切り替え法を参考にしました。




    (2)式、(3)式、(6)式、(7)式、および、(15)式を数値計算して1個のハート形曲線を得るための C++ プログラムはこちら ハート形曲線群の計算プログラム 6です。 画面表示のプログラムをマウスでドラッグしてコピーを取ると、自由にご利用できます。
    C++ の計算方法、および、ハート形曲線の描画方法は、前記と同様です。


8.   方法7    

図52   を動径方向に 倍して
変形されたカージオイド曲線

前述の方法2の(10a)式と(10b)式に組み込んだ係数 による整形の考え方を、上述の方法5に適用することを試みます。 方法5の元は方法1なので、 倍して書き換えること、すなわち、 (1)式を次のように書き直した式が(10a)式と(10b)式に相当する式となります。
           ,                       (16)
ただし、 は図51に示す位相角を表します。 図51は、 倍された結果として、 図1が変更されたもので、縦軸方向の径の長さが から に変わります。 また、(2)式の代わりに、(2)式の直ぐ上の式から導かれる次式を用いなければなりません。
           .                       (17)
さらに、(3)式の代わりに、(3)式の直ぐ上の式から導かれる次式を用います。
           .                       (18)
    一方、(4)式、(5)式、(6)式、および、(7)式、また、図2、および、図3はここでもこのまま適用されますが、(8)式の代わりに(14)式を使います。

    (16)式、(17)式、(18)式、(6)式、(7)式、および、(14)式を計算することにより、ハート形曲線の 座標が求まります。 こうして得られた図形の例を図53から図54に示します。ただし、 としました。 なお、図53は図40 から、図54は図43 からの変形です。

図53a
図53b

図53c
図53d

図54a
図54b

図54c
図54d

    上図を着色すると次のようです。

図53a α=5°, b=3.5%, c=0.2, p=0 図53b α=5°, b=3.5%, c=0.3, p=0 図53c α=5°, b=3.5%, c=0.1, p=0.1 図53d α=5°, b=3.5%, c=0.2, p=0.1 図54a α=60°, b=37%, c=0.2, p=0 図54b α=60°, b=45%, c=0.2, p=0 図54c α=60°, b=37%, c=0.1, p=0.1 図54d α=60°, b=45%, c=0.2, p=0.1

    上図をアニメーションで示しますと次のようです。 なお、画像の自動切り替え方法はこちら 画像の切り替え法を参考にしました。




    (16)式、(17)式、(18)式、(6)式、(7)式、および、(14)式を数値計算して1個のハート形曲線を得るための C++ プログラムはこちら ハート形曲線群の計算プログラム 7です。 画面表示のプログラムをマウスでドラッグしてコピーを取ると、自由にご利用できます。
    C++ の計算方法、および、ハート形曲線の描画方法は、前記と同様です。


9.   方法8

    前述の方法2の(10a)式と(10b)式に組み込んだ係数 による整形の考え方を、上述の方法6に適用することを試みます。 考え方は、上述の方法7と同じで、図2、図3、図52、および、(16)式、(17)式、(18)式、(4)式、(5)式、(6)式、および、(7)式が適用されますが、 (8)式の代わりに、(15)式を用います。

    (16)式、(17)式、(18)式、(6)式、(7)式、および、(15)式を計算することにより、ハート形曲線の 座標が求まります。 こうして得られた図形の例を図55から図56に示します。ただし、 としました。 なお、図55は図46 から、図56は図49 からの変形です。

図55a
図55b

図55c
図55d

図56a
図56b

図56c
図56d

    上図を着色すると次のようです。

図55a α=5°, b=3.5%, c=0.1, p=0 図55b α=5°, b=3.5%, c=0.2, p=0 図55c α=5°, b=3.5%, c=0.1, p=0.02 図55d α=5゜, b=3%, c=0.1, p=0.04 図56a α=60°, b=37%, c=0.1, p=0 図56b α=60°, b=45%, c=0.2, p=0 図56c α=60°, b=37%, c=0.1, p=0.05 図56d α=60°, b=37%, c=0.1, p=0.1

    上図をアニメーションで示しますと次のようです。 なお、画像の自動切り替え方法はこちら 画像の切り替え法を参考にしました。




    (16)式、(17)式、(18)式、(6)式、(7)式、および、(15)式を数値計算して1個のハート形曲線を得るための C++ プログラムはこちら ハート形曲線群の計算プログラム 8です。 画面表示のプログラムをマウスでドラッグしてコピーを取ると、自由にご利用できます。
    C++ の計算方法、および、ハート形曲線の描画方法は、前記と同様です。



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

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


HOME

Updated: 2009.02.16, edited by N. Yamamoto.
Revised on Apr. 23, 2010, Dec. 10, 2011, Aug. 05, 2012, Sep. 04, 2013, Jan.09, 2014, Jan. 14, 2014, Feb. 06, 2015, Mar. 16, 2015, Dec. 20, 2015, Jul. 22, 2016, May 05, 2020, May 16, 2020, May 24, 2020, Jun. 06, 2020, Aug. 06, 2020, Aug. 09, 2020, Aug. 24, 2020, Aug. 30, 2020, Oct. 18, 2020, Nov. 01, 2020, Jan. 18, 2021, May 08, 2021, Feb. 23, 2022, Mar. 08, 2022 and Aug. 20, 2022.