プロが教えるわが家の防犯対策術!

始点、終点の二つの座標と半径からの円弧の長さの求め方。
こんにちは。数学ずぶの素人です。
座標上に円弧があります。始点、終点の二つの座標と半径が分かっており、これらから円弧の長さを求めたいのですが計算方法が分かりません。
どなたか分かる方、ご教授ください。

A 回答 (2件)

円弧の長さLは半径rと中心角θが分かれば、L=rθとして求められます。


中心角θは、始点と終点の距離をaとすると、sin(θ/2)=a/(2r)なので、
L=2r*arcsin(a/(2r))

2点間の距離は分かりますね。
sqrt((x1-x2)^2+(y1-y2)^2)
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。計算してみたところ、CADで測定したデータとほぼ一致しました。親切で正確なご回答、本当にありがとうございました。

お礼日時:2010/03/22 09:41

異なる2点を始点、終点とする、ある半径の円弧は最大4つあります。

長さは最大2つあります。

実際に円を書いて、円周上の2箇所に点を付ければわかります。
始点から終点へ短距離で向うのも円弧ですが、ぐるっと遠まわりする長い方も円弧です。
また、始点と終点を結ぶ直線でパタンと裏返すと、反対向きの円弧になります。
短い方と長い方の2種類が表裏の2通りなので、4つの円弧ということになります。

長さを求めるには、短い方なのか、長い方なのか、両方なのかをはっきりさせる必要があります。

短い方の求め方は既に回答があった通り。
なお、角度はラジアン表現であることを付け加えておきます
(ラジアン表記: 0°→0, 360°→2π)

長い方は、円周の長さから短い円弧の長さを引いた残りなので
L'=2πr - L
=2r(π-arcsin(a/(2r)))

VisualBasicで計算する場合、最近のなら
Mathクラスを有効にして
arcsin→Math.Asin
π→Math.PI
で計算できますが、VB6あたりだと、それぞれ用意する必要があるみたいです。
    • good
    • 0
この回答へのお礼

なるほど、始点、終点の2つの座標と半径だけでは4通りの円弧が描けてしまうわけですね。私が必要だったのは短いほうの円弧の長さになります。この度は本当にありがとうございました。

お礼日時:2010/03/22 09:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています