Rotational friction on a surface

Click For Summary
SUMMARY

This discussion focuses on calculating the torque from friction on a convex 2D polygon rotating on a flat surface, specifically for integration into a physics engine for a game. The proposed algorithm involves dividing the polygon into triangles and calculating the torque for each triangle based on its vertices. A simplified approach suggests treating contact points as vertices and using the linear motion vector to determine friction force and torque. The conversation acknowledges that while an accurate model of friction is complex, a less precise approximation is sufficient for gaming purposes.

PREREQUISITES
  • Understanding of convex polygons and their properties
  • Familiarity with torque and its calculation in physics
  • Basic knowledge of friction models, particularly the Coulomb model
  • Experience with game physics engines and algorithms
NEXT STEPS
  • Research algorithms for polygon triangulation in computational geometry
  • Learn about torque calculation methods for arbitrary shapes
  • Explore simplified friction models for game physics, focusing on point contact
  • Investigate the implementation of physics engines like Box2D or Unity's physics system
USEFUL FOR

Game developers, physics engine designers, and anyone interested in simulating rotational dynamics and friction in 2D environments.

heyheyhey27
Messages
2
Reaction score
0
Say you have a convex 2D polygon with a set of vertices rotating on a flat surface. Given the coefficient of friction and the coordinates of each vertex, how can you determine the torque from friction on this polygon? I'm looking more for an algorithm than some big equation, as this is something I'm going to add into my physics engine for a game. For that reason, an approximation would be acceptable as long as it takes a short time to compute.

I had the idea of splitting the polygon into triangles by imagining lines drawn from the center of the polygon to each vertex, and finding the torque on each triangle rotating about its vertex (the one that is at the center of the whole polygon), but I can't figure out how to get the torque for an arbitrary triangle. I know that to do this for a circle, you just integrate F * dr from 0 to the radius, but I can't figure out an analogue for triangles.
 
Physics news on Phys.org
A good plan here is to divide your polygon into many small pieces, not a few large ones.

As the size of the pieces gets smaller, the rotation of each piece becomes less significant compared with the translation of the piece around the center of the whole polygon.

I guess that for your game you want something that behaves in a "sensiible" fashion but it doesn't have to be super-accurate. You could probably get away with assuming the contact was just at the vertices considered as a set of point in contact with the plane. Find the vector that gives the linear motion of each point, assume the friction force is in the opposite direction to the motion, then take the moment of the vectors to find the torque.

An accurate model of the friction for this sort of situation is quite complicated, because you have to take account of the flexibility of the objects that are in contact. The simple Coulomb model of static and dynamic friction doesn't apply. But for a game, I don't think you need to get into that much detail.
 
Thanks! I'll play around with that to see if it appears realistic.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 2 ·
Replies
2
Views
15K
  • · Replies 37 ·
2
Replies
37
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 23 ·
Replies
23
Views
4K
Replies
1
Views
909