PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : TikZ: Stern Zeichnen? Ausgefüllt und halbgefüllt?



Mac-User09
23-01-2016, 18:41
Hallo,

ich habe ein Problem damit einen Stern (5 Spitzen) zu zeichnen. Ansicht bekomme ich einen Stern durch Linien und entsprechende Koordinaten hin. Jedoch nicht mit meinen "Sonderwünschen".



\documentclass[a4paper, 12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman,english]{babel}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\draw [line width=0.05em]
(18:0.34em) -- (90:0.34em) -- (162:0.34em) -- (234:0.34em) -- (306:0.34em) -- cycle;
\end{tikzpicture}
\end{document}


Das Minimalbeispiel ergibt ein Fünfeck. Der Stern soll genau so groß sein, wie dieses Fünfeck und aussehen, wie in diesem Bild: https://commons.wikimedia.org/wiki/File:Five-pointed_star.svg

Die Spitzen des Sterns sollen also an den Positionen des Fünfeckes liegen. Zusätzlich soll der Stern vollständig gefüllt sein und jeweils ein Teil oben, unten, rechts Links. Mit Halbgefüllt meine ich z.B. so etwas: http://cdn.flaticon.com/png/256/61101.png, wobei das links gefüllt wäre. Diese halbgefüllten Bereiche sollten durch folgende Linien begrenzt sein:



\documentclass[a4paper, 12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman,english]{babel}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
\draw [line width=0.05em] (0,-0.30em) -- (0,0.31em); %Vertikal
\draw [line width=0.05em] (-0.30em,0) -- (0.30em,0); % Horizontal
\end{tikzpicture}
\end{document}


Leider bekomme ich das nicht hin. Mein Stern, den ich eigentlich in kartesischen Koordinaten zeichnen wollte, passt immer nicht mit dem vorgegebenen Fünfeck überein. Würde mich freuen, wenn mir da jemand helfen könnte, wie ich mein "Stern-Problem" gelöst bekomme. Könnt ihr mir helfen?

rais
23-01-2016, 19:49
Die Spitzen des Sterns sollen also an den Positionen des Fünfeckes liegen. Zusätzlich soll der Stern vollständig gefüllt sein und jeweils ein Teil oben, unten, rechts Links. Mit Halbgefüllt meine ich z.B. so etwas: http://cdn.flaticon.com/png/256/61101.png, wobei das links gefüllt wäre.
Mir ist jetzt nicht wirklich klar geworden, was konkret Dein Problem ist.
Bräuchtest Du nicht einfach bloß eine Zehner- statt Fünferteilung (also 36°-Schritte, nicht 72°-Schritte), bei denen Du abwechselnd äußere und innere Ecken definierst?


\documentclass[a4paper, 12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman,english]{babel}
\usepackage{tikz}
\newlength\ro
\setlength\ro{0.34em}
\newcommand*\rivo{0.5}
\begin{document}
\begin{tikzpicture}
\draw [line width=0.05em]
(18:\ro) -- (54:\rivo\ro) -- (90:\ro)
-- (126:\rivo\ro) -- (162:\ro) -- (198:\rivo\ro)
-- (234:\ro) -- (270:\rivo\ro) -- (306:\ro)
-- (342:\rivo\ro) -- cycle;
\end{tikzpicture}
\begin{tikzpicture}
\draw [line width=0.05em]
(18:\ro) -- (54:\rivo\ro) -- (90:\ro)
-- (126:\rivo\ro) -- (162:\ro) -- (198:\rivo\ro)
-- (234:\ro) -- (270:\rivo\ro) -- (306:\ro)
-- (342:\rivo\ro) -- cycle;
\fill (90:\ro) -- (126:\rivo\ro) -- (162:\ro)
-- (198:\rivo\ro) -- (234:\ro)
-- (270:\rivo\ro) -- cycle;

\end{tikzpicture}
\end{document}

VG

hakaze
23-01-2016, 22:22
Nur als Alternativ-Vorschlag: ganz ohne Tikz ginge es auch mit fontawesome (http://www.ctan.org/pkg/fontawesome).

\documentclass[a4paper, 12pt]{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fontawesome}

\begin{document}
\faStar \faStarHalfO \faStarO
\end{document}

Mac-User09
24-01-2016, 10:02
Oh man, du hast natürlich vollkommen recht. Das ist war mit der 10er Aufteilung. Das habe ich irgendwie nicht gesehen. Die Denkweise für TIkZ habe ich immer noch nicht so sehr drauf...

Problem ist nur, dass ich gerne die Linie, die von den "Sternärmchen" gebildet wird, parallel zur unteren Blattkante hätte. Also so, wie in dem Bild oben zu sehen. Da muss ich dann wahrscheinlich die Winkel für die nach innen liegenden Ecken etwas anpassen, richtig?

rais
24-01-2016, 14:48
Problem ist nur, dass ich gerne die Linie, die von den "Sternärmchen" gebildet wird, parallel zur unteren Blattkante hätte. Also so, wie in dem Bild oben zu sehen. Da muss ich dann wahrscheinlich die Winkel für die nach innen liegenden Ecken etwas anpassen, richtig?
Nö, wenn Du die Winkel änderst, veränderst Du die Symmetrie -- die einzelnen Zacken des Sterns wären nicht mehr gleich.
Du kannst \rivo (den Faktor innerer Radius zum Äußeren) verkleinern, etwa 0.38 statt 0.5 sollte schon tun.

VG

Mac-User09
24-01-2016, 15:07
Danke für deine Antwort. Ja, das habe ich auch schon festgestellt mit den Winkeln. Es war "Try & Error". Vielen Dank für deine Hilfe.