Ich versuche, das Euro-Zeichen in TikZ zu rekonstruieren. Mein grundlegender Leitfaden ist http://upload.wikimedia.org/wikipedia/commons/5/57/Euro_Construction.svgErstellen des EUR-Zeichens mit Pgf/Tikz
Das Problem, das ich in laufen habe ist, dass ich so weit, alle Kreuzungen berechnen kann, aber Ich bin nicht in der Lage tikz anzuweisen, den Bogen zu zeichnen von z.B. A bis K. Während ich zeichnen konnte, dass Bogen mit Clipping, soweit ich verstehe, würde nicht einen verbundenen Pfad ergeben. Ich versuche zu vermeiden, alle Winkel mit der Hand zu berechnen.
Für die SVG-Unterstützung gibt es \ pgfpatharcto, obwohl das ein wenig übertrieben zu sein scheint, es könnte die Arbeit tun, was mich zu der nächsten Ausgabe führt: wie ich \ pgfpoints von Koordinate zum Beispiel genannt bekommt (A) um sie in der \ pgfphatharcto zu verwenden? Noch besser: Wie könnte ich benannte Koordinaten in den Svg Pfad Daten verwenden? Das würde im Grunde das Problem zu schreiben reduzieren \ zeichnen ... (B) - (A) Svg "A 6 6 0 0 0 (K)" - (O) ...;
Was ich schon habe, ist dies:
Alt text http://img.skitch.com/20101204-ef3a3xwh2reqis67phqenmuxa2.png
Hochgeladen mit Skitch
mit:
\begin{tikzpicture}
\draw[step=5mm, gray, very thin] (-7.5,-7.5) grid (7.5,7.5); % grid
% inner and outer circle to be used for the intersections
\path[name path=outer] (0,0) circle[radius=6];
\path[name path=inner] (0,0) circle[radius=5];
% upper, semi upper, semi lower and lower horizontal lines.
\path[name path=U] (-7.5,1.5) -- (4,1.5);
\path[name path=u] (-7.5,0.5) -- (4,0.5);
\path[name path=l] (-7.5,-0.5) -- (4,-0.5);
\path[name path=L] (-7.5,-1.5) -- (4,-1.5);
% the upwards slope and the vertical line at +-40 deg at 5 units.
\path[name path=slope] ($(0,-6)!0.25!(40:5)$) -- ($(0,-6)!1.25!(40:5)$);
\path[name path=fourty] ($(40:5)!0.5!(-40:5)$) -- ($(40:5)!1.25!(-40:5)$);
% naming all the intersections.
\path[name intersections={of=outer and slope, by={A}}];
\path[name intersections={of=inner and slope, by={B}}];
\path[name intersections={of=U and slope, by={C}}];
\path[name intersections={of=u and slope, by={D}}];
\path[name intersections={of=l and slope, by={E}}];
\path[name intersections={of=L and slope, by={F}}];
\path[name intersections={of=U and inner, by={G}}];
\path[name intersections={of=u and inner, by={H}}];
\path[name intersections={of=l and inner, by={I}}];
\path[name intersections={of=L and inner, by={J}}];
\path[name intersections={of=U and outer, by={K}}];
\path[name intersections={of=u and outer, by={L}}];
\path[name intersections={of=l and outer, by={M}}];
\path[name intersections={of=L and outer, by={N}}];
\coordinate (O) at ($(-7.5,0.5)+(C)-(D)$);
\coordinate (P) at (-7.5,0.5);
\coordinate (Q) at ($(-7.5,-1.5)+(E)-(F)$);
\coordinate (R) at (-7.5,-1.5);
\path[name intersections={of=fourty and inner, by={S}}];
\path[name intersections={of=fourty and outer, by={T}}];
% drawing the intersections
\foreach \p in {A,...,T} \fill[red] (\p) circle (2pt) node[above left,black] {\footnotesize\p};
% constructing the path
\draw (A) -- (B) (G) -- (C) -- (D) -- (H) (I) -- (E) -- (F) -- (J) (S) -- (T) (N) -- (R) -- (Q) -- (M) (L) -- (P) -- (O) -- (K);
% missing segments
\draw[gray,dashed] circle[radius=5] circle[radius=6];
\end{tikzpicture}
UPDATE (mit Hilfe des pgf malin g Liste wir zu folgender Lösung gekommen)
\draw[thick,fill] let \p1=(A), \p2=(K), \p3=(L), \p4=(M), \p5=(N), \p6=(T),
\p7=(S), \p8=(J), \p9=(I), \p{10}=(H), \p{11}=(G), \p{12}=(B),
\n{aA}={atan2(\x1,\y1)}, \n{aK}={atan2(\x2,\y2)},
\n{aL}={atan2(\x3,\y3)}, \n{aM}={360+atan2(\x4,\y4)},
\n{aN}={360+atan2(\x5,\y5)}, \n{aT}={360+atan2(\x6,\y6)},
\n{aS}={360+atan2(\x7,\y7)}, \n{aJ}={360+atan2(\x8,\y8)},
\n{aI}={360+atan2(\x9,\y9)}, \n{aH}={atan2(\x{10},\y{10})},
\n{aG}={atan2(\x{11},\y{11})}, \n{aB}={atan2(\x{12},\y{12})}
in (A) arc (\n{aA}:\n{aK}:6) -- (O) -- (P)
-- (L) arc (\n{aL}:\n{aM}:6) -- (Q) -- (R)
-- (N) arc (\n{aN}:\n{aT}:6)
-- (S) arc (\n{aS}:\n{aJ}:5) -- (F) -- (E)
-- (I) arc (\n{aI}:\n{aH}:5) -- (D) -- (C)
-- (G) arc (\n{aG}:\n{aB}:5) -- cycle;
Auf diese Weise können TikZ die Winkel der Punkte berechnen und darauf, es ist ein einfacher Aufruf zum Bogen. Der schwierige Teil für mich war die Verwendung der Mathematik-Engine. Die Dokumentation war zu überwältigend und ich vermisste den Teil, wo neue Werte mit der Math-Engine mit den geschweiften Klammern zugewiesen werden.
BTW - Obwohl diese Frage hier zum Thema gehört, finden Sie auf tex.stackexchange.com eine größere Anzahl von Latexbenutzern. Es gibt keinen Migrationspfad, also müssten Sie ... – dmckee