Nothing Special   »   [go: up one dir, main page]

Proyecto Variable Compleja Copy PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

Boletı́n de Matemáticas 3(7) 1–13 (1900) 1

Qué es y cómo usar Domain Coloring para graficar


funciones complejas

Gabriel Lozano1,a , Geraldine Montoya1,b , Camilo Medina1,c

Abstract. “Una de las herramientas más útiles que ha desarrollado la matemática es la


gráfica de funciones de valor real, sin embargo, el asunto es muy distinto para las funciones
de valor complejo, donde la gráfica reside en un espacio de cuatro dimensiones que no es
sencillo de interpretar graficamente. Muchos son los textos de variable compleja que no
tienen una gráfica de las funciones que estudian y para el estudiante promedio no es raro
ver un curso de variable compleja sin llegar a tener una idea de ‘cómo se ve’ una función
compleja”. Expresan Douglas y Rogness en “Möbius Transformations Revealed”. Bajo el
marco de esta problemática, en este documento introduciremos al lector a la técnica Domain
Coloring para la graficación de funciones complejas, e iremos un paso adelante explicando
como podemos mejorar el algoritmo usual para tener graficas más legibles que dan cabida a
mejores interpretaciones.
Keywords: Domain Coloring, implementación, monografı́a, Python, gráficas, funciones
complejas.

1. Introducción
La visualización de funciones ha sido una de las herramientas más útiles para reconocer
distintos comportamientos de estas. Generalmente se asocia esta visualización con el trazo
de gráficas, las cuales, a primera vista permiten observar varios aspectos de su respectiva
función, como la dependencia que existe entre los valores de entrada y salida; los puntos
del dominio en los que puede alcanzar un valor máximo o mı́nimo (si es que los posee)
o aquellos en los que la función es cóncava o convexa; entre algunos otros. Aclaramos
que esta técnica está limitada a espacios tridimensionales, puesto que es difı́cil representar
gráficamente espacios de mayor dimensión. Es por esto que no se pueden visualizar funciones
de variable compleja con esta técnica, en vista de que se deberı́a trazar una gráfica en un
espacio de cuatro dimensiones.
Por lo tanto, se han propuesto otros tipos de técnicas que faciliten esta tarea; la
cual es de gran relevancia para entender estas funciones con sus diversas peculiaridades.
Uno de los métodos más sencillos de visualización es denominado Domain Coloring, en el
que se utiliza el tono y otras herramientas como el brillo y la saturación para codificar los
valores de una función. Este permite identificar a primera vista una noción general de una
función y a la vez, al observar en detalle brinda información de bastante interés sobre esta,
no obstante, esta técnica cuenta también con ciertas restricciones que, al considerarlas junto
con sus respectivas ventajas determinan que tan beneficioso es utilizar esta visualización
según los aspectos que se desean estudiar de una función compleja (Ver [12]).
En este texto, presentaremos el funcionamiento e implementación del Domain
Coloring, destacando el uso de software y las consideraciones que se deben tener en cuenta
1 Departamento de Matemáticas, Universidad Nacional de Colombia, Bogotá D.C., Colombia
a golozano@unal.edu.co
b gmontoyar@unal.edu.co
c cemedinag@unal.edu.co
2 Gabriel Lozano, Geraldine Montoya & Camilo Medina

para interpretar mejor los comportamientos que se pretenden analizar de alguna función.
Por otra parte, mostraremos de forma global las utilidades y limitaciones presentes en el
método. Todo lo anterior, esperando que el lector pueda familiarizarse con los resultados
que se obtienen al usar esta técnica y ası́ pueda llegar a hacer uso de esta.
Este documento se basa en los trabajos de Poelke y Polthier (ver [1] y [12]),
Wegert (ver [3]), Maggi (ver [6]). Comenzamos explicando brevemente las técnicas más
usuales para graficar funciones complejas. Explicaremos tres métodos en especial, añadir un
tercer eje independiente, gráfico de campo vectorial y gráfica de la transformación. Luego,
explicaremos la idea detrás de Domain Coloring y daremos los detalles de la implementación
en Python. Terminaremos con ejemplos de gráficas de funciones usando Domain Coloring.

2. Técnicas para graficar funciones complejas


Antes de hablar de los métodos para la visualización de funciones complejas, es importante
entender las limitaciones que existen para visualizar estas funciones. Tal como es descrito
en Cómo representar funciones en variable compleja (ver [5]), el inconveniente se debe a
que para todo número complejo z, este es de la forma z = a + bi, y toda función f de
los números complejos en los números complejos, se puede ver como una función del plano
cartesiano al plano cartesiano, por lo cual necesitamos un espacio de cuatro dimensiones para
poder graficar o visualizar una función de este estilo. Es claro que vivimos en un espacio
de tres dimensiones, y que para la mayorı́a de las personas es difı́cil imaginar una cuarta
dimensión. Por lo cual es necesario el desarrollo de herramientas diferentes para lograr esta
visualización.
Para dicho desarrollo es importante entender, en primer lugar, las representaciones
que existen, en forma general, para cualquier z complejo. La forma más natural, son las
coordenadas rectangulares o cartesianas. Dado z, este se puede representar de la forma
z = a + bi, donde a y b representan la parte real e imaginaria respectivamente; y dado
que f (z) es también un número complejo, resulta natural e intuitivo analizar cuales son las
partes reales e imaginarias de una función dada.
En este orden de ideas, la primera representación que use utilizará es tomar la
parte real de f (z). Esta representación se hará en R3 , poniendo la parte real en un eje
independiente. <(z) representa la parte real del número complejo z. De manera análoga,
representaremos la parte imaginaria en R3 , poniendo la parte imaginaria en un eje indepen-
diente. =(z) representa la parte imaginaria del número complejo z.
A parte de estas dos representaciones, es relevante considerar qué otras herramien-
tas pueden ser utilizadas. Ahora utilicemos otra representación para los números complejos,
las coordenadas polares; en las que para cada z número complejo, este se puede representar
de la forma z = reiθ donde r es el módulo de z, y θ es el argumento. Con lo anterior
en mente, se muestran otras dos representaciones adicionales.
La primera de estas se hará
en R3 , poniendo el módulo en un eje independiente. f representa el módulo del número
complejo z. De forma parecida, representaremos el argumento en el espacio, poniendo este
en un eje independiente; arg(f ) representa el argumento del número complejo z.
Con estas 4 representaciones presentadas, se puede visualizar de buena forma el
comportamiento de las funciones complejas, y además, se pueden utilizar distintas combi-
naciones de éstas según lo que se desea visualizar. Por ejemplo, si se desea visualizar cual
es el valor de la
función en un punto dado, o en un conjunto de puntos, se puede utilizar
<(f ), =(f ), f y arg(f ). Visualicemos esto en la Figura 1 y la Figura 2.
Luego, con todo esto se puede ver con facilidad que la combinación de las com-
ponentes de la función nos permite analizar de manera fácil ciertos comportamientos de
Qué es y cómo usar Domain Coloring para graficar funciones complejas 3

Figure 1: A la izquierda f (z) = sin z con su parte real en un tercer eje independiente. A la
derecha f (z) = sin z con su parte imaginaria en un tercer eje independiente

las funciones complejas. En partı́cular, cualquier combinación en la que usemos <(f ) nos
permite visualizar las variaciones del valor real de la función, como cuáles son los máximos
alcanzados por el valor real de la función; lo que sucede de manera similar para =(f ),
pero para los valores
imaginarios de la función. En cambio, cualquier combinación en la
que usemos f nos permite hacer análisis de los módulos máximos, mı́nimos, puntos silla,
singularidades y polos de manera gráfica.

Cabe aclarar que hacer un análisis de los módulos


máximos, mı́nimos, puntos silla,
singularidades y polos de manera gráfica sin usar f , es complicado y en algunas ocasiones

imposible, salvo algunos casos muy especı́ficos de singularidades. De igual manera, f y
arg(f ) son poco útiles para ver el comportamiento de los valores reales e imaginarios de la
función por separado, por lo cual es importante, y de hecho, necesario, saber escoger cual
de estos usaremos a la hora de analizar una función; lo que dependerá netamente de lo que
deseemos estudiar en la misma.

Un inconveniente que presentan estos métodos es que no permiten ver las varia-
ciones del argumento con mucha facilidad, por lo cual es necesario desarrollar algún método
que nos permita ver con facilidad dichas variaciones. Para esto nos apoyaremos en el con-
cepto de campo vectorial, usado en el cálculo en varias variables.

Primeramente, hacemos el gráfico del campo vectorial para un conjunto n de pun-


tos en el plano complejo. Es conveniente notar que no se puede graficar el vector para todo z
complejo, puesto que serı́a imposible visualizar esta gráfica, y n debe ser lo suficientemente
grande para que se pueda hacer un análisis del comportamiento de la función. Ver Figura 3
4 Gabriel Lozano, Geraldine Montoya & Camilo Medina

Figure 2: A la izquierda f (z) = sin z con su argumento en un tercer eje independiente. A la


derecha f (z) = sin z con su norma en un tercer eje independiente

Figure 3: Visualización de la función f (z) = 5(z + 0.2)2 usando gráfico de campo vectorial.
Imagen tomada de “Aplicaciones gráficas de funciones complejas” véase [6].

Este método nos deja notar los cambios en el argumento notoriamente, y por
ende, permite visualizar con facilidad las rotaciones que forma la función; y según Maggi
(ver [6]) lo cual es muy útil en fı́sica al plantear problemas, y visualizar las soluciones a las
ecuaciones diferenciales asociadas a estos problemas. De hecho, en mecánica de fluidos, sirve
para modelar desde los movimientos más simples como los flujos uniformes, manantiales o
sumideros, y además, movimientos mucho mas engorrosos como movimientos irrotacionales,
rotacionales y torbellinos.
Se puede intuir que usar un método o ciertas combinaciones de estos, nos permite
analizar distintos comportamientos de funciones en un dominio rectangular, pero no permite
ver con claridad el comportamiento de estas sobre curvas en el plano complejo, por lo cual
de nuevo, nos vemos obligados a ir en busca de un método adicional para poder ver el
comportamiento de una o más curvas dadas.
Un método de gran utilidad para realizar este análisis, se llama mapeo o gráfica de
la transformación, el cual es presentado por Maggi (ver [6]). En este se utilizan dos planos;
en el primero se marcan n curvas de diferentes colores. Estas son elegidas a conveniencia, ya
que son las curvas cuyo comportamiento queremos estudiar; y en el segundo plano, vemos el
resultado de aplicar la función f a las curvas, las cuales deben conservar el color que tenı́an
en el primer plano. Ver Figura 4
Qué es y cómo usar Domain Coloring para graficar funciones complejas 5

Figure 4: Gráfica de la función f (z) = sin z usando gráfica de la transformación. Imagen


tomada de “Aplicaciones gráficas de funciones complejas” véase [6].

Gráfica de transformación es un buen método para estudiar el comportamiento de


una función, sin embargo su principal problema es que es muy dependiente de las curvas
escogidas. Si se corre con la mala suerte de escoger curvas poco representativas del compor-
tamiento de la función, se tendrá una mala idea de como se está comportando la función. Es
común que identificar estas curvas representativas no sea trivial y requiera bastante prueba
y error.
En general, con estos métodos ya podemos hacer un análisis casi completo sobre
una función, y su comportamiento para ciertos subconjuntos de él, pero detallando a pro-
fundidad, nos damos cuenta que existe una particularidad que comparten los dos últimos
métodos, y es que se pueden representar en un plano, y no necesitan del uso de gráficos en
R3 , como en cambio si requieren los primeros métodos presentados.
Aquı́ es donde surge la motivación para empezar a utilizar el Domain Coloring,
ya que es un método que, en primer lugar, se puede representar en el plano, y en segundo,
permite un buen analı́sis sobre el comportamiento de las funciones, utilizando como her-
ramientas el color y propiedades como el brillo o la saturación para una representación,
además brinda información adicional como la suavidad y fluidez de una función compleja
dada.

3. Funcionamiento e implementación de Domain Color-


ing
Para Poelke (Ver [1]) Domain Coloring es una técnica para graficar funciones complejas,
utilizando el color para compensar las dimensiones faltantes. De hecho se descarta la posi-
bilidad de usar un eje independiente y se usa el color como sustituto.
Lo primero que necesitamos para acercarnos a la técnica es conocer sobre los
espacios de color RGB y HSV. El espacio de color RGB cuantifica la cantidad de rojo, verde
y azul respectivamente. Este espacio de color es especialmente útil en computación ya que
las pantallas a las cuales estamos acostumbrados tienen en cada pixel, tres “subpixeles”
de color rojo, verde y azul, por tanto las imágenes digitales en general se almacenan y se
muestran usando este espacio de color. El espacio de color RGB puede ser representado
como un cubo en un plano cartesiano de tres dimensiones en el que los ejes representan la
presencia de rojo, verde y azul.
El espacio de color HSV por su cuenta mide el tono (Hue en inglés), la saturación
y la luminancia (en inglés se refieren a esta como “value” o “luminance”) respectivamente.
Este espacio es en especial útil para la representación y entendimiento por parte de humanos;
es por esto que programas para artistas usan esta representación. Visualmente El-Feghi (Ver
[2]) explica que HSV se puede ver como un cono con su punta apuntando hacia abajo, donde
6 Gabriel Lozano, Geraldine Montoya & Camilo Medina

Figure 5: Representación visual del espacio de color HSV en forma cónica. Imagen tomada
de [10]

el radio del cı́rculo determina el tono, la saturación se representa por la distancia entre el
punto y el eje vertical, y la luminancia por la posición en el eje vertical, como se puede ver
en la Figura 5.
Para calcular la imagen resultante con la técnica de Domain Coloring se hace
imperativo el uso de software. Por lo cual nos guiaremos en el trabajo de Elias Wegert (Ver
[3]). Sin embargo Wegert usa MATLAB para la mayorı́a de su código, por lo que en cambio
nos basamos en el código de Anthony Hernandez[4] que utiliza Python junto con las librerı́as
de Numpy y Matplotlib. Veamos el código 1 y luego analicemos poco a poco su razón de
ser.

Listing 1: Código principal para el uso de Domain Coloring.


1 import m a t p l o t l i b . p y p l o t a s p l t
2 import numpy a s np
3 import m a t p l o t l i b . c o l o r s a s m c o l o r s
4 from m a t p l o t l i b . c o l o r s import h s v t o r g b
5
6 c l a s s Domain Color :
7 def i n i t ( s e l f , s a m p l e s =3500 , xmin=−10, xmax=10 ,
8 ymin=−10, ymax=10):
9 s e l f . samples = samples
10 s e l f . xmin = xmin
11 s e l f . xmax = xmax
12 s e l f . ymin = ymin
13 s e l f . ymax = ymax
14 s e l f . makeDomain ( )
15 def makeDomain ( s e l f ) :
16 x = np . l i n s p a c e ( s e l f . xmin , s e l f . xmax , s e l f . s a m p l e s )
17 y = np . l i n s p a c e ( s e l f . ymin , s e l f . ymax , s e l f . s a m p l e s )
18 s e l f . xx , s e l f . yy=np . meshgrid ( x , y )
19 def makeColorModel ( s e l f , z z ) :
20 H=???
21 S=???
22 V=???
23 return H, S ,V
24 def n o r m a l i z e ( s e l f , a r r ) :
25 arrMin = np . min( a r r )
26 arrMax = np .max( a r r )
27 a r r = a r r − arrMin
28 return a r r / ( arrMax − arrMin )
Qué es y cómo usar Domain Coloring para graficar funciones complejas 7

29 def p l o t ( s e l f , f , xdim=10 , ydim=8, p l t d p i =100):


30 z z=f ( s e l f . z ( s e l f . xx , s e l f . yy ) )
31 H, S ,V = s e l f . makeColorModel ( z z )
32 rgb = h s v t o r g b ( np . d s t a c k ( (H, S ,V) ) )
33 f i g = p l t . f i g u r e ( f i g s i z e =(xdim , ydim ) , d p i=p l t d p i )
34 p l t . imshow ( rgb )
35 p l t . show ( )
36 return rgb
37 def z ( s e l f , x , y ) :
38 return x+1 j ∗y
En un primer vistazo se puede ver que el código provisto no funcionarı́a puesto
que el método makeColorModel no asigna valores a H,S,V, esto es porque dicha parte del
código es flexible y proporcionaremos varias alternativas que alteran de manera significativa
el resultado.
Las primeras lı́neas corresponden a importar las librerı́as necesarias. Continu-
amos con la definición de una clase Domain_Color y su constructor __init__. El método
makeDomain crea una matriz con el rango dado por xmin, xmax, ymin, ymax con la resolución
dada por samples. La función normalize normaliza una arreglo, y z convierte a x,y en un
número complejo reconocido por Python. Por último plot toma la función en espacio HSV
y la convierte en RGB para después mostrarla como imagén resultado.
Se vuelve evidente que la parte importante del algoritmo, es decir, la parte que
transforma una función en colores está en makeColorModel. El tono depende únicamente
del argumento de la imagen del complejo, además se necesitará la variable r con el radio de
sus coordenadas polares, esto en Python se ve como 2.
Listing 2: Definición del Hue y el Radio
H = s e l f . n o r m a l i z e ( np . a n g l e ( z z ) % ( 2 . ∗ np . p i ) )
r = np . l o g 2 ( 1 . + np . abs ( z z ) )
Para la saturación y la luminancia podemos hacer que dependan directamente del
radio.
Listing 3: Definición sencilla de la Saturación y el Valor
S = ( s e l f . n o r m a l i z e ( r )+1)/2
V = S
Con esto, ya tendrı́amos un código funcional y podemos intentar graficar funciones
como seno, ver Figura 6. Al lado derecho de la función seno graficamos f (z) = z para tener
una referencia del mapeo. Notaremos entonces que si bien el tono es auto explicativo, la
saturación y la luminancia son difı́ciles de notar, en otras palabras, es difı́cil diferenciar del
mismo tono saturado y brillante a uno poco saturado y opaco.
Y por las dificultades antes presentadas es que podemos hacer modificaciones que
nos ayuden a entender mejor la función. Por tanto, usaremos lo que Wegert (ver [3]) llama
como enhanced Color Domain ploting, con lo que haremos que una función senoidal recorra S
y V lo cual permitirá observar mejor los cambios en el argumento y el radio, pero perderemos
la capacidad de ver los máximos y mı́nimos locales con claridad ,y en esa instancia tendremos
que interpretar la gráfica para conocerlos. Con los cambios ya mencionados tenemos el
código 4.
Listing 4: Saturación y Valor usando funciones senoidales.
S = ( 1 . + np . abs ( np . s i n ( 2 . ∗ np . p i ∗ r ) ) ) / 2 .
8 Gabriel Lozano, Geraldine Montoya & Camilo Medina

Figure 6: Gráfica de f (z) = sin(z) usando el código 1, 2 y 3. A la izquierda esta la función


f (z) = sin(z) usando la saturación y la luminancia como el modulo de la imagen, y el tono
como argumento. A la derecha f (z) = z para referencia.

V = ( 1 . + np . abs ( np . c o s ( 2 . ∗ np . p i ∗ np . a n g l e ( z z ) ) ) ) / 2 .

Se puede observar como se ven los cambios en la Figura 7. Donde podemos inter-
pretar las lı́neas negras como invariantes al argumento y las lı́neas blancas como invariantes
al radio.
Cabe mencionar que es importante tener en cuenta la escala en la que se esta
graficando. Las gráficas anteriores tienen como dominio real de −10 a 10 y similarmente
para los imaginarios. Sin embargo si intentamos el mismo gráfico con un rango de −1 a 1
obtendrı́amos la Figura 8, que si bien no nos dice mucho sobre el comportamiento global de
la función, nos habla de la aproximación sin(z) = z.
Con estas últimas modificaciones obtenemos el último método de nuestra clase
Domain_Color . Ası́, resaltamos que este método es flexible dependiendo de lo que se desee
gráficar. Por ejemplo, preferimos usar r, no como el radio sino como el logaritmo del mismo,
esto con el fin de lidiar de mejor manera con las magnitudes que se presentan que suelen ser
bastante grandes.

Listing 5: Código final para el método faltante del código 1.


def makeColorModel ( s e l f , z z ) :
H = s e l f . n o r m a l i z e ( np . a n g l e ( z z ) % ( 2 . ∗ np . p i ) )
r = np . l o g 2 ( 1 . + np . abs ( z z ) )
S = ( 1 . + np . abs ( np . s i n ( 2 . ∗ np . p i ∗ r ) ) ) / 2 .
V = ( 1 . + np . abs ( np . c o s ( 2 . ∗ np . p i ∗ np . a n g l e ( z z ) ) ) ) / 2 .
return H, S ,V

Por otra parte, tomar el radio como logarı́tmico o linear dependerá de la función
a graficar. Para ez es evidente que tomar el logaritmo nos dará mejores resultados; hacemos
la comparación en las gráficas de las Figuras 9 y 10. Ya que para f (z) = ez el radio depende
únicamente del eje real, podemos ver que a la izquierda de la imagen los colores están
desaturados mientras que a la derecha están saturados.
Qué es y cómo usar Domain Coloring para graficar funciones complejas 9

Figure 7: f (z) = sin(z) usando el código 1 y 5. A la izquierda esta la función f (z) = sin(z)
usando saturación como el seno del radio, la luminancia como el coseno del argumento y el
tono como el argumento. A la derecha f (z) = z para referencia.

Figure 8: Gráfica de f (z) = sin(z) usando el código 1 y 5 en una escala menor. A la izquierda
esta la función f (z) = sin(z) usando saturación como el seno del radio, la luminancia como
el coseno del argumento y el tono como el argumento. A la derecha f (z) = z para referencia.
10 Gabriel Lozano, Geraldine Montoya & Camilo Medina

Figure 9: Gráfica de f (z) = ez usando el código 1 y 5. A la izquierda esta la función


f (z) = ez con radio lineal usando saturación como el seno del radio, la luminancia como el
coseno del argumento y el tono como el argumento. A la derecha f (z) = z para referencia.
.

Figure 10: Gráfica de f (z) = ez con radio lineal usando el código 1 y 5 en una escala
menor. A la izquierda esta la función f (z) = ez usando saturación como el seno del radio,
la luminancia como el coseno del argumento y el tono como el argumento. A la derecha
f (z) = z para referencia.
.
Qué es y cómo usar Domain Coloring para graficar funciones complejas 11

4. Ejemplos

Podemos usar el código 1 junto con código 5 para generar los siguientes ejemplos:

• La función (z) = z sin z −1 usando saturación como el seno del radio, la luminancia
como el coseno del argumento y el tono como el argumento. En la Figura 11.

• La función f (z) = z 3 + 2iz 2 + z + 6i usando saturación como el seno del radio, la


luminancia como el coseno del argumento y el tono como el argumento. En la Figura
12.

• La función f (z) = log z usando saturación como el seno del radio, la luminancia como
el coseno del argumento y el tono como el argumento. En la Figura 13.

Figure 11: Gráfica de f (z) = z sin z −1 usando el código 1 y 5 en una escala menor. A
la izquierda esta la función (z) = z sin z −1 usando saturación como el seno del radio, la
luminancia como el coseno del argumento y el tono como el argumento. A la derecha
f (z) = z para referencia.
12 Gabriel Lozano, Geraldine Montoya & Camilo Medina

Figure 12: Gráfica de f (z) = z 3 + 2iz 2 + z + 6i usando el código 1 y 5 en una escala menor.
A la izquierda esta la función f (z) = z 3 + 2iz 2 + z + 6i usando saturación como el seno
del radio, la luminancia como el coseno del argumento y el tono como el argumento. A la
derecha f (z) = z para referencia.

Figure 13: Gráfica de f (z) = log z usando el código 1 y 5 en una escala menor. A la izquierda
esta la función f (z) = log z usando saturación como el seno del radio, la luminancia como el
coseno del argumento y el tono como el argumento. A la derecha f (z) = z para referencia.

5. Conclusión
Existen varias formas de reducir la dimensión de las gráficas de funciones complejas a algo
que podemos graficar en dos dimensiones. Sin embargo, las ventajas de Domain Coloring
se basan en poder dar una idea global de la función en un primer vistazo, sin perder el
detalle que se puede obtener al observar a fondo las imágenes. También es provechoso que
Qué es y cómo usar Domain Coloring para graficar funciones complejas 13

con los “enhanced Domain Coloring plots” se reconocen fácilmente los cambios de norma
y argumento que presenta la función. Ahora bien, reconociendo sus desventajas, el mayor
inconveniente de Domain Coloring es la dificultad que se tiene de hacer gráficas propias,
comparado a las técnicas más convencionales que tienen más literatura y herramientas para
facilitar su uso. Este inconveniente es zanjado parcialmente con este pequeño artı́culo. De
esta forma, se espera que el lector pueda hacer uso de la técnica ó al menos, pueda entender
las gráficas que se generan con ella.

References
[1] Poelke, Konstantin, and Konrad Polthier. ”Lifted domain coloring.” Computer Graphics
Forum. Vol. 28. No. 3. Oxford, UK: Blackwell Publishing Ltd, 2009.

[2] El-Feghi, Idris, et al. “Content-Based Image Retrieval based on efficient fuzzy color sig-
nature.” 2007 IEEE International Conference on Systems, Man and Cybernetics. IEEE,
2007.
[3] Wegert, Elias, and Gunter Semmler. “Phase plots of complex functions: a journey in
illustration.” Notices AMS 58 (2010): 768-780.

[4] https://github.com/hernanat/dcolor consultado el 27 de febrero de 2019.


[5] http://portal.uned.es/pls/portal/docs/PAGE/UNED_MAIN/LAUNIVERSIDAD/
UBICACIONES/01/DOCENTE/CARLOS_FERNANDEZ_GONZALEZ/VARIABLE%20COMPLEJA%
20GEOGEBRA/REPRESENTARVC.PDF Consultado el 27 de febrero de 2019.

[6] Maggi, Claudio. “Aplicaciones gráficas de funciones complejas” Facultad Regional Re-
conquista, Universidad Tecnológica Nacional, Argentina. Consultado el 27 de febrero de
2019.
[7] Velezmoro Leon, Ricardo and Ipanaqué, Robert. “Representación gráfica de las funciones
complejas con el Mathematica (Graphical display of complex functions with Mathemat-
ica).” Revista ECI-PERÚ 12 (2015): 53-57.
[8] Velezmoro Leon, Ricardo and Ipanaqué, Robert. “Un modelo para visualizar objetos en
4D con el Mathematica” Revista ECI-PERÚ 11 (2015): 12-18.
[9] Eisenberg, Murray and Park, David J.M. “Visualizing Complex Functions with the Pre-
sentations Application.” The Mathematica Journal 11 (2009)

[10] http://traumabot.blogspot.com/2013/08/colour-point-cloud-detection-and.
html visitado el 27 de febrero de 2019.
[11] https://github.com/Matematikoi/show_complex_functions consultado y creado el
27 de febrero de 2019.

[12] Poelke, Konstantin, and Konrad Polthier. “Domain coloring of complex functions: An
Implementation-Oriented Introduction.” IEEE computer graphics and applications 32.5
(2012): 90-97.

También podría gustarte