|
Scorbot simulator
|
Métodos públicos | |
| List< Vector3 > | GetTrayectory (Vector3[] path) |
| Vector3 [] | PrepareSpline (List< Transform > targetsArray) |
Métodos privados | |
| void | CalculateCatmullRomSpline (int pos) |
| int | ClampListPos (int pos) |
| Vector3 | GetCatmullRomPosition (float t, Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3) |
Atributos privados | |
| Vector3 [] | controlPointsList |
| bool | isLooping = false |
| List< Vector3 > | trayectory |
La función principal de este algoritmo es generar la trayectoria de movimiento del Scorbot en el comando "movec". El algoritmo de spline de Catmull-Rom es una técnica para interpolar curvas suavizadas mediante un polinomio cúbico. El número de puntos mínimos para formar un spline de Catmull-Rom es 4 (p0, p1, p2, p3). Sin embargo, el primero (p0) y el último (p3) son puntos para controlar la forma de la curva, por lo que todos los puntos generados están entre el punto p1 y p2. Para generar los puntos es necesario hacerlo mediante un polinomio cúbico (Ver: Función GetCatmullRomPosition), donde t toma valores de 0 a 1, siendo t = 0 el punto p1 y siendo t = 1 el punto p2.
|
inlineprivate |
Calcula los puntos de la trayectoria que pasa por 2 puntos. Los puntos se añaden a una trayectoria.
| pos | Punto inicial del CatmullRom spline |
|
inlineprivate |
Ajusta los índices de los puntos de la trayectoria para permitir un bucle del spline.
| pos | Índice |
|
inlineprivate |
Calcula la posición en el momento t de la trayectoria que pasa por el punto p1 y p2. Dependiento de los puntos p0 y p3 se puede controlar la forma de la trayectoria generada.
| t | Momento de la trayectoria. Debe estar entre 0-1 |
| p0 | Punto que controla la forma de la curva generada |
| p1 | Punto de la trayectoria |
| p2 | Punto de la trayectoria |
| p3 | Punto que controla la forma de la curva generada |
|
inline |
Calcula la trayectoria compuesta por puntos que pasan por unos puntos específicos. Se usa el algoritmo del spline de Catmull-Rom.
| path | Puntos por los que tiene que pasar la trayectoria |
|
inline |
Construye una lista de coordenadas a partir de los puntos de una trayectoria. Se añaden 2 puntos que actuan como controladores de la curva de la trayectoria. Los 2 puntos son copias del punto inicial y final.
| targetsArray | Array de positiones del spline |
1.8.15