Algoritmia - Algoritmos de trayectorias

 
Vista:

Algoritmos de trayectorias

Publicado por yomismo (1 intervención) el 09/08/2001 12:27:04
Saludos a todos.

Necesito algoritmos de planificacion y correccion de trayectorias. Alguien tiene alguno que me pueda enseñar?

Gracias.
[email protected]
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Algoritmos de trayectorias

Publicado por nekosoft (1 intervención) el 17/02/2006 11:10:29
bueno ando buscando lo mismo tengo esto:

Local difx = hero.x - enemy.x
Local dify = hero.y - enemy.y
Local distance = Sqr(difx*difx + dify*dify)
enemy.acelx = difx/distance
enemy.acely = dify/distance
enemy.x = enemy.x + enemy.acelx
enemy.y = enemy.y + enemy.acely

se supone que deveria funcionand en el ciclo de movimiento de un enemigo que se lanza acia el eroe o bien un guidedmissil pero no me va

buenoo miraa me acabo de encontrar est y su funciona el codigo es lenguaje Blitzmax, esta facil de adaptar a cualquier lengueja, si tienes problemas me avisas al mail o me contactas al msn:

Graphics 640,480
Global my_x#=100.0,my_y#=100.0, pointx#=100.0,pointy#=100.0,xspeed#=3.0,yspeed#=3.0
While Not KeyHit(1)
Cls
DrawOval my_x-10.0,my_y-10.0,20,20
DrawText "my_x : " + my_x + " my_y : " + my_y,0,0
DrawText "Point_x : " + pointx + " Point_y : " + pointy,0,10
moveoval()
Flip
Wend
''ESTE TA ES LA PARTE QUE RECALCULA LA TRAYECTORIA EN BASE A LA ''POSICION DEL MOUSE
Function moveoval()
pointx# = Float(MouseX())
pointy# = Float(MouseY())
angle# = ATan2((pointy-my_y),(pointx-my_x))
xmov# = Cos(angle) * xspeed
ymov# = Sin(angle) * yspeed
my_x# = my_x + xmov
my_y# = my_y + ymov
DrawText ((my_x-pointx)*(my_x-pointx)) + ((my_y-pointy)*(my_y-pointy)),0,20
If ((my_x-pointx)*(my_x-pointx)) + ((my_y-pointy)*(my_y-pointy)) < 10.0
my_x=pointx
my_y=pointy
EndIf
End Function
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar