Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hablando Asymptoticamente

Hablando Asymptoticamente

Como instalar asymptote en TexnicCenter y ejemplos de un primer acercamiento.

Moisés Toledo

January 04, 2015
Tweet

More Decks by Moisés Toledo

Other Decks in Education

Transcript

  1. Página Web Título Anterior Pantalla Completa Cerrar Salir Mathematica &

    TEX LA FILOSOFIA DE ASYMPTOTE Moisés Toledo PUCP 2014 25 de septiembre de 2014
  2. Página Web Título Anterior Pantalla Completa Cerrar Salir Resumen El

    objetivo principal principal es presentar una alternativa a la realización de gráficas vectoriales, fuera de los excelentes paque- tes como Tikz y PStricks. Asymptote se convirte en una alterna- tiva asequible al usuario de L A TEX que tiene un primer avistaje en el uso del código.
  3. Página Web Título Anterior Pantalla Completa Cerrar Salir Índice Índice

    3 1. Introducción 5 2. Descargando Asymptote 6 3. Instalación de Asymptote 7 4. Configurando TEXnicCenter 8 4.1. Añadir una nueva opción a la pestaña herramientas 9 5. Creando un atajo de teclado 12 6. Comprobando el funcionamiento 15 7. Creando lineas 17 8. Creando flechas 18
  4. Página Web Título Anterior Pantalla Completa Cerrar Salir 8.1. Estilo

    de flechas . . . . . . . . . . . . . . . . . . 19 9. Creando curvas 20 9.1. Curva tangente al eje de ordenadas . . . . . . . . 21 9.2. Cambiando el tipo de línea . . . . . . . . . . . . 22 9.3. Curvas trigonométricas . . . . . . . . . . . . . . 23 9.4. Marcas sobre curvas . . . . . . . . . . . . . . . . 24 9.5. Tipos de marcas . . . . . . . . . . . . . . . . . . 25 10.Cajas y polígonos 26 10.1. Polígonos inscritos . . . . . . . . . . . . . . . . . 27 11.Transformaciones 28 12.Otras transformaciones 29 13.Rellenando regiones 30 14.Otro tipo de rellenos 31 15.Fractales (Mandelbrot) 32
  5. Página Web Título Anterior Pantalla Completa Cerrar Salir 1. Introducción

    Primero debemos indicar que: V Asymptote es un programa externo a una distribución L A TEX. V Las gráficas se obtendran en calidad vectorial, es decir no se distorcionan al ponerle zoom. V Las gráficas serán almacenadas en extensión EPS. V Para poder utilizarlas en un archivo TEX se debe incluir con el comando \includegraphics. V La compilación final debe ser realizada en LaTeX+PS+PDF. V Debido a que las imágenes resultantes producidas con Asym- ptote serán reulizadas como archivos externos es recomen- dable usar el paquete FLOAT. V Es necesario configurar TEXnicCenter para poder usar des- de un mismo entorno L A TEX y Asymptote.
  6. Página Web Título Anterior Pantalla Completa Cerrar Salir 2. Descargando

    Asymptote Accedemos a la web oficial del proyecto http://asymptote.sourceforge.net/ Darle click a la opción download http://sourceforge.net/projects/asymptote/
  7. Página Web Título Anterior Pantalla Completa Cerrar Salir 3. Instalación

    de Asymptote La instalación sigue su procedimiento tradicional Por defecto se instalará en la unidad C del computador dento de la carpeta archivos de programa.
  8. Página Web Título Anterior Pantalla Completa Cerrar Salir 4. Configurando

    TEXnicCenter La configuración requiere dos pasos V Añadir una nueva opción a la pestaña herramientas de TEXnicCenter. V Crear un atajo para la ejecución abreviada de Asymptote.
  9. Página Web Título Anterior Pantalla Completa Cerrar Salir 4.1. Añadir

    una nueva opción a la pestaña herramien- tas Nos dirigimos a la pestaña TOOLS, luego elegimos la opción CUSTOMIZE.
  10. Página Web Título Anterior Pantalla Completa Cerrar Salir Una vez

    ubicados en la ventana CUSTOMIZE elegir la pesta- ña TOOLS y hacer click en NEW INSERT (recuadro de líneas punteadas)
  11. Página Web Título Anterior Pantalla Completa Cerrar Salir Darle el

    nombre ASYMPTOTE y configurarlo según la imagen
  12. Página Web Título Anterior Pantalla Completa Cerrar Salir 5. Creando

    un atajo de teclado Para ello nuevamente nos dirigimos a la pestaña TOOLS, y ele- gimos la opción CUSTOMIZE, ubicandonos en la petaña KEY- BOARD
  13. Página Web Título Anterior Pantalla Completa Cerrar Salir Nos posicionamos

    sobre la opción ASYMPTOTE y en la casilla de PRESS NEW SHORTCUT KEY presionamos las teclas de atajo
  14. Página Web Título Anterior Pantalla Completa Cerrar Salir 6. Comprobando

    el funcionamiento V Escribir el siguiente código Asymptote size(3cm); draw(circle((0,1), 0.5), red); draw(circle((1,0), 1.5), blue); draw(ellipse((1,0), 1.5, 0.5)); V Guardar el archivo con extensión .ASY V Compilar usando el atajo de teclado elegido en la configuración inicial V También puede compilar desde la pestaña TOOLS opción ASYM- PTOTE
  15. Página Web Título Anterior Pantalla Completa Cerrar Salir La resultado

    obtenido es un archivo EPS con la siguiente gráfica de calidad vectorial
  16. Página Web Título Anterior Pantalla Completa Cerrar Salir 7. Creando

    lineas unitsize(1cm); draw((-.1,0) -- (2,0)); draw((0,-.1) -- (0,2));
  17. Página Web Título Anterior Pantalla Completa Cerrar Salir 8. Creando

    flechas unitsize(1cm); draw((-.1,0) -- (2,0), arrow=Arrow); draw((0,-.1) -- (0,2), arrow = Arrow);
  18. Página Web Título Anterior Pantalla Completa Cerrar Salir 8.1. Estilo

    de flechas draw((0,6)--(1,6),arrow=Arrow()); draw((0,5)--(1,5),arrow=ArcArrow()); draw((0,4)--(1,4),arrow=Arrow(SimpleHead)); draw((0,3)--(1,3),arrow=ArcArrow(SimpleHead)); draw((0,2)--(1,2),arrow=Arrow(HookHead)); draw((0,1)--(1,1),arrow=ArcArrow(HookHead)); draw((0,0)--(1,0),arrow=Arrow(TeXHead));
  19. Página Web Título Anterior Pantalla Completa Cerrar Salir 9. Creando

    curvas unitsize(1cm); draw((-.1,0) -- (2,0), arrow=Arrow(TeXHead)); draw((0,-.1) -- (0,2), arrow = Arrow(TeXHead)); draw((0,0) .. (1,1) .. (2,sqrt(2)));
  20. Página Web Título Anterior Pantalla Completa Cerrar Salir 9.1. Curva

    tangente al eje de ordenadas unitsize(1cm); draw((-.1,0) -- (2,0), arrow=Arrow(TeXHead)); draw((0,-.1) -- (0,2), arrow = Arrow(TeXHead)); draw((0,0){up} .. (1,1) .. (2,sqrt(2)));
  21. Página Web Título Anterior Pantalla Completa Cerrar Salir 9.2. Cambiando

    el tipo de línea unitsize(1cm); draw((-.1,0) -- (2,0), arrow=Arrow(TeXHead)); draw((0,-.1) -- (0,2), arrow = Arrow(TeXHead)); draw((0,0) -- (1,1) -- (2,sqrt(2)));
  22. Página Web Título Anterior Pantalla Completa Cerrar Salir 9.3. Curvas

    trigonométricas unitsize(0.5cm); draw((0,0) .. (pi/2,1) .. (pi,0) .. (3*pi/2,-1) .. (2*pi, 0)); Note en este caso que las curvas trigonométricas se usa la cantidad de puntos para definir el camino que adoptará la curva.
  23. Página Web Título Anterior Pantalla Completa Cerrar Salir 9.4. Marcas

    sobre curvas unitsize(0.5cm); draw((0,0) .. (pi/2,1) .. (pi,0) .. (3*pi/2,-1) .. (2*pi, 0), marker=MarkFill[0]);
  24. Página Web Título Anterior Pantalla Completa Cerrar Salir 9.5. Tipos

    de marcas Mark[6] --> asterisk Mark[5] --> x-mark MarkFill[4] --> filled triangle (upside down) Mark[4] --> open triangle MarkFill[3] --> filled pentagon Mark[3] --> open pentagon MarkFill[2] --> filled square Mark[2] --> open square MarkFill[1] --> filled triangle Mark[1] --> open triangle MarkFill[0] --> filled circle Mark[0] --> open circle
  25. Página Web Título Anterior Pantalla Completa Cerrar Salir 10. Cajas

    y polígonos unitsize(1cm); draw(box((0,0), (2,1))); Las coordenadas corresponden a la esquina inferior izquierda y esquina superior derecha respectivamente.
  26. Página Web Título Anterior Pantalla Completa Cerrar Salir 10.1. Polígonos

    inscritos unitsize(1.5cm); draw(unitcircle); draw(polygon(5), blue); Aqui el círculo es unitario.
  27. Página Web Título Anterior Pantalla Completa Cerrar Salir 11. Transformaciones

    size(5cm); for (int n = 3; n <= 7; ++n) { draw(shift(2.2*n, 0) * polygon(n)); }
  28. Página Web Título Anterior Pantalla Completa Cerrar Salir 12. Otras

    transformaciones size(3cm,0); path p = box((0,0), (1,1)); draw(p, black + linewidth(2.0pt)); draw(shift(1,2)*p, blue); draw(xscale(1.6)*p, green); draw(yscale(1.4)*p, orange); draw(scale(1.8)*p, red); draw(rotate(60)*p, purple);
  29. Página Web Título Anterior Pantalla Completa Cerrar Salir 13. Rellenando

    regiones unitsize(1cm); draw((0,0){up} .. (1,1) .. (2,sqrt(2))); fill((0,0){up} .. (1,1) .. (2,sqrt(2)) -- (2,0) -- cycle, yellow); draw((-.1,0) -- (2,0), arrow=Arrow(TeXHead)); draw((0,-.1) -- (0,2), arrow = Arrow(TeXHead));
  30. Página Web Título Anterior Pantalla Completa Cerrar Salir 14. Otro

    tipo de rellenos size(0,100); import patterns; add("filledtilewithmargin",tile(6mm,4mm,red,Fill),(1mm,1mm),(1mm,1mm)); add("checker",checker()); add("brick",brick()); real s=2.5; filldraw(shift(s,0)*unitcircle,pattern("filledtilewithmargin")); filldraw(shift(2s,0)*unitcircle,pattern("checker")); filldraw(shift(3s,0)*unitcircle,pattern("brick"));
  31. Página Web Título Anterior Pantalla Completa Cerrar Salir 15. Fractales

    (Mandelbrot) real iterate(pair z, pair c, int N) { pair zsquare = 0; int n = 0; do { zsquare = (z.x * z.x, z.y * z.y); z = (zsquare.x + zsquare.y * -1, 2 * z.x * z.y) + c; ++n; } while (zsquare.x + zsquare.y < 4 && n < N); zsquare = (z.x * z.x, z.y * z.y); return n - log(.5 * log(zsquare.x + zsquare.y) / log(N)) / log(2); return n; } void mandelbrot(pair size, real zoom, pair pos, int N) { for(int x = 0; x < size.x; ++x) { for(int y = 0; y < size.y; ++y) { pair z = (x / size.x, y / size.y) * zoom - pos; real res = iterate(z, z, N) / N; fill(box((x, y), (x + 2, y + 2)), rgb(sin(res * 4), sin(res * 5), sin(res * 6))); } } } mandelbrot((300, 300), 3, (2, 1.5), 128);