Würde es funktionieren meine 2D Zeichnung hier um die Z-Achse drehen zu lassen? Die momentane Ansicht würde ich als Aufriss bezeichnen. Dh: die Ansicht von Vorne. Ich würde jetzt gerne diese 2D Zeichnung von schräg rechts oder links begutachten.... Bei einem 3D Objekt würde man dann ein wenig vom Seitenriss und Aufriss gleichzeitig sehen.

Achtung mit Drehung meine ich nicht eine Drehung im oder gegen den Uhrzeigersinn der x-Achse.

Hier der schon bekannte Code mit der Zeichnung.

Open in Online-Editor
\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[anchor=south west,inner sep=0](Bild)at(0,0){\color{blue!10}\rule{20cm}{20cm}};
\begin{scope}[ 
xshift=5cm,yshift=8cm, 
opacity=1,
description/.style={
fill=green,
fill opacity=1,
text opacity=1
}
]
\begin{scope}[line width=1pt]
\fill[green](-0.7,0.7)--(-1.1243,0.7)--(-0.7,0.7)--(-0.7,1.1243)--(-0.7,1.1243)--(-1.1243,0.7);
\fill[green](0.7,0.7)--(0.8414,0.7)--(0.7,0.7)--(0.7,0.8414)--(0.7,0.8414)--(0.8414,0.7);
\draw[dash pattern=on 5.5mm off 2mm on .5mm off 2mm, -,line width=0.5pt]( 0,0)--(-4,0);
\draw[dash pattern=on 5.5mm off 2mm on .5mm off 2mm, -,line width=0.5pt]( 0,0)--(0,4);
\draw[dash pattern=on 5.5mm off 2mm on .5mm off 2mm, -,line width=0.5pt]( 0,0)--(4,0);

\draw(0,-0.7)--(-4,-0.7);
\draw(0,-0.7)--(0,0.7);
\draw(0,0.7)--(-4,0.7);
\draw(-0.7,0)--(-0.7,4);
\draw(-0.7,0)--(0.7,0);
\draw(0.7,0)--(0.7,4);
\draw(0,0.7)--(4,0.7);
\draw(0,0.7)--(0,-0.7);
\draw(0,-0.7)--(4,-0.7);
\fill[red](-0.9243,0.7)circle (0.1cm);
\fill[red] (-0.7,0.9243)circle (0.1cm);
\fill[red]  (0.7,2.0414)circle (0.1cm);
\fill[red]  (2.0414,0.7)circle (0.1cm);
\draw[red](-0.9243,0.7)--(-0.9243,1.2);
\node[rotate=0,red] at (-1.1243,1.4){0};
\draw[red](-0.7,0.9243)--(-1.2,0.9243);
\node[rotate=0,red] at (-1.4,1.1243){1};
\draw[red](0.7,2.0414)--(1.2,2.0414);
\node[rotate=0,red] at (1.4,2.2414){2};
\draw[red](2.0414,0.7)--(2.0414,1.2);
\node[rotate=0,red] at (2.2414,1.4){3};

\draw[->,blue,line width=1.5pt]( 0,0)--(0,3)node[left]{$z$};
 \draw[->,blue,line width=1.5pt]( 0,0)--(-3,0)node[above]{$y$};
\end{scope}
\end{scope}
\end{tikzpicture}
\end{document}

Danke.

gefragt 30 Jun '15, 15:29

basel's gravatar image

basel
12961723
Akzeptiert-Rate: 0%

Also zeigt deine z-Achse nach oben?? Die Zeinung ist momentan eine z-x- beziehungsweise z-y-Ebene.

(01 Jul '15, 08:52) Herbert

@Herbert: JA die Z-Achse zeigt nach oben und die Y-Achse nach links. Die X-Achse würde in die Zeichnungsebene hinein schauen und würde als Punkt erscheinen. Ich habe momentan eine z-y Ebene. Es wäre eine Drehung um die Z-Achse.

(01 Jul '15, 10:16) basel

Wenn Du angeben kannst, wie der x- und y-Vektor auf die zweidimensionale Zeichenebene projiziert werden, dann geht das auch halbwegs mit TikZ. Bei komplizierteren dreidimensionalen Sachen ist dann aber PSTricks sicher überlegen.

Wenn y-Achse bei Drehung um 0° nach links und die x-Achse in die Zeichenebene hinein zeigen sollen:

Open in Online-Editor
\pgfmathsetmacro\projektionx{-cos(\winkel+90)}
\pgfmathsetmacro\projektiony{-cos(\winkel)}
\tikzset{x={(\projektionx cm,0cm)},y={(\projektiony cm,0cm)},z={(0cm,1cm)}}

alt text

Code:

Open in Online-Editor
\documentclass[margin=5pt,tikz]{standalone}
\begin{document}
\foreach \winkel in {0,10,...,360}{%
  \pgfmathsetmacro\projektionx{-cos(\winkel+90)}
  \pgfmathsetmacro\projektiony{-cos(\winkel)}
  \tikzset{x={(\projektionx cm,0cm)},y={(\projektiony cm,0cm)},z={(0cm,1cm)}}
  \begin{tikzpicture}[
      strichpunkt/.style={dash pattern=on 5.5mm off 2mm on .5mm off 2mm, -,line width=1pt},
      achse/.style={->,blue},
      punkt/.style={circle,fill,red,inner sep=0pt,minimum size=.2cm},
      dreieck/.style={fill,green},
      nummer/.style={inner sep=.2pt},
    ]
    \node[anchor=south west,inner sep=0](Bild)at(1cm,7cm){\color{blue!10}\rule{8cm}{5cm}};
    \begin{scope}[xshift=5cm,yshift=8cm,line width=2pt]
        \draw[strichpunkt]
          (0,0,0)--(0,4,0)
          (0,0,0)--(0,0,4)
          (0,0,0)--(0,-4,0)
        ;
        \draw[achse](0,0,0)--(3,0,0)node[above]{$x$};
        \draw[achse](0,0,0)--(0,3,0)node[above]{$y$};
        \draw[achse](0,0,0)--(0,0,3)node[left]{$z$};
        \draw
          (0,4,-0.7)--(0,-4,-0.7)
          (0,4,0.7)--(0,-4,0.7)
          (0,0,-0.7)--(0,0,0.7)
          (0,0.7,4)--(0,0.7,0)--(0,-0.7,0)--(0,-0.7,4)
        ;
        \draw(0,0.9243,0.7)coordinate(p1)--+(0,0,.5)node[nummer,above]{0};
        \draw(0,0.7,0.9243)coordinate(p2)--+(0,.5,0)node[nummer,left]{1};
        \draw(0,-0.7,2.0414)coordinate(p3)--+(0,-.5,0)node[nummer,right]{2};
        \draw(0,-2.0414,0.7)coordinate(p4)--+(0,0,.5)node[nummer,above]{3};

        \foreach \i in {1,...,4}\node[punkt] at (p\i){};

        \path[dreieck]
          (0,0.7,0.7)--(0,1.1243,0.7)--(0,0.7,1.1243)--cycle
          (0,-0.7,0.7)--(0,-0.8414,0.7)--(0,-0.7,0.8414)--cycle
        ;
    \end{scope}
  \end{tikzpicture}%
}
\end{document}
Permanenter link

beantwortet 01 Jul '15, 14:19

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

Du musst es mit xelatex laufen lassen oder latex->dvips->ps2pdf. Per Definition zeigt meine y-Achse allerdings nach rechts!

Open in Online-Editor
\documentclass[pstricks]{standalone}
\usepackage{pst-3dplot}
\begin{document}

\multido{\iA=90+15}{24}{%
\begin{pspicture}(-5,-5)(5,5)
\psset{Beta=0,Alpha=\iA}
\psframe*[linecolor=blue!10](-5,-5)(5,5)
  \pstThreeDCoor[xMin=0,yMin=0,zMin=0,linewidth=2pt,linecolor=blue]
  \pscircle*[linecolor=blue!70!black]{2mm}
  \psset{dash=5.5mm 2mm .5mm 2mm}
  \pstThreeDLine[linestyle=dashed,linewidth=1pt](0,-4,0)(0,4,0)
  \pstThreeDLine[linestyle=dashed,linewidth=1pt](0,0,0)(0,0,4)
  \pstThreeDLine[linewidth=2pt](0,-4,-0.7)(0,4,-0.7)
  \pstThreeDLine[linewidth=2pt](0,-4,0.7)(0,4,0.7)
  \pstThreeDLine[linewidth=2pt](0,0,-0.7)(0,0,0.7)
  \pstThreeDLine[linewidth=2pt](0,-0.7,4)(0,-0.7,0)(0,0.7,0)(0,0.7,4)
  \pstThreeDDot[linecolor=red,dotsize=2mm](0,-0.9243,0.7)
  \pstThreeDDot[linecolor=red,dotsize=2mm](0,-0.7,0.9234)
  \pstThreeDDot[linecolor=red,dotsize=2mm](0,0.7,0.9243)
  \pstThreeDDot[linecolor=red,dotsize=2mm](0,2.0414,0.7)
  \pstThreeDLine[linewidth=2pt](0,-0.9243,0.7)(0,-0.9243,1.2)\pstThreeDPut(0,-0.9243,1.25){0}
  \pstThreeDLine[linewidth=2pt](0,-0.7,0.9243)(0,-1.2,0.9243)\pstThreeDPut(0,-1.2,1){1}
  \pstThreeDLine[linewidth=2pt](0,0.7,2.0414)(0,1.2,2.0414)\pstThreeDPut(0,1.2,2.1){2}
  \pstThreeDLine[linewidth=2pt](0,2.0414,0.7)(0,2.0414,1.2)\pstThreeDPut(0,2.0414,1.25){3}
  \pstThreeDTriangle[linecolor=green,fillstyle=solid,fillcolor=green]
    (0,-1.1243,0.7)(0,-0.7,0.7)(0,-0.7,1.1243)
  \pstThreeDTriangle[linecolor=green,fillstyle=solid,fillcolor=green]
    (0,0.7,0.7)(0,0.8414,0.7)(0,0.7,0.8414)%
\end{pspicture}%
}

\end{document}

alt text

Alternative Darstellung mit BETA=10,...

alt text

Permanenter link

beantwortet 01 Jul '15, 12:56

Herbert's gravatar image

Herbert
5.1k34
Akzeptiert-Rate: 31%

bearbeitet 01 Jul '15, 13:02

Hi Herbert,

Ich bin jetzt auch neugierig geworden... Was meinst du mit "Du musst es mit xelatex laufen lassen oder latex->dvips->ps2pdf. " Wo finde ich diese Einstellung bei mir? lg

(01 Jul '15, 14:11) PK1

@PK1 Ich habe Deinen Beitrag in einen Kommentar umgewandelt. Antworten sind hier immer echte Antworten auf die Frage.

In vielen Editoren kann man wählen, wie kompiliert wird. xelatex ist dabei dann genauso eine Möglichkeit wie sonst pdflatex. Bei dem anderen Weg werden neben latex noch die Programme dvips und ps2pdf zur Nachbereitung genutzt, um am Ende ein pdf zu erhalten. Wo sich diese Auswahlmöglichkeiten in Deinem Editor befinden bzw. ob es sie überhaupt gibt, können wir nicht wissen. Du kannst aber immer auch über die Konsole kompilieren.

(01 Jul '15, 14:28) esdd

@PK1: Welchen Editor benutzt du?

(01 Jul '15, 14:44) Herbert
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:

×731
×8

gestellte Frage: 30 Jun '15, 15:29

Frage wurde gesehen: 10,782 Mal

zuletzt geändert: 01 Jul '15, 14:44