EL OBJETO POLY
Concepto y
Generalidades
Un poly
ha sido diseñado para resolver problemas de geometría-trigonometría plana
y realizar cualquier clase de dibujo o
grafica usando líneas interconectadas.
Su gran cantidad
de característica da la posibilidad de realizar presentaciones muy sofisticadas
e incluir animación a través del uso de timers.
Incluso
se pueden desarrollar complejos diagramas utilizando sus características.
El
objeto poly agrupa un conjunto de puntos y diferentes formas de conectarlos con
líneas(usando las conexiones). Las líneas poseen características como color y
grosor. Los puntos tienen también características que los hacen muy útiles para
los análisis geométricos-trigonométricos.
Además a
un poly se le aplican un conjunto de operaciones como por ejemplo rotación, translación y escalado,
etc.
El
concepto de conexión es un subconjunto de puntos del poly que se conectan con
líneas usando lógicas diferentes. Entonces los puntos de una conexión siempre
se mantienen conectados aun cuando los puntos cambien de coordenadas.
Para ubicarnos mejor, veamos como puede lucir un poly simple:


Los de las siguientes figuras son polis más complejos, desarrollados
con programación:


Estructura
de un poly:
·
Set de puntos: El
primer ingrediente de un poly es su set de punto los cuales cada uno debe de
ser nombrado para poder referirse específicamente a cada uno. La colección de
punto es única y un punto puede ser compartido por diferentes conexiones o no
tener relación con ninguna conexión.
·
Set de conexiones: Una conexión es una agrupación
parcial o total del set de puntos del poly. Todo los puntos agrupados en una
conexión tiene una relación de conexión. La forma como se conecta cada punto
con el otro depende del tipo de la conexión.
Un punto puede formar parte de mas de una conexión o no formar parte de
ninguna.
Puntos:
Una vez creado el poli, se pueden agregar
todos los punto que se deseen. Si se agrega uno que tenga el mismo nombre de un
punto ya existente, solo se actualizan
sus coordenadas, conservando todas las demás propiedades. Las propiedades mas
importantes de los punto son el nombre y sus coordenadas (x,y). Las coordenadas de los puntos nunca se ven afectadas por
el modo en que el plano se encuentre(polar o rectangular), en otras palabras,
las coordenadas de los puntos de un poly siempre permanecen modo rectangular,
aunque el plano este en modo polar.
Características
de los puntos:
A continuación se listas las características de los puntos,
estas no dependen de las conexiones.
1.
Un nombre: que puede ser pintado en
las coordenadas del punto, esta característica permite la ubicación de
etiquetas en coordenadas especificas,
que realmente no tienen significado como punto sino como un rotulo.
2.
Coordenadas (x,y): esta pueden ser
pintadas en las coordenadas del punto, junto con su nombre.
3.
Asociación de una imagen al punto:
una vez asociada la imagen siempre se dibuja con el centro en la coordenada del
punto, es posible especificar el ancho y el alto de la imagen.
4.
Asociación de un objeto gstring:
sucede lo mismo que con la imagen. Pero el objeto debe de estar definido de
antemano, y por lo tanto se puede manipular después de haberlo asociado.
5.
Asociación de un objeto store.
Cada punto se le puede asociar un objeto store, que permite tener cualquier
cantidad de información asociado a un
punto especifico, si el punto es eliminado, el objeto de elimina
automáticamente.
6.
Dibujado de un circulo o una elipse con centro en las coordenadas
del punto, y de radio arbitrario o ejes (a,b) de la elipse, puede ser de
cualquier color y estar o no rellena. Además hay otras características
asociadas con la elipse o circulo de cada punto que se verán mas adelante.
7.
Los puntos pueden tener marcas:
Pequeños puntos que se pintan en las coordenadas de cada punto, Su tamaño
permanece constante cuando el plano es escalado. Puede personalizarse en tamaño color y ser visible
o no para cada punto.
8.
Anglos: Si se asocian 3 puntos, se puede pintar el anglo del
vértice que forman, este ángulo tiene un nombre que se dibuja junto con el
valor del ángulo, puede ser visible o no, relleno o no y se le puede establecer
un color, así como la distancia a la que se traza la línea circular del ángulo;
una vez definido un ángulo con uno de los vértices que forman 3 puntos, este se
recalcula y repinta cuando los puntos cambian de coordenadas. Esta
característica es muy útil para análisis trigonométricos.
9.
Trazado de puntos(trace): un o mas
puntos pueden dejar la huella de donde están situados, esta permanece inmóvil
después de que el punto ha cambiado de posición. El trazado se hace pintando su
localización con un pequeño circulo y sus coordenadas, estas marcas pueden ser
manipuladas por el comando point, y son del mismo
tipo que los puntos dibujados con el ratón o con el comando point.
Operaciones
con los puntos:
Un poly ha sido diseñado principalmente para trabajar con
Geometría y Trigonometría plana. La clave esta en los puntos y todas sus
operaciones.
Conociendo bien las operaciones con puntos, se cuenta con
una gran herramienta para resolver problemas muy complejos. Todas esta
operaciones son independientes de las conexiones.
Lista de operaciones con puntos:
Todos los ángulos están dados en grado.
1.
Anglo del punto: Obtiene el ángulo
con respecto al eje positivo x de la recta que pasa por el origen y el punto.
2.
Anglo con respecto al eje positivo
x de una recta que pasa entre dos puntos
3.
Angulo de un vértice formado por 3
puntos (siempre el menor)
4.
Distancia entre dos puntos
5.
Obtención de las coordenadas del
punto
6.
Especificación de nuevas
coordenadas para el punto
7.
Eliminación e inserción de puntos
8.
Conteo de puntos
9.
Obtener la ecuación de la recta
que pasa por dos puntos.
10. Obtención de listados de puntos como un string
11. Preguntar si un punto se encuentra en el set de puntos
12. entre otras...
Generación
geométrica de puntos
Un poly cuenta con operaciones de generación geométrica automática de puntos,
esta característica y un poco de lógica son de gran ayuda para la resolución de
problemas de Geometría y Trigonometría. La generaciones automática pueden
generar uno o mas puntos; cuando se ejecuta una operación de generación, se
especifica el nombre que se le pondrá al punto, si son mas de un punto, los nombres van acompañados con un
correlativo, para diferenciar cada punto; Opcionalmente puedes hacer que los
puntos de una generación automática se agreguen a una conexión ya
existente.
Si alguna de las generaciones de puntos aquí brevemente
explicadas no queda muy clara, No es
importante ya que cuando se explique el comando que realiza esa operación, se
amplia con detalle la explicación y se incluyen diagramas.
Se explican los acrónimos del cual provienen los nombres de
los comandos para tener una referencia de en el recordatorio de los mismo.
El siguiente es el listado de las operaciones de generación
geométrica de puntos:
1.
Punto en una coordenada
especifica. Ver el comando setpoint.
2.
Punto medio: del segmento formado
por dos puntos. Véase el comando setmpoint del acrónimo Set MidPoint.
3.
Punto polar: localización de un
punto a un ángulo t y a una
distancia d tomando como
base el segmento formado entre dos punto. Véase el comando setppoint del acrónimo Set Polar Point .
4.
Punto intercepción de la
proyección de un ángulo y su lado opuesto en un triángulo: Localización de un punto
en donde se interceptan una proyección de ángulo y un lado atado al segmento
base de la de proyección. Este es el caso de un triangulo del cual se conoce
dos lado y un anglo opuesto a un lado conocido. Donde se interceptan las
proyección del ángulo y su lado
opuesto debería de ubicase el
punto, pero esto depende de la longitud del lado opuesto, así que puede no
existir, o tener única o doble solución. Véase el comando setaspoint, su nombre viene acrónimo Set Angle and Segmento Point.
5.
Punto desplazamiento en x y en y: Localiza un punto que se desplaza x,y unidades del punto dado. Véase
el comando setdxypoint del
acrónimo Set Displacement xy Point.
6.
Punto Intercepción de rectas:
Localiza un punto donde se interceptan dos
rectas generadas por 4 puntos dados, L1 Pasa por p1,p2 y L2 pasa por
p2,p3. Véase el comando setipoint del acrónimo Set Interception Point.
7.
Punto Intercepción de ángulos:
Localiza un punto donde se interceptan las proyecciones de dos ángulos internos
que parten de los puntos opuestos de un segmento de recta. Véase el comando setaipoint del acrónimo Set Angle Interception Point.
8.
Puntos radiales: Localización una
serie de puntos sobre una circunferencia
con centro en el origen y de radio especificado, ángulo de inicio y
finalización. Usando las operaciones de las conexiones se puede desplazar el
set circular de puntos a cualquier parte del plano. Véase el comando setrpoints del acrónimo Set Radio Points,
9.
Puntos elípticos: Localiza un
conjunto de puntos sobre la superficie de una elipse con centro en el origen,
se puede especificar los tamaños de los ejes
de la elipse así como desde el ángulo de inicio hasta el ángulo de
finalización y el numero de punto deseados. Véase el comando setelipoints del acrónimo Set Eliptic Point.
10. Puntos curva Bezier: Localiza un conjunto de puntos sobre
una curva Bezier generada por 4 puntos.
Vea al comando setbpoints del acrónimo Set Bezier Points.
11. Puntos de ecuación: Localiza un conjunto de puntos de una ecuación evaluada desde x1 a x2 en
intervalos definidos Véase el comando seteqpoints del acrónimo Set Equation Points.
12. Punto de curva multiBezier: Genera un conjunto de puntos
sobre una curva múltiple Bezier, los puntos deben pertenecer a una conexión sin
importar el tipo Véase el comando setmbpoints del acrónimo Set
Multi Bezier Points.
13. Puntos en segmento: Conjunto de puntos que se localizan
sobre un segmento de recta generado por dos punto. Se puede especificar el
numero de puntos a generar, La distribución de los puntos es homogénea y divide
al segmentos en n+1 sub segmentos
iguales, donde n es el numero de
puntos especificados. Véase el comando setspoints del Acrónimo Set Segment Points.
14. A un punto se le puede asociar una elipse, cuyo centro es el
punto, luego, es posible poner puntos sobre esa elipse, pasando una
coordenada x, como en una elipse tiene
dos valores para x, dos puntos son agregados sobre la elipse, pero si la
coordenada de x esta en donde la pendiente de la recta tangente a la elipse en
ese punto no existe(los extremos izquierdo y derecho de la elipse), solo un
punto es agregado. Esta comando también incluye al circulo como una elipse de
ejes a=b. Véase el comando setxelipoints del acrónimo Set x Oval Point.
15. Ubicación de un punto sobre la elipse de otro punto. Dado
un ángulo con respecto al eje polar, se localiza el punto donde la proyección
del ángulo corta la superficie de la elipse. Véase el comando setaelipoint del acrónimo Set Angle and Eliptic Point.
16. Punto en trayectoria. Dado un punto, un ángulo de trayectoria y una distancia,
localiza un punto a la distancia especificada en la dirección de la del ángulo
de trayectoria. Véase el comando settpoint acrónimo de Set Trajectory Point.
17. Puntos de un segmento desconocido que es perpendicular en
el punto medio a un segmento conocido. Dado un segmento entre p1 y p2, genera
dos puntos p3 y p4 que son los extremos de otro segmento perpendicular cuyo
punto medio es el lugar de intercepción de los dos segmentos p1p2 y p3p4.Véase
el comando set setpspoints del acrónimo Set Perpendicular Segment Points.
18. Intercepción Perpendicular de un punto conocido a un
segmento conocido: Dado un segmento entre dos punto p1 y p1, y un punto p3,
localiza un punto donde se intercepta la perpendicular del segmento que pasa
por el punto p3. Véase el comando setiplpoint del acrónimo Set Interception Perpendicular Line Point.
19. Puntos del plano: Es posible hacer que los puntos que se
localizan en el pano usando el ratón o por medio del comando point sean agregados al poly. Véase el comando setplpoints del acrónimo Set Plane Points.
20. Puntos de un dibujo: Queen permite el dibujado de figuras a
mano alzada en el plano. Estos dibujos pueden ser fuentes de puntos para un
poli, pudiéndose particularizar que
dibujo es el que se toma como fuente,
especificando el orden de creación, o simplemente todos especificando todos.
Véase el comando setdrpoints del
acrónimo Set Draw Points.
21.
Puntos aleatorios: Se crea una
secuencia de puntos aleatorios en el interior de un rectángulo delimitado por
dos puntos, donde el primer punto se con considera la esquina superior
izquierda y el segundo la esquina inferior derecha. Véase el comando setrdpoints del acrónimo Set Random Points.
22. Lo mismo que el comando anterior, solo que el rectángulo es
dado por coordenadas del plano y no por puntos en el poly. Véase el comando setrd2points del mismo acrónimo de la operación anterior.
23. Copia de un punto: Esta operación
crea otro punto en las mismas coordenadas del punto fuente. Las demás
características no son copiadas. Véase el comando setcppoint del acrónimo Set Copy Point.
24. Punto a partir de las coordenadas en polar. El ángulo debe
estar en grado. Véase el comando setpopoint del acrónimo Set Polar Point.
25. Intercambio de coordenadas: Esta no es una opción de
generación de puntos. Intercambia la
localización de los punto. Véase el
comando setswpoint del
acrónimo Set Swap Points.
26. Punto de una función polar. Generación de una secuencia de
puntos a partir de un ángulo de inicio y uno de fin en el cual se evalúa una
función en polar. Véase el comando setpeqpoints del acrónimo Set
Polar Function Points.
27. Creación de puntos desde una capa de puntos: Crea una
secuencia de puntos en el poli, con el contenido de todos los puntos de una
capa. Véase el comando setlvpoints del acrónimo Set Level Points.
28. Otra forma de generar puntos en haciendo una copia de una
conexión; en este caso también la conexión se duplica y los punto copiados se
nombran uniendo el nombre de la conexión copia y el nombre original del punto.
Los puntos de la conexión copia son ahora independientes de la primera
conexión.
Conexiones:
Una conexión es una especie de nodo
interno que agrupa a un subconjunto de punto del set de puntos de un poly. Una conexión
puede referir mas de una vez al mismo punto. En este caso, el punto es
reconectado todas las veces que se repita, la forma en la que se reconecta
dependerá del tipo de conexión.
Principales características de las conexiones:
1.
El set de puntos
2.
Tipo de conexión
3.
Color de las líneas de conexión
4.
Grosor de línea
5.
Visibilidad
6.
Imagen asociada a la conexión.
7.
Orden de pintado
Estas características se explican con mas detalle
posteriormente.
Un punto puede formar parte de ninguna o muchas conexiones.
Los tipo de conexiones son las siguientes:
1.
sec: conexión
secuencial. En esta conexión los puntos son conectados con líneas secuenciales
desde el primer punto al ultimo. Una conexión de este tipo puede estar cerrada
(se conecta el ultimo punto con el primero) o no cerrada.
2.
syn: conexión
sincronizada. Aquí, el primer punto agregado a la conexión es considerado como
el pivote, y las líneas se conectan del pivote hacia cada uno de los demás puntos, de tal forma que el pivote se
conecta con todos los punto y los demás puntos no se conectan entre si.
3.
sync: conexión
sincronizada cerrada. Es igual a syn, con la adición de que también se conectan los puntos terminales entre
si.
4.
pol: conexión
poligonal, el conjunto de puntos son considerados como las esquinas de un
polígono, por lo que los punto se conectan de forma secuencial pero el ultimo
punto se cierra con el primero y luego se rellena el polígono formado con el
color de la conexión.
5.
cic: Conexión
cíclica, realiza una conexión por ciclos, el valor de este ciclo es una
característica configurable de una conexión. Por defecto el ciclo es igual a 2,
u no puede ser menor que 2. La forma de conexión por ciclos es la siguiente:
supongamos que una conexión tiene 6 punto para conectar, y que el ciclo de
conexión es 2; el primer punto se conecta con el segundo. Luego en tercero con
el cuarto, luego el quinto con el sexto(en otras palabras se conectan dos
puntos si, dos puntos no). Luego cambiamos el ciclo de la conexión a 3,
entonces el punto uno se conecta con el punto 2 y con el tres, luego el 4 se
conecta con el 5 y el seis. Es como varias conexiones syn en una. Todo esto se entiende mejor con un ejemplo.
6.
cicc: Conexión
cíclica cerrada, Es la misma concepto
de la anterior, solo que los extremos son conectados entre si. Es como varias
conexiones sysnc en una. La explicación
suena muy complicada. Por lo que mas adelante se presentan varios ejemplos de
las mimas conexiones con diferentes ciclos.
7.
bezier: Esta conexión
solo toma 4 puntos (si se incluyen mas, el resto son ignorados) con los cuales
construye una curva Bezier.
8.
pbezier: Igual
que bezier, solo que la
curva es rellenada con el color de la conexión.
9.
mbezier: Conexión
de curvas múltiples Bezier, este tipo
de conexión puede tener cualquier
cantidad de puntos, y traza una curva suave uniéndolos.
10. pmbezier: Lo mismo que la anterior, solo que la curva es rellena
con el color de la conexión.
11. multiple: Conecta cada punto con los demás.
12. gradient: Crea un rectángulo relleno con un gradiente de color con
los primeros 2 puntos de la conexión.
13. inverted: Con esta conexión puedes crear óvalos y rectángulos
transparentes, que invierte de alguna forma el color del fondo.
14. dooted: Un tipo de conexión que conecta los puntos con líneas
entrecortadas.
15. patten: Este es un tipo de conexión que llena con una imagen que
se toma como patrones sucesivos en el área de un rectángulo formado por dos puntos.
16. dottedcic: Conexión igual que la cic, la diferencia es que las líneas se dibujan punteadas.
Secuencia de trabajo de un
poli:
Para
trabajar con un poly desde el punto
de vista de dibujo, la construcción debe ser un proceso sistemático. Los
siguiente es lo que se recomienda seguir:
·
Realizar el diseño del dibujo en papel milimetrado.
·
Encontrar la lista de puntos del
poli
·
Determinar las conexiones
necesarias y sus tipos para desarrollar
el dibujo
·
Crear el poli
·
Agregar el set de puntos del poli
·
Crear las conexiones de con sus
respectivo tipos
·
Agregar a cada conexión el set de
puntos que debe de conectar según el diseño.
Desde el
punto de vista analítico no hay un orden, todo dependen de la necesidad
inmediata.
Conjunto de opciones
generales:
El
concepto del poly es un poco complicado, pero es una herramienta poderosa para
realizar análisis de gomería y trigonometría plana, hacer figuras y diagramas. Este objeto cuenta con
operaciones actúan en el, como un todo, y operaciones que aplican a solo una
conexión especifica. En este caso, solo los puntos de tal conexión se ven
afectados por la operación. Si una conexión comparte un punto con otras, la
otras conexión se ven afectadas por el cambio de las coordenadas del punto que
comparten.
Antes de operar un poly es necesario crearlo. Por lo que existen los comandos
generales, los cuales no es necesario la existencia de un objeto poly para
ejecutarlos:
Los comando Generales son los siguientes:
1.
poly create: crea un nuevo objeto poli
2.
poly delete: elimina un objeto poli
3.
poly list: presenta la lista de los objetos
poly definidos en memoria
4.
poly cls: elimina todos los objetos poly de la memoria.
Cuando el nombre de un objeto poly
es digitado solo como comando, y ejecutado, este responde identificándose en la
barra de estado.
Operaciones Generales:
Estas
opciones se utilizan para controlar en forma general el conjunto de objetos
poly. Son ejecutadas a través del comando poly.
El comando general poly tiene las
siguientes opciones:
·
Opción create: crea un nuevo objeto poly. Toma como argumento el nombre
del objeto.
Sintaxis: poly create polyname
1.
poly :
El comando
2.
create : opción
3.
polyname: Nombre
del poli
Ejemplo:
poly create p
·
Opción list: presenta la lista de todos los objetos poly que hay
definidos en memoria.
Sintaxis: poly list
1.
poly :
El comando
2. list
: opción
Ejemplo:
poly list
·
Opción cls: Elimina todos los objetos poly definidos en memoria.
Sintaxis: poly cls
1.
poly :
El comando
2. cls
: opción
Ejemplo:
poly cls
·
Opción delete: Elimina el objeto poly
que se le pasa
como parámetro. Si en lugar del nombre del objeto se le pasa un asterisco (*),
elimina todos los objetos poly existentes.
Sintaxis: poly delete polyname
1.
poly :
El comando
2. delete : opción
3. polyname:
el nombre del poli
Ejemplo: Borra el objeto poly p
poly delete p
Comandos Internos del poly.
Controlan internamente a un objeto
poly específico, siempre están antecedidas por el nombre del objeto sobre el
cual actúan.
Se clasifican en 3 tipos:
1.
operaciones del objeto poli: Realizan una operación sobre el
poly activan o desactivan alguna
propiedad.
2.
operaciones de los puntos: Realizan alguna operación con uno o
más puntos especifico o activan o desactivan alguna propiedad, estas
características son independientes de las conexiones.
3.
operaciones de las
conexiones: Realizan
operaciones con una conexión, activan o
desactivan alguna propiedad.
Operaciones con el Objeto Poli
Se clasifican como sigue:
1.
Manejo del
objeto poli
2.
Manejo de
puntos
3.
Manejo de
ángulos
4.
Manejo de
conexiones
En el manejo del poly están la creación de puntos, conexiones y
operaciones que tienen efecto sobre todo sus elemento. A continuación veremos
las operaciones globales de los polis, y dejaremos para otros apartados las
operaciones especificas con puntos y conexiones.
Manejo del Objeto poly.
Un poly tiene operaciones que
involucra a todo el conjunto de conexiones y puntos. La mayoría de estas operaciones
son soportadas individualmente por las conexiones. La siguiente es una lista de estas operaciones:
Operaciones globales de un poli:
1.
setpoint: crea o actualiza, uno o mas
puntos.
2.
setconn: crea una nueva conexión.
3.
orderconn: Orden de pintado de las
conexiones.
4.
deletepoint: Elimina puntos del poly.
5.
delconn: Elimina conexiones del poly.
6.
rotate: Hace rotar todos los puntos de un
poly con respecto a cualquier punto en el plano o a un punto interno del poly.
7.
locate: Localiza a todo el poly en un lugar
especifico, tomando como pivote un punto, el resto de puntos mantienen su
localización con respecto al punto pivote.
8.
displace: Desplaza al poly una distancia en x y y en el plano.
9.
scale: Escala en tamaño al poly.
10.
info: Presenta información del todos los puntos
y conexiones.
11.
cls: Elimina todos los puntos y las conexiones del poly.
12.
stringpoints: Retorna una lista de los nombres
de los puntos.
13.
countpoints: Retorna el numero de puntos en el
poly.
14.
stringconns: Retorna los nombres de todas las
conexiones como un string.
15.
deletesecuence: Elimina una secuencia de puntos.
16.
clspoints: Elimana todos los puntos
17.
clsconns: Elimina todas las conexiones.
18.
on: Hace visible el poly.
19.
off: Hece el poly invisible.
20.
trace: Crea puntos independientes del
poli, del tipo manejados por el comando point, en cada
localización de los puntos del poly. No
se incluyen las coordenadas, solo un pequeño circulo y su nombre.
21.
tracecoor: la mismo que el anterior, solo
que los puntos incluyen las coordenadas.
22.
names: Hace visibles los nombres de todos
los puntos
23.
nonames: Hace invisible los nombre de los
puntos
24.
coors: Hace que las coordenadas del punto
se presenten junto a su nombre
25.
nocoors: No presenta las coordenadas junto
con su nombre
26.
marks: Hace que se presente un pequeño
circulo que representa la localización del punto
27.
nomarks: Hace invisibles las marcas de los
puntos
28.
markdiameter: Establece el radio (tamaño) de la
marca de los puntos.
29.
markcolor: Establece el color del centro de la
marca de los puntos
30.
markon: Hace visible la marca de los puntos,
a diferencia de marks, este puede particulariza un punto.
31.
markoff: Hace invisible la marca de los
puntos
32.
maneon: Hace visible los nombres de los
puntos, puede particulariza un punto
33.
nameoff: Hace invisible los nombres de los
puntos, puede particularizar.
34.
marksize: Establece el diámetro del circulo
que representa la marca del punto.
Si una operación presenta otro
nombre entre paréntesis junto, tal nombre es una abreviatura de la operación.
Sintaxis de las operaciones:
Operación setpoint: Crea uno o mas puntos. Véase la sección de las características de los puntos. Para mas
información consulte este comando en el tema: Características y operaciones de los puntos
Operación setconn: Crea una conexión. Véase
la sección de las características de las conexiones. Para mas
información consulte este comando en el tema: Características y operaciones de las conexiones
Operación orderconn: Establece el
orden de pintado de las conexiones.
Por defecto el orden es al azar.
Este comando toma la secuencia de las conexiones, separadas por un espacio. No
es necesario especificarlas todas, solo las que interesen. Solo las
especificadas se pintaran en orden, el resto se pintan al azar pero debajo de
las que si se especificaron.
Se recalca que las que se listen primero, son las que se verán mas
encima del dibujo. En otras palabras, las ultimas en pintarse, por lo tanto
caen enzima de las demás.
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.
Debido a que los
comandos a utiliza para dar un ejemplo resultarían desconocidos a estas alturas; este comando se vuelve a repetir al
final del aparatado de las conexión y entonces se muestra un ejemplo.
Operación deletepoint: Elimina un punto del poly. Véase la sección de las características de los puntos.
Para mas información consulte este comando en el tema: Características y operaciones de los puntos
Operación delconn: Elimina una conexión. Véase la sección de las características de las conexiones. Para mas
información consulte este comando en el tema: Características y operaciones de las conexiones
Operación rotate: Esta operación hace rotar T grados el
poly completo alrededor de un punto (x,y) del plano
o un punto P interno del poly. Si T es
positivo, la rotación es en sentido anti-horario, si es negativo entonces se
rota en sentido horario. T siempre debe estar en grados.
T, el punto (x,y) y P,
son parámetros
del comando,
Tiene dos forma, la primera para
dar como centro de giro un punto (x,y)
del plano, La
segunda para dar como cetro de giro a un punto P interno
al poly.
Forma 1: Sintaxis: polyname rotate x y
T
5.
polyname :
Nombre del poli
6. rotate : La
operación
7. x:
Coordenada x del punto en el plano
8. y:
Coordenada y del punto en el plano
9. T: Ángulo de giro en grados
Forma 2: Sintaxis: polyname rotate P
T
1.
polyname :
Nombre del poli
2. rotate : La
operación
3. P:
Punto pivote
4. T: Ángulo de giro en grados
Ejemplo: Para que sea mas
ilustrativo este ejemplo, se crea una conexión.
poly create p
p names
p setconn c pol
red
p setpoint A -0.02
5.01, B -2.96 0.97, C 2.98
1.04
p conn c connect A B C
p rotate 0 0 30
Operación locate: Localiza el poly en las coordenadas (x,y) del plano, tomando como pivote un punto P interno del poli, el resto de puntos conservan su localización con
respecto al punto pivote.
(x,y) y P,
son parámetros
del comando.
Sintaxis: polyname locate P x y
1.
polyname :
Nombre del poli
2. locate : La
operación
3. P: Punto pivote del poli
4. x:
Coordenada x en el plano
5. y:
Coordenada y en el plano
Ejemplo: Para que sea mas
ilustrativo este ejemplo, se crea una conexión.
poly create p
p names
p setconn c pol
red
p setpoint A -0.02
5.01, B -2.96 0.97, C 2.98
1.04
p conn c connect A B C
p locate A 0 0
Operación displace: Desplaza al poly X unidades
en las axizas y Y unidades en las ordenadas.
X y Y son
parámetros del comando. Y es opcional, si no se especifica,
solo se desplaza el las axizas.
Sintaxis: polyname displace X [Y]
1.
polyname :
Nombre del poli
2. locate : La
operación
3. P: Punto pivote del poli
4. X:
Unidades a desplazarse en las axizas.
5.
Y: Unidades a
desplazarse en las ordenadas. Paramento opcional.
Ejemplo: Para que sea mas
ilustrativo este ejemplo, se crea una conexión.
poly create p
p names
p setconn c pol
red
p setpoint A -0.02
5.01, B -2.96 0.97, C 2.98
1.04
p conn c connect A B C
p displace -3
-3
Operación scale: Escala a un poly W veces en
las axizas y H veces en las ordenadas. Todas las distancias
respectivamente se ven afectadas por los factores. Esto significa que si un
punto se encontraba a X distancia del eje x y, a una distancia del eje y, Después
de la operación estar a las distancias W*X, H*Y , respectivamente. Para preservar la ubicación del poly con respecto a
un punto, debes guardar las coordenadas y
después de la operación scale, aplicar una operación locate.
X y Y son
parámetros del comando. Y es opcional, si no se especifica,
solo se desplaza el las axizas.
Los valores W y H son parámetros del comando.
El valor H es un parámetro opcional, si no se especifica toma el valor de W, y un escalado homogéneo es ejecutado, Para escalar solo las
ordenadas, especifica el valor de W igual a 1.
Sintaxis: polyname scale W [H]
1.
polyname :
Nombre del poli
2. scale : La operación
3. W: Veces en las que se escalaran las axizas. Debe ser mayor
que cero.
4. H:
Veces en las que se escalaran las
ordenadas. Debe ser mayor que cero. Parámetro opcional, si no se especifica
toma el valor de W.
Ejemplo: Para que sea mas
ilustrativo este ejemplo, se crea una conexión.
poly create p
p names
p setconn c pol
red
p setpoint A -0.02
5.01, B -2.96 0.97, C 2.98
1.04
p conn c connect A B C
p scale 2
Operación info: Imprime información acerca de los puntos y las conexiones del poly en
el área de salida.
Sintaxis: polyname info
1.
polyname :
Nombre del poli
2. info: La
operación
Ejemplo: Para que sea mas
ilustrativo este ejemplo, se crea una conexión.
poly create p
p names
p setconn c pol
red
p setpoint A -0.02
5.01, B -2.96 0.97, C 2.98
1.04
p conn c connect A B C
p info
El resultado de este ejemplo es:
Poly :p Inform:
-----------
Points ----------
p: Points:
A=( -0.02,
5.01 )
C=( 2.98,
1.04 )
B=( -2.96,
0.97 )
--------- Connections --------
p: Connections:
1- c, type=pol
visible=true Wide=1, Connected
Points:A, B, C
Operación cls: Elimina todas las conexiones y puntos del poly.
Sintaxis: polyname cls
1.
polyname :
Nombre del poli
2. cls: La
operación
Ejemplo: Para que sea mas ilustrativo
este ejemplo, se crea una conexión.
poly create p
p names
p setconn c pol
red
p setpoint A -0.02
5.01, B -2.96 0.97, C 2.98
1.04
p conn c connect A B C
strln ====== antes de la operacion cls =====
p info
pcls
strln ====== después de la operacion cls =====
p info
El resultado de este ejemplo es:
====== antes de la operacion cls =====
Poly :p Inform:
-----------
Points ----------
p: Points:
A=( -0.02,
5.01 )
C=( 2.98,
1.04 )
B=( -2.96,
0.97 )
--------- Connections
--------
p: Connections:
1- c, type=pol
visible=true Wide=1, Connected
Points:A, B, C
====== después de la operacion cls =====
Poly :p Inform:
-----------
Points ----------
p: Points:
---------
conecctions --------
p: Conections:
Operación stringpoints: Retorna una lista de los nombres de todos los punto
del polis.
Si después de la opción se
especifica una variable, se almacenan
los nombres en ella, cada nombre esta separado por una coma (,). Si no
se especifica. Se presenta en la barra de estado el mensaje informado sobre los
puntos. Cuando el resultado se pone en una variable, solamente van los nombres
de los puntos separados por coma, cuando se presenta en la barra de estado, se
le agrega información para hacer mas legible el resultado.
Sintaxis: polyname stringpoints [variable]
1.
polyname :
Nombre del poli
2. stringpoints : La
operación
3. variable: Opcional, es la variable para almacenar el resultado.
Ejemplo:
poly create p
p setpoint A -0.02
5.01, B -2.96 0.97, C 2.98
1.04
p stringpoints
Resultado que se presenta en la
barra de estado:
poli: p has the points:A,C,B
Operación stringconns: Retorna una lista de los nombres de todas las
conexiones del polis.
Si después de la opción se
especifica una variable, se almacenan
los nombres en ella, cada nombre esta separado por una coma (,). Si no
se especifica. Se presenta en la barra de estado el mensaje informado sobre las
conexiones. Cuando el resultado se pone en una variable, solamente van los
nombres de las conexiones separados por coma, cuando se presenta en la barra de
estado, se le agrega información para hacer mas legible el resultado.
Sintaxis: polyname stringconns [variable]
1.
polyname :
Nombre del poly
2. stringconns: La
operación
3. variable: Opcional, es la variable para almacenar el resultado.
Ejemplo:
poly create p
p setconn c pol
red
p setpoint A -0.02
5.01, B -2.96 0.97, C 2.98
1.04
p conn c connect A B C
p stringconns
Resultado que se presenta en la
barra de estado:
poly: p has the connections:c
Operación deletesecuence (dels): Una
secuencia es una serie de puntos creado por una sola operación, cuyo nombre
tiene un inicio común. Por ejemplo la siguiente es una secuencia: m1, m2, m3,
m4. Para mas información sobre las secuencias, véase la generación geométrica
de puntos, en Las características de los puntos.
Esta operación elimina una
secuencia que inicia con la palabra que se le pasa como parámetro.
dels es una abreviatura de esta operación.
Sintaxis: polyname deletesecuence name
1.
polyname :
Nombre del poli
2. deletesecuence: La operación
3. name: Palabra con la que inicia la secuencia. Cualquier punto
cuyo nombre inicie con esta palabra será eliminado.
Ejemplo: Para ilustrar esta operación, se creara una secuencia de 8 puntos
aleatorios dentro de las coordenadas del recuadro formado por (-2,2)-(2,-2).
poly create p
p setp A 1 1, B 2 2, C 3 3
p setrd2points m 8 -2 2 2 -2
p stringpoints points
strln Los puntos antes de dels son : 'points'
p dels m
p stringpoints points
strln Los puntos despues de dels son: 'points'
Resultado :
Los puntos antes de dels son : C,B,A,m8,m7,m6,m5,m4,m3,m2,m1
Los puntos despues de dels son: C,B,A
Operación clspoints: Elimina todos los puntos del poly.
Sintaxis: polyname clspoints
1.
polyname :
Nombre del poli
2. clspoints : La
operación
Ejemplo:
poly create p
p setpoint A -0.02
5.01, B -2.96 0.97, C 2.98
1.04
p countpoints Num1
p clspoints
p countpoints Num2
strln Habian ~Num1~ puntos, Pero despues de clspoints
quedaron ~Num2~.
Resultado:
Habian 3 puntos, Pero despues de clspoints quedaron 0.
Operación clsconns: Elimina todas las conexiones del poly.
Sintaxis: polyname clsconns
1.
polyname :
Nombre del poli
2. clsconns: La
operación
Ejemplo:
poly create p
p setconn c1 sec red
p setconn c2 sec blue
p setconn c3 sec green
strln ==== antes
de borradas ====
p info
p clsconns
strln
strln ==== despues de borradas ====
p info
Resultado:
==== antes de
borradas ====
Poly :p Inform:
-----------
Points ----------
p: Points:
--------- Connections --------
p: Connections:
1- c3, type=sec
visible=true Wide=1, Connected
Point
2- c2, type=sec
visible=true Wide=1, Connected
Point
3- c1, type=sec
visible=true Wide=1, Connected
Point
==== despues de borradas ====
Poly :p Inform:
-----------
Points ----------
p: Points:
--------- Connections --------
p: Connections:
Operación on: Si el poly esta invisible, lo hace visible..
Sintaxis: polyname on
1.
polyname :
Nombre del poli
2. on: La
operación
Ejemplo:
p on
Operación off: Si el poly esta visible, lo hace invisible..
Sintaxis: polyname off
1.
polyname :
Nombre del poli
2. off: La
operación
Ejemplo:
p off
Operación trace: Duplica cada punto del poly con un punto independiente
del tipo manejado por el comando point. Esta operación puede ser útil
para salvar en disco la localización actual de los puntos del poli, ya que el
comando point puede hacer eso, para mas información
vea Capas de puntos en la Sección Entorno
Queen y el Plano carteciano.
El cada punto ubicado en el plano
por la operación trace dibuja un pequeño punto y el nombre del mismo. El color, el tipo y tamaño de la
fuente con que se pintan dependen de la configuración para los puntos del plano
establecidos actualmente, estas operaciones se realizan también con el comando point.
La operación tarce también es soportada individualmente por las conexiones y
los puntos.
Sintaxis: polyname tarce [pointname]
1.
polyname :
Nombre del poli
2. tarce: La
operación
3. pointnane:
Nombre de un punto. Es opcional, si se
especifica, solo tal punto es marcado. Si no se especifica o es
un asterisco (*), todos los puntos son incluidos.
Ejemplo: Aquí se crea una secuencia
de 20 puntos circulares en un radio de 3. luego se hacen rotar con respecto a
la coordenada (1,1). Se cambia el color de los puntos del plano (no del poli),
y se ejecuta la operación trace, y así sucesivamente.
poly create p
p setrpoints m 20 3
p names
point color blue
p trace
p rotate 1 1 20
point color red
p trace
point color green
p rotate 1 1 30
p trace
p setrpoints m 24 3
p trace
Resultado:

Operación tracecoor: Duplica cada punto del poly con un punto independiente
del tipo manejado por el comando point. El cada punto ubicado en el plano
por la operación tracecoor dibuja un pequeño, el nombre del punto y las coordenadas
de su localización.
La operación tarcecoor también es soportada individualmente por las conexiones y
los puntos.
La precisión o lugares decimales
mostrados se pueden aumentar con el comando deci. Los
lugares decimales se deben especificar antes de ejecutar la opción tracecoor, ya que con el numero de decimales que se
crea el punto del plano permanecerá
estático.
Sintaxis: polyname tarcecoor [pointname]
1.
polyname :
Nombre del poli
2. tarcecoor: La
operación
3. pointnane:
Nombre de un punto. Es opcional, si se
especifica, solo tal punto es marcado. Si no se especifica o es
un asterisco (*), todos los puntos son incluidos.
Ejemplo:
poly create p
p setrpoints m 20 3
p names
deci 8
p tracecoor
p displace -4
deci 1
p tracecoor
p displace 8
Operación names: Hace visible el nombre de todos los puntos del poly. Por
defecto son invisibles. Esta presentación del nombre es independiente de la
presentación individual del nombre que
se activa con el comando nameon, e individual de la presentación del
nombre por parte de la conexión. Esto significa que aunque la opción names no se ejecute, el nombre de un punto puede estar visible
por cualquiera de los demás medios. Esta opción afecta en forma general a todos
los puntos del poli, las opciones nameon,
nameoff afectan
en forma individual y general, por medio de la conexión solo se puede afectar a
los puntos de la conexión.
Sintaxis: polyname names
1.
polyname :
Nombre del poli
2. names: La
operación
Ejemplo:
p names
Operación nonames: Hace invisible el nombre de todos los puntos del poly. Se
aplican todas las observaciones de la opción names.
Sintaxis: polyname nonames
1.
polyname :
Nombre del poli
2. nonames: La
operación
Ejemplo:
p nonames
Operación coors: Hace visible las coordenadas de cada punto junto con sus
nombres, si este ultimo es visible por cualquiera de las opciones names or nameon.
La precisión puede decimal puede
modificarse con el comando deci.
Sintaxis: polyname coors
1.
polyname :
Nombre del poli
2. coors: La
operación
Ejemplo:
p coors
Operación nocoors: Oculta las coordenadas de cada punto junto, presentando
solo el nombre.
Sintaxis: polyname nocoors
1.
polyname :
Nombre del poli
2. nocoors: La
operación
Ejemplo:
p nocoors
Marcas:
Antes de entrar en las operaciones
para las marcas, es necesario comentar el concepto, para que se aborden las
operaciones con una visión mas amplia.
Las marcas se han implementado para
mostrar la localización de un punto de una forma concisa y decorosa, de tal
forma que se mantenga constante en tamaño al escalar el plano en cualquier
factor.
El tamaño del circulo se establece
a través de su diámetro, las unidades de medida siempre se deben de especificar
en pixeles.
Cada punto mantiene en memoria su
propio diámetro y color del centro del circulo(marca). Por defecto el valor de
su radio es 0, y se dice que no esta definido cuando tiene ese valor. El color
por defecto es negro.
El poly mantiene otra medida del
diámetro que es aplicada solo cuando el diámetro de un punto no esta definido
(con valor de cero). Si el diámetro del punto se encuentra definido, el circulo
es pintado con su propio diámetro.
Si se establece el diámetro de un
punto a cero, queda como no definido y su circulo (marca) se vera afectada por
el valor que maneja el poly como diámetro general, cuyo valor por defecto es 5.
Esto significa que si se define individualmente el diámetro de la marca de un
punto, esta se mantendrá aun cuando se cambien el valor del diámetro general
mantenido por el poly.
La visibilidad de las marcas pueden
ser activada en forma general (todos los puntos del poli) y en forma individual. Otro aspecto es el color, del centro del circulo
que solo puede ser establecido individualmente.
Las dos formas de hacer visibles o
invisibles a las marcas son independientes. Esto quiere decir que la
visibilidad general solo se puede desactivar con la operación de no visibilidad
general, y la visibilidad individual solo se puede desactivar con la operación
de no visibilidad individual.
En otras palabras, si se hace
visible individualmente la marca de un punto, permanecerá visible aun cuando se ejecute la operación
de no visibilidad general.
Las opciones que afectan en forma
general a las marcas son:
·
masks: hace visibles a las marcas
·
nomark: hace invisibles a las marcas
·
markdiameter: estable el diámetro de la marca
para las marcas con el diámetro no definido.
Las opciones que afectan en forma
individual son:
·
markon: Hace visible individualmente a una
marca de un punto.
·
markoff:
Hace invisible individualmente la marca de un punto.
·
markcolor: Establece el color del centro de
la marca de un punto
·
marksize: Establece individualmente el
diámetro de la marca de un punto.
Operaciones generales de marcas
Operación marks: Hace visible la marca de localización del punto. La marca
es un punto que se centra exactamente en las coordenadas del punto. Este
circulo permanece constante en tamaño cuando el plano es escalado.
Las marcas pueden hacerse visibles
individual para cada punto o general usando la opción markon, y únicamente en forma general usando esta opción.
Las marcas son independiente de si
el nombre es visible o no.
Sintaxis: polyname marks
1.
polyname :
Nombre del poli
2. makrs: La
operación
Ejemplo: Este ejemplo crea 40
puntos sobre una circunferencia de radio 2 y luego activa sus marcas
poly create p
p setrpoints m 40 2
p marks
Resultado:

Operación nomarks: Oculta la marca de localización del punto.
Las marcas pueden hacerse
invisibles individual para cada punto o general usando la opción markoff, y únicamente en forma general usando esta opción.
Sintaxis: polyname nomarks
1.
polyname :
Nombre del poli
2. nomakrs: La
operación
Ejemplo:
p nomarks
Operación markdiameter: Establece el diámetro por defecto para los puntos
que tengan el diámetro de su marca no definido. Se considera un diámetro no
definido si se establece a 0.
Sintaxis: polyname markdiameter value
1.
polyname :
Nombre del poli
2. markdiameter: La
operación
3. value: El valor del diámetro en pixeles, no puede ser cero.
Ejemplo:
poly create p
p setrpoints m 40 2
p marks
p markdiameter 30
Resultado:

Operaciones individuales de marcas
Operación markcolor: Establece el color a uno o todos los puntos del poly.
Sintaxis: polyname markcolor
pointname color
1.
polyname :
Nombre del poli
2. markcolor : La operación
3. pintname: Nombre del punto, si es un asterisco (*), se aplica el color a todos
los puntos del poly.
4. color: El color en cualquiera de sus formatos.
Ejemplo:
poly create p
p setrpoints m 40 2
p marks
p markdiameter 30
p markcolor * red
p markcolor m10 blue
p markcolor m11 green
p markcolor m12 blue
p markcolor m13 green
Resultado:

Operación markon: Hace visible individualmente la marca de uno o todos los puntos.
Sintaxis: polyname markon pointname
1.
polyname :
Nombre del poli
2. markon: La
operación
3. pintname: Nombre del punto, si es un asterisco (*), se aplica la operación a
todos los puntos, esta visibilidad solo puede ser desactivada por la
opción markoff.
Ejemplo:
p markon
Operación markoff: Hace invisible individualmente la marca de uno o todos los puntos.
Sintaxis: polyname markoff pointname
4.
polyname :
Nombre del poli
5. markoff: La
operación
6.
pintname: Nombre del punto, si es un asterisco (*), se aplica la
operación a todos los puntos. Esta opción solo puede hacer visibles a
aquellas marcas visibles a través de la opción markon.
Ejemplo:
p markoff
Operación marksize: Estable el diámetro de la marca individual propio de cada
punto. Si se establece a cero, se dice el diámetro no esta definido y cuando se
pinta se toma un valor por defecto establecido por la operación markdiameter.
Sintaxis: polyname marksize pointname value
1.
polyname :
Nombre del poli
2. marksize: La
operación
3.
pintname: Nombre del punto, si es un asterisco (*), se aplica la
operación a todos los puntos..
4.
value: El valor del diámetro es un valor entero en unidades de
pixeles.
Ejemplo: Los puntos que no se les
estableció individualmente el diámetro
de la marca se pintan con el diámetro especificado por markdiameter.
Prueba escalando el plano desde el
panel de control, las marcas se mantienen constantes en tamaño.
Se ha agregado un timer al final, solo como diversión, para detenerlo ejecuta t stop y para echarlo a andar t start.
poly create p
p setrpoints m 40 2
p marks
p markdiameter 10
p markcolor * red
p markcolor m10 blue
p marksize m10 20
p markcolor m11 green
p marksize m11 30
p markcolor m12 blue
p marksize m12 40
p markcolor m13 green
p marksize m13 50
timer create t 1 p rotate 0 0 10
t start
Resultado:
