完全碰撞问题 台球碰撞
- 问题描述
在平面直角坐标系下,台球桌是一个左下角在(0,0),右上角在(L,W)的矩形。有一个球心在(x,y),半径为R的圆形母球放在台球桌上(整个球都在台球桌内)。受撞击后,球沿极角为a的射线(即:x正半轴逆时针旋转到此射线的角度为a)飞出,每次碰到球桌时均发生完全弹性碰撞(球的速率不变,反射角等于入射角)。
如果球的速率为v,s个时间单位之后球心在什么地方?
- 输入
- 输入文件最多包含25组测试数据,每个数据仅一行,包含8个正整数L,W,x,y,R,a,v,s(100<=L,W<=105, 1<=R<=5, R<=x<=L-R, R<=y<=W-R, 0<=a<360, 1<=v,s<=105),含义见题目描述。L=W=x=y=R=a=v=s=0表示输入结束,你的程序不应当处理这一行。
- 输出
- 对于每组数据,输出仅一行,包含两个实数x, y,表明球心坐标为(x,y)。x和y应四舍五入保留两位小数。
- 样例输入
100 100 80 10 5 90 2 23110 100 70 10 5 180 1 99990 0 0 0 0 0 0 0
- 样例输出
80.00 56.0071.00 10.00
- 提示
无
#include<iostream>
#include <cmath>
#include<stdio.h>
using namespace std;
int main()
{int t;int l, w, r, a, v, s;double x, y;double pi = acos( -1.0 );double vx, vy;while( cin>>l>>w>>x>>y>>r>>a>>v>>s ){if( l==0 ) break;vy=sin( a*pi/180.0 )*v;vx=cos( a*pi/180.0 )*v;//cout<<vx<<" "<<vy<<endl;t=0;while( t!=s ){x+=vx;y+=vy;while( (x-r<0) || (x+r>l) || (y-r<0) || (y+r>w) ){if( x-r<0 ) x=2*r-x, vx=-vx;if( x+r>l ) x=2*l-2*r-x, vx=-vx;if( y-r<0 ) y=2*r-y, vy =-vy;if( y+r>w ) y=2*w-2*r-y, vy =-vy;}t++;}printf( "%.2lf %.2lf\n", x, y );}return 0;
}
完全碰撞问题 台球碰撞相关推荐
- NYOJ 665 台球碰撞
台球碰撞 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 在平面直角坐标系下,台球桌是一个左下角在(0,0),右上角在(L,W)的矩形.有一个球心在(x,y),半径为R的 ...
- 【算法修炼】台球碰撞 C
台球碰撞 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 在平面直角坐标系下,台球桌是一个左下角在(0,0),右上角在(L,W)的矩形.有一个球心在(x,y),半径为R的 ...
- 题目 1075: 台球碰撞
样例输入 100 100 80 10 5 90 2 23 110 100 70 10 5 180 1 9999 0 0 0 0 0 0 0 0 样例输出 80.00 56.00 71.00 10.00 ...
- 椭圆台球桌中台球碰撞模拟
题目:椭圆台球桌中台球碰撞模拟 内容: 掌握二维光线跟踪方法: 功能要求: (1)构建一张椭圆形台球桌: (2)使用鼠标指定椭圆内的一个随机起点S和方向c: (3)台球从S点出发,沿方向c按直线前进, ...
- 密码学系列之:碰撞抵御和碰撞攻击collision attack
简介 hash是密码学和平时的程序中经常会用到的一个功能,如果hash算法设计的不好,会产生hash碰撞,甚至产生碰撞攻击. 今天和大家详细探讨一下碰撞攻击. 什么是碰撞攻击 所谓碰撞攻击指的是对于同 ...
- Hypermesh+dyna整车碰撞模型( 仿真+试验对标)-加计算分析报告 碰撞仿真与碰撞试验的对标模型及报告
Hypermesh+dyna整车碰撞模型( 仿真+试验对标)-加计算分析报告 国外专业机构做的碰撞仿真与碰撞试验的对标模型及报告, 基本款与轻量化款对比,数据详实,不可多得的好资料,懂的工程师联系我. ...
- 基于Seajs的可控台球碰撞游戏
前言 不记得哪个黑色星期五,贪吃鱼基本完工的时候,产品突然增加需求,要求金币扔出去后不消失,互相可碰撞,其最终结果还要由服务器控制(没错,至今做的所有游戏都有幕后黑手,=W=). 对于碰撞以前只写过一 ...
- C语言网 蓝桥杯训练 1075 台球碰撞
样例输入 100 100 80 10 5 90 2 23 110 100 70 10 5 180 1 9999 0 0 0 0 0 0 0 0 样例输出 80.00 56.00 71.00 10.00 ...
- 编程习题练习记录--台球碰撞
在平面直角坐标系下,台球桌是一个左下角在(0,0),右上角在(L,W)的矩形.有一个球心在(x,y),半径为R的圆形母球放在台球桌上(整个球都在台球桌内).受撞击后,球沿极角为a的射线(即:x正半轴逆 ...
最新文章
- linux学习笔记一
- Ultimate SLAM:结合事件、图像和惯性测量单元,在HDR和高速场景下实现鲁棒的视觉SLAM...
- tensorflow loss nan 解决办法
- C++五子棋(三)——判断鼠标有效点击
- pythonsocket中tcp通信接收不到数据_TCP 为什么三次握手而不是两次握手(正解版)...
- hdu1054(最小顶点覆盖)
- find命令使用案例
- 机器学习精讲(向量逼近+函数逼近)学习笔记——第五章
- cas入门之:cas 4 如何以http形式发布
- 学习搭建谷粒商城微服务框架(Docker配置)-01
- 146条经典偏方(祖传秘方)
- Javascript中new关键字和this指向
- Android 播放器 mov,Android 调用系统播放器
- Eclipse刚下好,代码没问题,就是运行不起来
- 使用wandb报错:ERROR Error while calling WB API: project not found (<Response [404]>)
- C# GDI 手绘图片转化为电子版处理
- oppo R9sk 完美root 线刷包+救砖
- quartz所需表的说明
- 【简单总结】SLAM 算法的 Benchmark 及相关数据集的结果对比
- 一加手机怎么root权限_一加手机OnePlus卡刷获取root权限图文教程