这是我的头脑,有人可以向我解释一下吗? http://mathworld.wolfram.com/Reflection.html
我正在制作一个2d突破格斗游戏,所以我需要球能够反射它撞击墙壁,划桨或敌人(或敌人击中它)。
所有公式都是:x_1 ^' - x_0 = v-2(v·n ^^)n ^^。
我无法忍受这一点。 (什么意思或x_0?或^^?)
答案 0 :(得分:27)
如果你考虑“点积”操作的几何意义,反思的公式就更容易理解。
两个三维矢量之间的点积在数学上定义为
<a, b> = ax*bx + ay*by + az*bz
但它有一个很好的几何解释
a 和 b 之间的点积是长度 用 a 投影 b 的投影 如果两个向量指向,则为负号 相反的方向,乘以 b 的长度。
使用这个定义可以立即显而易见的事情,如果你只看公式就不明显了,例如,如果旋转坐标系,两个矢量的点积不会改变,那就是两个点积垂直向量为0(在这种情况下投影的长度显然为零)或者向量的点积本身就是其长度的平方。
使用几何解释而不那么明显的东西是点积是可交换的,即<a, b> = <b, a>
(考虑到公式的事实很明显)。
要考虑的重点还在于,如果 b 的长度为1,则点积<a, b>
只是 a 投影的长度 b (使用正确的符号)。
鉴于这种解释,计算平面上的反射的公式很容易理解:
要计算反射向量 r ,给定向量 a 和具有正常 n 的平面,您只需使用公式:< / p>
r = a - 2<a, n> n
图中的高度 h 在这种情况下仅为<a, n>
(请注意, n 假设为单位长度)因此它应该是要清楚你需要在正常方向上移动那个高度两倍。
如果考虑正确的点积符号,当事件向量 a 且平面法线 n 朝向相同方向时,您应该看到该公式也适用。
答案 1 :(得分:2)
prime ('
)表示数字/点/结构的第二种形式。在这种情况下,x 1'指的是x 1的反射形式。
下标( 0
)显示了相同的各种状态。在这种情况下,x 0是反射点。
插入符号(^
)表示某些内容是向量。在这种情况下,n是法线向量。
答案 2 :(得分:0)
这只是关于等式格式吗?因为我看到格式很好的方程式,而不是你问题中出现的LaTeX式标记。所以第1步:尝试在不同的Web浏览器中查看页面,看看它是否更清晰。
更实质上,我建议使用不同类型的资源。从根本上说,你正在研究collisions,它们在物理文本中通常比数学文本更好。任何介绍性的物理教科书都会有一章关于碰撞,这应该直接适用于你的游戏。