Tipos públicos | |
enum | Sentido { IZQUIERDA = 0, DERECHA = 1 } |
Sentido de giro de rotacion. Más... | |
Métodos públicos | |
Gusano () | |
CONSTRUCTOR. Crear un gusano. | |
Gusano (int nmod) | |
CONSTRUCTOR. Crear un gusano con un numero de modulos. | |
Gusano (Gusano g) | |
Crear un gusano nuevo, copia de otro. | |
void | Rotar (int centro, Angulo ang, Sentido sentido) |
Rotar una articulacion en el sentido especificado. | |
Articulacion | Art (int art) |
Devolver la articulacion solicitada. | |
void | Set_Art (int art, Angulo ang, Sentido sentido) |
Establecer el angulo de una articulacion. | |
void | Ajustar (Funcion contorno, double t) |
Ajustar el gusano a la funcion de contorno. | |
string | Cadena_estado () |
Obtener la cadena con el estado internos (angulos de los modulos. | |
string | Cadena_estado (int Narts) |
Obtener la cadena con el estado internos (angulos de los modulos. | |
override string | ToString () |
Obtener la cadena con el estado interno (angulos de los modulos). | |
string | XToString () |
Obtener la cadena con el vector de coordenadas X. | |
string | YToString () |
Obtener la cadena con el vector de coordenadas Y. | |
Propiedades | |
int | Nmod |
Numero de modulos del gusano (get). | |
double | Lseg |
Longitud del segmento de las articulaciones. |
Esta clase permite definir gusanos y trabajar con ellos. Los gusanos son en 2D y estan constituidos por articulaciones (Clase Articulacion) unidas mediante segmentos. En el mundo real, cada articulacion se corresponde con un servo. En el modelo virtual del gusano, es util considerar tambien como articulaciones tanto la cola como la cabeza
Numeracion de las articulaciones
Las articulaciones se numeran comenzando por la cola (0) y terminado con la cabeza (numero de modulos + 1). Asi por ejemplo, un gusano con 2 modulos (2 servos) tendra en total 4 articulaciones:
---*---*---
Los asteriscos son los modulos, que se numeran como 1 y 2. El extermo izquierdo es la cola (articulacion 0) y el extremo derecho es la cabeza (articulacion 3)
Angulo de las ariculaciones Las articulaciones solo pueden tener un angulo interno comprendido entre [-90,90]
Origen de coordenadas
El origen de coordenadas del gusano se toma en la cola. El valor (0,0) se corresponde con la posicion inicial de la cola, cuando el gusano esta apoyado completamente sobre el eje x
|
Sentido de giro de rotacion. Especificar el sentido de giro al rotar: DERECHA o IZQUIERDA |
|
CONSTRUCTOR. Crear un gusano. Constructor por defecto. Si no se especifica, se crea uno de 8 articulaciones (las que tiene Cube Revolutions) |
|
CONSTRUCTOR. Crear un gusano con un numero de modulos. Se crea un gusano nuevo con nmod modulos. El numero minimo de modulos es 1 (una articulacion) |
|
Crear un gusano nuevo, copia de otro. Constructor de Copia. Crear una copia a partir de un original
|
|
Ajustar el gusano a la funcion de contorno. Ajustar el gusano sifnifica calcular los angulos de las articulaciones de manera que cumplan la ecuacion de la funcion de onda en ese instante. Se comienza situando la articulacion de la cola sobre la funcion y se van ajustando el resto de articulaciones de izquierda a derecha (desde la cola a la cabeza)
|
|
Devolver la articulacion solicitada. La articulacion devuelta es una COPIA, de manera que solo puede usar para leer datos, no para modificarlos. Si por ejemplo se cambia el angulo de posicion de la articulacion devuelta, no se vera afectada la articulacion original
|
|
Obtener la cadena con el estado internos (angulos de los modulos. Devolver una cadena con el vector de posicion angular, que contiene todos los angulos de las articulaciones. Solo se devuelve el estado desde la articulacion 1 hasta Narts. Si el gusano tiene menos de Narts articulaciones, se devuelve 0 en las no existentes
|
|
Obtener la cadena con el estado internos (angulos de los modulos. Devolver una cadena con el vector de posicion angular, que contiene todos los angulos de las articulaciones |
|
Rotar una articulacion en el sentido especificado.
Con este metodo se especifica el angulo de la articulacion indicada. Se puede aplicar a cualquier articulacion, incluidas la cola y la cabeza. Al rotar la articulacion, se rotan tambien todos los elementos que estan conectados. El parametro sentido especifica cual de los dos brazos de la articulacion es sobre el que se actua. Si se especifica sentido=DERECHA, se mueve el brazo derecho de la articualcion y todo lo que esta conectado.
|
|
Establecer el angulo de una articulacion. Establecer el estado interno de una articulacion. El metodo Rotar hace una rotacion relativa a la posicion actual de la articulacion, incrementando o decrementando el angulo interno. El metodo Set_Art establece un valor para el angulo.
|
|
Obtener la cadena con el estado interno (angulos de los modulos). Metodo para imprimir. Se obtiene el vector de estado interno |
|
Obtener la cadena con el vector de coordenadas X. Metodo para imprimir el vector con las coordenas X's. Se incluyen la cabeza y la cola. |
|
Obtener la cadena con el vector de coordenadas Y. Metodo para imprimir el vector con las coordenadas Y's. Se incluyen la cola y la cabeza |
|
Longitud del segmento de las articulaciones.
Leer/establecer la longitud del segmento de las articulaciones. Cada articulacion tiene dos segmentos, el derecho y el izquierdo. El parametro Lseg define la longitud de estos brazos. Si hay dos articulaciones unidas, la distancia de sepacion entre ellas sera de 2*Lseg. |
|
Numero de modulos del gusano (get). Devolver el numero de modulos del gusano. No se incluye la cabeza y la cabeza, que no son modulos
|