Relojes Anal´ogicos ogicos Javier Javier Serrano Primavera Primavera 2011
1.
Intr Introdu oducc cci´ i´ on on
Presentamos un conjunto de comandos cuyo cometido es el de dibujar un reloj con una hora dada. El reloj puede contener o no los n´umeros y puede elegirse entre mostrar la aguja horaria, el minutero, el segundero o bien cualquier combinaci´ on on de ellas. Tambi´ en en puede elegirse el color en el que se imprimir´a el reloj. Para usar estos comandos se requiere la presencia de los los paquetes fp (paquete para hacer c´alculos) alculos) y pstricks-add (para (para los dibujo dibujos), s), adem´ adem´ as a s del c´odigo odigo correspondiente a los comandos, que aparece en la Secci´on on Implementaci´on. on. Los comandos dibujan dos tipos de relojes que es conveniente distinguir: Reloj continuo: corresponde a los relojes reales, en los que cada aguja arrastra a la siguiente. Cuando avanza, por ejemplo, el segundero, el mi-
nutero avanza tambi´en en la parte correspondi corres pondiente ente a ese tiempo. tiemp o. Tambi´en en el segundero arrastra a la aguja horaria hora ria y, finalmente, ´esta es arrastrada por el minutero. Al dibujar este tipo de reloj se observar´a, a, por ejemplo, que a las 6:30 la aguja horaria y el minutero minutero no coinciden coinciden una sobre otra debido, precisamente, a este arrastre. nalar´ nalar´a el valor introducido sin tener en Reloj discreto: discreto: cada aguja se˜ cuenta los arrastres. As´ As´ı, si se introduce la hora 6:30, la aguja horaria y el minutero coincidir´an an una sobre la otra exactamente.
Relo j continuo
2. 2.1. 2.1.
Relo j discreto
Dibujo ujo d de e un un re reloj Radi Radio o del del rel reloj oj
Lo primero es escribir el radio que tendr´a el reloj, es decir, el radio de la circunferencia que contendr´a al reloj. Para ello se usa:
1
Manual de Relo jes
Javier Serrano
\RadioReloj=long
donde long es el valor del radio, que debe ir seguido de una unidad de longitud. Por defecto es 6 cm. Hay que tener en cuenta que el grosor y la longitud de todas to das las l´ıneas ıneas (y el tama˜ no no de los n´ umeros si se usan) se escalan seg´un umeros un sea este valor.
2.2. 2.2.
Dibu Dibujo jo de de la la car carca casa sa
La carcasa comprende la circunferencia exterior del reloj, la rayitas que marcan los minutos y las horas y, si es el caso, los n´umeros. umeros. Para dibujarla se usa el comando \carcasa[numeros]
donde numeros es un argumento optativo que indica si se desean o no n´umeros umeros en nuestro reloj. Si numeros =num entonces se dibujan los n´umeros. umeros. Si numeros toma cualquier otro valor entonces no los dibuja. El valor por defecto es num. Atenci´ on: on: Hay que usar este comando dentro de un entorno pspicture . El centro del reloj se sit´ua ua siempre en el punto (0 0) del entorno. ,
\RadioReloj=3cm \begin{pspicture}(-1.5,-1.5)(1.5,1.5) \carcasa \end{pspicture}
11
12
1
10
2
9
3 8
4 7
6
5
Reloj con n´ umeros umeros \RadioReloj=3cm \begin{pspicture}(-1.5,-1.5)(1.5,1.5) \carcasa[nonum] \psdots(0,0) \end{pspicture}
Reloj sin n´ umeros umeros
2.3. 2.3.
Las Las aguj agujas as
Dentro del entorno pspicture donde se dibuj´o la carcasa del reloj deben escribirse los comandos que dibujan la aguja horaria, el minutero y el segundero. Los comandos comandos disponibles son los siguiente siguientes: s: \Segundero{seg} \Minutero{min} \Horario{hor}
2
Manual de Relo jes
Javier Serrano
donde seg es un n´ umero entero entre 0 y 59 que representa los segundos, min umero es un n´ umero entero entre 0 y 59 que representa los minutos y hor es un entero umero entre 0 y 11 que representa las horas. Puede usarse uno solo de estos comandos, dos de ellos o los tres. El orden en el que se escriban determinar´a si se trata de un reloj continuo o discreto. La idea general es que lo que se escriba primero afecta a lo que se escriba despu´es. es. Por tanto, ta nto, para un relo j continuo el orden debe ser: segundero, minutero y horario. Para un reloj discreto deben escribirse los comandos en orden contrario. \RadioReloj=3cm \begin{pspicture}(-1.5,-1.5)(1.5,1.5) \carcasa \Segundero{30} \Minutero{50} \Horario{2} \end{pspicture}
11
12
1
10
2
9
3 8
4 7
6
5
Reloj continuo a las 2h 50m 30s \RadioReloj=3cm \begin{pspicture}(-1.5,-1.5)(1.5,1.5) \carcasa \Horario{2} \Minutero{50} \Segundero{30} \end{pspicture}
11
12
1
10
2
9
3 8
4 7
6
5
Reloj discreto a las 2h 50m 30s
2.4. 2.4.
Colo Colore ress en en el el rel reloj oj
En cuanto al color, el reloj se divide en cuatro elementos independientes: la carcasa (circunferencias exteriores, rayas de divisi´on y n´ umeros) umeros) y las tres agujas. Para asignar un color determinado a cada elemento basta con redefinir el comando \ColorReloj justo antes del comando que dibuja el elemento. Se usa con la sintaxis: \renewcommand{\ColorReloj}{color}
donde color es el nuevo color. El color por defecto de todos los elementos es el negro (black).
3
Manual de Relo jes
Javier Serrano
\RadioReloj=3cm \begin{pspicture}(-1.5,-1.5)(1.5,1.5) \renewcommand{\ColorReloj}{blue} \carcasa[nonum] \renewcommand{\ColorReloj}{red} \Segundero{30} \renewcommand{\ColorReloj}{green} \Minutero{10} \Horario{10} \end{pspicture}
3.
Reloj con colores
Impl Implem emen enta taci ci´ ´ on on
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% ´ %%%%%%%%% %%%%%%%%% RELOJES RELOJES ANAL OGICOS OGICOS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% VARIABLES: \newdimen\RadioReloj \newdimen\AnchoLinea \newcommand\ColorReloj{black} \newcount\HoraReloj \newcount\MinutoReloj \newcount\SegundoReloj \newif\ifNumeros %%%%%%%%%%%%%%%%%%%%%%%% VALORES INICIALES: \RadioReloj=6cm \AnchoLinea=.012\RadioReloj %%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% %%%%%%%%% %%%% AGUJA SEGUNDERO: SEGUNDERO: \newcommand{\Segundero}[1]{% \SegundoReloj=#1 \FPeval\result{clip(-6*\the\Se \FPeval\result{clip(-6*\the\SegundoReloj)}% gundoReloj)}% \rput{\result}(0,0){% \psline[linewidth=.5\AnchoLinea,linecolor=\ColorReloj]% {-}(0,-0.1\RadioReloj)(0,.3\RadioReloj)% \pscircle[fillstyle=solid,fillcolor=white,linec \pscircle[fillstyle=solid,fillc olor=white,linecolor=\ColorReloj] olor=\ColorReloj]% % (0,0){0.02\RadioReloj}} } %%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% %%%%%%%%% %%%% AGUJA MINUTERO: MINUTERO: \newcommand{\Minutero}[1]{% \MinutoReloj=#1% \FPeval\result{clip(-6*\the\MinutoReloj-0.1*\th \FPeval\result{clip(-6*\the\Min utoReloj-0.1*\the\SegundoReloj)}% e\SegundoReloj)}% \rput{\result}(0,0){%
4
Manual de Relo jes
Javier Serrano
\psline[linewidth=\AnchoLinea,linecolor=\ColorReloj]% {->}(0,0)(0,.29\RadioReloj)}% \pscircle[fillstyle=solid,fillcolor=white,linec \pscircle[fillstyle=solid,fillc olor=white,linecolor=\ColorReloj] olor=\ColorReloj]% % (0,0){0.02\RadioReloj}% } %%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% %%%%%%%%% %%%% AGUJA HORARIO: HORARIO: \newcommand{\Horario}[1]{% \HoraReloj=#1% \FPeval\result{% clip(-30*\the\HoraReloj-0.5*\the\MinutoReloj-\t clip(-30*\the\HoraReloj-0.5*\t he\MinutoReloj-\the\SegundoReloj/1 he\SegundoReloj/120)}% 20)}% \rput{\result}(0,0){% \psline[linewidth=\AnchoLinea,linecolor=\ColorReloj]% {->}(0,0)(0,.2\RadioReloj)} \pscircle[fillstyle=solid,fillcolor=white,linec \pscircle[fillstyle=solid,fillc olor=white,linecolor=\ColorReloj] olor=\ColorReloj]% % (0,0){0.02\RadioReloj}% } %%%%%%%%%%%%%%%%%%%%%% CARCASA: \newcommand{\ponerNumeros}{% \ifNumeros% \multido{\n=60+-30,\i=1+1}{12}{% \rput{\n}(0,0){% \psline[linewidth=.008\RadioReloj,linecolor=\ColorReloj]% (.43\RadioReloj,0)(.38\RadioReloj,0)} \uput{.31\RadioReloj}[\n](0,0){% \resizebox{!}{.04\RadioReloj}{\textcolor{\ColorRelo \resizebox{!}{.04\RadioReloj}{\tex tcolor{\ColorReloj}{\i}}}}% j}{\i}}}}% \else% \multido{\n=0+30}{12}{\rput{\n}(0,0){% \psline[linewidth=.008\RadioReloj,linecolor=\ColorReloj]% (.43\RadioReloj,0)(.33\RadioReloj,0)}}% \fi% } \newcommand{\ponernumeros}{% \Numerostrue \ponerNumeros} \newcommand{\noponernumeros}{% \Numerosfalse \ponerNumeros} \newcommand{\numerossi}{num} \newcommand{\numerossino}{num} \newcommand{\carcasa}[1][num]{% \pscircle[linewidth=\AnchoLinea,linecolor=\ColorReloj]% (0,0){.5\RadioReloj}% \pscircle[linewidth=.5\AnchoLinea,linecolor=\ColorReloj]%
5
Manual de Relo jes
Javier Serrano
(0,0){.45\RadioReloj}% \multido{\n=0+6}{60}{% \rput{\n}(0,0){% \psline[linewidth=.004\RadioReloj,linecolor=\ColorReloj]% (.43\RadioReloj,0)(.38\RadioReloj,0)% }% } \renewcommand{\numerossino}{#1}% \ifx \numerossino\numerossi% \ponernumeros% \else% \noponernumeros% \fi% }
6