2017-06

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Googleの関数グラフでミ○キーマウス

Googleの検索で関数をグラフ表示する機能が付きましたね(ニュース記事)。

こちらのツイートに触発されて、私も何か描いてみたくなりました(ちなみにズレてるようですがこんなのもありました)。

tweet_replore

たまたま昨日こんな動画を見てました。




 

というわけで、ネズミを描くとします。

塗りつぶされた円を描くには半円の陽関数sqrt(1-x^2)に、cos(50*x)のような周波数の高い正弦波を掛け合わせます。

sqrt(1-x^2)*cos(50*x)

graph1

アスペクト比が自動なので楕円形になっていますが、今は気にしません。

耳の部分を描くには、先ほどの円を応用して、sqrt(0.5-(x-1)^2)とすることにより、一回り小さい円を右にずらします。そしてxをabs(x)とすることにより、左側にコピーします。上にずらすために定数(1.2)を足します。

1.2+sqrt(0.5-(abs(x)-1)^2)*cos(50*x)

graph2

そして上2式を重ねます。

カンマ区切りで重ねて表示できるのですが、どうも先に書いた方にフォーカスしてしまうようで、全体表示できません。

graph3

graph4

 

ここが一番苦心したところですが、表示範囲を調整するためのグラフを追加します。

2*sin(10*sqrt(pi^2-100*abs(2-abs(x))))

graph5

sqrt(pi^2-100*abs(2-x))で、高さπの細いパルスを立たせます。

そしてそれを上下に振って塗りつぶすためにsinに入れて、引き伸ばすために定数(2)を掛けます。

 

これらを組み合わせて、以下のグラフが出来上がりました。

2*sin(10*sqrt(pi^2-100*abs(2-abs(x)))),sqrt(1-x^2)*cos(50*x),1.2+sqrt(0.5-(abs(x)-1)^2)*cos(50*x)

mouse_google_graph

 

オプション(あるのか?)や関数の一覧などがあるともっと凝ったことができそうです。

これからどう変わっていくのかが気になるところです。

 

ちなみに、単純なプロットツールだと、1/xやtan(x)を表示させるときに+∞と-∞が縦線で結ばれてしまうなどといった現象が起きたり、sin(10000x)のような振動が激しい関数でモアレのような現象が起きたりするものですが、Googleのグラフ描画ではそのような問題も起きないようです。(しかもちゃんと表示できないかもしれない場合にその旨を注意してくれる。)さすがです。

スポンサーサイト

テーマ:Google - ジャンル:コンピュータ

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

http://butchi.blog42.fc2.com/tb.php/109-8092bbc2
この記事にトラックバックする(FC2ブログユーザー)

«  | HOME |  »

プロフィール

ぶっち

Author:ぶっち
面白法人に勤める男。

趣味: 数学、コンピュータ、CG鑑賞・制作、アカペラ(ベース、パーカッション)
自分をモノにたとえると、"次世代OS搭載の旧世代PC"
http://butchi.jp/

Twitter

最近の記事

カテゴリー

月別アーカイブ

最近のトラックバック

ブログ内検索

RSSフィード

ブロとも申請フォーム

この人とブロともになる

QRコード

QRコード

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。