Jump to content

  • Log In with Google      Sign In   
  • Create Account


Dynamic gravity vector


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
4 replies to this topic

#1 jbosch   Members   -  Reputation: 104

Like
0Likes
Like

Posted 21 May 2011 - 09:34 AM

Hi,


I have a physics engine in my game. I have to set him the gravity vector to initialize it. That would normally be x,y(0,10). Ok, easy one. But what happens if the container is a mobile, and I want to modify the gravity vector according to the accelerometer information? This is, if I give the mobile phone a 90º inclination, the "ground" is now different than in its initiajl state, I want to reflect this, but at any angle, not just 90º movements.


This can be difficult to explain, so I have attached a picture

mobile.png



Any idea?

Sponsor:

#2 Hodgman   Moderators   -  Reputation: 29725

Like
0Likes
Like

Posted 21 May 2011 - 09:38 AM

Does your physics engine provide a function for setting a new gravity vector? Is the question how to change the gravity vector, or how to figure out what the new vector is?
Take your default gravity vector and rotate it by the desired angle.

#3 jbosch   Members   -  Reputation: 104

Like
0Likes
Like

Posted 21 May 2011 - 10:28 AM

thanks Hodgman,


The question is more about how to calculate this angle.

The accelerometer gives me some information. For example, when the phone is landscape, the acceleration (x,y) its (1,0), and when I put the phone in portrait position, its (0,1).



Any idea?

Thanks!

#4 japro   Members   -  Reputation: 887

Like
1Likes
Like

Posted 21 May 2011 - 11:16 AM

So the accelerometer always gives you a normalized vector to the "down"-direction? Then just multiply that vector with the magnitude of your g.

#5 jbosch   Members   -  Reputation: 104

Like
0Likes
Like

Posted 21 May 2011 - 11:36 AM

So the accelerometer always gives you a normalized vector to the "down"-direction? Then just multiply that vector with the magnitude of your g.



whaaw, you are right. Very simple! I feel dumb now jajaja




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS