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(空间几何)相关推荐

  1. 2018东北四省赛 Store The Matrix (矩阵)

    2018东北四省赛 Store The Matrix (矩阵) 题目描述 Given a matrix M with r rows and c columns. It is obviously tha ...

  2. 2018东北四省赛 Spin A Web 曼哈顿距离最小生成树

    莫队的论文,讲的很清晰 问题描述:给定平面N个点,两边相连的代价为曼哈顿距离,求这些点的最小生成树 按一般想法,prime复杂度O(n^2),Kruskal复杂度O(n^2 logn),N很大时,这复 ...

  3. 东北四省赛H-Skyscraper-线段树的区间合并优化

    题目描述: At the main street of Byteland, there will be built n skyscrapers, standing sequentially one n ...

  4. 2021CCPC东北四省赛 D. Lowbit 势能线段树

    传送门 分析 分析一下x+lowbit(x)x + lowbit(x)x+lowbit(x)这个操作 如果多次操作之后,那么xxx中只会有最高位存在一,这个时候再执行一次操作就会使整个数字乘二 所以, ...

  5. 2021全国职业技能大赛浙江省杭州市“网络空间安全赛项”赛题及赛题解析(超详细)

    2021年中职组浙江省杭州市"网络空间安全"赛项 2021浙江省杭州市竞赛任务书及解析 A模块基础设施设置/安全加固(200分) B模块安全事件响应/网络安全数据取证/应用安全(4 ...

  6. 【随笔】2015年ICPC四省赛/邀请赛小结

    因为槽点太多了,所以周日比完赛,周一就开始写文章吐槽了QAQ 这比赛真坑,真坑,真坑啊!!!(重要的事情要说三遍) 本次比赛是ICPC主办的东北赛,哈工大跟吉大可能是因为有了CCPC所以不来参加了吧, ...

  7. 2021.7.16模拟赛C组总结(转载XJY)

    2021.7.16模拟赛C组总结 这次比赛,题虽然不难,但丝毫不影响我打挂-唉- 0+100+50+0=150 题解 T1 题目描述: ​ 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小 ...

  8. NOIP 2021 多校模拟赛

    NOIP 2021 多校模拟赛 难度不算特别大,能拿的分挺多,感觉也没啥反思的,T2代码太恶心了. T1 串(string) [题目背景] 形貌昳丽的西克是虱子国王嫡系军队的 general,同时也兼 ...

  9. 2021年度热身训练赛第一场

    2021年度热身训练赛第一场 A.Weird Flecks, But OK 题意 给定n个点以及n个点的三维坐标,用一根长度不限的圆柱以垂直x-y平面,x-z平面或y-z平面方式穿过所有点,求圆柱的最 ...

  10. 2021年CCCC天梯赛 L2清点代码库 (哈希表,数据结构)

    分析 2021年CCCC天梯赛的一道问题. 使用一个数据结构存贮所有的数组及其出现的次数. 使用哈希表mp存储数组vector<intvector< int\>vector<i ...

最新文章

  1. SQL Server 2005系列教学(6) 多表操作及子查询
  2. 微型计算机的EMC设计视频,干货 | EMC设计有多难,看完这31个电磁兼容标准电路,瞬间懂了...
  3. 【STM32】FreeRTOS 系统内核控制函数
  4. html表白_HTML 表白网页
  5. ROSE User Case View
  6. 为了异常安全(swap,share_ptr)——Effecive C++
  7. LeetCode-8-String to Integer (atoi)
  8. ettercap dns_spoof
  9. bat自动输入密码登录_【第7期】Teamcenter自动登录改进,对portal.bat中登录密码加密...
  10. 苹果手机上怎么安装ipa文件?
  11. Johnson_Trotter 生成排列算法
  12. 面向初学者的 MQL4 语言系列之3——技术指标和内置函数
  13. 王道——数据结构——栈和队列(1)
  14. Qt for Automation 介绍
  15. vs2010的程序在win2000上运行
  16. 三角翼航模尾翼混控原理探索
  17. Python搭建私有pypi源发包——pypi-server
  18. js实现扩展显示器分屏操作
  19. 惠普打印机不能扫描到pc
  20. 32位处理器AM6528BACDXEA、AM6548BACDXEAF基于Arm Cortex-A53内核【工业4.0嵌入式产品应用】

热门文章

  1. Xilinx zynqmp USB开发
  2. python读取身份证照片信息_使用Python提取身份证上的信息2
  3. MIMICIV数据库下载导入
  4. ftp上传工具 6款用了就会爱上的ftp上传工具良心推荐
  5. NoSQLBooster for MongoDB基本使用步骤
  6. 大话设计模式之爱你一万年:第三章 创建型模式:工厂模式:我想让你坐在宝马里笑:5.工厂模式之抽象工厂模式
  7. element-ui校验表单只能输入数字
  8. Confusing Problem
  9. android实现号码归属地,Android手机号码归属地的查询
  10. 透声投影幕布透声与画面效果可以媲美吗?