The surface show below is very beautiful; however, I don't know its function either as an implicit function or in parametric form.
Anyone have an idea about it and how to draw it with Mathematica?
Mathematica Stack Exchange is a question and answer site for users of Wolfram Mathematica. It only takes a minute to sign up.
Sign up to join this communityThe surface show below is very beautiful; however, I don't know its function either as an implicit function or in parametric form.
Anyone have an idea about it and how to draw it with Mathematica?
Consider this:
ParametricPlot3D[
RotationTransform[a, {0, 1, 0}][{0, 0, Sin[3 a] + 5/4}],
{a, 0, 2 Pi}, Evaluated -> True]
Now rotate this around a circle, while rotating it at the same time around its' origin:
ParametricPlot3D[
RotationTransform[b, {0, 0, 1}][{6, 0, 0} +
RotationTransform[a + 3 b, {0, 1, 0}][{0, 0, Sin[3 a] + 5/4}]],
{a, 0, 2 Pi}, {b, 0, 2 Pi}, PlotPoints -> 40, Evaluated -> True]
EDIT:
A color function, omitting surface mesh, fixing direction of rotation and adding a hint of transparency, like the original:
ParametricPlot3D[
RotationTransform[b, {0, 0, 1}][{6, 0, 0} +
RotationTransform[a - 3 b + Pi, {0, 1, 0}][{0, 0, Sin[3 a] + 5/4}]],
{a, 0, 2 Pi}, {b, 0, 2 Pi}, PlotPoints -> 40,
ColorFunction -> (RGBColor[#, 0, 1 - #, 4/5] &[1/2 + {1, -1}.{#1, #2}/2] &),
Mesh -> False, Evaluated -> True]
This might be slightly more intuitive way to write ColorFunction
using Blend
and Opacity
in PlotStyle
:
ParametricPlot3D[
RotationTransform[b, {0, 0, 1}][{6, 0, 0} +
RotationTransform[a - 3 b + Pi, {0, 1, 0}][{0, 0, Sin[3 a] + 5/4}]],
{a, 0, 2 Pi}, {b, 0, 2 Pi},
PlotPoints -> 40,
PlotStyle -> Opacity[4/5],
ColorFunction -> (Blend[{Red, Blue}, 1/2 + {1, -1}.{#1, #2}/2] &),
Mesh -> False, Evaluated -> True]
Abs[]
them for a rep boost :D
$\endgroup$
I'm adding this answer to put on record an answer to the second part the question, "what is the parametric equation?".
The parametric equation is implicit in Kirma's RotationTransform
expression. To extract it, one need simply write something like
Clear[a, b]
quoit[a_, b_] :=
Evaluate @ RotationTransform[b, {0, 0, 1}][{6, 0, 0} +
RotationTransform[a - 3 b + Pi, {0, 1, 0}][{0, 0, Sin[3 a] + 5/4}]]
The function defined by the above expression, looks like this
Definition @ quoit
quoit[a_, b_] := { Cos[b] (6 - (5/4 + Sin[3 a]) Sin[a - 3 b]), (6 - (5/4 + Sin[3 a]) Sin[a - 3 b]) Sin[b], -Cos[a - 3 b] (5/4 + Sin[3 a]) }
{0,1,0}
is inside the first transform.
$\endgroup$