这让我摸不着头脑,有没有人能给我解释清楚?http://mathworld.wolfram.com/Reflection.html
我正在制作一款2d越狱格斗游戏,所以我需要球能够在它击中墙壁、划桨或敌人(或敌人击中它)时进行反射。
它们的公式都是这样的:x_1^‘-x_0=v-2(v·n^^)n^。
我不能容忍这一点。(‘or x_0’是什么意思?或^^?)
发布于 2011-03-28 15:04:52
如果考虑“点积”运算的几何意义,则反射公式更容易理解。
两个3d向量之间的点积在数学上定义为
<a, b> = ax*bx + ay*by + az*bz但它有一个很好的几何解释
a和b之间的点积是a在b上的投影长度,如果这两个向量指向相反的方向,则取负号,乘以<代码>E110b<代码>E211的长度。

使用这个定义很明显,但如果只看公式就不明显了,例如,如果坐标系旋转,两个向量的点积不会改变,两个垂直向量的点积是0(在这种情况下,投影的长度显然是零),或者一个向量本身的点积是它的长度的平方。
相反,使用几何解释不太明显的是,点积是可交换的,即<a, b> = <b, a> (考虑到公式,这一事实是显而易见的)。
需要考虑的重要一点是,如果b的长度为1,则点积<a, b>就是a在b上的投影长度(用正确的符号取)。
根据这种解释,计算平面上的反射的公式很容易理解:

要计算反射矢量r,给定一个矢量a和一个法线为n的平面,您只需使用以下公式:
r = a - 2<a, n> n图中的height h在本例中仅为<a, n> (请注意,假设n具有单位长度),因此应该很清楚,您需要在法线方向上移动该高度的两倍。
如果你考虑正确的点积符号,你应该看到当入射矢量a和平面法线n朝向相同的方向时,该公式也适用。
发布于 2011-03-28 15:10:44
这仅仅是公式格式的问题吗?因为我看到的是格式很好的等式,而不是您问题中出现的LaTeX样式的标记。因此,第一步:尝试在不同的web浏览器中查看页面,看看它是否看起来更清晰。
更有实质意义的是,我会推荐一种不同的资源。从根本上说,您看到的是collisions,它通常在物理文本中比数学文本中处理得更好。任何入门物理教科书都会有一个关于碰撞的章节,这应该直接适用于你的游戏。
https://stackoverflow.com/questions/5454661
复制相似问题