日記
本日は3.14で円周率の日! プログラム中で円周率を使った計算をする際、通常は倍精度の円周率の値を使う。 最近のプログラミング言語では定数としてこの値が定義されている。 Java ではMath.PI
でこの値を参照できる。 まぁ、これはこれでいいんだけど、昔 C だか Fortran だかでライブラリに詳しくなかったときに思いついた、円周率の値を倍精度で取得する方法がある。 余弦関数の逆関数、Java では Math.acos() を使って
Math.acos(-1.0)
とするだけ! 実際に(Scala で)やって下さった方がいて、実行結果がこちら:
@waman10da @pronama ( ・∀・)つ〃∩ ヘェーヘェーヘェー~ pic.twitter.com/nDWRDGMgYc
— kijuky (@kijuky) 2015, 3月 14
わぁーい。
「Math.PI でいいやん!」と思ったそこのあなた。 この方法なら(任意精度の浮動小数点数に対する余弦関数の逆関数が定義されていれば)任意精度で円周率の値がわかるんだよ! Scala なら spire を使えば可能。 まぁ、時間があればそのうちやってみよう。
ちなみに、spire では実数としての円周率が定数として定義されていて、その定義は(正接関数の逆関数を \( \arctan() \) として)
\begin{align*}
\pi = 16 \arctan\frac{1}{5} - 4 \arctan\frac{1}{239}
\end{align*}
となってる。 一見「むむ!?」と思うけど、正接の加法定理などを使えば、この関係が厳密に(近似
なしに)成り立っているのが示せる。 『Javaによるアルゴリズム事典』を見るとこれ以外にもいくつか円周率を計算する方法があるもよう。
- 作者: 奥村晴彦,杉浦方紀,津留和生,首藤一幸,土村展之
- 出版社/メーカー: 技術評論社
- 発売日: 2003/05
- メディア: 単行本
- 購入: 2人 クリック: 61回
- この商品を含むブログ (61件) を見る
ツイート
@waman10da: RT @kamisama_butai: 【お知らせ】「神様はじめました THE MUSICAL♪」キャラクターソング全7曲(9トラック)を収録したCDが、本番中に劇場限定で販売される事になりました。詳しくは→URL#kami_mu ht…
@waman10da: RT @pafuhana1213: この絵が、Live2Dがどういう感じで作られているかが分かりやすい気がする #うにくり URL
@waman10da: @pronama @kijuky arccos(-1.0)
2015-03-14 13:23:33 via Twitter for Android Tablets to @pronama
@waman10da: RT @ryoko174: 4年もあれば学ぶ時間はあったはず。無知は罪深いことだと思うのですが。??4年の月日が経って、薄れていく記憶とは反比例に募る放射能による子供への影響の不安URL
@waman10da: @kamiya344 @kijuky 立ち上がってるアプリケーションを全部終了したらファイル消せてる自分は、まだwindowsを充分使いこなせてないのかっ!?
2015-03-14 08:25:19 via Twitter for Android Tablets to @kamiya344
@waman10da: 『日本でも公道の横断歩道の形や色は、道交法で規定されていますが、テーマパークなどにこうしたデザインのものがある…』外国人「日本には運転手に徐行運転させる横断歩道があるらしいぞ?」「おおっ、ホントだ!」 #ldnews URL
@waman10da: 『「自分が常に正しい」という価値観ほど怖いものはない』 / “キーパーソンインタビュー:ネット上の中傷「加害者を減らしたい」 お笑い芸人のスマイリーキクチさん - 毎日新聞” URL #インターネット #犯罪
@waman10da: そう言えば、今日は「円周率の日」!
@waman10da: Paradigm Lost 出たよ! URL 引用させて頂きました @EzoeRyou @SocialNetworkLA @livedoornews