快考NOIP了我在这怼计算几何属于是脑子有点问题,随手记一下板子啥的得了,到时候有啥题目慢慢选上来
基础东西
向量类
(叉积用/只是习惯,懒得写cross了)
1 struct point { 2 double x,y; 3 friend point operator - (const point &p1, const point &p2) { 4 return (point) {p1.x - p2.x, p1.y - p2.y}; 5 } 6 friend point operator + (const point &p1, const point &p2) { 7 return (point) {p1.x + p2.x, p1.y + p2.y}; 8 } 9 friend double operator * (const point &p1, const point &p2 { 10 return p1.x * p2.x + p1.y * p2.y; 11 } 12 friend double operator / (const point &p1, const point &p2) {// 叉积 13 return p1.x * p2.y - p2.x * p1.y; 14 } 15 }
判断点与直线的关系