Página principal | Jerarquía de la clase | Lista de componentes | Miembros de las clases | Ejemplos

Referencia de la Clase Gusano

Clase para el manejo de gusanos. Más...

Lista de todos los miembros.

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.


Descripción detallada

Clase para el manejo de gusanos.

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

Ejemplos:

test-GGusano.cs, y test-Gusano.cs.


Documentación de las enumeraciones miembro de la clase

enum Gusano::Sentido
 

Sentido de giro de rotacion.

Especificar el sentido de giro al rotar: DERECHA o IZQUIERDA

Valores de la enumeración:
IZQUIERDA  Sentido.IZQUIERDA
DERECHA  Sentido.DERECHA


Documentación del constructor y destructor

Gusano.Gusano  ) 
 

CONSTRUCTOR. Crear un gusano.

Constructor por defecto. Si no se especifica, se crea uno de 8 articulaciones (las que tiene Cube Revolutions)

Gusano.Gusano int  nmod  ) 
 

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)

Gusano.Gusano Gusano  g  ) 
 

Crear un gusano nuevo, copia de otro.

Constructor de Copia. Crear una copia a partir de un original

Parámetros:
g Objeto de tipo Gusano a copiar


Documentación de las funciones miembro

void Gusano.Ajustar Funcion  contorno,
double  t
 

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)

Parámetros:
contorno Funcion de contorno a la que ajustar el gusano
t Instante de tiempo para el ajuste
Ejemplos:
test-Gusano.cs.

Articulacion Gusano.Art int  art  ) 
 

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

Parámetros:
art Numero de articulacion a obtener. El valor debe estar comprendido entre 0 (cola) y Nmod+1, siendo Nmod el numero de modulos del gusano

string Gusano.Cadena_estado int  Narts  ) 
 

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

Parámetros:
Narts Numero de articulaciones a incluir en la cadena

string Gusano.Cadena_estado  ) 
 

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

void Gusano.Rotar int  centro,
Angulo  ang,
Sentido  sentido
 

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.
Si el angulo interno de la articulacion supera alguno de los valores extremos (-90,90), se establece el valor tope, de manera que nunca se supere esta restriccion

Parámetros:
centro Articulacion a rotar. Esta articulacion permanece fija, ya que es el centro de la rotacion
ang Angulo a rotar la articulacion. Este valor es relativo a la posicion actual. Si se especifica un angulo de 10 grados, significa que la articulacion se rotara 10 grados, es decir, que su angulo interno se incrementara en 10, siempre y cuando no supere el tope de 90
sentido Especificar el brazo de la articulacion a rotar. Los valores pueden ser Sentido.DERECHA, Sentido.IZQUIERDA.

void Gusano.Set_Art int  art,
Angulo  ang,
Sentido  sentido
 

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.

Parámetros:
art Numero de articulacion a modificar. El valor debe estar comprendeido entre 0 (cola) y Nmod+1 (cabeza), siendo Nmod el numero de modulos del gusano
ang Nuevo angulo para la articulacion
sentido El brazo de la articulacion a rotar. Puede ser el derecho o el izquierdo
Ejemplos:
test-Gusano.cs.

override string Gusano.ToString  ) 
 

Obtener la cadena con el estado interno (angulos de los modulos).

Metodo para imprimir. Se obtiene el vector de estado interno

string Gusano.XToString  ) 
 

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.

string Gusano.YToString  ) 
 

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


Documentación de Propiedades

double Gusano.Lseg [get, set]
 

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.
Al establecer un nuevo valor (SET), se recalcula el gusano. Se respeta el estado interno (angulo de las articulaciones) y la cola se deja en la posicion en la que estaba. El resto de coordenadas (x,y) de las otras articulaciones seran recalculadas

int Gusano.Nmod [get]
 

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

Ejemplos:
test-Gusano.cs.


La documentación para esta clase fué generada a partir del siguiente archivo:
Generado el Sat Dec 10 12:19:59 2005 para cube-virtual.mono por  doxygen 1.4.2