tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^6: 3点円弧の描画方法について
投稿日: 2010/08/18(Wed) 10:40
投稿者魔界の仮面弁士
> 私は少し発言を控えますので。
(VB の話題では無く)幾何学の話なので、板違いということで
私も意図的に控えていたのですが、とりあえず概要だけ。


> 円弧中点という単語がこの世に存在しないのと、
「円弧の中点」とは言いますね。


>> マウスをドラッグする事で、円弧軌跡が表示されるようになっています。
始点/終点を指示しておいた上で、マウスドラッグで三点通過の円弧を
描画させるようなアプリケーションが既にあるという事でしょうか。

この場合、三点が直線上に並んでいたりすると円弧を描けなくなりますが、
今回はそういった場合は除外して構わないという認識で良いのでしょうか。

# そういえば AutoCAD には、三点指定で円弧を描画する機能がありますね。
# http://cad.dee.cc/step1/step1_5.htm
# AutoCAD VBA だと {中心, 半径, 始角, 終角} 指定になってしまいますが…。


>> 円弧中点を決定する際には
MouseMove によって、マウス座標を通過する円弧を描くことは可能ですし、
その円弧上の中点位置を算出・描画する事も可能だと思います。ただし
その場合には、この「中点」はマウス座標と別の箇所に描画されることに
なりますが、それでよろしいのですよね?
http://www.vb-user.net/junk/replySamples/2010.08.18.10.40/image.png


> その際の中心座標と半径の求め方について
「円弧 3点」などで検索してみると、中心座標の求め方が見つかると思いますよ。
http://www.nc-net.or.jp/mori_log/detail.php?id=105178
http://m-sudo.blogspot.com/2008/07/blog-post_11.html


中心座標(x1, y1)が分かれば、半径を求めるのは簡単ですよね。
円弧上の点(x2, y2)までの距離を求めれば良いわけですから、
算出式としては ((x1 - x2) ^ 2 + (y1 - y2) ^ 2) ^ 0.5 です。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。