MMF2/CF25で三角関数などを扱う場合の注意点、その2


前回までのお話:「CF25 の電卓は Degree (度)モードなのだ」

では続きのお話っていうか、まず実際体験してみてください Check it out !

参考:CF25 の電卓使って計算した結果/ Degree(度)モード.
おまけ:Atan2 を使った角度の求め方:実践編(キーボードで操作可能).
ダウンロード:サンプルファイル(mfa in zip)

HTML5 の出力結果と以下の画像の計算結果を見比べてみて。画像では Sin(1) を Degree モードで計算してます。

windows7_calc電卓の Degree モードでの計算結果

実際に電卓を起動して自分で計算して結果を確認してみるのが一番良いです。電卓の起動方法は以下。

searchまずスタートメニューから「プログラムとファイルの検索」を使って電卓アプリを呼び出します
calc_exe「プログラムとファイルの検索」から calc.exe と打ち込む、それをクリック
normal_calc標準状態の電卓だとこの状態で起動されます、ここから関数電卓モードに切り替えてください。
normal_calc_2関数電卓モードをメニューから選択
01関数電卓モードになったらまず「1」と入力
02次に Sin ボタンを押します。この時左上の「 Deg 」にチェックが入っていれば Degree モードで計算結果が出力されます
03Degree モードの計算結果
04こちらは Radian モードでの計算結果
05最後に Lua を使った計算例( Radian と Degree )。MMF/CF25が通常行っている計算を再現すると内部的にはこのような計算を暗黙で行っていることになります。

繰り返しになりますが、一般的な開発言語では Radian (ラジアン)モードを前提とした解説がされているため度への変換ロジックもセットで説明されているケースが多いです。しかし MMF/CF25 は仕様が異なるため度への変換ロジックは不要となります。

だから一般的な数学の解説サイトなどを見ながらよく考えずに度へ変換するロジックをエクスプレッションに付け加えてしまうと、これが完全に蛇足なのでおかしな計算結果を生むことに。

計算結果のチェックには簡単な方法があります。筆者の場合は Lua や Python のコンソールから計算で得た結果を見て CF25 用に直すのですが、Windows 標準の電卓を関数電卓モードにすれば、言語知識を持ってない人でも簡単に Degree モードと Radian モードの計算結果の差を体験できます。

そして相互変換式は以下に記す

ラジアンから度へ変換する計算
度(Degree) = ラジアン(Radian) x 180 / 円周率(Pi)

度からラジアンへ変換する計算
ラジアン(Radian) = 度(Degree) x 円周率(Pi) / 180

Leave a comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です