ネットカフェの PC には perl も scheme も、もちろん MSXエミュレータも入ってない。が、ブラウザは使える。ならば javascript を使うしかない。で、はてなブログは xhtml なので、そこら辺の基本をおさらい。
<!-- xhtml で javascript を使う書式 --> <script type="text/javascript"> //<![CDATA[ /* ここに javascript src を記述 */ //]]> </script> <!-- html5 で javascript を使う書式 --> <script> /* ここに javascript src を記述 */ </script>
今まで「距離(半径)の2乗」とかやってきたが、考えてみれば詳しく検証してなかった。2乗というのは「2次元空間の面積」が関係している。そこで「正方形の面積」「4分の1円弧の面積」「円の面積」を比較するコードを組んでみた。
<!-- はてなブログ(xhtml) で javascript を使う --> <script type="text/javascript"> //<![CDATA[ // r^2=正方形, (pi*r^2)/4=4分の1円弧, pi*r^2=円 …の面積 var pi = 3.14; // Math.PI document.write("<pre>"); document.write("半径\t正方形\t円弧\t円\t…の面積\n"); for (var r=1; r<10; ++r) { var sq = r*r; var c4 = Math.round((pi*r*r)/4); var cr = Math.round(pi*r*r); document.write(r+"\t"+sq+"\t"+c4+"\t"+cr+"\n"); } document.write("</pre>"); //]]> </script>
上記のコードを「はてなブログ」で実行。↓
問題なく実行できるみたい。ここに計算結果が表示されない人は、たぶん使用しているブラウザが非対応、もしくはセキュリティが厳しすぎる、のどちらかだろう。
比較のためネットカフェでも実行(html5用)。↓
<html> <head> <meta charset="utf-8"> <title>js-html5-test.html</title> <!-- html5 で javascript を使う --> </head> <body> <script> // r^2=正方形, (pi*r^2)/4=4分の1円弧, pi*r^2=円 …の面積 var pi = Math.PI; var realCR = 0; document.write("<pre>"); document.write("半径\t正方形\t円弧\t円\t…の面積\n"); for (var r=1; r<10; ++r) { var sq = r*r; realCR = pi*sq; // 円の面積(実数) var cr = Math.round(realCR); var c4 = Math.round(realCR/4); document.write(r+"\t"+sq+"\t"+c4+"\t"+cr+"\n"); } document.write("</pre>"); </script> </body> </html>
これの実行結果。↓
実行結果から分かる通り「正方形の面積」と「4分の1円弧の面積」は、宇宙的スケールで見れば誤差の範囲。ほとんど一緒と考えて構わないだろう。
久しぶりに js を書いたので、変数ロケールとか忘れてしまった。js のローカル変数、グローバル変数の有効範囲ってどう決まっていたんだっけ。
html5 では SVG が記述できる。はてなブログはどうだろ。可能なら js を使って正弦曲線ぐらいは引けると思うが、ネットカフェで draw系ソフトが使えるなら、そっちの方が簡単(とりあえず libre は使えた)。
とりあえず、ブログで表組を作る時とかに js は使えそう。はてな記法での <table>表記も調べておこう。昔やった記憶があるが、忘れてしまった。