2021东北四省赛J. Transform(空间几何)
link
题意:给出三维空间中两个点的坐标,求第二个点绕第一个点和原点连线旋转r度和-r度得到的两个点中z轴坐标最大的点的坐标。
罗德里格斯公式
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N=1e5+10,inf=0x3f3f3f3f;
const double Pi=acos(-1.0);inline double r_to_d(double rad){//弧度转角度return rad/Pi*180;
}
inline double d_to_r(double d){//角度转弧度return d/180*Pi;
}struct Point{double x,y,z;Point(double x=0,double y=0,double z=0):x(x),y(y),z(z){}
};
typedef Point Vector;
//向量加
Vector operator +(Vector a,Vector b){return Vector(a.x+b.x,a.y+b.y,a.z+b.z);}//向量*数
Vector operator * (Vector a,double p){return Vector(a.x*p,a.y*p,a.z*p);}
//向量/数
Vector operator / (Vector a,double p){return Vector(a.x/p,a.y/p,a.z/p);}
//点积
double Dot(Vector a,Vector b){return a.x*b.x+a.y*b.y+a.z*b.z;}
//叉乘
Vector multi(Vector a,Vector b){return Vector(a.y*b.z-b.y*a.z,b.x*a.z-a.x*b.z,a.x*b.y-b.x*a.y);}
//转单位向量
Vector to_unitVector(Vector u){double k=sqrt(Dot(u,u));return Vector(u/k);
}
//罗格里格斯公式
Vector cal(Vector u,Vector v,double r){return v*cos(r)+u*Dot(u,v)*(1-cos(r))+multi(u,v)*sin(r);
}
int main(){int t;cin>>t;while(t--){double a,b,c,x,y,z,r;cin>>a>>b>>c>>x>>y>>z>>r;r=d_to_r(r);//cout<<r<<endl;Vector U={a,b,c};Vector V={x,y,z};U=to_unitVector(U);//printf("%.8f %.8f %.8f\n",U.x,U.y,U.z);Vector P=cal(U,V,r);Vector Q=cal(U,V,-r);if(P.z>Q.z)printf("%.8f %.8f %.8f\n",P.x,P.y,P.z);elseprintf("%.8f %.8f %.8f\n",Q.x,Q.y,Q.z);}return 0;
}
2021东北四省赛J. Transform(空间几何)相关推荐
- 2018东北四省赛 Store The Matrix (矩阵)
2018东北四省赛 Store The Matrix (矩阵) 题目描述 Given a matrix M with r rows and c columns. It is obviously tha ...
- 2018东北四省赛 Spin A Web 曼哈顿距离最小生成树
莫队的论文,讲的很清晰 问题描述:给定平面N个点,两边相连的代价为曼哈顿距离,求这些点的最小生成树 按一般想法,prime复杂度O(n^2),Kruskal复杂度O(n^2 logn),N很大时,这复 ...
- 东北四省赛H-Skyscraper-线段树的区间合并优化
题目描述: At the main street of Byteland, there will be built n skyscrapers, standing sequentially one n ...
- 2021CCPC东北四省赛 D. Lowbit 势能线段树
传送门 分析 分析一下x+lowbit(x)x + lowbit(x)x+lowbit(x)这个操作 如果多次操作之后,那么xxx中只会有最高位存在一,这个时候再执行一次操作就会使整个数字乘二 所以, ...
- 2021全国职业技能大赛浙江省杭州市“网络空间安全赛项”赛题及赛题解析(超详细)
2021年中职组浙江省杭州市"网络空间安全"赛项 2021浙江省杭州市竞赛任务书及解析 A模块基础设施设置/安全加固(200分) B模块安全事件响应/网络安全数据取证/应用安全(4 ...
- 【随笔】2015年ICPC四省赛/邀请赛小结
因为槽点太多了,所以周日比完赛,周一就开始写文章吐槽了QAQ 这比赛真坑,真坑,真坑啊!!!(重要的事情要说三遍) 本次比赛是ICPC主办的东北赛,哈工大跟吉大可能是因为有了CCPC所以不来参加了吧, ...
- 2021.7.16模拟赛C组总结(转载XJY)
2021.7.16模拟赛C组总结 这次比赛,题虽然不难,但丝毫不影响我打挂-唉- 0+100+50+0=150 题解 T1 题目描述: 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小 ...
- NOIP 2021 多校模拟赛
NOIP 2021 多校模拟赛 难度不算特别大,能拿的分挺多,感觉也没啥反思的,T2代码太恶心了. T1 串(string) [题目背景] 形貌昳丽的西克是虱子国王嫡系军队的 general,同时也兼 ...
- 2021年度热身训练赛第一场
2021年度热身训练赛第一场 A.Weird Flecks, But OK 题意 给定n个点以及n个点的三维坐标,用一根长度不限的圆柱以垂直x-y平面,x-z平面或y-z平面方式穿过所有点,求圆柱的最 ...
- 2021年CCCC天梯赛 L2清点代码库 (哈希表,数据结构)
分析 2021年CCCC天梯赛的一道问题. 使用一个数据结构存贮所有的数组及其出现的次数. 使用哈希表mp存储数组vector<intvector< int\>vector<i ...
最新文章
- SQL Server 2005系列教学(6) 多表操作及子查询
- 微型计算机的EMC设计视频,干货 | EMC设计有多难,看完这31个电磁兼容标准电路,瞬间懂了...
- 【STM32】FreeRTOS 系统内核控制函数
- html表白_HTML 表白网页
- ROSE User Case View
- 为了异常安全(swap,share_ptr)——Effecive C++
- LeetCode-8-String to Integer (atoi)
- ettercap dns_spoof
- bat自动输入密码登录_【第7期】Teamcenter自动登录改进,对portal.bat中登录密码加密...
- 苹果手机上怎么安装ipa文件?
- Johnson_Trotter 生成排列算法
- 面向初学者的 MQL4 语言系列之3——技术指标和内置函数
- 王道——数据结构——栈和队列(1)
- Qt for Automation 介绍
- vs2010的程序在win2000上运行
- 三角翼航模尾翼混控原理探索
- Python搭建私有pypi源发包——pypi-server
- js实现扩展显示器分屏操作
- 惠普打印机不能扫描到pc
- 32位处理器AM6528BACDXEA、AM6548BACDXEAF基于Arm Cortex-A53内核【工业4.0嵌入式产品应用】