1

I read a tutorial of how to implement Seek behavior of steering behavior.The link is here .And this is the graph to illustrate the algorithm:

graph.

I know the velocity, force, acceleration are all vector. But how come "steering" in formular "steering = desired_velocity - current_velocity" becomes into a force rather than a velocity in this article? why does this make sense? Does it mean that we can mix them in one calculation? Does that mean that a velocity vector add or subtract another velocity vector can product a force vector? if not , why the result is called "force"? I know how the steering behaviors work in AI. The key point of achieving this is that we can sum up all the different steering forces together and get a result total force. This total force can be used in formular "a = F/m" to get the acceleration. After that , we can use this acceleration to calculate new position and velocity of object in game loop update. Based on my view , the "F" should be steering force , but I'm stucking on understanding the way to calculate it.

m.s.
  • 16,063
  • 7
  • 53
  • 88
HUSH-G
  • 21
  • 3
  • For each unit of time, the change in velocity (delta_V) is the acceleration*time. The article is calling the steering vector that delta_V. – paisanco Oct 24 '15 at 13:35
  • @paisanco Thanks for your quick reply.I've been struggling to understand this for quite a while and your answer seems to relieve me quite a lot.I just want to confirm that do you mean I should always consider this calculation during a specific delta time which is usually a game update duration time? The whole thing can make sense because of that in this duration(delta time), the steering force is equal to the delta velocity(calculated by desired_velocity - current_velocity). – HUSH-G Oct 24 '15 at 14:09
  • @paisanco Because dv / dt is acceleration which is equal to F/m( m is 1). And finally , in the update(dt) function of game loop , the current velocity can be updated by the formular current_velocity += dv/dt * dt , so this is equal to current_velocity += dv.And this is right. – HUSH-G Oct 24 '15 at 14:11

0 Answers0