From 14fb79977b0b8a4d3def48c7b3a20e5c73901ce0 Mon Sep 17 00:00:00 2001 From: Alexander Belopolsky Date: Tue, 9 Nov 2010 18:40:03 +0000 Subject: [PATCH] Issue #7061: Added a 'Turtle star' sidebar --- Doc/includes/turtle-star.py | 10 + Doc/library/turtle-star.pdf | Bin 0 -> 4418 bytes Doc/library/turtle-star.png | Bin 0 -> 39585 bytes Doc/library/turtle-star.ps | 447 ++++++++++++++++++++++++++++++++++++ Doc/library/turtle.rst | 10 + 5 files changed, 467 insertions(+) create mode 100644 Doc/includes/turtle-star.py create mode 100644 Doc/library/turtle-star.pdf create mode 100644 Doc/library/turtle-star.png create mode 100644 Doc/library/turtle-star.ps diff --git a/Doc/includes/turtle-star.py b/Doc/includes/turtle-star.py new file mode 100644 index 0000000000..1a5db761b3 --- /dev/null +++ b/Doc/includes/turtle-star.py @@ -0,0 +1,10 @@ +from turtle import * +color('red', 'yellow') +begin_fill() +while True: + forward(200) + left(170) + if abs(pos()) < 1: + break +end_fill() +done() diff --git a/Doc/library/turtle-star.pdf b/Doc/library/turtle-star.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e354073dd42f5e6ea48118d7e2363247b190528b GIT binary patch literal 4418 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 gsS0z@0RQihAFTADGAXpaa7a}&94sq)#7GP?VQ| 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
  • ZRRRu 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 U;ylQX^VQ2zme-K0`}{5Rf0VPzdH?_b literal 0 HcmV?d00001 diff --git a/Doc/library/turtle-star.ps b/Doc/library/turtle-star.ps new file mode 100644 index 0000000000..46362cb9f7 --- /dev/null +++ b/Doc/library/turtle-star.ps @@ -0,0 +1,447 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Tk Canvas Widget +%%For: Alexander Belopolsky +%%Title: Window .4315905424 +%%CreationDate: Tue Nov 9 12:54:06 2010 +%%XBoundingBox: -172 -52 785 845 +%%BoundingBox: 290 290 520 520 +%%Pages: 1 +%%DocumentData: Clean7Bit +%%Orientation: Portrait +%%EndComments + +%%BeginProlog +/CurrentEncoding [ +/space/space/space/space/space/space/space/space +/space/space/space/space/space/space/space/space +/space/space/space/space/space/space/space/space +/space/space/space/space/space/space/space/space +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus/comma/hyphen/period/slash +/zero/one/two/three/four/five/six/seven +/eight/nine/colon/semicolon/less/equal/greater/question +/at/A/B/C/D/E/F/G +/H/I/J/K/L/M/N/O +/P/Q/R/S/T/U/V/W +/X/Y/Z/bracketleft/backslash/bracketright/asciicircum/underscore +/grave/a/b/c/d/e/f/g +/h/i/j/k/l/m/n/o +/p/q/r/s/t/u/v/w +/x/y/z/braceleft/bar/braceright/asciitilde/space +/space/space/space/space/space/space/space/space +/space/space/space/space/space/space/space/space +/space/space/space/space/space/space/space/space +/space/space/space/space/space/space/space/space +/space/exclamdown/cent/sterling/currency/yen/brokenbar/section +/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered +/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis +/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls +/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis +/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis +] def + +50 dict begin +% This is a standard prolog for Postscript generated by Tk's canvas +% widget. +% RCS: @(#) $Id$ + +% The definitions below just define all of the variables used in +% any of the procedures here. This is needed for obscure reasons +% explained on p. 716 of the Postscript manual (Section H.2.7, +% "Initializing Variables," in the section on Encapsulated Postscript). + +/baseline 0 def +/stipimage 0 def +/height 0 def +/justify 0 def +/lineLength 0 def +/spacing 0 def +/stipple 0 def +/strings 0 def +/xoffset 0 def +/yoffset 0 def +/tmpstip null def + + +/cstringshow { + { + dup type /stringtype eq + { show } { glyphshow } + ifelse + } + forall +} bind def + + + +/cstringwidth { + 0 exch 0 exch + { + dup type /stringtype eq + { stringwidth } { + currentfont /Encoding get exch 1 exch put (\001) stringwidth + } + ifelse + exch 3 1 roll add 3 1 roll add exch + } + forall +} bind def + +% font ISOEncode font +% This procedure changes the encoding of a font from the default +% Postscript encoding to current system encoding. It's typically invoked just +% before invoking "setfont". The body of this procedure comes from +% Section 5.6.1 of the Postscript book. + +/ISOEncode { + dup length dict begin + {1 index /FID ne {def} {pop pop} ifelse} forall + /Encoding CurrentEncoding def + currentdict + end + + % I'm not sure why it's necessary to use "definefont" on this new + % font, but it seems to be important; just use the name "Temporary" + % for the font. + + /Temporary exch definefont +} bind def + +% StrokeClip +% +% This procedure converts the current path into a clip area under +% the assumption of stroking. It's a bit tricky because some Postscript +% interpreters get errors during strokepath for dashed lines. If +% this happens then turn off dashes and try again. + +/StrokeClip { + {strokepath} stopped { + (This Postscript printer gets limitcheck overflows when) = + (stippling dashed lines; lines will be printed solid instead.) = + [] 0 setdash strokepath} if + clip +} bind def + +% desiredSize EvenPixels closestSize +% +% The procedure below is used for stippling. Given the optimal size +% of a dot in a stipple pattern in the current user coordinate system, +% compute the closest size that is an exact multiple of the device's +% pixel size. This allows stipple patterns to be displayed without +% aliasing effects. + +/EvenPixels { + % Compute exact number of device pixels per stipple dot. + dup 0 matrix currentmatrix dtransform + dup mul exch dup mul add sqrt + + % Round to an integer, make sure the number is at least 1, and compute + % user coord distance corresponding to this. + dup round dup 1 lt {pop 1} if + exch div mul +} bind def + +% width height string StippleFill -- +% +% Given a path already set up and a clipping region generated from +% it, this procedure will fill the clipping region with a stipple +% pattern. "String" contains a proper image description of the +% stipple pattern and "width" and "height" give its dimensions. Each +% stipple dot is assumed to be about one unit across in the current +% user coordinate system. This procedure trashes the graphics state. + +/StippleFill { + % The following code is needed to work around a NeWSprint bug. + + /tmpstip 1 index def + + % Change the scaling so that one user unit in user coordinates + % corresponds to the size of one stipple dot. + 1 EvenPixels dup scale + + % Compute the bounding box occupied by the path (which is now + % the clipping region), and round the lower coordinates down + % to the nearest starting point for the stipple pattern. Be + % careful about negative numbers, since the rounding works + % differently on them. + + pathbbox + 4 2 roll + 5 index div dup 0 lt {1 sub} if cvi 5 index mul 4 1 roll + 6 index div dup 0 lt {1 sub} if cvi 6 index mul 3 2 roll + + % Stack now: width height string y1 y2 x1 x2 + % Below is a doubly-nested for loop to iterate across this area + % in units of the stipple pattern size, going up columns then + % across rows, blasting out a stipple-pattern-sized rectangle at + % each position + + 6 index exch { + 2 index 5 index 3 index { + % Stack now: width height string y1 y2 x y + + gsave + 1 index exch translate + 5 index 5 index true matrix tmpstip imagemask + grestore + } for + pop + } for + pop pop pop pop pop +} bind def + +% -- AdjustColor -- +% Given a color value already set for output by the caller, adjusts +% that value to a grayscale or mono value if requested by the CL +% variable. + +/AdjustColor { + CL 2 lt { + currentgray + CL 0 eq { + .5 lt {0} {1} ifelse + } if + setgray + } if +} bind def + +% x y strings spacing xoffset yoffset justify stipple DrawText -- +% This procedure does all of the real work of drawing text. The +% color and font must already have been set by the caller, and the +% following arguments must be on the stack: +% +% x, y - Coordinates at which to draw text. +% strings - An array of strings, one for each line of the text item, +% in order from top to bottom. +% spacing - Spacing between lines. +% xoffset - Horizontal offset for text bbox relative to x and y: 0 for +% nw/w/sw anchor, -0.5 for n/center/s, and -1.0 for ne/e/se. +% yoffset - Vertical offset for text bbox relative to x and y: 0 for +% nw/n/ne anchor, +0.5 for w/center/e, and +1.0 for sw/s/se. +% justify - 0 for left justification, 0.5 for center, 1 for right justify. +% stipple - Boolean value indicating whether or not text is to be +% drawn in stippled fashion. If text is stippled, +% procedure StippleText must have been defined to call +% StippleFill in the right way. +% +% Also, when this procedure is invoked, the color and font must already +% have been set for the text. + +/DrawText { + /stipple exch def + /justify exch def + /yoffset exch def + /xoffset exch def + /spacing exch def + /strings exch def + + % First scan through all of the text to find the widest line. + + /lineLength 0 def + strings { + cstringwidth pop + dup lineLength gt {/lineLength exch def} {pop} ifelse + newpath + } forall + + % Compute the baseline offset and the actual font height. + + 0 0 moveto (TXygqPZ) false charpath + pathbbox dup /baseline exch def + exch pop exch sub /height exch def pop + newpath + + % Translate coordinates first so that the origin is at the upper-left + % corner of the text's bounding box. Remember that x and y for + % positioning are still on the stack. + + translate + lineLength xoffset mul + strings length 1 sub spacing mul height add yoffset mul translate + + % Now use the baseline and justification information to translate so + % that the origin is at the baseline and positioning point for the + % first line of text. + + justify lineLength mul baseline neg translate + + % Iterate over each of the lines to output it. For each line, + % compute its width again so it can be properly justified, then + % display it. + + strings { + dup cstringwidth pop + justify neg mul 0 moveto + stipple { + + + % The text is stippled, so turn it into a path and print + % by calling StippledText, which in turn calls StippleFill. + % Unfortunately, many Postscript interpreters will get + % overflow errors if we try to do the whole string at + % once, so do it a character at a time. + + gsave + /char (X) def + { + dup type /stringtype eq { + % This segment is a string. + { + char 0 3 -1 roll put + currentpoint + gsave + char true charpath clip StippleText + grestore + char stringwidth translate + moveto + } forall + } { + % This segment is glyph name + % Temporary override + currentfont /Encoding get exch 1 exch put + currentpoint + gsave (\001) true charpath clip StippleText + grestore + (\001) stringwidth translate + moveto + } ifelse + } forall + grestore + } {cstringshow} ifelse + 0 spacing neg translate + } forall +} bind def + +%%EndProlog +%%BeginSetup +/CL 2 def +%%EndSetup + +%%Page: 1 1 +save +306.0 396.0 translate +0.9995 0.9995 scale +4 -449 translate +-483 898 moveto 475 898 lineto 475 0 lineto -483 0 lineto closepath clip newpath +gsave +grestore +gsave +0 445 moveto +200 445 lineto +3.03844939755837 479.729635533386 lineto +190.97697355474 411.325606868252 lineto +17.7718927978523 511.325606868252 lineto +170.980781421648 382.768084930944 lineto +42.42325948434 535.97697355474 lineto +142.42325948434 362.771892797852 lineto +74.0192308192062 550.710416955034 lineto +108.748866352592 353.748866352592 lineto +108.748866352592 553.748866352592 lineto +74.0192308192064 356.787315750151 lineto +142.42325948434 544.725839907333 lineto +42.4232594843401 371.520759150445 lineto +170.980781421648 524.72964777424 lineto +17.7718927978524 396.172125836932 lineto +190.97697355474 496.172125836933 lineto +3.03844939755834 427.768097171799 lineto +200 462.497732705185 lineto +-1.13686837721616e-13 462.497732705185 lineto +196.961550602442 427.768097171799 lineto +9.02302644525972 496.172125836932 lineto +182.228107202148 396.172125836933 lineto +29.0192185783518 524.72964777424 lineto +157.57674051566 371.520759150445 lineto +57.5767405156596 544.725839907332 lineto +125.980769180794 356.787315750151 lineto +91.2511336474073 553.748866352592 lineto +91.2511336474079 353.748866352592 lineto +125.980769180793 550.710416955034 lineto +57.5767405156601 362.771892797852 lineto +157.57674051566 535.97697355474 lineto +29.0192185783522 382.768084930944 lineto +182.228107202148 511.325606868253 lineto +9.02302644525994 411.325606868252 lineto +196.961550602442 479.729635533386 lineto +-1.70530256582424e-13 445 lineto +0 445 lineto +1.000 1.000 0.000 setrgbcolor AdjustColor +eofill +grestore +gsave +0 445 moveto +200 445 lineto +3.03844939755837 479.729635533386 lineto +190.97697355474 411.325606868252 lineto +17.7718927978523 511.325606868252 lineto +170.980781421648 382.768084930944 lineto +42.42325948434 535.97697355474 lineto +142.42325948434 362.771892797852 lineto +74.0192308192062 550.710416955034 lineto +108.748866352592 353.748866352592 lineto +108.748866352592 553.748866352592 lineto +74.0192308192064 356.787315750151 lineto +142.42325948434 544.725839907333 lineto +42.4232594843401 371.520759150445 lineto +170.980781421648 524.72964777424 lineto +17.7718927978524 396.172125836932 lineto +190.97697355474 496.172125836933 lineto +3.03844939755834 427.768097171799 lineto +200 462.497732705185 lineto +-1.13686837721616e-13 462.497732705185 lineto +196.961550602442 427.768097171799 lineto +9.02302644525972 496.172125836932 lineto +182.228107202148 396.172125836933 lineto +29.0192185783518 524.72964777424 lineto +157.57674051566 371.520759150445 lineto +57.5767405156596 544.725839907332 lineto +125.980769180794 356.787315750151 lineto +91.2511336474073 553.748866352592 lineto +91.2511336474079 353.748866352592 lineto +125.980769180793 550.710416955034 lineto +57.5767405156601 362.771892797852 lineto +157.57674051566 535.97697355474 lineto +29.0192185783522 382.768084930944 lineto +182.228107202148 511.325606868253 lineto +9.02302644525994 411.325606868252 lineto +196.961550602442 479.729635533386 lineto +-1.70530256582424e-13 445 lineto +1 setlinecap +1 setlinejoin +1 setlinewidth +[] 0 setdash +1.000 0.000 0.000 setrgbcolor AdjustColor +stroke +grestore +gsave +grestore +gsave +-1.70530256582424e-13 445 moveto +-9.00000000000019 450 lineto +-7.00000000000017 445 lineto +-9.00000000000015 440 lineto +-1.70530256582424e-13 445 lineto +1.000 1.000 0.000 setrgbcolor AdjustColor +eofill +-1.70530256582424e-13 445 moveto +-9.00000000000019 450 lineto +-7.00000000000017 445 lineto +-9.00000000000015 440 lineto +-1.70530256582424e-13 445 lineto +1 setlinejoin 1 setlinecap +1 setlinewidth +[] 0 setdash +1.000 0.000 0.000 setrgbcolor AdjustColor +stroke +grestore +restore showpage + +%%Trailer +end +%%EOF + diff --git a/Doc/library/turtle.rst b/Doc/library/turtle.rst index efe9ae79eb..c2b9f4172a 100644 --- a/Doc/library/turtle.rst +++ b/Doc/library/turtle.rst @@ -23,6 +23,16 @@ command ``turtle.forward(15)``, and it moves (on-screen!) 15 pixels in the direction it is facing, drawing a line as it moves. Give it the command ``turtle.left(25)``, and it rotates in-place 25 degrees clockwise. +.. sidebar:: Turtle star + + Turtle can draw intricate shapes using programs that repeat simple + moves. + + .. image:: turtle-star.* + :align: center + + .. literalinclude:: ../includes/turtle-star.py + By combining together these and similar commands, intricate shapes and pictures can easily be drawn. -- 2.40.0