Jump to content

  • Log In with Google      Sign In   
  • Create Account

Banner advertising on our site currently available from just $5!


1. Learn about the promo. 2. Sign up for GDNet+. 3. Set up your advert!


#ActualSmjert

Posted 11 September 2013 - 11:47 AM

Ok unfortunately the method i use is not the correct one.

I mean the idea of slowing down the current velocity and then give thrust with the main engines in the heading direction doesn't make the velocity turn beyond a certain point and it will never make the velocity vector near enough to the heading.

What i should'have though earlier is: what is the "best" force that drags the velocity vector "near" the heading (especially since in the end i want a circular motion)? The centripetal force! I simulate one using the right local vector (because i'm currently dealing only with right turns tongue.png).

Now the problem though is to calculate the component of that force vector that acts as a deceleration for the current velocity.

What i thought is to obtain the magnitude of that deceleration vector doing dot(-velocityDir, forceVector.normalized) and then multiplying it to the magnitude of forceVector.

Then as earlier i do dot(velocityDir, headingDir) and then use it to divide the previous calculated magnitude and then use the result for the force with heading direction.

It kinda works, but the speed grows a bit too fast (like 10mm/s) so i think there's something wrong.

I've checked that the dot product between the resultant force and the heading direction is always around 0.

Also probably this doesn't support the case where the angle between the velocityDir and the centripetal force applied is > 180, where i have probably to flip some signs or the like..


#3Smjert

Posted 11 September 2013 - 11:46 AM

Ok unfortunately the method i use is not the correct one.

I mean the idea of slowing down the current velocity and then give thrust with the main engines in the heading direction doesn't make the velocity turn beyond a certain point and it will never make the velocity vector near enough to the heading.

What i should'have though earlier is: what is the "best" force that drags the velocity vector "near" the heading (especially since in the end i want a circular motion)? The centripetal force! I simulate one using the right local vector (because i'm currently dealing only with right turns :P).

Now the problem though is to calculate the component of that force vector that acts as a deceleration for the current velocity.

What i thought is to obtain the magnitude of that deceleration vector doing dot(-velocityDir, forceVector.normalized) and then multiplying it to the magnitude of forceVector.

Then as earlier i do dot(velocityDir, headingDir) and then use it to divide the previous calculated magnitude and then use the result for the force with heading direction.

It kinda works, but the speed grows a bit too fast (like 10mm/s) so i think there's something wrong.

I've checked that the dot product between the resultant force and the heading direction is always around 0.

Also this doesn't support the case where the angle between the velocityDir and the centripetal force applied is > 180, where i have probably to flip some signs or the like..


#2Smjert

Posted 11 September 2013 - 11:45 AM

Ok unfortunately the method i use is not the correct one.

I mean the idea of slowing down the current velocity and then give thrust with the main engines in the heading direction doesn't make the velocity turn beyond a certain point and it will never make the velocity vector near enough to the heading.

What i should'have though earlier is: what is the "best" force that drags the velocity vector "near" the heading (especially since in the end i want a circular motion)? The centripetal force! I simulate one using the right local vector.

Now the problem though is to calculate the component of that force vector that acts as a deceleration for the current velocity.

What i thought is to obtain the magnitude of that deceleration vector doing dot(-velocityDir, forceVector.normalized) and then multiplying it to the magnitude of forceVector.

Then as earlier i do dot(velocityDir, headingDir) and then use it to divide the previous calculated magnitude and then use the result for the force with heading direction.

It kinda works, but the speed grows a bit too fast (like 10mm/s) so i think there's something wrong.

I've checked that the dot product between the resultant force and the heading direction is always around 0.

Also this doesn't support the case where the angle between the velocityDir and the centripetal force applied is > 180, where i have probably to flip some signs or the like..


#1Smjert

Posted 11 September 2013 - 11:43 AM

Ok unfortunately the method i use is not the correct one.

I mean the idea of slowing down the current velocity and then give thrust with the main engines in the heading direction doesn't make the velocity turn beyond a certain point and it will never make the velocity vector near enough to the heading.

What i should'have though earlier is: what is the "best" force that drags the velocity vector "near" the heading (especially since in the end i want a circular motion)? The centripetal force! I simulate one using the right local vector.

Now the problem though is to calculate the component of that force vector that acts as a deceleration for the current velocity.

What i thought to do is to obtaining the magnitude of that deceleration vector doing dot(-velocityDir, forceVector.normalized) and then multiplying it to the magnitude of forceVector.

Then as earlier i did dot(velocityDir, headingDir) and then used it to divide the previous calculated magnitude.

It kinda works, but the speed grows a bit too fast (like 10mm/s) so i think there's something wrong.

I've checked that the dot product between the resultant force and the heading direction is always around 0.

Also this doesn't support the case where the angle between the velocityDir and the centripetal force applied is > 180, where i have probably to flip some signs or the like..


PARTNERS