Ich habe hier ein Gitter, das durch Ecken Wie kann ich am besten einen Schnittpunkt zweier Gitterkanten ansteuern? Mit der Syntax
oder
geht es nicht. Ö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 '18, 12:01 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} beantwortet 19 Mai '18, 14:43 cis |
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 denenred
die rein gar nichts macht, fehlt da etwa eindraw
wie in\path[blue, draw]
? Die Koordinate wird natürlich trotzdem gesetzt. )Ich habe zu kompliziert gedacht.