gpt4 book ai didi

math - 反射?我该怎么做?

转载 作者:行者123 更新时间:2023-12-03 18:09:11 27 4
gpt4 key购买 nike

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

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

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

我不能放任不管。 (' 或 x_0 是什么意思?或 ^^?)

最佳答案

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

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

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

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

The dot product between a and b is the length of the projection of a over b taken with a negative sign if the two vectors are pointing in opposite directions, multiplied by the length of b.



dot product geometric interpretation

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

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

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

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

vector reflection

计算反射向量 r ,给定一个向量 和一个正常的平面 你只需要使用公式:
r = a - 2<a, n> n

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

如果您考虑适当的点积符号,您应该看到该公式也适用于事件向量 和平面法线 都面向同一个方向。

关于math - 反射?我该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5454661/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com