Erzeugen eines ansprechenderen, abgerundeten Endes von Linienverbindungen

Erzeugen eines ansprechenderen, abgerundeten Endes von Linienverbindungen

Von der Antwort aufdiese Frage; Ich habe den folgenden Code verwendet, um ein weiteres Kreuz zu zeichnen.

\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{verbatim}
\usepackage{tikz}
\begin{document}
\begin{frame}[t]
\frametitle{}
\begin{tikzpicture}[line join=round, line cap=round]
\def\edge{
(.5,.5) to [out=90,in=-90] ++ (0,1.05) to [out=0,in=-90] ++ (.52,.52) to [out=90,in=0] ++ (-.52,.52) to [out=90,in=0] ++ (-.52,.52) to [out=180,in=90] ++ (-.52,-.52) to [out=-180,in=90] ++ (-.52,-.52)  to [out=-90,in=180] ++ (.52,-.52) to [out=-90,in=90] ++ (0,-1.05)}
    \draw[line width=.1cm,blue, fill=blue!40!white, opacity=.6] (.5,.5) foreach \i in {0,90,180,270}{[rotate=\i] -- \edge} -- cycle;
\end{tikzpicture}
\end{frame}
\end{document}

Mir ist aufgefallen, dass die Verwendung [line join=round, line cap=round]ein erweitertes Zeilenende erzeugt. Das Weglassen dieser Option führt zu weniger ansprechenden Zeilenverbindungen.

Damit können line join=roundabgerundete Enden von Linien erzeugt werden, ohne dass verlängerte Teile entstehen.

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Antwort1

Dies ist ein einfacher Rechenfehler in Ihrem Code. Tatsächlich beginnt der Pfad am Punkt, (.5,.5)aber Ihre Halbkreise haben einen Radius von .52, wasnicht zu Endedas erste Viertel des Kreuzes am Koordinatenpunkt (-.5,.5). Durch Ersetzen des Radius von .52durch .5ist das Problem gelöst. Beachten Sie, dass ich Ihren Code durch das Entfernen einiger unnötiger toOperationen leicht vereinfacht habe.

Bildschirmfoto

\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{verbatim}
\usepackage{tikz}
\begin{document}
\begin{frame}[t]
\frametitle{}
\begin{tikzpicture}[line join=round, line cap=round]
\def\edge{
(.5,.5) -- ++ (0,1.05) to [out=0,in=-90] ++ (.5,.5) to [out=90,in=0] ++ (-.5,.5) to [out=90,in=0] ++ (-.5,.5) to [out=180,in=90] ++ (-.5,-.5) to [out=-180,in=90] ++ (-.5,-.5)  to [out=-90,in=180] ++ (.5,-.5) -- ++ (0,-1.05)}
\draw[line width=.1cm,blue, fill=blue!40!white, opacity=.6] (.5,.5) foreach \i in {0,90,180,270}{[rotate=\i] -- \edge}--cycle;
\end{tikzpicture}
\end{frame}
\end{document}

Antwort2

Ihr Code für die \edgekann gekürzt werdensehrviel, und diese Verkürzung behebt das Problem automatisch auch. Außerdem möchten Sie wahrscheinlich ein verwenden, transparency groupum zu vermeiden, dass die Grenze zwei Farben hat.

\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{verbatim}
\usepackage{tikz}
\begin{document}
\begin{frame}[t]
\frametitle{}
\begin{tikzpicture}[line join=round, line cap=round]
\def\edge{
(.5,.5) -- ++ (0,1.05)foreach \j in {0,90,180}  {to [out=\j,in=\j,looseness=1.6] ++ (\j+90:1)}}
\begin{scope}[transparency group,opacity=.6]
\draw[line width=.1cm,blue, fill=blue!40!white] (.5,.5) foreach \i in {0,90,180,270}{[rotate=\i] -- \edge} -- cycle;
\end{scope}
\end{tikzpicture}
\end{frame}
\end{document}

Bildbeschreibung hier eingeben

Antwort3

Handgefertigte Verschiebungen sind böse! Ich bin sicher, dass es eine geeignetere (wartungsfreundlichere) Lösung mit Knotenbeschriftung geben muss, aber ich bin nicht vertraut genug damit, tikzum eine solche Lösung zu zeichnen. In der Zwischenzeit können Sie Folgendes versuchen:

\documentclass{beamer}
\beamertemplatenavigationsymbolsempty
\usepackage{verbatim}
\usepackage{tikz}
\begin{document}
\begin{frame}[t]
\frametitle{}
\begin{tikzpicture}[line join=round, line cap=round]
\def\edge{
(.5,.5) to [out=90,in=-90] ++ (0,1.05) to [out=0,in=-90] ++ (.5,.5) to [out=90,in=0] ++ (-.5,.5) to [out=90,in=0] ++ (-.5,.5) to [out=180,in=90] ++ (-.5,-.5) to [out=-180,in=90] ++ (-.5,-.5)  to [out=-90,in=180] ++ (.5,-.5) to [out=-90,in=90] ++ (0,-1.05)}
    \draw[line width=.1cm,blue, fill=blue!40!white, opacity=.6] (.5,.5) foreach \i in {0,90,180,270}{[rotate=\i] -- \edge} -- cycle;
\end{tikzpicture}
\end{frame}
\end{document}

Dadurch werden die Überschneidungen eliminiert. Bildbeschreibung hier eingeben

verwandte Informationen