//---------------------------------------------------------------
// Fichero:  z3.asy
// Objetivo: Mostrar un número complejo del tercer cuadrante
// Fecha:    V.26.6.2026
// Autor:    Pedro Reina
// Licencia: CC0 1.0 Universal
//           http://creativecommons.org/publicdomain/zero/1.0/
//---------------------------------------------------------------

// fontsize()
import fontsize;

// xaxis(), yaxis()
import graph;

// El número complejo
pair z=(-5,-4);

// Opuesto y conjugado
pair Opuesto=-z;
pair Conjugado=(z.x,-z.y);

// Obtendremos un archivo SVG
settings.outformat="svg";

// Tamaño de la imagen
size(4.4cm);

// Función que devuelve el signo de un número
int signo(real a)
    {
    int Respuesta=0;
    if (a>0) { Respuesta=1; }
    if (a<0) { Respuesta=-1; }
    return Respuesta;
    }

// Función que devuelve la posición de la etiqueta
pair Pos(pair z)
    { return (z.x,z.y+0.5*signo(z.y)); }

// Dimensiones de los ejes
real Xmin = -5, Xmax = 5, Ymin = -4, Ymax = 4, Extra = 0.5;

// Grosor de las líneas
defaultpen(1);

// Formato de marcas los dos ejes
ticks FormatoTicks = Ticks(Step=1, NoZero, Size=0.5mm, pTick=blue);

// Formato de texto de los dos ejes
pen FormatoTexto = blue+fontsize(5pt);

// El eje de ordenadas
yaxis(ymin=Ymin, ymax=Ymax, FormatoTexto, FormatoTicks);
draw((0,Ymin-Extra) -- (0,Ymax+Extra));

// El eje de abscisas
xaxis(xmin=Xmin, xmax=Xmax, FormatoTexto, FormatoTicks);
draw((Xmin-Extra,0) -- (Xmax+Extra,0));

// Los puntos
pen FormatoPunto=3bp+black;
dot(z,FormatoPunto);
dot(Opuesto,FormatoPunto);
dot(Conjugado,FormatoPunto);

// Los textos
FormatoTexto = black+fontsize(8pt);
label("$z$",Pos(z),FormatoTexto);
label("$-z$",Pos(Opuesto),FormatoTexto);
label("$\overline{z}$",Pos(Conjugado),FormatoTexto);
