#include #include #include #include #include using namespace std; const double eps = 1e-4; struct Point{ double x,y; Point(double x = 0,double y = 0):x(x),y(y){ } }; typedef Point Vector; double Cross(Vector a,Vector b){ return a.x*b.y-a.y*b.x; } Vector operator -(Point a,Point b){ return Vector(a.x-b.x,a.y-b.y); } double dot(Vector a,Vector b){ //点乘 return a.x*b.x+a.y*b.y; } double length(Vector a){ return sqrt(dot(a,a)); } double angle(Vector a,Vector b){ return acos(dot(a,b) / length(a)/length(b)); } double dis(Vector a,Vector b){ return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y)); } bool cmp(Point a,Point b){ if(fabs(a.x-b.x) <= eps) return fabs(a.y-b.y)<=eps; return fabs(a.x-b.x)<=eps; } int ConvexHull(Point *p,int n,Point *ch){ sort(p,p+n,cmp); int m = 0; for(int i = 0;i < n;i++){ while(m > 1 && Cross(ch[m-1]-ch[m-2],p[i]-ch[m-2]) <= 0) m--; ch[m++] = p[i]; } int k = m; for(int i = n-2;i >= 0;i--){ while(m > k && Cross(ch[m-1]-ch[m-2],p[i]-ch[m-2]) <= 0) m--; ch[m++] = p[i]; } if(n > 1) m--; return m; } Point p[5]; Point ch[5]; int main(){ int t; scanf("%d",&t); while(t--){ int flag = 1; for(int i = 0;i < 5;i++){ scanf("%lf%lf",&p[i].x,&p[i].y); } for(int i = 0;i < 5;i++){ if(i != 4){ if(fabs(p[i].x-p[i+1].x)<=eps && fabs(p[i].y-p[i+1].y)<=eps){ continue; } else{ flag = 0; break; } } else{ if(fabs(p[i].x-p[0].x)<=eps && fabs(p[i].y-p[0].y)<=eps){ continue; } else{ flag = 0; break; } } } if(flag == 1){ printf("Yes\n"); continue; } flag = 1; ConvexHull(p,5,ch); Vector a,b; double ang = 0; for(int i = 0;i < 5;i++){ if(i == 0){ a = ch[i+1]-ch[i]; b = ch[4]-ch[i]; } else if(i == 4){ a = ch[0]-ch[i]; b = ch[i-1]-ch[i]; } else{ a = ch[i+1]-ch[i]; b = ch[i-1]-ch[i]; } if(i == 0){ ang = angle(a,b); } else{ if(fabs(ang-angle(a,b))>eps){ flag = 0; break; } } } if(flag == 0){ printf("No\n"); continue; } double len = 0; for(int i = 0;i < 5;i++){ if(i == 0){ len = dis(ch[i],ch[i+1]); } else{ if(i == 4){ if(fabs(len-dis(ch[i],ch[0]))>eps){ flag = 0; break; } } else{ if(fabs(len-dis(ch[i],ch[i+1]))>eps){ flag = 0; break; } } } } if(flag == 0){ printf("No\n"); } else{ printf("Yes\n"); } } return 0; }