tzc3056 点关于直线的对称点
来源:互联网 发布:个性字体软件下载 编辑:程序博客网 时间:2024/04/30 06:03
题目链接: tzc3056
方法:计算几何
注意:本题在输出结果的时候要将数据强制转换成整型,不能用%.0lf输出,否则会WA。
代码:
#include <iostream>#include <cmath>using namespace std;const double eps=1e-10;struct point{ double x,y; };struct line{ double a,b,c; };point point_about_line(point A,line L){line L1;point res;if(fabs(L.a)<eps){res.x=A.x;res.y=-L.c/L.b*2-A.y;return res;}if(fabs(L.b)<eps){res.y=A.y;res.x=-L.c/L.a*2-A.x;return res;}L1.a=L.b;L1.b=-L.a; L1.c=-L1.a*A.x-L1.b*A.y;L.c=L.a*A.x+L.b*A.y+2*L.c;L1.c=L1.a*A.x+L1.b*A.y+2*L1.c;res.y=(L.a*L1.c-L1.a*L.c)/(L1.a*L.b-L.a*L1.b);res.x=(-L.b*res.y-L.c)/L.a;return res;}//点关于直线的对称点point mirror(point P,line L) { point Q; double A,B,C; A=L.a;B=L.b;C=L.c; Q.x=((B*B-A*A)*P.x-2*A*B*P.y-2*A*C)/(A*A+B*B); Q.y=((A*A-B*B)*P.y-2*A*B*P.x-2*B*C)/(A*A+B*B); return Q; } int main(){point A,B;line L;int t;cin>>t;while(t--){cin>>A.x>>A.y;cin>>L.a>>L.b>>L.c;//B=point_about_line(A,L);B=mirror(A,L);printf("%d %d\n",(int)B.x,(int)B.y);}return 0;}
- tzc3056 点关于直线的对称点
- 点关于直线的对称点
- hdu2857 直线交点 点关于某直线的对称点
- 求关于一条直线的对称点
- C语言平面几何11-点关于直线的对称点
- 点关于直线的距离、垂足、对称点公式
- 点关于直线的距离、垂足、对称点公式
- C语言平面几何11-点关于直线的对称点
- HDU6164(计算几何--点关于直线的对称点)
- CodeForces32EHide-and-Seek(线段交,点关于直线对称点)
- HDU 2671 Can't be easier 求点关于直线的对称点
- 每天学一点flash(53) 关于直线的对称点
- 已知点(x0,y0),ax+by+c=0,求点关于直线对称
- HDOJ 题目2857 Mirror and Light(关于直线对称点,直线交点)
- 关于点到直线距离的理解
- 直线上的点
- [ACM] hdu 2857 Mirror and Light (对称点+两条直线的交点)
- HDU 2857 Mirror and Light (计算几何求 对称点和两直线的交点)
- Application designer tips - Part1
- Java 观察者模式
- poj 1041 John's trip(欧拉回路入门题)
- tzc1200 求两直线的夹角
- jabber(转)
- tzc3056 点关于直线的对称点
- iframe 中方法的访问调用
- C# 索引器的简单例子
- Windows核心编程阅读笔记(1~7章)
- Yahoo 无插件网页媒体播放器
- Windows Phone开发(五)-- 导航控制
- HACMP安装和oracle rac安装配置(图片无法显示,但内容可学习)
- 新浪微博开放平台开发-android客户端(2)
- RSCT 资源管理及监控