A parallelogram is a quadrilateral with two pairs of parallel sides. See the picture below:
Fig: a parallelogram
Now you are given the co ordinates of A, B and C, you have to find the coordinates of D and the area of the parallelogram. The orientation ofABCD should be same as in the picture.
Input
Input starts with an integer T (≤ 1000), denoting the number of test cases.
Each case starts with a line containing six integers Ax, Ay, Bx, By, Cx, Cy where (Ax, Ay) denotes the coordinate of A, (Bx, By) denotes the coordinate of B and (Cx, Cy) denotes the coordinate of C. Value of any coordinate lies in the range [-1000, 1000]. And you can assume that A, Band C will not be collinear.
Output
For each case, print the case number and three integers where the first two should be the coordinate of D and the third one should be the area of the parallelogram.
Sample Input
3
0 0 10 0 10 10
0 0 10 0 10 -20
-12 -10 21 21 1 40
Sample Output
Case 1: 0 10 100
Case 2: 0 -20 200
Case 3: -32 9 1247
题目大意:给出平行四边形三个点,求另外一个点,并求其面积
利用平行四边形对角线互相平分求解第四个点,利用三角函数求面积
#include<stdio.h>
#include<iostream>
#include<math.h>
#include<string.h>
#include<algorithm>
#define IT acos(-1.0)
using namespace std;
int main()
{int a[5],b[5],n,m,k=1,t;
scanf("%d",&t);
while(t--)
{scanf("%d%d%d%d%d%d",&a[1],&b[1],&a[2],&b[2],&a[3],&b[3]);
a[4]=(a[1]+a[3])-a[2];
b[4]=(b[1]+b[3])-b[2];
double l1=sqrt((a[1]-a[3])*(a[1]-a[3])+(b[1]-b[3])*(b[1]-b[3]));
double l2=sqrt((a[1]-a[2])*(a[1]-a[2])+(b[1]-b[2])*(b[1]-b[2]));
double l3=sqrt((a[3]-a[2])*(a[3]-a[2])+(b[3]-b[2])*(b[3]-b[2]));
double z2=((l1*l1+l2*l2-l3*l3)/(2*l1*l2));
double ans=l2*l1*sqrt(1.0-z2*z2);
printf("Case %d: %d %d %.lf\n",k++,a[4],b[4],ans);
}
}