Eine Alternative: Verwendung orthogonaler Koordinaten

Eine Alternative: Verwendung orthogonaler Koordinaten

Wie erhalte ich in tikzpicture eine einzelne Koordinate eines Knotens?

Bildbeschreibung hier eingeben

Dies ist die Schaltung, die ich gerade baue, und ich muss die x-Koordinate des Knotens (opamp.out) kennen, damit ich R2 vertikal an diesem Knoten ausrichten und mit einer vertikalen Linie verbinden kann. Dies ist mein Code für R2:

\draw (opamp.-) nach [short,*-] ++(0,1) node{} nach [R,l=$R_2$] ++(2,0);

wobei ich anstelle von ++(2,0) ++(opamp.out.x-opamp.-.x,0); eingeben möchte.

Antwort1

Eine Alternative: Verwendung orthogonaler Koordinaten

(p -| q)bezieht sich auf den Punkt, der horizontal mit pund vertikal mit ausgerichtet ist q. Das -|wurde so gewählt, dass man sich leicht merken kann, was was ist; die -Seite ist horizontal und die |Seite ist vertikal. DasCircuiTikz-Handbuchhat weitere Informationen.

Vollständige Beispiele:

Resultierendes Diagramm

Code:

\documentclass[border=10pt,varwidth]{standalone}  
\usepackage{tikz}
\usepackage[american,siunitx]{circuitikz}
\usetikzlibrary{calc,positioning}
\begin{document}

An alternative solution

\begin{circuitikz}  
\draw
(0,0) node[op amp](opamp){}
(opamp.out) to[short,*-o] (2,0)node[]{} node[right]{$v_{out}$};
\draw (opamp.-) -- ++(-0.2,0) to[R,l_=$R_1$] ++ (-2,0)node[ground,rotate=-90]{};
\draw (opamp.+) to[short,-o] ++ (-0.5,0)node[left]{$V_{in}$};

\draw (opamp.-) to [short,*-] ++(0,1) node{} to [R,l=$R_2$] ([yshift=1cm]opamp.- -|opamp.out);
\end{circuitikz}

\medskip

@Astrinus' solution

\begin{circuitikz}
\draw
(0,0) node[op amp](opamp){}
(opamp.out) to[short,*-o] (2,0)node[]{} node[right]{$v_{out}$};

\draw (opamp.-) -- ++(-0.2,0) to[R,l_=$R_1$] ++ (-2,0)node[ground,rotate=-90]{};
\draw (opamp.+) to[short,-o] ++ (-0.5,0)node[left]{$V_{in}$};

\draw let \p1=(opamp.out),\p2=(opamp.-) in (opamp.-) to [short,*-] ++(0,1) 
node{} to [R,l=$R_2$] ++($(\x1,0)-(\x2,0)$);
\end{circuitikz}

\end{document}

Antwort2

\draw let \p1=(opamp.out),\p2=(opamp.-) in (opamp.-) to [short,*-] ++(0,1) node{} to [R,l=$R_2$] ++($(\x1,0)-(\x2,0)$);

Beachten Sie, dass Sie müssen \usetikzlibrary{calc}.

Die letSyntax ermöglicht es Ihnen, den Punkten Namen zuzuweisen \p1 ... \pN, wobei Ndie Anzahl der Punkte ist. Anschließend inkönnen Sie mit der Syntax \x1 .. \xNund auf die Koordinaten der Punkte zugreifen \y1 .. \yN(ich glaube, es ist auch möglich, auf Polarkoordinaten zuzugreifen, aber ehrlich gesagt erinnere ich mich nicht an die Syntax :-8), wobei die Reihenfolge der \pZuweisungen eingehalten wird.

Mit der Bibliothek calckönnen Sie Berechnungen mit Koordinaten durchführen und die resultierenden Koordinaten mit der Syntax abrufen ($<calculations>$).

Schauen Sie sich pgfmanual.pdf„TikZ pour l'impatient“ an, wenn Sie Französisch lesen (ich kann überhaupt kein Französisch, aber da meine Muttersprache Neulatein ist, hatte ich beim Lesen überhaupt keine Probleme).

verwandte Informationen