Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problemillas con las mates -_-;;

Iniciado por Lord Trancos, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

Lord Trancos

                                Tengo una mapa 2D formado por celdas de 32x32 pixels. Y tengo un segmento de linea formado por un punto de origen y otro de destino. Necesito saber que celdas son atravesadas por el segmento de linea, y ademas seria ideal que el algoritme fuera "dandome" las celdas en el sentido indicado por la linea (origen -> destino).

En fins.... yo que pensaba que en 2D no tendria problemas con las matematicas :'(

Cualquier aportacion que me pueda ayudar sera bienvenida.
                               
i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk - http://dxlab.host.sk - programación de DirectX con Delphi.

plugin

                                Buenas. Pues yo hago más o menos lo mismo pero con triángulos, pero te valdrá. Simplemente implementa un algoritmo para trazar líneas como el Bresenham y en cada punto que te devuelva ese algoritmo compruebas en que celda estás; esto último lo tienes muy fácil ya que son cuadradas. Si la distancia entre puntos es muy grande quizás este algoritmo te sea muy lento. Para agilizarlo un poco no compruebes todos los puntos que te devuelve Bresenham sino, por ejemplo cada 2 o 3 (tendrías que probar para que no se 'saltase' ninguna celda).

No se.... Yo es que para lo que lo utilizo no hago un uso intensivo de este algoritmo; si se usa continuamente quizás te ralentice un poco. A ver si alguien tiene otra idea y así también la utilizo yo, jeje

Saludos
--plugin                                

samsaga2

                                Como dicen plugin tendras que mirarte un algoritmo de dibujado de linia como
http://www.cfxweb.net/~aggrav8d/tutorials/line1.html
que encontre mirando en el google.
Si los puntos iniciales y finales que das del segmento de linia son coordenadas en pixels la linia la tendras que dibujar con pixels y para saber el tile en que esta el punto apuntando (valgame la redundancia) solo tendras que dividir las coordenadas por 32 (que es el tamaño del tile que comentas).
En el caso de que las coordenadas inicial y final sean coordenadas que apuntana un tile, es mucho mas facil, ya que no tendas que dividir nada.                                

fiero

                                Yo me miré el ejemplo Pick de D3D para ver los triangulos que atraviesa un rayo en 3D, para 2D igual puedes hacer un apaño...

saludos                                
www.videopanoramas.com Videopanoramas 3D player

Lord Trancos

                                Gracias por vuestra ayuda!, al final lo he conseguido :riendo:
                               
i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk - http://dxlab.host.sk - programación de DirectX con Delphi.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.