Linienzug zeichnen ohne Berechnung von Koordinaten

Tabellen und Grafiken erstellen und anordnen


mf123
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Di 16. Apr 2013, 11:31

Linienzug zeichnen ohne Berechnung von Koordinaten

Beitrag von mf123 »

Hallo

ist es möglich, mehrere Linien aneinander zu zeichnen, ohne Koordinaten zu berechnen. Wenn ich z.B. eine regelmässiges Fünfeck zeichnen will, muss ich ab dem dritten Punkt rechnen:
\documentclass{article}
\usepackage{pstricks}
\begin{pspicture}(0,0)(10,10)
\psline[linewidth=1pt]{-}(0,0)(5,0)(6.545,4.755)
\end{pspicture}
\end{document}
Einfacher wäre es wenn ich 5 vorwärts, 72° drehen, 5 vorwärts 72° drehen, usw. tippen könnte.

Gibt es sonst noch eine Alternative?

Danke und Gruss

Marcel

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Hier ist ein Vorschlag mit aktuellem (Version 3.0) TikZ :
\documentclass[margin=5pt,tikz]{standalone}

\usetikzlibrary{shapes.geometric}
\begin{document}
\begin{tikzpicture}
  \draw(0,0)--(72:5)--([turn]-72:5)--([turn]-72:5)--([turn]-72:5)--cycle;
  \fill[red!50!black!50](2,2)--+(0,1)--([turn]-72:1)--([turn]-72:1)--([turn]-72:1)--cycle;
\end{tikzpicture}
\end{document}
Mit pstricks geht das bestimmt auch, mir fehlt aber die Zeit danach zu suchen.

Gruß
Elke

mf123
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Di 16. Apr 2013, 11:31

Beitrag von mf123 »

Danke Elke

ich habe über einen Umweg doch noch etwas ziemlich Kompliziertes von Herbert gefunden. Ich staune aber über die einfache Lösung mit TikZ. Hätte ich nicht schon so viel mit PSTricks gearbeitet, würde ich mir überlegen umzusteigen! Hier der Code (von mir leicht abgeändert):
\documentclass{article}
\usepackage{KantiMarcel}

\SpecialCoor
\makeatletter
\def\psStartPunkt(#1){\pst@getcoor{#1}\pst@tempA %Makro psStartPunkt wird definiert
\pstVerb{\pst@tempA
\pst@number\psyunit div /cp.Y exch def
\pst@number\psxunit div /cp.X exch def }}
\def\psVektor{\pst@object{psVektor}}
\def\psVektor@i(#1){%
\pst@killglue%
\pst@getcoor{#1}\pst@tempA%
\begin@SpecialObj%
\rput(! cp.X cp.Y ){\psline[arrowsize=6pt]{-}(0,0)(#1)%
}%
\end@SpecialObj%
\pstVerb{tx@Dict begin \pst@tempA 
\pst@number\psyunit div
cp.Y add /cp.Y exch def
\pst@number\psxunit div
cp.X add /cp.X exch def end}
\ignorespaces%
}
\makeatother
\begin{document}

\begin{pspicture}[showgrid](10,10)
\psStartPunkt(1,1)
\psVektor(1,4)\psVektor(4,2)\psVektor[linecolor=red](3;10)\psVektor(4;110)
\end{pspicture}

\end{document} 
Marcel
Zuletzt geändert von mf123 am So 8. Jun 2014, 00:39, insgesamt 1-mal geändert.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Kannst du vielleicht den Link hier mit angeben, falls jemand anders danach sucht?

Gruß
Elke

Antworten