鹿目まどかのグラフを作ってみたはくちょう座のブログこのブログは、数学とアニメとlinuxに傾いています。先日、鹿目まどかのグラフを見ました。探してみたら、他のキャラクターのグラフもあるようです。初音ミクのグラフこれらのグラフに共通して言えるのは、グラフが一筆書きということです。リサージュ図形でフーリエ変換??残念ながら私は理解することが出来ませんでした。そこで、私はこれとは別のアプローチで鹿目まどかのグラフを表そうと考えました。以前から構想はあったので、どの姿をグラフにしようかは考えていました。こちらのページの右上の鹿目まどかです。グラフをつくるにあたって以下の3つの方法が思い浮かんだので紹介します。1ブロックごとで考えてグラフにする$a≦x≦b,c≦y≦d$を塗りつぶすようなグラフは、\[(((x-a)(x-b)+|(x-a)(x-b)|)^2+((y-c)(y-d)+|(y-c)(y-d)|)^2)=0\]で表すことが出来ます。この式を利用して最初は鹿目まどかのグラフを描こうとしました。必要な式の数が圧倒的に大きく、また心が折れてしまったので断念しました。以下にあるのはこの方式で作った参考画像です。左の画像の詳細についてはなもり先生のグラフを書いてみたに載っています。23次関数を組み合わせることでグラフにするこれは、座標とその点においてのベクトルを決めるだけで決まります。点Aと点Bの間でグラフの傾きが0になることがあるので意図していた形と違うものが出力されるのでこの案は却下しました。具体的な方法:点A$(x_{1},y_{1})$,傾きが$z_{1}$,点B$(x_{2},y_{2})$,傾きが$z_{2}$,これを満たす3次関数$y=a_{1}x^3+a_{2}x^2+a_{3}x+a_{4}$について、$a_{1},a_{2},a_{3},a_{4}$を、$x_{1},x_{2},y_{1},y_{2},z_{1},z_{2}$を用いて表す事を考える。$x_{1}{\neq}x_{2}$一般化には成功したものの前述の理由で却下。32次関数にパラメーターを加えることでグラフにする2次関数の場合、2点の傾きの合計が一定になるので、一方の点の傾きを定めれば、ある程度意図した形のグラフをつくることができます。具体的な方法:点A$(x_{1},y_{1})$,点B$(x_{2},y_{2})$これを満たす2次関数$y=a_{1}x^2+a_{2}x+a_{3}$について考える。この時、2点の傾きの合計$z_{1}+z_{2}$は、$2\times\frac{y_{2}-y_{1}}{x_{2}-x_{1}}$に等しくなる。$a_{1},a_{2},a_{3}$を定めるため、点Aの傾き$z_{1}$を、$z_{1}=(1-k)\times\frac{y_{2}-y_{1}}{x_{2}-x_{1}}$とおく。すると、点Bの傾き$z_{2}$は、$z_{2}=(1+k)\times\frac{y_{2}-y_{1}}{x_{2}-x_{1}}$となり、都合が良い。ちなみに、$k=0$とおけば、直線になる。後は、$x_{1},x_{2},y_{1},y_{2},k$を用いて$a_{1},a_{2},a_{3}$を表す。$x_{1}{\neq}x_{2}$。これも一般化に成功した。手作業でグラフの式を出すことも可能ですが、時間がかかってしまうのでプログラムをつくって、座標と$k$を入力するだけで、グラフの式を出力するようにしました。以下が鹿目まどかの式です。コピーアンドペーストすることでグラスソフトで表示を行うことも出来ますが式の読み込みを行うと5分以上グラフソフトがフリーズすると考えてください。取り扱いには十分ご注意ください。全部で64119文字です。