Tikz 3D - Lattice with balls

Tabellen und Grafiken erstellen und anordnen


BlackDevil
Forum-Century
Forum-Century
Beiträge: 107
Registriert: Di 23. Jul 2013, 11:38
Wohnort: Deutschland

Tikz 3D - Lattice with balls

Beitrag von BlackDevil »

Aloah

Erstmal das gewüschte Endergebnis:
Bild

Modifikation: Die rote Kugel ist so grau wie alle anderen und die drei Kugeln (Wagenposition, Ballgeschw. und Wagengeschw.) haben keine Beschriftung. Außerdem sind sie mit allen anderen verbunden.

Wie einfach oder schwer ist es das in Tikz umzusetzen? Möglichst mit einem 3D package... ich habe aber nur Tikz 3D Plot gefunden und ich bin mir nicht sicher ob ich es damit umsetzen kann. Ich wollte es vermeiden das in 2D zu zeichnen, bin nicht so fit im räumlichen Denken :roll:

Kann jemand helfen?

Grüße

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Drüben bei TeXwelt sind mehr Leute mit Tikz-Erfahrung zu finden. Dort würde eventuell sogar jemand ein Beispiel machen, um die Verwendung zu demonstrieren. Für dich bedeutet das, du hast etwas zum Testen und Nachmachen.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

BlackDevil
Forum-Century
Forum-Century
Beiträge: 107
Registriert: Di 23. Jul 2013, 11:38
Wohnort: Deutschland

Beitrag von BlackDevil »

Ich hab in der Zwischenzeit mal mein Hirn benutzt
\documentclass{scrbook}

\usetikzlibrary{calc}

\begin{document}

\begin{tikzpicture}
	\foreach \x in {0pt,0.75pt,...,3pt}
	{
		\foreach \y in {0pt,0.75pt,...,3pt}
		{
			\pgfmathsetmacro\resulta{\x + \y}
			\pgfmathsetmacro\resultb{cos(30) * \y}
			\shade[ball color=gray] (\resulta,\resultb) circle (0.25);
		}
	}
	\foreach \x/\name in {0cm/a,1cm/b,2cm/c,3cm/d}
	{	
		\shade[ball color=gray!50] (\x,-2) circle (0.25);
		\node (\name) at (\x,-2) {\name};
	}
\end{tikzpicture}
\end{document}
Das resultiert schon mal in einem der 3D Perspektive sehr ähnlichen Raster. Die Kugeln unten drunter sind nun noch nicht so perfekt angeordnet, weiß aber auch noch nicht so ganz wo ich sonst damit hin soll. Würde aber passen. Ich weiß nun nur noch nicht wie ich die Kugeln im Raster benennen soll, also Nodes hinzufügen soll. Meine bisherigen Versuche in die erste For-Schleife eine zweite Variable \name hinzuzufügen endete darin, das jede Reihe den gleichen Namen hatte...

Vielleicht macht es das nun einfacher zu helfen :) Im Zweifelsfall schau ich bei der TexWelt vorbei :)

Edit:

Ta-da 8) :D
\documentclass{scrbook}

\begin{document}
\usetikzlibrary{backgrounds}

\begin{tikzpicture}
	\foreach[count=\i] \x in {0pt,0.75pt,...,3pt}
	{
		\foreach[count=\j] \y in {0pt,0.75pt,...,3pt}
		{
			\pgfmathsetmacro\resulta{\x + \y}
			\pgfmathsetmacro\resultb{cos(30) * \y}
			\shade[ball color=gray] (\resulta,\resultb) circle (0.25);
			\node[circle] (\i\j) at (\resulta,\resultb) {\i\j};
		}
	}
	\foreach \x/\nameb in {0cm/a,1cm/b,2cm/c,3cm/d}
	{	
		\shade[ball color=gray!50] (\x,-1) circle (0.2);
		\node[circle] (\nameb) at (\x,-1) {\nameb};
	}
	\begin{pgfonlayer}{background}
	\foreach \letter in {a,b,c,d}
	{
		\foreach \x in {1,2,...,5}
		{
			\foreach \y in {1,2,...,5}
			{
				\draw[->] (\letter) -- (\x\y);
			} 
		}
	}
	\end{pgfonlayer}
\end{tikzpicture}
\end{document}

Antworten