算法训练营 10.15
2018-10-15 本文已影响0人
Mr_Vetr
In-Triangle Test
计算几何,判断一个点是否在三角形内.
把三条边转化为有向线段,当然大多数时候我们习惯性认为方向是counter-clockwise.
bool InTriangle(P,Q,R,S) // s is a point
return toLeft(P,Q,S) == toLeft(Q,R,S)&&toLeft(Q,R,S) == (R,P,S);
为什么要用相等符号去判断?三个点顺序不一定是逆时针 只要都是左或者都是右边即可.判断左右相等只要求出直线,带入判断大于0还是小于0.转化,大的问题转化成小的问题.
Stack
Push加入操作
Pop出栈操作
Top访问栈顶元素