Seite 1 von 1

Linienzug zeichnen ohne Berechnung von Koordinaten

Verfasst: Sa 31. Mai 2014, 10:28
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

Verfasst: Sa 31. Mai 2014, 11:21
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

Verfasst: Sa 7. Jun 2014, 23:43
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

Verfasst: Sa 7. Jun 2014, 23:47
von esdd
Kannst du vielleicht den Link hier mit angeben, falls jemand anders danach sucht?

Gruß
Elke