Esto está lejos de una respuesta completa, pero en el ojo de mi mente parece que podría ayudarle a:
En lugar de dibujar curvas desde el inicio hasta el punto final de toda la línea, considere subdividir su placa en una cuadrícula uniformemente espaciada. Cada cuadrado de una columna de la cuadrícula tiene derecho a tener un punto de una curva en ella, y usted avanzará constantemente de izquierda a derecha (¿al principio? Por simplicidad).
La aleatoriedad entraría en juego al elegir un cuadrado para una curva: para evitar que se vuelva demasiado caótico, podrías dar a este límite de aleatoriedad, por ejemplo, "no puedes elegir un cuadrado que (si es una distancia) de cuadrado a cuadrado se considera 1
) viola abs(current vertical position - new vertical position) <= 5
a menos que ya no exista ninguno como este "o algún otro tipo de restricción arbitraria. ("A menos que ninguno tal es libre de ningún modo en este punto" es importante, de lo contrario es posible encerrarse en un estado insoluble.)
(Lo sentimos, dibujar curvas con mi ratón -> peor/sin interpolación nunca. interpolación Catmull-Rom será probablemente su amigo aquí, sin embargo, me imagino.)
La pantalla debe ser lo suficientemente floja dado que sus puntos de curva no pueden arbitrariamente de dispersión en conjunto dado una parrilla, pero es probable que sea muy difícil Haz que la curva se conecte al punto final de forma "fluida": podría ser una buena solución si no te importa el extremo arbitrario ts, sin embargo, leído como, el algoritmo puede decidir por sí mismo dónde quiere que termine la línea.
¿Crees que esta idea podría ayudarte con tus curvas?
necesitará una gran cantidad de puntos, repartidos por todo el tablero. –