题目大意:给一些几何图形的编号,求出来这些图形都和那些相交.   分析:输入的正方形对角线上的两个点,所以需要求出来另外两个点,公式是: x2:=(x1+x3+y3-y1)/2; y2:=(y1+y3+x1-x3)/2; x4:=(x1+x3-y3+y1)/2; y4:=(y1+y3-x1+x3)/2; 这个是可以推倒出来的,有兴趣的可以推一下,给的矩形三个点,是按照顺序给的,求出来第四个点即可,比较容易求,x4=x1-x2+x3, y4=y1-y2+y3 别的图形的点也都是按照顺序给的,两个图…
题意: 给一些多边形或线段,输出与每一个多边形或线段的有哪一些多边形或线段. 解法: 想法不难,直接暴力将所有的图形处理成线段,然后暴力枚举,相交就加入其vector就行了.主要是代码有点麻烦,一步一步来吧. 还有收集了一个线段旋转的函数. 给定正方形对角求其他两点用到了线段旋转. Vector Rotate(Point P,Vector A,double rad){ //以P为基准点把向量A旋转rad return Vector(P.x+A.x*cos(rad)-A.y*sin(rad),P.…
题意是判断多边形是否相交 主要的思路就是判断每一个点是否在另外的多变形内 判断一个点是否在另一个多边形内主要思路是: 判断的那个点向左边做射线,如果射线与多边形的交点为奇数个则在多边形内,偶数个则不在,其中有特殊情况: 1.如果判断的点与所要判断的边在平行且在所要判断的边上,则在多边形上 2.如果向左做射线恰好在某一点上,不特殊处理会计算两次,因为在两条边上,判断射线与多变形的交点数目,所以要在一个情况下忽略 3.就是判断点是否在多边形的左边了 but:WA了好久因为一个多边形可能包涵另一个多边…
Geometric Shapes Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 1243   Accepted: 524 Description While creating a customer logo, ACM uses graphical utilities to draw a picture that can later be cut into special fluorescent materials. To…
描述 While creating a customer logo, ACM uses graphical utilities to draw a picture that can later be cut into special fluorescent materials. To ensure proper processing, the shapes in the picture cannot intersect. However, some logos contain such inte…
Geometric Shapes Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 1470   Accepted: 622 Description While creating a customer logo, ACM uses graphical utilities to draw a picture that can later be cut into special fluorescent materials. To…
题意:给你一些多边形的点,判断每个多边形和那些多边形相交,编号按照字典序输出 思路:枚举每个多边形的每条边看是否相交,这里的相交是包括端点的,关键是给你正方形不相邻两个点求另外两个点怎么求,长方形给你3个点求第四个点怎么求? 因为对角线的交点为两条对角线的中点,所以 x0 + x2 =  x1 + x3 y0 + y2 =  y1 + y3 可以证明分割的这几个小三角形是全等的所以有 x1 - x3 = y2 - y1 y1 - y3 = x2 - x0 根据这几个式子可以推出 另外两个点的坐标…
含[判断线段相交].[判断两点在线段两侧].[判断三点共线].[判断点在线段上]模板   Geometric Shapes Time Limit: 2000MS   Memory Limit: 65536K Total Submissions:2105   Accepted: 883 Description While creating a customer logo, ACM uses graphical utilities to draw a picture that can later b…
题目大意:给一个凸多边形(点不是按顺序给的),然后计算给出的线段在这个凸多边形里面的长度,如果在边界不计算. 分析:WA2..WA3...WA4..WA11...WA的无话可说,总之细节一定考虑清楚,重合的时候一定是0 代码如下: ========================================================================================================= #include<stdio.h> #include&…
题意:一个很多个点p构成的多边形,pb <= pa * k时p所占区域与多边形相交面积 设p(x,y),       (x - xb)^2+(y - yb)^2 / (x - xa)^2+(y - ya)^2  = k^2 所以可以化成圆的一般式x^2 + y^2 + dx + ey + f = 0; 推公式: 圆心:(-d/2,-e/2)       半径:(sqrt(d*d + e*e - 4*f)) / 2 得出圆后,套模板求圆与多边形的相交 #include <iostream>…