ENTORNO
QUEEN Y EL PLANO CARTECIANO
El JEP
Evaluando expresiones:
Queen usa el JEP[1]
internamente para evaluar las
expresiones matemáticas, por tanto la sintaxis de estas obedecen al formato que
JEP impone para evaluar las expresiones.
Queen utiliza el carácter de espacio como separador de opciones o parámetros, por lo tanto, una
expresión matemática no debe de contener espacios.
Es
considerado como espacio, el carácter espacio (cuando se usa la barra
espaciadora) o el carácter TAB.
Si accidentalmente
introduces un espacio en una expresión
matemática, Queen lo tomara como
una opción o parámetro diferente del comando, y resultara en error o hará algo
no esperado.
Para
evaluar una expresión matemática simplemente digítala en el área de comandos y
usa el botón EXE o las teclas CTR+ENTER[2].
Si no hay error, se presenta el resultado en la barra de estado y el comando es
agregado a la historia de comandos; si hay error, el mensaje de error es
presentado, en este caso el comando permanece intacto con el objeto de
corregirlo. Si un comando o bloque de comandos resulta en error, no es agregado
a la historia de comandos.
Cuando
se evalúa una expresión matemática en Queen, y el valor no es asignado a una variable, el resultado se
muestra en la barra de estado.
Ejecuta
el siguiente ejemplo :
3*4-1
Se
muestra en la barra de estado lo siguiente:
anw=3*4-1=11
Como
puedes ver, se muestra la expresión evaluada y el resultado; y anw es una variable interna de Queen, esta variable siempre toma el valor de la ultima
expresión evaluada en forma directa desde el área de comandos y cuyo resultado
no es asignado a otra variable. Por lo tanto puedes usarla en el subsiguiente
calculo.
Ten
presente que su valor va cambiando según se evalúan nuevas expresiones.
Para que
tengas una idea de la asignación del resultado a una variable, examina los
siguientes comando:
Esta línea asigna el resultado 3*4 a la variable s.
s=3*4
Esta
asigna el resultado de la evaluación (3-2)*(4-1).
x=(3-2)*(4-1)
Si una
variable numérica ya existe (se le ha asignado algún valor) es posible ver su
valor evaluándola sola, como se muestra en el siguiente comando.
x=-10
x
Hoy que
ya sabes como evaluar expresiones, veamos las operaciones elementales del JEP:
Recuerda,
usa siempre minúsculas.
Para
comprender bien el significado de cada operación, en programación una expresión
matemática siempre retorna un valor(resultado) en el cual estamos interesados.
Así, cuando ejecutamos una evaluación de una expresión, lo que obtenemos es ese
valor o resultado.
En las
expresiones matemáticas usa siempre minúsculas, ya que sin(x) no es Sin(x) o
SIN(x). Vale decir que todas las funciones de las operaciones elementales se
deben de escribir en minúsculas.
Cuando
existe un error tal como división por cero, o se evalúa una función fuera de
los limites de los valores validos, la respuesta se visualiza como NaN,
lo que significa No a Number (No un
Numero).
Tabla de operaciones
elementales (los símbolos x, y, z representan cualquier cantidad real)[3].
Operación |
Descripción |
Ejemplo |
x+y |
Suma |
3+2 |
x-y |
Resta |
2-1 |
x*y |
Multiplicación |
4*5 |
x/y |
División |
10/3 |
x*(y-z ) |
Agrupación, Toda operación encerada entre paréntesis es
realizada antes que cualquier operación externa. En una expresión matemática,
los operadores tiene una regla de prioridad o precedencia, esto significa que
hay operaciones que se realizan antes que otras. La multiplicación precede a
la suma (o resta) o sea, tiene mayor prioridad, ejemplo: ·
4*2-1=6-1=5 ·
4*(2-1)=4*(1)=4, En la primera operación se realizo primero la
multiplicación y luego la resta y en la segunda se realizo primero la resta
pues esta entre paréntesis. Es buena costumbre usar paréntesis para garantizar la
correcta evaluación de los cálculos. |
(2-1)*(3+1) |
x^y |
Potenciación y
Radicación |
(4-2)^2 8^(4-1) |
Para realizar la radicación se usa el mismo operador,
solo forma una fracción usando el índice del radical como denominador y
exponente del radicando como numerado. Luego usa la fracción como potencia
del radicando. Ejemplo se quiere encontrar , el índice del radical es 3 y el exponente del radicando
es 2, entonces la fracción es 2/3, la expresión a evaluar seria 5^(2/3) |
5^(2/3) |
|
x%y |
Resto de la división Nota que x%y
y mod(x,y) hacen la misma operación. Esta operación realiza la división x/y y su resultado es el residuo de la
división: Ejemplo: ·
5%2=1 ·
mod(12,9)=3 ·
12.3%9=3.3 Es muy util en programación para obtener la parte decimal o entera de un numero. El siguiente ejemplo extrae la parte decimal de x y=x%1 El siguiente ejemplo si la igualdad es verdadera x es
múltiplo de 3. x%3=0 Aquí, si la igualdad es cierta x es par mod(x,2)=0; Extrayendo la parte entera de x y =x-(x%1) |
3%2 mod(2.3,1) |
mod(x,y) |
||
sin(x) |
Seno de x. Las funciones trigonometricas siempre esperan el ángulo
en radianes. Si x esta en grados puedes hacer esto: sin(x*pi/180), pi es la constante p=3.1415... que esta internamente definida. |
sin(.34) |
cos(x) |
El coseno de x |
cos(.75) |
tan(x) |
Tangente de x |
tan(10) |
asin(x) |
El arcoseno de x, donde –1<=x<=1 |
asin(.1) |
acos(x) |
Arcocoseno de x, donde –1<=x<=1 |
acos(.2) |
atan(x) |
Arcotangente de x
donde –1<=x<=1 |
atan(.4) |
sinh(x) |
Seno hiperbólico de x |
sinh(x) |
cosh(x) |
El coseno hiperbólico
de x |
cosh(.75) |
tanh(x) |
Tangente hiperbólico
de x |
tanh(10) |
asinh(x) |
El arcoseno hiperbólico
de x |
asinh(.1) |
acosh(x) |
Arcocoseno hiperbólico
de x, donde |
acos(.2) |
atanh(x) |
Arcotangente hiperbólico de x donde |
atan(.4) |
ln(x) |
Logaritmo natural de x |
ln(2) |
log(x) |
Logaritmo decimal de x |
log(10) |
abs(x) |
El valor absoluto de x |
abs(-3) |
rand() |
Da como resultado un valor aleatorio ente 0 y 1 Si quieres obtener un valor aleatorio entre dos números a
y b Usa esta formula z=
a+rand()*(a-b) donde a>b,
se incluyen decimales en el intervalo. Si solo quieres enteros agrega este otro comando: z=z-z%1,
no olvides al final poner la z sola para que se visualice el
resultado. |
rand() |
angle(y,x) |
Ángulo estándar(siempre con respecto al eje x y en el intervalo -p/2>=angle(y,x) <=p/2. Nota que y es el primer argumento de la función |
angle(2,3) |
int(x) |
Retorna la parte entera de x, truncando los decimales |
int(23.5678) |
frac(x) |
Retorna la parte decimal d x |
frac(23.5678) |
ran2(a,b) |
Retorna un numero aleatorio entre a y b |
ran2(10,20) |
Tabla de constantes.
Constante |
Valor |
pi |
3.141592653589793 |
e |
2.718281828459045 |
El plano cartesiano.
Antes de
comenzar la discusión del plano, vemos algo que no tiene una clasificación
especifica por lo tanto, este es un buen lugar para incluirlo.
Al
iniciar Queen, busca por un
archivo debajo del directorio base (Queen\) llamado Queen_init.txt[4], si lo encuentra, el contenido es enviado a ejecución, así
que puedes poner cualquier clase de comando en tal archivo para que sea
ejecutado cada vez que Queen inicia.
El plano
cartesiano es el área grafica que se
muestra en la siguiente figura.
Plano Grafico:
Esta
área es donde se visualizan los diferentes objetos gráficos. Es posible
personalizarlo de muchas formas. En esta sección se mostraran los comandos
relacionados con el plano y la forma de usarlos.
Características del plano.
Antes
que nada, si vas a practicar en Queen, agrega un grafico para que el plano se
vea bonito o tengas algo que ver.
Ejecuta
el siguiente comando para agregar un grafico:
addgraph
demo x*sin(2*x)
1. Limites
y escala: El plano siempre tiene un rectángulo de
visualización delimitados por cuatro coordenadas (x1,y1)-(x2,y2), la primera coordenada establece la esquina superior
izquierda y la segunda, la esquina inferior derecha.
El
comando coor: Establece los limites de
visualización del plano, según las coordenadas de dos puntos, la primera es la
coordenada de la esquina superior izquierda de la nueva área de visualización y
la segunda en la esquina inferior derecha. Las coordenadas deben de cumplir con x1<x2 y y1>y2
El siguiente ejemplo muestra como establecer las
coordenadas (-10,10)-(10,-10):
coor -10 10 10 -10
Esto te permite escalar a voluntad cualquiera de los ejes.
Por ejemplo, el siguiente comando hace que la escala de x sea el doble de la y (esto significa que y tiene visible el doble de unidades que x,
o sea que x esta ampliado con respecto a y).
coor
-10 20 10 -20
Usando este comando puedes visualizar cualquier porción del
plano.
También puedes usar el ratón para seleccionar un recuadro y
ampliarlo.
El
comando zoom: Este comando amplia o reduce la escala del área de visualización (tanto en x como en y), por lo tanto cambia los
limites del área visualización.
Recibe como argumento el valor de la ampliación y siempre
se toma el valor absoluto. Si es mayor que 1 la escala del área de
visualización se amplia , y si es menor que 1 la escala se reduce.
Siempre se conserva como centro del plano el centro que
estaba antes de ejecutarse el comando zoom. Cuando quieras
amplia la escala y mantener siempre un punto visible en el plano, primero
centra en punto antes de ampliar la escala.
Ejemplos:
Este ejemplo amplia al doble la escala el área de
visualización
zoom
2
Este ejemplo reduce a la mitad la escala de visualización
zoom
.2
También puedes usar el Control Panel para ampliar y reducir
la escala. Consulta el Capitulo II. La interfaz de usuario.
2. Desplazamiento
y posicionamiento: El plano se puede desplazar a
voluntad, o localizar (centrar) un punto.
El
comando movex: Este comando desplaza el plano
sobre el eje x en la cantidad
de unidades del valor especificado, si el valor es positivo, el área del plano
mas a la derecha se hace visible, si es negativo, el área mas a la izquierda se hace visible.
Ejemplo:
Este comando hace visible 10 unidades mas a la derecha del
limite derecho actual.
movex
10
El
comando movey: Es el análogo del comando movex
para el eje y.
Ejemplo:
Este comando hace visible 3 unidades mas hacia abajo del
limite inferior.
movey –3
El
comando movexy: Este comando combina a movex y a movey.
Toma 2 argumentos, el primero es el desplazamiento en x y el segundo el desplazamiento en y.
Ejemplo:
Este comando desplaza 3 unidades en x y 4 en y.
a=3
b=4
movexy
a b
También puedes usar el panel de control para desplazar el
plano, consulta el capitulo II, La interfaz de usuario.
El
comando center: centra en el plano la coordenada
que se le pasa como argumento.
Si el plano esta en modo polar, las coordenadas deben también
estar en polar, es decir, los valores deben ser el ángulo (en grados) y el
radio.
Ejemplo:
El siguiente comando centra la coordenada (1.07,
0.9)
center
1.07 0.9
También puedes usar la interfaz de usuario para centrar un
punto, primero haz clic en la coordenada a centrar, y luego presiona el botón
con la C como etiqueta .
El
comando axis: Este comando controla todos las
características de los ejes y las líneas guías.
Existen varios tipos de líneas guías, las cuales se irán
explicando en el camino.
En el modo rectangular las guías son líneas horizontales y
verticales a las cuales se les rotula con
la posición en la que se grafican. En modo polar se agregan líneas
circulares y radiales, estas ultimas se rotulan con el ángulo en la posición
que se encuentran.
axis es un comando compuesto por opciones y sub opciones. Se
ira listando cada opción y a continuación el conjunto de sub opciones.
La mayoría de las características del comando axis
se pueden establecer de la interfaz de
usuario.
Opciones
de axis
Este comando es un poco complicado, por lo tanto no te
preocupes si a la primera no queda muy claro, al final de cada opción de primer
nivel se incluye un cuadro mostrando la forma como se escribe cada una de sus
características, acompañado de la explicación de su resultado.
Primero listemos
todas las opciones de primer nivel:
1.
rlabelon
2.
rlabeloff
3.
xy
4.
unit
5.
divi
6.
unitparts
7.
pol
8.
pro
Hoy , veámoslas detenidamente cada
opcion.
Las opciones rlabelon y rlabeloff hacen visibles e invisibles respectivamente
las etiquetas de números de
posición de las líneas guías, en la
parte derecha y a bajo del plano.
Ejemplo: Activa y desactiva las etiquetas de las líneas guías en la parte
derecha y abajo del plano.
axis
rlabelon
axis
rlabeloff
Opción
xy : Esta opción controla todas
características de los ejes coordenados.
Lista de sub opciones:
1. on: hace visible los ejes x y y
2. off: hace invisible los ejes x y y
3. x1:captura el valor de x1(coordenada x de la esquina superior izquierda del plano)
en una variable.
4. y1; captura el valor de y1(coordenada y de la esquina superior izquierda del plano)
en una variable.
5. x2:captura el valor de x2(coordenada x de la esquina inferior derecha del plano) en
una variable.
6. y2; captura el valor de y2(coordenada y de la esquina coordenada y de la esquina
inferior derecha del plano) en una variable.
7. color: Establece el
color de los ejes x y y.
Los siguientes son ejemplos de cada una de las sub
opciones:
COMANDO |
ACCION |
axis xy on |
Hace visible los ejes x y y |
axis xy off |
Hace invisible los ejes x y y |
axis xy x1
myvarx1 |
myvarx1 contiene el valor de x1 |
axis xy y1 myvary1 |
myvary1 contiene el valor de y1 |
axis xy x2 myvarx2 |
myvarx2 contiene el valor de x2 |
axis xy y2 myvar |
myvary2 contiene el valor de y2 |
axis xy color red |
Cambia el color de los ejes x y y a rojo |
Opción
unit : Esta opción controla todas
características de las líneas guías de unidad, estas líneas solamente pueden
posicionarse a intervalos de unidades enteras, a excepción de las líneas
angulares en polar.
Las líneas guías de unidad son horizontales, verticales,
angulares y radiales, estas ultimas solo se grafican cuando el plano esta en
modo polar, Se ven como un conjunto de círculos concéntricos en el origen. Se
les rotula con la posición donde se encuentra.
Las características que se les pueden establecer a las
líneas guías son las siguientes:
-
Cada cuantas unidades se van a
graficar
-
El color
-
Si son visibles o no.
Las líneas guías de unidad tanto en rectangular como en
polar siempre usan el mismo color.
-
Lista de sub opciones:
8. x: controla las características de las líneas guías
horizontales, y usa otro sub conjunto de opciones, la forma de ejecutar el
comando axis con la opción x
es: axis unit x on. A
continuación se listan las sub opciones de x.
2. on: hace visible las líneas guías verticales
3. off
: hace invisible las líneas guías
verticales.
4. Color: Establece el
color de las líneas guías verticales.
5. Si se escribe una opción que no es ninguna de las
anteriores, entonces es evaluada como una expresión numérica entera para
establecer el intervalo en que las líneas guías verticales van a aparecer. Las
líneas guías de unidad en polar usan el mismo valor que estas líneas guías, por
lo tanto si se cambia el intervalo de esta líneas guías también se cambia el
intervalo de las líneas guías de unidad en polar.
Los siguientes son ejemplos de cada una de las sub opciones
de la opción unit:
COMANDO |
ACCIÓN |
axis unit x on |
Hace visible las líneas guías
verticales (por defecto se encuentran visibles de color verde). |
axis unit x off |
Hace invisible las líneas guías
verticales |
axis unit y on |
Hace visible las líneas guías
horizontales (por defecto se encuentran visibles de color verde). |
axis unit y off |
Hace invisible las líneas guías
horizontales |
axis unit color red |
Establece el color rojo a las
líneas guías de unidad (el mismo color para todas las líneas guías de unidad) |
axis unit x 2 |
Hace que las líneas guías
verticales aparezcan cada 2 unidades |
axis unit y 3 |
Hace que las líneas guías
horizontales aparezcan cada 3
unidades |
9. y: Es el análogo a x, solo que se aplica a las líneas guías horizontales. El
cuadro anterior muestra como utilizar esta opción.
La
opción pol: Esta opción controla las
características de las líneas guías en modo polar, sus sub opciones son:
6. unit: controla las líneas guías de unidad en polar, estas son
círculos concéntricos que se posicionan a cierto intervalo entre ellos, pero
solo en unidades enteras. La opción unit tiene también el siguiente sub conjunto de opciones:
a.
on: hace visibles
las líneas guías de unidad en polar.
b.
off: hace
invisible las líneas guías de unidad en polar
c.
Si en el lugar de una de las opciones anteriores digitas una
expresión, este valor esto tomado como en intervalo al cual se graficara cada
línea guía. Las líneas guías de unidad en polar usan el mismo valor que las
líneas guías de unidad verticales (x).Por lo tanto este comando cambia también el intervalo de las líneas
guías horizontales.
7. divi
: Controla las líneas guías de división
en polar y son análogas a las líneas guías de división en rectangular, la
diferencia es que estas ultimas son círculos concéntrico. Las siguientes son el
conjuntos de opciones para divi:
a.
on: hace visibles
las líneas guías de división en polar.
b.
off: hace
invisible las líneas guías de división en polar
c.
Si en el lugar de una de las
opciones anteriores digitas una expresión, este valor es tomado como el numero
de líneas de división que se graficaran, recuerda que no importa la escala en
la que se encuentre el plano, siempre se graficaran el numero de líneas guías
que especifiques. Las líneas guía de división en polar usan el mismo valor para
graficarse que las líneas guías de división en rectangular. Así que si se
cambia el valor para unas, se cambia también para las otras.
8. angle: Controla las
características de las líneas guías angulares, estas se grafican para orientar
a cerca del posicionamiento del ángulo cuando el plano esta en modo polar, y se
pueden establecer en radianes[5]
o en grados. Esta opción tiene las siguientes sub opciones:
a.
on: hace visibles
las líneas guías de ángulo.
b.
off: hace
invisible las líneas guías de ángulo.
c.
deg: Hace que las
etiquetas de la medida angular se muestre en grado.
d.
rad: Hace que las
medidas angulares se muestren en grado.
e.
ldis: Controla la distancia que se presentan las etiquetas de medida de las
líneas guías de ángulo. Se le proporciona un valor, este es la distancia radial
de las etiquetas desde el centro. Esta opción es muy útil cuando se hacen
análisis muy lejos del centro y una escala ampliada.
f.
Si en el lugar de una de las
opciones anteriores digitas una expresión, este valor esto tomado como el
intervalos (entero) en grados al cual se graficaran las líneas guía de ángulo. Este intervalo siempre debe de
ponerse en grados sin importar si las etiquetas de medida angular estén en
radianes.
Los siguientes son ejemplos de cada una de las sub opciones
de la opción pol, esto comandos solo tienen efecto si el plano esta en modo
polar:
COMANDO |
ACCIÓN |
axis pol unit on |
Hace visible las líneas guías de
unidad polares (por defecto se
encuentran visibles de color verde). |
axis pol unit
off |
Hace invisible líneas guías de
unidad polares |
axis pol unit 2 |
Establece que las líneas guías de
unidad polares se graficaran cada 2
unidades |
axis pol divi
off |
Hace que las líneas guías de
división polares sean invisibles (círculos concéntricos) |
axis pol divi on |
Hace que las líneas guías de
división polares sean visibles |
axis pol divi 3 |
Hace que se muestren 3 líneas
guías de división radiales en el plano. |
axis pol angle off |
Hace que las líneas guías de
ángulo sean invisibles |
axis pol angle on |
Hace que las líneas guías de
ángulo sean visibles |
axis pol angle deg |
Hace que la medida angular en las
líneas guías de ángulo se muestren en grados |
axis pol angle rad |
Hace que la medida angular en las
líneas guías de ángulo se muestren en radianes (fracciones múltiplos de p) |
axis pol angle
ldis 2 |
Pone las etiquetas de medición a
una distancia radial de 2 desde el centro |
axis pol angle 5 |
Pone las líneas guías de ángulo
cada 5 grados. Esta medida siempre es en grados sin importar si las etiquetas
de medición se muestran en radianes. |
Opción
divi : Esta opción controlas las líneas
guías de división, son diferentes de las líneas guías de unidad, ya que se
grafican en posiciones decimales. Otro aspecto importante de estas líneas es
que se les especifica cuantas líneas deben de graficarse en el área grafica,
sin importar la escala ni los limites del área de visualización. Estas líneas
guías, como las de unidad, pueden ser visibles en modo polar o rectangular; y
son de tres tipos: horizontales, verticales y radiales.
Las líneas guías de división tanto en rectangular como en
polar siempre usan el mismo color.
La siguiente figura es el plano con todas las líneas guías
activadas excepto las líneas de división de unidad en partes).
Los siguientes son ejemplos de cada una de las sub opciones
de la opción unitparts:
COMANDO |
ACCIÓN |
axis unitparts
on |
Hace visible las líneas guías de
división en partes de la unidad. |
axis unitparts off |
Hace invisible estas mismas
líneas guías. |
|
Si no se especifica ninguna de
las opciones anteriores, el parámetro se toma como una expresión numéricas
que establece las partes se va a dividir la unidad para pintar las líneas
guías. |
Un buen ejercicio para que entiendas bien como funcionan
las líneas guías, actívalas todas, y luego amplia y reduce la escala usando el panel de control, también
desplaza el plano de un lugar a otro.
Los siguientes son ejemplos de cada una de las sub opciones
de la opción divi:
COMANDO |
ACCIÓN |
axis divi x on |
Hace visible las líneas guías de
división verticales (por defecto se encuentran visibles de color azul). |
axis divi x off |
Hace invisible las líneas guías
de división verticales |
axis divi y on |
Hace visible las líneas guías de
división horizontales (por defecto se encuentran visibles de color verde). |
axis divi y
off |
Hace invisible las líneas guías
horizontales |
axis divi color red |
Establece el color rojo a las
líneas guías de división (el mismo
color para todas las líneas guías de división) |
axis divi x 2 |
Hace que hayan 2 las líneas guías
de división verticales graficadas en el plano. La primera línea guía se grafica
justo en el limite izquierdo del área grafica, así que es posible que no la
veas a la primera. |
axis divi y
3 |
Hace que hayan 3 las líneas guías
de división horizontales. |
3. Comandos
Misceláneos: Hay otros comandos que te ayudan a
personalizar el plano con características mas refinadas:
Comando
reset: Este comando restablece los
valores por defecto del plano.
Ejemplo:
reset
También puede usar el Control Panel.
Comando
fkey: Este comando asigna comandos a una
tecla de función. Esta teclas se encuentran ubicadas en la parte superior de la
interfaz. En la interfaz PDA son 3 y en la de PC son 12, para las de
PC puedes usar las tecleas de función
normales del teclado para ejecutar la acción asociada a cada tecla (botón) de
función.
Lo que en realidad hace este comando, es asignar bloques de
comandos con nombre, entonces los bloques se pueden ejecutar usando su nombre
como referencia. Así que; cuando una tecla (botón) de función es activado
(haciendo clic o presionando la tecla de función respectiva) Queen llama la ejecución de un bloque con el nombre de la tecla
de función (f1,f2,f3,etc), si no se encuentra definido hay un error.
Por tanto para logra la asociación de un bloque de comandos
a un tecla de función, el nombre de bloque debe ser el mimos que el del botón
(f1,f2, f3, etc.) Así cuando el botón de función llama al bloque con su
respectivo nombre pueda encontrarlo.
Entonces; puedes definir cualquier cantidad de bloque de
comando usando cualquier nombre, pero la Queen solo define botones para 3 bloques en la interfaz PDA y
para 12 bloques y en la interfaz de PC.
Los bloques que se definan y que no tengan una asignación
de botón en la interfaz, solo se podrán ejecutar a usando el comando fkey
exec.
El comando fkey cuenta con un conjunto de
opciones para administrar las teclas de función. El siguiente listado las
presenta:
1.
set: Asigna un
comando (una línea) a un bloque de
comandos, sobre escribe la asignación
previa.
2.
add: Agrega un
comando(una línea) a un bloque, se
conserva la asignación previa, agregando al final de la lista el nuevo comando.
3.
delete: Elimina de la memoria un bloque.
4.
get (show):
Presenta en el área de salida un bloque de comandos. También se puede usar la
palabra show.
5. exec: ejecuta un bloque de comandos.
Por defecto, las teclas de función no se encuentran
definidas, así que para ponerlas a trabajar, se les debe de asignar los
comandos que se ejecutaran cuando la tecla sea activada.
Ejemplo usando la opción set:
fkey set f1 zoom 1.1
Ejemplo usando la opción add:
fkey add f1
strln Esta es el Nuevo comando de f1
Ejemplo usando la opción get:
fkey get f1
Se muestra en el área de salida lo
siguiente:
key:f1->{
zoom 1.1
strln Esta es el Nuevo comando de f1
}
Ejemplo usando la opción exec:
fkey exec f1
Ejemplo usando la opción delete:
fkey delete
f1
f1 ya no esta mas definida.
Comando
trace: Habilita o deshabilita el
seguimiento de las coordenadas del cursor del ratón cuando se desplaza sobre el
plano. Las coordenadas son mostradas en la barra de estado. Si el plano esta en
el modo polar las coordenadas se muestran también en polar (ángulo, radio),
donde el ángulo esta en grados.
Ejemplos:
El siguiente comando
habilita o activa el seguimiento del cursor del ratón:
trace
on
El siguiente comando desactiva el seguimiento del ratón.
trace
off
Ten presente que si esta opción esta activada, los mensajes
que se muestran en la barra de estado cuando se ejecutan otros comandos, se sobrescriben
por las coordenadas del ratón.
Puedes usar también el panel Setting Flags on-off de la interfaz de usuario. La
Opción es Trace able.
Esta característica no funciona con las PDA ya que no
tienen cursor del ratón.
Comando
mode: Este comando permuta el plano
entre modo polar y modo rectangular:
Ejemplo:
El siguiente comando establece el plano al modo
rectangular.
mode
rec
El siguiente comando establece el plano al modo polar.
mode
pol
También puede usar el Control Panel, el botón smode
Comando
color: Establece el color del fondo del
plano, Consulta el Apéndice “A” -El color, para información a cerca del color.
Ejemplo:
El siguiente comando establece el fondo del plano color
blanco
color white
Comando
deci: Este comando establece la cantidad
de decimales que se desean el la visualización de los resultados, Queen
internamente utiliza siempre toda la precisión para realizar los cálculos, este
comando solo afecta la visualización, redondeando el ultimo decimal.
El Argumento que recibe es el numero de decimales que se
desean presentar.
Todos las presentaciones de números están afectadas por
este valor.
El numero de decimales por defecto es 2 y es el menor valor
que se puede establecer es 0; el valor máximo es 16, si se intenta establecer
un valor mayor que 16 se estable 16 y si es menor que 0, no se realiza ningún
redondeo y todos los resultados son presentados con todos los decimales de
preescisión (16) .
Siempre se toma el valor absoluto del argumento.
Ejemplo:
El siguiente comando establece a cuatro el numero de
decimales en las presentaciones de números.
deci
4
Comando
photo: Este comando captura una imagen
del plano, la cual ya no cambiar mas, después de ejecutarse se presenta una
ventana conteniendo la imagen, también puedes imprimir el grafico desde la
venta.
Ejemplos:
El siguiente comando presenta una imagen del plano en una
ventana, y el titulo de la ventana es Queen Magic 1.0
photo
Este otro comando pone un titulo a la venta, Cuando se imprime
el grafico desde esta ventana, el titulo también se imprime.
photo
Mi nuevo Grafico
Puedes tener las
ventanas que quieras con diferente imagen del plano.
Comando
step: Antes de explicar este comando,
es necesario tener conocimiento del como se grafican los gráficos rectangulares.
Un grafico rectangular es graficado en el plano por
intervalos, el proceso es el siguiente:
El área de visualización del plano esta determinada las
coordenadas de la esquina superior izquierda (x1,y1) y las coordenadas de la esquina inferior derecha (x2,y2). Así el intervalo de graficación del eje x es x2-x1, luego, para determinar el intervalo de evaluación se usa la formula interval=(x2-x1)/step, donde step es el valor que este comando
establece. Entonces la primera evaluación de y=f(x) se hace en x1+
interval*0, la segunda en x1+
interval*1, la tercera en x1+
interval*2 , y la enésima evaluación se hace en
interval*n,
hasta alcanzar a x2.
El valor que este comando establece es critico para
determinar la preescisión de las operaciones que in grafico realiza. Para mas
información consulta el Objeto Graphic.
El valor mínimo que se puede establecer del step es 50 y no hay máximo, pero entre mayor es este valor, el
proceso de calculo tarda mas tiempo en ejecutarse pero la precisión mejora.
Cuando menor es el valor del step, la apariencia del grafico es mas cuadra, ya que un
grafico es trazado por líneas que van desde un punto a otro y separados en x por el valor interval=(x2-x1)/step.
El valor por defecto de step es 100.
Ejemplo:
El siguiente comando estable el valor de step a 50.
step
50
Comando
getstep: Recupera el valor del step. Si se desea guardar el valor el valor de step en una variable, pon la variable seguido del comando.
Si no usas la variable, el valor de step
se visualiza en la barra de estado.
Ejemplo:
El siguiente comando presenta el valor del step en la barra de estado.
getstep
El siguiente comando almacena el valor del step en la variable value. Luego presenta en la barra de estado el valor de la
variable.
getstep
value
value
Comando
delta: Recupera el valor del
intervalo interval=(x2-x1)/step.. Si se desea guardar el valor el valor de interval en una variable, pon la variable seguido del comando.
Si no usas la variable, el valor de interval se visualiza en la barra de estado.
Ejemplo:
El siguiente comando presenta el valor del interval en la barra de estado.
delta
El siguiente comando almacena el valor del interval en la variable value. Luego presenta en la barra de estado el valor de la
variable.
delta value
value
Comando
point: Este comando habilita el
posicionamiento o dibujado de puntos en el plano, también puedes establecerles el color. Los puntos se ubican
simplemente haciendo clic en las coordenadas deseadas(si el posicionamiento de
puntos esta activado). Cuando se dibuja un punto muestra sus coordenadas, las
cuales cambian automáticamente cuando el plano cambia de modo entre polar y
rectangular.
Si estas interesado en obtener un conjunto de punto
seleccionándolos de plano, este comando te permite imprimir en el área de
salida, el punto donde haces clic; habilitando la opción cpon que significa collection point on, y se desactiva con cpoff que significa collection point off. Mas adelante se muestra como activar y desactivar este
característica.
Cada punto dibujado con el ratón en el plano presenta sus
coordenadas. El tipo de coordenadas (rectangular y polar) depende del modo en
que se encuentra el plano. Cuando el plano esta en polar, puedes escoger entre
coordenadas en radianes o grados. Para mas información consulta el comando axis
o
la interfaz de usuario. Esta opción se encuentra en el panel Configuring Values, usando la opción Change Angles(Deg|Rad).
Puedes activar y desactivar el dibujado de puntos desde la
interfaz de usuario, usando la opción Point
able en el panel Setting
flags on-off.
También puedes cambiar el color de los puntos en con la
interfaz de usuario usando en el panel Setting Colors la opción Points.
También puedes borrar los puntos dibujados con una opción
de este comando, como se muestra en uno de los siguientes ejemplos.
Este comando maneja el concepto de capas de puntos. Una
capa de puntos es un conjunto de puntos que se encuentran actualmente en el
plano, y que son almacenados en disco para su futura presentación.
Una vez en disco, puedes cargar el numero de capas que
desees, con la conveniencia de que cada capa se encuentra aislada de la otra;
siendo posible ocultarlas, descargarlas, mostrarlas por separado. Puedes combinar varias capas en una sola,
haciéndolas que se muestran en el plano las seleccionadas. Luego crear una nueva capa con los punto que están
siendo mostrado. Los puntos guardados en capas (archivos) conservan su color y
tipo.
Al final de esta sección se dedica un apartado para el
conceptos de capas.
Opción off y
on: Activan y
desactivan el dibujado de puntos usando el ratón.
Ejemplo:
El siguiente comando habilita o activa el posicionamiento
de puntos.
point
on
Dibuja algunos puntos sobre el plano.
El siguiente comando desactiva el posicionamiento de
puntos.
point
off
Opción psize: Establece
el tamaño de punto que se pone con el ratón.
Se toma el valor absoluto y entero del valor especificado. Este siempre esta
dado en unidades de pixeles. No hay un limite en el tamaño, los puntos
conservan su tamaño luego de establecido.
Si el typo de punto es dot (véase la opción type), el mínimo valor posible para el
tamaño es 4, incluso se actualiza automáticamente si es menor.
Ejemplo: estableciendo el tamaño a 10.
point
psize 10
Opción type: Establece
el tipo de punto que se pone con el ratón.
Las opciones son
·
dot que solo muestra el punto y
·
coor que muestra el punto y las coordenadas.
Cuando el tipo de punto es dot, el tamaño del punto mínimo es 4, si cuando se establece el tipo de punto a dot el tamaño
del punto es menor que 4, se restablece automáticamente a 4.
Si el tamaño del punto es 0 y el
tipo de punto es coor, solo se muestran las coordenadas
del punto.
Los puntos conservan su tipo luego de establecido.
El siguiente comando cambia el tipo de punto a dot
que solo muestra el punto en el lugar
donde se hace clic.
point
type dot
Opción color: Establece
el color por defecto con el cual se dibujaran los nuevos punto.
El siguiente comando cambia el color de los puntos que se
pondrán de aquí en adelante.
point
color red
Para mas información sobre el color, consulta el comando gcolor
Opción cls: Borra puntos
que se encuentran en el plano.
Existen 3 clase de puntos.
·
Los que
presentan coordenadas y su punto de localización, estos son los que se dibujan
con el ratón. Estos se simbolizan con el carácter arroba (@)
·
Los que
solo tienen un pequeño punto de localización, stor se dibujan con alguno de los
comandos point str, o strpoint ,
pasándoles solo las coordenadas del punto. Se simbolizan con el carácter de
numero (#), y
·
Los de
etiqueta, solo presenta una etiqueta o cadena de caracteres en las coordenadas
del punto. Estos se simbolizan con el carácter de peso ($).
La opción cls toma un indicador para saber que clase de punto deseas borrar, el cual
es uno de los símbolos de cada clase de punto descrito aquí arriba. El carácter
asterisco (*) es usado para borrar todos los tipos de unas sola vez.
Ejemplo: El siguiente bloque usa la opción con cada uno de
los indicadores.
point
cls #
point cls @
point cls $
point cls *
Opción cpon y cpoff:
cpon hace que Queen presenta en el área de salida, las
coordenadas del punto en el plano donde se hace un clic.
cpoff
desactiva esta característica.
El siguiente comando hace que el punto donde haces clic se
imprima en el área de salida .
point
cpon
La característica anterior se desactiva con el siguiente comando.
point
cpoff
Comando
draw: Con este comando puedes activar y
desactivar la opción de dibujo.
Para dibujar cando esta opción esta activada, posiciona el
cursor del ratón en las coordenadas en el lugar de inicio del dibujo, luego presiona
el botón izquierdo o derecho, arrastra el cursor del ratón manteniendo
presionado el botón, para dejar de dibujar suelta el botón presionado.
Hay dos formas para la presentación del dibujo; una es
instantánea (el dibujo aparece según se va arrastrando el cursor del ratón) y
retardada (el dibujo aparece cuando se ha soltado el cursor del ratón). Esto es
debido a que las PAD’s son mas lentas que las PC’s y el dibujado conlleva mucho
proceso.
La opción por defecto del dibujo es retardada.
Otra opción del dibujo es el color.
Cuando esta activado la opción de dibujo, no puedes
utilizar la opción de ampliación del plano seleccionando un recuadro con el
ratón.
Y también puedes establecer la opción de grosor de línea wide.
Sus
valores validos van de 1 a 8.
Existe un concepto de capas relacionado con este comando de
dibujo. Los dibujos que se muestran en el plano, pueden ser almacenados en
disco[6],
cada archivo de dibujo forma entonces una capa que puede ser cargada y mostrada
al mismo tiempo con otras, obteniendo total independencia entre ellas. Es
posible ocultar, mostrar, descargar y hasta combinar diferentes capas. Los
dibujos almacenados en capas (archivos) conservan su color y ancho de línea.
El final de esta sección se dedica un apartado especial para
el concepto de dibujo.
Ejemplo:
El siguiente comando activa la opción de dibujo.
draw
on
El siguiente comando cambia el color del dibujo desde la
siguiente operación de dibujo.
draw
color blue
El siguiente comando activa el modo de dibujo a instantáneo
draw instant on
El siguiente comando cambia el ancho de línea de dibujo a 4
draw wide 4
Dibujos indexados:
El comando draw también puede reconocer la secuencia de cada dibujo[7]
que realizas con el ratón, siempre hay una secuencia desde el primero en
crearse (con índice 1) hasta el ultimo. Si alguno es eliminado, la secuencia
renumera.
La siguiente opción maneja la secuencia de dibujo.
Comando
delete: Esta opción permite borra un
dibujo especifico o borra el ultimo en la secuencia. Si el índice de dibujo no
existe, este comando no reporta error.
La opción delete recibe como parámetro el índice del dibujo, si no se le especifica borra el ultimo dibujo
de la secuencia.
Ejemplo: Este ejemplo asume que hay por lo menos 5 dibujos
en el plano.
draw delete 5
draw delete 1
draw delete 1
draw detete
draw delete
Comando change: Este solo tiene efecto cuando Queen se ejecuta en la interfaz
PDA(Para mas información ver El Capitulo I: “La interfaz
de usuario”). Su función es cambiar el área
mostrada por Queen presente. En el
modo PDA, el área de gráficos, el área de salida y el área de comandos se
sobreponen, solo puede ser visible una a la vez.
Este comando no tiene ningún efecto cuando Queen
se ejecuta con la interfaz de PC.
Ejemplo:
El siguiente comando hace visible el área grafica.
change plane
El siguiente comando hace visible el área de salida.
change out
El siguiente comando hace visible el área de comandos
change cmd
Comando
clsplane: Borra cualquier grafico que se
encuentre en el plano, el efecto real que tiene este comando es la eliminación
de memoria de todos los objetos gráficos, estén visibles o no.
Ejemplo:
El siguiente borra todos los objetos gráficos del plano.
clsplane
Capas de Puntos y Capas de Dibujo
Ya se dijo algo de esto
anteriormente, aquí entramos en detalles y comandos para hacerlo funcionar.
Primero que nada: existen capas
tanto para los dibujos como para los puntos.
Las capas de dibujo se manejan con
el comando draw y las capas de punto se maneja con
el comando point.
Para detalles mas refinados sobre
cada comando véase el Manual de
Referencia de comandos.
Un punto puede ser uno de los 4
tipos siguientes:
1-
coor: Son los puntos que muestran las
coordenadas y un pequeño punto en el lugar exacto de localización. Son creados
cuando se usa el ratón para dibujar puntos en el plano, y con el comando point coor
2-
str: Son los puntos que solo muestran
una cadena de texto en las coordenadas dadas. Los comandos strpoint y point str, se usan para crear estas clases
de punto.
3-
dot: Son los puntos que solo presentan
un punto en la localización de sus coordenadas. Se crean usando el comando strpoint, o el comando point
dot.
4-
sdot: Son los puntos que presentan un
punto de localización y una cadena de texto. Son creados usando el comando strpoint y point sdot.
Ejemplo de puntos tipo coor:
point coor 3 3
... Así, solo ubica un punto en la coordenada.
Si pones mas argumentos son ignorados.
Ejemplo de puntos tipo str:
point str -3
–3 Este es un punto str
strpoint –3 –3 Este es otro punto str
Ejemplo de puntos tipo dot:
point dot -1 4
Ejemplo de puntos tipo sdot:
point sdot -4 -4
Este es un punto sdot
Estos tres tipos de punto pueden
ser almacenados en una capa.
Características de los puntos.
Un punto tiene algunas
características asignadas, y son las que se muestran:
·
Las
coordenadas (x,y) de localización del punto.
·
El color
·
El tipo
Y cuando es del tipo que contiene
etiquetas se le agregan:
·
La
etiqueta
·
El tipo de
letra
·
El tamaño
del texto
·
Y el
estilo del texto
Estableciendo las propiedades del texto:
Al establecer estas propiedades, se
mantienen con los valores dados, entonces cuando un nuevo punto es creado,
tomas las propiedades establecidas y las guarda. De esta manera un punto
conserva sus propiedades y son aplicadas siempre que se muestra. Cualquier
cambio posterior de los valores de texto no afectan a los punto ya creados.
Para manejar las características
del texto existen 3 opciones del comando point, las
cuales son :
·
fsize:
para establecer el tamaño del texto
·
style: para establecer el estilo del
texto
·
font:
para establecer el tipo de letra.
Los siguientes son ejemplos del
establecimiento de los valores de texto.
Este ejemplo establece el tamaño del texto a 20,
point fsize 20
Los estilos del texto y sus
etiquetas que se usan en los comando son:
BOLD = b
ITALIC = i
PLAIN = p
ITALIC puede combinarse con BOLD y PLAIN
El siguiente ejemplo establece el
estilo a BOLD
point style b
El siguiente ejemplo establece el
estilo a ITALIC y BOLD
point style bi
Para establecer el tipo de letra
puedes usar cualquiera de las siguientes formas:
Poniendo el nombre de la fuente
(tipo de letra) seguido del la opción font.
point font Time New Roman
Usando la sustitución de un string.
gfont letra
point font ‘letra’
El comando gfont muestra una ventana donde puedes escoger el tipo de letra a
usar. El que selecciones es almacenado en la variable letra.
Creando una Capa de puntos.
Cuando los punto son almacenados en
archivos, se llevan consigo las propiedades establecidas que mantienen. Y
cuando son recuperados se recuperan.
Los archivos que contienen las
capas de puntos son almacenados por defecto en el directorio points/ y tienen una extensión .pnt que
siempre se le agrega al escribir y al leer el archivo.
Este directorio puede ser cambiado.
Luego de tener visibles en el plano
el conjunto de puntos de interés, para almacenarlos en una capa usa el siguiente comando.
Este ejemplo escribe la capa actual
de punto en el archivo capa1.pnt en el directorio por defecto.
point wirte capa1
Hoy, puedes
borrar los puntos del plano y crear otra
capa diferente con otro nombre. No use el mismo porque se sobrescribirá).
Crea esta otra capa con puntos
diferentes para que puedas practicar.
point wirte
capa2
Si en lugar del
nombre del archivo le poner un signo de interrogación de cierre (?), se presenta
un diálogo para que selecciones un archivo que seta sobrescrito con los puntos.
No uses otra extensión, pues solo vas a poder cargarlo desde el archivo de
dialogo.
Una vez con las
capas almacenadas, borremos todos los puntos, y carguemos la primera.
Este ejemplo
carga las capas del directorio por defecto.
point read capa1
point read capa2
La opción read del comando point también te permite seleccionar el
archivo de donde vas a cargar la capa.
Nombre de las capas:
El nombre de la capa
es el medio por el cual puede controlar cada una de las capas por separado.
Cuando cargas una
capa, sin usar el dialogo archivo, proporcionas el nombre del archivo, entonces
este mismo se usa como nombre de la capa.
Cuando usas el
dialogo archivo para cargar una capa, opcionalmente puedes colocar depuse del
signo de interrogación, el nombre que vas a usar para referirte a esa capa, si
no lo incluyes, no podrás acceder esa
capa, perdiendo el control sobre ella.
No se pueden
cargar capas con el mismo nombre.
Ocultando y mostrando capas
La forma de
utilizar este concepto de capas tiene muchas aplicaciones. Supongamos que en el plano se esta presentando un mapa que
tiene muchos punto señalados como coordenadas de ciertos eventos clasificados. Cada
clase forma una capa; y podrías tener una clasificación bien detallada por fechas, tipos, incluso combinaciones de estas y hacerlas
visibles de tal forma que unas se aíslen de otras y al mismo tiempo se
combinen.
Para ocultar una
capa usa el comando:
point hide capa1
Cuando el comando
clsplane o el botón cls del panel
de control es utilizado, las capas en
memoria son escondidas y los puntos que no forman parte de una capa son
eliminado.
Para mostrar una capa usa el comando:
point show capa1
Hoy intentemos
formar una capa que combine capa1 y capa2 en capa3.
point show capa1
point show capa2
point write capa3
Puedes listar el
conjunto de capas en memoria usando el comando:
point list
Para descargar
una o mas capas de la memoria, usa la opción clean seguida
de los nombre de las capas. Para eliminarlas todas de una sola vez usa un
asterisco (*) como nombre.
Este comando
elimina todas las capas de punto.
point clean *
Y para terminar, el
directorio por defecto donde se almacenan las capas de puntos puede cambiarse.
Debes de dar rutas absolutas para evitar que tus archivos se te extravíen o no
se encuentren a la hora de leer y escribir capas.
Ejemplo: el
directorio nuevo es donde se leerán y se almacenaran las nuevas capas
point path /nuevo
Si no le
especificas el directorio, la opción path, muestra el directorio actual en la barra de
estado.
Ejemplo:
point path
Si por algún
motivo quieres retomar el directorio de capas origina, usa como nombre de
directorio un asterisco (*)
point path *
Todos estos
comando son iguales a los comandos de manejo de capas de dibujo. Las
diferencias son las siguientes:
1-
En lugar
de la palabra point va la palabra draw.
2-
La
extensión de los archivos de dibujo son .drw
3-
Y el
directorio por defecto de las capas de dibujo es draws/.
4-
Los
dibujos no usan ninguna de las características de texto.
Formato de los archivos de capas de puntos:
Queen almacena los puntos en archivos con extensión .pnt, aun que la extensión no es importante, el formato es fundamental para
que Queen pueda reconocer los elementos que componen el punto.
Conociendo el
formato, es posible escribir manualmente archivos de puntos y posteriormente
cargarlos como cualquier otra capa.
Todo archivo de
capa es un archivo de texto, donde la información de cada punto utiliza una
línea del archivo, es posible poner comentarios en el archivo utilizando al
inicio de la línea los caracteres de comentario // o rem, este ultimo debe de ser seguido por un espacio. Un comentario se puede
intercalar entre las líneas que contienen información de puntos.
Una línea de
punto contiene
1.
La
coordenada x
2.
La
coordenada y
3.
El tamaño
del punto en píxeles, mayor o igual a 5.
4.
El color
en cualquier formato
5.
El tipo de
punto en formato numérico, las correspondencias son:
·
1=coor
·
2=str
·
3=sdot
·
4=dot
6.
Nombre de
la fuente (Tipo de letra): Puedes consultar los tipos de fuentes con las que
cuenta tu sistema usando el comando gfont sin parámetros. Este comando presenta
una lista de Fuentes en el área de salidas como la que se muestra a
continuación.
===| Available Fonts |===
Dialog
SansSerif
Serif
Monospaced
Helvetica
TimesRoman
Courier
DialogInput
ZapfDingbats
7.
El estilo
de la fuente en formato numérico, las correspondencias son:
·
PLAIN=0
·
BOLD=1
·
PLAIN+ITALIC=2
·
BOLD+ITALIC=3
8.
Tamaño de
la fuente (desde 6 en adelante)
9.
La cadena
de texto, solo es usada para los tipos sdot(3) y str(2), se puede omitir en los otros tipos.
El siguiente
archivo es un ejemplo:
//======================================================
// Este archivo es una muestra de como hacer archivos
de puntos y
// etiquetas
// formato de los puntos:
//
x|y|tamañoPunto|color|tipoPunto|font|estiloFont|tamañoFont|Label
// el tipo de punto es como sigue:
// 1=coor
// 2=str
// 3=sdot
// 4=dot
//======================================================
1.5|1.5|5|red|3|SansSerif|1|12|Este es un ejemplo
2|2|5|200 150 70|3|SansSerif|1|15|Mi etiqueta
//======================================================
// se puede mesclar comentarios en medio de las lineas
//=======================================================
4|4|5|green|1|SansSerif|1|15
[1] JEP (Java Expression Parser) es un conjunto de clases escritas para evaluar expresiones matemáticas, JEP fue desarrollado por Nathan Funk para uso gratuito.
[2] CTR+ENTER significa que mientras mantienes presionada la tecla Control debes de pulsar la tecla ENTER. Pulsar significa presionar y soltar inmediatamente.
[3] Nota: Todas las funciones en el JEP deben de ser escritas en minúsculas.
[4] Los Sistemas Linux y Unix diferencian las letras minúsculas de las mayúsculas.
[5] Los ángulos en radianes se muestran como fracciones factores de p
[6] El almacenamiento en disco solo es posible si Queen se ejecuta como aplicación y no como applet.
[7] Se reconoce como un dibujo la curva realizada desde que se presiona el botón del ratón hasta que se suelta sin importar su longitud.