判斷乙個點是否在三角形內部

2021-10-11 04:38:11 字數 1268 閱讀 3856

判斷乙個點是否在三角形內部

在二維座標系中,所有的值都是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 ...