I'm a programmer and I'm trying to create a physically accurate game. I'm not an expert on physics so if I'm missing the correct terms please excuse me.

What I'm trying to do is to simulate an arrow hitting and deflecting off a wall

So imagine an arrow and an impulse is applied to it on any point. I need to find out how much of that impulse will cause the arrow to rotate and how much of it to translate seperately.

I know the rotational kinetic energy is (1/2) I w^2 and I for a rod is (1/12) M L^2 around the center but I'm not sure about what to do if the axis is around a point between the center and the end which is the case in my game.

Also I dont know what do the rotational and translational kinetic energies add up to. All I have is a velocity change that I can equate.

  • 1
    $\begingroup$ This is a very much more difficult calculation than you imagine. Many factors have an effect on what happens : the hardness of the wall, the flexibility of the arrow, the angle at which the arrow strikes, etc. A better solution would be to make a video recording then try to imitate the effect in your program. $\endgroup$ Commented Oct 15, 2016 at 20:31
  • $\begingroup$ I understand the deflection is very complicated and I'm implementing a less accurate version. Instead of calculating the resistance on the tip, I'm just rotating the arrow and then apply the right force/torque combination. What I need is just the last part. $\endgroup$
    – Sangratura
    Commented Oct 15, 2016 at 20:35
  • $\begingroup$ I dont want help with the deflection, please read well. I want to know how a force on a leverage affects the object in terms of rotational and translational components. $\endgroup$
    – Sangratura
    Commented Oct 15, 2016 at 20:36

2 Answers 2


If the impulse force $P$ (force x time) is applied at the centre of mass (CM), this will cause only a change in the linear momentum of the CM without affecting any rotation. You can solve this part of the problem using a vector diagram, with the 3 sides of a triangle representing the initial and final momenta and the impulse (=change in momentum).

If the impulse is applied at perpendicular distance $x$ from the CM it is equivalent to applying the same impulse $P$ at the CM, along with a torque impulse of $xP$ which causes a change in angular momentum about the CM. If the impulse is not in the same plane as the initial rotation, a vector diagram is required for this calculation also.

  • $\begingroup$ In the second case, shouldn't P + xP be equal to the P in the first case ? So that the total energy is distributed between rotation and linear movement? $\endgroup$
    – Sangratura
    Commented Oct 15, 2016 at 21:06
  • $\begingroup$ Impulse is not the same as energy. See Off-center impulse equations and related questions linked by ja72. $\endgroup$ Commented Oct 15, 2016 at 21:13

I'm not sure about what to do if the axis is around a point between the center and the end

In this case rod moment of inertia fluctuates between min and max values,- $$I_x \in [I_{center}, I_{end}], \tag 1$$

Where $I_x$ rod moment of inertia around arbitrary axis point $x$ along rod, $I_{end}$ - rod moment of inertia when $x=0$, $I_{center}$ - rod moment of inertia when $x=L/2$. These edge case moments you can find in this list.

Then arbitrary moment of inertia defined in (1) will be : $$ I_x = I_{center} + k(I_{end} - I_{center}) \tag 2,$$

where coefficient $k$ shows how much arbitrary axis point $x$ is displaced from the center of rod :

$$ k = 1 - \frac {2x}{L} , \tag 3$$

where $L$ is rod length and $k \in [0,1]$ (relative percentage), $x$- axis distance from the end of rod.

But the overall task of calculating deflection parameters is very complex, because it depends on too many variables, so I will not even try to do that, because you will need a lot of problem (over-?)simplifications and even then it should be split into a smaller problem domains.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.