|開発環境|メモ帳| |実行環境|Internet Explorer 11| #table_zebra(project, #fff, #eee) http://www.maroon.dti.ne.jp/lance/js/sagitta.html 参考 [[円の弧長,弦長,矢高,半径のどれか2つを与えて残りを計算 - 高精度計算サイト>http://keisan.casio.jp/has10/SpecExec.cgi?path=09300000.%82%DD%82%F1%82%C8%82%CC%8E%A9%8D%EC%8E%AE%81i%90%94%8Aw%81j%2F04000000.%8D%82%93%99%90%94%8Aw%2F10000104.%89~%82%CC%8C%CA%92%B7%2C%8C%B7%92%B7%2C%96%EE%8D%82%2C%94%BC%8Ca%82%CC%82%C7%82%EA%82%A92%82%C2%82%F0%97%5E%82%A6%82%C4%8Ec%82%E8%82%F0%8Cv%8EZ%2Fdefault.xml]] sagitta.html #highlight(javascript){{ <!doctype html> <head> <title>sagitta</title> <script> function onKeyDown(event) { if (event.keyCode == 13) { calc(); } } function calc() { var L = parseFloat(arc.value); // 弧長 if (isNaN(L) || L < 0 || 20000 < L) { output.innerHTML = "範囲は0~20000です。"; return; } output.innerHTML = ""; var td = 360 * L / 40000; var tr = Math.PI * td / 180; output.innerHTML += "中心角=" + td + "度<br>"; var r = 40000 / (2 * Math.PI); output.innerHTML += "半径=" + r + "km<br>"; var h = r * (1 - Math.cos(tr / 2)); output.innerHTML += "矢高(円弧の高さ)=" + h + "km<br>"; } </script> </head> <body> 地球を円周40,000kmの真球と仮定する。<br> 円弧の長さ<input id="arc" value=20 onkeydown="onKeyDown(event)" autofocus />km<br> <button type="button" onclick="calc()">calc</button><br> <div id="output"></div> </body> }}