miércoles, 11 de marzo de 2009

Las matemáticas románticas

Las matemáticas románticas 


Este post va dirigido a todos los que quieran usar las matemáticas de forma romántica para ligar (algo muy geek).

Porque no hay mejor manera de declararle el amor a alguien, que regalándole un corazón, pero como somos matemáticos que hay mejor que un corazón, 

pues las funciones matemáticas que generan corazones.


¡Demostremos nuestro amor!

Amor en 2-D


En el artículo de Gaussianos les enseñé a dibujar un corazón en dos dimensiones solapando dos curvas. Vamos a recordarlo y a ampliarlo un poquito.

Vamos a dibujar un corazón solapando las siguientes curvas, que son las que vamos a utilizar en todo este apartado:

f(x)= \sqrt{1-(|x|-1)^2} (parte del dibujo contenida en el semiplano superior)
g(x)=arccos(1-|x|)-  \pi (parte del dibujo contenida en el semiplano inferior)

Para representarlas en Mathematica introducimos el siguiente código:

f[x_]:=Sqrt[1-(Abs[x]-1)^2];
g[x_]:=ArcCos[1-Abs[x]]-Pi;
Plot[{f[x],g[x]},{x,-2,2},AspectRatio->Automatic]

El resultado es el siguiente:

Corazón en 2D

Queda bonito…pero se puede mejorar. ¿Qué mejor que un corazón rojo? Y mejor con un trazo más ancho…y si se pudieran quitar los ejes sería perfecto. Ahí va:

Plot[{f[x],g[x]},{x,-2,2},AspectRatio->Automatic,PlotStyle-> {{RGBColor[1,0,0],Thickness[0.05]},{RGBColor[1,0,0],Thickness[0.05]}},Axes->False]

Cuyo resultado es el siguiente:

Corazón rojo en 2D

Cambiando los valores de la opción Thickness podemos variar la anchura del trazo.

Pero podríamos pedir más cosas. Cualquiera puede dibujar un corazón más o menos bien hecho y colorearlo entero de rojo (o de cualquier otro color). ¿Podemos nosotros? Pues claro que sí:

< <> (para introducirlo en Mathematica quitad los espacios)
FilledPlot[{f[x],g[x]},{x,-2,2},Fills->{{{1, 2},RGBColor[1,0,0]}},Curves->None,AspectRatio->Automatic,Axes->False]

El resultado gráfico es el siguiente:

Corazón rojo relleno en 2D

¿A que es bonito? Pues aún hay más.

Amor en 3-D


Hemos dicho que todo el mundo puede dibujar un corazón en dos dimensiones más o menos decente y colorearlo de rojo, aunque hemos visto que con Mathematica el dibujo puede quedarnos mucho mejor. ¿Y si queremos dibujarlo en tres dimensiones? Parece más complicado. De hecho posiblemente a mucha gente le costaría mucho que su dibujo quedara mínimamente decente. Con Mathematica también podemos demostrar nuestro amor en 3-D. Además les voy a dar dos formas:

  • Vamos a representar la superficie cuya ecuación implícita es:

    \left ( x^2+\cfrac{9}{4}y^2+z^2-1 \right )^3-x^2 \;z^3-\cfrac{9}{80}y^2 \; z^3=0


    Cargamos el paquete ContourPlot3D:

    < <> (quitadle los espacios)

    Y dibujamos el corazón:


    ContourPlot3D[(x^2+9/4 y^2+z^2-1)^3-x^2 z^3-9/80 y^2 z^3,{x,-3,3},{y,-3,3}, {z,-3,3},MaxRecursion->3,ViewPoint->{2.032,2.290,1.294},Axes->True,AxesLabel->{"Eje X", "Eje Y","Eje Z"}]


    Obtenemos lo siguiente:

    Corazón en 3D

    Sí, ya lo sé, en rojo queda mucho mejor. Y sin ejes. Y si la caja. Vamos a ello:


    ContourPlot3D[(x^2+9/4 y^2+z^2-1)^3-x^2 z^3-9/80 y^2 z^3,{x,-3,3},{y,-3,3},{z,-3,3},MaxRecursion->3,ViewPoint->{1,2.5,1}, Axes->False,LightSources->{{{0,0,1},RGBColor[1,0,0]}},Boxed->False]


    Aquí lo tenemos:

    Corazón rojo en 3D-1

  • La segunda opción es representar la superficie cuya ecuación implícita es:

    \left ( 2 \; x^2+y^2+z^2-1 \right)^3-\cfrac{1}{10}x^2 \; z^3-y^2 \; z^3=0

    En este caso vamos a darlo directamente en rojo, sin ejes y sin caja. Para ello debemos tener ya cargado el paquete ContourPlot3D y ejecutar la siguiente orden en Mathematica:

    ContourPlot3D[(2 x^2+y^2+z^2-1)^3-1/10 x^2 z^3-y^2 z^3,{x,-3,3},{y,-3,3},{z,-3,3},MaxRecursion->3,ViewPoint->{2.5,1,1}, Axes->False,LightSources->{{{0,0,1},RGBColor[1,0,0]}},Boxed->False]


    Obteniendo así el corazón buscado:

    Corazón rojo en 3D-2

Conclusión


Como pueden ver hemos conseguido nuestro objetivo: hemos conseguido que las matemáticas nos ayuden a demostrar nuestro amor a alguien. Por tanto podemos decir que hay funciones y ecuaciones que representar el amor, que lo llevan dentro, y que nos sirven para que mostremos el nuestro por alguien. 


I Love Math


 y además las utilizo para demostrar mi amor de una manera original, ¿verdad?

No hay comentarios: