Latex 4 Tutorial: Ámbar de Euclides versión de los Elementos
mayitotqmDocumentos de Investigación21 de Febrero de 2018
6.614 Palabras (27 Páginas)206 Visitas
4 Tutorial: Ámbar de Euclides versión de los Elementos
En este tercer tutorial tenemos un vistazo a cómo TikZ puede ser usado para dibujar las construcciones geométricas.
Euclides es actualmente muy ocupado escribiendo su nueva serie de libros, cuyo título provisional es "Elementos" (Euclides no es muy seguro de si este título va a transmitir el mensaje de la serie de las generaciones futuras correctamente, pero tiene la intención de cambiar el título antes de que vaya a él publicador). Hasta saber, escribió su texto y gráficos en papiro, pero su editor insiste repente que debe presentar en forma electrónica. Euclides trata de argumentar con la editorial que la electrónica sólo se descubrieron miles de años más tarde, pero el editor le informa que el uso de papiro ya no es la tecnología de vanguardia y Euclides sólo tendrá que mantenerse al día con las herramientas modernas.
Un poco contrariado, Euclides comienza a convertir su papiro titulado "Libro I, Proposición I" a una versión ámbar.
4.1 Libro I, Proposición
El dibujo en su papiro se ve así: 3[pic 1]
[pic 2][pic 3][pic 4]
[pic 5]
[pic 6]
Vamos a echar un vistazo a cómo Euclides puede convertir esto en código TikZ.
4.1.1 Configuración del entorno
Al igual que en los tutoriales anteriores, Euclides necesita cargar TikZ, junto con algunas bibliotecas. Estas bibliotecas son calc, intersecciones, a través, y fondos. Dependiendo de qué formato4 se utiliza, Euclides sería utilizar uno de los siguientes en el preámbulo:[pic 7]
% Para el látex:
\usepackage{tikz}
\usetikzlibrary{calc,intersections,through,backgrounds}
[pic 8]
% Para el texto sin formato:
\input tikz.tex
\usetikzlibrary{calc,intersections,through,backgrounds}
% Para el contexto: [pic 9]
\usemodule[tikz]
\usetikzlibrary[calc,intersections,through,backgrounds]
[pic 10]
3 El texto está tomado de la maravillosa versión interactiva de los Elementos de Euclides por David E. Joyce, que se pueden encontrar en su página web de la Universidad de Clark.
4 Tenga en cuenta que la PGF / TikZ no es soportado por las versiones recientes de contexto (como Mark IV, la parte LuaTeX-consciente del contexto).
4.1.2 La línea AB
La primera parte de la imagen que Euclides desea señalar es la línea AB. Esto es bastante fácil, algo así como
\ Sorteo (0,0) - (2,1); podría hacer. Sin embargo, Euclides no quiere hacer referencia a los dos puntos A y B como (0, 0) y (2, 1) posteriormente. Por el contrario, desea simplemente escriba A y B. De hecho, el punto central de su libro es que los puntos A y B pueden ser arbitrarias y todos los demás puntos (como C) se construyen en función de sus posiciones. No haría si estuviera Euclides para anotar las coordenadas de C de forma explícita.
Así, Euclides comienza con la definición de dos coordenadas utilizando el \ comando de coordenadas:[pic 11]
\begin{tikzpicture}[pic 12]
\Coordenadas (A) en (0,0);
\Coordenadas (B) al (1.25,0.25);
\draw[blue] (A) -- (B);
\end{tikzpicture}
Eso fue bastante fácil. Lo que falta en este momento son las etiquetas para las coordenadas. Euclides no quiere que, en los puntos, pero al lado de ellos. Él decide utilizar la opción de etiqueta:[pic 13][pic 14]
\begin{tikzpicture}
A \coordinadas [label=izquierda:\texto color{blue}{$A$}] (A) at (0,0);[pic 15]
\coordinadas [label=derecha:\texto color{blue}{$B$}] (B) at (1.25,0.25);
\draw[blue] (A) -- (B);
\end{tikzpicture}
En este punto, Euclides decide que sería aún mejor si los puntos A y B eran en cierto sentido "al azar". Entonces, ni Euclides ni el lector puede hacer que el error de tomar "nada por sentado" sobre esta posición de estos puntos. Euclides agrado la información de que hay una función rand en Tik Z
que hace exactamente lo que necesita: Se produce un número entre -1 y 1. Desde Tik Z puede hacer un poco de matemáticas,
Euclides puede cambiar las coordenadas de los puntos de la siguiente:
\coordinadas [...] (A) at (0+0.1*rand,0+0.1*rand);
\coordinadas [...] (B) at (1.25+0.1*rand,0.25+0.1*rand);[pic 16]
Esto funciona bien. Sin embargo, Euclides no está muy satisfecho ya que él preferiría que los "principales" coordenadas (0, 0) y (1.25, 0.25) están "separados" de la perturbación 0,1 (rand, rand). Esto significa, que le gustaría especificar que una coordenada de como "El punto es que en (0, 0), además de una décima parte del vector (rand, rand)."
Resulta que la biblioteca Calc le permite hacer exactamente este tipo de cálculo. Cuando se carga esta biblioteca, puede utilizar las coordenadas especiales que comienzan con ($ y terminan con $) en lugar de simplemente (y). Dentro de estas coordenadas especiales se puede dar una combinación lineal de las coordenadas. (Tenga en cuenta que los signos de dólares están destinados únicamente para indicar que un "cálculo" está pasando, sin composición matemática se hace.)
El nuevo código para las coordenadas es el siguiente:
\coordinadas [...] (A) at ($ (0,0) + .1*(rand,rand) $);
\coordinadas [...] (B) at ($ (1.25,0.25) + .1*(rand,rand) $);[pic 17]
Tenga en cuenta que si una coordenada en un cálculo de este tipo tiene un factor (como 0.1), se debe colocar una * directamente antes del paréntesis de apertura de la coordenada. Puede anidar tales cálculos.
4.1.3 El círculo alrededor de una
La primera construcción complicado es el círculo alrededor de A. Más adelante veremos cómo hacer esto de una manera muy simple, pero primero vamos a hacerlo de la manera "dura".
La idea es la siguiente: se dibuja un círculo alrededor del punto A, cuyo radio está determinado por la longitud de
la línea AB. La dificultad radica en el cálculo de la longitud de esta línea.
Dos ideas "casi" resolver este problema: En primer lugar, podemos escribir ($ (A) - (B) $) para el vector que es la diferencia entre A y B. Todo lo que necesitamos es la longitud de este vector. En segundo lugar, dados dos números x y
y, se puede escribir veclen (x, y) dentro de una expresión matemática. Esto le da a que es[pic 18]
exactamente de la longitud deseada.
El problema que queda es tener acceso a las direcciones x e y de la coordenada del vector AB. Para esto, necesitamos un nuevo concepto: la operación let. Una operación let se puede dar en cualquier lugar de una ruta en la que se espera una operación de trazado normal como una línea o un movimiento a. El efecto de una operación de let es para evaluar algunas coordenadas y para asignar los resultados a macros especiales. Estas macros hacen que sea fácil acceder a las direcciones x e y las coordenadas de las coordenadas.
Euclides escribiría lo siguiente: Euclides escribiría lo siguiente:
\begin{tikzpicture}[pic 19][pic 20]
\coordinadas [label=izquierda:$A$] (A) at (0,0);
\coordinadas [label=derecha:$B$] (B) at (1.25,0.25);[pic 21]
\draw (A) -- (B);[pic 22]
\draw (A) let
\p1 = ($ (B) - (A) $)
in
circulo ({veclen(\x1,\y1)});
\end{tikzpicture}
Cada tarea en una operación comienza con let \ p, por lo general seguido de un (dígitos). Luego viene un signo igual y una coordenada. La coordenada se evalúa y el resultado se almacena internamente. A partir de entonces se pueden utilizar las siguientes expresiones:
...