Dibujar linea senoidal entre 2 puntos

msi_
10 de Marzo del 2006
Hola, estoy intentando dibujar una línea senoidal que una 2 coordenadas del ratón. Se como pintar líneas rectas entre esos 2 puntos pero ahora quería hacer esa línea de forma curvada o en zigzag.

Todos los ejemplos que he visto son sin especificar coordenadas y se limitan a recorrer un for de 0 a un valor y dibujar los puntos senoidales, pero claro, mis líneas son libres (la dirección la elige el usuario).

De todas las maneras que he visto, tengo logrado que pinte algo desde la coordenada origen a la destino pero no termino de crear la curva periódica.
Os dejo el código ya que no tengo idea de los parámetros a poner:

grafico2d = (Graphics2D) grafico;
grafico2d.setStroke(new BasicStroke(3.0f));
GeneralPath p = new GeneralPath(GeneralPath.WIND_EVEN_ODD);
p.moveTo(x1,y1);
p.moveTo(x2,y2);

p.curveTo(0.0f,0.0f, x2,y2, x1, y1);
grafico2d.draw(p);
repaint();


Supongo que el "kit" de la cuestión está en los valores 0.0f pero mi ignorancia y mi inglés no dan para más.

¿Sabéis otra manera de realizar una línea curvada o en zigzag? ¿Qué tengo que modifcar en este código para lograrlo?

Un saludo.