gestrichelte Linie in Tikz

gestrichelte Linie in Tikz

Ich habe den Code für diese Abbildung geschrieben. Wie kann ich diese beiden Striche hinzufügen? Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning,fit}
\usetikzlibrary{arrows,calc,positioning}
\usetikzlibrary{shapes,arrows,positioning,calc}
\begin{document}
    \newlength\estilength
    \settowidth\estilength{$estimator$}
    \tikzset{
        block/.style = {draw, fill=white, rectangle, minimum height=3em, minimum width=3em,text width=\estilength,align=center},
        tmp/.style  = {coordinate}, 
        sum/.style= {draw, fill=white, circle, node distance=1cm},
        input/.style = {coordinate},
        output/.style= {coordinate},
        pinstyle/.style = {pin edge={to-,thin,black}
        },
        point/.style = {draw, fill=black, circle, minimum size=0.8mm, node distance=1.5cm, inner sep=0pt},
        dashed node/.style={draw,dashed,inner sep=7.5pt,rounded corners},
    }%
    \begin{tikzpicture}[auto, node distance=15mm,>=latex']
        \node [input, name=input] {};
        
        \node [block, right=of input] (plant) {$controller$};
        
        
    \end{tikzpicture}
\end{document}

Antwort1

So kann das gehen.

Besonders wenn Sie ein Anfänger in Tikz sind, empfehle ich, es Schritt für Schritt zu tun, sehen Sie sich meine Zahlen in den Kommentaren an und bewegen Sie sich vonunvollkommenZugut (genug).

Einige Anmerkungen, die über meine Ausführungen hinausgehen:

  • Die Verwendung absoluter Koordinaten gibt Ihnen als Anfänger mehr Kontrolle; später können Sie auf die positioningBibliothek oder andere Tools umsteigen
  • Beginnen Sie immer einfach, zB \draw (A) -- (B);(gerade), und verfeinern Sie später, zB \draw (A) |- (B);(vertikale, dann horizontale Verbindung)
  • Verwenden Sie Stile, um Ihren Code lesbarer zu machen
  • Zwischenpunkte einführen, zB relativ +()oder als neue absolute ++()Koordinate
  • Tikz verwendet das Pfadkonzept und beginnt syntaktisch mit \, endet mit ;und führt alle Aktionen dazwischen aus
  • Deshalb können Sie node(ohne \!) vor dem Ende des Pfades setzen, um eine Beschriftung zu platzieren
  • Die Verwendung anchorist gut geeignet, um die Referenz von einem Knoten weg zu änderncenter
  • Polarkoordinaten können Ihr Freund sein, entweder als Koordinate wie (45:1)oder um eine Knotenform herum(A.north) == (A.90)

Viel Glück + schaue nach diesen Befehlen imtikz-handbuchparallel zu.

Ergebnis

\documentclass[10pt,border=3mm,tikz]{standalone}
% ~~~ (4) replace arrow tip ~~~~~~~~~~
\usetikzlibrary{arrows.meta}

\begin{document}
 \begin{tikzpicture}[ % ~~~ (2) doing some style ~~~
    blk/.style={draw,minimum height=1cm,minimum width=3cm},
    LL/.style={line width=3pt, draw=blue!70!green!40},
    >={Triangle}, % ~~~ (4) replace arrow tip ~~~~~~~~~~
 ]
    % ~~~ (1) putting a node ~~~~~~~~
    \node[blk] (C) at (0,0) {controller};
    
    % ~~~ (3) drawing the blue line ~~~~~~
    \draw[->,LL]  (6,1.5) -| (C);
    
    % ~~~ (5) left indicator ~~~~~~~~~~~~
    \draw[dashed] (C.120) -- ++(100:3) -- +(-4,0) 
            node[anchor=south west] {distributed controller}; 

    % ~~~ (6) right indicator ~~~~~~~~~~~~
    \draw[dashed] (2,1.5) -- ++(45:2) -- +(4,0)
            node[anchor=south east] {communication topology}
            node[anchor=north east,pos=.6] {delay}
            ;   
 \end{tikzpicture}
\end{document}

verwandte Informationen