Algoritmia - Programando un "lenguaje"

 
Vista:

Programando un "lenguaje"

Publicado por allan (1 intervención) el 09/02/2001 21:40:15
Hola, que tal...

Escribo esta nota para aquellos que deseen ayudarme con un proyectillo que tengo, la cosa es la siguiente: Estoy diseñando un simulador de movimientos de objetos 3D, el detale es que quiero hacerlo como un lenguaje de programación, y necesito algún algoritmo que me sirva para leer los "comandos" del código fuente e interpretarlos con el programa. Mi simulador lo que hace es identificar y graficar (en 3D) figuras básicas como esferas, cilindros, conos, etc. y luego ttrazarlos en pantalla, usa mallas de triángulos para aproximar los objetos, el problema es que también usa ecuaciones matemáticas para hacerlo, las cuales deben declararse en el código fuente que será interpretado, lo que no sé hacer es identificar una palabra y ejecutar las operaciones necesarias, un ejemplo:

el comando sphere(x,y,z,r) traza una esfera con centro en x,y,z y de radio r, pero yo quiero que la esfera se mueva (es un programa de animación) entonces asigno una ecuación lineal en función del movimiento, por ejemplo x=3t+9, lo que quiero es que mi programa sepa como identificar la esfera de otro objeto de la manera más rápida posible, al igual que identifiqe los números, variables y operadores de la ecuación, también necesito algún algoritmo que me sirva para almacenar esta información de manera que el tiempo (t) pueda estar transcurriendo sin que tenga que leer nuevamente el código para un nuevo tiempo.

El código sería:

x:=3t+9
sphere(x,5,2,3)

Y el programa trazaría una esfera animada que se desplaza en el eje x.

Bueno, espero haber sido claro, en resumen lo que quiero es un algoritmo que pueda interpretar mi código fuente.

Atte: Allan
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
sin imagen de perfil

Me gustó...

Publicado por Jorge (2 intervenciones) el 01/03/2001 15:49:27
Me parece muy interesante lo que estás haciendo. Espero algún día poder hacer algo así.

Ahora a tu preguta:

a) Si lo que queres hacer es identificar rápido los objetos móviles, llevá una lista de aquellos que requieren refresco (tienen movimiento). Podés ahorrar mucho si haces un buen encabezado y en vez de recalcular la ecuación hallas la variante.
Es decir, aplicado al ejemplo de la esfera que diste:

x:= 3t+9
sphere (x, 5, 2, 3)

La esfera tendría que ser un objeto
Ese objeto debería inicializarse con el llamado a un constructor en donde se fijan las coordenadas de inicio de la misma y la ecuación.
Si la ecuación no es una constante, se anexa la esfera a la lista de objetos con movimiento y se halla la variante (+3).

¿Entendes?

Bueno, después si queres que algoritmo interprete un código hecho por vos, te vas a tenes que meter con AUTÓMATAS, que es bastaaaannnnnnteeeeee largo pero NO IMPOSIBLE.

Cualquier cosa preguntá de vuelta, suerte!!!...
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

Es una analizador sintactico?

Publicado por sergio (9 intervenciones) el 08/03/2001 13:15:28
No entendi muy bien ñla pregunta. Quieres hacer un interprete de comandos o un analizador sintactico de los comandos?, es decir, un programa que coga el comando y lo ejecute o un programa que coja el comando y verifique que esta bien sintacticamebnte? o las dos cosas al tiempo?
Mandame un correo con la respuesta y tratare e ayudarte.
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