torque, pivot points, and friction

Started by
34 comments, last by michael879 17 years, 9 months ago
Im writing a program which will simulate different forces and torques on objects. The problem Im having is that it doesnt seem right for the object to always rotate around its center of mass. Look at the following problem: ___ \ | | \|___| there is a downward force of gravity on all 4 vertices of the box. On the lower left vertex, there is also the normal force of the slop it hit. In real life, this box would pivot around the corner and rotate clockwise. However in a simulation, the box would rotate around its center of mass, lifting the corner off the slope. It would be hard to notice since the box is moving down, but is there anyway to correct this? My second question is about the force of friction on this box. It has to be in the opposite direction of the component of the velocity that is perpendicular to the normal of the slope right? Is there a formula to find the direction of the force of friction? I tried to figure it out but couldnt.
Advertisement
I can't really see what's happening in that ASCII drawing.

As far as finding the friction, you want to find the component of velocity that is in the plane of the slope. You can do this by subracting from the original velocity not in the direction of the plane.
So
v' = v - (n.v)n
where v' is the velocity that is on the plane, n is the normal, and v is the net velocity.

Edit:
I'll take a stab at your first question. I'm not sure by what you mean by "hard to notice." But if in your simulation, the corner does lose contact, then your simulation is going wrong somewhere. The way the physics works out analytically, the center of mass moves downward at precisely the correct speed and acceleration so that it "compensates" for the corner moving upwards due to rotation.
huh.. that picture looked fine when I was drawing it. Ill try again:
...___..
\.|___|.
_\|___|.
__\.....
___\....

its a box with 1 corner hitting a slope as it falls. I cant figure out how to make it so the box pivots around the point of contact rather than around the center of mass (after torque is calculated per vertex and summed). Thanks for helping me with the friction too.
just noticed your edit. I havnt actually written the simulation yet, are you sure that always happens?
Absolutely sure. Just consider a flat plane, like a table, and a box resting on it with exactly one of the edges touching the table. The problem is that you don't even know the normal force (of the table on the box). It's NOT mg, since the center of mass is accelerating downwards (the box is falling). If I were to solve the problem analytically (instead of simulating it), I would use the fact that the corner does not leave the table to find the normal force, hence ensuring that the corner does in fact not leave the table.
hm, theres got to be some way to find the normal force. In that situation wouldnt it still be mg? or negative whatever the force on that edge downward is.
no, i believe that as long as that corner is the only part of the box touching the surface (assuming the corner is a point, 1D) then it is always receiving the full normal force of the box, which should be mg (if it is on a flat table). this is because there is no other place for the force to be acting and since the box isn't moving through the table, the table has to be supporting all the force.

hmm, about the box rotating on its edge down a slope, couldn't you assume that when the box edge/corner hits the slope it acts as pin that can only resist a certain amount of force? in which case the connection would be broken when the normal force is zero. this would be the case where the box rotates and is able to move away from the face of the slope. however, if the box were not able to achieve the speed necessary for this (which would effect the rotational inertia) it would then hit a face which you could then say breaks the rear pin connection and possibly institutes one on the front of the box. i'm not sure if that is kocher, but just an idea that popped into my head.
so what if 2 vertices were touching the table? would each have mg/2 normal force upward?
From what I understand, in your example you want the box to pivot around the point it is contacting with the slope. I believe that your problem should be solved differantly. instead of pivoting around that point, add torque and continue to make the box fall, as well as push away from the incline.

The plane itself does not make the box pivot, it only applys a force pushing away from the plane (keeping it from intersecting), and torque to give it correct rotational velocity. force effects velocity, velocity effects position. force however, never directly effects position.
The force is most definitely not always mg. To see why, suppose the force is mg, then the net force on the box is: gravity + normal = -m*g + m*g = 0. The center of the box does not move.....unless the box is perfectly balanced on the edge, then the box falls, and a nonmoving center of mass certainly doesn't make sense.

I've kind of been skirting around how exactly to determine the normal force. It's actually not so simple to do, so you should probably refer to baraff or hecker (i haven't personally read the articles, but that's what everyone else recommends, so i assume they are good).

A quick easy way, which i don't entirely recommend, would be to model the contact forces as (damped) springs. That is, determine how "deep" the vertex is into the slope, and if the vertex has intersected the slope, then just use a normal force proportional to the distance.

This topic is closed to new replies.

Advertisement