Zeichnen eines „handgezeichneten“ Kreises (sozusagen)

Zeichnen eines „handgezeichneten“ Kreises (sozusagen)

Ich hätte gerne einen besseren Ansatz zum Zeichnen von etwas, das einem handgezeichneten Kreis ähnelt, und zwar mit tikz:

\documentclass{article}
\pagestyle{empty}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}

\begin{tikzpicture}

  \coordinate (A) at (0,0);
  \coordinate (C) at (2in, 0);
  \coordinate (B) at ($(C)!1in!-90:(A)$);

  \draw (A) -- (C) -- (B) -- cycle;

  \coordinate (A/u) at ($(A) + (30:1em)$);
  \coordinate (A/d) at ($(A) + (-10:1em)$);
  \coordinate (A/x) at ($(A) + (120:2em)$);
  \coordinate (A/y) at ($(A) + (-120:2em)$);

  \draw[line width=1pt] (A/d) .. controls (A/x) and (A/y) .. (A/u);

\end{tikzpicture}

\end{document}

Bildbeschreibung hier eingeben

Ich bin mir bewusst, dassSimulieren von handgezeichneten Linien. Obwohl der Wackeleffekt nett wäre, hätte ich gerne etwas, das meinem Kreis ähnelt, wo die Enden nicht ganz zusammentreffen.

Antwort1

Mit der Hilfe vonSimulieren von handgezeichneten Linien, so scheint es, dass man bessere Ergebnisse erzielt (RotLinien) für diese spezielle Anwendung mit einer quadratischen Form mit Percussion decoration=penciline, und Kreise sind besser mit Alain Matthes \freedraw:

Bildbeschreibung hier eingeben

Code:

\documentclass{article}
\pagestyle{empty}
\usepackage{tikz}
\usetikzlibrary{calc,decorations.pathmorphing,patterns,shapes}

%% https://tex.stackexchange.com/questions/39296/simulating-hand-drawn-lines: percusse
\pgfdeclaredecoration{penciline}{initial}{
    \state{initial}[width=+\pgfdecoratedinputsegmentremainingdistance,auto corner on length=1mm,]{
        \pgfpathcurveto%
        {% From
            \pgfqpoint{\pgfdecoratedinputsegmentremainingdistance}
                            {\pgfdecorationsegmentamplitude}
        }
        {%  Control 1
        \pgfmathrand
        \pgfpointadd{\pgfqpoint{\pgfdecoratedinputsegmentremainingdistance}{0pt}}
                        {\pgfqpoint{-\pgfdecorationsegmentaspect\pgfdecoratedinputsegmentremainingdistance}%
                                        {\pgfmathresult\pgfdecorationsegmentamplitude}
                        }
        }
        {%TO 
        \pgfpointadd{\pgfpointdecoratedinputsegmentlast}{\pgfpoint{0.5pt}{1.5pt}}
        }
    }
    \state{final}{}
}

%% https://tex.stackexchange.com/questions/39296/simulating-hand-drawn-lines: Alain Matthes
\pgfdeclaredecoration{free hand}{start}
{
  \state{start}[width = +0pt,
                next state=step,
                persistent precomputation = \pgfdecoratepathhascornerstrue]{}
  \state{step}[auto end on length    = 3pt,
               auto corner on length = 3pt,               
               width=+2pt]
  {
    \pgfpathlineto{
      \pgfpointadd
      {\pgfpoint{2pt}{0pt}}
      {\pgfpoint{rand*0.15pt}{rand*0.15pt}}
    }
  }
  \state{final}
  {}
}
 \tikzset{free hand/.style={
    decorate,
    decoration={free hand}
    }
 } 
\def\freedraw#1;{\draw[free hand] #1;}



\begin{document}

\begin{tikzpicture}
    \coordinate (A) at (0,0);
    \coordinate (C) at (1in, 0);
    \coordinate (B) at ($(C)!1in!-90:(A)$);

    \draw (A) -- (C) -- (B) -- cycle;

    \coordinate (A/u) at ($(A) + (30:1em)$);
    \coordinate (A/d) at ($(A) + (-10:1em)$);
    \coordinate (A/x) at ($(A) + (120:2em)$);
    \coordinate (A/y) at ($(A) + (-120:2em)$);

    \begin{scope}[decoration=penciline]
        \draw[thick, fill=blue!25, fill opacity=.25, draw=red, decorate] ($(A)+(-0.1cm,-0.1cm)$)  rectangle (0.1cm,0.2cm); 
        \draw[thick, draw=brown, radius=0.1cm, decorate] (B)  circle (0.15cm); 
        \draw[thick, draw=blue, x radius=0.15cm, y radius=0.19cm, rotate=30, shape=circle, decorate,] (C) circle {}; 
        \node [above left] at (B) {decoration=penciline};
    \end{scope}
\end{tikzpicture}
\hspace*{0.3cm}
\begin{tikzpicture}
    \coordinate (A) at (0,0);
    \coordinate (C) at (1in, 0);
    \coordinate (B) at ($(C)!1in!-90:(A)$);

    \draw (A) -- (C) -- (B) -- cycle;

    \coordinate (A/u) at ($(A) + (30:1em)$);
    \coordinate (A/d) at ($(A) + (-10:1em)$);
    \coordinate (A/x) at ($(A) + (120:2em)$);
    \coordinate (A/y) at ($(A) + (-120:2em)$);

    \freedraw[thick, draw=blue] ($(A)+(-0.1cm,-0.1cm)$)  rectangle (0.15cm,0.2cm); 
    \freedraw[thick, fill=blue!25, fill opacity=.25, draw=red] (B) circle [radius=0.2cm]; 
    \freedraw[thick, fill=blue!25, fill opacity=.25, draw=red, x radius=0.15cm, y radius=0.19cm, rotate=30, shape=circle,] (C) circle {}; 
    \node [above left] at (B) {\textbackslash freedraw};
\end{tikzpicture}

\end{document}

Antwort2

Ich kann nicht fahren tikz, also verzeihen Sie mir bitte, wenn die Syntax unregelmäßig ist. Aber ich habe ein genommen \mathcal{O}und es auf benutzerdefinierbare Weise gestreckt und gedreht:

\documentclass{article}
\pagestyle{empty}
\usepackage{tikz}
\usetikzlibrary{calc}
\newcommand\handoh[3][0]{%
\scalebox{#2}[#3]{\raisebox{1pt}{\kern3pt\rotatebox{#1}{%
  \kern-4.5pt\raisebox{-2pt}{$\mathcal{O}$}\kern-4pt}}\kern2pt}%
}
\begin{document}
\begin{tikzpicture}

  \coordinate (A) at (0,0);
  \coordinate (C) at (2in, 0);
  \coordinate (B) at ($(C)!1in!-90:(A)$);

  \draw (A) -- (C) -- (B) -- cycle;

  \coordinate (A/u) at ($(A) + (30:1em)$);
  \coordinate (A/d) at ($(A) + (-10:1em)$);
  \coordinate (A/x) at ($(A) + (120:2em)$);
  \coordinate (A/y) at ($(A) + (-120:2em)$);


\node (D) [label=left:{\textbackslash handoh[160]\{2.5\}\{3\}}] 
  at (A) {\handoh[160]{2.5}{3}};

\node (E) [label=left:{\textbackslash handoh[45]\{1.3\}\{1.7\}}] 
  at (B) {\handoh[45]{1.3}{1.7}};

\node (F) [label=below:{\textbackslash handoh[-70]\{2.5\}\{1.5\}}] 
  at (C) {\handoh[-70]{2.5}{1.5}};
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Antwort3

Es ist schwierig, die gewünschte Kreisform zu erhalten, ohne einen weiteren Mittelpunkt auf der gegenüberliegenden Seite des Kreises. Dieses MWE fügt den anderen Mittelpunkt hinzu und passt die Kontrollpunkte ein wenig an, um eine einigermaßen kreisförmige, etwas unregelmäßige Form zu erhalten.

Obwohl der „Wackeleffekt“ bei geraderen Liniensegmenten ganz nett ist, finde ich, dass kleine Kreise meistens ziemlich glatte Linien sind, nur oft länglich …

MWE:

\documentclass{article}
\pagestyle{empty}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}

\begin{tikzpicture}

  \coordinate (A) at (0,0);
  \coordinate (C) at (2in, 0);
  \coordinate (B) at ($(C)!1in!-90:(A)$);

  \draw (A) -- (C) -- (B) -- cycle;

  \coordinate (A/u) at ($(A) + (40:.8em)$);
  \coordinate (A/d) at ($(A) + (-20:1.1em)$);
  \coordinate (A/l) at ($(A) + (180:.7em)$);
  \coordinate (A/x) at ($(A) + (50:1em)$);
  \coordinate (A/y) at ($(A) + (120:1.2em)$);
  \coordinate (A/v) at ($(A) + (-120:1.6em)$);
  \coordinate (A/w) at ($(A) + (-30:1.8em)$);

  \draw[line width=1pt] (A/d) .. controls (A/x) and (A/y) .. (A/l) .. controls (A/v) and (A/w) .. (A/u);

\end{tikzpicture}

\end{document}

Gibt:

Kreis Dreieck

verwandte Informationen