アプリ版:「スタンプのみでお礼する」機能のリリースについて

円弧の始点座標、終点座標及び回り角度から円弧の中心点座標を求めることは可能でしょうか?
よろしくお願いいたします。

A 回答 (4件)

A#1にお書きの式


>vectorA = (x1-x0, y1-y0) = (xA, yA)
>vectorB = (x2-x0, y2-y0) = (xB, yB)

>|vectorA| * |vectorB| * cos(α)= xA * xB + yA * yB
からはx0,y0の式が1つしかできません。
これに
|vectorA| = |vectorB|
の式からx0,y0のもう1つの式ができます。
x0,y0についての2つの式の実数解が2組出てきますので
円の中心はA(x1,y1),B(x2,y2)を結ぶ線分の両側に対称に2つ存在します。

(x1,y1),(x2,y2),αを文字定数としたまま
公式化するには(x0,y0)の式が複雑になりすぎます。
文字定数を具体的な値にすれば、数式処理ソフト(MathematicaやMaple)
を使えば即時に実数解の(x0,y0)が2組求まってきます。
    • good
    • 0
この回答へのお礼

皆さんありがとうございます。
別の掲示板でも質問してみたのですがこんな回答が帰ってきました。
xm = x1 + x2
ym = y1 + y2
t = 1 / tan(ang / 2)
x0 = (xm - t * (y2 - y1)) / 2
y0 = (ym + t * (x2 - x1)) / 2
数値を代入するとあっているようなのですが、なぜかがよく分かりません...

お礼日時:2008/01/28 16:30

円の中心Oは、始点Aと終点Bの垂直二等分線上にある。


その直線の方程式をy=ax+bとすると、中心Oの座標は(x,ax+b)と表せる。
これで、中心Oの座標が1変数で表わせた。
あと、△OABで余弦定理を使うと、xだけの二次方程式ができ、これを
解いてxを求めれば、中心Oの座標が求められる。
始点Aから終点Bに向かう円弧がどちらに曲がっているかによって、中心
は2つの可能性がある。
    • good
    • 0

ん, そんな感じ. あと, vectorA と vectorB の長さが等しいという条件が必要です.


で, 変数 2個に条件 2つだから解けるはず.
    • good
    • 0

中心の座標を変数において, 「2点までの距離が等しい」ことと, 2点を見込む角度がわかっていることから「内積の値が決まる」という方

程式を立てれば求まると思います.
    • good
    • 1
この回答へのお礼

すみません、よく分からないのですが

仮に
始点(x1,y1)、終点(x2,y2)、回り角度α
中心点(x0,y0)
とし
vectorA = (x1-x0, y1-y0) = (xA, yA)
vectorB = (x2-x0, y2-y0) = (xB, yB)

|vectorA| * |vectorB| * cos(α)= xA * xB + yA * yB

みたいな事ですか?

お礼日時:2008/01/25 18:33

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