Die Frage ist zum Archivieren gedacht, kein Support benötigt. Antworten sind jedoch sehr willkommen! Ich beantworte die Frage auch selbst.


In vielen physikalischen Zusammenhängen, etwa bei der Gravitation oder der Lichtintensität, hat man eine 1/r² - Abhängigkeit. So wie hier oder ähnlich veranschaulicht man meist das Abstandsgesetzt (Inverse-square law)

alt text (willkürliches Beispiel)

Wie kann ich das mit TikZ umsetzen?

gefragt 19 Mai '18, 17:33

cis's gravatar image

cis
9.5k93459491
Akzeptiert-Rate: 29%

bearbeitet 20 Mai '18, 01:10

Henri's gravatar image

Henri
15.7k133943

Die Frage scheint zweigeteilt. Die eigentliche Frage ist die Darstellung, das Design der Abbildung. Als solches, wäre die Frage off-topic.

(20 Mai '18, 07:28) Johannes

TikZ-Beispiele sollten bei texample gepostet werden. Meiner Meinung nach, haben die hier absolut nichts verloren. Es fehlt schlicht das ordentliche Tagging.

(20 Mai '18, 07:30) Johannes

@Johannes Danke, Ich finde die TikZ-Beispiele hier sehr gut. Insbesondere kann man hier Beispiele besprechen, verbessern und Alternativen posten sowie bewerten. Hier kann man auch nach Tags filtern und nach Güte (Bewertung) sortieren. Auf TeXample.net gibt es selten Feedback, es kam fast nur Spam, so dass ich die Kommentarfunktion dort deaktiviert habe. Gern möchte ich die schönen Beispiele von hier heraussuchen (dank Themen/Tags hier sowie Stimmenzahl) und bei TeXample einstellen. Dafür brauche ich jeweils etwas Zeit (momentan ist's knapp) und hier kann man selbständig und gemeinsam schaffen.

(20 Mai '18, 11:12) stefan ♦♦

@Johannes Was auf texample gepostet wird, entscheidet m.W. @stefan ♦♦ So hat er beispielsweise einmal ein Beispiel von mir von einer ganz anderen Seite kopiert und mich darüber informiert. Fragen zur Selbstbeantwortung zwecks Archivierung, gleich welcher Art, gibt es hier aber auch, daher auch der einleitende "standardisierte Text", den man im Kommentarfeld findet.

(20 Mai '18, 12:11) cis

Hierfür kann man die Quadrate mit Schleifen zeichnen und in jedes Quadrat ein Koordinatensystem legen:

Öffne in Overleaf
% Koordinaten der äußeren und inneren Ecken
\foreach \x in \Range {
\foreach \y in \Range {
\path[Koordinatenpunkte] (\k,\x,\y) circle(2pt) coordinate (P-\x-\y);
}}

· So hat man schonmal einen ersten Eindruck:

Öffne in Overleaf
QuadratMitte/.style={Muster}, % Muster
QuadratOben/.style={}, % Muster
InnereQuadrate/.style={}, %draw
AuesseresQuadrat/.style={fill=lightgray, draw}, % fill=lightgray, draw
Hilfslinien/.style={densely dashed, thin,-, shorten <= -5mm}

Dieses Bild zeigt die Situation, wenn man den Referenz-Schirm bei 1 auf Abstände 2,3,... verschiebt.

alt text

· Nun braucht man noch entsprechende Hilfslinien, um das Gesetz zu erkennen:

Öffne in Overleaf
QuadratMitte/.style={}, % Muster
QuadratOben/.style={Muster}, % Muster
InnereQuadrate/.style={draw}, %draw
AuesseresQuadrat/.style={fill=lightgray, draw}, % fill=lightgray, draw
Hilfslinien/.style={densely dashed, thin,-, shorten <= -5mm}

Um dann klarer zu sehen, welche Intesität man am verschobenen Referenzschirm misst, braucht man dieses Bild.

alt text

Öffne in Overleaf
%\documentclass[a5paper]{article} 
\documentclass[margin=2mm, tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\usetikzlibrary{patterns}

\begin{document}

\pgfmathsetmacro{\kMax}{4} % Anzahl äußere Quadrate
%
\pgfmathsetmacro{\s}{1.666} %Streckfaktor
\pgfmathsetmacro{\xs}{1.7} %x-Streckfaktor
\pgfmathsetmacro{\ys}{0.9} %y-Streckfaktor
\pgfmathsetmacro{\w}{35} %Winkel
    \pgfmathsetmacro{\yI}{-\ys*\s*cos(\w)}
    \pgfmathsetmacro{\yII}{\ys*\s*sin(\w)}

\begin{tikzpicture}[
%x={(1 cm,0 cm)},
%y={(-0.5 cm,0.5 cm)},
%z={(0 cm,1 cm)},
%
x={(\xs*\s cm,0 cm)},
y={(\yI cm,\yII cm)},
z={(0 cm,\s cm)},
%
Muster/.style={draw, pattern=north east lines, pattern color=red}, %crosshatch
Koordinatenpunkte/.style={}, % draw, red
%
QuadratMitte/.style={}, % Muster
QuadratOben/.style={Muster}, % Muster
InnereQuadrate/.style={draw}, %draw
AuesseresQuadrat/.style={fill=lightgray, draw}, % fill=lightgray, draw
Hilfslinien/.style={densely dashed, thin,-, shorten <= -5mm}
] 
%KoSy anzeigen
%\draw[brown,->] (0,0,0) -- (1,0,0);
%\draw[red,->] (0,0,0) -- (0,1,0);
%\draw[orange,->] (0,0,0) -- (0,0,1);

\foreach[
evaluate ={\K=int(\k-1)},
] \k in {\kMax,...,1}{%%%%%%%%%%%%%%%
\def\Range{0,...,\k} %
%
% Koordinaten der äußeren und inneren Ecken
\foreach \x in \Range {
\foreach \y in \Range {
\path[Koordinatenpunkte] (\k,\x,\y) circle(2pt) coordinate (P-\x-\y);
}}
%
% Äußeres Quadrat
\path[AuesseresQuadrat] (P-0-0) -- (P-0-\k) -- (P-\k-\k) -- (P-\k-0) -- cycle;
% Innere Quadrate
\foreach \i in {0,...,\k}{%
\path[InnereQuadrate] (P-\i-0) -- (P-\i-\k);
\path[InnereQuadrate] (P-0-\i) -- (P-\k-\i);
}%
%
%\path[cyan, draw] ($(P-0-0)!0.5!(P-\k-\k)$) circle(2pt) coordinate (M); % Mittelpunkt
%
% Schraffur
% Inneres Quadrat oben rechts
\path[QuadratOben] (P-0-\k) -- (P-1-\k) -- (P-1-\K) -- (P-0-\K) --cycle;
% Inneres Quadrat Mitte
\pgfmathsetmacro{\p}{0.5-0.5/\k}
\pgfmathsetmacro{\q}{0.5+0.5/\k}
\path[Koordinatenpunkte]  ($(P-0-0)!\p!(P-\k-\k)$) circle(2pt) coordinate (A); % 
\path[Koordinatenpunkte]  ($(P-\k-0)!\p!(P-0-\k)$) circle(2pt) coordinate (B); % 
\path[Koordinatenpunkte]  ($(P-0-0)!\q!(P-\k-\k)$) circle(2pt) coordinate (C); % 
\path[Koordinatenpunkte]  ($(P-\k-0)!\q!(P-0-\k)$) circle(2pt) coordinate (D); % 
\path[QuadratMitte] (A) -- (B) -- (C) -- (D) --cycle;
}%%%%%%%%%%%%%%%%%%%%

% Hilfs-KoSy
\foreach \i in {0,1,...,\kMax}
\node[below] at (\i,0,0) {$\i$};

% Hilfslinien
\draw[Hilfslinien, shorten <=  -1.5*\s*\kMax cm] (P-0-0) -- (0,0);
\draw[Hilfslinien] (P-0-\kMax) -- (0,0);
\draw[Hilfslinien] (P-\kMax-0) -- (0,0);
\draw[Hilfslinien] (P-\kMax-\kMax) -- (0,0);
\end{tikzpicture}

\end{document}
Permanenter link

beantwortet 19 Mai '18, 17:33

cis's gravatar image

cis
9.5k93459491
Akzeptiert-Rate: 29%

bearbeitet 19 Mai '18, 21:29

Hier ist noch eine Alternative, in der man recht leicht die Perspektive ändern kann.

Öffne in Overleaf
\documentclass[margin=3.14mm, tikz]{standalone}
\usepackage{tikz}
\usetikzlibrary{3d,positioning,backgrounds}
\begin{document}

\begin{tikzpicture}[y={(0,1cm)},x={(1cm,0cm)}, z={(-1cm,1cm)},font=\sffamily]
\coordinate[alias=0-ro,alias=0-ru,alias=0-lo] (0-lu) at (0,0);
\draw ([yshift=-0.5mm]0-lu) -- ([yshift=-2.5mm]0-lu);
\foreach \Y [count=\X] in{0,...,2}
{\begin{scope}[canvas is xy plane at z={-2*\X}]
\draw[fill=yellow!60,fill opacity=0.7] (0,0) coordinate(\X -lu) -- 
++(\X/2,0) coordinate(\X -ru)
-- ++(0,\X/2)  coordinate(\X -ro) -- ++(-\X/2,0) coordinate(\X -lo) -- cycle;
\foreach \Z in {1,...,\X}
{\draw (0,\Z/2) -- (\X/2,\Z/2) (\Z/2,0) -- (\Z/2,\X/2);}
\end{scope}
\node[red,below=0.3cm of \X-lu,anchor=north east] {\X d};
\begin{scope}[on background layer]
\draw[dashed] (\Y-ru) --(\X-ru);
\end{scope}
\draw (\Y-lu) --(\X-lu) (\Y-lo) --(\X-lo) (\Y-ro) --(\X-ro);
\draw[latex-latex] ([yshift=-1.5mm]\Y-lu) -- ([yshift=-1.5mm]\X-lu)
node[midway,below=1mm] {d};
\draw ([yshift=-0.5mm]\X-lu) -- ([yshift=-2.5mm]\X-lu);
}
\end{tikzpicture}

\begin{tikzpicture}[y={(0,1cm)},x={({cos(20)*1cm},{sin(20)*1cm})}, z={(-1cm,1cm)},font=\sffamily]
\coordinate[alias=0-ro,alias=0-ru,alias=0-lo] (0-lu) at (0,0);
\draw ([yshift=-0.5mm]0-lu) -- ([yshift=-2.5mm]0-lu);
\foreach \Y [count=\X] in{0,...,2}
{\begin{scope}[canvas is xy plane at z={-2*\X},transform shape]
\draw[fill=yellow!60,fill opacity=0.7] (0,0) coordinate(\X -lu) -- 
++(\X/2,0) coordinate(\X -ru)
-- ++(0,\X/2)  coordinate(\X -ro) -- ++(-\X/2,0) coordinate(\X -lo) -- cycle;
\foreach \Z in {1,...,\X}
{\draw (0,\Z/2) -- (\X/2,\Z/2) (\Z/2,0) -- (\Z/2,\X/2);}
\end{scope}
\node[red,below=0.3cm of \X-lu,anchor=north east] {\X d};
\begin{scope}[on background layer]
\draw[dashed] (\Y-ru) --(\X-ru);
\end{scope}
\draw (\Y-lu) --(\X-lu) (\Y-lo) --(\X-lo) (\Y-ro) --(\X-ro);
\draw[latex-latex] ([yshift=-1.5mm]\Y-lu) -- ([yshift=-1.5mm]\X-lu)
node[midway,below=1mm] {d};
\draw ([yshift=-0.5mm]\X-lu) -- ([yshift=-2.5mm]\X-lu);
}
\end{tikzpicture}

\end{document}

alt text

Permanenter link

beantwortet 19 Mai '18, 20:32

Community's gravatar image

Community
21
Akzeptiert-Rate: 56%

Aja, sehr gut. Du hast Dich jetzt am Bild im Startpost orientiert. Dieses Design war mir jetzt gar nicht so wichtig, das hatte ich willkürlich rausgesucht.

(19 Mai '18, 20:48) cis

PS: Bei mir mir war die Umsetzung des 1. Bildes die Schwierigkeit; das 2. -bekannte- dagegen eher einfach. Das 1. Bild hatte ich mir selbst überlegt, und zwar wollte ich damit -zunächst- die Situation zeigen, die eintritt, wenn man den Referenz-Schirm bei 1 auf Abstände 2,3,... verschiebt. Um dann klarer zu sehen, welche Intesität man am verschobenen Referenzschirm misst, braucht man das 2. Bild.

(19 Mai '18, 20:53) cis
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

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

Frage-Themen:

×730
×117
×16
×1

gestellte Frage: 19 Mai '18, 17:33

Frage wurde gesehen: 6,935 Mal

zuletzt geändert: 20 Mai '18, 12:12