题解 1075: 台球碰撞

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

优质题解

【BornFated】1075_台球碰撞_C语言题解

#1075_台球碰撞这个问题涉及到**球**在**二维平面**内的**受边界限制**的**斜向运动**,在写程序之前有几个问题要考虑:a.我们最终所求的是**球心**坐标,而球与球桌碰撞时实际上是**球的边界与球桌边界发生碰撞**,并不是球心发生的碰撞,

台球碰撞-题解(C语言代码)

摘要:本题利用**对称**以及**向量的分解**求解还是比较方便的。大佬们说的都很详细,我就简要说一下注意的点吧。 这个题要注意的点: 1:**角度弧度转换方法**,一个可以利用1°=asin(1)/9……

台球碰撞-题解(C语言代码) 直接取余

把圆的运动看成圆心的运动,忽略半径,计算总路程然后直接取余得位置。参考代码:```c#include#includeconstdoublek=3.141592653589793/180;intmain(){intL,W,x,y,R,a,v,s;while(~scanf("%d%d%d%d%d%d%d%

台球碰撞-题解(C语言代码)

代码我自己写出来了,主要是对称那里,我看到别人的更简洁,所以贴出别人的代码,先记下来/*思路;根据运动的分解,可分解竖直方向和水平方向。题目中V速度不变,并且是完全弹性碰撞分解后竖直方向速度和水平方向速度也是不变的,所以,如果空间足够的话,他会一直运动下去,

台球碰撞-题解(Python代码)

说真的不知道怎么写题解,反正看见这边没什么python的参考,也算抛砖引玉吧。这道题就是球要反弹,于是想到无限对称,那么就让球球在平面内自由跑,然后算其走了几个活动范围,再折叠回原空间即可。那么就直接能用算术方法算出来。值得注意的是题目居然用角度不用弧度,反正就顺着出题人吧。

1075.台球碰撞(初学者。。只有思路还没ac+直接模拟物理过程+核心代码C语言代码)

这道题我们可以这么考虑:首先,显然对于沿任意方向的速度矢量,我们都可以将它分解成沿x轴方向与沿y轴方向的两个分量。越界反弹后速度方向相反大小相等。然后分别判断其坐标在x轴和y轴上是否越界。(如下所示)```c#include#includeintmain(){intL,

台球碰撞 (Java代码)

摘要:解题思路:注意事项:参考代码:import java.util.Scanner; public class Main {     public static double f(double s……

台球碰撞 (C语言代码)越界翻转判断

解题思路:只需要关注球心的运动轨迹,分为x和y两个分量分别计算,若越界(碰撞)则翻转,用一个flag表示翻转后朝向注意事项:默认朝向为正,而sin和cos的结果可能为负,因此需要fabs()取绝对值,数据要定义为double,float会出错参考代码:#include#include

折叠法解决问题 (C语言代码)

参考学明的代码,他的判定方法看不太懂解题思路:由于完全弹性碰撞,每次碰撞边界之后,小球只改变了速度方向,其他并没有改变。因此已知速度、入射角、时间之后,小球在X、Y轴上行走的总路程是确定的,且X、Y轴独立互不干扰。所以可以先考虑在X轴上小球的运动,再推广到Y轴上即可。