AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
数学とCAD 線と円の交点計算
高校数学の基礎(6)で少し書きましたが、ここではもう少し詳しく記述しておきます。
 
線と円の交点計算をするのに連立方程式を解く場合、片方が2次式であるため解が2つ想定されます。そのため、連立方程式を解くのも一苦労してしまいます。ここでは、回転写像を利用して解く事を考えます。
@まず、線の傾き角度を算出します。
 
A := ArcTan2(y2-y1,x2-x1);
A点(x1,y1)を中心に角度A分、逆回転したと考えます。
(x2,y2)の回転後が(x2',y2')
(xc,yc)の回転後が(xc',yc')
です。
  B線と円の中心の距離dを計算します。
  距離d=|yc'−y1|
このdが円の半径 rc に等しい場合は、円と線は接する事になり、rc よりも小さい時には2交点、rc よりも大きい時は交点無し、となります。
 
C接する場合には、その接点は(xc',y1)となります。2交点の場合には、
  (xc'−√(rc2-d2),y1)
  (xc'+√(rc2-d2),y1)
となります。
D接点又は交点を
点(x1,y1)を中心に角度A分、回転した点の座標が、求める点となります。
 
回転写像は、
cosθ -sinθ) θ:回転角
sinθ cosθ
つまり
  x'=x×cosθ−y×sinθ
  y'=x×sinθ+y×cosθ
ですが、これは中心(0,0)での回転ですので、点(x0,y0)を中心に回転する場合には、
  x'=x0+(x−x0)×cosθ−(y−y0)×sinθ
  y'=y0+(x−x0)×sinθ+(y−y0)×cosθ
となります。
 
TEST013
 <ソースDownLoad>
回転写像を利用して、直線と円の交点を表示する簡単なサンプルプログラムです。絵は、TImageを配置して、そこに描きます。10ドットを1単位とします。
 
 
CAD装置(1)
CAD装置(2)
メディア
AutoCADの
DIESELマクロ
CSV
DXF
PCES
IGES
STEP
数学とCAD
 ▲PREV
 ▼NEXT
CAD作ろ!
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015 By AFsoft All Rights Reserved.