PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tikz Effektives Koordinatensystem mit nodes?



Barny.G
24-01-2012, 12:56
Hallo liebe Gemeinde,

vor ein paar Wochen habe ich das tikz-paket entdeckt und bastele nun schon eine Weile damit herum. Ja, und genau das ist mein Prob. Ich würde gern das unprofessionelle basteln einstellen und die ganze Sache etwas effektiver angehen.

Mal ein kurzer Beispielcode:

\documentclass{article}
\usepackage{geometry}
\geometry{a4paper,left=35mm,right=28mm, top=25mm, bottom=27mm}

\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning,calc}

\begin{document}
\pagestyle{empty}



\noindent
\begin{tikzpicture}[scale=1.0]
\begin{scope}[thin,black]
%x-y-Koordinatensystem
\draw[-latex] (0,0) ++(0:3) --++(90:6);
\draw[] (0,0) ++(0:3) ++(90:6) ++(185:0.2) node{$y$};
\draw[-latex] (0,0) ++(90:3) --++(0:6);
\draw[] (0,0) ++(90:3) ++(0:6) ++(265:0.2) node{$x$};

%u-v-Koordinatensystem
\draw[-latex] (0,0) --++(60:6);
\draw[] (0,0) ++(60:6) ++(185:0.2) node{$u$};
\draw[-latex] (0,0) --++(-30:6);
\draw[] (0,0) ++(-30:6) ++(265:0.2) node{$v$};

\end{scope}
\end{tikzpicture}

\end{document}


Nun möchte ich gern das sekundäre (u,v) Koordinatensystem mittig (achsscheidend) in das primäre Koordinatensystem (x,y) zeichnen. Ja, ich könnte nun die Koordinaten für tikz von Hand ausrechnen, aber mir hat "jemand" erzählt, dass das alles tikz selber kann. (und auch macht)

Wie kann ich das Ganze schön effektiv zeichnen? Es ist ja klar, in das KooSys kommt dann noch eine Menge mehr rein und ich mag nun nicht für jeden Buchstaben und Strich alles von Hand ausrechnen...

Kann mir "jemand" ;) helfen?

Viele Grüße

Thomas

krihaa
25-01-2012, 00:50
Vielleicht so? Der Schnittpunkt aller Koordinatenachsen liegt dann bei (0,0), was wahrscheinlich auch die Eingabe bzw. Positionierung weiterer Objekte einfacher machen wird.

\documentclass{article}
\usepackage{geometry}
\geometry{a4paper,left=35mm,right=28mm, top=25mm, bottom=27mm}

\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning,calc}

\begin{document}
\pagestyle{empty}



\noindent
\begin{tikzpicture}[scale=1.0]
\begin{scope}[thin,black]
%x-y-Koordinatensystem
\draw[-latex] (90:-3) --++(90:6) node[left]{$y$};
\draw[-latex] (0:-3) --++(0:6) node[below]{$x$};

%u-v-Koordinatensystem
\draw[-latex] (60:-3) --++(60:6) node[left]{$u$};
\draw[-latex] (-30:-3) --++(-30:6) node[below]{$v$};

\end{scope}
\end{tikzpicture}

\end{document}
Gruß
Kristian

Barny.G
25-01-2012, 10:52
Hallo Kristian,

das macht es schon etwas leichter. Jetzt habe ich die Null schon mal in der "Mitte" :)

Was ich jedoch auch gern wissen würde ist, wie kann ich mir einen (virtuellen) Punkt definieren auf den (oder andere) ich mich dann beziehen kann.

So nach dem Motto:

Punkt1 = (1,3);
Punkt2 = (1.23,-2.22);
draw[] Punkt1 --++(0,4);

draw[] (0,0) --++("Mitte zwischen Punkt1 und Punkt2");

... eben "wirklich" rechnen. Geht das?

Viele Grüße

Thomas

Barny.G
25-01-2012, 20:06
Hallo...

Hat denn noch niemand mit diesem tijz was gemacht, in dem auch "gerechnet" wird? :(

Ein kleines Beispiel würde reichen...

Thomas

krihaa
25-01-2012, 21:12
Hallo Thomas,

Punkte definieren und damit rechnen ist gar kein Problem :)

\documentclass{article}
\usepackage{geometry}
\geometry{a4paper,left=35mm,right=28mm, top=25mm, bottom=27mm}

\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning,calc}

\begin{document}
\pagestyle{empty}



\noindent
\begin{tikzpicture}[scale=1.0]
\begin{scope}[thin,black]
\draw[help lines] (-3,-3) grid ++(6,6);
%x-y-Koordinatensystem
\draw[-latex] (90:-3) --++(90:6) node[left]{$y$};
\draw[-latex] (0:-3) --++(0:6) node[below]{$x$};

%u-v-Koordinatensystem
\draw[-latex] (60:-3) --++(60:6) node[left]{$u$};
\draw[-latex] (-30:-3) --++(-30:6) node[below]{$v$};

\coordinate (punkt1) at (-1,-1);
\coordinate (punkt2) at (90:2);
\coordinate (punkt3) at (3,0);
\draw[green,dashed] (punkt2) -- (punkt3);
\draw[red] (punkt1) -- ($(punkt2)!0.5!(punkt3)$);

\end{scope}
\end{tikzpicture}

\end{document}
Viele Beispiele zu Tikz findest du übrigens unter http://www.texample.net

Viele Grüße
Kristian

Barny.G
26-01-2012, 09:20
Hallo und moin moin!

Genau das habe ich gesucht! Einfach Klasse - es musste ja sowas geben. Jetzt kann ich endlich tikz auch effektiv nutzen und muß nicht mehr so viel rumrechnen...

VIELEN DANK für den Augenöffner. :)

Thomas