一点を通る円の接線

Top »

点 (x2,y2)を通り 半径r 中心(x1,y1) の円の接線

点から円の中心のベクトル : v→ = (x2-x1,y2-y1)

vの長さ: d = |v| = sqrt((x2-x1)^2+(y2-y1)^2)

X軸に対するvの角度 : a = atan2(y2-y1,x2-x1)

図
円の中心から接線への垂線とdのなす角:a1 = acos(r/v)

分岐をまとめると

if (r <= d) {
	//点は円周上か外部
	//接線1
	if (r < d) {
		//点は外部
		//接線2
	}
}

接点は円周上 a±a1 にある。

接線の方程式を求めたいときは、r,x1,y1,a±a1を「円のθに於ける接線」に当てはめる。

inserted by FC2 system