lunes, 26 de julio de 2010

Amor Matemático

Hace unos semestres, en clase de Matemáticas III para ingeniería, nos enseñaron las coordenadas polares. Como “dato curioso”, nos enseñaron algunas funciones curiosas. Dichas funciones fueron: “3 Cos[5θ]” y “4-4 Sin[θ]” . Si uno las grafica a mano, carecen de sentido dichos puntos. Pero no es hasta que se les da un orden a las líneas (o curvas) que se pueden ver figuras que podemos identificar fácilmente (las funciones están hechas para que solamente las copien, peguen y ejecuten en Mathematica, versión 6 en particular):

PolarPlot[3 Cos[5 θ],{θ,0,2 Pi}]:
PolarPlot[4-4 Sin[θ],{θ,0,2 Pi}]


Haciendo un cambio en la primera función, y agregándole algunas otras cosas más en Mathematica, obtenemos algo más “bonito”:

PolarPlot[3 Sin[5 θ],{θ,0,2 Pi},Mesh->1,PlotStyle->Directive[Red,Thick],MeshStyle->Directive[PointSize[.1],Yellow]]



PolarPlot[4-4 Sin[θ],{θ,0,2 Pi},PlotStyle->Directive[Red,Thick]]

Así es, son una flor y un corazón (o lo que parece ser). Pero, la última función no parece reflejar muy bien la imagen que tenemos de un “corazón romántico”. En una de mis búsquedas por Internet, me topé con un post sobre funciones que modelaban la bomba de sangre que tenemos en nuestro cuerpo. El post decía que solamente teníamos que copiar las funciones y correrlas en Mathematica.

Error. Copié dichas funciones y NO pude hacerlas correr apropiadamente. No fue sino luego de un buen rato que corregí los errores que tenían las funciones. Me sorprendió mucho el resultado de dichas gráficas (que por cierto, no están en coordenadas polares). Las funciones son las siguientes:

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

Nota: deben de declarar primero las funciones f(x) y g(x) que están en función de x, y ya luego correr el plot (o lo pueden plotear sin invocar las funciones, haciéndolo directamente).
Y el resultado es (con algunas monerías de color de Mathematica, ya mejorado por mí):

Plot[{f[x],g[x]},{x,-2,2},AspectRatio->Automatic,PlotStyle->{{RGBColor[1,0,0],Thickness[0.03]},{RGBColor[1,0,0],Thickness[0.03]}},Axes->False,Filling->Axis,FillingStyle->{Red}]


Pero… ¿Y si queremos más? En el mismo post estaba la función que representaba al corazón en 3D (con algunos errores), y aquí está la modificación para que la puedan correr sin problemas:
ContourPlot3D[(2 x^2+y^2+z^2-1)^3-1/10 x^2 z^3-y^2 z^3-==0,{x,-1.3,1.3},{y,-1.3,1.3},{z,-1.3,1.3},Axes->False,ContourStyle->Directive[Red,Opacity[0.8]],Boxed->False]


Pero todavía quedan unas líneas que molestan un poco. Luego de investigarle un poco en Mathematica, di con la solución:
ContourPlot3D[(2 x^2+y^2+z^2-1)^3-1/10 x^2 z^3-y^2 z^3==0,{x,-1.3,1.3},{y,-1.3,1.3},{z,-1.3,1.3},MaxRecursion->8,Axes->False,ContourStyle->Directive[Red,Opacity[0.8],
Specularity[White,100]],Boxed->False,Mesh->None]



ADVERTENCIA: La opción de MaxRecursion causa que la computadora piense demasiado. Para intentar por primera vez, tal vez quisieran bajarle el nivel a 1 ó a 3. Esta opción hace que se le “eliminen” ciertas manchas que aparecen al unir las funciones del corazón. Debo admitir que en el intento de hacer este post, se me alentó la computadora 5 veces… Cuidado con las cosas en 3D. Recomiendo NO hacer otras cosas aparte de Mathematica.

Estas funciones están hechas para ser vistas en Mathematica, pero también pueden hacerle modificaciones para correrlas en su programa (solamente sé usar Mathematica, no puedo ayudar en otros programas). Por ejemplo, en la TI pueden graficar directamente las funciones del corazón en 2D (tanto en polar como en el otro). Obviamente la TI cuenta con algunas limitaciones (como color), pero se da a entender la figura).




No hay comentarios:

Publicar un comentario