Fundamentos de Programación  >  Clases  >  Ejercicios  >  ejercicio 3

Ejercicio 3

FAQ: Preguntas frecuentes

Objetivos

Enunciado

Se trata de pintar un gusano de una cierta longitud que se mueve a lo laego de un camino definido por una función paramétrica.

Puede descargar Ejercicio3.jar para ver cómo funciona.

El problema consiste en calcular una serie de puntos en 2D, usando el resultado de una función paramétrica para diferentes valores del tiempo t:

t0, t0 + dt, t0 + 2dt, t0 + 3dt, ... t_final

Para cada valor de t, la función paramétrica da valores de x e y

x = 2cos(t) + cos(8t)
y = 2sen(t) + sen(8t)

Los sucesivos puntos se van añadiendo a una lista de puntos, si bien cuando se supera la longitud, debe eliminarse el primer punto de la lista.

O sea, el método start(desde, hasta, delta):

  1. se crea una lista de puntos
  2. inicializa t al valor "desde"
  3. mientras t es menor que "hasta"
    1. se calcula fx(t)
    2. se calcula fy(t)
    3. se construye un punto
    4. se añade el punto al final de la lista
    5. si la lista es más larga que "longitud", se elimina el primer punto de la lista
    6. se llama al método pinta(list)
    7. se retarda la ejecución llamando a sleep(...)
    8. t se incrementa en "delta"

Y el método pinta(lista):

  1. borra el papel
  2. recorre la lista
    1. saca un punto P1
    2. saca el punto siguiente, P2
    3. pinta en papel una línea de P1 a P2
  3. le dice al papel que pinte en la pantalla los trazos.

Clases

Tenemos objetos de varias clases, algunas de las cuales se las damos y otras tiene que programarlas el alumno:

El alumno debe presentar las siguientes clases:

  1. Gusano.java (documentación)