求矩形相交的面积c语言(急)求平面上两个正方形相交的面积.给出两个正方形的各个顶点的坐标,计算出相交部分的面积.输入为8对整数,分别依次为第一个正方形的4个顶点坐标和第二个正方
来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/21 21:45:29
求矩形相交的面积c语言(急)求平面上两个正方形相交的面积.给出两个正方形的各个顶点的坐标,计算出相交部分的面积.输入为8对整数,分别依次为第一个正方形的4个顶点坐标和第二个正方
求矩形相交的面积c语言(急)
求平面上两个正方形相交的面积.给出两个正方形的各个顶点的坐标,计算出相交部
分的面积.输入为8对整数,分别依次为第一个正方形的4个顶点坐标和第二个正方形的4个
顶点坐标.且保证两个正方形的边都与坐标轴平行.输出为一个整数,即相交部分的面积.
样例输入:
0 0 2 2 0 2 2 0 1 0 3 0 3 1 1 1
样例输出:
1
求矩形相交的面积c语言(急)求平面上两个正方形相交的面积.给出两个正方形的各个顶点的坐标,计算出相交部分的面积.输入为8对整数,分别依次为第一个正方形的4个顶点坐标和第二个正方
把点描出来后发现,1 0 3 0 3 1 1 1这个围成的根本不是正方形
不过,我可以给你个思路:
这个题目由于是正方形且保证两个正方形的边都与坐标轴平行,那么就变得简单的多了
(1)对于你输入的8个点,找到可以包含这8个点的正方形square的四个点的坐标(如果觉得难找也没有关系,可以不找,直接弄个范围足够大的正方形)
(2)由于根据题目的描述,最后围成的面积一定是整数(也就是说由若干个小的1*1的正方形构成)
(3)说到这里很容易可以想到,把所有在square内的点(n/2,n/2)找到,利用循环很容易做到这一点,判断这些特定的点是不是既在第一个正方形内也在第二个正方形内,两个都在的那些点有k个的话,输入的两个正方形的重合的部分就有k个1*1的小正方形,最后用k*1就是最后需要求出的面积咯
提示:求点在正方形内可以用叉积法,也可以百度去找“程序实现点在多边形内的方法”,有很多方法.