Entrada destacada

Distancia media de dos puntos en un cuadrado unitario

martes, 10 de julio de 2018

La Super fórmula de Gielis


Es una generalización en coordenadas polares de la superelipse o curva de Lamé (de la cual publique aquí), fue propuesta en el año de 2003 por el biólogo Johan Gielis para simular la forma de algunos organismos unicelulares, se define como:


donde r es el radio y θ el ángulo para la representación polar.

En Mathematica

Definimos la función:

formula[{a_, b_, m_}, {n1_, n2_, n3_}, 
  phi_] := (Abs[Cos[m phi/4]/a]^n2 + Abs[Sin[m phi/4]/b]^n3)^(-1/n1)

Algunos de los mejores resultados se obtienen para a=b=1, veamos algunos ejemplos:

Graphics[#, Ticks -> None, Axes -> True, 
   AspectRatio -> 
    Automatic] & /@ (PolarPlot[
      formula[Sequence @@ Rest[#], θ, {θ, 0, 2 Pi},
      PlotLabel -> First[#],
      Axes -> None, 
      PlotStyle -> 
       Directive[{EdgeForm[Blue], FaceForm[Hue[0.5]]}]] & /@ {
     {"m=3; n1=4.5; n2=10; n3=10", {1, 1, 3}, {4.5, 10, 10}},
     {"m=4; n1=12; n2=15; n3=15", {1, 1, 4}, {12, 15, 15}},
     {"m=7; n1=10; n2=6; n3=6", {1, 1, 7}, {10, 6, 6}},
     {"m=5; n1=4; n2=4; n3=4", {1, 1, 5}, {4, 4, 4}},
     {"m=5; n1=2; n2=7; n3=7", {1, 1, 5}, {2, 7, 
       7}}, {"m=3; n1=5; n2=18; n3=18", {1, 1, 3}, {5, 18, 
       18}}, {"m=7; n1=3; n2=4; n3=17", {1, 1, 7}, {3, 4, 
       17}}, {"m=7; n1=3; n2=6; n3=6", {1, 1, 7}, {3, 6, 
       6}}, {"m=8; n1=1; n2=1; n3=8", {1, 1, 8}, {1, 1, 
       8}}, {"m=8; n1=1; n2=5; n3=8", {1, 1, 8}, {1, 5, 
       8}}, {"m=6; n1=1; n2=7; n3=8", {1, 1, 6}, {1, 7, 
       8}}, {"m=4; n1=1; n2=7; n3=8", {1, 1, 4}, {1, 7, 8}}
     } /. Line -> Polygon)



Resumiéndolas en un Manipulate:

Manipulate[
 PolarPlot[
   formula[{1, 1, m}, {n1, n2, n3},θ], {θ, 0, 
    2 \[Pi]},Axes -> None, 
   PlotStyle -> Directive[{EdgeForm[Blue], FaceForm[Hue[0.5]]}]] /. 
  Line -> Polygon, {m, {4, 5, 6, 7, 8}}, {n1, {1, 2, 3}}, {n2, {4, 5, 6, 7, 8}}, {n3, {4, 5, 6, 7, 8}}]



La Super Fórmula en 3D

Consideraremos las coordenadas en cartesianas dadas por:



Así, obtenemos :

Manipulate[
 ParametricPlot3D[{formula[{1, 1, m}, {n1, n2, n3}, θ] Cos[θ] formula[{1, 1, m}, {n1, n2, n3}, φ] Cos[φ], 
   formula[{1, 1, m}, {n1, n2, n3}, θ] Sin[θ] formula[{1, 1, m}, {n1, n2, n3}, φ] Cos[φ], 
   formula[{1, 1, m}, {n1, n2, n3}, φ] Sin[φ]}, {θ, 0, 2 Pi}, 
{φ, 0, 2 Pi}],{m, {4, 5, 6, 7, 8}}, {n1, {1, 2, 3}}, 
{n2, {4, 5, 6, 7, 8}}, {n3, {4, 5, 6, 7, 8}}]



La invitación es para modificar el código y darle otros valores a los parámetros que definen la Super fórmula.


Para aprender más sobre Mathematica ingrese aquí sitio de aprendizaje de Wolfram o en mi website ustamathematica.wixsite.com/basicas


No hay comentarios.:

Publicar un comentario