-一个与小球碰撞有关的问题


-本人学号:16340300


-本人学院:数据科学与计算机学院


  • 目录
  • 看看这个问题
  • 如何解决
  • 解法

看看这个问题

如图,在光滑水平面上,有一个球A向墙运动,速度垂直于墙面,A和墙之间的连线上停着另一个小球B。假设球与球,球与墙之间的碰撞均为完全弹性的,当A的质量是B的10^2n倍时,球与球、球与墙之间一共发生了多少次碰撞?这个图画的并不好,两个球大小完全一致可以看成质点。


如何解决?

实际上,经过试验可以得出:

两球质量相等时,共发生3次碰撞。
当A的质量是B的10000倍时,共碰撞314次。
当A的质量是B的1000000倍时,共碰撞3141次。
当A的质量是B的1亿倍时,共碰撞31415次。
显然碰撞次数和圆周率有关,那么该如何解释这个关系呢?


解法

这里提供一种通俗易懂的解法,还有许多解法读者可以自己去考虑。
设大小球的质量比为N, Vi V_i 为大球速度, vi v_i 为小球速度,由能量守恒:

1/2NV2i+1/2v2i=1/2NV2i−1+1/2v2i

1/2NV_i^2+1/2v_i^2=1/2NV_{i-1}^2+1/2v_i^2
可以得到 V2i+(vi/N−−√)2 V_i^2+(v_i/\sqrt N)^2是定值,也就是 (Vi,vi/N−−√) (V_i,v_i/\sqrt N)在一个圆上。

设其为单位圆,记为 (Vi,vi/N−−√)=(cosa,sinb) (V_i,v_i/\sqrt N)=(cosa,sinb),由动量守恒有:

N−−√cosa+sina=N−−√cosb−sinb

\sqrt Ncosa+sina=\sqrt Ncosb-sinb化简得:

N−−√=cot((a−b)/2)

\sqrt N=cot((a-b)/2)对于任意的i,碰撞前后a和b的差是定值(由质量比N决定)。所以把 (Vi,vi/N−−√) \left( V_{i},v_{i}/\sqrt{N} \right)在圆上依次画出来之后,这个点每次移动的角度是固定的。
起始的点是(1,0),终止的情况是这个点第一次跨入第三象限的刹那(当小球在某次碰撞后仍然向右走,那么过程停止)(确切的说,是跨过射线 (−1,1N√) \left( -1,\frac{1}{\sqrt{N}} \right) 之后终止,在极限情况下趋近于x轴负半轴),转过的角度是固定的,因此必然会跟 π \pi 相关。
在 N→∞ N\rightarrow \infty 时, Δθ=2arctan1N√∼2N√ \Delta \theta =2arctan\frac{1}{\sqrt{N}}\sim \frac{2}{\sqrt{N}}
球之间碰撞的次数

n≈π2/N−−√

n\approx \frac{\pi}{2/\sqrt{N} }
总碰撞次数

m=2n−1≈πN−−√

m=2n-1\approx \pi \sqrt{N} 由此可以解出答案。

参考链接
https://link.zhihu.com/?target=http%3A//math.stackexchange.com/questions/138289/intuitive-reasoning-behind-pis-appearance-in-bouncing-balls()

一个与小球碰撞有关的有趣问题相关推荐

  1. Canvas+Js制作动量守恒的小球碰撞

    目的:通过js实现小球碰撞并实现动量守恒 canvas我们就不多说了,有用着呢. 我们可以通过canvas画2D图形(圆.方块.三角形等等)3D图形(球体.正方体等待). 当然这只是基础的皮毛而已,c ...

  2. Java反弹球两球相撞_java实现小球碰撞反弹

    java实现小球碰撞反弹 java实现小球碰撞反弹 首先我们要在一个窗口里面显示这个功能,因此引入JFrame类然后创建一个窗口代码如下: JFrame win=new JFrame();//新建窗口 ...

  3. JS实现小球碰撞边界反弹-点击消失(详细解析实现思路)

    本篇文章给大家带来的是原生JS实现小球碰到边界就反弹,点击小球时小球被会销毁,并重新创建一个小球,让小球的数量一直保持在初始的数量,按照思路按步骤进行讲解,只需要源码的小伙伴可以定位到文本末尾直接复制 ...

  4. js 小球碰壁反弹and小球碰撞

    好像好几天没有更博了呢,最近有点变懒了,这样不好,不好~~我们要做热爱学习的好孩子,嘻嘻,今天下午补上... 我们在学习js的时候,一个很经典的案例就是小球的碰壁反弹效果啦~简单的小球碰壁效果可以慢慢 ...

  5. js实现多个小球碰撞

    实现思路:小球的移动,是通过改变小球的left和top值来改变,坐标分别为(x,y)当x/y值加到最大,即加到父级的宽度或者高度时,使x值或者y值减小,同理当x值或者y值减到最小时,同样的使x值或者y ...

  6. CCF软件认证题 java 201803-2 小球碰撞

    CCF软件认证题 java 201803-2 小球碰撞 问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上 ...

  7. c语言sleep函数_做游戏,学C语言,小球碰撞游戏,菜鸡者从黑窗口到图形化编程...

    CMD黑窗口小球运动 这次教程,我们实现一个弹跳小球.需要学习完基础的变量.运算符.表达式,printf.scanf输入输出函数的用法,if-else.while.for语句的用法. 第1步,显示静止 ...

  8. pygame动画演示小球碰撞

    使用pygame实现动量定理的小球碰撞演示动画 动量定理我们在高中的时候就已经接触过了,是十分重要的物理定理.其中的完全弹性碰撞(机械能守恒)是十分典型的例子,机械能守恒和动量定理两个公式就可以推出小 ...

  9. 一个神奇的资源网站「有趣网站收藏家」共有186个站点资源-北忘山修改版

    一个神奇的资源网站「有趣网站收藏家」共有186个站点资源-北忘山修改版 网站介绍 这个网站有点东西,目前收集了186个资源,小北当时拔下来之后发现都是作者纯html手写的,意思就是每每添加网站都是手动 ...

最新文章

  1. matplotlib 可视化必知必会富文本绘制方法
  2. 用了CFileDialog后File 写文件不能写进去
  3. 新华三副总裁李立:建设智慧城市的三大误区
  4. 数据库迁移登录名_如何将数据库的登录名迁移到其他服务器
  5. Sainkho Namtchylak-Old Melody那浓郁的忧伤
  6. 血管穿刺机器人研究汇总
  7. cydia java_利用Cydia Substrate进行Android JAVA HOOK
  8. Monkey简单介绍
  9. python产生一个1到10的列表_python-列表生成式(一)
  10. word2016(office 365)中安装mathtype相关问题及解决办法
  11. 2022-2028年中国中医医疗机构行业投资策略探讨及市场规模预测报告
  12. java中比例尺_android 比例尺 源码(二) MyMapView.java
  13. Qt下载网络图片到桌面
  14. 953. 验证外星语词典( 简单模拟 + 自定义定制排序 )
  15. 网络互联技术——简介
  16. Oracle 数据库学习
  17. c语言宴席排位置,图解中式婚宴主桌安排技巧 结婚宴席座次安排有讲究
  18. JavaSE-网络socket编程
  19. js --- 转数值类型
  20. 初识Java Bean

热门文章

  1. k8s1.18 StorageClass 使用rbd-provisioner提供ceph rbd持久化存储
  2. Supervised Contrastive Learning For Recommendation
  3. 【Html】段落排版--行间距(行高)
  4. 无稳态多谐震荡器学习
  5. 电脑怎么连接两个以上的显示器
  6. STM32L0 内部EEPROM写读
  7. GSoC: GitHub Checks API 项目第一阶段总结
  8. python集合元素个数_python如何取set元素个数
  9. 冲激响应不变法或双线性变换法中的参数T为什么是一个无关紧要的参数
  10. Java构造方法以及构造方法的重载