边的表示1ax+by+c=0class lineldouble a, b, c;
边的表示1 ax+by+c = 0 class line1 { double a, b, c; };
边的表示2(向量)两点确定一条直线classpointdoublex,y;classlinepoint s, t;
边的表示2(向量) 两点确定一条直线 class point { double x, y; }; class line { point s, t; };
矢量(向量)只考虑向量的方向,大小。不考虑起点。终点坐标减起点坐标起点:(1,2),终点:(3,5对应矢量(2,3)>classpointdoublex,y
矢量(向量) 只考虑向量的方向,大小。不考虑起点。 终点坐标减起点坐标 起点:(1, 2),终点:(3, 5)对应矢量(2, 3) class point { double x, y; };
量加减法>P=(x1,y1),Q=(x2,y2)由三角形法则或平行四边形法则P+Q=(xl+x2,yl+y2)P-Q=(xl-x2,yl-y2)
矢量加减法 P=(x1, y1), Q=(x2, y2) 由三角形法则或平行四边形法则 P + Q = ( x1 + x2 , y1 + y2 ) P - Q = ( x1 - x2 , y1 - y2 )
量又积PxQ=x1*y2-x2*yldoublecrossProduct(pointa,pointb)returna.x*b.y-a.y*b.xdoublecrossProduct(doubleax,doubleay,doublebx,doublebyreturnax*by-ay*bx;
矢量叉积 P ×Q = x1*y2 - x2*y1 double crossProduct(point a, point b) { return a.x * b.y - a.y * b.x; } double crossProduct(double ax, double ay, double bx, double by) { return ax * by - ay * bx; }