【问题标题】:Bounce A Ball of off a Circle反弹一个圆球
【发布时间】:2015-05-12 23:47:10
【问题描述】:

所以我正在制作一款类似于史莱姆排球的游戏。基本上,我的两个主要球员或对象是两边的半圆,中间有一个网,还有一个球。我的问题是我不知道如何让球反弹一个半圆,以便它同时遵循角度和方向。我试过查找它,但所有这些都是关于墙壁或矩形的,而不是从圆形物体反弹。任何代码或想法都会有所帮助。

【问题讨论】:

  • 您能否提供一些代码,基于此,尝试帮助您会更容易。你还用什么语言编程?
  • 查看 box2d。它适用于您会询问堆栈溢出的大多数语言
  • 这实际上更像是一个数学/物理问题。您是否尝试过在代码中实现物理原理?
  • 你能在弹跳点画一条圆的切线吗?然后,您可以将该切线视为您的“墙”并反弹。但这实际上是一个数学问题,而不是编程问题。或者,物理学,如果你的墙有任何世俗的属性。
  • 我正在使用 java,对此很抱歉,但是是的。我想我现在已经弄清楚了数学,谢谢! ...我今晚尝试上传代码以显示我现在的位置...

标签: geometry bounce


【解决方案1】:

“取一个半圆,将其指向上方,将平行光线直射向下,然后让这些光线反射出去。反射光线的包络线将是 nephroid 的一半”:



图片来源:John Baez
更直接地说,假设你的球路径上有一条射线r。 找到 r 与你的半圆 C 的交点 p。 计算 p 处的切线 t。 在 p 处计算正常的 n。 将 r 反射到 nr'

【讨论】:

  • 这是正确的,但我不确定你为什么提到肾病。另外,请注意,球在物理上并不准确(旋转是一个重要的动态)。
  • @Veedrac:我提到了肾瘤来解释图像。
猜你喜欢
  • 2023-03-29
  • 2013-11-23
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多