description

实验室胡某是LOL一区最强王者,其上分神器就是ADCarry中的皮城女警。话说这女警不但长的好看,手还是全联盟最长的。女警的R技能完美一击呢,其实就是点爆对方的头,简称爆头。所谓爆头,就是子弹直接命中对方的头部,以秒杀敌人。现在用一个三维的直角坐标系来描述游戏中的三维空间(水平面为xoy平面,z轴正方向是上方)。假设游戏中角色的头是一个标准的球。告诉你对面暴走金克斯的身高,头部半径,所站位置的坐标;胡某所控女警的身高,头部半径,所站位置的坐标,以及枪头所指方向的单位向量。女警的枪瞄准时枪膛中的子弹跟视线基本同线,我们忽略它们的距离,就当成同线。金克斯呢,很是嚣张地正立着。现在女警正在瞄准,由于瞄准时身体微弯,视线从头心出发,他头部的实际高度比正立时低10%。你的任务就是,计算女警在这一刻扣下扳机,能否爆金克斯的头。注意:这里忽略子弹的直径和重力作用,也就是说子弹是无限小的,弹道是一条笔直的射线,两人之间没有障碍物。并且只要子弹擦到头部,哪怕是边缘,也算爆头。

input

测试数据的第一行有一个正整数T,表示有T组测试数据。每组数据的第一行有五个实数,h1,r1,x1,y1,z1,分别表示金克斯的身高,头部半径以及所站的位置。第二行有八个实数,h2,r2,x2,y2,z2,x3,y3,z3,分别表示女警的身高,头部半径,所站位置,以及枪头所指方向的方向向量。

output

每一组输入数据对应一行输出。如果能爆金克斯的头,输出Boom;,否则输出Pity。

sample_input

2
1.62 0.1 10.0 10.0 10.0
1.80 0.09 0.0 0.0 0.0 1.0 1.0 1.0
1.62 0.1 0.0 0.0 0.0
1.80 0.09 10.0 10.0 10.0 -1.0 -1.0 -1.0

sample_output

Boom
Boom

此题若仅仅认为是求一个叉积判断距离那就大错特错了,刚开始是说怎么老是wa,后来看网上别人帖子才受到启发原来刚开始第一步就少了判断射击方向,所以如果射击是反的叉积判断距离和射正的判断的距离一样,所以第一步判断方向一定不能少,一个向量点乘就搞定,至于后来的叉积判断距离,我是将三维分解为x,y;x,z;y,z这三个垂直方向来三次判断的二维叉积,至于三维叉积的判断方法由于本人能力有限还不足以完成,下面附上代码仅供参考:
#include <iostream>
#include<stdio.h>
#include<cmath>
using namespace std;
double ss(double ax,double ay,double bx,double by,double cx,double cy)//此函数算叉积,尽管是二维叉积......
{return abs((bx-ax)*(cy-ay)-(by-ay)*(cx-ax))/sqrt((ax-cx)*(ax-cx)+(ay-cy)*(ay-cy));
}
double jiao(double x1,double y1,double z1,double x2,double y2,double z2)//此函数判断射击方向,用的是向量点乘的逆运算,算出cos值
{return (x1*x2+y1*y2+z1*z2)/(sqrt(x1*x1+y1*y1+z1*z1)*sqrt(x2*x2+y2*y2+z2*z2));
}
int main()
{int n;double h1,r1,x1,y1,z1,h2,r2,x2,y2,z2,x3,y3,z3;scanf("%d",&n);for(int i=0;i<n;i++){scanf("%lf%lf%lf%lf%lf",&h1,&r1,&x1,&y1,&z1);scanf("%lf%lf%lf%lf%lf%lf%lf%lf",&h2,&r2,&x2,&y2,&z2,&x3,&y3,&z3);double X1=x2,Y1=y2,Z1=z2+h2*0.9-r2,X2=X1+x3,Y2=Y1+y3,Z2=Z1+z3,X3=x1,Y3=y1,Z3=z1+h1-r1;if(jiao(x3,y3,z3,X3-X1,Y3-Y1,Z3-Z1)<=0){cout<<"Pity"<<endl;continue;}else{if(ss(X1,Y1,X3,Y3,X2,Y2)-r1<=1e-6&&ss(X1,Z1,X3,Z3,X2,Z2)-r1<=1e-6&&ss(Y1,Z1,Y3,Z3,Y2,Z2)-r1<=1e-6)cout<<"Boom"<<endl;else cout<<"Pity"<<endl;}}return 0;
}

叉积求距离(简单几何)相关推荐

  1. 叉积求点到平面距离_OpenCV计算点到直线的距离 数学法

    我们在检测图像的边缘图时,有时需要检测出直线目标,hough变换检测出直线后怎么能更进一步的缩小区域呢?其中,可以根据距离来再做一判断,就涉及到了点与直线的距离问题. 点到直线距离代码如下: //== ...

  2. hdu 1174:爆头(计算几何,三维叉积求点到线的距离)

    爆头 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  3. 2021牛客暑期多校训练营2 F Girlfriend (阿波罗尼斯圆+简单几何)

    F Girlfriend (阿波罗尼斯球+简单几何) 题目大意: 给定四个点,每两个点构成一个阿波罗尼斯球,求两圆相交部分的体积. 思路: 一看就是几何题啊,话不多说直接开淦... 首先对于阿波罗尼斯 ...

  4. pku 2954 Triangle pku 1265 Area Pick定理的应用 + 叉积求多边形面积

    Pick定理证明:http://translate.google.com/translate?u=http://episte.math.ntu.edu.tw/articles/sm/sm_25_10_ ...

  5. python画三维几何图-Python下opencv使用笔记(二)(简单几何图像绘制)

    简单几何图像一般包含点.直线.矩阵.圆.椭圆.多边形等等.首先认识一下opencv对像素点的定义. 图像的一个像素点有1或者3个值.对灰度图像有一个灰度值,对彩色图像有3个值组成一个像素值.他们表现出 ...

  6. 递归 算例一(求一个简单嵌套字典的深度)

    递归 算例一(求一个简单嵌套字典的深度) c=[]def dcc(dic):for key in dic.keys():print (key) c.append(key) vv=dic[key]#判断 ...

  7. 利用向量叉积求三角形的面积(+STL:nth_element求第K大的数)

    牛客寒假算法集训营2 https://ac.nowcoder.com/acm/contest/327/A A.处女座的签到题 题目描述 平面上有n个点,问:平面上所有三角形面积第k大的三角形的面积是多 ...

  8. 牛客练习赛36 F-Rabbit的蛋糕 (叉积求面积, 记录前缀)

    题目链接 题目描述 Rabbit和xxx获得了一个很大的蛋糕,这个蛋糕实际上是由N个点组成的凸多边形(点从1到N编号,保证没有三点共线). 接着两个人开始分蛋糕,他们准备沿着蛋糕上两点连成的直线把蛋糕 ...

  9. matlab求解一元四次函数,excel数据函数参数是四个吗|求一个简单的一元四次函数的最大值...

    求四次函数的最值 先求导,令导数等于0,求出x的值,判断单调性,将x代入原函数 4次幂的一元函数怎么计算 解析: (1) 四次方程,有通用求根公式. A 此公式复杂,实际使用较麻烦 B 其推导过程中可 ...

最新文章

  1. HDFS建筑与shell操作
  2. 细节决定成败:一个公共类库
  3. java多态调用优先级_关于java的多态方法调用顺序的问题
  4. 【教学课件】IT教学课件和课程考试资料汇总
  5. CentOS7 虚拟机搭建、初始设置、简单使用
  6. JDK源码解析之 java.lang.Thread
  7. 全系统动态污点分析-概要
  8. 软件工程第一周预备作业
  9. scala里集合排序函数的使用
  10. Linux(ubuntu)系统键盘指法打字练习软件汇总
  11. Guri团队的侧信道攻击研究
  12. [个人管理]学习超级搜索术知识点总结
  13. matlab 螺纹,关于螺纹边缘提取及参数测量
  14. cpe动态ip,做端口映射方案
  15. Oracle 对表空间无操作权限
  16. Fragment和Activity之间的通信
  17. C#发送ZPL控制斑马Zebra打印机源码
  18. 【编辑器】unity自动化生成UI模板代码
  19. [前端面试题][‘1‘,‘2‘,‘3‘].map(parseInt)
  20. 什么是数字孪生?数字孪生技术有没有真正的实用价值?

热门文章

  1. 俄勒冈之旅_玩家之旅
  2. 如何下载windows镜像
  3. Java基础语法-条件结构-switch条件结构
  4. 5G商用助力,2022年物联网终端将达180亿个
  5. 王者荣耀盒子App数据爬取
  6. 基于Arcgis的字段计算器数列式递进计算方法
  7. codeforces-962-c
  8. ICIP2020:VVC复杂度分析
  9. 文本编辑器之kindeditor
  10. qq好友克隆-转好友