計算幾何 點與三角形關係

2021-10-09 06:57:13 字數 2002 閱讀 3829

時間限制: 1 sec 記憶體限制: 128 mb

題目描述

已知乙個平面座標系中三角形三個點 a、b

、c

a、b、c

a、b、

c 的座標,判斷另外乙個點 d

dd 是否在三角形內(點在三角形邊上也認為在三角形內)

輸入

輸入共四行,每行兩個數,前三行表示 a、b

、c

a、b、c

a、b、

c 的座標,第四行為 d

dd 的座標。

輸出

輸出乙個字串,in表示點d在三角形 abc

abcab

c 內,out表示點 d

dd 在三角形 abc

abcab

c 外。

樣例輸入

1.0

2.07.0

1.07.0

5.05.0

3.0

樣例輸出

in
判斷三角形dab、dbc、dca面積之和與三角形abc面積的關係,若相等在裡面,否則,在外面。

#pragma gcc optimize(3,"ofast","inline")

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

#define ls (rt<<1)

#define rs (rt<<1|1)

typedef

long

long ll;

template

<

typename t>

inline

void

read

(t &x)

while

(isdigit

(c))

x *= p;

}template

<

typename t>

inline

void

print

(t x)

static

int cnt;

static

int a[50]

; cnt =0;

dowhile

(x);

for(

int i = cnt; i >=

1; i--

)putchar

(a[i]

+'0');

puts(""

);}const

double eps=

1e-6

;const

int mod =

1e9+9;

const

int inf =

0x3f3f3f3f

;const

int maxn =

4e5+10;

struct point

; point operator-(

const point &oth)

const

}a,b,c,d;

double

dot(

const point &a,

const point &b)

inline

void

work()

intmain()

return0;

}

1298 圓與三角形(計算幾何)

input 第1行 乙個數t,表示輸入的測試數量 1 t 10000 之後每4行用來描述一組測試資料。4 1 三個數,前兩個數為圓心的座標xc,yc,第3個數為圓的半徑r。3000 xc,yc 3000,1 r 3000 4 2 2個數,三角形第1個點的座標。4 3 2個數,三角形第2個點的座標。4...

ACM計算幾何 三角形問題

include struct point struct line double distance point p1,point p2 point intersection line u,line v 外心 point circumcenter point a,point b,point c 內心 p...

計算幾何 圓與三角形是否相交

把三角形的每條邊單獨判斷,先判斷兩個點是否都在裡面,是否乙個點在裡面乙個點在外面,直接return。然後判斷點到直線的距離是否小於等於r,是的話用餘弦定理判斷和圓是否有交點,原理畫圖就能明白,如果沒有交點的話在圓外的兩個角必定有乙個是鈍角,用餘弦定理判斷是否小於0即可。順便一提,如果不需要用到dou...