Description

题目链接

Solution

计算几何入门题

只要求出三角形DEF的一个点就能推出其他两个点

把一条边往内旋转a/3度得到一条射线,再做一条交点就是了

Code

#include <cstdio>
#include <algorithm>
#include <cmath>
#define db double
using namespace std; struct Po{
db x,y;
Po(db x=0,db y=0):x(x),y(y){}
};
typedef Po Ve; Ve operator - (Po A,Po B){return Ve(A.x-B.x,A.y-B.y);}
Ve operator + (Ve A,Ve B){return Ve(A.x+B.x,A.y+B.y);}
Ve operator * (Ve A,db p){return Ve(A.x*p,A.y*p);}
Ve operator / (Ve A,db p){return Ve(A.x/p,A.y/p);} Po read_p(){
Po res;
scanf("%lf%lf",&res.x,&res.y);
return res;
} db Dot(Ve A,Ve B){return A.x*B.x+A.y*B.y;}
db Len(Ve A){return sqrt(Dot(A,A));}
db Angle(Ve A,Ve B){return acos(Dot(A,B)/Len(A)/Len(B));} Ve Rotate(Ve A,db rad){
return Ve(A.x*cos(rad)-A.y*sin(rad),A.x*sin(rad)+A.y*cos(rad));
} db Corss(Ve A,Ve B){return A.x*B.y-A.y*B.x;} Po GetIntersection(Po P,Ve v,Po Q,Ve w){
Ve u=P-Q;
db t=Corss(w,u)/Corss(v,w);
return P+v*t;
} Po getD(Po A,Po B,Po C){
Ve v1=C-B;
db a1=Angle(A-B,v1);
v1=Rotate(v1,a1/3); Ve v2=B-C;
db a2=Angle(A-C,v2);
v2=Rotate(v2,-a2/3);//负数表示顺时针旋转 return GetIntersection(B,v1,C,v2);
} void print(Po P){printf("%.6lf %.6lf ",P.x,P.y);} int main(){
int T;
scanf("%d",&T);
Po A,B,C,D,E,F;
while(T--){
A=read_p();
B=read_p();
C=read_p();
D=getD(A,B,C);
E=getD(B,C,A);
F=getD(C,A,B);
print(D);print(E);print(F);puts("");
}
return 0;
}

[Uva11178]Morley's Theorem(计算几何)的更多相关文章

  1. uva11178 Morley’s Theorem(求三角形的角三分线围成三角形的点)

    Morley’s Theorem Input: Standard Input Output: Standard Output Morley’s theorem states that that the ...

  2. UVA11178 Morley's Theorem(基础模板)

    题目链接 题意:给出A,B, C点坐标求D,E,F坐标,其中每个角都被均等分成三份   求出 ABC的角a, 由 BC 逆时针旋转 a/3 得到BD,然后 求出 ACB 的角a2, 然后 由 BC顺时 ...

  3. UVA11178 Morley's Theorem

    题意 PDF 分析 就按题意模拟即可,注意到对称性,只需要知道如何求其中一个. 注意A.B.C按逆时针排列,利用这个性质可以避免旋转时分类讨论. 时间复杂度\(O(T)\) 代码 #include&l ...

  4. UVA 11178 Morley's Theorem 计算几何模板

    题意:训练指南259页 #include <iostream> #include <cstdio> #include <cstring> #include < ...

  5. UVA 11178 Morley's Theorem (计算几何)

    题目链接 lrj训练指南 P259 //==================================================================== Point getP( ...

  6. uva 11178 - Morley's Theorem

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  7. UVA 11178 Morley's Theorem(几何)

    Morley's Theorem [题目链接]Morley's Theorem [题目类型]几何 &题解: 蓝书P259 简单的几何模拟,但要熟练的应用模板,还有注意模板的适用范围和传参不要传 ...

  8. UVa 11178:Morley’s Theorem(两射线交点)

    Problem DMorley’s TheoremInput: Standard Input Output: Standard Output Morley’s theorem states that ...

  9. UVA 11178 Morley's Theorem (坐标旋转)

    题目链接:UVA 11178 Description Input Output Sample Input Sample Output Solution 题意 \(Morley's\ theorem\) ...

随机推荐

  1. Azure进阶攻略丨如何驾驭罢工的Linux虚机网卡?

    很多人的生活中,流传着一个屡试不爽,据说可以解决任何问题的百宝锦囊: 所以经常可以听到类似这样的对话: -我的电脑咋上不去网了? -重启一下电脑. -还是不行呢! -重启一下路由器. -怎么还不行-_ ...

  2. win2008 配置TLS1.2

    配置TLS1.2 提供两种方法, 选择其中一种就行了 1.手动设置 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProv ...

  3. 【^.^】hello world~~

    一直以来都没有在公共博客上写作的习惯,加之Evernote的强大和方便好用,让我仅仅依赖它就足以满足日常学习笔记的记录和整理. 不过看着Evernote里面记录的大大小小的笔记已经有400+了,觉得应 ...

  4. pc/移动端(手机端)浏览器的直播rtmp hls(适合入门者快速上手)

    一.直播概述 关于直播,大概的过程是:推流端——>源站——>客户端拉流,用媒介播放 客户端所谓的拉流就是一个播放的地址url,会有多种类型的流: 视频直播服务目前支持三种直播协议,分别是R ...

  5. 【BZOJ1858】[SCOI2010] 序列操作(ODT裸题)

    点此看题面 大致题意: 给你一个\(01\)序列,让你支持区间赋值.区间取反.区间求和以及求一段区间内最多有多少连续的\(1\)这些操作. \(ODT\) 这道题正解似乎是线段树,但码量较大,而且细节 ...

  6. 导航栏上的item的位置设置

    /** leftItem */ UIButton *leftbtn = [[UIButton alloc]initWithFrame:CGRectMake(, , , )]; [leftbtn set ...

  7. python学习接口测试(二)

    .python接口之http请求 python的强大之处在于提供了很多的标准库以及第三库,本文介绍urllib 和第三库的requests. Urllib 定义了很多函数和类,这些函数和类能够帮助我们 ...

  8. Linux查看CPU和内存使用情况[转]

    在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要.在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况.运行 top 命令后,CPU 使用状态会 ...

  9. jQuery UI datepicker z-index默认为1 怎么处理

    最近在维护一个后台系统的时候遇到这样的一个坑:后台系统中日期控件使用的是jQuery UI datepicker. 这个控件生成的日期选择框的z-index = 1.问题来了.页面上有不少z-inde ...

  10. open cv & vs

    原来基于vs和msdn一起读视频,结果发现现在的函数不能用了.找不到合适的解码器了,只好转战opencv. 具体怎么用,网上查吧,不过opencv读视频的例子,可以见这个. http://blog.c ...