My problem may be complicated or simple (I guess complicated). I'm having problem solving a general (or theorical) situation of colision between two objects having both angular and linear velocity.
The result I want to obtain is the force that needs to be applied for a time (dt) so that the colision is fully elastic with resulting new angular and linear velocity for each object. What is known before colision for both objects is : all moments inertia, mass, velocity, angular velocity, forces at CM, torque at CM, position.
Maybe some have guessed it , this is for a physic engine applied to a 3d engine, that's why it's a general problem. It could also be helpful to have the colision deal with external forces (not equal to zero).
thank in advance for any response.
JohnDubYa
Jun9-04, 07:16 PM
Off-subject: Are you familiar with Havok 3-D? This is a physics simulator for video game development. They feature an Xtra for Macromedia Director, as well as products for other software vendors.
The result I want to obtain is the force that needs to be applied for a time (dt) so that the colision is fully elastic with resulting new angular and linear velocity for each object. What is known before colision for both objects is : all moments inertia, mass, velocity, angular velocity, forces at CM, torque at CM, position.
You'll need to be more descriptive of what exactly you're looking for to get a satisfactory response. When you say force applied: on what object and where is the force applied. Give a specific problem, it is hard to answer something that general.
arildno
Jun10-04, 01:18 PM
You ask for a lot, mikado, and in not too clear a way..
Remember, that if the collision period is extremely short, "normal"-sized forces and torques contribute only negligibly to changes in linear and angular velocities (their impulses are too small).
For example, the impulse imparted by the force of gravity during the collision period can be neglected.
That is, only those forces/torques that blow up towards "infinite" magnitudes during collision need to be considered.
1. DIRECT,ECCENTRIC IMPACT
I will consider the simplest 3-D model which allows for changes in the linear and angular velocities, namely a direct, eccentric impact model (with 2 objects involved).
With a direct impact, it is meant that the impulse involved is parallell to the common vector normal at the contact point of the 2 objects.
Note that we have simplified extensively here by assuming only a single point of contact, rather than a complicated contact area!
A more complicated point-contact model is the oblique impact model, where the impulse is not assumed to be necessarily parallell to the common vector normal.
An eccentric impact means that the impulse involved is not necessarily parallell to the position vectors of the contact point, measured from the objects' respective centres of mass (C.M).
This is the feature that can generate/change angular velocities of the objects involved.
2. 1. and 2. IMPACT PERIODS:
It is advantageous to split the collision period into 2 phases/ impact periods:
1.Impact period:
This phase stretches physically up to maximal deformation of the objects
(at least on the conceptual level..:smile:).
An exact deformation analysis is of course, extremely difficult, if not impossible.
However, by using impulse analysis, we gain a simplified, but effective model.
In particular, we make use of the highly simplifying, but patently false assumption that the two bodies remain rigid bodies throughout the collision period.
The conditions that has to be met is:
a)Change in objects' linear momenta is due to impulse (6 equations)
b)Change in objects angular momenta is due to angular impulse (6 equations)
c) The normal velocities of the 2 objects at the contact point must be equal(1 equation)
Hence, we have 13 equations in 13 unknowns:
\vec{v}_{G,1}^{(i)}, \vec{v}_{G,2}^{(i)}, \vec{\omega}_{1}^{(i)},
\vec{\omega}_{2}^{(i)}, I^{(i)}
I^{(i)} is the scalar value of the impulse, since the direction has been fixed in the direct impact assumption.
The superscript (i) means that the quantities are intermediate, and not final values.
2.Impact period:
In this period, elastic deformations developed during the first impact period revert, and both objects experience a 2.impulse as a result of this.
This second impulse, \vec{I}^{(2)} is simplified to being proportional with the first, that is:
\vec{I}^{(2)}=k\vec{I}^{(i)}
k is called the restitution coefficient, and for fully elastic collisions, k=1.
This is an extremely effective simplication, since we then for the enormous system of equations to be solved in the 1.impact period only need to solve explicitly for the expression of I^{(i)}!
To see why, let's consider object 1's equations for changes in linear momentum in the two impact periods:
1.period:
I^{(i)}\vec{n}_{1}=m_{1}(\vec{v}_{G,1}^{(i)}-\vec{v}_{G,1}^{(0)})
2.period:
kI^{(i)}\vec{n}_{1}=m_{1}(\vec{v}_{G,1}^{(f)}-\vec{v}_{G,1}^{(i)})
(\vec{n}_{1} is the vector normal at the contact point)
Summing together, we have for the final velocity:
\vec{v}_{G,1}^{(f)}=\vec{v}_{G,1}^{(0)}+\frac{2I^{ (i)}}{m_{1}}\vec{n}_{1}
3. SOLUTIONS:
We let the vector normal at the contact point be represented
by \vec{n}_{1}=-\vec{n}_{2}
\vec{r}_{1},\vec{r}_{2} are the respective position vectors to the objects' centres of mass.
\mathcal{I}_{G,1},\mathcal{I}_{G,2} are the inertial tensors with respect to the C.M's.
\vec{b}_{1}=\mathcal{I}_{G,1}^{-1}(\vec{r}_{1}\times\vec{n}_{1})
that is a matrix-vector product, where the matrix is the inverse of the inertia tensor.
\vec{v}_{C,1}^{(0)}=\vec{v}_{G,1}^{(0)}+\vec{\omeg a}_{1}^{(0)}\times\vec{r}_{1}
is the initial contact point velocity for object 1.
Hence, we have:
I^{(i)}=-\frac{\vec{v}_{C,1}^{(0)}\cdot\vec{n}_{1}+\vec{v}_ {C,2}^{(0)}\cdot\vec{n}_{2}}{\frac{1}{m_{1}}+\frac {1}{m_{2}}+(\vec{b}_{1}\times\vec{r}_{1})\cdot\vec {n}_{1}+(\vec{b}_{2}\times\vec{r}_{2})\cdot\vec{n} _{2}}
hope this helps..:smile:
I did solve the problem myself this afternoon by making the most simple assumption that at half the time of impact both velocities at the point of contact should have a null projection on the common normal of impact. hence I got this:
0= Vn(initial) + sum(Fn) * dt / (M * 2)
then
Fn(impact) = -2*Vn(initial)*M/dt - sum(Fn(exept impact force))
This result satisfy me a lot and I think it's pretty near reality given that this is 3d engine.
And thanks for replies I've got.
For those interested in this, I resolve the equation correctly and here is the final force expression :
F = (2*V/dt - sum(F1)/M1 - sum(F2)/M2)/(1/M1 + 1/M2)
where F is the force applied to ob. 1 during dt and V is the initial relative speed of both objects taking ob. 1 as reference. F1 and F2, M1 and M2, are the forces applied and mass of both objects respectively.
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.