Inclined plane 3d physics simulation

Click For Summary
SUMMARY

This discussion focuses on programming a 3D physics simulation involving inclined planes, specifically addressing the calculation of forces during collisions. The key equations presented are F_n = F_g * cos(α) for the normal force and F_p = F_g * sin(α) for the parallel force, where F_g represents the gravitational force. The challenge lies in generalizing these calculations for arbitrary collision angles without relying on trigonometric functions. Participants suggest normalizing the collision vector and using the dot product to derive the gravitational force acting tangentially to the inclined plane.

PREREQUISITES
  • Understanding of 3D vector mathematics
  • Familiarity with physics concepts such as force decomposition
  • Knowledge of collision detection algorithms
  • Experience with programming physics simulations
NEXT STEPS
  • Research vector normalization techniques in 3D space
  • Study the dot product and its applications in physics simulations
  • Explore advanced collision response algorithms
  • Learn about integrating physics engines like Bullet or Unity's Rigidbody
USEFUL FOR

This discussion is beneficial for game developers, physics simulation programmers, and anyone interested in implementing realistic 3D collision dynamics in their projects.

shaolin
Messages
1
Reaction score
0
I try to program a 3d-physic simulation, with bouncy collisions, friction, etc. and i have a problems with splitting forces at an inclined plane. i know that

[tex]F_n = F_g * sin(\alpha)[/tex] and
[tex]F_p = F_g * cos(\alpha)[/tex]

[tex]F_n[/tex] ... normal force
[tex]F_p[/tex] ... parallel force
[tex]F_g[/tex] ... gravity force

but i would need this in general, in 3d and working in every dircetion. i don't know the angle of my collosion, but a normal
[tex]\vec{n}[/tex].

[tex]\vec{F_n} = \bar{F_g} * \vec{n}[/tex]

but i can't think of how to do the parallel force.
can anybody help?
 
Physics news on Phys.org
Originally posted by shaolin
i know that

[tex]F_n = F_g * sin(\alpha)[/tex] and
[tex]F_p = F_g * cos(\alpha)[/tex]
I'm not sure what you're trying to do, but if [tex]\alpha[/tex] is the angle the inclined plane makes with the horizontal (and assuming gravity acts vertically):
[tex]F_n = F_g * cos(\alpha)[/tex] (directed out of the plane) and
[tex]F_p = F_g * sin(\alpha)[/tex] (directed down the plane)
 
I would normalize the vector from the point of impact to the center of mass of the colliding object. With a sphere, it should be simply the normal of the inclined plane.

The gravitational force tangential to the inclined plane will be the original graviatational force vector MINUS the Dot Product of the original gravitational force vector and the plane normal (magnitude) multiplied by the plane normal (direction).

(sorry if that is confusingly displayed - I am a bit clumsy with this message stuff...)

But it is easy enough to work out on a sheet of paper...

try to avoid using any sines or cosines etc...
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 13 ·
Replies
13
Views
2K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 20 ·
Replies
20
Views
5K
  • · Replies 13 ·
Replies
13
Views
7K
  • · Replies 5 ·
Replies
5
Views
3K
Replies
6
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K