Características y operaciones de las conexiones

 

Concepto:

Una conexión es  una agrupación de un subconjunto de referencia de los puntos del poli, los cuales son conectados usando líneas. La conexión de tales líneas se realiza con diferentes lógica (forma de conectar), la cual depende del tipo de la conexión.

 

Una vez una conexión tome referencia de los puntos, estos se mantendrán conectados aun cuando cualquier punto cambie de coordenadas.

En una conexión se pueden desconectar puntos, lo que elimina la referencia de tal punto en la conexión.

 

Si un punto es eliminado directamente desde el poli, sin haber sido desconectado de la conexión, esta se actualiza instantáneamente eliminado todas las referencia de ese punto.

 

Un punto puede formar parte de ninguna, una o mas conexiones, e incluso puede repetirse internamente en una conexión[1],  cuando esto sucede, el punto es reconectado cada vez que la conexión lo encuentra. Para las conexiones, cada vez que un punto es agregado (conectado), se crea una nueva referencia hacia el punto del poly.

Cuando se elimina (desconecta) un punto de una conexión, todas sus referencias son también eliminadas.

 

Una conexión cuenta con un conjunto de operaciones que afecta (cambia) las coordenadas del punto en el poly. Cuando esto sucede, cualquier otra conexión que tenga referencias de ese punto se vera también afectada por el cambio de coordenadas del mismo.

 

No es necesario crear una conexión para trabajar con las características y operaciones de los de los puntos, pero si son un gran complemento, ya que las conexiones permiten diagramar las líneas o figuras geométricas que se estén tratando. Una conexión no proporciona operaciones que retornen resultados de calculo, su utilidad es  precisamente para dibujar figuras simple o muy complejas usando líneas. También proporciona operaciones  geométricas como rotación, translación, localización, etc. Además de las mencionadas, hay muchas otras características adicionales de mucha utilidad, especialmente diseñadas para la creación de presentaciones.

 

Las coordenadas de los puntos de un poly no se ven afectadas por el cambio modo (polar o rectangular) del plano, estas siempre permanecen en modo rectangular, por lo tanto, para crear un punto, siempre las coordenadas deberán  estar en formato rectangular. Aunque hay una operación explicita para crear puntos con datos en formato polar.

 

Las operaciones de generación de puntos permiten crear puntos de forma automática  una colección de puntos. A este grupo de puntos se les conoce como secuencia. Una secuencia, puede ser agregada automáticamente a una conexión ya existente, en tiempo de creación; o ser agregada total o parcialmente (en segmentos), posterior a su creación. 

 

El orden con la que se dibujan las conexiones en la pantalla es en el mismo orden en que son creadas, esto significan que las primeras que se creen, serán cubiertas por las mas recientes en creación.

 

 


Tipos de conexiones:

Los nombres que aparecen entre paréntesis son las palabras claves con las cuales se definen en Queen.

 

1.       Conexión secuencia (sec): Une los puntos en forma secuencia.

2.       Conexión sincronizada (syn): Una los puntos en forma de estrella, donde el primer puntos agregado a la conexión es considerado como el centro o punto pivote[2].

3.       Conexión Sincronizada cerrada (sync): Utiliza la misma lógica que la conexión  syn, conectando en forma secuencial todos los puntos con excepción del centro (el primero).

4.       Conexión poligonal (pol): Conexión poligonal, trata a los puntos como el perímetro de un polígono cerrado, el cual es rellenado usando el color de la conexión.

5.       Conexión cilcica (cic): Conecta puntos en forma cíclica, un ciclo es un cierto numero de puntos, donde cada ciclo es tratado como una conexión syn. Esto significa que el primer punto del ciclo es tratado como el centro.

6.       Conexión cíclica cerrada (cicc): Funciona igual que la conexión cic, solo que cada ciclo es tratado como una conexión sync.

7.       Conexión Bezier (bezier): Una conexión que solo usa los primeros 4 puntos de la conexión, usándolos para formar una curva Bezier.

8.       Conexión poligonal Bezier (pbezier): Lo mismo que la conexión bezier,  solo que la curva es tratada como un polígono cerrado, el cual es rellenado usando el color de la conexión.

9.       Conexión multi Bezier (mbezier): Conecta secuencialmente los puntos con curvas suaves del tipo Bezier.

10.   Conexión poligonal multi Bezier (pmbezier): Lo mismo que mbezier , solo que la multicurva es tratada como un polígono cerrado, el cual es rellenado usando el color de la conexión.

11.   Conexión múltiple: Conecta cada punto con todos los demás.

12.   Conexión de Gradiente (gradient): Crea un rectángulo que se rellena con un gradiente de color.

13.   Conexión de Inversión de colores con operación XOR (inverted): crea un gradiente de dos colores.

14.   Conexión Punteada (dotted): Una conexión que dibuja líneas con punteadas

15.   Conexión de relleno con patrón (pattern): Tomando dos puntos como referencia para formar un rectángulo, que será rellenado con una imagen en patrones sucesivos. Se puede controlar el ancho y alto del patrón.

16.   Conexión Puntada cíclica (dottedcic): Este tipo de conexión es igual que el tipo cic. La única diferencia es que las líneas se dibujan punteadas.

 

A continuación veremos detalles particulares de las conexiones que no han sido comentadas anteriormente.

 

Análisis de los tipos:

La mejor forma de entender como es que una conexión conecta su set de puntos, es en forma grafica. Por lo tanto; cada tipo de conexión se presentara como podría verse gráficamente. En la medida de lo posible, se usara el mismo set de puntos. Como el que se presenta a continuación.

En esta colección de puntos cada uno se nombra con un numero correlativo:

·         1=(0 ,0)

·         2=(-5,2)

·         3=(-4,3)

·         4=(-3,4)

·         5=(-1,5)

·         6=(1,5)

·         7=(3,4)

·         8=(4,3)

·         9=(5,2)

 

Como luce la ubicación de los puntos anteriores en el plano: (aun no están formando parte de un poli).

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Conexión  Secuencia (sec):

La siguiente imagen es como se vería una conexión secuencial con el set de puntos  reestablecidos.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Las conexiones tiene la propiedad de cierre, que se le puede establecer a cerrada (activada) o no cerrada (no activada). El efecto de esta propiedad depende del tipo de conexión, incluso para algunas no tienen ningún efecto.

Para una conexión secuencial, si la propiedad de cierre esta activada, el primer punto se conecta automáticamente con el primero, cerrando la conexión.


 

 

Conexión  Sincronizada (syn):

La siguiente imagen presenta una conexión sincronizada usando el mismo set de puntos. El primer punto agregado fue el 1 que es el punto pivote o centro.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


La propiedad de cierre no tiene ningún efecto sobre este tipo de conexión.

 

Conexión  Sincronizada cerrada (sync):

Este tipo de conexión conecta los puntos como el tipo syn, conectando también los puntos en forma secuencial, excepto el primer punto (pivote o centro).

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Para esta conexión, si la propiedad de cierre esta activada, se conecta el segundo punto con el ultimo serrando la conexión.


 

Conexión  Poligonal (pol):

Para este tipo de conexión, los puntos se consideran el perímetro de un polígono, el cual es rellenado con el color de la conexión.

La siguiente figura muestra una conexión poligonal usando el mismo set de puntos.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Si la propiedad de cierre esta activada, se pinta el contorno del polígono con color negro.

Conexión cíclica (cic):

Para crear una conexión cíclica, es necesario planear de antemano la forma como se van a conectar los puntos, ya que el orden de la secuencia de puntos[3] conque se crea la conexión, es especifica para el ciclo.

Empecemos por obtener un set  idóneo de puntos para el poly. Los  números a la izquierda del signo igual (=), son los nombres de cada punto, puesto que el poly necesita que los puntos estén nombrados.

Puntos: (el orden con que los puntos son creados en el poly no es relevante)

Esta serie de puntos lucen así en el plano:

     5=( 4, 1 )

    4=( 3, 1 )

     3=( 2, 1 )

     2=( 1, 1 )

     1=( 0, 1 )

    10=( 9, 1 )

    9=( 8, 1 )

     8=( 7, 1 )

     7=( 6, 1 )

     6=( 5, 1 )

     15=( 4, 2 )

     14=( 3, 2 )

     13=( 2, 2 )

     12=( 1, 2 )

     11=( 0, 2 ) 

   20=( 9, 2 )

   19=( 8, 2 )

   18=( 7, 2 )

    17=( 6, 2 )

    16=( 5, 2 )

 

La siguiente figura muestra el set de puntos anterior ya ubicados  en el plano.

 
 

 

 

 

 

 

 

 

 

 

 


El ciclo representa el numero de puntos que se tomaran para hacer los enlaces de líneas. El primer punto del ciclo, es considerado el punto pivote,  solo este conecta a todos los demás de su ciclo. En otras palabras, todas las líneas en un ciclo se concentran en el punto pivote.

En la siguiente presentación, el cambio de color en la lista de puntos representa un nuevo ciclo. El numero de puntos de un ciclo es dado por el del ciclo de la conexión la cual es una propiedad de las mismas y que solo tiene efecto en este tipo de conexión.

Conexión  Tipo: cic:  Ciclo: 2

 
Orden de los puntos a conectar:  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20

 

 

 

 

 

 

 

 

 

Para el primer ciclo con los puntos 1 y 2, 1 es el punto pivote y conecta con el resto de puntos del mismo ciclo que en este caso es solo 2.

 

Conexión Tipo: cic:  Ciclo: 3

Orden de los puntos a conectar:  1, 11, 12, 3, 13, 14, 5, 15, 16, 7, 17, 18, 9, 19, 20

 
 

 

 

 

 

 

 

 

 

 

 

 


Para el primer ciclo con los puntos 1, 11, y 12, donde 1 es el punto pivote y conecta con el resto de puntos del mismo ciclo que en este caso son 11 y 12.

Conexión Tipo: cic:  Ciclo: 4

Orden de los puntos a conectar:  2, 11, 12, 13,  5, 14,15, 16, 8,17, 18, 19

 
 

 

 

 

 

 

 

 

 

 

 


Para el primer ciclo con los puntos 1, 11, 12 y 13, donde 1 es el punto pivote y conecta con el resto de puntos del mismo ciclo que en este caso son 11, 12 y 13.

 

La propiedad de cierre no tiene ningún efecto sobre este tipo de conexión.

 

Conexión  Cíclica cerrada (cicc): 

Una conexión cicc, usa la misma lógica de conexión que la conexión cic, agregando conexión secuencial entre los puntos que no son pivote respectivamente en su ciclo.

Para este  tipo, si la propiedad de cierre esta activada, se conecta el segundo punto con el ultimo en su respectivo ciclo.

El siguiente ejemplo presenta una conexión cicc.

Ciclo: 3

Orden de los puntos a conectar:  1, 11, 12, 3, 13, 14, 5, 15, 16, 7, 17, 18, 9, 19, 20

 
 

 

 

 

 

 

 

 

 

 

 

 


Conexión  Tipo: cicc:  Ciclo: 4

Orden de los puntos a conectar:  2, 11, 12, 13,  5, 14,15, 16, 8,17, 18, 19

 
 

 

 

 

 

 

 

 

 

 


Conexión bezier (bezier):

Este tipo de conexión solo toma en cuenta 4 puntos con los cuales se dibuja una curva Bezier.

Opcionalmente se puede hacer que las líneas de control también se dibujen, por defecto son invisibles.

Cuando se crea una conexión bezier o pbezier, solo los primeros cuatro puntos se toma en cuenta, si la conexión tiene menos de 4, no se dibuja.

Una curva Bezier esta compuesta de dos puntos fuentes-destino y dos puntos de control.

 

Los puntos fuente-destino son los puntos entre los cuales se dibuja la curva.  Los puntos de control establecen un recta entre uno que pasa por uno de los puntos fuente-destino. La curva siempre es tangente a ambas rectas.

 

El orden en que una conexión bezier o pbezier requiere los puntos son:

·         P1 :El primer punto siempre es el primer punto de control que se una con el punto de inicio de la curva.

·         P2: El segundo punto siempre es donde inicia la curva y se une con P1 para formar la primera línea de control.

·         P3 : El Tercer punto siempre es el final de la curva y se une con P4 para formar la segunda línea de control.

·         P4: El cuarto punto siempre es el segundo punto de control y se une con P3 para forma la segunda línea de control.

 

La siguiente figura presenta una conexión de este tipo en la que se muestran las líneas de control. Los puntos a.d son los puntos fuete-destino y b,c son los puntos de control.

 
 

 

 

 

 

 

 

 

 

 

 

 

 


Conexión Poligonal Bezier (pbezier):

Es igual que la conexión, solo que la curva es tratada como un polígono cerrado entre los puntos de destino a,d.

La siguiente imagen en una conexión de este tipo.

 
 

 

 

 

 

 

 

 

 

 

 

 

 


La propiedad de cerrado hace que el contorno de la curva sea delineado con una línea negra.

 

Conexión Multi Bezier (mbezier):

En este tipo de conexión los puntos son conectados uno a uno con una curva suave.

Una conexión mbezier toma como mínimo 3 puntos. La curva es formada uniendo los puntos medios de los segmentos entre cada uno.

La siguiente figura muestra como una curva mbezier con la propiedad de cierre activada une los puntos medios (marcados por círculos pequeños) de los segmentos entre los puntos de la curva. Los puntos (m1, m2, m3,..) realmente no son tocados por la curva.

Se recalca que los puntos medios son calculados en tiempo de ejecución y no son parte del set de puntos de la conexión o del poly.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


La siguiente imagen presenta algunas conexiones mbezier.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Si la condición de cierre esta activada, la curva se cierra completamente.

 


 

Conexión Poligonal Multi Bezier (pmbezier):

Lo mismo que la anterior, la diferencia es que los puntos de destino son conectados entre si directamente, y el interior de la curva es rellenado con el color de la conexión.

En la siguiente figura, a las conexiones roja y azul de la figura anterior se cambiaron al tupo  pmbezier.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Si la condición de cierre esta activada, el contorno es delineado con una línea negra y  la curva se cierra suavemente usando otra curva, si no, el primer punto se une con el ultimo directamente y no se delinea el contorno.

Las siguientes imágenes presentan esta situación.

La primera imagen es una conexión de este tipo con la condición de cierre desactivada y la segunda la tiene activada.

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Notese que  la diferencia es que en la segunda figura, el punto medio entre el primer (m1) y ultimo (m5) es conectado con una curva Bezier,  esa curva no existe en la primera figura la cual se cierra directamente en los puntos medios m1-m2 y m4-m5.

 

 

Conexión Múltiple (multiple):

En esta conexión se conecta cado punto con los demás.

La siguiente imagen es una  presenta una conexión ce este tipo, sobre un set de puntos radiales.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Si la condición de cierre no tiene ningún efecto sobre este tipo de conexión.

 

 

Conexión de Gradiente  (gradient):

En esta conexión crea un rectángulo relleno con un gradiente entre dos colores, el primero es el color de la conexión y el segundo se establece con la operación cgradiente.

Si la conexión esta cerrada, el gradiente se pinta n forma circular, si no, en forma lineal.

 

Las siguientes imágenes muestran una conexión de este tipo no cerrada y cerrada respectivamente.

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Conexión de Inversión de colores con operación XOR (inverted):

Una conexión de este tipo dibuja un rectángulo o un ovalo delimitado por los primeros dos puntos que se encuentren en la conexión (los demás puntos son ignorados). Con estos  se forma el rectángulo que es rellenado con una combinación de colores del fondo previo el color de la conexión y el color del gradiente.

El color de la conexión se puede especificar en tiempo de creación o con la opción color.

El color del fondo es que actualmente se encuentra en el plano.

El color del gradiente se establece con la opción cgradient.

Si la condición de cierre esta activada, en lugar del rectángulo se dibuja un ovalo  inscrito en el rectángulo formado por los puntos.

 

El juego de colores que  rellenan el rectángulo u ovalo. Es como sigue:

Si el color previo del píxel en plano es del color de la conexión, entonces se pinta de color del gradiente, si es de color del gradiente se pinta del color de la conexión. El resto se pintan en forma impredecible (Operación XOR con píxeles).

Si dos conexiones de este tipo y teniendo los mismos colores de conexión y gradiente se sobreponen, las áreas en común se vuelven invisibles. Puedes probar este hecho haciendo una copia de una conexión de este tipo y desplazarla a un lado para que no estén completamente sobrepuestas.

 

Las siguiente imagen muestra varias conexiones de este tipo.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Conexión punteada (dotted):

Una conexión de este tipo es igual que una conexión secuencial, solo que sus líneas se dibujan con pequeñas rayitas.

La longitud de las rayitas   se  puede controlar con la opción length. Su valor es en píxeles y por defecto es 10.

La longitud de las rayitas no se escala cuando la conexión o el plano se escala.

 

 


La siguiente imagen  muestra una conexión de este tipo.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Conexión de relleno con patrón  (pattern):

Esta conexión toma solo los primeros dos puntos existentes, con los que forma un rectángulo que es llenado con una imagen que es establecida con la opción setpimg.

La opción anterior también establece el ancho y alto de patrón. La imagen se repite sucesivamente en el área del rectángulo formado por los puntos.

Si la condición de cierre esta activada, las partes transparentes de la imagen con la que se forma el patrón se pintan en el color de la conexión, de lo contrario quedan transparentes. 

 

La siguiente figura muestra como lucen algunas conexiones de este tipo.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Conexión punteada cíclica (dottedcic):

Esta conexión funciona igual  que la conexión de tipo cic. La diferencia es que dibuja las líneas punteadas. También se aplica las mismas características de la conexión dotted, con respecto a la longitud de los segmentos de las líneas.

La condición de cierre no tiene ningún efecto sobre esta conexión.

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Operaciones con una conexión:

La mayoría de operaciones que se realizan con un poly completo, se pueden realizar exclusivamente a una conexión, entonces solo los puntos que la conexión conecta son afectados por la operación, por su puesto, si un punto es compartido por otras conexiones, entonces esas conexiones se ven afectadas en tal punto.

Las operaciones que se pueden realizar con las conexiones son:

1.       Rotación: En una rotación todos los puntos de una conexión rotan un ángulo especifico alrededor de un punto. Esta se puede hacer con respecto a un punto cualquiera del plano, o un  punto del poly.

2.       Traslación: En una traslación, todos los puntos de una conexión se trasladan x,y unidades desde su ubicación actual, lo que significa que toda la conexión es desplazada x en las axisas y y unidades en las ordenadas.

3.         Localización: En la localización se toma un punto especifico que este contenido en la conexión, luego se sitúa alguna coordenada especifica del plano, el punto que sirve como pivote es reubicado llevándose consigo toda la conexión sin perder las proporciones. Esto significa que los demás puntos de la conexión mantienen su localización con respecto al punto pivote.

4.       Escalado: En esta operación se escala por separado las axisas y las ordenadas. Así que el la conexión cambia en tamaño por separado las distancia en la axisa y en la ordenada de acuerdo  a los valores dados. Mayor que uno incrementa el tamaño y menor que uno lo decrementa.

5.       Asociación de una Imagen: Una imagen puede ser asociada a una conexión, luego ser rotada por los puntos hacia delante y hacia atrás del set, o ser establecida en un punto especifico, se puede obtener el punto donde actualmente se encuentra la imagen. Para poner un ejemplo practico; si una conexión contiene una colección de puntos sobre la trayectoria de la tierra alrededor del sol, se le puede asociar una imagen del planeta y hacerla mover punto a punto sobre la trayectoria.

A la imagen se le puede regular el tamaño.

Este habilidad permite hacer que una imagen siga el camino marcado por los puntos de una conexión, haciendo ir hacia delante saltando cíclicamente de punto en punto o hacia a tras. Incorporando un timer al proceso se crea animación.

Para ver un ejemplo de este tipo, ejecútese el ejemplo que se presenta   en los comando asociados a la imagen de una conexión.

6.       Trazado (trace): El trazado consiste en marcar la localización actual exacta de cada punto en la conexión, el trazado incluso permite marcar la localización de un punto especifico. Las marcas son puntos independientes del poli, y son del tipo manejado por el comando point. Este comando permite salvar los puntos a disco. El trazado se puede ejecutar en dos versiones, la que solo dibuja un punto y el nombre del punto, y la que agrega a lo anterior las coordenadas del punto.

7.       Nombrado de puntos: Esta característica hace que se puedan presentar los nombres de los puntos que la conexión tiene conectados, esta presentación de nombres es independiente de cualquier otra, y siempre se hace con el mismo color que la conexión tiene establecido.

8.       Color: Es el color con que una conexión se dibuja.

9.       Copia: Una conexión permite hacer una copia de ella misma. En el proceso, se crean nuevos puntos al poli, cada uno es un duplicado del punto original, de tal forma que los nuevos puntos son independientes de la conexión fuente.

10.   Ancho de línea: Permite establecer el ancho de las líneas con las que se unen los puntos.

11.   Cuenta de puntos: Retorna el numero de puntos que la conexión esta conectando.

12.    Obtención de nombres de los puntos: Una operación que retorna los nombres de los puntos como un string.

13.   Tipo: Operación que permite cambiar de tipo dinámicamente, después de la creación de la conexión.

14.   Conexión y desconexión de puntos: Permite conectar y desconectar puntos.

 

 

Operaciones generales de las conexiones:

 

Opción setconn: crea una nueva conexión.

Sintaxis: polyname setconn nameconn type [color]

1.       polyname: es el nombre del poly.

2.       setconn: la opción

3.       nameconn: el nombre de la conexión.

4.       type: el tipo de la conexión, debe de ser uno de los tipos explicado anteriormente

5.       color: Es el color en cualquier formato, es un parámetro opcional, si no se especifica se establece un color aleatorio.

 

Ejemplo: Este ejemplo crea un poli, una conexión secuencial, luego crea una secuencia de puntos sobre la superficie de una circunferencia de radio 3 con centro en (0,0) y los agrega a la conexión.

poly create p

p setconn c sec red

p setrpoints m 30 3 c

p names

 


 
Resultado:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Opción delconn: Elimina una conexión.

Sintaxis: polyname delconn nameconn [all]

1.       polyname: es el nombre del poly.

2.       deleconn: la opción

3.       all: opción que indica que se deben de borrar también los puntos que la conexión tiene conectados. Esto afecta a otras conexiones que también tienen estos puntos conectados.

 

Ejemplo:

poly create p

strln |=== listando la conexión  y sus puntos conectados====|

p setconn c sec red

p setp A 1 1, B 2 2, C 3 3

p conn c connect A B C

p info

p delconn c all

strln

strln

strln

strln

strln |=== No hay mas una conexion ni puntos ====|

p info

 

Resultado:

|=== listando la conexión  y sus puntos conectados====|

poly :p Inform:

 ----------- Points ----------

p: Points:

     A=( 1, 1 )

     C=( 3, 3 )

     B=( 2, 2 )

 

 --------- Connections --------

p: Connections:

  1- c,  type=sec  visible=true  Wide=1, Connected Points:A, B, C

 

 

 

|=== No hay mas una conexion ni puntos ====|

poly :p Inform:

 ----------- Points ----------

p: Points:

 

 --------- Connections --------

p: Connections:

 

 

 

Opción conn: Esta opción se utiliza para poder acceder a las características de una conexión.

Sintaxis: polyname conn nameconn …

1.       polyname: es el nombre del poly.

2.       conn: la opción

3.       nameconn: el nombre de la conexión

4.       ...: El resto del comando dependen de la opción que se desee ejecutar.

 

 

 

Operaciones internas de una conexión.

Algunas de estas operación son idénticas a las operaciones soportadas por el poly.

 

1.       connect: Agrega puntos a la conexión.

2.       setpoint: Agrega los puntos al poli y a la conexión.

3.       connectsec: Agrega parte de una secuencia a la conexión.

4.       disconnect: Elimina puntos de la conexión

5.       disconnectsec: Elimina una secuencia de puntos en la conexión.

6.       on: Hace visible la conexión

7.       off: Hace invisible la conexión.

8.       wide: Establece el grosor de las líneas con la que se unen los puntos.

9.       type: Cambia el tipo de la conexión.

10.   cicle: Establece el ciclo de la conexión (solo para los tipos cic y cicc)

11.   color: Establece el color de la conexión.

12.   cgradient: Establece el segundo color para construir una conexión de gradiente.

13.   cbezieron: Hace visible las líneas de control en las conexiones de tipo bezier.

14.   cbezieroff: Oculta las líneas de control en las conexiones de tipo bezier.

15.   cls: Elimina todos los puntos de la conexión.

16.   closed: Activa la propiedad de cierre.

17.   noclosed: Desactiva la propiedad de cierre.

18.   names:  Hace visibles los nombre de los puntos por parte de la conexión.

19.   nonames: Hace invisible los nombre de los puntos por parte de la conexión.

20.   copy: Crea una copia de la conexión y duplica cada punto de la misma con puntos independientes en el poly.

21.   stringpoints: Retorna los nombres de los puntos (separados por coma)  como una cadena.

22.   countpoints: Retorna el numero de puntos que tiene la conexión.

23.   setpimg: Establece la imagen de fondo para las conexiones de tipo pattern.

24.   invert: Invierte la forma de pintado de la conexión usando una operación XOR entre 3 colores.

25.   trace: Realiza un trazado de la posición actual de cada punto de la conexión, Usando puntos del comando point.

26.   tracecoor: Realiza un trazado de la localización actual de cada punto presentando las coordenadas.

27.   locate: Localiza la  la conexión como un todo en una coordenada especifica del plano, tomando como pivote un punto de la conexión.

28.   displace: Desplaza la conexión un numero de unidades en x y un numero de unidades en y.

29.   rotate: Rota la conexión cierto ángulo con respecto a un punto dentro de la conexión o con respecto a un punto del plano.

30.   scale: Escala la conexión un factor x en las axisas y/o un factor y en las ordendas.

31.   setimg: Establece una imagen asociada a la conexión.

32.   unseting: Elimina la imagen asociada con la conexión.

33.   imgnext: Hace que la imagen asociada a la conexión se localiza en el siguiente puntos de la conexión.

34.   imgback: Hace que la imagen asociada a la conexión se localiza en un punto anterior al actual

35.   imgat: Localiza la imagen de la conexión en un punto especifico.

36.   imggpoint: Retorna el nombre del punto en el cual se encuentra localizada la imagen de la conexión.

 

 

 

 

Sintaxis de las operaciones:

Los nombres que se presentan entre paréntesis junto al nombre de la operación corresponde al sinónimo de la operación (forma corta), puede ser usado de igual forma que la operación.

 

 

Opción connect: Agrega una a mas referencia de puntos a una conexión. Es posible repetir los nombres de los puntos, en cuyo caso, el punto se reconecta cada vez que la conexión lo encuentra.

Sintaxis: polyname  conn c connect  p1 p2 p3 …  pn

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       connect : Operacion.

5.       p1 p2 p3 …  pn : Nombres de los puntos separados por espacio.

 

Ejemplo:

poly create p

p setpoint A 1 1, B 2 2, C -3 3, D 4 -4

p setconn c sec red

p conn c connect A B C D

p conn c names

 

 

Opción setpoint (setp): Esta opción de la conexión  funciona exactamente igual que la opción del mismo nombre del poly.  Pero además de agrega los puntos al poly, también los agrega a la conexión.

 

Sintaxis: polyname  conn c setpoint   p1 x1 y1  , p2 x2 y2, ...,pn  xn yn]

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       connect : Operación.

5.       p1 x1 y1 , p2 x2 y2, ...,pn  xn yn: Son un o mas puntos separados por comas. A cada punto se le especifica el nombre y sus coordenadas.

 

Ejemplo:

poly create p

p setconn c sec red

p conn c setp a 1 1, b -3 3, c 5 -3

p conn c names

 

 

Opción connectsec (consec):  Agrega a una conexión toda o parte de una secuencia ya existente. A partir del nombre base de la secuencia, un índice de inicio y uno de fin, agrega los puntos de la secuencia desde el índice first hasta el índice last (se incluyen los índices dados).

 

Sintaxis: polyname conn c  connectsec  name first last

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       connectsec : Operación

5.       name: Nombre de la secuencia

6.       first: Índice del primer elemento, se incluye también.

7.       last: Índice del ultimo elemento, se incluye también.

 

Ejemplo: Se crea una secuencia radial de 20 puntos, luego se crean 4 conexiones secuenciales de distinto color, entonces se agrega 4 puntos diferentes de la secuencia a cada conexión. La ultima instrucción se incluye para que se cierre el circulo.

poly create p

p setrpoints m 20 4

p names

p marks

p setconn c1 sec red

p setconn c2 sec blue

p setconn c3 sec green

p setconn c4 sec yellow

p conn c1 wide 8

p conn c2 wide 8

p conn c3 wide 8

p conn c4 wide 8

 

p conn c1 consec  m 1 5

p conn c2 consec  m 5 10

p conn c3 consec  m 10 15

p conn c4 consec  m 15 20

p conn c4 con  m1

 

Resultado:

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Opción disconnect (disc): Desconecta o elimina una o mas referencia de puntos  de la conexión. Si un punto tiene mas de una referencia, todas son eliminadas con solo una vez que se especifique el nombre del punto.

 

Si un punto es eliminado directamente desde el poli, del cual  alguna conexión tiene referencia, al momento de pintar la conexión, las referencias de puntos que no tienen una correspondencia en el poly son eliminadas (desconectadas) automáticamente.

 

Sintaxis: polyname  conn c disconnect  p1 p2 p3 …  pn

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       connect : Operacion.

5.       p1 p2 p3 …  pn : Nombres de los puntos separados por espacio.

 

Este ejemplo crea un poli, 4 puntos, y una conexión, luego agrega los puntos a la conexión, luego presenta una ventana de mensaje[4] para detener el programa y poder apreciar que los puntos están conectados. Después de que el usuario sale de la ventana de mensaje, se desconectan los puntos A y D, por lo que solo quedaran conectados B y C.

 

poly create p

p names

p setpoint A 1 1, B 2 2, C -3 3, D 4 -4

p setconn c sec red

p conn c connect A B C D

update plane

msg myvar ok Punto conectados; Hoy a  desconectar A y  D; Presione Ok

p conn c disc A D

 

 

Opción disconnectsec (discsec): Desconecta o elimina los puntos de una secuencia, a partir del nombre base que es proporcionado, todos los nombres de puntos que inician con tal base son eliminado de la conexión.

 

Sintaxis: polyname  conn c disconnectsec name

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       disconnectsec: Operación.

5.       name : Nombre base de la secuencia.

 

 

Ejemplo: Este ejemplo crea una conexión secuencial y 4 secuencias radiales de 20 puntos cada una para agregarlas a la misma conexión, luego se van desconectando una a una.

poly create p

p names

p setconn c sec red

// creando 4 secuencia y agrengandolas a la misma conexion

p setrpoints m 20 4 c

p setrpoints n 20 3 c

p setrpoints s 20 2 c

p setrpoints o 20 1 c

 

update plane

msg myvar ok Desconectando la secuencia o; Pesione Ok para continuar

p conn c discsec o

update plane

 

msg myvar ok Desconectando la secuencia s; Pesione Ok para continuar

p conn c discsec s

update plane

 

msg myvar ok Desconectando la secuencia n; Pesione Ok para continuar

p conn c discsec n

update plane

 

msg myvar ok Desconectando la secuencia m; Pesione Ok para continuar

p conn c discsec m

 

 

 

 


La grafica generada por todas las secuencias:

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Opción on:  Si la conexión esta no visible la hace visible.

 

Sintaxis: polyname  conn c on

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       on: Operación.

 

Ejemplo:

poly create p

p names

p setconn c sec red

p setrpoints m 20 4 c

update plane

 

msg myvar ok Conexión visible; Pesione Ok para continuar

p conn c off

update plane

 

msg myvar ok Conexión NO visible; Pesione Ok para continuar

p conn c on

 

 

Opción off:  Si la conexión esta visible la hace no visible.

 

Sintaxis: polyname  conn c off

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       off: Operación.

 

Véase el ejemplo anterior.

 

Opción wide:  Establece el ancho de las líneas que la conexión usara para conectar los puntos. Es un entero positivo mayor o igual que 1. No existe limite en su valor máximo.

El valor por defecto del ancho es 1.

 

Sintaxis: polyname  conn c wide value

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       wide: Operación.

5.       value: El valor.

 

Ejemplo:

poly create p

p setconn c1 sec red

p setconn c2 sec blue

p setconn c3 sec green

p setconn c4 sec orange

 

p conn c1 wide 5

p conn c2 wide 10

p conn c3 wide 15

p conn c4 wide 20

p conn c1 close

p conn c2 close

p conn c3 close

p conn c4 close

 

p setrpoints m 5 2 c1

p setrpoints n 5 3 c2

p setrpoints o 5 4 c3

p setrpoints p 5 5 c4

 

Resultado:

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Opción type:  Establece el tipo de la conexión.

Tomar en cuenta que cuando las conexiones son de tipo bezier y pbezier, no se dibujan si tienen menos de 4 puntos. Y cuando son de tipo mbezier y pmbezier tampoco se dibujan si tienen menos de 3 puntos. Por lo tanto, una operación de cambio de tipo podría inesperadamente desaparecer una conexión.

 

No todos los tipos de conexiones son compatibles, es decir, s

 

Sintaxis: polyname  conn c type oneType

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       type: Operación.

5.       oneType: Uno de los tipos listados anteriormente.

 

El siguiente ejemplo cambia el tipo a la conexión:

 

poly create  p

p names

p setconn c sec red

p conn c closed

p conn c cbezieron

 

p setrpoints m 6 3 c

 

update plane

msg myvar ok Ok Para continuar

 

p conn c type pol

update plane

msg myvar ok Ok Para continuar

 

p conn c type bezier

update plane

msg myvar ok Ok Para continuar

 

p conn c type mbezier

update plane

msg myvar ok Ok Para continuar

 

p conn c type pmbezier

update plane

msg myvar ok Ok Para continuar

 

p conn c type pbezier

update plane

msg myvar ok Ok Para continuar

 

p conn c type syn

update plane

msg myvar ok Ok Para continuar

 

p conn c type sync

update plane

msg myvar ok Ok Para continuar

 

p conn c type cic

update plane

msg myvar ok Ok Para continuar

 

p conn c type cicc

 

 

Opción cicle:  Establece el ciclo de la conexión, esta operación es exclusiva para los tipos de conexión cic y cicc. Para mas información sobre como estos tipos de conexión funcionan véase el tema Tipos de conexión visto anteriormente en   esta sección.

El ciclo debe de ser igual o mayor que 2. El valor por defecto es 2.

Los demás tipos de conexiones ignoran esta propiedad.

 

Sintaxis: polyname  conn c cicle value

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       cicle: Operación.

5.       value: El valor.

 

Ejemplo:

poly create p

p setconn c cic red

p setrpoints m 50  4.5 c

p names

for i 2 i<=20 1; p conn c cicle i;update plane; msg mivariable ok El ciclo ~i~ fue aplicado

Resultado final:

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Opción color:  Establece el color de la conexión.

 

Sintaxis: polyname  conn c color [anyformatcolor]

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       color: Operación.

5.       anyformatcolor: El color en cualquier formato. . Es opcional, si no se especifica se establece un color aleatorio.

 

Ejemplo:

poly create p

p setconn c1 sec

p setconn c2 sec

p setconn c3 sec

 

p conn c1 color red

p conn c2 color 255 10 130

 

//----escoge un color

gcolor mycolor ?

p conn c3 color mycolor

 

p setrpoints m 10 4 c1

p setrpoints n 10 3 c2

p setrpoints o 10 2 c3

 

p conn c1 wide 4

p conn c2 wide 4

p conn c3 wide 4

 

Para mas información  sobre el comando gcolor consultar el manual de referencia de comandos.

 

 

Opción cgradient:  Establece el segundo color para una conexión de tipo gradient, por defecto es blanco.

 

Sintaxis: polyname  conn c cgradient [anyformatcolor]

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       cgradient: Operación.

5.       anyformatcolor: El color en cualquier formato. Es opcional, si no se especifica se establece un color aleatorio.

 

Ejemplo:

poly create p

p setp A -4 4, B 5 -2

p setconn c gradient yellow

p conn c con A B

// blanco por defecto

update plane

msg myvar ok Ok Para continuar

p conn c color blue

p conn c cgradient red

update plane

msg myvar ok Ok Para continuar

p conn c color green

p conn c cgradient red

p conn c close

 

 

Opción cbezieron:  Hace visibles las líneas de control en una conexión de tipo bezier y pbezier. Los otros tipos de conexión ignoran este operación.

 

Sintaxis: polyname  conn c cbezieron 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       cbezieron : Operación.

 

 

Ejemplo: El siguiente ejemplo crea una conexión bezier y le agrega 4 puntos aleatorios obtenidos entre las coordenadas especificada, y las agrega a la conexión. Luego hace visibles las curvas de control. Al final las hace no visibles.

 

poly create p

p names

 

p setconn c bezier red

p conn c wide 4

p conn c cbezieron

p setrd2points  m  4 -5.96    3.99 6.51    -4.68 c

update plane

msg mydata ok Curva con las líneas de control

p conn c cbezieroff

 

La siguiente Figura muestra la curva Bezier con sus líneas de control. Si se ejecuta el ejemplo, no será la misma curva debido a que los 4 puntos obtenidos son aleatorios.

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Opción cbezieroff:  Hace no visibles las líneas de control en una conexión de tipo bezier y pbezier. Los otros tipos de conexión ignoran esta operación.

 

 

Sintaxis: polyname  conn c cbezieroff 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       cbezieroff : Operación.

 

Ejemplo: Véase el ejemplo anterior.

 

 

 

Opción cls:  Elimina todos las referencia de puntos en la conexión.

 

Sintaxis: polyname  conn c cls 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       cls : Operación.

 

Ejemplo:

poly create p

p names

p setconn c bezier red

p conn c wide 4

p conn c cbezieron

p setrd2points  m  4 -5.96    3.99 6.51    -4.68 c

update plane

msg mydata ok Curva con las líneas de control

p conn c cls

 

 

Opción closed (close):  Activa la propiedad de cierre de la conexión.

Según el tipo de conexión, esto tiene diferentes efectos. Véase los tipos de conexión para ver que efecto tiene en un tipo especifico.

 

Sintaxis: polyname  conn c closed 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       closed : Operación.

 

No ejemplo.

 

 

Opción noclosed (noclose):  Desactiva la propiedad de cierre de la conexión.

Según el tipo de conexión, esto tiene diferentes efectos. Véase los tipos de conexión para ver que efecto tiene en un tipo especifico.

 

Sintaxis: polyname  conn c noclosed 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       noclosed : Operación.

 

No ejemplo.

 

 

Opción names:  Hace visibles los nombres de los puntos de la conexión. Esta visibilidad es independiente de la visibilidad por parte del poly o de otra conexión. Los nombres de los puntos visibles por la conexión siempre se dibujan en el color de la conexión.

Si una conexión comparte en mismo punto, y ambas tienen visible sus puntos, la conexión mas reciente en creación sobrepone su color en el nombre del punto.

 

Sintaxis: polyname  conn c names 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       names : Operación.

 

No ejemplo.

 

 

Opción nonames:  Hace invisibles los nombres de los puntos de la conexión.

 

Sintaxis: polyname  conn c nonames 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       nonames : Operación.

 

No ejemplo.

 

 

Opción copy:  Crea una copia de la conexión, también duplica los puntos de la conexión en el poli, de tal forma que las puntos de la conexión copia son independiente de la conexión fuente. La nueva conexión permanece en la misma localización que la fuente, así que para visualizarla hay que desplazarla.

La copia contiene todas las propiedades iguales a la conexión fuente, Incluyendo la imagen de la conexión, el lugar donde se encuentra y sus dimensiones.

 

Los nuevos punto agregados al pili tienen como nombre el nombre de la conexión copia y el nombre del punto original del cual se produjo, separados por un punto.

 

Sintaxis: polyname  conn c copy newconn 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       copy : Operación.

5.       newconn: Nombre de la nueva conexión.

 

 

 

Ejemplo: El siguiente ejemplo crea una conexión, le agrega una secuencia radial, y después le establece una imagen con una dimensión especifica. Seguidamente le hace una copia y la desplaza a un lado. La imágene  se obtienen del directorio de imágenes por defecto.

poly create p

p setconn c1 sec red

p setelipoints m 20 15 360 5 4 c1

p conn c1 setimg glovo1 1.5 1.5

p conn c1 wide 4

p conn c1 close

 

p conn c1 copy c2

p conn c2 displace 2 2

p conn c1 names

p conn c2 names

 

Resultado: La conexiones presentan  los nombres de los puntos.

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Opción stringpoints: Retorna la lista de puntos separados por coma (,).

 

Sintaxis: polyname  conn c stringpoints [variable] 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       stringpoints: Operación.

5.       variable: Opcional, nombre de la variable para almacenar el string, si no se especifica, se presenta la información en la barra de estado.

 

 

No ejemplo.

 

 

Opción countpoints: Retorna el numero de punto que contiene la conexión.

 

Sintaxis: polyname  conn c countpoints [variable] 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       countpoints: Operación.

5.       variable: Opcional, nombre de la variable para almacenar el valor, si no se especifica, se presenta la información en la barra de estado.

 

 

No ejemplo.

 

 

Opción setpimg :  Establece la imagen de con la que se formara el patrón en una conexión dc tipo pattern, por defecto no esta definida. También establece el ancho y alto que tomara cada elemento en el patrón.

Posterior a su definición, se puede cambiar el ancho y el alto con las opciones wide y length respectivamente; Los valores se especifican en píxeles. No es posible  hacer que un patrón tome menos de 10 tanto en el ancho como en el alto.

Cuando se especifica el ancho y el alto del patrón usando esta opción, provoca llamadas a las opciones wide y length por lo que estos valores quedan modificados.

El tamaño de cada elemento del patrón permanece constante cuando se escala el plano o la conexión.

 

Sintaxis: polyname  conn c septimg [wide] [high] 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión

3.       c: Nombre de la conexión

4.       setpimg: La opción

5.       wide: Es el ancho de cada elemento en el patrón. Parámetro opcional, si no se especifica de establece a 10.

6.       high: Es el alto de cada elemento en el patrón. Parámetro opcional, si no se especifica de establece a 10.

 

Ejemplo:

poli create p

p names

p setconn c pattern

p setp a  0.27    2.97,  b  3.72    -1.63

p conn c con a b

p conn c setpimg fondo 160 160

 

 

Opción invert :  Pone la conexión de manera invertida, los colores se combinan con una operación XOR,  Véase la conexión de tipo inverted para mas detalles.

Los tres colores que forma el color resultante son: el color del fondo del plano, el color de la conexión (manejado con la opción color) y el segundo color del gradiente (manejado con la opción cgradient).

 

Sintaxis: polyname  conn c invert flag 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión

3.       c: Nombre de la conexión

4.       invert: La opción

5.       flag: Puede ser on = activado o off = no activado

 

La siguiente imagen muestra una figura  con conexiones de este tipo.

 

 

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Opciones Similares:

 

Las opciones trace, tracecoor, locate, displace, trotate y scale, operan exactamente igual que las opción respectivas a nivel poly. Por lo tanto, para evitar repetir las mismas descripciones, refiérase a la opción del poly, en el apartado Manejo del Objeto poly.

 

Aquí solo se describirá su sintaxis:

 

Opción trace: 

Sintaxis: polyname  conn c trace

 

Opción tracecoor: 

Sintaxis: polyname  conn c tracecoor

 

 

Opción locate: 

Sintaxis: polyname  conn c locate pivotpoint x y

Opción rotate:

Sintaxis: polyname  conn c rotate pivotpoint angle

 

 

Opción displace:

Sintaxis: polyname  conn c displace x y

 

 

Opción sclae:

Sintaxis: polyname  conn c sclae xfacto [yfactor]

 

Imagen y Animación

A continuación se presenta un set de opciones relacionadas, cuyo objetivo es ayudar a realizar presentación o animaciones, utilizando imágenes y conexiones.

Es su concepto mas simple, una conexión es un set de puntos que tienen un orden de conexión que es dado por el orden en que se agregaron a la conexión, así que existen una secuencia ordenada. Una imagen puede asociada con la conexión. Al momento de la asociación, la imagen se posiciona en el punto 1 de la conexión. Dibujándose en tales coordenadas. El centro de la imagen esta dado por las coordenadas del punto.

Al momento de la creación, se puede establecer tanto el ancho como el alto. Pero por defecto toma un ancho de 1 y un alto de 1.

 

El lugar de donde se puede cargar la imagen están dadas por las mismas reglas que describe el comando image (que puedes consultar para mas información), pero la forma mas fácil es cargarla desde el directorio por defecto de las imágenes que se Queen\image\, de donde es cargada la imagen cuando no se especifica. La extensión por defecto es .gif.

 

Una vez una imagen es asociada a una conexión, esta se puede mover hacia delante o hacia a tras de la secuencia de puntos de la conexión. Cuando la imagen alcanza el limite de la secuencia, tanto para atrás como para adelante, se para al inicio o al fin de la secuencia respectivamente.

 

También es posible ubicar la imagen en un punto especifico u obtener el nombre del punto donde se encuentra ubicada actualmente.

 

Acompañando todo lo anterior con un timer, es posible crear animación, haciendo a la imagen seguir el camino establecido por los puntos de la conexión en forma cíclica.

 

Como una pequeña demostración, se presenta la simulación de un sistema solar de dos planetas que giran alrededor de un sol en orbitas elípticas diferentes a velocidades diferentes.

 

Primero se verán todos los comandos relacionados y al final se desarrolla el ejemplo del sistema solar.

 

 

Opción setimg :  Asocia una imagen a la conexión. Al momento de la creación, la imagen se localiza en el primer punto de la conexión.

Una vez creada la imagen, no es posible, cambiar su dimensión. Pero puede crearse de nuevo con diferente dimensión. La nueva imagen sobrescribe la primera.

 

Sintaxis: polyname  conn c setimg [wide] [high] 

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       setimg : Operación.

5.       wide: Opcional, el ancho de la imagen, por defecto 1

6.       high: Opcional, el alto de la imagen, por defecto 1

 

 

Opción unsetimg :  Elimina la imagen de la conexión.

 

Sintaxis: polyname  conn c unsetimg

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       unsetimg: Operación.

 

 

Opción imgnext :  Mueve la imagen de la conexión un punto hacia delante del set de puntos.

Si se alcanza el final del  set, la imagen se ubica en el primer punto.

 

Sintaxis: polyname  conn c imgnext

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       imgnext: Operación.

 

 

Opción imgback :  Mueve a la imagen de la conexión un punto hacia atras del set de puntos. Si se alcanza el inicio del set, la imagen se ubica en el ultimo punto.

 

Sintaxis: polyname  conn c imgback

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       imgback: Operación.

 

 

Opción imgat :  Localiza la imagen de la conexión específicamente en un punto de la misma.

 

Sintaxis: polyname  conn c imgat point

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       imgat: Operación.

5.       point: Nombre del punto.

Opción imggpoint :  Retorna el nombre punto en el cual se encuentra la imagen de la conexión.

 

Sintaxis: polyname  conn c imggpoint [variable]

1.       polyname: Nombre del poly

2.       conn: Opción de acceso a la conexión.

3.       c: Nombre de la conexión.

4.       imggpoint: Operación.

5.       variable: Opcional, Nombre de una variable, si se especifica, el nombre del punto donde la imagen se encuentra se almacena en ella, si no, se presenta un mensaje en la barra de estado informado al respecto.

 

Ejemplo El Sistema Solar de solo dos planetas: Lo gracioso de este ejemplo es ver la animación.

poly create p

p setp sol1 0 0

p circle sol1 1 normal yellow

p setp sol2 0 0

p circle sol2 2 normal red

p setconn c1 sec red

p setconn c2 sec blue

 

p setelipoints m 20 15 360 5 4 c1

p setelipoints n 40 5 360 4 3 c2

p conn c1 setimg glovo1 1.5 1.5

p conn c2 setimg glovo4 .75 .75

 

p conn c1 wide 4

p conn c2 wide 4

p conn c1 close

p conn c2 close

 

timer create t 1 p conn c1 imgnext # p conn c2 imgnext

t start

 

Figura con el sistema solar:

 
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


La siguiente es una operación que pertenece al poly y no a una conexión, se lista aquí  ya que su ejemplo requiere el conocimiento de las conexiones.

 

 

Operación order:  Establece el orden de pintado de las conexiones.

Por defecto el orden es “la primera en crearse es la primera al frente”.

Este comando toma como parámetro los nombres de las conexiones separadas por un espacio. El orden de pintado es siempre la primera en la lista es la mas al frente, la segunda es la segunda al frente, y así sucesivamente.

 No es necesario especificarlas todas, solo las que interesen sobreponerse. Las que no se especifiquen, conservaran el orden anterior.

Se recalca que las que se listen primero, son las que se verán mas encima del dibujo.

 

Sintaxis: polyname orderconn conn1 [conn2 ...]

1.       polyname :  Nombre del poli

2.       orderconn  : La operación 

3.       conn1: nombre de la conexión que se sobrepondrá a todas

4.       conn2 ...: Las demás conexiones que se pintaran en orden. Las primeras se sobreponen a las siguientes.

 

Ejemplo: Este ejemplo crea varias conexiones, cada una tiene el nombre del color. Después de ejecutar este bloque, intenta traer al frente las conexiones que quieras.

 

poly create p

p setconn red pol red

p setconn yellow pol yellow

p setconn green pol green

p setconn orange pol orange

p setconn blue pol blue

p setrpoints red 15 3 red

p setrpoints yellow 15 3 yellow

p setrpoints green 15 3 green

p setrpoints orange 15 3 orange

p setrpoints blue 10 3 blue

p setp  O1 0 0

p setp  O2 0 0

p setp  O3 0 0

p setp  O4 0 0

p setp  O5 0 0

p conn red con O1

p conn yellow con O2

p conn green con O3

p conn orange con O4

p conn blue con O5

p conn red locate O1  0 -2

p conn yellow locate O2   -2 -2

p conn green locate O3  -2 0

p conn orange locate O4  2 2

p conn blue locate O5  2 -2

 

Comando que trae al frente las conexiones listadas.

p order yellow blue red

 


El orden que se establece es el que se muestra en la imagen:

 
 

 

 

 

 

 

 

 

 

 

 

 

 



[1] El nombre de un punto se puede repetir en una conexión pero nunca en un objeto poli, puede haber puntos con diferente nombre con las mismas coordenadas.

[2] Un punto pivote o centro es aquel desde donde se concentran todas las líneas de conexión, que están dirigidas a los demás puntos de la conexión. Si este es eliminado, siempre se toma como pivote en primero en la secuencia de conexión o orden en que fue agregado.

[3] El orden en que se crean los puntos en el poli, no tiene ningún efecto en una conexión. Lo que es importante es el orden en que los puntos son agregados a la conexión.

[4] Para mas información sobre los comandos update y msg, vea el manual de referencia de comandos.

Hosted by www.Geocities.ws

1