2
1

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}

gefragt 18 Aug '15, 16:22

laa21794's gravatar image

laa21794
29431821
Akzeptiert-Rate: 0%

bearbeitet 07 Feb '16, 11:53

saputello's gravatar image

saputello
11.1k154365

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?

(18 Aug '15, 16:34) stefan ♦♦
1

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.

(18 Aug '15, 16:39) sudo

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

(18 Aug '15, 16:44) laa21794

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.

(18 Aug '15, 16:47) laa21794

@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...

(18 Aug '15, 16:50) stefan ♦♦

Koordinatentransformation habe ich bereits ausprobiert - leider ohne Erfolg...

(18 Aug '15, 16:53) laa21794

@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.

(18 Aug '15, 18:40) stefan ♦♦

Bei meinem Versuch habe ich mich an den Vorschlag "Edit2" gehalten. http://tex.stackexchange.com/questions/67573/tikz-shift-and-rotate-in-3d

(18 Aug '15, 21:03) laa21794

Ich würde als einfache Lösung die Zeichnung mit Dokumentenklasse standalone erzeugen und diese dann im Original mit height kleiner als width einbinden.

(19 Aug '15, 17:28) sudo
Ergebnis 5 von 9 show 4 more comments

Dafür gibt es eine Library (3d) oder ein package (tikz-3dplot). Ich schreibe erst Mal die Antwort für die Library. Das package ist evtl. von Vorteil, wenn Du die Perspektive einfach durch Angabe der Rotationswinkel ändern magst, hat aber auch gewisse Nachteile.

Ö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}

alt text

Ich habe natürlich keine Ahnung, welche Perspektive Dir vorschwebt, aber Du kannst mit den Koordinaten oben spielen oder auf tikz-3dplot umschwenken. Falls Du Pfeile etc. auch transformieren magst, brauchst Du evtl. \pgflowlevelsynccm, siehe hier.

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}

alt text

Permanenter link

beantwortet 09 Jun '18, 07:03

Community's gravatar image

Community
21
Akzeptiert-Rate: 56%

bearbeitet 09 Jun '18, 22:09

Gel%C3%B6scht's gravatar image

Gelöscht
(ausgesetzt)

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×728
×1
×1

gestellte Frage: 18 Aug '15, 16:22

Frage wurde gesehen: 7,684 Mal

zuletzt geändert: 09 Jun '18, 22:09