Dadas las tres ubicaciones que se muestran en la imagen a continuación como ejemplo.
Siendo x1 el punto de partida, x2 el punto medio y x3 el punto final.
x1 será cualquier ubicación aleatoria a lo largo del borde inferior.
x2 siempre será el centro del elemento.
x3 será cualquier ubicación aleatoria a lo largo del borde superior.
La idea es crear un camino de x1 a x2 y luego a x3 , siguiendo un camino que sube, luego se curva en un ángulo hacia la izquierda o hacia la derecha (dependiendo de la ubicación inicial), luego, cuando se acerca a x2 , se curva hacia arriba. hacia ese punto, luego siguiendo un patrón similar, lo mismo a x3 .
Editar para más información
Cuando se active el evento onwheel , determinaré si está arriba o abajo. Dada esa información, el elemento debe moverse desde su punto inicial ( x1 ) hasta el punto medio ( x2 ) y luego hasta su punto final ( x3 ) según la ruta calculada.
Lo siento, no tengo código para mostrar para esto, no tengo idea de por dónde empezar a calcular una ruta.