Archived

This topic is now archived and is closed to further replies.

acceleration on inclined plane

This topic is 5126 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

i have a problem to become the accelaration for a object on a inclined plane ... i have a plane and their normal vector, more i have the grafity of e.g. 9.81N now i searching the acceleration along this plane... please help me ! have tryed alot but nothing was right !

Share this post


Link to post
Share on other sites
jep this formel i know ... my proble is to become tha acceleration
allong the axis ! i have formels which work correct if the plane is
inclined in only one axis

e.g. 45° to the x->axis the acceleration for ->x = 4.905 and ->y = 4.905

but all this formels fails by a plane inclined in two axis !

here a picture to the problem ... the result (x,y,z) is frong it should be allong the plane !
http://www.aacm.ch/data/project/opengl/winkel.gif

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
theta is the angle between the gravity vector (let''s call it G) and the normal N of the plane you''re on.

theta = ArcCos(Dot(-G,N)/(Length(N)*Length(G)))

As G is probably (0,-g,0) (a downward vector of a length of the gravity force)

the force will be

f=mg sin (theta) = mg sin( ArcCos(Dot(-G,N)/(Length(N)*Length(G)))) = mg sin(ArcCos(Dot(-G,N)/Length(N))) = m sin(ArcCos(Ny/Length(N))) = mg sqr(1- Ny*Ny/(Nx*Nx+Ny*Ny+Nz*Nz))

Plus, if N is normalized, you have

F=mg sqr(1 - Ny*Ny)

Cool huh?

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
good math ! but what is the forces direction !! this is my big problem

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Oh!

Ok. The vector V (your "force direction" you want to find is the following:
you want it to be normal to the normal of the plane () Dot(N,V)=0 and it must have to be the most "vertical" possible, that is with the smallest length possible for a fixed y component (maybe not very intuitive). Let''s say Vy=1 (or whatever) You have NxVx + Ny + NzVz = 0 where Nx,y,z is fixed
=> Vz = -(NxVx + Ny)/Nz
And you want to minimize Vz^2+Vx^2 (in order to minimize vector''s length)

We have Vz^2+Vx^2 = (-(NxVx + Ny)/Nz )^2+Vx^2 = ((Nx/Nz)^2+1)*Vx^2 + 2*NyNx/Nz*Vx + (some constant)

taking the first derivative, we got:

2*((Nx/Nz)^2+1)*Vx + 2*NyNx/Nz = 0 (to get the min. of the length of V)

thus Vx = - (NyNx)/(Nz(Nx/Nz)^2 + Nz)

Vz is given by Vz = -(NxVx + Ny)/Nz


Then you have your vector V which you would normalize and then multiply by the force I gave before. Just a last thing: dont forget to take the opposite... (As Ny was set at 1 rather than -1)

I hope I didnt do mistake... but that should be correct...

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
(sorry for "my" english :D)

Well I''ve just seen sth:
if Nz is 0 then just replace every z with x in the above equations, otherwise div by 0. if x and z are 0 then the force is 0 and there isn''t any force.

Share this post


Link to post
Share on other sites
this is how I project the movement onto the plane. Start with the vector:
(0,-1,0), assuming the Y axis is the up vector. Then, you subtract the projection of the vector above onto the plane normal from the vector above. say the vector above is 'A', then it is:

A - (Projection of A onto Normal)

The projection of A onto the Normal is the DotProduct between the two vectors multiplied by the normal. So it becomes:

A - (DotProduct(A,Normal) * Normal)

Then just to make sure you should normalize it, and that gives you the direction down the plane.


EDIT:
also, an easy way to get the angle of incline, if the normal vector is already a unit vector, then the angle of incline is simply the arccosine of the Y component of the normal.

float angle = acosf(Normal.y).
This is because the dotproduct is the cosine between two normalize vectors. In this case you want to know the angle of deviation from the UP axis, which in my case is the y axis (0,1,0). You disregard X and Z because the UP axis doesn't have X and Z components, so it percolates down to what I said above.



[edited by - Shadow12345 on November 29, 2003 5:01:32 PM]

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
thx
this is the way i searched ... had this idea a few days ago ... but now i can be sure that this is the way

Share this post


Link to post
Share on other sites