C# XNA破壁编程

C# XNA破壁编程,c#,algorithm,xna,collision,angle,C#,Algorithm,Xna,Collision,Angle,我正在尝试创建这个游戏打破墙壁,我有一个问题: 当球碰到球拍时,它的角度应该相应地改变,但是如何改变呢? 有人知道并且能帮助我吗 谢谢 正如索纳所写,如果不看一些代码,就无法判断。因此,这个答案做出了一些假设,这些假设可能适用于您的代码,也可能不适用于您的代码。无论如何,问题可以通过以下方式解决: 假设球的方向和速度是矢量。桨的法线也将是一个向量。然后你需要在法线方向用 velocity := velocity - 2 * normal * dot(normal, velocity) 先展示你

我正在尝试创建这个游戏打破墙壁,我有一个问题: 当球碰到球拍时,它的角度应该相应地改变,但是如何改变呢? 有人知道并且能帮助我吗


谢谢

正如索纳所写,如果不看一些代码,就无法判断。因此,这个答案做出了一些假设,这些假设可能适用于您的代码,也可能不适用于您的代码。无论如何,问题可以通过以下方式解决:

假设球的方向和速度是矢量。桨的法线也将是一个向量。然后你需要在法线方向用

velocity := velocity - 2 * normal * dot(normal, velocity)

先展示你的作品。。人们无法理解你的想法。有很多方法可以实现这一点。我正在计划比赛,我没有写太多。但是当我思考如何做这件事时,我没有想到一个办法。你不需要了解我的想法,给我一个。谢谢你这是数学,不是编程这整篇文章都在叫“给我”而不是“帮助我”。字面意思。点是什么,方法?在垂直或水平墙的情况下,这可以像翻转垂直速度分量的符号一样简单。点是欧几里德标量积,法线上的条件是点法线,法线=1。谢谢大家的帮助,我来试试