desenhando um círculo "desenhado à mão" (de certa forma)

desenhando um círculo "desenhado à mão" (de certa forma)

Eu gostaria de uma abordagem melhor para desenhar algo próximo a um círculo desenhado à mão usando 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}

insira a descrição da imagem aqui

Estou cienteSimulando linhas desenhadas à mão. Embora o efeito instável fosse bom, eu gostaria de algo que se aproximasse do meu círculo, onde as extremidades não se encontrassem.

Responder1

Com a ajuda deSimulando linhas desenhadas à mão, parece que se obtém melhores resultados (vermelholinhas) para esta aplicação específica usando uma forma quadrada com percusse decoration=penciline, e círculos são melhores com Alain Matthes \freedraw:

insira a descrição da imagem aqui

Código:

\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}

Responder2

Não sei dirigir tikz, então perdoe se a sintaxe estiver irregular. Mas o que fiz foi esticá \mathcal{O}-lo e girá-lo de maneiras definidas pelo usuário:

\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}

insira a descrição da imagem aqui

Responder3

É difícil obter a forma circular real desejada sem outro ponto médio no lado oposto do círculo. Este MWE adiciona o outro ponto médio e ajusta um pouco os pontos de controle para ter uma forma um tanto circular e um tanto irregular.

Na verdade, embora o efeito "oscilante" seja bom para segmentos de linha mais retos, na maioria das vezes acho que pequenos círculos são linhas bastante suaves, muitas vezes oblongas...

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}

Dá:

triângulo circular

informação relacionada