× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
点と閉じた図形がある。
点が閉じた図形の内部にあるかどうかを判定する関数、 閉じた関数を長方形とすると、 RectContainsPoint(Rect rect, Point point); となるが、これの判定は point.x >= rect.x1 && point.x < rect.x2 && point.y >= rect.y1 && point.y < rect.y2; となる。 不等号にイコールの付く・付かないは、上記のように >= x1(y1) < x2(y2) とする。 大きさのない図形(長方形ならx1=y1=x2=y2=0など)を渡したとき、内部にはいかなる点も含まないとするため。 例えば未初期化図形rectZero(x1=y1=x2=y2=0)と未初期化点pointZero(x=y=0)があるとき、これらをRectContainsPoint()に渡して真が返ってきてしまうと、期待と反するからだ。 PR |
|
トラックバックURL
|