2 dim Werte in for-Schleife zum plotten nicht kart. Koord.

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: 2 dim Werte in for-Schleife zum plotten nicht kart. Koord.

von esdd » Mo 11. Feb 2013, 19:53

Hallo,

im pgfmanual findest du auch ausführliche Erklärungen zu \foreach. Dort ist das mit erklärt.

Gruß
Elke

von john1337 » Mo 11. Feb 2013, 18:16

wow, das ist genau das was es tun sollte. nun kann man zweidimensionale werte plotten. mal so am rande wo nach hätte ich suchen müssen um diese Syntax zu finden?

von esdd » Mo 11. Feb 2013, 13:54

Hallo,

vielleicht hilft dir das folgende weiter:
\documentclass{paper} 
\usepackage{tikz} 
\newcommand\six[2]{\draw [fill=red] (3.464ex*#1-3.464ex*#2+17.32ex,-6ex*#1-6ex*#2+30ex) +(30:4ex) -- +(90:4ex) -- +(150:4ex) -- +(210:4ex) -- +(270:4ex) -- +(330:4ex)-- cycle;} 

\begin{document} 

\begin{tikzpicture}[thick]
  \foreach \x/\y in {2/5,3/4}{\six{\x}{\y}}
\end{tikzpicture}
\end{document}
Gruß
Elke

von john1337 » Mo 11. Feb 2013, 11:02

sollte eigentlich auch bei euch gehen. hier das gewünschte minimal beispiel:
\documentclass{paper}
\usepackage{tikz}
\newcommand\six[2]{ \begin{tikzpicture}[thick] \draw [fill=red] (3.464ex*#1-3.464ex*#2+17.32ex,-6ex*#1-6ex*#2+30ex) +(30:4ex) -- +(90:4ex) -- +(150:4ex) -- +(210:4ex) -- +(270:4ex) -- +(330:4ex)-- cycle;\end{tikzpicture}}

\begin{document}
\begin{tikzpicture}[thick]
\foreach \x in{0,...,5}{
\foreach \y in{0,...,5}{
\draw [fill=red] (3.464ex*\x-3.464ex*\y+17.32ex,-6ex*\x-6ex*\y+30ex) +(30:4ex) -- +(90:4ex) -- +(150:4ex) -- +(210:4ex) -- +(270:4ex) -- +(330:4ex)-- cycle;
\draw [fill=blue] (3.464ex*\x-3.464ex*\y-17.32ex,-6ex*\x-6ex*\y+30ex) +(30:4ex) -- +(90:4ex) -- +(150:4ex) -- +(210:4ex) -- +(270:4ex) -- +(330:4ex)-- cycle;
\draw [fill=green] (3.464ex*\x-3.464ex*\y,-6ex*\x-6ex*\y) +(30:4ex) -- +(90:4ex) -- +(150:4ex) -- +(210:4ex) -- +(270:4ex) -- +(330:4ex)-- cycle;}}
\end{tikzpicture}
\six{2}{5}
\six{3}{4}
\end{document}
wie man sieht erzeugt das makro jedes mal eine neue Umgebung mit neuem Ursprung und die Punkte (2,5) und (3,4) liegen einfach nur nebeneinander.
Die forschleife füllt halt ganze Flächen, da jedes x mit jedem y kombiniert wird. will aber nur ganz bestimmte Punkte anzeigen(wie beim Makro-Aufruf)
Hoffe jetzt ist alles klar und es regnet Lösungsvorschläge. Danke^^

Re: 2 dim Werte in for-Schleife zum plotten nicht kart. Koor

von Stamm- » Mo 11. Feb 2013, 09:39

john1337 hat geschrieben:[…] Funktioniert auch wunderbar, nur für größere Gebilde ist das nicht sehr benutzerfreundlich, da jedes mal der gesamte Code geschrieben werden muss . […]
Funktioniert bei mir gar nicht. Mach also ein ordentliches Minimalbeispiel, so dass man nicht lange herum raten muss.

2 dim Werte in for-Schleife zum plotten nicht kart. Koord.

von john1337 » Mo 11. Feb 2013, 01:51

Hallo,
ich nutze tikzpicture und habe damit ein nicht kartesisches Koordintensystem zum plotten von Sechsecken gebaut.
\draw [fill=red] (3.464ex*\x-3.464ex*\y+17.32ex,-6ex*\x-6ex*\y+30ex) +(30:4ex) -- +(90:4ex) -- +(150:4ex) -- +(210:4ex) -- +(270:4ex) -- +(330:4ex)-- cycle;
Funktioniert auch wunderbar, nur für größere Gebilde ist das nicht sehr benutzerfreundlich, da jedes mal der gesamte Code geschrieben werden muss . Ein Makro funktioniert nicht, da ich jedes mal eine tikzpicture Umgebung erzeugen werden müsste. Mit zwei Schleife lassen sich nur Rauten zeichnen.

Ich bräuchte praktisch 2-dimensionale Werte in einer For-Schleife.
Nur wie? Hab dazu Null gefunden. Als obs das gar nicht gibt.
Möglicher Weise lässt sich auch beim Makro die Umgebungsanforderung in der Definition unterdrücken. Da weiß ich allerdings genauso wenig weiter.

Hoffe es ist klar was ich meine und schon mal danke für eure Hilfe.
John

Nach oben