Verwandt mit wie-kann-ich-berechnete-koordinaten-punkte-aus-einer-schleife-verbinden


Hallo! Wie kann ich vier eigene Koordinatenachsen definieren, so dass ich Punkte in der Form (w,x,y,z), z.B. (1,0,0,2) eingeben kann?

alt text

Open in Online-Editor
\documentclass[a4paper]{amsart}

\usepackage{selinput}
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage[ngerman]{babel}

\usepackage{tikz}
\usetikzlibrary{calc}

\begin{document}
% 4D-Graph  ==================
\def\beta{22.5}
\begin{tikzpicture}[scale=2.5, >=latex,
remember picture, 
]

%4D-Koordinatensystem:
\draw[->] (0,0) -- ({1.5*cos(7*\beta)},{1.5*sin(7*\beta)})  node[above]{$w$};
\draw[->] (0,0) -- ({1.5*cos(5*\beta)},{1.5*sin(5*\beta)}) node[above]{$x$};
\draw[->] (0,0) --({1.5*cos(3*\beta)},{1.5*sin(3*\beta)}) node[yshift=2mm]{$y$};
\draw[->] (0,0) -- ({1.5*cos(\beta)},{1.5*sin(\beta)}) node[xshift=2mm]{$z$};

%2D-Zeichenebene
\draw[->, gray]  (-1.5,0) --  (1.5,0) node[right]{$\bar{x}$};
\draw[->, gray]  (0,0) --  (0,1.5) node[above]{$\bar{y}$};

\end{document}

gefragt 28 Aug '15, 07:18

cis's gravatar image

cis
5.8k10108202
Akzeptiert: 69%

bearbeitet 29 Aug '15, 06:34


Ich habe ein Beispiel mit neuem Koordinatensystem vorbereitet. Da es sich bei (w,x,y,z) vermutlich um Quaternionen handelt habe ich es mal quat cs getauft. Die Syntax ist einfach: Der Punkt wird angegeben mit

Open in Online-Editor
(quat cs:w=<w>,x=<x>,y=<y>,z=<z>)

wobei alle Einträge optional sind (ein leerer (quat cs:) verhält sich so, als wären alle Komponenten null). Eine Möglichkeit den Parser zu verändern, sodass eine Eingabe mittels (w,x,y,z) möglich ist habe ich noch nicht gefunden. Für sachdienliche Hinweise diesbezüglich bin ich dankbar.

Open in Online-Editor
\documentclass{article}
\usepackage{tikz}
\begin{document}
\makeatletter
\tikzset{
  cs/beta/.store in=\tikz@cs@beta,
  cs/w/.store in=\tikz@cs@w
}
\tikzdeclarecoordinatesystem{quat}%
{%
  \tikzset{cs/.cd,beta=22.5,w=0,x=0,y=0,z=0,#1}%
  \pgfpointadd{\pgfpointxy{0}{0}}{%
    \pgfpointadd{\pgfpointpolarxy{7*\tikz@cs@beta}{\tikz@cs@w}}{%
      \pgfpointadd{\pgfpointpolarxy{5*\tikz@cs@beta}{\tikz@cs@x}}{%
        \pgfpointadd{\pgfpointpolarxy{3*\tikz@cs@beta}{\tikz@cs@y}}{%
          \pgfpointpolarxy{1*\tikz@cs@beta}{\tikz@cs@z}%
        }%
      }%
    }%
  }%
}
\def\beta{22.5}
\begin{tikzpicture}
  \begin{scope}[red,->]
    \draw (0,0) -- ({1.5*cos(7*\beta)},{1.5*sin(7*\beta)})
      node[label={7*\beta:$w$}] {};
    \draw (0,0) -- ({1.5*cos(5*\beta)},{1.5*sin(5*\beta)})
      node[label={5*\beta:$x$}] {};
    \draw (0,0) -- ({1.5*cos(3*\beta)},{1.5*sin(3*\beta)})
      node[label={3*\beta:$y$}] {};
    \draw (0,0) -- ({1.5*cos(1*\beta)},{1.5*sin(1*\beta)})
      node[label={1*\beta:$z$}] {};    
  \end{scope}

  \begin{scope}[thick,->]
    \draw (0,0) -- (quat cs:w=1);
    \draw (0,0) -- (quat cs:x=1);
    \draw (0,0) -- (quat cs:y=1);
    \draw (0,0) -- (quat cs:z=1);
  \end{scope}

  \draw[every node/.style={draw,inner sep=1pt}]
       (quat cs:w=0.75) node {}
    -- (quat cs:x=1.25) node {}
    -- (quat cs:y=0.5) node {}
    -- (quat cs:z=1) node {};
  \node[draw,fill,circle,inner sep=2pt,label={right:(1,0,0,2)}]
    at (quat cs:w=1,z=2) {};
\end{tikzpicture}
\end{document}

alt text

Permanenter link

beantwortet 28 Aug '15, 14:38

Henri's gravatar image

Henri
11.3k42232

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×529
×9

Frage gestellt: 28 Aug '15, 07:18

Frage wurde angeschaut: 2,290 Mal

Zuletzt aktualisiert: 29 Aug '15, 06:34