Velocities after off center collision

  • Thread starter Thread starter The Sparrow
  • Start date Start date
  • Tags Tags
    Center Collision
AI Thread Summary
The discussion revolves around the effects of applying force to a metal rod at its center of mass versus off-center, highlighting that off-center application leads to both linear and angular velocities. It is noted that while the linear velocity may decrease when energy is diverted into rotation, the specifics depend on the setup, particularly in collision scenarios. Participants discuss the application of conservation laws for linear and angular momentum, emphasizing that forces can complicate calculations during collisions. A user shares their programming approach for simulating forces and torques on an aircraft, seeking clarity on the accuracy of their method. Ultimately, they identify and correct an error in their code that had previously skewed their results, leading to a satisfactory resolution of their simulation challenges.
The Sparrow
Messages
8
Reaction score
0
Hi, I just have a quick question I hope I can explain well.

Suppose you have a metal rod that you apply a force to for a brief moment at the center of mass. It won't rotate and it will move forward at velocity V. Now you reset the scene and move the the force so it's applied off center off the mass, it will then also provide angular velocity. I'm guessing the rod's linear velocity would now be less, since some of the energy has gone into the rotation. Am I right? and if this is true, how do you go about working out the angular and linear components?
 
Physics news on Phys.org
I'm guessing the rod's linear velocity would now be less, since some of the energy has gone into the rotation. Am I right?
Edit: Depends on the setup.
and if this is true, how do you go about working out the angular and linear components?
Conservation of linear and angular momentum
 
Last edited:
But how would conservation of momentum equations change? Since I'd do a conservation of momentum for linear, then for angular, but that won't change the outcome of the linear, only the angular.

I'm writing a small program, and I'm adding all forces and torques together before applying the accelerations, and the steps are as follows:

- Work out Force tail plane exerts on plane

- Linear Acceleration = Force/Mass

- Torque = crossproduct of Force and distance from center of mass.

But this method yields the same linear acceleration as if the tail plane were placed on the CG.

What am I doing wrong?
 
You are right, the linear velocity depends on the setup:
- If you hit your rod with another object, the linear velocity will be lower, and the colliding object will move a bit (more) in its initial direction compared to a central hit.
- If you apply a fixed force over a fixed time, the linear velocity is the same.

Forces are not a good concept for collisions, however - they are hard to estimate and depend on details of the collision process. Momentum transfer are easier to handle.
 
Thanks for the replies guys. I don't have any collisions, its just forces applied to the fuselage. So you say that I can calculate the force that the wing pushes with, and use that same force in both the equations to work out the linear velocity of the plane and the angular velocity? It doesn't seem to be extremely accurate though.

Can I paste the code snippet here so you can see what I'm doing?
 
I don't have any collisions
Ok, the topic is a bit misleading then.
It doesn't seem to be extremely accurate though.
Conservation laws are exact.
Can I paste the code snippet here so you can see what I'm doing?
I'm not sure if I can find time for that, but maybe others can help.
 
Ok, thank you very much. Sorry about the topic, I thought I could figure it out if I knew the answer to the first question.

Wing.Position is a floating point value that shows how far forward or back the wing is of the CG

SweepMag is the magnitude of the instantaneous velocity of the wing calculated from its angular velocity.

double SweepMag = AngularVelocity*Wing.Position;

vector2df SweepVel = vector2df(0,1)*SweepMag;

// I create the SweepVelocity vector and rotate it by the attitude of the aircraft

SweepVel = SweepVel.rotateBy(Attitude,vector2df(0,0));

vector2df ActualVel = Velocity+SweepVel;

//The actual velocity of the air is the plane's velocity plus the wings angular instantaneous velocity

vector2df Force = Wing.Force(Attitude,ActualVel); //function gives force vector

vector3df ForceArm = vector3df(Wing.Position,0,0);

TotalForce += Force; //linear force += wing force since there are multiple wings

TotalTorque += ForceArm.crossProduct(vector3df(0,Force.getLength(),0));

I'll explain anything in greater detail if needed. And I really appreciate the help. This forum does wonders for the world.

What seems to be happening is that when I only have a tail plane, the aircraft doesn't dive like ad arrow, but gets enough lift from the tail plane to sway left and right in its fall significantly. Thus leading me to think I apply too much force to linear movement when it should almost only be angular.
 
I don't see an error in the formulas, but they might be too simple. For the force on a wing, there might be more parameters than just the 2d-motion of its center of gravity (which can be different from the center of drag anyway) and attitude.
 
Thanks, I found an error in my code at some other place which corrected itself by causing extreme values. This made the torque dampened out compared to the linear force. It all works now. I realize it's not perfectly accurate, but it's good enough to be fun.
 
Back
Top