Ich habe hier ein Gitter, das durch Ecken A-i, B-i, C-i, D-i (i=1,2,3,4) festgelegt ist.

Wie kann ich am besten einen Schnittpunkt zweier Gitterkanten ansteuern? Mit der Syntax

\fill[red] ($(B-3)!0.5!(A-1)$) circle (2pt) node[below]{falsch};

oder

\fill[red] ($(B-3)-(A-1)$) circle (2pt) node[below]{falsch};

geht es nicht.

alt text

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

\begin{document}

\begin{tikzpicture}[
x={(1 cm,0 cm)},
y={(0.5 cm,0.5 cm)},
z={(0 cm,1 cm)}
]
\pgfmathsetmacro{\k}{4} % Anzahl innere Quadrate
% Äußere Ecken
\path[red] (\k,0,0) circle(2pt) coordinate (A);
\path[red] (0,\k,0) circle(2pt) coordinate (B);
\path[red] (0,\k,\k) circle(2pt) coordinate (C);
\path[red] (\k,0,\k) circle(2pt) coordinate (D);
% Äußeres Quadrat
\draw[lightgray] (A) -- (B) -- (C) -- (D) -- cycle;

% Innere Ecken am Rand
\foreach \K in {0,...,\k}{%
\pgfmathsetmacro{\L}{\K/\k} %
\path[blue, draw] ($(A)!\L!(B)$) circle(2pt) coordinate(A-\K);
\path[blue, draw] ($(B)!\L!(C)$) circle(2pt) coordinate(B-\K);
\path[blue, draw] ($(C)!\L!(D)$) circle(2pt) coordinate(C-\K);
\path[blue, draw] ($(D)!\L!(A)$) circle(2pt) coordinate(D-\K);
}%

% Innere Kanten
\foreach[evaluate={\Kinv=int(\k-\K)}] \K in {0,...,\k}{%
\draw[] (A-\K) -- (C-\Kinv);
\draw[] (B-\K) -- (D-\Kinv);
}%

% Spezielle innere Ecke- Versuch
\fill[orange] (A-1) circle (2pt);
\fill[cyan] (B-3) circle (2pt);

\fill[red] ($(B-3)!0.5!(A-1)$) circle (2pt) node[below]{falsch};

\end{tikzpicture}

\end{document}

gefragt 19 Mai, 06:01

cis's gravatar image

cis
7.2k12154246
Akzeptiert: 72%

Der Kreis mit dem "falsch" Label sitzt genau in der Mitte zwischen (B-3) und (A-1). Was erwartest Du? Wenn Du auf einem Gitterpunkt landen magst, nimm z.B. \fill[red] ($(B-3)!{1/3}!(A-1)$) circle (2pt) node[below]{falsch};. (Ausserdem: Du hast einige Kommandos \path[red] in denen red die rein gar nichts macht, fehlt da etwa ein draw wie in \path[blue, draw]? Die Koordinate wird natürlich trotzdem gesetzt. )

(19 Mai, 10:27) Murmeltier

Ich habe zu kompliziert gedacht.

(19 Mai, 11:15) cis

Blöde Frage, sinnvollerweise gibt man allen Punkten eigene Koordinaten. Ich hatte da anfangs Probleme mit der Ausrichtung der Achsen.

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

\begin{document}

\begin{tikzpicture}[
x={(1 cm,0 cm)},
y={(-0.5 cm,0.5 cm)},
z={(0 cm,1 cm)},
Muster/.style={pattern=north west lines, pattern color=red},
]
%KoSy
\draw[brown,->] (0,0,0) -- (1,0,0);
\draw[red,->] (0,0,0) -- (0,1,0);
\draw[orange,->] (0,0,0) -- (0,0,1);

%\pgfmathsetmacro{\k}{4} % Anzahl innere Quadrate

\foreach \k in {1,4}{%%%%%%%%%%%%%%%
\def\Range{0,...,\k} % Anzahl innere Quadrate
%
% Koordinaten der äußeren und inneren Ecken
\foreach \x in \Range {
\foreach \y in \Range {
\path[red, draw] (\k,\x,\y) circle(2pt) coordinate (P-\x-\y);
}}
%
% Äußeres Quadrat
\draw[lightgray] (P-0-0) -- (P-0-\k) -- (P-\k-\k) -- (P-\k-0) -- cycle;
}%%%%%%%%%%%%%%%%%%%%

\path[cyan, draw] (P-0-4) circle(3pt);

\draw[Muster] (P-0-4) -- (P-1-4) -- (P-1-3) -- (P-0-3) --cycle;

\end{tikzpicture}

\end{document}
Permanenter link

beantwortet 19 Mai, 08:43

cis's gravatar image

cis
7.2k12154246

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

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

Zugeordnete Themen:

×593
×11

Frage gestellt: 19 Mai, 06:01

Frage wurde angeschaut: 201 Mal

Zuletzt aktualisiert: 19 Mai, 11:15