hey i need a formula to calculate the new velocity and rotation speed if i apply a force to a sphere (velocity and rotation speed are vectors).
i have the position of the sphere and force and the x/y/z "speed" of the force and the mass of the sphere.
would be cool if someone can help me
oh and i need it for 3d
Of course there is rotation speed when you apply the Force to the center. The Instant centre of rotation is on the bottom of the sphere where the sphere touches the ground
And I think it would be better to apply momentum than force. If you have a Force it's important how long it is applied because it just accellerates the object. So it would be the same as appling momentum for a certain amount of time.
A) Use Torque for the rotation, using the tangential portion of the force
Torque = F * r
B) Use F = m a for the velocity, using the portion of the force going into the sphere
e.g. - If you have a force applied directly to the center of the sphere, none of the force is tangential
If you have a force applied across the surface of the sphere (tangent to the curve) all of the force is going to go into rotation
ehhm
1) the spehere is not on the ground
2) i have the gravitation force and buoyancy force.
i link multiple sheres togehter to make a object physical "swim"
A) Use Torque for the rotation, using the tangential portion of the force Torque = F * r
B) Use F = m a for the velocity, using the portion of the force going into the sphere
e.g. - If you have a force applied directly to the center of the sphere, none of the force is tangential If you have a force applied across the surface of the sphere (tangent to the curve) all of the force is going to go into rotation
First two are right, but the e.g. part is not. As I stated in my post what is important is the Instant centre of rotation.
For the Forces there are two equations that always work.
First:
m*dv/dt = m*a = F1+F2+...+Fn
and for the rotation
J*dω/dt = (F1 x s1) + ... + (Fn x sn)
s1 is the vector from the point of attach to the centre of rotation. If you use J as the Moment of inertia tensor of the Centre of mass of the sphere s would all be vectors from the point where the Force is applied to to the centre.
For your problem it would be better to use the Moment of inertia tensor of the instant centre of rotation. So you'd also need the parralell axis theorem.
The Problem is that these equations only are good for accelerations. Since you don't want to analyzie something, it's better to just add the Momentum/angular Momentum
So if a momentum is applied to a point r the resulting anglular momentum L would be:
L = (r-c) x p
x for vector product operator, (r-c) is the vector from the point of attack to the center of mass and p is the Momentum that is applied
So the new Momentum of the Sphere would be Ls_new = Ls_old + L
the resulting rotation speed ω would be:
ω = Ls*J^-1
J is the Moment of inertia tensor for your sphere (a 3*3 matrix). And Ls as the current angular Momentum of your Sphere
Since the Sphere is not on the ground that would be it for the rotation.
The vector product in L = (r-c) x p eliminates all Momentum that are applied to the center, e.g. gravitational Force and buoyancy force. They only would have effect on the rotation when the sphere is touching something an thus changing the instant centre of rotation for the moment the sphere touches something when you take friction into account.
For the Translations it would just be adding the new momentum to the existing momentum of the sphere
p_new = p_old + p
with p = m*v -> v = p* 1/m
I don't know how familar you are with momentum but for dynamic stuff it's more important than force.
F = dp/dt
for constant forces like gravity
-> p = integral F dt = F * t
that means the Momentum of your object increases by F every second (if you use the standart units for this stuff)
So just to prove that gravity doesn't affect the rotation:
the vector pg = -|pg|*e_z with e_z = (0,0,1)
and the point of attack = (0,0,0) = centre of mass = c
L = c x pg = (0,0,0) -> no additinal angular momentum
If you do it with vectors it need to be a tensor (3*3 Matrix).
The formula is for the rotation around one axis. Most of the time you can simplify your problems to get rid of the tensor and only use scalar values.
J = [Jxx Jxy Jxz]
[Jyx Jyy Jyz]
[Jzx Jzy Jzz]
your formula can be used for Jxx, Jyy, Jzz. For the others there is another formula I don't know how exacly they are called in english. I learned the suff in German and we called them "Deviationsmomente"
Jxy = integral (x*y) dm
for rotationally symmetirc objects you can simplify it to a diagonal matrix
J = [J1 0 0]
[0 J1 0]
[0 0 J2]
because the momentum of inertia for a rotationally symmetric object would be the same for two axis (in this case x and y) Jxx=Jyy
If I understood this stuff correctly the tensor for a sphere would be:
J = [J 0 0]
[0 J 0]
[0 0 J]
with J=2/5*m*r^2
since it has the same moment of inertia around whichever axis you rotate it
lol ... It would have been so much easier to explain everything in German
It's really hard for me to explain mathematical stuff in english, because you only learn stuff for everyday conversations in school ... and in Uni I only need German
hey i need a formula to calculate the new velocity and rotation speed if i apply a force to a sphere (velocity and rotation speed are vectors).
i have the position of the sphere and force and the x/y/z "speed" of the force and the mass of the sphere.
would be cool if someone can help me
oh and i need it for 3d
plz fast answer :(
@HellGateSc2: Go
Is the force acting on the center of the sphere?
no that's the problem else there would be no rotation speed
Of course there is rotation speed when you apply the Force to the center. The Instant centre of rotation is on the bottom of the sphere where the sphere touches the ground
And I think it would be better to apply momentum than force. If you have a Force it's important how long it is applied because it just accellerates the object. So it would be the same as appling momentum for a certain amount of time.
@HellGateSc2: Go
If I'm thinking straight...
A) Use Torque for the rotation, using the tangential portion of the force Torque = F * r
B) Use F = m a for the velocity, using the portion of the force going into the sphere
e.g. - If you have a force applied directly to the center of the sphere, none of the force is tangential If you have a force applied across the surface of the sphere (tangent to the curve) all of the force is going to go into rotation
ehhm
1) the spehere is not on the ground
2) i have the gravitation force and buoyancy force.
i link multiple sheres togehter to make a object physical "swim"
First two are right, but the e.g. part is not. As I stated in my post what is important is the Instant centre of rotation.
For the Forces there are two equations that always work.
First:
m*dv/dt = m*a = F1+F2+...+Fn
and for the rotation
J*dω/dt = (F1 x s1) + ... + (Fn x sn)
s1 is the vector from the point of attach to the centre of rotation. If you use J as the Moment of inertia tensor of the Centre of mass of the sphere s would all be vectors from the point where the Force is applied to to the centre.
For your problem it would be better to use the Moment of inertia tensor of the instant centre of rotation. So you'd also need the parralell axis theorem.
The Problem is that these equations only are good for accelerations. Since you don't want to analyzie something, it's better to just add the Momentum/angular Momentum
So if a momentum is applied to a point r the resulting anglular momentum L would be:
L = (r-c) x p
x for vector product operator, (r-c) is the vector from the point of attack to the center of mass and p is the Momentum that is applied
So the new Momentum of the Sphere would be Ls_new = Ls_old + L
the resulting rotation speed ω would be:
ω = Ls*J^-1
J is the Moment of inertia tensor for your sphere (a 3*3 matrix). And Ls as the current angular Momentum of your Sphere
Since the Sphere is not on the ground that would be it for the rotation.
The vector product in L = (r-c) x p eliminates all Momentum that are applied to the center, e.g. gravitational Force and buoyancy force. They only would have effect on the rotation when the sphere is touching something an thus changing the instant centre of rotation for the moment the sphere touches something when you take friction into account.
For the Translations it would just be adding the new momentum to the existing momentum of the sphere
p_new = p_old + p
with p = m*v -> v = p* 1/m
I don't know how familar you are with momentum but for dynamic stuff it's more important than force.
F = dp/dt
for constant forces like gravity
-> p = integral F dt = F * t
that means the Momentum of your object increases by F every second (if you use the standart units for this stuff)
So just to prove that gravity doesn't affect the rotation:
the vector pg = -|pg|*e_z with e_z = (0,0,1)
and the point of attack = (0,0,0) = centre of mass = c
L = c x pg = (0,0,0) -> no additinal angular momentum
first thanks for the fast reply
@Tomura: Go i'm a noob at this things but i try to make it as good as i can.
J is the Moment of inertia tensor for your sphere (a 3*3 matrix).
a 3x3 matrix?
/X 0 0
\
\0 0 Z/
because i only know the formula J=2/5*m*r^2 (for sphere)
oh and you mean x = dot or cross
some code would be also fine because i can understand it better :)
@HellGateSc2: Go x for cross product
If you do it with vectors it need to be a tensor (3*3 Matrix).
The formula is for the rotation around one axis. Most of the time you can simplify your problems to get rid of the tensor and only use scalar values.
J = [Jxx Jxy Jxz]
[Jyx Jyy Jyz]
[Jzx Jzy Jzz]
your formula can be used for Jxx, Jyy, Jzz. For the others there is another formula I don't know how exacly they are called in english. I learned the suff in German and we called them "Deviationsmomente"
Jxy = integral (x*y) dm
for rotationally symmetirc objects you can simplify it to a diagonal matrix
J = [J1 0 0]
[0 J1 0]
[0 0 J2]
because the momentum of inertia for a rotationally symmetric object would be the same for two axis (in this case x and y) Jxx=Jyy
If I understood this stuff correctly the tensor for a sphere would be:
J = [J 0 0]
[0 J 0]
[0 0 J]
with J=2/5*m*r^2
since it has the same moment of inertia around whichever axis you rotate it
But I'm not sure if I'm correct
The wikipedia article about Moment of inertia is pretty good. So maybe you should read it to see if every thing I wrote here is correct.
http://en.wikipedia.org/wiki/Moment_of_inertia#Moment_of_inertia_tensor
omg you speak german this is godlike :D (i speak german too)
do you have msn or icq?
and thanks again
lol ... It would have been so much easier to explain everything in German
It's really hard for me to explain mathematical stuff in english, because you only learn stuff for everyday conversations in school ... and in Uni I only need German
I've sent you a PM with my ICQ Number
What the hell are you guys saying?