円上の点の高さを測ってみよう!Sinはエンジニアに必須のツール!

春もスタートし、そろそろ使い出しているエンジニアの卵もいることであろうエンジニアの必須ツール「三角関数」。僕がはじめてsinを知った27年前、衝撃のあまり固まった記憶があります。sinを使えばこの先のエンジニア人生はとても楽なものになることでしょう。というわけで、少し解説を。

「円上のある一点の高さ H を知りたい」という人がいました。そのためには鉛筆で紙に円を描いてテキトーな点を打ち、定規で高さを測ります。「ある点」の場所を伝えるために、中心の角度θを使います。「30˚」と言えば「X軸方向から反時計回りに30˚の位置の点」ということで、これなら相手に伝えやすい。

というわけでひとまず人間がよく使う角度 0˚, 30˚, 45˚, 60˚, 90˚, 120˚, 135˚, 150˚, 180˚ あたりを定規で測ってみたのがこちら。円の大きさはテキトーに半径1mにしました。ちゃんと90˚の時に1.00mになっていますね。0˚と180˚の時はもちろん高さ0mです。それらの間の点はどうなっているでしょう?

ざっくりプロットしてみました。なんとなく綺麗な山型になっていますね。180˚以降は高さがマイナスになり、下向きの山があらわれるはずです。

今回は半径1mの円で計測しましたが、相似の関係から半径が2mなら高さも2倍、3mなら3倍になることでしょう。1˚ずつもっと細かく測って360˚分のメモを持ち歩けば、知りたい時にいつでもどの点の高さでも知ることができますね。

360˚分のメモを持ち歩くのは大変、コンピュータに任せましょう。IchigoLatte JavaScript には sin8 というコマンドがあり、点の位置(角度)を渡すと高さを返してくれます(半径256)。

画面にプロットすればこんな感じ、sin(高さ)のグラフはきれいですね。cosはY軸方向を0˚にするだけ、自分の首を90˚かたむければいいでしょう。

「だから、これがいったい何なの?」って思いますよね。そう、僕もそう思いました。「円上の点の高さを知りたいなんて、クレイジーな人だ」ってね。

大丈夫、半年もすればあなたもクレイジー。君もノートに円を描いて定規で高さを測ってレポートを書いてみよう!









.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s