Liebe Texwelt, ich würde mein Tikzpicture gerne um die x-Achse rotieren. Das Tikzpicure entspricht einem Kreis. Dieser sollte nach dem rotieren also einer Ellipse ähneln. Hab schon verschiedenes im Internet gelesen, meistens waren dabei allerdings Koordinaten im Spiel, was bei meinem TIkzpicture ja nicht der Fall ist. Open in Online-Editor
\documentclass[fleqn,12pt,a4paper,german]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage{tikz} \usepackage{wasysym} \begin{document} \begin{tikzpicture} \node at (0,0) {\CIRCLE}; [ point/.default=5pt ] \foreach[count=\i,evaluate=\i as \angle using (\i)*360/5] \text in {% \colorbox {gray} {0\textcolor{white}1} BCDD,\colorbox {gray} {0\textcolor{white}2} BCDD,\colorbox {gray} {0\textcolor{white}3} ABAC,\colorbox {gray} {0\textcolor{white}4} \textcolor{green}{\checked} ,\colorbox {gray} {0\textcolor{white}0} CCDE, % Beschriftung der Kreise } \node[rotate=\angle, anchor=west] (node\i) at (\angle:0.8) {\text}; \def\Radius{6.25} \def\radius{3.7} \begin{scope}[even odd rule]% auch zum Lokalhalten des Beschneidens \clip circle[radius=\Radius]; \clip[rotate=19.75] (3.8,0) -- (3.8,0.44) -- (5:\Radius) arc (5:360:\Radius)--cycle; \shade[shading=radial, inner color=black, outer color=gray!60] circle[radius=\Radius] circle[radius=\radius] ; \end{scope} \def \n {3} \def \radius {7.3cm} \def \margin {8}; % margin in angles, depends on the radius \end{tikzpicture} \end{document}
Ergebnis 5 von 9
show 4 more comments
|
Dafür gibt es eine Library (3d) oder ein package ( Öffne in Overleaf
\documentclass[tikz,border=3.14mm]{standalone} \usepackage{wasysym} \usetikzlibrary{3d} \makeatletter % from https://tex.stackexchange.com/a/48776/121799 \tikzoption{canvas is xy plane at z}[]{% \def\tikz@plane@origin{\pgfpointxyz{0}{0}{#1}}% \def\tikz@plane@x{\pgfpointxyz{1}{0}{#1}}% \def\tikz@plane@y{\pgfpointxyz{0}{1}{#1}}% \tikz@canvas@is@plane } \tikzoption{canvas is xz plane at z}[]{% \def\tikz@plane@origin{\pgfpointxyz{0}{0}{#1}}% \def\tikz@plane@x{\pgfpointxyz{1}{#1}{0}}% \def\tikz@plane@y{\pgfpointxyz{0}{#1}{1}}% \tikz@canvas@is@plane } \makeatother \begin{document} % Du kannst Dich mit diesen Koordinaten spielen \begin{tikzpicture}[y={(0.5cm,0.5cm)},x={(0.5cm,-0.5cm)}, z={(0cm,1cm)},font=\sffamily] \begin{scope}[canvas is xz plane at y=0,transform shape] \node at (0,0) {\CIRCLE}; [ point/.default=5pt ] \foreach[count=\i,evaluate=\i as \angle using (\i)*360/5] \text in {% \colorbox {gray} {0\textcolor{white}1} BCDD,\colorbox {gray} {0\textcolor{white}2} BCDD,\colorbox {gray} {0\textcolor{white}3} ABAC,\colorbox {gray} {0\textcolor{white}4} \textcolor{green}{\checked} ,\colorbox {gray} {0\textcolor{white}0} CCDE, % Beschriftung der Kreise } \node[rotate=\angle, anchor=west] (node\i) at (\angle:0.8) {\text}; \def\Radius{6.25} \def\radius{3.7} \begin{scope}[even odd rule]% auch zum Lokalhalten des Beschneidens \clip circle[radius=\Radius]; \clip[rotate=19.75] (3.8,0) -- (3.8,0.44) -- (5:\Radius) arc (5:360:\Radius)--cycle; \shade[shading=radial, inner color=black, outer color=gray!60] circle[radius=\Radius] circle[radius=\radius] ; \end{scope} % what are these definitions good for? % \def \n {3} % \def \radius {7.3cm} % \def \margin {8}; % margin in angles, depends on the radius \end{scope} \end{tikzpicture} \end{document} Ich habe natürlich keine Ahnung, welche Perspektive Dir vorschwebt, aber Du kannst mit den Koordinaten oben spielen oder auf Und wenn ich den Titel der Frage wörtlich nehme, kann ich den Plot wirklich in einer Animation rotieren. Öffne in Overleaf
\documentclass[tikz,border=3.14mm]{standalone} \usepackage{wasysym} \usetikzlibrary{3d} \makeatletter % from https://tex.stackexchange.com/a/48776/121799 \tikzoption{canvas is xy plane at z}[]{% \def\tikz@plane@origin{\pgfpointxyz{0}{0}{#1}}% \def\tikz@plane@x{\pgfpointxyz{1}{0}{#1}}% \def\tikz@plane@y{\pgfpointxyz{0}{1}{#1}}% \tikz@canvas@is@plane } \tikzoption{canvas is xz plane at z}[]{% \def\tikz@plane@origin{\pgfpointxyz{0}{0}{#1}}% \def\tikz@plane@x{\pgfpointxyz{1}{#1}{0}}% \def\tikz@plane@y{\pgfpointxyz{0}{#1}{1}}% \tikz@canvas@is@plane } \makeatother \begin{document} % Du kannst Dich mit diesen Koordinaten spielen \foreach \X in {92,97,...,452} { \begin{tikzpicture}[y={({cos(\X)*1cm},{sin(\X)*1cm})},x={(1cm,0cm)}, z={(0cm,1cm)},font=\sffamily] \path[use as bounding box] (-7,0,-7) rectangle (7,0,7); \begin{scope}[canvas is xy plane at z=0,transform shape] \node at (0,0) {\CIRCLE}; \foreach[count=\i,evaluate=\i as \angle using (\i)*360/5] \text in {% \colorbox {gray} {0\textcolor{white}1} BCDD,\colorbox {gray} {0\textcolor{white}2} BCDD,\colorbox {gray} {0\textcolor{white}3} ABAC,\colorbox {gray} {0\textcolor{white}4} \textcolor{green}{\checked} ,\colorbox {gray} {0\textcolor{white}0} CCDE, % Beschriftung der Kreise } \node[rotate=\angle, anchor=west] (node\i) at (\angle:0.8) {\text}; \def\Radius{6.25} \def\radius{3.7} \begin{scope}[even odd rule]% auch zum Lokalhalten des Beschneidens \clip circle[radius=\Radius]; \clip[rotate=19.75] (3.8,0) -- (3.8,0.44) -- (5:\Radius) arc (5:360:\Radius)--cycle; \shade[shading=radial, inner color=black, outer color=gray!60] circle[radius=\Radius] circle[radius=\radius] ; \end{scope} \end{scope} \end{tikzpicture} } \end{document} |
Ein rotierter Kreis könnt beispielsweise ein Torus werden, oder auch eine Kugel. Oder eine Kreisscheibe mit Loch. Aber eine Ellipse? Kannst Du das Dir vorschwebende Bild vielleicht per Hand zeichnen und als Bild in die Frage einfügen?
Ich glaube es geht darum, die Darstellung des Kreises zu ändern. In der x-z-Ebene wird er als Kreis dargestellt, während er in der x-y-Ebene als Ellipse dargestellt wird. x zeigt bei mir nach recht, y nach hinten und z nach oben.
Für mich stellt sich aber gleich die Frage, was in dem Fall mit dem Text passieren soll.
Genau sudo! Ich möchte sozusagen die Perspektive, als würde mein Kreis auf einem Tisch liegen und ich schaue vom Stuhl davor drauf. Also möchte ich meinen Kreis bzw. das Tikzpicture um 90° "nach hinten" umklappen
Ich würde gerne das ganze Tikzpicture inkl. Text um die x-Achse rotieren. Es soll danach so sein, dass auch der Text durch die Rotation verzerrt ist.
@sudo Danke, ich ging erstmal davon aus, dass Rotieren um eine Achse bedeutet, einen Rotationskörper zu erzeugen. Hm, vielleicht mit einer Koordinatentransformation machbar, wenn das jemand hinkriegt...
Koordinatentransformation habe ich bereits ausprobiert - leider ohne Erfolg...
@laa21794 Wie denn? Ist immer gut, das Versuchte auch mit in der Frage zu notieren. Vielleicht sieht man dabei eine Verbesserung oder merkt, was bereits nicht geklappt hat ehe man selbst das gleiche versucht.
Bei meinem Versuch habe ich mich an den Vorschlag "Edit2" gehalten. http://tex.stackexchange.com/questions/67573/tikz-shift-and-rotate-in-3d
Ich würde als einfache Lösung die Zeichnung mit Dokumentenklasse
standalone
erzeugen und diese dann im Original mitheight
kleiner alswidth
einbinden.