点が三角形外接円内側か判定したい

概要

与えられた点がある三角形の外接円の内側にあるかどうかを判定する方法について紹介します.算出する行列式が正であれば、点A,B,Cが反時計回りのときにDは外接円の内側にある.
Facebookシェア Twitterツイート LINEで送る このエントリーをはてなブックマークに追加
この章を学ぶ前に必要な知識
0
条件
  • A,B,Cが反時計回りの順番に存在する
  • 二次元空間における判定
効果
  • ABCの外接円にDが含まれるかどうか判定
ポイント
  • 特定の行列式を計算して、その値が正ならある点は外接円の中にある

解 説

与えられた点がある三角形の外接円の内側にあるかどうかを判定する方法について紹介します. 算出する行列式が正であれば、点A,B,Cが反時計回りのときにDは外接円の内側にある.そうでないときは、外接円の外側にあると判定することができる. 以下の行列式が正なら三角形ABCの外接円の中にDは存在します. $$ \begin{eqnarray} \mathrm{ det }A &=& \begin{vmatrix} A_x & A_y& A_x^2+A_y^2 & 1 \\ B_x & B_y& B_x^2+B_y^2 & 1 \\ C_x & C_y& C_x^2+C_y^2 & 1 \\ D_x & D_y& D_x^2+D_y^2 & 1 \end{vmatrix} \\ &=& \begin{vmatrix} A_x-D_x & A_y-D_y& (A_x-D_x)^2+(A_y-D_y)^2 \\ B_x-D_x & B_y-D_y& (B_x-D_x)^2+(B_y-D_y)^2\\ C_x-D_x & C_y-D_y& (C_x-D_x)^2+(C_y-D_y)^2 \end{vmatrix} \end{eqnarray} $$ 上記式の後半は平行移動することで、4x4でなくしているだけです. 上記の\(\mathrm{ det }A >0\)ならDは外接円の中です.
点が三角形外接円内側か判定したい
想定している三角形の状況.
この章を学んで新たに学べる
Comments

Reasons
>>隠す