%!PS-Adobe-3.0 % % "0, 0" ist unten links in der Ecke % x, y % x = wagerecht % y = senkrecht % %%% Kreis zeichnen : "4 cm 11 cm 1 cm 0 360 arc" % Kreismittelpunkt : 4 cm nach rechts, 11 cm nach oben % Radius : 1 cm % Kreisbogenanfang : 0° (Position "drei Uhr") % Winkel des Kreisbogens entgegen dem Uhrzeigersinn: 360° % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /inch {72 mul} def /cm {28.346457 mul} def /mm {2.8346457 mul} def /xmitte {10.5 cm} def /ymitte {14.8 cm} def /radius-klein {6 cm} def % 06,0 cm - Kreis /radius-mittel {8.5 cm} def % 08,5 cm - Kreis /radius-gross {10 cm} def % 10,0 cm - Kreis % damit bekommt die Blattmitte die Koordinaten X="0" und Y="0" xmitte ymitte translate /Times-Roman findfont 20 scalefont setfont 1 setlinewidth 0 setgray % schwarz %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % â /acircumflex ä /adieresis Ä /Adieresis % à /agrave ç /ccedilla Ç /Ccedilla % é /eacute É /Eacute ê /ecircumflex % ë /edieresis è /egrave € /Euro % ï /idieresis ô /ocircumflex ö /odieresis % Ö /Odieresis ß /germandbls ü /udieresis % Ü /Udieresis %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Kreis (links herum gezeichnet) % xmitte ymitte radius 0 360 arc % % Kreis: X-Mittelpunkt Y-Mittelpunkt Radius Kreisbeginn Kreisende % xmitte ymitte radius 360 0 arcn % % bei "arc" ist "0" die 3-Uhr-Position, arc dreht links herum % bei "arcn" ist "0" die 3-Uhr-Position, arcn dreht rechts herum % % Nach einem "arc" oder "arcn", zeichnet auch ein "moveto", % deshalb ist es besser, wenn sie jeweils in einen eigenen "path" % gekapselt werden. % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Kreise %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% newpath 0 0 radius-klein 360 0 arcn % 06,0 cm - Kreis closepath stroke newpath 0 0 radius-mittel 360 0 arcn % 08,5 cm - Kreis closepath stroke newpath 0 0 radius-gross 360 0 arcn % 10,0 cm - Kreis closepath stroke %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% newpath % Beginn % Mittelpunkt 0 0 moveto 1 0 rlineto %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Stunden-Striche %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Anfangswert Inkrement Laufgrenze {Befehlsfolge} for % Anfangswert=1 / nach jeden Durchlauf um 1 erhöhen / bis die 12 erreicht wurde 1 1 12 { 0 0 moveto % zum Mittelpunkt gehen 30 rotate radius-mittel 0 rmoveto -0.5 cm 0 rlineto % Stunden-Strich zeichnen 0 0 moveto % zum Mittelpunkt gehen radius-klein 0 rmoveto 0.5 cm 0 rlineto % Stunden-Strich zeichnen } for % Schleifenende %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Minuten- bzw. Sekunden-Striche %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 60 % wie oft? { 0 0 moveto % zum Mittelpunkt gehen 6 rotate radius-mittel 0 rmoveto 0.5 cm 0 rlineto % Minuten- bzw. Sekunden-Strich zeichnen 0.2 cm 0 rmoveto } repeat % Schleifenende %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Minuten- bzw. Sekunden-Zahlen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -10 -5 translate % neuen Mittelpunkt festlegen 0 0 moveto % zum neuen Mittelpunkt gehen %1 1 rlineto % Orientierungspunkt - Test 90 rotate % Ausgangspunkt von 3-Uhr- auf 12-Uhr-Position verdrehen -0.6 rotate % optische Anpassung /i -1 def /r {radius-mittel 28 add} def { /i i 1 add def i 60 ge { exit } if /gp {i 6 mul} def /gn {i -6 mul} def /grad-p {gp 90 sub} def /grad-n {gn 90 add} def /t {gp 2 div} def % Versatz des Winkels, weil die Zahl schräg steht und der Drehpunkt immer Am Zahlenfuß ist /v {t sin} def % Sinus von t, in v speichern /b {v 12 mul} def % damit die Zahlen mittig zwischen den Strichen angeordnet sind 0 0 moveto % zum Mittelpunkt gehen r 0 rmoveto %b 0 rmoveto %1 0 rlineto % Positionspunkt - Test grad-p rotate % beim 1. mal: -90 rotate %-6 0 rmoveto %(.) show %b 9 string cvs show ( ) show i 2 string cvs show () show %grad-p 3 string cvs show ( ) show % Test %grad-n 4 string cvs show ( ) show % Test grad-n rotate % beim 1. mal: 90 rotate -6 rotate } loop % Schleifenende %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Stunden-Striche + Stunden-Zahlen %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 1.5 rotate 0 -3 translate % neuen Mittelpunkt festlegen (höhe / seite) /i 0 def /r {radius-klein 1.2 cm add} def { /i i 1 add def i 12 gt { exit } if /gp {i 30 mul} def /gn {i -30 mul} def /grad-p {gp 90 sub} def /grad-n {gn 90 add} def 0 0 moveto % zum Mittelpunkt gehen -30 rotate r 0 rmoveto grad-p rotate % beim 1. mal: -90 rotate %b 9 string cvs show ( ) show i 2 string cvs show ( ) show %grad-p 3 string cvs show ( ) show % Test %grad-n 4 string cvs show ( ) show % Test grad-n rotate % beim 1. mal: 90 rotate } loop % Schleifenende %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %[ 10 5 2 5 ] 5 setdash % 10 Punkte schwarz, 5 Punkte weiß, 2 Punkte schwartz, 5 Punkte weis (Srich-Punkt-Linie) % % die erste Linie ist beim ersten Aufruf um 5 Punkte verkuerzt %0 cm 14 cm moveto %21 cm 0 cm rlineto closepath % beenden der Zeichnung stroke % zeichnen der bisherigen Zeichnung showpage % komplette Seite zeigen