About elastic collisions...

  • Thread starter Isawyou0
  • Start date
  • #1
13
0
Hi all!
I'm developping a program, I wish if somebody helps me since I'm not good in physics, we know that:
v'1=v1-(j / m1)*n
v'1=v2+(j / m2)*n
1) when we use negative and positive sign? if we change them, there is error sometimes.
2)In 2d, do I have to calculate vx, and vy separately, what about n normal vector? should I do the same or use the magnitude?
And here we talk about relative velocity of j=-(1+e)*rV/1/m1+1/m2,calculate just magnitude or vx and vy, but doe'snt gonna work in rotation:
w'=w+j/i*r*n;
j=j=-(1+e)*rV/(1/m1+1/m2)*n^2*r^2/I*n^2*r^2/I;there will be no wx and wy for vx and vy, I guess magnitude here?
3) Can somebody demonstrate to me how the heck do we passed from:
Vf = Vi+ 2m(vi-Vi)/(m+M);to:
vf=vi-(j / m1)*n;also for rotation;
4) how to add friction:(it's should be negative to the velocity, and f'=uf, with ucoeficient of friction), a dot product with perpendicular to n normalised + j ?
I'm lost here please help; I will appreciate :)
 

Answers and Replies

  • #2
35,717
12,297
If you use variables, it would be useful to define and explain them.
 
  • #3
4
0
Better explain the conditions.
 
  • #4
13
0
okay! it will be more complicated, just wanna know how to clculate ellastic colision, and rotation
 
  • #5
sophiecentaur
Science Advisor
Gold Member
2020 Award
26,779
5,665
okay! it will be more complicated, just wanna know how to clculate ellastic colision, and rotation
You will need to make the effort to explain what you want in better detail or no one can answer you.
Did you try a text book?
 
  • #6
13
0
vx = vx + ((-1 * (1 + 1) * ((vx + teta *r) * nx+ (vy + teta * r) * ny)) / ((1 / m1+ 1 / m2) * ((ny* ny) + (nx* nx)))) * nx;
vy = vy + ((-1 * (1 + 1) * ((ix + teta * r) * nx+ vy + teta * r) * ny)) / ((1 / m1+ 1 / m2) * ((ny* ny) + (nx* nx)))) * ny;

nx &&ny: are normal of collison.
this code work wrong, why?
 
  • #7
13
0
it works finally!!! just wanna know about rotation last n,
w'=w+j/i*r*n;
n magnitude?
 
  • #8
13
0
it's ok for rotation,
teta = teta + (-1 * (1 + 1) * ((ix + teta * (centx - ja) - ibx) * xx1 + (iy + teta * (centy - jb) - iby) * yy1)) / (1 / 1.0f + 1 / 2.0f + ((float)Math.Pow((centx - ja) * xx1 + (centy - jb) * yy1, 2) / In) + ((float)Math.Pow((centbx - ja) * xx1 + (centby - jb) * yy1, 2) / Ina));
tetab = tetab + (-1 * (1 + 1) * ((ibx + tetab * (centx - ja) - ix) * xx1 + (iby + tetab * (centy - jb) - iy) * yy1)) / (1 / 1.0f + 1 / 2.0f + ((float)Math.Pow((centx - ja) * xx1 + (centy - jb) * yy1, 2) / In) + ((float)Math.Pow((centbx - ja) * xx1 + (centby - jb) * yy1, 2) / Ina));

ja and jb point of collision coordinate;
xx1 and yy1 are conatct normal;
and finally In for inertia

just maybe an error here?
 
Last edited:
  • #9
35,717
12,297
See above: without much more explanation what you are doing, how all those variables are defined, what you expect as result and what you get it is impossible to follow.
 
  • #10
13
0
Since that inertia is in kg.m^2, how to convert it to pixel(best way)? my rotation still going on the wrong sens
 
  • #11
35,717
12,297
Like this, the thread is completely pointless. Feel free to open a new thread if you need help, but then explain what you are doing.
 

Related Threads on About elastic collisions...

  • Last Post
Replies
4
Views
3K
  • Last Post
Replies
1
Views
1K
  • Last Post
Replies
3
Views
4K
  • Last Post
Replies
4
Views
6K
  • Last Post
Replies
5
Views
5K
Replies
3
Views
2K
Replies
1
Views
1K
  • Last Post
Replies
3
Views
1K
  • Last Post
Replies
10
Views
3K
  • Last Post
Replies
9
Views
2K
Top