another simple maths question

Blitz3D Forums/Blitz3D Programming/another simple maths question

Hey peeps

Every frame, im moving an entity in a certain direction by speed "speed"...
Im also storing how much it moved by last time, to add a drifting effect (whats it called?)

Now, im having a problem when detecting my object has reached its target: without the drift stuff, i can just go

if entitydistance(object,target)<speed then reached=1

but, How do i do it including the old forces?

Basically, i need to figure out:

nspeed=0
for o=1 to 10
nspeed=nspeed+speed
speed=speed*.9
next
print speed


by maths. i know this is only aproximate but itl be enough... if you know of a better way, post also? :D

cheers peeps.

Personally I use a pivot to deal with forces I find it much easier to move things around etc.

EG:
Graphics3D 640,480

PlayerPhysicsPivot = CreatePivot()
Player = CreateCube()

Middle = CreatePivot()


Camera = CreateCamera()

PositionEntity camera,0,50,0
PointEntity camera,middle

; amount of force to apply to entity
Force# = 0.2

Repeat


	If KeyDown(200) Then TranslateEntity PlayerPhysicsPivot,0,0,Force#
	If KeyDown(208) Then TranslateEntity PlayerPhysicsPivot,0,0,-Force#
	If KeyDown(203) Then TranslateEntity PlayerPhysicsPivot,-Force#,0,0
	If KeyDown(205) Then TranslateEntity PlayerPhysicsPivot,Force#,0,0
	
	; Drag, the 0.1 is how much drag, the higher the figure the more drag (from 0 to 1)
	PointEntity PlayerPhysicsPivot,Middle
	MoveEntity PlayerPhysicsPivot,0,0,EntityDistance(PlayerPhysicsPivot,Middle)*0.1
	
	TranslateEntity Player,EntityX(PlayerPhysicsPivot),EntityY(PlayerPhysicsPivot),EntityZ(PlayerPhysicsPivot)
		
	RenderWorld
	Flip
	
Until KeyHit(1)


This has the added bonus that if you want to apply wind for example you just move all the physics pivots in the wind direction.

Same Example with a wind pivot:
Graphics3D 640,480

PlayerPhysicsPivot = CreatePivot()
Player = CreateCube()

Middle = CreatePivot()


Camera = CreateCamera()

; Add a wind pivot
Wind = CreatePivot()
TurnEntity Wind,0,Rand(359),0
MoveEntity Wind,0,0,Rnd(0,.1)

PositionEntity camera,0,50,0
PointEntity camera,middle

; amount of force to apply to entity
Force# = 0.2

Repeat


	If KeyDown(200) Then TranslateEntity PlayerPhysicsPivot,0,0,Force#
	If KeyDown(208) Then TranslateEntity PlayerPhysicsPivot,0,0,-Force#
	If KeyDown(203) Then TranslateEntity PlayerPhysicsPivot,-Force#,0,0
	If KeyDown(205) Then TranslateEntity PlayerPhysicsPivot,Force#,0,0
	
	; Add wind force
	TranslateEntity PlayerPhysicsPivot,EntityX(wind),EntityY(wind),EntityZ(wind)
	
	; Drag, the 0.1 is how much drag, the higher the figure the more drag (from 0 to 1)
	PointEntity PlayerPhysicsPivot,Middle
	MoveEntity PlayerPhysicsPivot,0,0,EntityDistance(PlayerPhysicsPivot,Middle)*0.1
	
	TranslateEntity Player,EntityX(PlayerPhysicsPivot),EntityY(PlayerPhysicsPivot),EntityZ(PlayerPhysicsPivot)
		
	RenderWorld
	Flip
	
Until KeyHit(1)


unfortunately thats not what im looking for- its not realy a physics thing, more of a motion-smoothing thing. for a script engine.

The easiest thing would be to check if the player passes through the target point if he moves again, right? howd i go about this one?