Drehtransformation mit pgfplots
Ich versuche gerade, diesen Plot mit pgfplots zu generieren:
![Verwickelter Plot][1]
Ich sah eine aufschlussreiche [Beschreibung auf Mathematica.SE][2] und gehe danach vor: zunächst den Querschnitt überlegen und dann drehen. Den Querschnitt gibt diese zweidimensionale Abbildung:
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{polar}
\begin{document}
\begin{tikzpicture}
\begin{polaraxis}
\addplot[mark=none, domain=0:360, samples=100]
{sin(3*x) + 1.25};
\end{polaraxis}
\end{tikzpicture}
\end{document}
![2D-Plot][3]
Diese stelle ich nun dreidimensional dar. Ich fülle die Fläche zur besseren Sicht einmal, und der Einfachheit halber bette ich sie auf die xy-Ebene. Am Ende kann man immer noch den Viewpoint ändern.
\documentclass[border=10pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot3 [domain=0:360, samples=60, fill=blue!30, opacity=0.8]
( {cos(x)*(sin(3*x) + 1.25)},
{sin(x)*(sin(3*x) + 1.25)}, 0 );
\end{axis}
\end{tikzpicture}
\end{document}
![3D-Plot][4]
Die Transformation von polar auf kartesisch sieht man übrigens hier gut - das hatte ich zwischendurch als Stil für die Umrechnung (und alternativ `data cs=polar` als Option für den Plot):
\pgfplotsset{
polar/.style = {
x filter/.code = \pgfmathparse{cos(deg(rawx))*rawy},
y filter/.code = \pgfmathparse{sin(deg(rawx))*rawy}
}
}
Jetzt brauchen wir "nur" noch diesen Plot (ohne fill, opacity) im Kreis zu drehen und dabei um seinen Mittelpunkt rotieren. Das erstere Drehen hat Jake [hier am Beispiel][5] um die z-Achse im Prinzip beschrieben durch Plotten von `({sin(x)*y},{cos(x)*y},{ <function of y> })`.
Eine Mathematica-Version des ganzen Ganzen steht auf [Mathematica.SE][6], [Mathematica.SE][2], siehe evtl. auch [RotationTransform Referenz][7], Referenz][6], falls obiges nicht genügt. Schafft jemand, das auf pgfplots zu adaptieren?
[1]: http://texwelt.de/wissen/upfiles/twisted.png
[2]: http://mathematica.stackexchange.com
http://mathematica.stackexchange.com/questions/37698/how-to-plot-a-certain-surface-what-is-its-parametric-equation
[3]: http://texwelt.de/wissen/upfiles/2d-plot.png
[4]: http://texwelt.de/wissen/upfiles/3D-Plot.png
[5]: http://tex.stackexchange.com/q/142152/213
[6]: http://mathematica.stackexchange.com
[7]: http://reference.wolfram.com/language/ref/RotationTransform.html