「円の弧長,弦長,矢高,半径のどれか2つを与えて残りを計算」をkeisan.casio.jpにUP!
こういう計算について、このブログに検索されてくる方多いんですよね。カシオの高精度計算サイトの自作式にも何種類か上げてますが、そこのヒット数も結構あるということでこの際、全部まとめて一つの式にしました。
内容は、
”弧長(円弧の長さ)L、弦長d、矢高(円弧の高さ)h、半径rのどれか2つに値を
入力して、残りの2つを0と入力すると、その残りの2つおよび中心角を計算します。
L=r*θ, d=2*r*sin(θ/2), h=r*(1-cos(θ/2))を用い、ニュートン・ラフソン法で
計算しています。
”
リンクはこちら↓
半径を入力するものはニュートン法じゃなくて単なる逆三角関数で計算できますが。
ニュートン・ラフソン法の説明はこちら。
では自作式の中身も公開。keisan.casio.jpで公開してもいいけどこちらのブログを見てくれた方のみに公開しましょう。
L=弧長; d=弦長; h=矢高; r=半径;
if (L<>0 and h<>0 and d==0 and r==0) { /* 円弧の長さと矢高から弦長 */
a=2.*h/L; x=1.0; for (j=0;j<=20;j=j+1) { x=x-(-a*x*x+x*(1.-cos(x)))/(x*sin(x)-1.+cos(x)); }
th=2*x; r=L/th; d=2.*r*sin(x);
} elseif (L<>0 and d<>0 and h==0 and r==0) { /* 円弧の長さと弦長から矢高 */
c=d/L; x=1.0; for (j=0;j<=20;j=j+1) { x=x-((x*sin(x)-c*x*x)/(x*cos(x)-sin(x))); }
th=2*x; r=L/th; h=r*(1.-cos(th/2.));
} elseif (L==0 and d<>0 and h<>0 and r==0) { /* 弦長と矢高から円弧 */
a=h/d; x=1.0; for (j=0;j<=20;j=j+1) { f=(1.-cos(x))/(2.*sin(x)) - a; fd = (1.-cos(x))/(2.*sin(x)*sin(x)); x=x-f/fd; }
th=2*x; r=d/(2.*sin(x)); L=r*th;
} elseif (L<>0 and d==0 and h==0 and r<>0) { /*円弧の長さと半径から弦長・矢高*/
th=L/r; d=2.*r*sin(th/2.); h=r*(1.-cos(th/2.));
} elseif (L==0 and d<>0 and h==0 and r<>0) {
/*弦長と半径から矢高・円弧 */ th = 2.*asin(d/(2.*r)); L=r*th; h=r*(1.-cos(th/2.));
} elseif (L==0 and d==0 and h<>0 and r<>0) {
/*矢高と半径から弦長・弧長*/ th = 2.*acos(1.-(h/r)); L=r*th; d=2.*r*sin(th/2.); }
println(L); println(d); println(h); println(r); println(th*180/pi);
※これではだめな場合があるので修正入れました。
円の弧長,弦長,矢高,半径のどれか2つを与えて残りを計算(カシオの高精度計算サイト自作式)で180°以上、複数解に対応。
https://sci.tea-nifty.com/blog/2018/10/2180-9d2a.html
こういう話:
のような状態。。。想定していたのはこの絵の通り、180°以下。
使っている人がいるなら修正せねばなるまい。
なんで2つ解があるかというと、
« NHKスペシャル「ここまで来た!うつ病治療」のメモ - 2012/2/12 | トップページ | 「死ねばいいのに」(京極夏彦)を読んだ。 »
「学問・資格」カテゴリの記事
- 高周波(RF・マイクロ波・ミリ波・5G)関連ニュース2021年2月16日 IEEE Microwave Magazineの特集はオールデジタルのRFID、Microwave JournalはEバンド ミリ波通信に衛星や気球を使う話、アメリカの半導体企業がバイデンに投資を迫る、(2021.02.17)
- カオスを生じる電気回路、Chua’s circuitをLTspiceで回路シミュレーションしてみる。(2021.02.19)
- Labyrinth Chaos(迷宮カオス)を生むThomas-Rössler方程式のパラメータbを色々変えて、Python+Scipyでルンゲクッタ8次のDOP853(Dormand&Prince)を使って計算してGIFアニメ(2021.02.16)
- フィッツヒュー・南雲 (FitzHugh-Nagumo) 方程式をPython+Scipyでルンゲクッタ8次のDOP853(Dormand Prince)で計算。(2021.02.23)
- 「水晶振動子の等価回路計算」をカシオの高精度計算サイトkeisan.casio.jpの自作式としてUP! インピーダンスの大きさと位相がグラフ化できる。(2021.02.12)
コメント
« NHKスペシャル「ここまで来た!うつ病治療」のメモ - 2012/2/12 | トップページ | 「死ねばいいのに」(京極夏彦)を読んだ。 »
質問なのですが,円弧の長さと矢高から弦長も求めるときに使用している
x=x-(-a*x*x+x*(1.-cos(x)))/(x*sin(x)-1.+cos(x))
の式はどのようにして得られたのでしょうか?
投稿: | 2019年8月22日 (木) 10時40分
先進とプロの技術を持ってプラダコピーバッグ 人気老舗
最新商品は掲載します。
2020新作、大量入荷。
特N品、N品、品質NO1、価格、全日本最低。
豊富な品揃えですので、是非、ご覧ください!毎日、2020年新品新作、掲載します。
最も著名なブランドコピーのルイヴィトンコピー,
日本に一番人気のスーパーコピーヴィトンバッグ,ヴィトン生地コピー,ヴィトンコピー財布..
気のブランドコピー新作は定時に更新し、ご満足に添うようにいたします
スーパーコピーブランド,偽物ブランド,スーパーコピーバッグ,
スーパーコピー財布,ブランドコピー時計,ブランドコピー品
店長お薦めは以下の商品:
クロエスーパーコピー,スーパーコピークロエ,クロエ偽物,クロエコピー
ブランドコピー https://www.jpbrandok.com
投稿: ブランドコピー | 2020年12月18日 (金) 08時52分