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. Java项目:在线蛋糕商城系统(java+jsp+jdbc+mysql)
  2. Docker Compose 1.18.0 之服务编排详解
  3. Spring Boot导出jar包发布
  4. 【C#程序设计】教学讲义——第一章:C#语言概述
  5. 多头注意力代码解读(非常好的一个版本)
  6. MyEclipse安装EGit插件方法
  7. c语言malloc和直接声明,问下关于malloc的声明问题
  8. 01-09 Linux三剑客-awk
  9. php独占登录,php并发控制中的独占锁
  10. python 类属性排序_Python 使用多属性来进行排序
  11. html代码快速生成
  12. oracle----globle temp table
  13. 微信如何html动图文件,微信里的gif动态图片如何导出保存出来?看完本文你就知道了...
  14. SQL Injection Bypassing WAF ——from DVWA ——2012-12-8
  15. 计算机辅助化学教育,在计算机辅助下的化学教学_计算机辅助制造
  16. keras之权重初始化
  17. Microsoft Visio 2010 - 编辑属性值
  18. win10 如何扫描,win10 如何打印,win10找到设备和打印机,
  19. 中台实践:数据中台构建五步法
  20. interrupt request level - IRQL

热门文章

  1. 视频网 市场推广及网站运营实施可行性方案
  2. 如何办理进出口退税的手续?
  3. Windows 文件保护的注册表设置
  4. 递进式产品研发基本过程
  5. 有关ISE14.7中IMPACT报错Can not find cable, check cable setup 解决方法之一
  6. Android Paint 进阶之滤镜效果(ColorFilter)
  7. H.266/VVC帧间预测总结
  8. Scriptlet的3种模式
  9. 魔兽世界《巫妖王之怒》的宣传片,超酷!
  10. 项目Alpha版本发布