This is very beautiful, thank you for sharing ! I love your choice of the colors for the background and the surface? What is your process of choosing colors for your GIFs?
BTW in Wolfram Language there is built-in way of conversion hexadecimal to RGB color. I think people tend to miss it because it is in the details section on RGBColor function:
So your code would work the same way with RGBColor["#d5f26d"]
and RGBColor["#1f2947"]
. I have also noticed that broken surface animated with some delay makes a beautiful visual too:
Enneper[u_, v_, ?_] := Re[E^(I ?) {z - z^3/3, I z + I z^3/3, z^2} /. z -> u + I v]
Manipulate[Graphics3D[{RGBColor["#d5f26d"], Thickness[.003],
Line[Table[Enneper[u, v, ?], {u, -3/2, 3/2, 1/5}, {v, -3/2, 3/2, 1/20}]],
Line[Table[Enneper[u, v, ? + Pi], {v, -3/2, 3/2, 1/5}, {u, -3/2, 3/2, 1/20}]]},
PlotRange -> 4.5, ViewPoint -> Top, Boxed -> False, Axes -> None,
Background -> RGBColor["#1f2947"], ImageSize -> 540, ViewAngle -> .47],
{?, 0, 2 ?}]
But I think my GIF is more aliased and jumpy, - do you have some special settings for Export
? I think you might be exporting to lossless PNGs and assembling the GIF in another software, or something like that?