题意:训练指南259页

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath> using namespace std; const double eps=1e-8; int dcmp(double x)
{
if(fabs(x)<eps) return 0; else return (x<0)?-1:1;
} struct Point
{
double x,y;
Point(double _x=0,double _y=0):x(_x),y(_y){}
}; Point operator+(Point A,Point B) {return Point(A.x+B.x,A.y+B.y);}
Point operator-(Point A,Point B) {return Point(A.x-B.x,A.y-B.y);}
Point operator*(Point A,double p) {return Point(A.x*p,A.y*p);}
Point operator/(Point A,double p) {return Point(A.x/p,A.y/p);} Point A,B,C; double Dot(Point A,Point B) {return A.x*B.x+A.y*B.y;}
double Length(Point A) {return sqrt(Dot(A,A));}
double Angle(Point A,Point B) {return acos(Dot(A,B)/Length(A)/Length(B));}
double angle(Point v) {return atan2(v.y,v.x);}
double Cross(Point A,Point B) {return A.x*B.y-A.y*B.x;} Point Rotate(Point A,double rad)
{
return Point(A.x*cos(rad)-A.y*sin(rad),A.x*sin(rad)+A.y*cos(rad));
} Point GetLineIntersection(Point p,Point v,Point q,Point w)
{
Point u=p-q;
double t=Cross(w,u)/Cross(v,w);
return p+v*t;
} Point getD(Point A,Point B,Point C)
{
Point v1=C-B;
double a1=Angle(A-B,v1);
v1=Rotate(v1,a1/3); Point v2=B-C;
double a2=Angle(A-C,v2);
v2=Rotate(v2,-a2/3); return GetLineIntersection(B,v1,C,v2);
} void read(Point &a)
{
scanf("%lf %lf",&a.x,&a.y);
}
int main()
{
int cas;
scanf("%d",&cas);
while(cas--)
{
Point a,b,c,d,e,f;
read(a);
read(b);
read(c);
d=getD(a,b,c);
e=getD(b,c,a);
f=getD(c,a,b);
printf("%.6f %.6f %.6f %.6f %.6f %.6f\n",d.x,d.y,e.x,e.y,f.x,f.y);
}
return 0;
}

  

最新文章

  1. oracle入门必备
  2. 用PDB库调试Python程序
  3. 【Linux安全】系统资源监控与进程终止
  4. ModelSim仿真
  5. 线程篇-01-NSThread
  6. YSlow的性能测试提示
  7. Vue模板逻辑
  8. 利用fiddler和mock调试本地微信网页
  9. alpha-咸鱼冲刺day3-紫仪
  10. mysql权限参考
  11. Java——对象的复制、克隆、序列化
  12. 【原创+整理】简述何为调用约定,函数导出名以及extern C
  13. js怎么将 base64转换成图片
  14. Codeforces.838E.Convex Countour(区间DP)
  15. 【DM】Combating Web Spam with TrustRank - 用TrustRank对抗网络垃圾邮件
  16. Can not find the tag library descriptor for &quot;http://www.springframework.org/tags&quot;
  17. day55 linux 基础以及系统优化
  18. 【Android】17.3 Activity与StartedService的绑定
  19. 《C++ Primer Plus》第15章 友元、异常和其他 学习笔记
  20. 微信支付 WeixinJSBridge is not defined 报错

热门文章

  1. [转帖]Java 8新特性探究(九)跟OOM:Permgen说再见吧
  2. round函数——银行家舍入算法
  3. Django基础之路由(urls)层
  4. 公司SQL考核及小结(Oracle)
  5. @RequestMapping-限定请求方法的映射
  6. O022、如何使用 OpenStack CLI
  7. O010、动手实践虚拟网络
  8. Webpack loaderUtils.parseQuery()
  9. calc,support,media各自的含义及用法
  10. vue改变数据视图刷新问题