Arcos de ´angulos angulos Javier Serrano Primavera Primavera 2011
1.
Intr Introdu oducc cci´ i´ on on
Cuando se dibujan p ol´ ol´ıgonos es frecuente querer destacar, mediante un arco, la abertura de alguno de sus ´angulos angulos interiores o exteriores. A continuaci´on on se presentan dos comandos que realizan este cometido de forma sencilla para el usuario. Para el uso de estos comandos s´olo olo es necesario tener cargado en el pre´ambulo ambulo el paquete paquete pstricks y tener copiado el c´odigo odigo que aparece en la Secci´ on on Implementaci´on. on. En todo lo que sigue, un ´angulo angulo se designar´a mediante tres puntos AOB, donde el punto p unto O es el v´ertice. ertice. El ´angulo en el que se dibujar´a el arco ser´a el que quede a la derecha del recorrido que nos lleva desde A hasta O y desde O hasta B. Es decir, si queremos marcar ´angulos de un pol´ pol´ıgono habr´a que designar los v´ ertices ertices en sentido horario hor ario para ´angulos angulos interiores y en sentido antihorario para angulos a´ngulos exteriores. El dibujo de la izquierda nos muestra el ´angulo AOB, mientras que el de la derecha nos muestra el BOA.
B
B
O
O
A
A
Observaci´ on: on: las coordenadas de los puntos siempre se consideran en
cent´ cent´ımetros, lo que puede dar lugar a fallos si se manejan otras unidades de longitud.
2.
El comando dibujaarco
Se debe usar dentro de un entorno pspicture. La sintaxis del comando es la siguiente:
1
´ ngulos Manual Manual de Arcos de A
Javier Serrano
\dibujaarco|grosor|[flecha]{puntoA}{puntoO}{puntoB}{radio} Argumentos:
grosor : Optativ Optativo. o. Es el grosor grosor de la l´ınea ınea del arco. Se trata trata de una
medida de longitud y, por tanto, consiste en un n´umero seguido de una unidad de longitud. Hay que escribirlo, si se usa, entre barras verticales. Por defecto es 0.8pt. omo ser´an an los extremos del arco. Hay que flecha : Optativo. Indica c´omo escribirlo, si se usa, entre corchetes. Su valor por defecto es -. Puede tomar los mismos valores que el argumento del comando psline, es decir, -, - >, <-, <->, -*, etc. puntoA: Obligatorio. Son las coordenadas del punto donde empieza el
primer lado del ´angulo. angulo. Se han de escribir entre par´entesis entesis separando separand o las cordenadas mediante una coma. Obligatorio. Son las coordenadas coordenadas del v´ ertice ertice del ´angulo. angulo. Se puntoO : Obligatorio. han de escribir escribir entre entre par´ entesis entesis separando separando las cordenadas cordenadas mediante mediante una coma. puntoB : Obligatorio. Son las coordenadas del punto donde termina el
segundo lado del ´angulo. angulo. Se han de escribir entre par´entesis entesis separando las cordenadas mediante una coma. radio : Obligatorio. Es el radio del arco que se dibujar´a con centro en
el punto O. Es una longitud y, por tanto, hay que escribirlo seguido de la unidad de medida.
3.
Ejem Ejempl plos os del del coma comando ndo dibujararco
\begin{pspicture}(4,3) \psline[linewidth=1pt](4,1)( \psline[linewidth=1pt](4,1)(1,1)(0,3) 1,1)(0,3) \dibujaarco[-o](4,1)(1,1)(0, \dibujaarco[-o](4,1)(1,1)(0,3){.4cm} 3){.4cm} \end{pspicture}
\begin{pspicture}(4,3) \psline[linewidth=1pt](4,1)( \psline[linewidth=1pt](4,1)(1,1)(0,3) 1,1)(0,3) \dibujaarco|.6pt|[->](4,1)(1 \dibujaarco|.6pt|[->](4,1)(1,1)(0,3){.4 ,1)(0,3){.4cm} cm} \end{pspicture}
2
´ ngulos Manual Manual de Arcos de A
Javier Serrano
\begin{pspicture}(4,3) \psline[linewidth=1pt](4,1)( \psline[linewidth=1pt](4,1)(1,1)(0,3) 1,1)(0,3) \dibujaarco[*-*](4,1)(1,1)(0 \dibujaarco[*-*](4,1)(1,1)(0,3){.4cm} ,3){.4cm} \end{pspicture}
4.
El comando dibujaarcorelleno
Se debe usar dentro de un entorno pspicture. La sintaxis del comando es la siguiente: \dibujaarcorelleno|grosor|[color]{puntoA}{puntoO}{puntoB}{radio}
El argumento color es optativo. Indica el color con el que se rellenar´a el arco dibujado. Hay que escribirlo, si se usa, entre corchetes. Su valor por defecto es white. Puede tomar los mismos valores que el argumento fillcolor de, por ejemplo, el comando \pspolygon . El resto de argumentos son similares a los del comando \dibujaarco . Es convenien conveniente, te, para un dibujo con un acabado mejor, dibujar en primer lugar el arco ar co o arcos ar cos deseados d eseados y despu´es es el ´angulo ang ulo o pol´ p ol´ıgono. ıgon o.
5.
Ejem Ejempl plos os del del coma comando ndo dibujararcorelleno
\begin{pspicture}(4,3) \dibujaarcorelleno[red]% (4,1)(1,1)(0,3){.4cm} \psline[linewidth=1pt](4,1)( \psline[linewidth=1pt](4,1)(1,1)(0,3) 1,1)(0,3) \end{pspicture}
\begin{pspicture}(4,3) \dibujaarcorelleno|.6pt|% (4,1)(1,1)(0,3){.4cm} \psline[linewidth=1pt](4,1)( \psline[linewidth=1pt](4,1)(1,1)(0,3) 1,1)(0,3) \end{pspicture}
3
´ ngulos Manual Manual de Arcos de A
Javier Serrano
\begin{pspicture}(4,3) \psset{linecolor=green} \dibujaarcorelleno[green]% (4,1)(1,1)(0,3){.4cm} \psset{linecolor=black} \psline[linewidth=1pt](4,1)( \psline[linewidth=1pt](4,1)(1,1)(0,3) 1,1)(0,3) \end{pspicture}
6.
Impl Implem emen enta taci ci´ on o ´n Para que est´ e el comando disponible tiene dos opciones: Copie el c´odigo odigo que aparece m´as as abajo en el pre´ambulo ambulo de cualquier documento .tex en el que vaya a usarlo. Incluya el c´odigo odigo en su documen do cumento to de comandos comandos habitual y luego (en el pre´ambulo ambulo o el cuerpo) cuerp o) ins´ in s´ertelo ertelo mediante input{documentocomandos.tex }. El c´odigo odigo que hay que copiar es el siguiente:
\def\midibujaarco[#1](#2,#3) \def\midibujaarco[#1](#2,#3)(#4,#5)(#6, (#4,#5)(#6,#7)#8{% #7)#8{% \newdimen\Auno \newdimen\Ados% \newdimen\Buno \newdimen\Bdos% \newdimen\Cuno \newdimen\Cdos% \newdimen\Vuno \newdimen\Vdos% \newdimen\Wuno \newdimen\Wdos% \newdimen\Dist% \Buno=#2cm \Bdos=#3cm% \Auno=#4cm \Ados=#5cm% \Cuno=#6cm \Cdos=#7cm% \Dist=#8% \advance\ \advance\Vuno Vuno by \Buno \advance\ \advance\Vuno Vuno by -\Auno% -\Auno% \advance\ \advance\Vdos Vdos by \Bdos \advance\ \advance\Vdos Vdos by -\Ados% -\Ados% \advance\ \advance\Wuno Wuno by \Cuno \advance\ \advance\Wuno Wuno by -\Auno% -\Auno% \advance\ \advance\Wdos Wdos by \Cdos \advance\ \advance\Wdos Wdos by -\Ados% -\Ados% \SpecialCoor% \psarc[linewidth=\ancholinea]{#1}% (\Auno,\Ados){\Dist}{(\Vuno, (\Auno,\Ados){\Dist}{(\Vuno,\Vdos)}{(\W \Vdos)}{(\Wuno,\Wdos)} uno,\Wdos)} \NormalCoor} \makeatletter \def\mimidibujaarco|#1|{\new \def\mimidibujaarco|#1|{\newdimen\ancho dimen\ancholinea linea \ancholinea=#1% \@ifnextchar[{\midibujaarco} \@ifnextchar[{\midibujaarco}{\midibujaa {\midibujaarco[-]}} rco[-]}} \def\dibujaarco{\@ifnextchar|{\mimidibujaarco}{\mimidibujaarco|.8pt|}}
4
´ ngulos Manual Manual de Arcos de A
Javier Serrano
\makeatother %%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% %%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%% %%%%%%% \def\midibujaarcorelleno[#1] \def\midibujaarcorelleno[#1](#2,#3)(#4, (#2,#3)(#4,#5)(#6,#7)# #5)(#6,#7)#8{% 8{% \newdimen\Auno \newdimen\Ados% \newdimen\Buno \newdimen\Bdos% \newdimen\Cuno \newdimen\Cdos% \newdimen\Vuno \newdimen\Vdos% \newdimen\Wuno \newdimen\Wdos% \newdimen\Dist% \Buno=#2cm \Bdos=#3cm% \Auno=#4cm \Ados=#5cm% \Cuno=#6cm \Cdos=#7cm% \Dist=#8% \advance\ \advance\Vuno Vuno by \Buno \advance\ \advance\Vuno Vuno by -\Auno -\Auno \advance\ \advance\Vdos Vdos by \Bdos \advance\ \advance\Vdos Vdos by -\Ados -\Ados \advance\ \advance\Wuno Wuno by \Cuno \advance\ \advance\Wuno Wuno by -\Auno% -\Auno% \advance\ \advance\Wdos Wdos by \Cdos \advance\ \advance\Wdos Wdos by -\Ados% -\Ados% \SpecialCoor% \pswedge[linewidth=\ancholin \pswedge[linewidth=\ancholinea,fillstyl ea,fillstyle=solid,fil e=solid,fillcolor=#1]% lcolor=#1]% (\Auno,\Ados){\Dist}{(\Vuno, (\Auno,\Ados){\Dist}{(\Vuno,\Vdos)}{(\W \Vdos)}{(\Wuno,\Wdos)} uno,\Wdos)} \NormalCoor} \makeatletter \def\mimidibujaarcorelleno|# \def\mimidibujaarcorelleno|#1|{\newdime 1|{\newdimen\ancholine n\ancholinea a \ancholinea=#1% \@ifnextchar[{\midibujaarcorelleno}{\midibujaarcorelleno[white]}} \def\dibujaarcorelleno{\@ifn \def\dibujaarcorelleno{\@ifnextchar|% extchar|% {\mimidibujaarcorelleno}{\mi {\mimidibujaarcorelleno}{\mimidibujaarc midibujaarcorelleno|.8 orelleno|.8pt|}} pt|}} \makeatother
5