PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ausschnitt aus tikz



Fite
30-08-2013, 16:13
Hallo Leute,

ich möchte gerne folgende tikz-Grafik einbinden, allerdings ohne die Punkte M2 und M3, die aber zur Erstellung der Grafik wichtig sind. Im Prinzip will ich also nur das Raster als Bild haben. Gibt es da einen Befehl, mit dem man ein solches Bild "zurechtschneiden" kann? VG, Fite




\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc,through}
\begin{document}
\begin{tikzpicture}
\tikzset{punkt/.style={fill,circle,inner sep=0pt,label=#1}}
\draw[help lines] (0,-2) grid (6,2) ;
\node[] (A) at (1,-1) {} ;
\node[] (B) at (4.5,1) {} ;
\node[] (C) at (5,1) {} ;
\node[] (D) at (1.5,-1) {} ;

\begin{scope}
\def\r{-5}
\node[punkt=M$_2$] (X) at ($(A)!.5!(B)!{\r/(sin(60)*2)}!90:(B)$) {};
\clip (A)++(0,-1) rectangle (B) ;
\node (X') [draw,red,circle through=(A)] at (X) {};
\end{scope}

\begin{scope}
\def\r{-5}
\node[punkt=M$_3$] (Y) at ($(C)!.5!(D)!{\r/(sin(60)*2)}!90:(D)$) {};
\clip (C)++(0,1) rectangle (D) ;
\node (Y') [draw,red,circle through=(C)] at (Y) {};
\end{scope}

\end{tikzpicture}
\end{document}

u_fischer
30-08-2013, 16:33
Wieso verwendest du nicht einfach am Anfang einen weitere \clip-Befehl?

Fite
30-08-2013, 16:46
Hm, jo ich hab mir das Beispiel irgendwie zusammengeklaubt, aber den \clip-Befehl noch nicht so wirklich verstanden...

u_fischer
30-08-2013, 16:53
Nun, wenn du die Punkte nicht aus einem speziellen Grund beschriftet hast, dann kannst du natürlich auch einfach sowas machen:


\node[overlay] (X) at ($(A)!.5!(B)!{\r/(sin(60)*2)}!90:(B)$) {};

(und entsprechend für (Y)).

Fite
30-08-2013, 17:02
Habs jetzt einfach über den Befehl



\clip [ draw ] (0 ,-2) rectangle (6 ,2) ;


gelöst. Vielen Dank für den Tipp :) Allerdings möchte ich keinen Rahmen um das Clipping haben. Gibt es da etwas? VG, Fite

egs
30-08-2013, 17:04
Falls der Code von www.texwelt.de (http://texwelt.de/wissen/fragen/1490/wie-kann-ich-mit-tikz-einen-kreisbogen-zwischen-zwei-punkten-zeichnen/1492) stammt, solltest du dir vielleicht dort auch noch die geänderte Antwort von Clemens durchlesen. In seiner ursprünglichen Lösung war der Radius falsch berechnet. Außerdem gibt es da weitere Lösungsvorschläge.

Wenn der Rahmen nicht gezeichnet werden soll, dann lass die Option draw weg und nimm nur:

\clip (0 ,-2) rectangle (6 ,2) ;

Fite
30-08-2013, 18:49
Also dieser Clemens meint ja, dass man \r*sin(60) statt \r/(sin(60)*2) rechnen sollte. Ob das stimmt, keine Ahnung...

cgnieder
31-08-2013, 18:31
Also dieser Clemens meint ja, dass man \r*sin(60) statt \r/(sin(60)*2) rechnen sollte. Ob das stimmt, keine Ahnung...

Dieser Clemens (= ich) meint das nicht! \r*sin(60) ist auch falsch. Zitat ich:

Der Grund ist ein Denkfehler meinerseits. Es ist auch falsch! \r*sin(60) funktioniert aber auch nicht!

Mit der Lösung zeichnet man zwar einen Bogen von einem Punkt zum anderen, aber der verwendete Radius ist nicht \r! Wenn man das möchte, sollte meinen zweiten Vorschlag verwenden oder gleich auf QrrBrBirlbel's Lösung umsteigen (http://texwelt.de/wissen/fragen/1490/wie-kann-ich-mit-tikz-einen-kreisbogen-zwischen-zwei-punkten-zeichnen/1503#1503).

Vielleicht sollte ich die (falsche) Lösung dort Löschen...

Grüße