Scorbot simulator
Métodos públicos | Métodos privados | Atributos privados | Lista de todos los miembros
Referencia de la Clase CatmullRomSpline

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
 

Descripción detallada

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.

Autor
Oscar Catari Gutiérrez - E-mail: oscar.nosp@m.cata.nosp@m.ri@ou.nosp@m.tloo.nosp@m.k.es - Universidad de La Laguna
Versión
1.0
Desde
02-05-2019

Documentación de las funciones miembro

◆ CalculateCatmullRomSpline()

void CatmullRomSpline.CalculateCatmullRomSpline ( int  pos)
inlineprivate

Calcula los puntos de la trayectoria que pasa por 2 puntos. Los puntos se añaden a una trayectoria.

Parámetros
posPunto inicial del CatmullRom spline
Devuelve
void

◆ ClampListPos()

int CatmullRomSpline.ClampListPos ( int  pos)
inlineprivate

Ajusta los índices de los puntos de la trayectoria para permitir un bucle del spline.

Parámetros
posÍndice
Devuelve
int Índice

◆ GetCatmullRomPosition()

Vector3 CatmullRomSpline.GetCatmullRomPosition ( float  t,
Vector3  p0,
Vector3  p1,
Vector3  p2,
Vector3  p3 
)
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.

Parámetros
tMomento de la trayectoria. Debe estar entre 0-1
p0Punto que controla la forma de la curva generada
p1Punto de la trayectoria
p2Punto de la trayectoria
p3Punto que controla la forma de la curva generada
Devuelve
Vector3 Posición en el momento t de la trayectoria

◆ GetTrayectory()

List<Vector3> CatmullRomSpline.GetTrayectory ( Vector3 []  path)
inline

Calcula la trayectoria compuesta por puntos que pasan por unos puntos específicos. Se usa el algoritmo del spline de Catmull-Rom.

Parámetros
pathPuntos por los que tiene que pasar la trayectoria
Devuelve
List<Vector3> Trayectoria

◆ PrepareSpline()

Vector3 [] CatmullRomSpline.PrepareSpline ( List< Transform >  targetsArray)
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.

Parámetros
targetsArrayArray de positiones del spline
Devuelve
Vector3[] Lista de coordenadas de las posiciones

La documentación para esta clase fue generada a partir del siguiente fichero: