4

这是我的头,有人可以更好地向我解释吗?http://mathworld.wolfram.com/Reflection.html

我正在制作一款 2d 突围格斗游戏,所以我需要球在击中墙壁、桨或敌人(或敌人击中它)时能够反射。

他们所有的公式都是这样的:x_1^'-x_0=v-2(v·n^^)n^^。

我不能这样。('是什么意思或x_0?或^^?)

4

3 回答 3

27

如果考虑“点积”运算的几何意义,反射公式更容易理解。

两个 3d 向量之间的点积在数学上定义为

<a, b> = ax*bx + ay*by + az*bz

但它有一个很好的几何解释

如果两个向量指向相反的方向,则ab之间的点积是ab上的投影的长度(如果两个向量指向相反的方向)乘以b的长度。

点积几何解释

使用此定义立即显而易见并且仅查看公式并不明显的是,例如,如果坐标系旋转,两个向量的点积不会改变,两个垂直向量的点积是0(在这种情况下,投影的长度显然为零)或者向量本身的点积是其长度的平方。

使用几何解释不太明显的是点积是可交换的,即<a, b> = <b, a>(考虑到公式很清楚的事实)。

需要考虑的重要一点是,如果b的长度为 1,那么点积<a, b>就是ab上的投影长度(使用正确的符号)。

鉴于这种解释,计算平面反射的公式很容易理解:

矢量反射

要计算反射向量r,给定一个向量a和一个具有法线n的平面,您只需要使用以下公式:

r = a - 2<a, n> n

在这种情况下,图中的高度h<a, n>只是(请注意,假定n是单位长度),因此应该清楚的是,您需要在法线方向上移动该高度的两倍。

如果您考虑正确的点积符号,您应该看到该公式也适用于当入射矢量a和平面法线n面向同一方向时。

于 2011-03-28T07:04:52.373 回答
2

( ') 表示数字/点/结构的第二种形式。在这种情况下,x1' 指的是 x1 的反射形式。

( 0) 表示相同的各种状态。在这种情况下,x₀ 是反射点。

插入符号( )^表明某事物是一个向量。在这种情况下,n̂ 是法线向量。

于 2011-03-28T04:36:21.857 回答
0

这只是关于方程式格式吗?因为我看到格式很好的方程式,而不是您的问题中出现的 LaTeX 样式标记。所以第 1 步:尝试在不同的网络浏览器中查看页面,看看它是否看起来更清晰。

更实质的是,我会推荐一种不同的资源。从根本上说,您正在查看碰撞,在物理文本中通常比在数学文本中更好地处理它们。任何入门物理教科书都会有关于碰撞的章节,这应该直接适用于您的游戏。

于 2011-03-28T07:10:44.480 回答