問題一覧 > 通常問題

No.622 点と三角柱の内外判定

レベル : / 実行時間制限 : 1ケース 1.500秒 / メモリ制限 : 256 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 49
作問者 : cielciel / テスター : はむこはむこ
3 ProblemId : 1786 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2017-12-22 11:38:59

問題文

3次元上の4点A,B,C,Dが与えられる。点Dが、三角形ABCを、三角形ABCが存在する平面(平面ABC)と垂直な方向に伸ばした三角柱の内部に存在するかどうか判定せよ。勿論、平面ABCがXY平面と平行であるとは限らない。
なお、「点Dを平面ABCに投影した点」と三角形ABCのいずれかの辺までの距離は0.01以上とします。

入力

$x_1$ $y_1$ $z_1$
$x_2$ $y_2$ $z_2$
$x_3$ $y_3$ $z_3$
$x_4$ $y_4$ $z_4$

$x_i,y_i,z_i: i(1 \le i \le 4)$点目の$x$座標,$y$座標,$z$座標 (整数)
$-10^{6} \le x_i,y_i,z_i \le 10^6$

出力

三角柱の内部に存在するなら YES を、存在しないなら NO を1行に出力せよ。
それ以外は出力してはならない。

サンプル

サンプル1
入力
0 0 0
2 0 0
1 2 0
1 1 1
出力
YES

このケースでは三角形ABCはXY平面と平行なので、単に点DをXY平面に射影して、点と三角形の内外判定を行うとよいでしょう。

サンプル2
入力
3 0 0
0 3 0
0 0 3
1 1 9
出力
NO

このケースでは三角形ABCはXY平面と平行ではありません。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。