判斷乙個點是否在三角形內部
在二維座標系中,所有的值都是double型別,那麼乙個三角形可以由3個點來代表,給定3個點代表的三角形,再給定乙個點(x, y),判斷(x, y)是否在三角形中
輸入描述:
輸入有四行,每行兩個浮點數。
前三行的6個數分別代表三角形的三個頂點的座標
最後兩個數分別表示(x, y)
輸出描述:
若(x, y)在三角形中,輸出"yes",否則輸出"no"
示例1輸入
-1.00 0.00
1.50 3.50
2.73 -3.12
1.23 0.23
輸出yes
說明
示例2輸入
-1.00 0.00
1.50 3.50
2.73 -3.12
2333.33 233333.33
輸出no
備註:
− 2∗
1010⩽
xi,y
i,x,
y⩽2∗
1010−2∗10^ \leqslant x_i,y_i,x,y \leqslant 2∗10^
−2∗101
0⩽xi
,yi
,x,
y⩽2∗
1010
題解:與 判斷乙個點是否在矩形內部 解法一致,並且這題可以迴圈進行判斷,不至於乙個個列舉判斷。但是,此題的輸入順序不知道,可能亂序,需要處理一下亂序的情況。
**:
#include
#include
using
namespace std;
double x[4]
, y[4]
;inline
double
cross_product
(int i,
int j,
int k )
intmain
(void
)for
(int i =
0; i <3;
++i )
return0*
puts
("yes");
}
判斷乙個點是否在三角形內部
題目 在二維座標系中,所有的值都是double型,那麼乙個三角形可以由三個點來代表,給定三個點代表的三角形,再給定乙個點 x,y 判斷 x,y 是否在三角形中 基本思路 如果乙個點o在三角形的內部,那麼從三角形的乙個點出發,逆時針走過所有邊的過程中,點o始終在走過邊的左邊。如果點o在外側,則不滿足這...
如何判斷乙個點在三角形內部
如圖,點p在三角形abc內部,可以通過以下三個條件判斷 點p和點c在直線ab同側 點p和點b在直線ac同側 點p和點a在直線bc同側 如果以上三個條件同時滿足,則點p在三角形abc內部。下面將會用到叉乘這個數學工具來確定乙個點在直線的哪一側。叉乘是乙個判斷點在直線哪一側的數學工具。先看一下叉乘的定義...
三角形有向面積 判斷點是否在三角形內部
公式 以三角形兩邊的平行四邊形面積等於兩邊向量叉乘 三角形三個頂點如果順時針那麼面積為負,逆時針為正 判斷點o是否在三角形abc內部當且僅當 sabc soab sobc soac include include include include includeusing namespace std ...