2点と半径から、中心座標と円弧を描く方法
標記件、以下を満足させる式はどのように導けばよろしいでしょうか?ご教示下さい。
(INPUT)
・始点と終点の2点のXY座標
・半径r
(OUTPUT)
・中心点座標
・2点を結ぶ円弧の関数
なお、中心点と円弧は2つ出来るかと思いますが、どちらでも結構です。判別基準があれば教えて頂きたく。
どうぞよろしくお願いします。
投稿日時 - 2006-08-25 19:31:52
No.1 さんのご回答における代数的な部分を、若干修正します。
与えられた2点を A(a_1, b_1), B(a_2, b_2) とします。
求める円の中心の座標は
(x - a_1)^2 + (y - b_1)^2 = r^2
(x - a_2)^2 + (y - b_2)^2 = r^2
...なる連立方程式の解として求まります。
その解は2組あり、それを P(p_1, q_1), Q(p_2, q_2) とすると、求める円弧の式は
(x - p_1)^2 + (y - q_1)^2 = r^2
(x - p_2)^2 + (y - q_2)^2 = r^2
...の様になるはずです(実際には、これらの各々に、各点P、Qが直線ABに関してどちら側にあるかに関して定まる不等式を連立させることになりますが)。
投稿日時 - 2006-08-26 02:14:13
すみません、微分で出てきた座標は間違いだったようです。。
投稿日時 - 2006-08-28 10:01:39
ご回答ありがとうございました。
いろいろやってみましたが、
最初の2式をそれぞれXとYで微分すると、
2つの原点座標が出てきました。
(詳細はよく解っていませんが・・・^^;)
投稿日時 - 2006-08-28 08:59:41
このQ&Aは役に立ちましたか?
1人が「このQ&Aが役に立った」と投票しています
回答(4)
たぶん、中学生の数学ではなく、
PCなどで作画するためのプログラムだと思いましたので、
そのように概略をアドバイスします。
円弧は左周りで作画するものとします。
(1)始点を原点として終点のベクトルA(弦)を作ります。
(2)弦の中点を通り円中心点に至る垂線の長さhを求めます。
h=SQRT(R^2-(|A|/)^2)
(3)円弧を左周りに作画すると決めましたから
弦の中点から垂線を 、
ベクトルAを90度回した方向で長さh伸ばしたのが大円弧中心で
マイナス90度回した方向で長さh伸ばしたのが小円弧中心です。
この中点から伸びるベクトルをBとします。
(4)ベクトルAを半分にしたものにベクトルBを加え
始点座標を加えたものが円中心の絶対座標点です。
(5)円中心点から始点へ伸びるベクトルCを作ります。
円中心点から終点へ伸びるベクトルDを作ります。
(6)ベクトルCを適当な量でプラス方向へ回転させて
ベクトルDに到達するまで繰返します。
円中心座標とベクトルCを加えれば打点の絶対座標値です。
平面座標系の回転計算は複素平面を使うほうが便利です。
i(虚数)を乗算すれば90度回転し、
マイナスiを乗算すればマイナス90度回転します。
分かり難い説明ですみません。
方法はまだいろいろあります。
「計算幾何学」と表題がついた本を参照してください。
投稿日時 - 2006-08-25 21:29:51
ご回答ありがとうございました。
複素平面ですね。
ご教示頂き、大変助かります。
投稿日時 - 2006-08-28 08:56:34