スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

平面において点が凸多角形の内部に含まれる条件

平面において、点および線分が凸多角形の内部に含まれる条件について。ついでに、二つの線分が交差する条件について。ベクトルを用いる。

※ MathJax を使用しています。数式を表示するためには、JavaScript をオンにする必要があります。

準備

有向線分とベクトル

平面あるいは空間上の二点 $A$, $B$ で定まる線分に向きを与えたものを有向線分という. $A$ を始点, $B$ を終点とする有向線分を $\overrightarrow{AB}$ で表す. 異なる位置にある有向線分は区別される.

ベクトルとは, 方向と長さを合わせた量である. 方向と長さが同じベクトルは等しいとする.

有向線分の向きと長さに対応してベクトルが一つ定まる. 有向線分 $\overrightarrow{AB}$ に対応するベクトルもまた $\overrightarrow{AB}$ で表す. $A$ の座標が $(a_1, a_2)$, $B$ の座標が $(b_1, b_2)$ であるとき, ベクトル $\overrightarrow{AB}$ の成分表示は $$ \overrightarrow{AB} = \begin{bmatrix} b_{1}-a_{1} \\ b_{2}-a_{2} \end{bmatrix} $$ となる.

行列式

二つの $2$ 次元ベクトル $\boldsymbol{a}=\begin{bmatrix} a_{1} \\ a_{2} \end{bmatrix}$, $\boldsymbol{b}=\begin{bmatrix} b_{1} \\ b_{2} \end{bmatrix}$ に対して, $$ \det(\boldsymbol{a}, \boldsymbol{b}) = \det\begin{bmatrix} a_{1} & b_{1} \\ a_{2} & b_{2} \end{bmatrix} = a_{1}b_{2} - b_{1}a_{2} $$ と定める.

$\boldsymbol{a}$ と $\boldsymbol{b}$ とのなす角を, $x$ 軸の正方向から $y$ 軸の正方向に向かって回転する向きに測ったときの角度を $\theta$ とすると, $$ \det(\boldsymbol{a}, \boldsymbol{b}) = \lVert\boldsymbol{a}\rVert\lVert\boldsymbol{b}\rVert\sin{\theta} $$ が成り立つ. ここで, $\lVert\boldsymbol{a}\rVert$, $\lVert\boldsymbol{b}\rVert$ はそれぞれ $\boldsymbol{a}$, $\boldsymbol{b}$ の長さである.

上式の証明については, 以下の記事を参照のこと。

よしいずの雑記帳:行列式に関するある公式

外積

二つの $3$ 次元ベクトル $\boldsymbol{a}=\begin{bmatrix} a_{1} \\ a_{2} \\ a_{3}\end{bmatrix}$, $\boldsymbol{b}=\begin{bmatrix} b_{1} \\ b_{2} \\ b_{3} \end{bmatrix}$ に対して, $$ \boldsymbol{a}\times\boldsymbol{b} = \begin{bmatrix} \det\begin{bmatrix} a_{2} & b_{2} \\ a_{3} & b_{3} \end{bmatrix} \\ \det\begin{bmatrix} a_{3} & b_{3} \\ a_{1} & b_{1} \end{bmatrix} \\ \det\begin{bmatrix} a_{1} & b_{1} \\ a_{2} & b_{2} \end{bmatrix} \end{bmatrix} = \begin{bmatrix} a_{2}b_{3} - b_{2}a_{3} \\ a_{3}b_{1} - b_{3}a_{1} \\ a_{1}b_{2} - b_{1}a_{2} \end{bmatrix} $$ と定める. $\boldsymbol{a}\times\boldsymbol{b}$ を $\boldsymbol{a}$ と $\boldsymbol{b}$ との外積という.

外積 $\boldsymbol{a}\times\boldsymbol{b}$ は, 次の性質をもつ.

  • $\boldsymbol{a}\times\boldsymbol{b}$ は $\boldsymbol{a}$ とも $\boldsymbol{b}$ とも直交する.
  • $\boldsymbol{a}\times\boldsymbol{b}$ の長さは $\boldsymbol{a}$, $\boldsymbol{b}$ の張る平行四辺形の面積に等しい. 特に, $\boldsymbol{a}$, $\boldsymbol{b}$ が一次独立でない (=平行である) とき, またそのときに限り, $\boldsymbol{a}\times\boldsymbol{b}=\boldsymbol{0}$ が成り立つ.

点と有向線分との位置関係

$2$ 次元の $xy$ 平面を, $3$ 次元の $xyz$ 空間における平面 $z=0$ と同一視する. つまり, $xy$ 平面上の点 $(x, y)$ を $xyz$ 空間内の点 $(x, y, 0)$ とみなす. そうすると, 有向線分に対応するベクトルは, 成分が $\begin{bmatrix} * \\ * \\ 0\end{bmatrix}$ の形になる. そのようなベクトル $\boldsymbol{a}$, $\boldsymbol{b}$ の外積は, $$ \boldsymbol{a}\times\boldsymbol{b} = \begin{bmatrix} 0 \\ 0 \\ \lVert\boldsymbol{a}\rVert\lVert\boldsymbol{b}\rVert\sin{\theta} \end{bmatrix} $$ なる成分表示をもつ. ここで, $\theta$ は $\boldsymbol{a}$ と $\boldsymbol{b}$ とのなす角で, $x$ 軸の正方向から $y$ 軸の正方向に向かって回転する向きに測ったものである.

$P$, $A_{1}$, $A_{2}$ を平面上の点とし, $A_{1}\neq A_{2}$ とする. $\overrightarrow{A_{1}A_{2}}$ を, $A_{1}$ を始点, $A_{2}$ を終点とする有向線分とする. $y$ 軸の正方向が $x$ 軸の左側 (数学における通常の $x$ 軸, $y$ 軸の取り方) であるとき, \begin{align*} &\mbox{$\overrightarrow{A_{1}A_{2}}\times\overrightarrow{A_{1}P}$ の $z$ 成分が正} \Longleftrightarrow \mbox{$P$ は $\overrightarrow{A_{1}A_{2}}$ の左側にある} \\ &\mbox{$\overrightarrow{A_{1}A_{2}}\times\overrightarrow{A_{1}P}$ の $z$ 成分が$0$} \Longleftrightarrow \mbox{$P$ は $\overrightarrow{A_{1}A_{2}}$ を延長した直線上にある} \\ &\mbox{$\overrightarrow{A_{1}A_{2}}\times\overrightarrow{A_{1}P}$ の $z$ 成分が負} \Longleftrightarrow \mbox{$P$ は $\overrightarrow{A_{1}A_{2}}$ の右側にある} \end{align*} であり, $y$ 軸の正方向が $x$ 軸の右側 (コンピュータのスクリーン座標) であるとき, \begin{align*} &\mbox{$\overrightarrow{A_{1}A_{2}}\times\overrightarrow{A_{1}P}$ の $z$ 成分が正} \Longleftrightarrow \mbox{$P$ は $\overrightarrow{A_{1}A_{2}}$ の右側にある} \\ &\mbox{$\overrightarrow{A_{1}A_{2}}\times\overrightarrow{A_{1}P}$ の $z$ 成分が$0$} \Longleftrightarrow \mbox{$P$ は $\overrightarrow{A_{1}A_{2}}$ を延長した直線上にある} \\ &\mbox{$\overrightarrow{A_{1}A_{2}}\times\overrightarrow{A_{1}P}$ の $z$ 成分が負} \Longleftrightarrow \mbox{$P$ は $\overrightarrow{A_{1}A_{2}}$ の左側にある} \end{align*} である.

二つの線分が交差する条件

$A_{1}$, $A_{2}$, $B_{1}$, $B_{2}$ を平面上の点とし, $A_{1}\neq A_{2}$, $B_{1}\neq B_{2}$ とする. 線分 $A_{1}A_{2}$ と線分 $B_{1}B_{2}$ とが交差することは,

  • 点 $B_{1}$ と点 $B_{2}$ が, 有向線分 $\overrightarrow{A_{1}A_{2}}$ から見て, 互いに左右で異なる側にある
  • 点 $A_{1}$ と点 $A_{2}$ が, 有向線分 $\overrightarrow{B_{1}B_{2}}$ から見て, 互いに左右で異なる側にある

の両方を満たすことと言い換えられる. そのためには,

  • $\overrightarrow{A_{1}A_{2}}\times\overrightarrow{A_{1}B_{1}}$ の $z$ 成分と $\overrightarrow{A_{1}A_{2}}\times\overrightarrow{A_{1}B_{2}}$ の $z$ 成分とが異符号
  • $\overrightarrow{B_{1}B_{2}}\times\overrightarrow{B_{1}A_{1}}$ の $z$ 成分と $\overrightarrow{B_{1}B_{2}}\times\overrightarrow{B_{1}A_{2}}$ の $z$ 成分とが異符号

の両方を満たすことが必要十分である. これは結局,

  • $\det(\overrightarrow{A_{1}A_{2}},\overrightarrow{A_{1}B_{1}})$ と $\det(\overrightarrow{A_{1}A_{2}},\overrightarrow{A_{1}B_{2}})$ とが異符号
  • $\det(\overrightarrow{B_{1}B_{2}},\overrightarrow{B_{1}A_{1}})$ と $\det(\overrightarrow{B_{1}B_{2}},\overrightarrow{B_{1}A_{2}})$ とが異符号

の両方を満たすことと同値である.

点が凸多角形の内部に含まれる条件

凸多角形 $\mathcal{C}$ の頂点 $A_{1}$, $A_{2}$, $\ldots$, $A_{n}$ が反時計回りに配置されているものとする.

凸多角形 $\mathcal{C}$ の頂点 $A_{1}$, $A_{2}$, $\ldots$, $A_{n}$ が反時計回りに配置されているものとする. 平面上の任意の点 $P$ に対して, $y$ 軸の正方向が $x$ 軸の左側 (数学における通常の $x$ 軸, $y$ 軸の取り方) であるとき, \begin{align*} &\mbox{$P$ が凸多角形 $\mathcal{C}$ の内部にある} \\ &\Longleftrightarrow \mbox{$P$ が有向線分 $\overrightarrow{A_{1}A_{2}}$, $\overrightarrow{A_{2}A_{3}}$, $\ldots$, $\overrightarrow{A_{n}A_{1}}$ の各々に対し左側} \\ &\Longleftrightarrow \mbox{$\overrightarrow{A_{1}A_{2}}\times\overrightarrow{A_{1}P}$, $\overrightarrow{A_{2}A_{3}}\times\overrightarrow{A_{2}P}$, $\ldots$, $\overrightarrow{A_{n}A_{1}}\times\overrightarrow{A_{n}P}$ の $z$ 成分がすべて正} \\ &\Longleftrightarrow \mbox{$\det(\overrightarrow{A_{1}A_{2}},\overrightarrow{A_{1}P})>0$, $\det(\overrightarrow{A_{2}A_{3}},\overrightarrow{A_{2}P})>0$, $\ldots$, $\det(\overrightarrow{A_{n}A_{1}},\overrightarrow{A_{n}P})>0$} \end{align*} であり, $y$ 軸の正方向が $x$ 軸の右側 (コンピュータのスクリーン座標) であるとき, \begin{align*} &\mbox{$P$ が凸多角形 $\mathcal{C}$ の内部にある} \\ &\Longleftrightarrow \mbox{$P$ が有向線分 $\overrightarrow{A_{1}A_{2}}$, $\overrightarrow{A_{2}A_{3}}$, $\ldots$, $\overrightarrow{A_{n}A_{1}}$ の各々に対し左側} \\ &\Longleftrightarrow \mbox{$\overrightarrow{A_{1}A_{2}}\times\overrightarrow{A_{1}P}$, $\overrightarrow{A_{2}A_{3}}\times\overrightarrow{A_{2}P}$, $\ldots$, $\overrightarrow{A_{n}A_{1}}\times\overrightarrow{A_{n}P}$ の $z$ 成分がすべて負} \\ &\Longleftrightarrow \mbox{$\det(\overrightarrow{A_{1}A_{2}},\overrightarrow{A_{1}P})<0$, $\det(\overrightarrow{A_{2}A_{3}},\overrightarrow{A_{2}P})<0$, $\ldots$, $\det(\overrightarrow{A_{n}A_{1}},\overrightarrow{A_{n}P})<0$} \end{align*} である.

線分が凸多角形の内部に含まれる条件

凸多角形の内部にある任意の二点を結ぶ線分は, 必ずその凸多角形に含まれる. したがって, 線分が凸多角形に含まれるための必要十分条件は, その線分の両端がその凸多角形に含まれることである.

【theme : 数学
【genre : 学問・文化・芸術

プロフィール

よしいず

Author:よしいず
MATHEMATICS.PDFというウェブサイトを運営しています。

管理の都合上、トラックバックとコメントはオフにしてあります。ブログ経験者なら分かっていただけると思いますが、スパム(アダルトやその他の宣伝)ばかりなのが現実です。

リンクは自由です。当サイトの記事に対する間違いの指摘・意見・感想などを述べた記事からのリンクは歓迎です。ただし、ブログ記事アップ直後はミスが多く、頻繁に修正します。場合によっては削除する可能性もあります。その際、何も断りもなく修正・削除しますがご了承ください。内容を参考にする場合には投稿後一週間ほど様子を見てからにしてください(笑)。

記事の間違いを指摘するときは、その具体的箇所、理由(仕様に反するなど)・根拠(参考にした文献など)、代替案(同じ結果を得るための正しいやり方)も教えてください。そうしないと、(指摘される側および第三者はその時点では無知の状態なので、)どこが間違いなのか分かりませんし、本当に間違っているのかどうかが判断・検証できません。実際、間違いだと指摘されたことが結局は正しかったというケースもありますので。

このブログのタイトル一覧

リンク
月別アーカイブ
カテゴリ
最新記事
検索フォーム
RSSリンクの表示
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。