{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.dSNSfY9g/b1/sketch_0.3.7-12_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.dSNSfY9g/b2/sketch_0.3.7-12_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- 9476afdde0c9dd1e7f9085043a205714 200832 debug optional sketch-dbgsym_0.3.7-12_amd64.deb\n- f78470b509e3cd41f8d11e3756a8b80c 1174412 doc optional sketch-doc_0.3.7-12_all.deb\n- 7145e1b4e785c276a298726564ea74a7 63292 graphics optional sketch_0.3.7-12_amd64.deb\n+ 84d47f710ac5dedff38f7a77dcf7012d 200832 debug optional sketch-dbgsym_0.3.7-12_amd64.deb\n+ 8ee5dcb95e4d41cae86a9efd5fc398d9 1174416 doc optional sketch-doc_0.3.7-12_all.deb\n+ 3dc320d13c10b11e6e3f591184c6f866 63288 graphics optional sketch_0.3.7-12_amd64.deb\n"}, {"source1": "sketch-doc_0.3.7-12_all.deb", "source2": "sketch-doc_0.3.7-12_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2020-11-07 02:36:18.000000 debian-binary\n -rw-r--r-- 0 0 0 4300 2020-11-07 02:36:18.000000 control.tar.xz\n--rw-r--r-- 0 0 0 1169920 2020-11-07 02:36:18.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 1169924 2020-11-07 02:36:18.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -128,12 +128,12 @@\n -rw-r--r-- 0 root (0) root (0) 2431 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch/ex220.png\n -rw-r--r-- 0 root (0) root (0) 2846 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch/ex230.png\n -rw-r--r-- 0 root (0) root (0) 3579 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch/ex240.png\n -rw-r--r-- 0 root (0) root (0) 2116 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch/ex250.png\n -rw-r--r-- 0 root (0) root (0) 2032 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch/ex260.png\n -rw-r--r-- 0 root (0) root (0) 66246 2012-02-25 02:28:13.000000 ./usr/share/doc/sketch-doc/sketch/index.html\n -rw-r--r-- 0 root (0) root (0) 9205 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch/transparent.png\n--rw-r--r-- 0 root (0) root (0) 716849 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch.pdf.gz\n+-rw-r--r-- 0 root (0) root (0) 716830 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch.pdf.gz\n drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 398 2020-11-07 02:36:18.000000 ./usr/share/doc-base/sketch-doc.sketch\n drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/share/info/\n--rw-r--r-- 0 root (0) root (0) 40133 2020-11-07 02:36:18.000000 ./usr/share/info/sketch.info.gz\n+-rw-r--r-- 0 root (0) root (0) 40135 2020-11-07 02:36:18.000000 ./usr/share/info/sketch.info.gz\n"}, {"source1": "./usr/share/doc/sketch-doc/sketch.pdf.gz", "source2": "./usr/share/doc/sketch-doc/sketch.pdf.gz", "unified_diff": null, "details": [{"source1": "sketch.pdf", "source2": "sketch.pdf", "unified_diff": null, "details": [{"source1": "pdftotext {} -", "source2": "pdftotext {} -", "unified_diff": "@@ -1,15 +1,15 @@\n Sketch\n Simple 3D sketching\n-Version 0.3 (build 7), Sunday, February 16, 2025\n+Version 0.3 (build 7), Monday, March 23, 2026\n \n Gene Ressler\n \n \fCopyright c 2005 to 2012 Eugene K. Ressler.\n-This manual is for sketch, version 0.3 (build 7), Sunday, February 16, 2025, a program that\n+This manual is for sketch, version 0.3 (build 7), Monday, March 23, 2026, a program that\n converts descriptions of simple three-dimensional scenes into line drawings. This version\n generates PSTricks or PGF/TikZ code suitable for use with the TEX document processing\n system.\n Sketch is free software. You can redistribute it and/or modify it under the terms of the\n GNU General Public License as published by the Free Software Foundation; either version\n 3, or (at your option) any later version.\n Sketch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;\n"}]}]}, {"source1": "./usr/share/info/sketch.info.gz", "source2": "./usr/share/info/sketch.info.gz", "unified_diff": null, "details": [{"source1": "sketch.info", "source2": "sketch.info", "has_internal_linenos": true, "unified_diff": "@@ -5,9794 +5,9793 @@\n 00000040: 7463 682e 7465 7869 2e0a 0a43 6f70 7972 tch.texi...Copyr\n 00000050: 6967 6874 20c2 a920 3230 3035 2074 6f20 ight .. 2005 to \n 00000060: 3230 3132 2045 7567 656e 6520 4b2e 2052 2012 Eugene K. R\n 00000070: 6573 736c 6572 2e0a 0a20 2020 5468 6973 essler... This\n 00000080: 206d 616e 7561 6c20 6973 2066 6f72 20e2 manual is for .\n 00000090: 8098 736b 6574 6368 e280 992c 2076 6572 ..sketch..., ver\n 000000a0: 7369 6f6e 2030 2e33 2028 6275 696c 6420 sion 0.3 (build \n-000000b0: 3729 2c20 5375 6e64 6179 2c20 4665 6272 7), Sunday, Febr\n-000000c0: 7561 7279 0a31 362c 2032 3032 352c 2061 uary.16, 2025, a\n-000000d0: 2070 726f 6772 616d 2074 6861 7420 636f program that co\n-000000e0: 6e76 6572 7473 2064 6573 6372 6970 7469 nverts descripti\n-000000f0: 6f6e 7320 6f66 2073 696d 706c 650a 7468 ons of simple.th\n-00000100: 7265 652d 6469 6d65 6e73 696f 6e61 6c20 ree-dimensional \n-00000110: 7363 656e 6573 2069 6e74 6f20 6c69 6e65 scenes into line\n-00000120: 2064 7261 7769 6e67 732e 2020 5468 6973 drawings. This\n-00000130: 2076 6572 7369 6f6e 2067 656e 6572 6174 version generat\n-00000140: 6573 0ae2 8098 5053 5472 6963 6b73 e280 es....PSTricks..\n-00000150: 9920 6f72 20e2 8098 5047 462f 5469 6b5a . or ...PGF/TikZ\n-00000160: e280 9920 636f 6465 2073 7569 7461 626c ... code suitabl\n-00000170: 6520 666f 7220 7573 6520 7769 7468 2074 e for use with t\n-00000180: 6865 2054 6558 2064 6f63 756d 656e 740a he TeX document.\n-00000190: 7072 6f63 6573 7369 6e67 2073 7973 7465 processing syste\n-000001a0: 6d2e 0a0a 2020 20e2 8098 536b 6574 6368 m... ...Sketch\n-000001b0: e280 9920 6973 2066 7265 6520 736f 6674 ... is free soft\n-000001c0: 7761 7265 2e20 2059 6f75 2063 616e 2072 ware. You can r\n-000001d0: 6564 6973 7472 6962 7574 6520 6974 2061 edistribute it a\n-000001e0: 6e64 2f6f 7220 6d6f 6469 6679 2069 740a nd/or modify it.\n-000001f0: 756e 6465 7220 7468 6520 7465 726d 7320 under the terms \n-00000200: 6f66 2074 6865 2047 4e55 2047 656e 6572 of the GNU Gener\n-00000210: 616c 2050 7562 6c69 6320 4c69 6365 6e73 al Public Licens\n-00000220: 6520 6173 2070 7562 6c69 7368 6564 2062 e as published b\n-00000230: 7920 7468 650a 4672 6565 2053 6f66 7477 y the.Free Softw\n-00000240: 6172 6520 466f 756e 6461 7469 6f6e 3b20 are Foundation; \n-00000250: 6569 7468 6572 2076 6572 7369 6f6e 2033 either version 3\n-00000260: 2c20 6f72 2028 6174 2079 6f75 7220 6f70 , or (at your op\n-00000270: 7469 6f6e 2920 616e 790a 6c61 7465 7220 tion) any.later \n-00000280: 7665 7273 696f 6e2e 0a0a 2020 2053 6b65 version... Ske\n-00000290: 7463 6820 6973 2064 6973 7472 6962 7574 tch is distribut\n-000002a0: 6564 2069 6e20 7468 6520 686f 7065 2074 ed in the hope t\n-000002b0: 6861 7420 6974 2077 696c 6c20 6265 2075 hat it will be u\n-000002c0: 7365 6675 6c2c 2062 7574 2057 4954 484f seful, but WITHO\n-000002d0: 5554 0a41 4e59 2057 4152 5241 4e54 593b UT.ANY WARRANTY;\n-000002e0: 2077 6974 686f 7574 2065 7665 6e20 7468 without even th\n-000002f0: 6520 696d 706c 6965 6420 7761 7272 616e e implied warran\n-00000300: 7479 206f 6620 4d45 5243 4841 4e54 4142 ty of MERCHANTAB\n-00000310: 494c 4954 5920 6f72 0a46 4954 4e45 5353 ILITY or.FITNESS\n-00000320: 2046 4f52 2041 2050 4152 5449 4355 4c41 FOR A PARTICULA\n-00000330: 5220 5055 5250 4f53 452e 2053 6565 2074 R PURPOSE. See t\n-00000340: 6865 2047 4e55 2047 656e 6572 616c 2050 he GNU General P\n-00000350: 7562 6c69 6320 4c69 6365 6e73 6520 666f ublic License fo\n-00000360: 720a 6d6f 7265 2064 6574 6169 6c73 2e0a r.more details..\n-00000370: 0a20 2020 596f 7520 7368 6f75 6c64 2068 . You should h\n-00000380: 6176 6520 7265 6365 6976 6564 2061 2063 ave received a c\n-00000390: 6f70 7920 6f66 2074 6865 2047 4e55 2047 opy of the GNU G\n-000003a0: 656e 6572 616c 2050 7562 6c69 6320 4c69 eneral Public Li\n-000003b0: 6365 6e73 650a 616c 6f6e 6720 7769 7468 cense.along with\n-000003c0: 20e2 8098 736b 6574 6368 e280 993b 2073 ...sketch...; s\n-000003d0: 6565 2074 6865 2066 696c 6520 434f 5059 ee the file COPY\n-000003e0: 494e 472e 7478 742e 2020 4966 206e 6f74 ING.txt. If not\n-000003f0: 2c20 7365 650a 6874 7470 3a2f 2f77 7777 , see.http://www\n-00000400: 2e67 6e75 2e6f 7267 2f63 6f70 796c 6566 .gnu.org/copylef\n-00000410: 742e 0a0a 494e 464f 2d44 4952 2d53 4543 t...INFO-DIR-SEC\n-00000420: 5449 4f4e 2054 6558 0a53 5441 5254 2d49 TION TeX.START-I\n-00000430: 4e46 4f2d 4449 522d 454e 5452 590a 2a20 NFO-DIR-ENTRY.* \n-00000440: 536b 6574 6368 3a20 2873 6b65 7463 6829 Sketch: (sketch)\n-00000450: 2e20 2020 2020 2020 2020 2020 2020 5369 . Si\n-00000460: 6d70 6c65 2033 4420 736b 6574 6368 696e mple 3D sketchin\n-00000470: 6720 666f 7220 5465 580a 454e 442d 494e g for TeX.END-IN\n-00000480: 464f 2d44 4952 2d45 4e54 5259 0a0a 1f0a FO-DIR-ENTRY....\n-00000490: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n-000004a0: 6f2c 2020 4e6f 6465 3a20 546f 702c 2020 o, Node: Top, \n-000004b0: 4e65 7874 3a20 4162 6f75 7420 736b 6574 Next: About sket\n-000004c0: 6368 2c20 2050 7265 763a 2028 6469 7229 ch, Prev: (dir)\n-000004d0: 2c20 2055 703a 2028 6469 7229 0a0a 536b , Up: (dir)..Sk\n-000004e0: 6574 6368 0a2a 2a2a 2a2a 2a0a 0a43 6f70 etch.******..Cop\n-000004f0: 7972 6967 6874 20c2 a920 3230 3035 2074 yright .. 2005 t\n-00000500: 6f20 3230 3132 2045 7567 656e 6520 4b2e o 2012 Eugene K.\n-00000510: 2052 6573 736c 6572 2e0a 0a20 2020 5468 Ressler... Th\n-00000520: 6973 206d 616e 7561 6c20 6973 2066 6f72 is manual is for\n-00000530: 20e2 8098 736b 6574 6368 e280 992c 2076 ...sketch..., v\n-00000540: 6572 7369 6f6e 2030 2e33 2028 6275 696c ersion 0.3 (buil\n-00000550: 6420 3729 2c20 5375 6e64 6179 2c20 4665 d 7), Sunday, Fe\n-00000560: 6272 7561 7279 0a31 362c 2032 3032 352c bruary.16, 2025,\n-00000570: 2061 2070 726f 6772 616d 2074 6861 7420 a program that \n-00000580: 636f 6e76 6572 7473 2064 6573 6372 6970 converts descrip\n-00000590: 7469 6f6e 7320 6f66 2073 696d 706c 650a tions of simple.\n-000005a0: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona\n-000005b0: 6c20 7363 656e 6573 2069 6e74 6f20 6c69 l scenes into li\n-000005c0: 6e65 2064 7261 7769 6e67 732e 2020 5468 ne drawings. Th\n-000005d0: 6973 2076 6572 7369 6f6e 2067 656e 6572 is version gener\n-000005e0: 6174 6573 0ae2 8098 5053 5472 6963 6b73 ates....PSTricks\n-000005f0: e280 9920 6f72 20e2 8098 5047 462f 5469 ... or ...PGF/Ti\n-00000600: 6b5a e280 9920 636f 6465 2073 7569 7461 kZ... code suita\n-00000610: 626c 6520 666f 7220 7573 6520 7769 7468 ble for use with\n-00000620: 2074 6865 2054 6558 2064 6f63 756d 656e the TeX documen\n-00000630: 740a 7072 6f63 6573 7369 6e67 2073 7973 t.processing sys\n-00000640: 7465 6d2e 0a0a 2020 20e2 8098 536b 6574 tem... ...Sket\n-00000650: 6368 e280 9920 6973 2066 7265 6520 736f ch... is free so\n-00000660: 6674 7761 7265 2e20 2059 6f75 2063 616e ftware. You can\n-00000670: 2072 6564 6973 7472 6962 7574 6520 6974 redistribute it\n-00000680: 2061 6e64 2f6f 7220 6d6f 6469 6679 2069 and/or modify i\n-00000690: 740a 756e 6465 7220 7468 6520 7465 726d t.under the term\n-000006a0: 7320 6f66 2074 6865 2047 4e55 2047 656e s of the GNU Gen\n-000006b0: 6572 616c 2050 7562 6c69 6320 4c69 6365 eral Public Lice\n-000006c0: 6e73 6520 6173 2070 7562 6c69 7368 6564 nse as published\n-000006d0: 2062 7920 7468 650a 4672 6565 2053 6f66 by the.Free Sof\n-000006e0: 7477 6172 6520 466f 756e 6461 7469 6f6e tware Foundation\n-000006f0: 3b20 6569 7468 6572 2076 6572 7369 6f6e ; either version\n-00000700: 2033 2c20 6f72 2028 6174 2079 6f75 7220 3, or (at your \n-00000710: 6f70 7469 6f6e 2920 616e 790a 6c61 7465 option) any.late\n-00000720: 7220 7665 7273 696f 6e2e 0a0a 2020 2053 r version... S\n-00000730: 6b65 7463 6820 6973 2064 6973 7472 6962 ketch is distrib\n-00000740: 7574 6564 2069 6e20 7468 6520 686f 7065 uted in the hope\n-00000750: 2074 6861 7420 6974 2077 696c 6c20 6265 that it will be\n-00000760: 2075 7365 6675 6c2c 2062 7574 2057 4954 useful, but WIT\n-00000770: 484f 5554 0a41 4e59 2057 4152 5241 4e54 HOUT.ANY WARRANT\n-00000780: 593b 2077 6974 686f 7574 2065 7665 6e20 Y; without even \n-00000790: 7468 6520 696d 706c 6965 6420 7761 7272 the implied warr\n-000007a0: 616e 7479 206f 6620 4d45 5243 4841 4e54 anty of MERCHANT\n-000007b0: 4142 494c 4954 5920 6f72 0a46 4954 4e45 ABILITY or.FITNE\n-000007c0: 5353 2046 4f52 2041 2050 4152 5449 4355 SS FOR A PARTICU\n-000007d0: 4c41 5220 5055 5250 4f53 452e 2053 6565 LAR PURPOSE. See\n-000007e0: 2074 6865 2047 4e55 2047 656e 6572 616c the GNU General\n-000007f0: 2050 7562 6c69 6320 4c69 6365 6e73 6520 Public License \n-00000800: 666f 720a 6d6f 7265 2064 6574 6169 6c73 for.more details\n-00000810: 2e0a 0a20 2020 596f 7520 7368 6f75 6c64 ... You should\n-00000820: 2068 6176 6520 7265 6365 6976 6564 2061 have received a\n-00000830: 2063 6f70 7920 6f66 2074 6865 2047 4e55 copy of the GNU\n-00000840: 2047 656e 6572 616c 2050 7562 6c69 6320 General Public \n-00000850: 4c69 6365 6e73 650a 616c 6f6e 6720 7769 License.along wi\n-00000860: 7468 20e2 8098 736b 6574 6368 e280 993b th ...sketch...;\n-00000870: 2073 6565 2074 6865 2066 696c 6520 434f see the file CO\n-00000880: 5059 494e 472e 7478 742e 2020 4966 206e PYING.txt. If n\n-00000890: 6f74 2c20 7365 650a 6874 7470 3a2f 2f77 ot, see.http://w\n-000008a0: 7777 2e67 6e75 2e6f 7267 2f63 6f70 796c ww.gnu.org/copyl\n-000008b0: 6566 742e 0a0a 2a20 4d65 6e75 3a0a 0a2a eft...* Menu:..*\n-000008c0: 2041 626f 7574 2073 6b65 7463 683a 3a20 About sketch:: \n-000008d0: 2020 2020 2020 2020 2020 2020 2020 2057 W\n-000008e0: 6879 2073 6b65 7463 6820 6578 6973 7473 hy sketch exists\n-000008f0: 2061 6e64 2077 6861 7420 6974 2064 6f65 and what it doe\n-00000900: 732e 0a2a 2049 6e74 726f 6475 6374 696f s..* Introductio\n-00000910: 6e20 6279 2065 7861 6d70 6c65 3a3a 2020 n by example:: \n-00000920: 2020 204d 6f73 7420 6665 6174 7572 6573 Most features\n-00000930: 2073 686f 776e 2061 7320 776f 726b 696e shown as workin\n-00000940: 6720 636f 6465 2e0a 2a20 496e 7075 7420 g code..* Input \n-00000950: 6c61 6e67 7561 6765 3a3a 2020 2020 2020 language:: \n-00000960: 2020 2020 2020 2020 5379 6e74 6178 2061 Syntax a\n-00000970: 6e64 2073 656d 616e 7469 6373 206f 6620 nd semantics of \n-00000980: e280 9873 6b65 7463 68e2 8099 2063 6f6d ...sketch... com\n-00000990: 6d61 6e64 732e 0a2a 2042 7569 6c64 696e mands..* Buildin\n-000009a0: 6720 6120 6472 6177 696e 673a 3a20 2020 g a drawing:: \n-000009b0: 2020 2020 2020 2048 6f77 2074 6f20 7573 How to us\n-000009c0: 6520 e280 9873 6b65 7463 68e2 8099 2070 e ...sketch... p\n-000009d0: 726f 6475 6374 6976 656c 792e 0a2a 2043 roductively..* C\n-000009e0: 6f6d 6d61 6e64 206c 696e 653a 3a20 2020 ommand line:: \n-000009f0: 2020 2020 2020 2020 2020 2020 204f 7074 Opt\n-00000a00: 696f 6e73 2061 6e64 2074 6865 6972 2075 ions and their u\n-00000a10: 7361 6765 2e0a 2a20 496e 7374 616c 6c69 sage..* Installi\n-00000a20: 6e67 2073 6b65 7463 683a 3a20 2020 2020 ng sketch:: \n-00000a30: 2020 2020 2020 4275 696c 6469 6e67 2061 Building a\n-00000a40: 6e64 2069 6e73 7461 6c6c 696e 6720 6672 nd installing fr\n-00000a50: 6f6d 2073 6f75 7263 6573 2e0a 2a20 496e om sources..* In\n-00000a60: 6465 7820 6f66 2073 796e 7461 783a 3a0a dex of syntax::.\n-00000a70: 2a20 496e 6465 783a 3a0a 0a20 2d2d 2054 * Index::.. -- T\n-00000a80: 6865 2044 6574 6169 6c65 6420 4e6f 6465 he Detailed Node\n-00000a90: 204c 6973 7469 6e67 202d 2d0a 0a41 626f Listing --..Abo\n-00000aa0: 7574 2073 6b65 7463 680a 0a2a 2052 6570 ut sketch..* Rep\n-00000ab0: 6f72 7469 6e67 2062 7567 733a 3a20 2020 orting bugs:: \n-00000ac0: 2020 2020 2020 2020 2020 204c 6574 2075 Let u\n-00000ad0: 7365 206b 6e6f 7720 7768 6174 2773 2077 se know what's w\n-00000ae0: 726f 6e67 210a 2a20 436f 6e74 7269 6275 rong!.* Contribu\n-00000af0: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: \n-00000b00: 2020 2020 2020 486f 7720 796f 7520 6361 How you ca\n-00000b10: 6e20 6865 6c70 2e2e 2e2e 0a0a 496e 7472 n help......Intr\n-00000b20: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam\n-00000b30: 706c 650a 0a2a 2048 656c 6c6f 2077 6f72 ple..* Hello wor\n-00000b40: 6c64 3a3a 2020 2020 2020 2020 2020 2020 ld:: \n-00000b50: 2020 2020 2053 696d 706c 6573 7420 706f Simplest po\n-00000b60: 7373 6962 6c65 20e2 8098 736b 6574 6368 ssible ...sketch\n-00000b70: e280 9920 7072 6f67 7261 6d2e 0a2a 2044 ... program..* D\n-00000b80: 7261 7769 6e67 206f 7074 696f 6e73 3a3a rawing options::\n-00000b90: 2020 2020 2020 2020 2020 2020 2043 6f6e Con\n-00000ba0: 7472 6f6c 6c69 6e67 206f 626a 6563 7420 trolling object \n-00000bb0: 6170 7065 6172 616e 6365 2e0a 2a20 4472 appearance..* Dr\n-00000bc0: 6177 696e 6720 6120 736f 6c69 643a 3a20 awing a solid:: \n-00000bd0: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n-00000be0: 696e 6720 616e 206f 626a 6563 7420 7769 ing an object wi\n-00000bf0: 7468 2033 6420 6170 7065 6172 616e 6365 th 3d appearance\n-00000c00: 2e0a 2a20 5370 6563 6961 6c20 6f62 6a65 ..* Special obje\n-00000c10: 6374 733a 3a20 2020 2020 2020 2020 2020 cts:: \n-00000c20: 2020 4c61 7969 6e67 2054 6558 206f 7665 Laying TeX ove\n-00000c30: 722c 2069 6e2c 206f 7220 756e 6465 7220 r, in, or under \n-00000c40: 6472 6177 696e 6773 2e0a 2a20 4f62 6a65 drawings..* Obje\n-00000c50: 6374 2074 7261 6e73 666f 726d 733a 3a20 ct transforms:: \n-00000c60: 2020 2020 2020 2020 2020 526f 7461 7465 Rotate\n-00000c70: 2c20 7472 616e 736c 6174 652c 2073 6361 , translate, sca\n-00000c80: 6c65 2c20 616e 6420 6f74 6865 7273 2e0a le, and others..\n-00000c90: 2a20 5265 7065 6174 6564 206f 626a 6563 * Repeated objec\n-00000ca0: 7473 3a3a 2020 2020 2020 2020 2020 2020 ts:: \n-00000cb0: 4d61 6b69 6e67 2074 7261 6e73 666f 726d Making transform\n-00000cc0: 6564 2063 6f70 6965 732e 0a2a 2053 7765 ed copies..* Swe\n-00000cd0: 7074 206f 626a 6563 7473 3a3a 2020 2020 pt objects:: \n-00000ce0: 2020 2020 2020 2020 2020 2053 7765 6570 Sweep\n-00000cf0: 696e 6720 6f62 6a65 6374 7320 696e 2073 ing objects in s\n-00000d00: 7061 6365 2074 6f20 6d61 6b65 206e 6577 pace to make new\n-00000d10: 2073 6861 7065 732e 0a0a 5377 6570 7420 shapes...Swept \n-00000d20: 6f62 6a65 6374 730a 0a2a 2050 6f69 6e74 objects..* Point\n-00000d30: 2073 7765 6570 733a 3a20 2020 2020 2020 sweeps:: \n-00000d40: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p\n-00000d50: 6f69 6e74 7320 6d61 6b65 206c 696e 6573 oints make lines\n-00000d60: 2061 6e64 2070 6f6c 7967 6f6e 732e 0a2a and polygons..*\n-00000d70: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-00000d80: 3a3a 2020 2020 2020 2020 2020 2020 2053 :: S\n-00000d90: 7765 7074 206c 696e 6573 206d 616b 6520 wept lines make \n-00000da0: 7375 7266 6163 6573 2e0a 2a20 4e65 7374 surfaces..* Nest\n-00000db0: 6564 2073 7765 6570 733a 3a20 2020 2020 ed sweeps:: \n-00000dc0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-00000dd0: 7377 6565 7073 2061 7265 2075 7365 6675 sweeps are usefu\n-00000de0: 6c21 0a2a 2050 6f6c 7967 6f6e 2073 7765 l!.* Polygon swe\n-00000df0: 6570 733a 3a20 2020 2020 2020 2020 2020 eps:: \n-00000e00: 2020 2053 7765 7074 2070 6f6c 7967 6f6e Swept polygon\n-00000e10: 7320 6d61 6b65 2073 6f6c 6964 732e 2e2e s make solids...\n-00000e20: 0a2a 2050 6f6c 796c 696e 6520 7377 6565 .* Polyline swee\n-00000e30: 7073 2077 6974 6820 636c 6f73 7572 653a ps with closure:\n-00000e40: 3a20 2061 6e64 2073 6f20 646f 2063 6c6f : and so do clo\n-00000e50: 7365 6420 706f 6c79 6c69 6e65 2073 7765 sed polyline swe\n-00000e60: 6570 732e 0a2a 2041 6666 696e 6520 6172 eps..* Affine ar\n-00000e70: 6974 686d 6574 6963 3a3a 2020 2020 2020 ithmetic:: \n-00000e80: 2020 2020 2053 6b65 7463 6820 7573 6566 Sketch usef\n-00000e90: 756c 206d 6174 6820 6578 7072 6573 7369 ul math expressi\n-00000ea0: 6f6e 2e0a 2a20 4d6f 7265 2074 6f20 6c65 on..* More to le\n-00000eb0: 6172 6e3a 3a20 2020 2020 2020 2020 2020 arn:: \n-00000ec0: 2020 2020 4368 6563 6b20 6f75 7420 7468 Check out th\n-00000ed0: 6520 4d6f 6269 7573 2073 7472 6970 210a e Mobius strip!.\n-00000ee0: 0a49 6e70 7574 206c 616e 6775 6167 650a .Input language.\n-00000ef0: 0a2a 204c 616e 6775 6167 6520 6261 7369 .* Language basi\n-00000f00: 6373 3a3a 2020 2020 2020 2020 2020 2020 cs:: \n-00000f10: 2043 6173 652c 2073 7061 6365 2c20 636f Case, space, co\n-00000f20: 6d6d 656e 7473 2c20 696e 636c 7564 6520 mments, include \n-00000f30: 6669 6c65 732e 0a2a 2044 7261 7761 626c files..* Drawabl\n-00000f40: 6573 3a3a 2020 2020 2020 2020 2020 2020 es:: \n-00000f50: 2020 2020 2020 2054 6869 6e67 7320 7468 Things th\n-00000f60: 6174 2063 616e 2062 6520 6472 6177 6e2e at can be drawn.\n-00000f70: 0a2a 2044 6566 696e 6974 696f 6e73 3a3a .* Definitions::\n-00000f80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00000f90: 2047 6976 696e 6720 7468 696e 6773 206e Giving things n\n-00000fa0: 616d 6573 2e0a 2a20 476c 6f62 616c 2065 ames..* Global e\n-00000fb0: 6e76 6972 6f6e 6d65 6e74 3a3a 2020 2020 nvironment:: \n-00000fc0: 2020 2020 2020 4166 6665 6374 2074 6865 Affect the\n-00000fd0: 2065 6e74 6972 6520 6472 6177 696e 672e entire drawing.\n-00000fe0: 0a0a 4261 7369 6373 0a0a 2a20 4964 656e ..Basics..* Iden\n-00000ff0: 7469 6669 6572 733a 3a20 2020 2020 2020 tifiers:: \n-00001000: 2020 2020 2020 2020 2020 4e61 6d65 7320 Names \n-00001010: 666f 7220 7468 696e 6773 2e0a 2a20 4b65 for things..* Ke\n-00001020: 7920 616e 6420 7265 7365 7276 6564 2077 y and reserved w\n-00001030: 6f72 6473 3a3a 2020 2020 2020 4e61 6d65 ords:: Name\n-00001040: 7320 796f 7520 7368 6f75 6c64 6e27 7420 s you shouldn't \n-00001050: 7573 652e 0a2a 204c 6974 6572 616c 733a use..* Literals:\n-00001060: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00001070: 2020 2020 2043 6f6e 7374 616e 7473 2061 Constants a\n-00001080: 6e64 2063 6f6e 7374 7275 6374 6f72 732e nd constructors.\n-00001090: 0a2a 2041 7269 7468 6d65 7469 633a 3a20 .* Arithmetic:: \n-000010a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000010b0: 2052 756c 6573 2066 6f72 2065 7870 7265 Rules for expre\n-000010c0: 7373 696f 6e73 2e0a 2a20 4f70 7469 6f6e ssions..* Option\n-000010d0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n-000010e0: 2020 2020 2020 2020 4d6f 6469 6679 696e Modifyin\n-000010f0: 6720 6f62 6a65 6374 2061 7070 6561 7261 g object appeara\n-00001100: 6e63 652e 0a0a 4c69 7465 7261 6c73 0a0a nce...Literals..\n-00001110: 2a20 5363 616c 6172 206c 6974 6572 616c * Scalar literal\n-00001120: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n-00001130: 4a75 7374 2074 6865 206e 756d 6265 7273 Just the numbers\n-00001140: 2e0a 2a20 506f 696e 7420 616e 6420 7665 ..* Point and ve\n-00001150: 6374 6f72 206c 6974 6572 616c 733a 3a20 ctor literals:: \n-00001160: 2020 3364 2071 7561 6e74 6974 6965 732e 3d quantities.\n-00001170: 0a2a 2054 7261 6e73 666f 726d 206c 6974 .* Transform lit\n-00001180: 6572 616c 733a 3a20 2020 2020 2020 2020 erals:: \n-00001190: 204d 6174 7269 7820 666f 726d 2e0a 0a41 Matrix form...A\n-000011a0: 7269 7468 6d65 7469 6320 6578 7072 6573 rithmetic expres\n-000011b0: 7369 6f6e 730a 0a2a 2054 776f 2d6f 7065 sions..* Two-ope\n-000011c0: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo\n-000011d0: 726d 733a 3a20 2041 206f 7020 420a 2a20 rms:: A op B.* \n-000011e0: 556e 6172 7920 666f 726d 733a 3a20 2020 Unary forms:: \n-000011f0: 2020 2020 2020 2020 2020 2020 2020 6f70 op\n-00001200: 2041 2028 616e 6420 6f74 6865 7273 290a A (and others).\n-00001210: 0a4f 7074 696f 6e73 0a0a 2a20 5053 5472 .Options..* PSTr\n-00001220: 6963 6b73 206f 7074 696f 6e73 3a3a 2020 icks options:: \n-00001230: 2020 2020 2020 2020 2020 4f70 7469 6f6e Option\n-00001240: 7320 696e 6865 7269 7465 6420 6672 6f6d s inherited from\n-00001250: 20e2 8098 5053 5472 6963 6b73 e280 992e ...PSTricks....\n-00001260: 0a2a 2054 696b 5a2f 5047 4620 6f70 7469 .* TikZ/PGF opti\n-00001270: 6f6e 733a 3a20 2020 2020 2020 2020 2020 ons:: \n-00001280: 204f 7074 696f 6e73 2069 6e68 6572 6974 Options inherit\n-00001290: 6564 2066 726f 6d20 e280 9854 696b 5a2f ed from ...TikZ/\n-000012a0: 5047 46e2 8099 2e0a 2a20 446f 7473 2069 PGF.....* Dots i\n-000012b0: 6e20 5469 6b5a 2f50 4746 3a3a 2020 2020 n TikZ/PGF:: \n-000012c0: 2020 2020 2020 2020 536b 6574 6368 2075 Sketch u\n-000012d0: 7365 7320 e280 9854 696b 5a2f 5047 46e2 ses ...TikZ/PGF.\n-000012e0: 8099 2063 6972 636c 6573 2066 6f72 2064 .. circles for d\n-000012f0: 6f74 732e 0a2a 2054 696b 5a2f 5047 4620 ots..* TikZ/PGF \n-00001300: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty\n-00001310: 6c65 733a 3a20 2053 7570 706f 7274 2066 les:: Support f\n-00001320: 6f72 20e2 8098 5469 6b5a 2f50 4746 e280 or ...TikZ/PGF..\n-00001330: 9920 6e61 6d65 642c 2075 7365 722d 6465 . named, user-de\n-00001340: 6669 6e65 6420 7374 796c 6573 2e0a 2a20 fined styles..* \n-00001350: 5472 616e 7370 6172 656e 6379 3a3a 2020 Transparency:: \n-00001360: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-00001370: 652d 7468 726f 7567 6820 706f 6c79 676f e-through polygo\n-00001380: 6e73 2e0a 2a20 496e 7465 726e 616c 206f ns..* Internal o\n-00001390: 7074 696f 6e73 3a3a 2020 2020 2020 2020 ptions:: \n-000013a0: 2020 2020 4f70 7469 6f6e 7320 7573 6564 Options used\n-000013b0: 2062 7920 e280 9873 6b65 7463 68e2 8099 by ...sketch...\n-000013c0: 2e0a 0a50 6f69 6e74 206c 6973 7473 0a0a ...Point lists..\n-000013d0: 2a20 4472 6177 6162 6c65 733a 3a20 2020 * Drawables:: \n-000013e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000013f0: 5468 696e 6773 2074 6861 7420 6172 6520 Things that are \n-00001400: 6472 6177 6e2e 0a2a 2044 6566 696e 6974 drawn..* Definit\n-00001410: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: \n-00001420: 2020 2020 2020 2054 6869 6e67 7320 7769 Things wi\n-00001430: 7468 206e 616d 6573 2e0a 0a44 7261 7761 th names...Drawa\n-00001440: 626c 6573 0a0a 2a20 446f 7473 3a3a 2020 bles..* Dots:: \n+000000b0: 3729 2c20 4d6f 6e64 6179 2c20 4d61 7263 7), Monday, Marc\n+000000c0: 6820 3233 2c0a 3230 3236 2c20 6120 7072 h 23,.2026, a pr\n+000000d0: 6f67 7261 6d20 7468 6174 2063 6f6e 7665 ogram that conve\n+000000e0: 7274 7320 6465 7363 7269 7074 696f 6e73 rts descriptions\n+000000f0: 206f 6620 7369 6d70 6c65 2074 6872 6565 of simple three\n+00000100: 2d64 696d 656e 7369 6f6e 616c 0a73 6365 -dimensional.sce\n+00000110: 6e65 7320 696e 746f 206c 696e 6520 6472 nes into line dr\n+00000120: 6177 696e 6773 2e20 2054 6869 7320 7665 awings. This ve\n+00000130: 7273 696f 6e20 6765 6e65 7261 7465 7320 rsion generates \n+00000140: e280 9850 5354 7269 636b 73e2 8099 206f ...PSTricks... o\n+00000150: 720a e280 9850 4746 2f54 696b 5ae2 8099 r....PGF/TikZ...\n+00000160: 2063 6f64 6520 7375 6974 6162 6c65 2066 code suitable f\n+00000170: 6f72 2075 7365 2077 6974 6820 7468 6520 or use with the \n+00000180: 5465 5820 646f 6375 6d65 6e74 2070 726f TeX document pro\n+00000190: 6365 7373 696e 670a 7379 7374 656d 2e0a cessing.system..\n+000001a0: 0a20 2020 e280 9853 6b65 7463 68e2 8099 . ...Sketch...\n+000001b0: 2069 7320 6672 6565 2073 6f66 7477 6172 is free softwar\n+000001c0: 652e 2020 596f 7520 6361 6e20 7265 6469 e. You can redi\n+000001d0: 7374 7269 6275 7465 2069 7420 616e 642f stribute it and/\n+000001e0: 6f72 206d 6f64 6966 7920 6974 0a75 6e64 or modify it.und\n+000001f0: 6572 2074 6865 2074 6572 6d73 206f 6620 er the terms of \n+00000200: 7468 6520 474e 5520 4765 6e65 7261 6c20 the GNU General \n+00000210: 5075 626c 6963 204c 6963 656e 7365 2061 Public License a\n+00000220: 7320 7075 626c 6973 6865 6420 6279 2074 s published by t\n+00000230: 6865 0a46 7265 6520 536f 6674 7761 7265 he.Free Software\n+00000240: 2046 6f75 6e64 6174 696f 6e3b 2065 6974 Foundation; eit\n+00000250: 6865 7220 7665 7273 696f 6e20 332c 206f her version 3, o\n+00000260: 7220 2861 7420 796f 7572 206f 7074 696f r (at your optio\n+00000270: 6e29 2061 6e79 0a6c 6174 6572 2076 6572 n) any.later ver\n+00000280: 7369 6f6e 2e0a 0a20 2020 536b 6574 6368 sion... Sketch\n+00000290: 2069 7320 6469 7374 7269 6275 7465 6420 is distributed \n+000002a0: 696e 2074 6865 2068 6f70 6520 7468 6174 in the hope that\n+000002b0: 2069 7420 7769 6c6c 2062 6520 7573 6566 it will be usef\n+000002c0: 756c 2c20 6275 7420 5749 5448 4f55 540a ul, but WITHOUT.\n+000002d0: 414e 5920 5741 5252 414e 5459 3b20 7769 ANY WARRANTY; wi\n+000002e0: 7468 6f75 7420 6576 656e 2074 6865 2069 thout even the i\n+000002f0: 6d70 6c69 6564 2077 6172 7261 6e74 7920 mplied warranty \n+00000300: 6f66 204d 4552 4348 414e 5441 4249 4c49 of MERCHANTABILI\n+00000310: 5459 206f 720a 4649 544e 4553 5320 464f TY or.FITNESS FO\n+00000320: 5220 4120 5041 5254 4943 554c 4152 2050 R A PARTICULAR P\n+00000330: 5552 504f 5345 2e20 5365 6520 7468 6520 URPOSE. See the \n+00000340: 474e 5520 4765 6e65 7261 6c20 5075 626c GNU General Publ\n+00000350: 6963 204c 6963 656e 7365 2066 6f72 0a6d ic License for.m\n+00000360: 6f72 6520 6465 7461 696c 732e 0a0a 2020 ore details... \n+00000370: 2059 6f75 2073 686f 756c 6420 6861 7665 You should have\n+00000380: 2072 6563 6569 7665 6420 6120 636f 7079 received a copy\n+00000390: 206f 6620 7468 6520 474e 5520 4765 6e65 of the GNU Gene\n+000003a0: 7261 6c20 5075 626c 6963 204c 6963 656e ral Public Licen\n+000003b0: 7365 0a61 6c6f 6e67 2077 6974 6820 e280 se.along with ..\n+000003c0: 9873 6b65 7463 68e2 8099 3b20 7365 6520 .sketch...; see \n+000003d0: 7468 6520 6669 6c65 2043 4f50 5949 4e47 the file COPYING\n+000003e0: 2e74 7874 2e20 2049 6620 6e6f 742c 2073 .txt. If not, s\n+000003f0: 6565 0a68 7474 703a 2f2f 7777 772e 676e ee.http://www.gn\n+00000400: 752e 6f72 672f 636f 7079 6c65 6674 2e0a u.org/copyleft..\n+00000410: 0a49 4e46 4f2d 4449 522d 5345 4354 494f .INFO-DIR-SECTIO\n+00000420: 4e20 5465 580a 5354 4152 542d 494e 464f N TeX.START-INFO\n+00000430: 2d44 4952 2d45 4e54 5259 0a2a 2053 6b65 -DIR-ENTRY.* Ske\n+00000440: 7463 683a 2028 736b 6574 6368 292e 2020 tch: (sketch). \n+00000450: 2020 2020 2020 2020 2020 2053 696d 706c Simpl\n+00000460: 6520 3344 2073 6b65 7463 6869 6e67 2066 e 3D sketching f\n+00000470: 6f72 2054 6558 0a45 4e44 2d49 4e46 4f2d or TeX.END-INFO-\n+00000480: 4449 522d 454e 5452 590a 0a1f 0a46 696c DIR-ENTRY....Fil\n+00000490: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n+000004a0: 204e 6f64 653a 2054 6f70 2c20 204e 6578 Node: Top, Nex\n+000004b0: 743a 2041 626f 7574 2073 6b65 7463 682c t: About sketch,\n+000004c0: 2020 5072 6576 3a20 2864 6972 292c 2020 Prev: (dir), \n+000004d0: 5570 3a20 2864 6972 290a 0a53 6b65 7463 Up: (dir)..Sketc\n+000004e0: 680a 2a2a 2a2a 2a2a 0a0a 436f 7079 7269 h.******..Copyri\n+000004f0: 6768 7420 c2a9 2032 3030 3520 746f 2032 ght .. 2005 to 2\n+00000500: 3031 3220 4575 6765 6e65 204b 2e20 5265 012 Eugene K. Re\n+00000510: 7373 6c65 722e 0a0a 2020 2054 6869 7320 ssler... This \n+00000520: 6d61 6e75 616c 2069 7320 666f 7220 e280 manual is for ..\n+00000530: 9873 6b65 7463 68e2 8099 2c20 7665 7273 .sketch..., vers\n+00000540: 696f 6e20 302e 3320 2862 7569 6c64 2037 ion 0.3 (build 7\n+00000550: 292c 204d 6f6e 6461 792c 204d 6172 6368 ), Monday, March\n+00000560: 2032 332c 0a32 3032 362c 2061 2070 726f 23,.2026, a pro\n+00000570: 6772 616d 2074 6861 7420 636f 6e76 6572 gram that conver\n+00000580: 7473 2064 6573 6372 6970 7469 6f6e 7320 ts descriptions \n+00000590: 6f66 2073 696d 706c 6520 7468 7265 652d of simple three-\n+000005a0: 6469 6d65 6e73 696f 6e61 6c0a 7363 656e dimensional.scen\n+000005b0: 6573 2069 6e74 6f20 6c69 6e65 2064 7261 es into line dra\n+000005c0: 7769 6e67 732e 2020 5468 6973 2076 6572 wings. This ver\n+000005d0: 7369 6f6e 2067 656e 6572 6174 6573 20e2 sion generates .\n+000005e0: 8098 5053 5472 6963 6b73 e280 9920 6f72 ..PSTricks... or\n+000005f0: 0ae2 8098 5047 462f 5469 6b5a e280 9920 ....PGF/TikZ... \n+00000600: 636f 6465 2073 7569 7461 626c 6520 666f code suitable fo\n+00000610: 7220 7573 6520 7769 7468 2074 6865 2054 r use with the T\n+00000620: 6558 2064 6f63 756d 656e 7420 7072 6f63 eX document proc\n+00000630: 6573 7369 6e67 0a73 7973 7465 6d2e 0a0a essing.system...\n+00000640: 2020 20e2 8098 536b 6574 6368 e280 9920 ...Sketch... \n+00000650: 6973 2066 7265 6520 736f 6674 7761 7265 is free software\n+00000660: 2e20 2059 6f75 2063 616e 2072 6564 6973 . You can redis\n+00000670: 7472 6962 7574 6520 6974 2061 6e64 2f6f tribute it and/o\n+00000680: 7220 6d6f 6469 6679 2069 740a 756e 6465 r modify it.unde\n+00000690: 7220 7468 6520 7465 726d 7320 6f66 2074 r the terms of t\n+000006a0: 6865 2047 4e55 2047 656e 6572 616c 2050 he GNU General P\n+000006b0: 7562 6c69 6320 4c69 6365 6e73 6520 6173 ublic License as\n+000006c0: 2070 7562 6c69 7368 6564 2062 7920 7468 published by th\n+000006d0: 650a 4672 6565 2053 6f66 7477 6172 6520 e.Free Software \n+000006e0: 466f 756e 6461 7469 6f6e 3b20 6569 7468 Foundation; eith\n+000006f0: 6572 2076 6572 7369 6f6e 2033 2c20 6f72 er version 3, or\n+00000700: 2028 6174 2079 6f75 7220 6f70 7469 6f6e (at your option\n+00000710: 2920 616e 790a 6c61 7465 7220 7665 7273 ) any.later vers\n+00000720: 696f 6e2e 0a0a 2020 2053 6b65 7463 6820 ion... Sketch \n+00000730: 6973 2064 6973 7472 6962 7574 6564 2069 is distributed i\n+00000740: 6e20 7468 6520 686f 7065 2074 6861 7420 n the hope that \n+00000750: 6974 2077 696c 6c20 6265 2075 7365 6675 it will be usefu\n+00000760: 6c2c 2062 7574 2057 4954 484f 5554 0a41 l, but WITHOUT.A\n+00000770: 4e59 2057 4152 5241 4e54 593b 2077 6974 NY WARRANTY; wit\n+00000780: 686f 7574 2065 7665 6e20 7468 6520 696d hout even the im\n+00000790: 706c 6965 6420 7761 7272 616e 7479 206f plied warranty o\n+000007a0: 6620 4d45 5243 4841 4e54 4142 494c 4954 f MERCHANTABILIT\n+000007b0: 5920 6f72 0a46 4954 4e45 5353 2046 4f52 Y or.FITNESS FOR\n+000007c0: 2041 2050 4152 5449 4355 4c41 5220 5055 A PARTICULAR PU\n+000007d0: 5250 4f53 452e 2053 6565 2074 6865 2047 RPOSE. See the G\n+000007e0: 4e55 2047 656e 6572 616c 2050 7562 6c69 NU General Publi\n+000007f0: 6320 4c69 6365 6e73 6520 666f 720a 6d6f c License for.mo\n+00000800: 7265 2064 6574 6169 6c73 2e0a 0a20 2020 re details... \n+00000810: 596f 7520 7368 6f75 6c64 2068 6176 6520 You should have \n+00000820: 7265 6365 6976 6564 2061 2063 6f70 7920 received a copy \n+00000830: 6f66 2074 6865 2047 4e55 2047 656e 6572 of the GNU Gener\n+00000840: 616c 2050 7562 6c69 6320 4c69 6365 6e73 al Public Licens\n+00000850: 650a 616c 6f6e 6720 7769 7468 20e2 8098 e.along with ...\n+00000860: 736b 6574 6368 e280 993b 2073 6565 2074 sketch...; see t\n+00000870: 6865 2066 696c 6520 434f 5059 494e 472e he file COPYING.\n+00000880: 7478 742e 2020 4966 206e 6f74 2c20 7365 txt. If not, se\n+00000890: 650a 6874 7470 3a2f 2f77 7777 2e67 6e75 e.http://www.gnu\n+000008a0: 2e6f 7267 2f63 6f70 796c 6566 742e 0a0a .org/copyleft...\n+000008b0: 2a20 4d65 6e75 3a0a 0a2a 2041 626f 7574 * Menu:..* About\n+000008c0: 2073 6b65 7463 683a 3a20 2020 2020 2020 sketch:: \n+000008d0: 2020 2020 2020 2020 2057 6879 2073 6b65 Why ske\n+000008e0: 7463 6820 6578 6973 7473 2061 6e64 2077 tch exists and w\n+000008f0: 6861 7420 6974 2064 6f65 732e 0a2a 2049 hat it does..* I\n+00000900: 6e74 726f 6475 6374 696f 6e20 6279 2065 ntroduction by e\n+00000910: 7861 6d70 6c65 3a3a 2020 2020 204d 6f73 xample:: Mos\n+00000920: 7420 6665 6174 7572 6573 2073 686f 776e t features shown\n+00000930: 2061 7320 776f 726b 696e 6720 636f 6465 as working code\n+00000940: 2e0a 2a20 496e 7075 7420 6c61 6e67 7561 ..* Input langua\n+00000950: 6765 3a3a 2020 2020 2020 2020 2020 2020 ge:: \n+00000960: 2020 5379 6e74 6178 2061 6e64 2073 656d Syntax and sem\n+00000970: 616e 7469 6373 206f 6620 e280 9873 6b65 antics of ...ske\n+00000980: 7463 68e2 8099 2063 6f6d 6d61 6e64 732e tch... commands.\n+00000990: 0a2a 2042 7569 6c64 696e 6720 6120 6472 .* Building a dr\n+000009a0: 6177 696e 673a 3a20 2020 2020 2020 2020 awing:: \n+000009b0: 2048 6f77 2074 6f20 7573 6520 e280 9873 How to use ...s\n+000009c0: 6b65 7463 68e2 8099 2070 726f 6475 6374 ketch... product\n+000009d0: 6976 656c 792e 0a2a 2043 6f6d 6d61 6e64 ively..* Command\n+000009e0: 206c 696e 653a 3a20 2020 2020 2020 2020 line:: \n+000009f0: 2020 2020 2020 204f 7074 696f 6e73 2061 Options a\n+00000a00: 6e64 2074 6865 6972 2075 7361 6765 2e0a nd their usage..\n+00000a10: 2a20 496e 7374 616c 6c69 6e67 2073 6b65 * Installing ske\n+00000a20: 7463 683a 3a20 2020 2020 2020 2020 2020 tch:: \n+00000a30: 4275 696c 6469 6e67 2061 6e64 2069 6e73 Building and ins\n+00000a40: 7461 6c6c 696e 6720 6672 6f6d 2073 6f75 talling from sou\n+00000a50: 7263 6573 2e0a 2a20 496e 6465 7820 6f66 rces..* Index of\n+00000a60: 2073 796e 7461 783a 3a0a 2a20 496e 6465 syntax::.* Inde\n+00000a70: 783a 3a0a 0a20 2d2d 2054 6865 2044 6574 x::.. -- The Det\n+00000a80: 6169 6c65 6420 4e6f 6465 204c 6973 7469 ailed Node Listi\n+00000a90: 6e67 202d 2d0a 0a41 626f 7574 2073 6b65 ng --..About ske\n+00000aa0: 7463 680a 0a2a 2052 6570 6f72 7469 6e67 tch..* Reporting\n+00000ab0: 2062 7567 733a 3a20 2020 2020 2020 2020 bugs:: \n+00000ac0: 2020 2020 204c 6574 2075 7365 206b 6e6f Let use kno\n+00000ad0: 7720 7768 6174 2773 2077 726f 6e67 210a w what's wrong!.\n+00000ae0: 2a20 436f 6e74 7269 6275 7469 6f6e 733a * Contributions:\n+00000af0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00000b00: 486f 7720 796f 7520 6361 6e20 6865 6c70 How you can help\n+00000b10: 2e2e 2e2e 0a0a 496e 7472 6f64 7563 7469 ......Introducti\n+00000b20: 6f6e 2062 7920 6578 616d 706c 650a 0a2a on by example..*\n+00000b30: 2048 656c 6c6f 2077 6f72 6c64 3a3a 2020 Hello world:: \n+00000b40: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00000b50: 696d 706c 6573 7420 706f 7373 6962 6c65 implest possible\n+00000b60: 20e2 8098 736b 6574 6368 e280 9920 7072 ...sketch... pr\n+00000b70: 6f67 7261 6d2e 0a2a 2044 7261 7769 6e67 ogram..* Drawing\n+00000b80: 206f 7074 696f 6e73 3a3a 2020 2020 2020 options:: \n+00000b90: 2020 2020 2020 2043 6f6e 7472 6f6c 6c69 Controlli\n+00000ba0: 6e67 206f 626a 6563 7420 6170 7065 6172 ng object appear\n+00000bb0: 616e 6365 2e0a 2a20 4472 6177 696e 6720 ance..* Drawing \n+00000bc0: 6120 736f 6c69 643a 3a20 2020 2020 2020 a solid:: \n+00000bd0: 2020 2020 2020 4472 6177 696e 6720 616e Drawing an\n+00000be0: 206f 626a 6563 7420 7769 7468 2033 6420 object with 3d \n+00000bf0: 6170 7065 6172 616e 6365 2e0a 2a20 5370 appearance..* Sp\n+00000c00: 6563 6961 6c20 6f62 6a65 6374 733a 3a20 ecial objects:: \n+00000c10: 2020 2020 2020 2020 2020 2020 4c61 7969 Layi\n+00000c20: 6e67 2054 6558 206f 7665 722c 2069 6e2c ng TeX over, in,\n+00000c30: 206f 7220 756e 6465 7220 6472 6177 696e or under drawin\n+00000c40: 6773 2e0a 2a20 4f62 6a65 6374 2074 7261 gs..* Object tra\n+00000c50: 6e73 666f 726d 733a 3a20 2020 2020 2020 nsforms:: \n+00000c60: 2020 2020 526f 7461 7465 2c20 7472 616e Rotate, tran\n+00000c70: 736c 6174 652c 2073 6361 6c65 2c20 616e slate, scale, an\n+00000c80: 6420 6f74 6865 7273 2e0a 2a20 5265 7065 d others..* Repe\n+00000c90: 6174 6564 206f 626a 6563 7473 3a3a 2020 ated objects:: \n+00000ca0: 2020 2020 2020 2020 2020 4d61 6b69 6e67 Making\n+00000cb0: 2074 7261 6e73 666f 726d 6564 2063 6f70 transformed cop\n+00000cc0: 6965 732e 0a2a 2053 7765 7074 206f 626a ies..* Swept obj\n+00000cd0: 6563 7473 3a3a 2020 2020 2020 2020 2020 ects:: \n+00000ce0: 2020 2020 2053 7765 6570 696e 6720 6f62 Sweeping ob\n+00000cf0: 6a65 6374 7320 696e 2073 7061 6365 2074 jects in space t\n+00000d00: 6f20 6d61 6b65 206e 6577 2073 6861 7065 o make new shape\n+00000d10: 732e 0a0a 5377 6570 7420 6f62 6a65 6374 s...Swept object\n+00000d20: 730a 0a2a 2050 6f69 6e74 2073 7765 6570 s..* Point sweep\n+00000d30: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+00000d40: 2020 2053 7765 7074 2070 6f69 6e74 7320 Swept points \n+00000d50: 6d61 6b65 206c 696e 6573 2061 6e64 2070 make lines and p\n+00000d60: 6f6c 7967 6f6e 732e 0a2a 2050 6f6c 796c olygons..* Polyl\n+00000d70: 696e 6520 7377 6565 7073 3a3a 2020 2020 ine sweeps:: \n+00000d80: 2020 2020 2020 2020 2053 7765 7074 206c Swept l\n+00000d90: 696e 6573 206d 616b 6520 7375 7266 6163 ines make surfac\n+00000da0: 6573 2e0a 2a20 4e65 7374 6564 2073 7765 es..* Nested swe\n+00000db0: 6570 733a 3a20 2020 2020 2020 2020 2020 eps:: \n+00000dc0: 2020 2020 5377 6570 7420 7377 6565 7073 Swept sweeps\n+00000dd0: 2061 7265 2075 7365 6675 6c21 0a2a 2050 are useful!.* P\n+00000de0: 6f6c 7967 6f6e 2073 7765 6570 733a 3a20 olygon sweeps:: \n+00000df0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+00000e00: 7074 2070 6f6c 7967 6f6e 7320 6d61 6b65 pt polygons make\n+00000e10: 2073 6f6c 6964 732e 2e2e 0a2a 2050 6f6c solids....* Pol\n+00000e20: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit\n+00000e30: 6820 636c 6f73 7572 653a 3a20 2061 6e64 h closure:: and\n+00000e40: 2073 6f20 646f 2063 6c6f 7365 6420 706f so do closed po\n+00000e50: 6c79 6c69 6e65 2073 7765 6570 732e 0a2a lyline sweeps..*\n+00000e60: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet\n+00000e70: 6963 3a3a 2020 2020 2020 2020 2020 2053 ic:: S\n+00000e80: 6b65 7463 6820 7573 6566 756c 206d 6174 ketch useful mat\n+00000e90: 6820 6578 7072 6573 7369 6f6e 2e0a 2a20 h expression..* \n+00000ea0: 4d6f 7265 2074 6f20 6c65 6172 6e3a 3a20 More to learn:: \n+00000eb0: 2020 2020 2020 2020 2020 2020 2020 4368 Ch\n+00000ec0: 6563 6b20 6f75 7420 7468 6520 4d6f 6269 eck out the Mobi\n+00000ed0: 7573 2073 7472 6970 210a 0a49 6e70 7574 us strip!..Input\n+00000ee0: 206c 616e 6775 6167 650a 0a2a 204c 616e language..* Lan\n+00000ef0: 6775 6167 6520 6261 7369 6373 3a3a 2020 guage basics:: \n+00000f00: 2020 2020 2020 2020 2020 2043 6173 652c Case,\n+00000f10: 2073 7061 6365 2c20 636f 6d6d 656e 7473 space, comments\n+00000f20: 2c20 696e 636c 7564 6520 6669 6c65 732e , include files.\n+00000f30: 0a2a 2044 7261 7761 626c 6573 3a3a 2020 .* Drawables:: \n+00000f40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00000f50: 2054 6869 6e67 7320 7468 6174 2063 616e Things that can\n+00000f60: 2062 6520 6472 6177 6e2e 0a2a 2044 6566 be drawn..* Def\n+00000f70: 696e 6974 696f 6e73 3a3a 2020 2020 2020 initions:: \n+00000f80: 2020 2020 2020 2020 2020 2047 6976 696e Givin\n+00000f90: 6720 7468 696e 6773 206e 616d 6573 2e0a g things names..\n+00000fa0: 2a20 476c 6f62 616c 2065 6e76 6972 6f6e * Global environ\n+00000fb0: 6d65 6e74 3a3a 2020 2020 2020 2020 2020 ment:: \n+00000fc0: 4166 6665 6374 2074 6865 2065 6e74 6972 Affect the entir\n+00000fd0: 6520 6472 6177 696e 672e 0a0a 4261 7369 e drawing...Basi\n+00000fe0: 6373 0a0a 2a20 4964 656e 7469 6669 6572 cs..* Identifier\n+00000ff0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+00001000: 2020 2020 4e61 6d65 7320 666f 7220 7468 Names for th\n+00001010: 696e 6773 2e0a 2a20 4b65 7920 616e 6420 ings..* Key and \n+00001020: 7265 7365 7276 6564 2077 6f72 6473 3a3a reserved words::\n+00001030: 2020 2020 2020 4e61 6d65 7320 796f 7520 Names you \n+00001040: 7368 6f75 6c64 6e27 7420 7573 652e 0a2a shouldn't use..*\n+00001050: 204c 6974 6572 616c 733a 3a20 2020 2020 Literals:: \n+00001060: 2020 2020 2020 2020 2020 2020 2020 2043 C\n+00001070: 6f6e 7374 616e 7473 2061 6e64 2063 6f6e onstants and con\n+00001080: 7374 7275 6374 6f72 732e 0a2a 2041 7269 structors..* Ari\n+00001090: 7468 6d65 7469 633a 3a20 2020 2020 2020 thmetic:: \n+000010a0: 2020 2020 2020 2020 2020 2052 756c 6573 Rules\n+000010b0: 2066 6f72 2065 7870 7265 7373 696f 6e73 for expressions\n+000010c0: 2e0a 2a20 4f70 7469 6f6e 733a 3a20 2020 ..* Options:: \n+000010d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000010e0: 2020 4d6f 6469 6679 696e 6720 6f62 6a65 Modifying obje\n+000010f0: 6374 2061 7070 6561 7261 6e63 652e 0a0a ct appearance...\n+00001100: 4c69 7465 7261 6c73 0a0a 2a20 5363 616c Literals..* Scal\n+00001110: 6172 206c 6974 6572 616c 733a 3a20 2020 ar literals:: \n+00001120: 2020 2020 2020 2020 2020 4a75 7374 2074 Just t\n+00001130: 6865 206e 756d 6265 7273 2e0a 2a20 506f he numbers..* Po\n+00001140: 696e 7420 616e 6420 7665 6374 6f72 206c int and vector l\n+00001150: 6974 6572 616c 733a 3a20 2020 3364 2071 iterals:: 3d q\n+00001160: 7561 6e74 6974 6965 732e 0a2a 2054 7261 uantities..* Tra\n+00001170: 6e73 666f 726d 206c 6974 6572 616c 733a nsform literals:\n+00001180: 3a20 2020 2020 2020 2020 204d 6174 7269 : Matri\n+00001190: 7820 666f 726d 2e0a 0a41 7269 7468 6d65 x form...Arithme\n+000011a0: 7469 6320 6578 7072 6573 7369 6f6e 730a tic expressions.\n+000011b0: 0a2a 2054 776f 2d6f 7065 7261 6e64 2028 .* Two-operand (\n+000011c0: 6269 6e61 7279 2920 666f 726d 733a 3a20 binary) forms:: \n+000011d0: 2041 206f 7020 420a 2a20 556e 6172 7920 A op B.* Unary \n+000011e0: 666f 726d 733a 3a20 2020 2020 2020 2020 forms:: \n+000011f0: 2020 2020 2020 2020 6f70 2041 2028 616e op A (an\n+00001200: 6420 6f74 6865 7273 290a 0a4f 7074 696f d others)..Optio\n+00001210: 6e73 0a0a 2a20 5053 5472 6963 6b73 206f ns..* PSTricks o\n+00001220: 7074 696f 6e73 3a3a 2020 2020 2020 2020 ptions:: \n+00001230: 2020 2020 4f70 7469 6f6e 7320 696e 6865 Options inhe\n+00001240: 7269 7465 6420 6672 6f6d 20e2 8098 5053 rited from ...PS\n+00001250: 5472 6963 6b73 e280 992e 0a2a 2054 696b Tricks.....* Tik\n+00001260: 5a2f 5047 4620 6f70 7469 6f6e 733a 3a20 Z/PGF options:: \n+00001270: 2020 2020 2020 2020 2020 204f 7074 696f Optio\n+00001280: 6e73 2069 6e68 6572 6974 6564 2066 726f ns inherited fro\n+00001290: 6d20 e280 9854 696b 5a2f 5047 46e2 8099 m ...TikZ/PGF...\n+000012a0: 2e0a 2a20 446f 7473 2069 6e20 5469 6b5a ..* Dots in TikZ\n+000012b0: 2f50 4746 3a3a 2020 2020 2020 2020 2020 /PGF:: \n+000012c0: 2020 536b 6574 6368 2075 7365 7320 e280 Sketch uses ..\n+000012d0: 9854 696b 5a2f 5047 46e2 8099 2063 6972 .TikZ/PGF... cir\n+000012e0: 636c 6573 2066 6f72 2064 6f74 732e 0a2a cles for dots..*\n+000012f0: 2054 696b 5a2f 5047 4620 7573 6572 2d64 TikZ/PGF user-d\n+00001300: 6566 696e 6564 2073 7479 6c65 733a 3a20 efined styles:: \n+00001310: 2053 7570 706f 7274 2066 6f72 20e2 8098 Support for ...\n+00001320: 5469 6b5a 2f50 4746 e280 9920 6e61 6d65 TikZ/PGF... name\n+00001330: 642c 2075 7365 722d 6465 6669 6e65 6420 d, user-defined \n+00001340: 7374 796c 6573 2e0a 2a20 5472 616e 7370 styles..* Transp\n+00001350: 6172 656e 6379 3a3a 2020 2020 2020 2020 arency:: \n+00001360: 2020 2020 2020 2020 5365 652d 7468 726f See-thro\n+00001370: 7567 6820 706f 6c79 676f 6e73 2e0a 2a20 ugh polygons..* \n+00001380: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options\n+00001390: 3a3a 2020 2020 2020 2020 2020 2020 4f70 :: Op\n+000013a0: 7469 6f6e 7320 7573 6564 2062 7920 e280 tions used by ..\n+000013b0: 9873 6b65 7463 68e2 8099 2e0a 0a50 6f69 .sketch......Poi\n+000013c0: 6e74 206c 6973 7473 0a0a 2a20 4472 6177 nt lists..* Draw\n+000013d0: 6162 6c65 733a 3a20 2020 2020 2020 2020 ables:: \n+000013e0: 2020 2020 2020 2020 2020 5468 696e 6773 Things\n+000013f0: 2074 6861 7420 6172 6520 6472 6177 6e2e that are drawn.\n+00001400: 0a2a 2044 6566 696e 6974 696f 6e73 3a3a .* Definitions::\n+00001410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00001420: 2054 6869 6e67 7320 7769 7468 206e 616d Things with nam\n+00001430: 6573 2e0a 0a44 7261 7761 626c 6573 0a0a es...Drawables..\n+00001440: 2a20 446f 7473 3a3a 2020 2020 2020 2020 * Dots:: \n 00001450: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001460: 2020 2020 2020 4472 6177 2064 6f74 732e Draw dots.\n-00001470: 0a2a 204c 696e 6573 3a3a 2020 2020 2020 .* Lines:: \n-00001480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001490: 2044 7261 7720 706f 6c79 6c69 6e65 732e Draw polylines.\n-000014a0: 0a2a 2043 7572 7665 733a 3a20 2020 2020 .* Curves:: \n-000014b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000014c0: 2044 7261 7720 6375 7276 6573 2e0a 2a20 Draw curves..* \n-000014d0: 506f 6c79 676f 6e73 3a3a 2020 2020 2020 Polygons:: \n-000014e0: 2020 2020 2020 2020 2020 2020 2020 4472 Dr\n-000014f0: 6177 2070 6f6c 7967 6f6e 732e 0a2a 2053 aw polygons..* S\n-00001500: 7065 6369 616c 733a 3a20 2020 2020 2020 pecials:: \n-00001510: 2020 2020 2020 2020 2020 2020 2045 6d62 Emb\n-00001520: 6564 2072 6177 204c 6154 6558 2061 6e64 ed raw LaTeX and\n-00001530: 20e2 8098 5053 5472 6963 6b73 e280 992e ...PSTricks....\n-00001540: 0a2a 2053 7765 6570 733a 3a20 2020 2020 .* Sweeps:: \n-00001550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001560: 2044 7261 7720 7377 6565 7073 206f 6620 Draw sweeps of \n-00001570: 646f 7473 2061 6e64 2070 6f6c 796c 696e dots and polylin\n-00001580: 6573 2e0a 2a20 426c 6f63 6b73 3a3a 2020 es..* Blocks:: \n-00001590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000015a0: 2020 2020 4772 6f75 7020 6f74 6865 7220 Group other \n-000015b0: 6472 6177 6162 6c65 732e 0a2a 2052 6570 drawables..* Rep\n-000015c0: 6561 7473 3a3a 2020 2020 2020 2020 2020 eats:: \n-000015d0: 2020 2020 2020 2020 2020 2044 7261 7720 Draw \n-000015e0: 7472 616e 7366 6f72 6d65 6420 636f 7069 transformed copi\n-000015f0: 6573 206f 6620 6f62 6a65 6374 732e 0a2a es of objects..*\n-00001600: 2050 7574 733a 3a20 2020 2020 2020 2020 Puts:: \n-00001610: 2020 2020 2020 2020 2020 2020 2020 2044 D\n-00001620: 7261 7720 6f6e 6520 6f62 6a65 6374 2074 raw one object t\n-00001630: 7261 6e73 666f 726d 6564 2e0a 0a53 7765 ransformed...Swe\n-00001640: 6570 730a 0a2a 2053 7765 7074 2070 6f69 eps..* Swept poi\n-00001650: 6e74 733a 3a20 2020 2020 2020 2020 2020 nts:: \n-00001660: 2020 2020 2053 7765 7074 2070 6f69 6e74 Swept point\n-00001670: 7320 6d61 6b65 206c 696e 6573 206f 7220 s make lines or \n-00001680: 706f 6c79 676f 6e73 2e0a 2a20 5377 6570 polygons..* Swep\n-00001690: 7420 6c69 6e65 733a 3a20 2020 2020 2020 t lines:: \n-000016a0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-000016b0: 6c69 6e65 7320 6d61 6b65 206f 7065 6e20 lines make open \n-000016c0: 6f72 2063 6c6f 7365 6420 7375 7266 6163 or closed surfac\n-000016d0: 6573 2e0a 2a20 5377 6570 7420 706f 6c79 es..* Swept poly\n-000016e0: 676f 6e73 3a3a 2020 2020 2020 2020 2020 gons:: \n-000016f0: 2020 2020 5377 6570 7420 706f 6c79 676f Swept polygo\n-00001700: 6e73 206d 616b 6520 636c 6f73 6564 2073 ns make closed s\n-00001710: 7572 6661 6365 732e 0a2a 2053 7765 7074 urfaces..* Swept\n-00001720: 2062 6c6f 636b 733a 3a20 2020 2020 2020 blocks:: \n-00001730: 2020 2020 2020 2020 2053 7765 7074 2062 Swept b\n-00001740: 6c6f 636b 20e2 89a1 2062 6c6f 636b 206f lock ... block o\n-00001750: 6620 7377 6565 7073 2e0a 2a20 5377 6565 f sweeps..* Swee\n-00001760: 7020 6661 6365 2073 706c 6974 7469 6e67 p face splitting\n-00001770: 3a3a 2020 2020 2020 2020 4669 7869 6e67 :: Fixing\n-00001780: 2077 6172 7065 6420 6661 6365 7320 7769 warped faces wi\n-00001790: 7468 2074 7269 616e 676c 6573 2e0a 0a44 th triangles...D\n-000017a0: 6566 696e 6974 696f 6e73 0a0a 2a20 466f efinitions..* Fo\n-000017b0: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio\n-000017c0: 6e73 3a3a 2020 2020 2020 2020 4469 6666 ns:: Diff\n-000017d0: 6572 656e 7420 6465 6673 2066 6f72 2064 erent defs for d\n-000017e0: 6966 6665 7265 6e74 2070 7572 706f 7365 ifferent purpose\n-000017f0: 732e 0a2a 2046 6f72 6d73 206f 6620 7265 s..* Forms of re\n-00001800: 6665 7265 6e63 6573 3a3a 2020 2020 2020 ferences:: \n-00001810: 2020 2048 6f77 2072 6566 6572 656e 6365 How reference\n-00001820: 7320 6465 6e6f 7465 2074 7970 6573 2e0a s denote types..\n-00001830: 0a47 6c6f 6261 6c20 656e 7669 726f 6e6d .Global environm\n-00001840: 656e 740a 0a2a 2047 6c6f 6261 6c20 6f70 ent..* Global op\n-00001850: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: \n-00001860: 2020 2020 2041 7474 7269 6275 7465 7320 Attributes \n-00001870: 6f66 2074 6865 2065 6e74 6972 6520 6472 of the entire dr\n-00001880: 6177 696e 672e 0a2a 2043 616d 6572 613a awing..* Camera:\n-00001890: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000018a0: 2020 2020 2020 2041 2066 696e 616c 2063 A final c\n-000018b0: 616d 6572 6120 7472 616e 7366 6f72 6d61 amera transforma\n-000018c0: 7469 6f6e 206f 6620 7468 6520 7363 656e tion of the scen\n-000018d0: 652e 0a2a 2050 6963 7475 7265 2062 6f78 e..* Picture box\n-000018e0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-000018f0: 2020 2053 6574 7469 6e67 2074 6865 2062 Setting the b\n-00001900: 6f75 6e64 696e 6720 626f 7820 616e 6420 ounding box and \n-00001910: 3264 2063 6c69 7070 696e 672e 0a2a 2046 2d clipping..* F\n-00001920: 7261 6d65 3a3a 2020 2020 2020 2020 2020 rame:: \n-00001930: 2020 2020 2020 2020 2020 2020 2041 6464 Add\n-00001940: 696e 6720 6120 626f 7820 6172 6f75 6e64 ing a box around\n-00001950: 2074 6865 2064 7261 7769 6e67 2e0a 2a20 the drawing..* \n-00001960: 4c61 6e67 7561 6765 3a3a 2020 2020 2020 Language:: \n-00001970: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-00001980: 7474 696e 6720 7468 6520 6f75 7470 7574 tting the output\n-00001990: 206c 616e 6775 6167 652e 0a0a 4275 696c language...Buil\n-000019a0: 6469 6e67 2061 2064 7261 7769 6e67 0a0a ding a drawing..\n-000019b0: 2a20 4f76 6572 7669 6577 3a3a 2020 2020 * Overview:: \n-000019c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000019d0: 4275 696c 6469 6e67 2061 2073 7562 7374 Building a subst\n-000019e0: 616e 7469 616c 2064 7261 7769 6e67 2e0a antial drawing..\n-000019f0: 2a20 4120 7465 6368 6e69 6361 6c20 6472 * A technical dr\n-00001a00: 6177 696e 673a 3a20 2020 2020 2020 2020 awing:: \n-00001a10: 416e 2065 7861 6d70 6c65 2077 6974 6820 An example with \n-00001a20: 6669 6e65 2070 6c61 6365 6d65 6e74 2e0a fine placement..\n-00001a30: 2a20 4120 6869 6572 6172 6368 6963 616c * A hierarchical\n-00001a40: 206d 6f64 656c 3a3a 2020 2020 2020 2020 model:: \n-00001a50: 416e 2065 7861 6d70 6c65 2077 6974 6820 An example with \n-00001a60: 7377 6565 7073 2061 6e64 2070 7574 732e sweeps and puts.\n-00001a70: 0a2a 2043 6176 6561 7473 3a3a 2020 2020 .* Caveats:: \n-00001a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001a90: 2057 6865 7265 2074 726f 7562 6c65 2063 Where trouble c\n-00001aa0: 616e 206f 6363 7572 2e0a 0a43 6176 6561 an occur...Cavea\n-00001ab0: 7473 0a0a 2a20 4c69 6d69 7473 206f 6e20 ts..* Limits on \n-00001ac0: 6572 726f 7220 6465 7465 6374 696f 6e3a error detection:\n-00001ad0: 3a20 2020 5768 6174 2073 6b65 7463 6820 : What sketch \n-00001ae0: 646f 6573 6e27 7420 646f 2e0a 2a20 436c doesn't do..* Cl\n-00001af0: 6970 7069 6e67 3a3a 2020 2020 2020 2020 ipping:: \n-00001b00: 2020 2020 2020 2020 2020 2020 4e6f 2063 No c\n-00001b10: 6c69 7070 696e 6720 6174 2070 7265 7365 lipping at prese\n-00001b20: 6e74 2e0a 2a20 4869 6464 656e 2073 7572 nt..* Hidden sur\n-00001b30: 6661 6365 2072 656d 6f76 616c 3a3a 2020 face removal:: \n-00001b40: 2020 2020 496d 7065 7266 6563 7469 6f6e Imperfection\n-00001b50: 7320 746f 2066 6978 2e0a 0a48 6964 6465 s to fix...Hidde\n-00001b60: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova\n-00001b70: 6c20 616e 6420 706f 6c79 676f 6e20 7370 l and polygon sp\n-00001b80: 6c69 7474 696e 670a 0a2a 2053 7461 7469 litting..* Stati\n-00001b90: 7374 6963 733a 3a20 2020 2020 2020 2020 stics:: \n-00001ba0: 2020 2020 2020 2020 2050 6572 666f 726d Perform\n-00001bb0: 616e 6365 206e 756d 6265 7273 206f 6e20 ance numbers on \n-00001bc0: 6465 7074 6820 736f 7274 2e0a 2a20 4275 depth sort..* Bu\n-00001bd0: 6773 2061 6e64 2061 6e6f 6d61 6c69 6573 gs and anomalies\n-00001be0: 3a3a 2020 2020 2020 2020 2020 496d 7065 :: Impe\n-00001bf0: 7266 6563 7469 6f6e 7320 696e 2074 6869 rfections in thi\n-00001c00: 7320 696d 706c 656d 656e 7461 7469 6f6e s implementation\n-00001c10: 2e0a 0a0a 1f0a 4669 6c65 3a20 736b 6574 ......File: sket\n-00001c20: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-00001c30: 4162 6f75 7420 736b 6574 6368 2c20 204e About sketch, N\n-00001c40: 6578 743a 2049 6e74 726f 6475 6374 696f ext: Introductio\n-00001c50: 6e20 6279 2065 7861 6d70 6c65 2c20 2050 n by example, P\n-00001c60: 7265 763a 2054 6f70 2c20 2055 703a 2054 rev: Top, Up: T\n-00001c70: 6f70 0a0a 3120 4162 6f75 7420 736b 6574 op..1 About sket\n-00001c80: 6368 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ch.*************\n-00001c90: 2a0a 0a2a 204d 656e 753a 0a0a 2a20 5265 *..* Menu:..* Re\n-00001ca0: 706f 7274 696e 6720 6275 6773 3a3a 2020 porting bugs:: \n-00001cb0: 2020 2020 2020 2020 2020 2020 4c65 7420 Let \n-00001cc0: 7573 6520 6b6e 6f77 2077 6861 7427 7320 use know what's \n-00001cd0: 7772 6f6e 6721 0a2a 2043 6f6e 7472 6962 wrong!.* Contrib\n-00001ce0: 7574 696f 6e73 3a3a 2020 2020 2020 2020 utions:: \n-00001cf0: 2020 2020 2020 2048 6f77 2079 6f75 2063 How you c\n-00001d00: 616e 2068 656c 702e 2e2e 2e0a 0ae2 8098 an help.........\n-00001d10: 536b 6574 6368 e280 9920 6973 2061 2073 Sketch... is a s\n-00001d20: 6d61 6c6c 2c20 7369 6d70 6c65 2073 7973 mall, simple sys\n-00001d30: 7465 6d20 666f 7220 7072 6f64 7563 696e tem for producin\n-00001d40: 6720 6c69 6e65 2064 7261 7769 6e67 7320 g line drawings \n-00001d50: 6f66 2074 776f 2d0a 6f72 2074 6872 6565 of two-.or three\n-00001d60: 2d64 696d 656e 7369 6f6e 616c 206f 626a -dimensional obj\n-00001d70: 6563 7473 2061 6e64 2073 6365 6e65 732e ects and scenes.\n-00001d80: 2020 4974 2062 6567 616e 2061 7320 6120 It began as a \n-00001d90: 7761 7920 746f 206d 616b 650a 696c 6c75 way to make.illu\n-00001da0: 7374 7261 7469 6f6e 7320 666f 7220 6120 strations for a \n-00001db0: 7465 7874 626f 6f6b 2061 6674 6572 2077 textbook after w\n-00001dc0: 6520 636f 756c 6420 6669 6e64 206e 6f20 e could find no \n-00001dd0: 7375 6974 6162 6c65 2074 6f6f 6c20 666f suitable tool fo\n-00001de0: 720a 7468 6973 2070 7572 706f 7365 2e20 r.this purpose. \n-00001df0: 2045 7869 7374 696e 6720 7363 656e 6520 Existing scene \n-00001e00: 7072 6f63 6573 736f 7273 2065 6d70 6861 processors empha\n-00001e10: 7369 7a65 6420 4755 4973 2061 6e64 2f6f sized GUIs and/o\n-00001e20: 720a 7068 6f74 6f2d 7265 616c 6973 6d2c r.photo-realism,\n-00001e30: 2062 6f74 6820 756e 2d75 7365 6675 6c20 both un-useful \n-00001e40: 746f 2075 732e 2020 5765 2077 616e 7465 to us. We wante\n-00001e50: 6420 746f 2070 726f 6475 6365 2066 696e d to produce fin\n-00001e60: 656c 790a 7772 6f75 6768 742c 206d 6174 ely.wrought, mat\n-00001e70: 6865 6d61 7469 6361 6c6c 792d 6261 7365 hematically-base\n-00001e80: 6420 696c 6c75 7374 7261 7469 6f6e 7320 d illustrations \n-00001e90: 7769 7468 206e 6f20 6578 7472 616e 656f with no extraneo\n-00001ea0: 7573 2064 6574 6169 6c2e 0a0a 2020 20e2 us detail... .\n-00001eb0: 8098 536b 6574 6368 e280 9920 6163 6365 ..Sketch... acce\n-00001ec0: 7074 7320 6120 7469 6e79 2073 6365 6e65 pts a tiny scene\n-00001ed0: 2064 6573 6372 6970 7469 6f6e 206c 616e description lan\n-00001ee0: 6775 6167 6520 616e 6420 6765 6e65 7261 guage and genera\n-00001ef0: 7465 730a e280 9850 5354 7269 636b 73e2 tes....PSTricks.\n-00001f00: 8099 206f 7220 e280 9854 696b 5a2f 5047 .. or ...TikZ/PG\n-00001f10: 46e2 8099 2063 6f64 6520 666f 7220 4c61 F... code for La\n-00001f20: 5465 582e 2020 5468 6520 e280 9873 6b65 TeX. The ...ske\n-00001f30: 7463 68e2 8099 206c 616e 6775 6167 6520 tch... language \n-00001f40: 6973 0a73 696d 696c 6172 2074 6f20 e280 is.similar to ..\n-00001f50: 9850 5354 7269 636b 73e2 8099 2c20 6d61 .PSTricks..., ma\n-00001f60: 6b69 6e67 2069 7420 6561 7379 2074 6f20 king it easy to \n-00001f70: 6c65 6172 6e20 666f 7220 6375 7272 656e learn for curren\n-00001f80: 7420 e280 9850 5354 7269 636b 73e2 8099 t ...PSTricks...\n-00001f90: 0a75 7365 7273 2e20 2053 6565 2077 7777 .users. See www\n-00001fa0: 2e70 7374 7269 636b 732e 6465 2066 6f72 .pstricks.de for\n-00001fb0: 2069 6e66 6f72 6d61 7469 6f6e 206f 6e20 information on \n-00001fc0: e280 9850 5354 7269 636b 73e2 8099 2e20 ...PSTricks.... \n-00001fd0: 20e2 8098 5469 6b5a 2f50 4746 e280 990a ...TikZ/PGF....\n-00001fe0: 6973 2073 696d 696c 6172 2e20 2053 6565 is similar. See\n-00001ff0: 2068 7474 703a 2f2f 736f 7572 6365 666f http://sourcefo\n-00002000: 7267 652e 6e65 742f 7072 6f6a 6563 7473 rge.net/projects\n-00002010: 2f70 6766 2e20 204f 6e65 2063 616e 2065 /pgf. One can e\n-00002020: 6173 696c 790a 696e 636c 7564 6520 6172 asily.include ar\n-00002030: 6269 7472 6172 7920 e280 9850 5354 7269 bitrary ...PSTri\n-00002040: 636b 73e2 8099 206f 7220 e280 9854 696b cks... or ...Tik\n-00002050: 5a2f 5047 46e2 8099 2064 7261 7769 6e67 Z/PGF... drawing\n-00002060: 7320 616e 6420 7465 7874 206f 7665 722c s and text over,\n-00002070: 2069 6e2c 0a6f 7220 756e 6465 7220 e280 in,.or under ..\n-00002080: 9873 6b65 7463 68e2 8099 2064 7261 7769 .sketch... drawi\n-00002090: 6e67 732c 2070 726f 7669 6469 6e67 2061 ngs, providing a\n-000020a0: 6363 6573 7320 746f 2074 6865 2066 756c ccess to the ful\n-000020b0: 6c20 706f 7765 7220 6f66 204c 6154 6558 l power of LaTeX\n-000020c0: 0a74 6578 7420 616e 6420 6d61 7468 656d .text and mathem\n-000020d0: 6174 6963 7320 666f 726d 6174 7469 6e67 atics formatting\n-000020e0: 2069 6e20 6120 7468 7265 652d 6469 6d65 in a three-dime\n-000020f0: 6e73 696f 6e61 6c20 7365 7474 696e 672e nsional setting.\n-00002100: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-00002110: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5265 .info, Node: Re\n-00002120: 706f 7274 696e 6720 6275 6773 2c20 204e porting bugs, N\n-00002130: 6578 743a 2043 6f6e 7472 6962 7574 696f ext: Contributio\n-00002140: 6e73 2c20 2050 7265 763a 2041 626f 7574 ns, Prev: About\n-00002150: 2073 6b65 7463 682c 2020 5570 3a20 4162 sketch, Up: Ab\n-00002160: 6f75 7420 736b 6574 6368 0a0a 312e 3120 out sketch..1.1 \n-00002170: 5265 706f 7274 696e 6720 6275 6773 2061 Reporting bugs a\n-00002180: 6e64 2072 6563 6f6d 6d65 6e64 696e 6720 nd recommending \n-00002190: 696d 7072 6f76 656d 656e 7473 2e0a 3d3d improvements..==\n+00001460: 4472 6177 2064 6f74 732e 0a2a 204c 696e Draw dots..* Lin\n+00001470: 6573 3a3a 2020 2020 2020 2020 2020 2020 es:: \n+00001480: 2020 2020 2020 2020 2020 2044 7261 7720 Draw \n+00001490: 706f 6c79 6c69 6e65 732e 0a2a 2043 7572 polylines..* Cur\n+000014a0: 7665 733a 3a20 2020 2020 2020 2020 2020 ves:: \n+000014b0: 2020 2020 2020 2020 2020 2044 7261 7720 Draw \n+000014c0: 6375 7276 6573 2e0a 2a20 506f 6c79 676f curves..* Polygo\n+000014d0: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: \n+000014e0: 2020 2020 2020 2020 4472 6177 2070 6f6c Draw pol\n+000014f0: 7967 6f6e 732e 0a2a 2053 7065 6369 616c ygons..* Special\n+00001500: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+00001510: 2020 2020 2020 2045 6d62 6564 2072 6177 Embed raw\n+00001520: 204c 6154 6558 2061 6e64 20e2 8098 5053 LaTeX and ...PS\n+00001530: 5472 6963 6b73 e280 992e 0a2a 2053 7765 Tricks.....* Swe\n+00001540: 6570 733a 3a20 2020 2020 2020 2020 2020 eps:: \n+00001550: 2020 2020 2020 2020 2020 2044 7261 7720 Draw \n+00001560: 7377 6565 7073 206f 6620 646f 7473 2061 sweeps of dots a\n+00001570: 6e64 2070 6f6c 796c 696e 6573 2e0a 2a20 nd polylines..* \n+00001580: 426c 6f63 6b73 3a3a 2020 2020 2020 2020 Blocks:: \n+00001590: 2020 2020 2020 2020 2020 2020 2020 4772 Gr\n+000015a0: 6f75 7020 6f74 6865 7220 6472 6177 6162 oup other drawab\n+000015b0: 6c65 732e 0a2a 2052 6570 6561 7473 3a3a les..* Repeats::\n+000015c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000015d0: 2020 2020 2044 7261 7720 7472 616e 7366 Draw transf\n+000015e0: 6f72 6d65 6420 636f 7069 6573 206f 6620 ormed copies of \n+000015f0: 6f62 6a65 6374 732e 0a2a 2050 7574 733a objects..* Puts:\n+00001600: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00001610: 2020 2020 2020 2020 2044 7261 7720 6f6e Draw on\n+00001620: 6520 6f62 6a65 6374 2074 7261 6e73 666f e object transfo\n+00001630: 726d 6564 2e0a 0a53 7765 6570 730a 0a2a rmed...Sweeps..*\n+00001640: 2053 7765 7074 2070 6f69 6e74 733a 3a20 Swept points:: \n+00001650: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00001660: 7765 7074 2070 6f69 6e74 7320 6d61 6b65 wept points make\n+00001670: 206c 696e 6573 206f 7220 706f 6c79 676f lines or polygo\n+00001680: 6e73 2e0a 2a20 5377 6570 7420 6c69 6e65 ns..* Swept line\n+00001690: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+000016a0: 2020 2020 5377 6570 7420 6c69 6e65 7320 Swept lines \n+000016b0: 6d61 6b65 206f 7065 6e20 6f72 2063 6c6f make open or clo\n+000016c0: 7365 6420 7375 7266 6163 6573 2e0a 2a20 sed surfaces..* \n+000016d0: 5377 6570 7420 706f 6c79 676f 6e73 3a3a Swept polygons::\n+000016e0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n+000016f0: 6570 7420 706f 6c79 676f 6e73 206d 616b ept polygons mak\n+00001700: 6520 636c 6f73 6564 2073 7572 6661 6365 e closed surface\n+00001710: 732e 0a2a 2053 7765 7074 2062 6c6f 636b s..* Swept block\n+00001720: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+00001730: 2020 2053 7765 7074 2062 6c6f 636b 20e2 Swept block .\n+00001740: 89a1 2062 6c6f 636b 206f 6620 7377 6565 .. block of swee\n+00001750: 7073 2e0a 2a20 5377 6565 7020 6661 6365 ps..* Sweep face\n+00001760: 2073 706c 6974 7469 6e67 3a3a 2020 2020 splitting:: \n+00001770: 2020 2020 4669 7869 6e67 2077 6172 7065 Fixing warpe\n+00001780: 6420 6661 6365 7320 7769 7468 2074 7269 d faces with tri\n+00001790: 616e 676c 6573 2e0a 0a44 6566 696e 6974 angles...Definit\n+000017a0: 696f 6e73 0a0a 2a20 466f 726d 7320 6f66 ions..* Forms of\n+000017b0: 2064 6566 696e 6974 696f 6e73 3a3a 2020 definitions:: \n+000017c0: 2020 2020 2020 4469 6666 6572 656e 7420 Different \n+000017d0: 6465 6673 2066 6f72 2064 6966 6665 7265 defs for differe\n+000017e0: 6e74 2070 7572 706f 7365 732e 0a2a 2046 nt purposes..* F\n+000017f0: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc\n+00001800: 6573 3a3a 2020 2020 2020 2020 2048 6f77 es:: How\n+00001810: 2072 6566 6572 656e 6365 7320 6465 6e6f references deno\n+00001820: 7465 2074 7970 6573 2e0a 0a47 6c6f 6261 te types...Globa\n+00001830: 6c20 656e 7669 726f 6e6d 656e 740a 0a2a l environment..*\n+00001840: 2047 6c6f 6261 6c20 6f70 7469 6f6e 733a Global options:\n+00001850: 3a20 2020 2020 2020 2020 2020 2020 2041 : A\n+00001860: 7474 7269 6275 7465 7320 6f66 2074 6865 ttributes of the\n+00001870: 2065 6e74 6972 6520 6472 6177 696e 672e entire drawing.\n+00001880: 0a2a 2043 616d 6572 613a 3a20 2020 2020 .* Camera:: \n+00001890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000018a0: 2041 2066 696e 616c 2063 616d 6572 6120 A final camera \n+000018b0: 7472 616e 7366 6f72 6d61 7469 6f6e 206f transformation o\n+000018c0: 6620 7468 6520 7363 656e 652e 0a2a 2050 f the scene..* P\n+000018d0: 6963 7475 7265 2062 6f78 3a3a 2020 2020 icture box:: \n+000018e0: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n+000018f0: 7469 6e67 2074 6865 2062 6f75 6e64 696e ting the boundin\n+00001900: 6720 626f 7820 616e 6420 3264 2063 6c69 g box and 2d cli\n+00001910: 7070 696e 672e 0a2a 2046 7261 6d65 3a3a pping..* Frame::\n+00001920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00001930: 2020 2020 2020 2041 6464 696e 6720 6120 Adding a \n+00001940: 626f 7820 6172 6f75 6e64 2074 6865 2064 box around the d\n+00001950: 7261 7769 6e67 2e0a 2a20 4c61 6e67 7561 rawing..* Langua\n+00001960: 6765 3a3a 2020 2020 2020 2020 2020 2020 ge:: \n+00001970: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n+00001980: 7468 6520 6f75 7470 7574 206c 616e 6775 the output langu\n+00001990: 6167 652e 0a0a 4275 696c 6469 6e67 2061 age...Building a\n+000019a0: 2064 7261 7769 6e67 0a0a 2a20 4f76 6572 drawing..* Over\n+000019b0: 7669 6577 3a3a 2020 2020 2020 2020 2020 view:: \n+000019c0: 2020 2020 2020 2020 2020 4275 696c 6469 Buildi\n+000019d0: 6e67 2061 2073 7562 7374 616e 7469 616c ng a substantial\n+000019e0: 2064 7261 7769 6e67 2e0a 2a20 4120 7465 drawing..* A te\n+000019f0: 6368 6e69 6361 6c20 6472 6177 696e 673a chnical drawing:\n+00001a00: 3a20 2020 2020 2020 2020 416e 2065 7861 : An exa\n+00001a10: 6d70 6c65 2077 6974 6820 6669 6e65 2070 mple with fine p\n+00001a20: 6c61 6365 6d65 6e74 2e0a 2a20 4120 6869 lacement..* A hi\n+00001a30: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n+00001a40: 3a3a 2020 2020 2020 2020 416e 2065 7861 :: An exa\n+00001a50: 6d70 6c65 2077 6974 6820 7377 6565 7073 mple with sweeps\n+00001a60: 2061 6e64 2070 7574 732e 0a2a 2043 6176 and puts..* Cav\n+00001a70: 6561 7473 3a3a 2020 2020 2020 2020 2020 eats:: \n+00001a80: 2020 2020 2020 2020 2020 2057 6865 7265 Where\n+00001a90: 2074 726f 7562 6c65 2063 616e 206f 6363 trouble can occ\n+00001aa0: 7572 2e0a 0a43 6176 6561 7473 0a0a 2a20 ur...Caveats..* \n+00001ab0: 4c69 6d69 7473 206f 6e20 6572 726f 7220 Limits on error \n+00001ac0: 6465 7465 6374 696f 6e3a 3a20 2020 5768 detection:: Wh\n+00001ad0: 6174 2073 6b65 7463 6820 646f 6573 6e27 at sketch doesn'\n+00001ae0: 7420 646f 2e0a 2a20 436c 6970 7069 6e67 t do..* Clipping\n+00001af0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n+00001b00: 2020 2020 2020 4e6f 2063 6c69 7070 696e No clippin\n+00001b10: 6720 6174 2070 7265 7365 6e74 2e0a 2a20 g at present..* \n+00001b20: 4869 6464 656e 2073 7572 6661 6365 2072 Hidden surface r\n+00001b30: 656d 6f76 616c 3a3a 2020 2020 2020 496d emoval:: Im\n+00001b40: 7065 7266 6563 7469 6f6e 7320 746f 2066 perfections to f\n+00001b50: 6978 2e0a 0a48 6964 6465 6e20 7375 7266 ix...Hidden surf\n+00001b60: 6163 6520 7265 6d6f 7661 6c20 616e 6420 ace removal and \n+00001b70: 706f 6c79 676f 6e20 7370 6c69 7474 696e polygon splittin\n+00001b80: 670a 0a2a 2053 7461 7469 7374 6963 733a g..* Statistics:\n+00001b90: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00001ba0: 2020 2050 6572 666f 726d 616e 6365 206e Performance n\n+00001bb0: 756d 6265 7273 206f 6e20 6465 7074 6820 umbers on depth \n+00001bc0: 736f 7274 2e0a 2a20 4275 6773 2061 6e64 sort..* Bugs and\n+00001bd0: 2061 6e6f 6d61 6c69 6573 3a3a 2020 2020 anomalies:: \n+00001be0: 2020 2020 2020 496d 7065 7266 6563 7469 Imperfecti\n+00001bf0: 6f6e 7320 696e 2074 6869 7320 696d 706c ons in this impl\n+00001c00: 656d 656e 7461 7469 6f6e 2e0a 0a0a 1f0a ementation......\n+00001c10: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+00001c20: 6f2c 2020 4e6f 6465 3a20 4162 6f75 7420 o, Node: About \n+00001c30: 736b 6574 6368 2c20 204e 6578 743a 2049 sketch, Next: I\n+00001c40: 6e74 726f 6475 6374 696f 6e20 6279 2065 ntroduction by e\n+00001c50: 7861 6d70 6c65 2c20 2050 7265 763a 2054 xample, Prev: T\n+00001c60: 6f70 2c20 2055 703a 2054 6f70 0a0a 3120 op, Up: Top..1 \n+00001c70: 4162 6f75 7420 736b 6574 6368 0a2a 2a2a About sketch.***\n+00001c80: 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a2a 204d ***********..* M\n+00001c90: 656e 753a 0a0a 2a20 5265 706f 7274 696e enu:..* Reportin\n+00001ca0: 6720 6275 6773 3a3a 2020 2020 2020 2020 g bugs:: \n+00001cb0: 2020 2020 2020 4c65 7420 7573 6520 6b6e Let use kn\n+00001cc0: 6f77 2077 6861 7427 7320 7772 6f6e 6721 ow what's wrong!\n+00001cd0: 0a2a 2043 6f6e 7472 6962 7574 696f 6e73 .* Contributions\n+00001ce0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n+00001cf0: 2048 6f77 2079 6f75 2063 616e 2068 656c How you can hel\n+00001d00: 702e 2e2e 2e0a 0ae2 8098 536b 6574 6368 p.........Sketch\n+00001d10: e280 9920 6973 2061 2073 6d61 6c6c 2c20 ... is a small, \n+00001d20: 7369 6d70 6c65 2073 7973 7465 6d20 666f simple system fo\n+00001d30: 7220 7072 6f64 7563 696e 6720 6c69 6e65 r producing line\n+00001d40: 2064 7261 7769 6e67 7320 6f66 2074 776f drawings of two\n+00001d50: 2d0a 6f72 2074 6872 6565 2d64 696d 656e -.or three-dimen\n+00001d60: 7369 6f6e 616c 206f 626a 6563 7473 2061 sional objects a\n+00001d70: 6e64 2073 6365 6e65 732e 2020 4974 2062 nd scenes. It b\n+00001d80: 6567 616e 2061 7320 6120 7761 7920 746f egan as a way to\n+00001d90: 206d 616b 650a 696c 6c75 7374 7261 7469 make.illustrati\n+00001da0: 6f6e 7320 666f 7220 6120 7465 7874 626f ons for a textbo\n+00001db0: 6f6b 2061 6674 6572 2077 6520 636f 756c ok after we coul\n+00001dc0: 6420 6669 6e64 206e 6f20 7375 6974 6162 d find no suitab\n+00001dd0: 6c65 2074 6f6f 6c20 666f 720a 7468 6973 le tool for.this\n+00001de0: 2070 7572 706f 7365 2e20 2045 7869 7374 purpose. Exist\n+00001df0: 696e 6720 7363 656e 6520 7072 6f63 6573 ing scene proces\n+00001e00: 736f 7273 2065 6d70 6861 7369 7a65 6420 sors emphasized \n+00001e10: 4755 4973 2061 6e64 2f6f 720a 7068 6f74 GUIs and/or.phot\n+00001e20: 6f2d 7265 616c 6973 6d2c 2062 6f74 6820 o-realism, both \n+00001e30: 756e 2d75 7365 6675 6c20 746f 2075 732e un-useful to us.\n+00001e40: 2020 5765 2077 616e 7465 6420 746f 2070 We wanted to p\n+00001e50: 726f 6475 6365 2066 696e 656c 790a 7772 roduce finely.wr\n+00001e60: 6f75 6768 742c 206d 6174 6865 6d61 7469 ought, mathemati\n+00001e70: 6361 6c6c 792d 6261 7365 6420 696c 6c75 cally-based illu\n+00001e80: 7374 7261 7469 6f6e 7320 7769 7468 206e strations with n\n+00001e90: 6f20 6578 7472 616e 656f 7573 2064 6574 o extraneous det\n+00001ea0: 6169 6c2e 0a0a 2020 20e2 8098 536b 6574 ail... ...Sket\n+00001eb0: 6368 e280 9920 6163 6365 7074 7320 6120 ch... accepts a \n+00001ec0: 7469 6e79 2073 6365 6e65 2064 6573 6372 tiny scene descr\n+00001ed0: 6970 7469 6f6e 206c 616e 6775 6167 6520 iption language \n+00001ee0: 616e 6420 6765 6e65 7261 7465 730a e280 and generates...\n+00001ef0: 9850 5354 7269 636b 73e2 8099 206f 7220 .PSTricks... or \n+00001f00: e280 9854 696b 5a2f 5047 46e2 8099 2063 ...TikZ/PGF... c\n+00001f10: 6f64 6520 666f 7220 4c61 5465 582e 2020 ode for LaTeX. \n+00001f20: 5468 6520 e280 9873 6b65 7463 68e2 8099 The ...sketch...\n+00001f30: 206c 616e 6775 6167 6520 6973 0a73 696d language is.sim\n+00001f40: 696c 6172 2074 6f20 e280 9850 5354 7269 ilar to ...PSTri\n+00001f50: 636b 73e2 8099 2c20 6d61 6b69 6e67 2069 cks..., making i\n+00001f60: 7420 6561 7379 2074 6f20 6c65 6172 6e20 t easy to learn \n+00001f70: 666f 7220 6375 7272 656e 7420 e280 9850 for current ...P\n+00001f80: 5354 7269 636b 73e2 8099 0a75 7365 7273 STricks....users\n+00001f90: 2e20 2053 6565 2077 7777 2e70 7374 7269 . See www.pstri\n+00001fa0: 636b 732e 6465 2066 6f72 2069 6e66 6f72 cks.de for infor\n+00001fb0: 6d61 7469 6f6e 206f 6e20 e280 9850 5354 mation on ...PST\n+00001fc0: 7269 636b 73e2 8099 2e20 20e2 8098 5469 ricks.... ...Ti\n+00001fd0: 6b5a 2f50 4746 e280 990a 6973 2073 696d kZ/PGF....is sim\n+00001fe0: 696c 6172 2e20 2053 6565 2068 7474 703a ilar. See http:\n+00001ff0: 2f2f 736f 7572 6365 666f 7267 652e 6e65 //sourceforge.ne\n+00002000: 742f 7072 6f6a 6563 7473 2f70 6766 2e20 t/projects/pgf. \n+00002010: 204f 6e65 2063 616e 2065 6173 696c 790a One can easily.\n+00002020: 696e 636c 7564 6520 6172 6269 7472 6172 include arbitrar\n+00002030: 7920 e280 9850 5354 7269 636b 73e2 8099 y ...PSTricks...\n+00002040: 206f 7220 e280 9854 696b 5a2f 5047 46e2 or ...TikZ/PGF.\n+00002050: 8099 2064 7261 7769 6e67 7320 616e 6420 .. drawings and \n+00002060: 7465 7874 206f 7665 722c 2069 6e2c 0a6f text over, in,.o\n+00002070: 7220 756e 6465 7220 e280 9873 6b65 7463 r under ...sketc\n+00002080: 68e2 8099 2064 7261 7769 6e67 732c 2070 h... drawings, p\n+00002090: 726f 7669 6469 6e67 2061 6363 6573 7320 roviding access \n+000020a0: 746f 2074 6865 2066 756c 6c20 706f 7765 to the full powe\n+000020b0: 7220 6f66 204c 6154 6558 0a74 6578 7420 r of LaTeX.text \n+000020c0: 616e 6420 6d61 7468 656d 6174 6963 7320 and mathematics \n+000020d0: 666f 726d 6174 7469 6e67 2069 6e20 6120 formatting in a \n+000020e0: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona\n+000020f0: 6c20 7365 7474 696e 672e 0a0a 1f0a 4669 l setting.....Fi\n+00002100: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+00002110: 2020 4e6f 6465 3a20 5265 706f 7274 696e Node: Reportin\n+00002120: 6720 6275 6773 2c20 204e 6578 743a 2043 g bugs, Next: C\n+00002130: 6f6e 7472 6962 7574 696f 6e73 2c20 2050 ontributions, P\n+00002140: 7265 763a 2041 626f 7574 2073 6b65 7463 rev: About sketc\n+00002150: 682c 2020 5570 3a20 4162 6f75 7420 736b h, Up: About sk\n+00002160: 6574 6368 0a0a 312e 3120 5265 706f 7274 etch..1.1 Report\n+00002170: 696e 6720 6275 6773 2061 6e64 2072 6563 ing bugs and rec\n+00002180: 6f6d 6d65 6e64 696e 6720 696d 7072 6f76 ommending improv\n+00002190: 656d 656e 7473 2e0a 3d3d 3d3d 3d3d 3d3d ements..========\n 000021a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n 000021b0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-000021c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============.\n-000021d0: 0a54 6865 2067 726f 7570 2068 7474 703a .The group http:\n-000021e0: 2f2f 6772 6f75 7073 2e67 6f6f 676c 652e //groups.google.\n-000021f0: 636f 6d2f 6772 6f75 702f 736b 6574 6368 com/group/sketch\n-00002200: 2d75 7365 7273 2069 7320 7468 6520 6265 -users is the be\n-00002210: 7374 2070 6c61 6365 0a74 6f20 7265 706f st place.to repo\n-00002220: 7274 2062 7567 7320 616e 6420 6d61 6b65 rt bugs and make\n-00002230: 2069 6d70 726f 7665 6d65 6e74 732e 2020 improvements. \n-00002240: 4120 7365 636f 6e64 206d 6574 686f 6420 A second method \n-00002250: 7468 6174 2077 696c 6c0a 7072 6f62 6162 that will.probab\n-00002260: 6c79 2070 726f 6475 6365 2061 2073 6c6f ly produce a slo\n-00002270: 7765 7220 7265 7370 6f6e 7365 2069 7320 wer response is \n-00002280: 656d 6169 6c20 746f 2073 6b65 7463 6840 email to sketch@\n-00002290: 6672 6f6e 7469 6572 6e65 742e 6e65 742e frontiernet.net.\n-000022a0: 0a57 6520 7769 6c6c 2074 7279 2074 6f20 .We will try to \n-000022b0: 7265 7370 6f6e 642c 2062 7574 2063 616e respond, but can\n-000022c0: 2774 2070 726f 6d69 7365 2e20 2049 6e20 't promise. In \n-000022d0: 616e 7920 6576 656e 742c 2064 6f6e 2774 any event, don't\n-000022e0: 2062 650a 6f66 6665 6e64 6564 2069 6620 be.offended if \n-000022f0: 6120 7265 706c 7920 6973 206e 6f74 2066 a reply is not f\n-00002300: 6f72 7468 636f 6d69 6e67 2e20 2057 6527 orthcoming. We'\n-00002310: 7265 206a 7573 7420 6275 7379 2061 6e64 re just busy and\n-00002320: 2077 696c 6c20 6765 7420 746f 0a79 6f75 will get to.you\n-00002330: 7220 7375 6767 6573 7469 6f6e 2065 7665 r suggestion eve\n-00002340: 6e74 7561 6c6c 792e 0a0a 2020 2046 6f72 ntually... For\n-00002350: 2062 7567 732c 2061 7474 6163 6820 6120 bugs, attach a \n-00002360: e280 9873 6b65 7463 68e2 8099 2069 6e70 ...sketch... inp\n-00002370: 7574 2066 696c 6520 7468 6174 2063 6175 ut file that cau\n-00002380: 7365 7320 7468 6520 6261 6420 6265 6861 ses the bad beha\n-00002390: 7669 6f72 2e0a 456d 6265 6420 636f 6d6d vior..Embed comm\n-000023a0: 656e 7473 2074 6861 7420 6578 706c 6169 ents that explai\n-000023b0: 6e20 7768 6174 2074 6f20 6c6f 6f6b 2066 n what to look f\n-000023c0: 6f72 2069 6e20 7468 6520 6265 6861 7669 or in the behavi\n-000023d0: 6f72 206f 6620 e280 9873 6b65 7463 68e2 or of ...sketch.\n-000023e0: 8099 0a6f 7220 6974 7320 6f75 7470 7574 ...or its output\n-000023f0: 2e0a 0a20 2020 4120 7265 636f 6d6d 656e ... A recommen\n-00002400: 6461 7469 6f6e 2066 6f72 2069 6d70 726f dation for impro\n-00002410: 7665 6d65 6e74 2066 726f 6d20 6f6e 6520 vement from one \n-00002420: 756e 6b6e 6f77 6e20 7065 7273 6f6e 2063 unknown person c\n-00002430: 6f75 6e74 7320 6173 0a6f 6e65 2076 6f74 ounts as.one vot\n-00002440: 652e 2020 5765 2075 7365 206f 7665 7261 e. We use overa\n-00002450: 6c6c 2076 6f74 6520 7461 6c6c 6965 7320 ll vote tallies \n-00002460: 746f 2064 6563 6964 6520 7768 6174 2074 to decide what t\n-00002470: 6f20 646f 206e 6578 7420 6173 0a72 6573 o do next as.res\n-00002480: 6f75 7263 6573 2070 6572 6d69 742e 2020 ources permit. \n-00002490: 5765 2072 6573 6572 7665 2074 6865 2072 We reserve the r\n-000024a0: 6967 6874 2074 6f20 6173 7369 676e 2061 ight to assign a\n-000024b0: 6e79 206e 756d 6265 7220 6f66 2076 6f74 ny number of vot\n-000024c0: 6573 2074 6f0a 7375 6767 6573 7469 6f6e es to.suggestion\n-000024d0: 7320 6672 6f6d 2070 656f 706c 6520 7768 s from people wh\n-000024e0: 6f20 6861 7665 2062 6565 6e20 6865 6c70 o have been help\n-000024f0: 6675 6c20 616e 6420 7375 7070 6f72 7469 ful and supporti\n-00002500: 7665 2069 6e20 7468 650a 7061 7374 2e0a ve in the.past..\n-00002510: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n-00002520: 696e 666f 2c20 204e 6f64 653a 2043 6f6e info, Node: Con\n-00002530: 7472 6962 7574 696f 6e73 2c20 2050 7265 tributions, Pre\n-00002540: 763a 2052 6570 6f72 7469 6e67 2062 7567 v: Reporting bug\n-00002550: 732c 2020 5570 3a20 4162 6f75 7420 736b s, Up: About sk\n-00002560: 6574 6368 0a0a 312e 3220 436f 6e74 7269 etch..1.2 Contri\n-00002570: 6275 7469 6f6e 730a 3d3d 3d3d 3d3d 3d3d butions.========\n-00002580: 3d3d 3d3d 3d3d 3d3d 3d0a 0a49 6620 796f =========..If yo\n-00002590: 7520 696e 7465 6e64 2074 6f20 696d 706c u intend to impl\n-000025a0: 656d 656e 7420 616e 2065 6e68 616e 6365 ement an enhance\n-000025b0: 6d65 6e74 206f 6620 796f 7572 206f 776e ment of your own\n-000025c0: 2c20 7468 6174 2773 2074 6572 7269 6669 , that's terrifi\n-000025d0: 6321 0a43 6f6e 7369 6465 7220 636f 6c6c c!.Consider coll\n-000025e0: 6162 6f72 6174 696e 6720 7769 7468 2075 aborating with u\n-000025f0: 7320 6669 7273 7420 746f 2073 6565 2069 s first to see i\n-00002600: 6620 7765 2772 6520 616c 7265 6164 7920 f we're already \n-00002610: 776f 726b 696e 6720 6f6e 0a79 6f75 7220 working on.your \n-00002620: 6964 6561 206f 7220 6966 2077 6520 6361 idea or if we ca\n-00002630: 6e20 7573 6520 796f 7572 2077 6f72 6b20 n use your work \n-00002640: 696e 2074 6865 206f 6666 6963 6961 6c20 in the official \n-00002650: 7265 6c65 6173 652e 0a0a 0008 5b69 6d61 release.....[ima\n-00002660: 6765 2073 7263 3d22 6578 3030 302e 706e ge src=\"ex000.pn\n-00002670: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n-00002680: 7830 3030 206f 6d69 7474 6564 2069 6e20 x000 omitted in \n-00002690: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n-000026a0: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n-000026b0: 085d 0a0a 1f0a 4669 6c65 3a20 736b 6574 .]....File: sket\n-000026c0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-000026d0: 496e 7472 6f64 7563 7469 6f6e 2062 7920 Introduction by \n-000026e0: 6578 616d 706c 652c 2020 4e65 7874 3a20 example, Next: \n-000026f0: 496e 7075 7420 6c61 6e67 7561 6765 2c20 Input language, \n-00002700: 2050 7265 763a 2041 626f 7574 2073 6b65 Prev: About ske\n-00002710: 7463 682c 2020 5570 3a20 546f 700a 0a32 tch, Up: Top..2\n-00002720: 2049 6e74 726f 6475 6374 696f 6e20 6279 Introduction by\n-00002730: 2065 7861 6d70 6c65 0a2a 2a2a 2a2a 2a2a example.*******\n-00002740: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-00002750: 2a2a 0a0a 5468 6520 e280 9873 6b65 7463 **..The ...sketc\n-00002760: 68e2 8099 2069 6e70 7574 206c 616e 6775 h... input langu\n-00002770: 6167 6520 7769 6c6c 2073 6565 6d20 6661 age will seem fa\n-00002780: 6d69 6c69 6172 2074 6f20 7573 6572 7320 miliar to users \n-00002790: 6f66 2074 6865 0ae2 8098 5053 5472 6963 of the....PSTric\n-000027a0: 6b73 e280 9920 7061 636b 6167 6520 666f ks... package fo\n-000027b0: 7220 4c61 5465 582e 2020 5468 6520 666f r LaTeX. The fo\n-000027c0: 6c6c 6f77 696e 6720 7072 6f67 7261 6d20 llowing program \n-000027d0: 6472 6177 7320 6120 7472 6961 6e67 756c draws a triangul\n-000027e0: 6172 0a70 6f6c 7967 6f6e 2070 6965 7263 ar.polygon pierc\n-000027f0: 6564 2062 7920 6120 6c69 6e65 2e0a 2020 ed by a line.. \n-00002800: 706f 6c79 676f 6e28 302c 302c 3129 2831 polygon(0,0,1)(1\n-00002810: 2c30 2c30 2928 302c 312c 3029 0a20 206c ,0,0)(0,1,0). l\n-00002820: 696e 6528 2d31 2c2d 312c 2d31 2928 322c ine(-1,-1,-1)(2,\n-00002830: 322c 3229 0a54 6865 2063 6f6f 7264 696e 2,2).The coordin\n-00002840: 6174 6520 7379 7374 656d 2069 7320 6120 ate system is a \n-00002850: 7374 616e 6461 7264 2072 6967 6874 2d68 standard right-h\n-00002860: 616e 6465 6420 4361 7274 6573 6961 6e20 anded Cartesian \n-00002870: 6f6e 652e 0a0a 0008 5b69 6d61 6765 2073 one.....[image s\n-00002880: 7263 3d22 6578 3031 302e 706e 6722 2074 rc=\"ex010.png\" t\n-00002890: 6578 743d 2249 6d61 6765 2065 7830 3130 ext=\"Image ex010\n-000028a0: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text\n-000028b0: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this\n-000028c0: 2064 6f63 756d 656e 742e 2200 085d 0a0a document.\"..]..\n-000028d0: 2a20 4d65 6e75 3a0a 0a2a 2048 656c 6c6f * Menu:..* Hello\n-000028e0: 2077 6f72 6c64 3a3a 2020 2020 2020 2020 world:: \n-000028f0: 2020 2020 2020 2020 2053 696d 706c 6573 Simples\n-00002900: 7420 706f 7373 6962 6c65 20e2 8098 736b t possible ...sk\n-00002910: 6574 6368 e280 9920 7072 6f67 7261 6d2e etch... program.\n-00002920: 0a2a 2044 7261 7769 6e67 206f 7074 696f .* Drawing optio\n-00002930: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: \n-00002940: 2043 6f6e 7472 6f6c 6c69 6e67 206f 626a Controlling obj\n-00002950: 6563 7420 6170 7065 6172 616e 6365 2e0a ect appearance..\n-00002960: 2a20 4472 6177 696e 6720 6120 736f 6c69 * Drawing a soli\n-00002970: 643a 3a20 2020 2020 2020 2020 2020 2020 d:: \n-00002980: 4472 6177 696e 6720 616e 206f 626a 6563 Drawing an objec\n-00002990: 7420 7769 7468 2033 6420 6170 7065 6172 t with 3d appear\n-000029a0: 616e 6365 2e0a 2a20 5370 6563 6961 6c20 ance..* Special \n-000029b0: 6f62 6a65 6374 733a 3a20 2020 2020 2020 objects:: \n-000029c0: 2020 2020 2020 4c61 7969 6e67 2054 6558 Laying TeX\n-000029d0: 206f 7665 722c 2069 6e2c 206f 7220 756e over, in, or un\n-000029e0: 6465 7220 6472 6177 696e 6773 2e0a 2a20 der drawings..* \n-000029f0: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform\n-00002a00: 733a 3a20 2020 2020 2020 2020 2020 526f s:: Ro\n-00002a10: 7461 7465 2c20 7472 616e 736c 6174 652c tate, translate,\n-00002a20: 2073 6361 6c65 2c20 616e 6420 6f74 6865 scale, and othe\n-00002a30: 7273 2e0a 2a20 5265 7065 6174 6564 206f rs..* Repeated o\n-00002a40: 626a 6563 7473 3a3a 2020 2020 2020 2020 bjects:: \n-00002a50: 2020 2020 4d61 6b69 6e67 2074 7261 6e73 Making trans\n-00002a60: 666f 726d 6564 2063 6f70 6965 732e 0a2a formed copies..*\n-00002a70: 2053 7765 7074 206f 626a 6563 7473 3a3a Swept objects::\n-00002a80: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00002a90: 7765 6570 696e 6720 6f62 6a65 6374 7320 weeping objects \n-00002aa0: 696e 2073 7061 6365 2074 6f20 6d61 6b65 in space to make\n-00002ab0: 206e 6577 2073 6861 7065 732e 0a0a 1f0a new shapes.....\n-00002ac0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n-00002ad0: 6f2c 2020 4e6f 6465 3a20 4865 6c6c 6f20 o, Node: Hello \n-00002ae0: 776f 726c 642c 2020 4e65 7874 3a20 4472 world, Next: Dr\n-00002af0: 6177 696e 6720 6f70 7469 6f6e 732c 2020 awing options, \n-00002b00: 5072 6576 3a20 496e 7472 6f64 7563 7469 Prev: Introducti\n-00002b10: 6f6e 2062 7920 6578 616d 706c 652c 2020 on by example, \n-00002b20: 5570 3a20 496e 7472 6f64 7563 7469 6f6e Up: Introduction\n-00002b30: 2062 7920 6578 616d 706c 650a 0a32 2e31 by example..2.1\n-00002b40: 2048 656c 6c6f 2077 6f72 6c64 0a3d 3d3d Hello world.===\n-00002b50: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 5468 ============..Th\n-00002b60: 6520 e280 9873 6b65 7463 68e2 8099 2070 e ...sketch... p\n-00002b70: 726f 6772 616d 2061 626f 7665 2069 7320 rogram above is \n-00002b80: 6e65 6172 6c79 2074 6865 2073 696d 706c nearly the simpl\n-00002b90: 6573 7420 6f6e 6520 706f 7373 6962 6c65 est one possible\n-00002ba0: 2c20 7468 650a 6571 7569 7661 6c65 6e74 , the.equivalent\n-00002bb0: 206f 6620 6120 2268 656c 6c6f 2077 6f72 of a \"hello wor\n-00002bc0: 6c64 2220 7072 6f67 7261 6d20 796f 7520 ld\" program you \n-00002bd0: 6d69 6768 7420 6669 6e64 2061 7420 7468 might find at th\n-00002be0: 6520 7374 6172 7420 6f66 2061 0a70 726f e start of a.pro\n-00002bf0: 6772 616d 6d69 6e67 206c 616e 6775 6167 gramming languag\n-00002c00: 6520 7465 7874 2e20 2049 6620 6974 2069 e text. If it i\n-00002c10: 7320 7361 7665 6420 696e 2074 6865 2066 s saved in the f\n-00002c20: 696c 6520 e280 9873 696d 706c 652e 736b ile ...simple.sk\n-00002c30: e280 992c 2074 6865 6e0a 7468 6520 636f ..., then.the co\n-00002c40: 6d6d 616e 640a 2020 736b 6574 6368 2073 mmand. sketch s\n-00002c50: 696d 706c 652e 736b 202d 6f20 7369 6d70 imple.sk -o simp\n-00002c60: 6c65 2e74 6578 0a63 7265 6174 6573 2061 le.tex.creates a\n-00002c70: 2066 696c 6520 e280 9873 696d 706c 652e file ...simple.\n-00002c80: 7465 78e2 8099 2063 6f6e 7461 696e 696e tex... containin\n-00002c90: 6720 e280 9850 5354 7269 636b 73e2 8099 g ...PSTricks...\n-00002ca0: 2063 6f6d 6d61 6e64 7320 746f 2064 7261 commands to dra\n-00002cb0: 7720 7468 6573 650a 6f62 6a65 6374 7320 w these.objects \n-00002cc0: 6f6e 2070 6170 6572 2e20 2054 6865 2063 on paper. The c\n-00002cd0: 6f6e 7465 6e74 7320 6f66 20e2 8098 7369 ontents of ...si\n-00002ce0: 6d70 6c65 2e74 6578 e280 9920 6c6f 6f6b mple.tex... look\n-00002cf0: 206c 696b 6520 7468 6973 2e0a 2020 5c62 like this.. \\b\n-00002d00: 6567 696e 7b70 7370 6963 7475 7265 7d28 egin{pspicture}(\n-00002d10: 2d31 2c2d 3129 2832 2c32 290a 2020 5c70 -1,-1)(2,2). \\p\n-00002d20: 7374 5665 7262 7b31 2073 6574 6c69 6e65 stVerb{1 setline\n-00002d30: 6a6f 696e 7d0a 2020 5c70 736c 696e 6528 join}. \\psline(\n-00002d40: 2d31 2c2d 3129 282e 3333 332c 2e33 3333 -1,-1)(.333,.333\n-00002d50: 290a 2020 5c70 7370 6f6c 7967 6f6e 5b66 ). \\pspolygon[f\n-00002d60: 696c 6c73 7479 6c65 3d73 6f6c 6964 2c66 illstyle=solid,f\n-00002d70: 696c 6c63 6f6c 6f72 3d77 6869 7465 5d28 illcolor=white](\n-00002d80: 302c 3029 2831 2c30 2928 302c 3129 0a20 0,0)(1,0)(0,1). \n-00002d90: 205c 7073 6c69 6e65 282e 3333 332c 2e33 \\psline(.333,.3\n-00002da0: 3333 2928 322c 3229 0a20 205c 656e 647b 33)(2,2). \\end{\n-00002db0: 7073 7069 6374 7572 657d 0a54 6865 2068 pspicture}.The h\n-00002dc0: 6964 6465 6e20 7375 7266 6163 6520 616c idden surface al\n-00002dd0: 676f 7269 7468 6d20 6f66 20e2 8098 736b gorithm of ...sk\n-00002de0: 6574 6368 e280 9920 6861 7320 7370 6c69 etch... has spli\n-00002df0: 7420 7468 6520 6c69 6e65 2069 6e74 6f20 t the line into \n-00002e00: 7477 6f0a 7069 6563 6573 2061 6e64 206f two.pieces and o\n-00002e10: 7264 6572 6564 2074 6865 2074 6872 6565 rdered the three\n-00002e20: 2072 6573 756c 7469 6e67 206f 626a 6563 resulting objec\n-00002e30: 7473 2073 6f20 7468 6174 2074 6865 2063 ts so that the c\n-00002e40: 6f72 7265 6374 0a70 6f72 7469 6f6e 206f orrect.portion o\n-00002e50: 6620 7468 6520 6c69 6e65 2069 7320 6869 f the line is hi\n-00002e60: 6464 656e 2e0a 0a20 2020 4966 2079 6f75 dden... If you\n-00002e70: 2776 6520 6e6f 7469 6365 6420 7468 6174 've noticed that\n-00002e80: 2074 6865 2070 726f 6a65 6374 696f 6e20 the projection \n-00002e90: 7765 2061 7265 2075 7369 6e67 2073 6565 we are using see\n-00002ea0: 6d73 2065 7175 6976 616c 656e 740a 746f ms equivalent.to\n-00002eb0: 2065 7261 7369 6e67 2074 6865 207a 2d63 erasing the z-c\n-00002ec0: 6f6f 7264 696e 6174 6520 6f66 2074 6865 oordinate of the\n-00002ed0: 2074 6872 6565 2d64 696d 656e 7369 6f6e three-dimension\n-00002ee0: 616c 2069 6e70 7574 2070 6f69 6e74 732c al input points,\n-00002ef0: 2070 6174 0a79 6f75 7273 656c 6620 6f6e pat.yourself on\n-00002f00: 2074 6865 2062 6163 6b2e 2020 596f 7520 the back. You \n-00002f10: 6172 6520 636f 7272 6563 742e 2020 5468 are correct. Th\n-00002f20: 6973 2069 7320 6361 6c6c 6564 2061 20e2 is is called a .\n-00002f30: 809c 7061 7261 6c6c 656c 0a70 726f 6a65 ..parallel.proje\n-00002f40: 6374 696f 6ee2 809d 2e20 2054 6865 207a ction.... The z\n-00002f50: 2d63 6f6f 7264 696e 6174 6520 6178 6973 -coordinate axis\n-00002f60: 2069 7320 706f 696e 7469 6e67 2073 7472 is pointing str\n-00002f70: 6169 6768 7420 6f75 7420 6f66 2074 6865 aight out of the\n-00002f80: 0a70 6170 6572 2061 7420 7573 2c20 7768 .paper at us, wh\n-00002f90: 696c 6520 7468 6520 782d 2061 6e64 2079 ile the x- and y\n-00002fa0: 2d61 7865 7320 706f 696e 7420 746f 2074 -axes point to t\n-00002fb0: 6865 2072 6967 6874 2061 6e64 2075 7020 he right and up \n-00002fc0: 6173 2075 7375 616c 2e0a 0a20 2020 5468 as usual... Th\n-00002fd0: 6520 7265 7375 6c74 696e 6720 7069 6374 e resulting pict\n-00002fe0: 7572 6520 6669 6c65 2063 616e 2062 6520 ure file can be \n-00002ff0: 696e 636c 7564 6564 2069 6e20 6120 4c61 included in a La\n-00003000: 5465 5820 646f 6375 6d65 6e74 2077 6974 TeX document wit\n-00003010: 680a 5c69 6e70 7574 7b73 696d 706c 657d h.\\input{simple}\n-00003020: 2e20 2041 6c74 6572 6e61 7465 6c79 2c20 . Alternately, \n-00003030: 6164 6469 6e67 2074 6865 2063 6f6d 6d61 adding the comma\n-00003040: 6e64 206c 696e 6520 6f70 7469 6f6e 20e2 nd line option .\n-00003050: 8098 2d54 e280 9928 3129 0a63 6175 7365 ..-T...(1).cause\n-00003060: 7320 7468 6520 e280 9870 7370 6963 7475 s the ...pspictu\n-00003070: 7265 e280 9920 746f 2062 6520 7772 6170 re... to be wrap\n-00003080: 7065 6420 696e 2061 2073 686f 7274 2062 ped in a short b\n-00003090: 7574 2063 6f6d 706c 6574 6520 646f 6375 ut complete docu\n-000030a0: 6d65 6e74 2c0a 7265 6164 7920 746f 2072 ment,.ready to r\n-000030b0: 756e 2074 686f 7567 6820 4c61 5465 582e un though LaTeX.\n-000030c0: 2020 496e 2061 2066 696e 6973 6865 642c In a finished,\n-000030d0: 2074 7970 6573 6574 2064 6f63 756d 656e typeset documen\n-000030e0: 742c 2074 6865 2070 6963 7475 7265 0a6c t, the picture.l\n-000030f0: 6f6f 6b73 206c 696b 6520 7468 6973 2e20 ooks like this. \n-00003100: 2028 5468 6520 6178 6573 2068 6176 6520 (The axes have \n-00003110: 6265 656e 2061 6464 6564 2069 6e20 6c69 been added in li\n-00003120: 6768 7420 6772 6179 2e29 0a0a 0008 5b69 ght gray.)....[i\n-00003130: 6d61 6765 2073 7263 3d22 6578 3032 302e mage src=\"ex020.\n-00003140: 706e 6722 2074 6578 743d 2249 6d61 6765 png\" text=\"Image\n-00003150: 2065 7830 3230 206f 6d69 7474 6564 2069 ex020 omitted i\n-00003160: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o\n-00003170: 6620 7468 6973 2064 6f63 756d 656e 742e f this document.\n-00003180: 2200 085d 0a0a 4974 2069 7320 696d 706f \"..]..It is impo\n-00003190: 7274 616e 7420 746f 206b 6e6f 7720 7468 rtant to know th\n-000031a0: 6174 206f 6e6c 7920 7468 6520 226f 7574 at only the \"out\n-000031b0: 7369 6465 2220 6f66 2061 2070 6f6c 7967 side\" of a polyg\n-000031c0: 6f6e 2069 7320 6e6f 726d 616c 6c79 0a64 on is normally.d\n-000031d0: 7261 776e 2e20 2054 6865 20e2 809c 6f75 rawn. The ...ou\n-000031e0: 7473 6964 65e2 809d 2069 7320 7768 6572 tside... is wher\n-000031f0: 6520 7468 6520 7665 7274 6963 6573 2067 e the vertices g\n-00003200: 6976 656e 2069 6e20 7468 6520 e280 9870 iven in the ...p\n-00003210: 6f6c 7967 6f6e e280 990a 636f 6d6d 616e olygon....comman\n-00003220: 6420 6170 7065 6172 2069 6e20 5f63 6f75 d appear in _cou\n-00003230: 6e74 6572 2d63 6c6f 636b 7769 7365 5f20 nter-clockwise_ \n-00003240: 6f72 6465 722e 2020 5468 7573 2c20 6966 order. Thus, if\n-00003250: 2074 6865 2063 6f6d 6d61 6e64 2061 626f the command abo\n-00003260: 7665 0a68 6164 2062 6565 6e0a 2020 706f ve.had been. po\n-00003270: 6c79 676f 6e28 302c 312c 3029 2831 2c30 lygon(0,1,0)(1,0\n-00003280: 2c30 2928 302c 302c 3129 0a74 6865 2070 ,0)(0,0,1).the p\n-00003290: 6f6c 7967 6f6e 2077 6f75 6c64 206e 6f74 olygon would not\n-000032a0: 2061 7070 6561 7220 696e 2074 6865 2070 appear in the p\n-000032b0: 6963 7475 7265 2061 7420 616c 6c2e 2020 icture at all. \n-000032c0: 4974 2077 6f75 6c64 2068 6176 6520 6265 It would have be\n-000032d0: 656e 0ae2 809c 6375 6c6c 6564 e280 9d20 en....culled... \n-000032e0: 6672 6f6d 2074 6865 2073 6365 6e65 2e20 from the scene. \n-000032f0: 2054 6869 7320 6375 6c6c 696e 6720 6265 This culling be\n-00003300: 6861 7669 6f72 206d 6179 2073 6565 6d20 havior may seem \n-00003310: 7374 7261 6e67 652c 2062 7574 0a73 7461 strange, but.sta\n-00003320: 7920 7475 6e65 642e 0a0a 2020 202d 2d2d y tuned... ---\n-00003330: 2d2d 2d2d 2d2d 2d20 466f 6f74 6e6f 7465 ------- Footnote\n-00003340: 7320 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2020 s ----------.. \n-00003350: 2028 3129 204f 7220 666f 7220 4575 726f (1) Or for Euro\n-00003360: 7065 616e 2075 7365 7273 206f 6620 4134 pean users of A4\n-00003370: 2073 697a 6520 7061 7065 722c 20e2 8098 size paper, ...\n-00003380: 2d54 65e2 8099 2e0a 0a1f 0a46 696c 653a -Te........File:\n-00003390: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-000033a0: 6f64 653a 2044 7261 7769 6e67 206f 7074 ode: Drawing opt\n-000033b0: 696f 6e73 2c20 204e 6578 743a 2044 7261 ions, Next: Dra\n-000033c0: 7769 6e67 2061 2073 6f6c 6964 2c20 2050 wing a solid, P\n-000033d0: 7265 763a 2048 656c 6c6f 2077 6f72 6c64 rev: Hello world\n-000033e0: 2c20 2055 703a 2049 6e74 726f 6475 6374 , Up: Introduct\n-000033f0: 696f 6e20 6279 2065 7861 6d70 6c65 0a0a ion by example..\n-00003400: 322e 3220 4f70 7469 6f6e 730a 3d3d 3d3d 2.2 Options.====\n-00003410: 3d3d 3d3d 3d3d 3d0a 0a4d 616e 7920 e280 =======..Many ..\n-00003420: 9850 5354 7269 636b 73e2 8099 2061 6e64 .PSTricks... and\n-00003430: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... \n-00003440: 6f70 7469 6f6e 7320 776f 726b 206a 7573 options work jus\n-00003450: 7420 6669 6e65 2069 6e20 e280 9873 6b65 t fine in ...ske\n-00003460: 7463 68e2 8099 2e20 2049 660a 6765 6e65 tch.... If.gene\n-00003470: 7261 7469 6e67 20e2 8098 5053 5472 6963 rating ...PSTric\n-00003480: 6b73 e280 992c 2074 6865 2063 6f64 650a ks..., the code.\n-00003490: 2020 706f 6c79 676f 6e5b 6669 6c6c 636f polygon[fillco\n-000034a0: 6c6f 723d 6c69 6768 7467 7261 792c 6c69 lor=lightgray,li\n-000034b0: 6e65 7769 6474 683d 3370 745d 2830 2c30 newidth=3pt](0,0\n-000034c0: 2c31 2928 312c 302c 3029 2830 2c31 2c30 ,1)(1,0,0)(0,1,0\n-000034d0: 290a 2020 6c69 6e65 5b6c 696e 6573 7479 ). line[linesty\n-000034e0: 6c65 3d64 6f74 7465 645d 282d 312c 2d31 le=dotted](-1,-1\n-000034f0: 2c2d 3129 2832 2c32 2c32 290a 7072 6f64 ,-1)(2,2,2).prod\n-00003500: 7563 6573 0a0a 0008 5b69 6d61 6765 2073 uces....[image s\n-00003510: 7263 3d22 6578 3033 302e 706e 6722 2074 rc=\"ex030.png\" t\n-00003520: 6578 743d 2249 6d61 6765 2065 7830 3330 ext=\"Image ex030\n-00003530: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text\n-00003540: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this\n-00003550: 2064 6f63 756d 656e 742e 2200 085d 0a0a document.\"..]..\n-00003560: 2020 2054 6f20 7072 6f64 7563 6520 e280 To produce ..\n-00003570: 9854 696b 5a2f 5047 46e2 8099 2c20 7468 .TikZ/PGF..., th\n-00003580: 6520 636f 7272 6573 706f 6e64 696e 6720 e corresponding \n-00003590: 636f 6465 2069 730a 2020 706f 6c79 676f code is. polygo\n-000035a0: 6e5b 6669 6c6c 3d6c 6967 6874 6772 6179 n[fill=lightgray\n-000035b0: 2c6c 696e 6520 7769 6474 683d 3370 745d ,line width=3pt]\n-000035c0: 2830 2c30 2c31 2928 312c 302c 3029 2830 (0,0,1)(1,0,0)(0\n-000035d0: 2c31 2c30 290a 2020 6c69 6e65 5b73 7479 ,1,0). line[sty\n-000035e0: 6c65 3d64 6f74 7465 645d 282d 312c 2d31 le=dotted](-1,-1\n-000035f0: 2c2d 3129 2832 2c32 2c32 290a 2020 676c ,-1)(2,2,2). gl\n-00003600: 6f62 616c 207b 206c 616e 6775 6167 6520 obal { language \n-00003610: 7469 6b7a 207d 0a54 6865 2066 696e 616c tikz }.The final\n-00003620: 20e2 8098 676c 6f62 616c e280 9920 696e ...global... in\n-00003630: 7374 7275 6374 7320 e280 9873 6b65 7463 structs ...sketc\n-00003640: 68e2 8099 2074 6f20 7072 6f64 7563 6520 h... to produce \n-00003650: e280 9854 696b 5a2f 5047 46e2 8099 2063 ...TikZ/PGF... c\n-00003660: 6f64 6520 6173 0a6f 7574 7075 7420 7261 ode as.output ra\n-00003670: 7468 6572 2074 6861 6e20 7468 6520 6465 ther than the de\n-00003680: 6661 756c 742c 20e2 8098 5053 5472 6963 fault, ...PSTric\n-00003690: 6b73 e280 992e 2020 4e6f 7465 2074 6861 ks.... Note tha\n-000036a0: 7420 e280 9870 6f6c 7967 6f6e e280 9920 t ...polygon... \n-000036b0: 6669 6c6c 0a63 6f6c 6f72 2061 6e64 20e2 fill.color and .\n-000036c0: 8098 6c69 6e65 e280 9920 7374 796c 6520 ..line... style \n-000036d0: 6f70 7469 6f6e 7320 626f 7468 2063 6f6e options both con\n-000036e0: 666f 726d 2074 6f20 e280 9854 696b 5ae2 form to ...TikZ.\n-000036f0: 8099 2073 796e 7461 7820 7275 6c65 732e .. syntax rules.\n-00003700: 2020 5468 650a 7265 7375 6c74 696e 6720 The.resulting \n-00003710: e280 9854 696b 5a2f 5047 46e2 8099 206f ...TikZ/PGF... o\n-00003720: 7574 7075 7420 6973 0a20 205c 6265 6769 utput is. \\begi\n-00003730: 6e7b 7469 6b7a 7069 6374 7572 657d 5b6a n{tikzpicture}[j\n-00003740: 6f69 6e3d 726f 756e 645d 0a20 205c 6472 oin=round]. \\dr\n-00003750: 6177 5b64 6f74 7465 645d 282d 312c 2d31 aw[dotted](-1,-1\n-00003760: 292d 2d28 2e33 3333 2c2e 3333 3329 3b0a )--(.333,.333);.\n-00003770: 2020 5c66 696c 6c64 7261 775b 6669 6c6c \\filldraw[fill\n-00003780: 3d6c 6967 6874 6772 6179 2c6c 696e 6520 =lightgray,line \n-00003790: 7769 6474 683d 3370 745d 2830 2c30 292d width=3pt](0,0)-\n-000037a0: 2d28 312c 3029 2d2d 2830 2c31 292d 2d63 -(1,0)--(0,1)--c\n-000037b0: 7963 6c65 3b0a 2020 5c64 7261 775b 646f ycle;. \\draw[do\n-000037c0: 7474 6564 5d28 2e33 3333 2c2e 3333 3329 tted](.333,.333)\n-000037d0: 2d2d 2832 2c32 293b 0a20 205c 656e 647b --(2,2);. \\end{\n-000037e0: 7469 6b7a 7069 6374 7572 657d 0a54 6865 tikzpicture}.The\n-000037f0: 2072 656d 6169 6e69 6e67 2065 7861 6d70 remaining examp\n-00003800: 6c65 7320 6f66 2074 6869 7320 6d61 6e75 les of this manu\n-00003810: 616c 2061 7265 2069 6e20 5053 5472 6963 al are in PSTric\n-00003820: 6b73 2073 7479 6c65 2e0a 0a1f 0a46 696c ks style.....Fil\n-00003830: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-00003840: 204e 6f64 653a 2044 7261 7769 6e67 2061 Node: Drawing a\n-00003850: 2073 6f6c 6964 2c20 204e 6578 743a 2053 solid, Next: S\n-00003860: 7065 6369 616c 206f 626a 6563 7473 2c20 pecial objects, \n-00003870: 2050 7265 763a 2044 7261 7769 6e67 206f Prev: Drawing o\n-00003880: 7074 696f 6e73 2c20 2055 703a 2049 6e74 ptions, Up: Int\n-00003890: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa\n-000038a0: 6d70 6c65 0a0a 322e 3320 4472 6177 696e mple..2.3 Drawin\n-000038b0: 6720 6120 736f 6c69 640a 3d3d 3d3d 3d3d g a solid.======\n-000038c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a4c =============..L\n-000038d0: 6574 2773 2074 7279 2073 6f6d 6574 6869 et's try somethi\n-000038e0: 6e67 206d 6f72 6520 6578 6369 7469 6e67 ng more exciting\n-000038f0: 2e20 20e2 8098 536b 6574 6368 e280 9920 . ...Sketch... \n-00003900: 6861 7320 6e6f 206e 6f74 696f 6e20 6f66 has no notion of\n-00003910: 2061 2073 6f6c 6964 2c0a 6275 7420 706f a solid,.but po\n-00003920: 6c79 676f 6e61 6c20 e280 9c66 6163 6573 lygonal ...faces\n-00003930: e280 9d20 6361 6e20 6265 2075 7365 6420 ... can be used \n-00003940: 746f 2072 6570 7265 7365 6e74 2074 6865 to represent the\n-00003950: 2062 6f75 6e64 6172 7920 6f66 2061 2073 boundary of a s\n-00003960: 6f6c 6964 2e0a 546f 2074 6865 2070 7265 olid..To the pre\n-00003970: 7669 6f75 7320 6578 616d 706c 652c 206c vious example, l\n-00003980: 6574 2773 2061 6464 2074 6872 6565 206d et's add three m\n-00003990: 6f72 6520 7472 6961 6e67 756c 6172 2070 ore triangular p\n-000039a0: 6f6c 7967 6f6e 7320 746f 0a6d 616b 6520 olygons to.make \n-000039b0: 7468 6520 6661 6365 7320 6f66 2061 6e20 the faces of an \n-000039c0: 6972 7265 6775 6c61 7220 7465 7472 6168 irregular tetrah\n-000039d0: 6564 726f 6e2e 0a20 2025 2076 6572 7469 edron.. % verti\n-000039e0: 6365 7320 6f66 2074 6865 2074 6574 7261 ces of the tetra\n-000039f0: 6865 6472 6f6e 0a20 2064 6566 2070 3120 hedron. def p1 \n-00003a00: 2830 2c30 2c31 2920 6465 6620 7032 2028 (0,0,1) def p2 (\n-00003a10: 312c 302c 3029 0a20 2064 6566 2070 3320 1,0,0). def p3 \n-00003a20: 2830 2c31 2c30 2920 6465 6620 7034 2028 (0,1,0) def p4 (\n-00003a30: 2d2e 332c 2d2e 352c 2d2e 3829 0a0a 2020 -.3,-.5,-.8).. \n-00003a40: 2520 6661 6365 7320 6f66 2074 6865 2074 % faces of the t\n-00003a50: 6574 7261 6865 6472 6f6e 2e0a 2020 706f etrahedron.. po\n-00003a60: 6c79 676f 6e28 7031 2928 7032 2928 7033 lygon(p1)(p2)(p3\n-00003a70: 2920 2520 6f72 6967 696e 616c 2066 726f ) % original fro\n-00003a80: 6e74 2070 6f6c 7967 6f6e 0a20 2070 6f6c nt polygon. pol\n-00003a90: 7967 6f6e 2870 3129 2870 3429 2870 3229 ygon(p1)(p4)(p2)\n-00003aa0: 2025 2062 6f74 746f 6d0a 2020 706f 6c79 % bottom. poly\n-00003ab0: 676f 6e28 7031 2928 7033 2928 7034 2920 gon(p1)(p3)(p4) \n-00003ac0: 2520 6c65 6674 0a20 2070 6f6c 7967 6f6e % left. polygon\n-00003ad0: 2870 3329 2870 3229 2870 3429 2025 2072 (p3)(p2)(p4) % r\n-00003ae0: 6561 720a 0a20 2025 206c 696e 6520 746f ear.. % line to\n-00003af0: 2070 6965 7263 6520 7468 6520 7465 7472 pierce the tetr\n-00003b00: 6168 6564 726f 6e0a 2020 6c69 6e65 5b6c ahedron. line[l\n-00003b10: 696e 6563 6f6c 6f72 3d72 6564 5d28 2d31 inecolor=red](-1\n-00003b20: 2c2d 312c 2d31 2928 322c 322c 3229 0a54 ,-1,-1)(2,2,2).T\n-00003b30: 6869 7320 6578 616d 706c 6520 7573 6573 his example uses\n-00003b40: 20e2 809c 6465 6669 6e69 7469 6f6e 73e2 ...definitions.\n-00003b50: 809d 2c20 7768 6963 6820 6265 6769 6e20 .., which begin \n-00003b60: 7769 7468 20e2 8098 6465 66e2 8099 2e20 with ...def.... \n-00003b70: 2054 6865 7365 20e2 809c 6465 6669 6e65 These ...define\n-00003b80: e280 9d0a 6f72 2067 6976 6520 6e61 6d65 ....or give name\n-00003b90: 7320 746f 2070 6f69 6e74 732c 2077 6869 s to points, whi\n-00003ba0: 6368 2061 7265 2074 6865 6e20 6176 6169 ch are then avai\n-00003bb0: 6c61 626c 6520 6173 20e2 809c 7265 6665 lable as ...refe\n-00003bc0: 7265 6e63 6573 e280 9d20 6279 0a65 6e63 rences... by.enc\n-00003bd0: 6c6f 7369 6e67 2074 6865 206e 616d 6573 losing the names\n-00003be0: 2069 6e20 7061 7265 6e74 6865 7365 732c in parentheses,\n-00003bf0: 2065 2e67 2e20 2866 6f6f 292e 2020 5468 e.g. (foo). Th\n-00003c00: 6520 7061 7265 6e74 6865 7365 7320 6465 e parentheses de\n-00003c10: 6e6f 7465 0a74 6861 7420 7468 6520 6e61 note.that the na\n-00003c20: 6d65 7320 7265 6665 7220 746f 2070 6f69 mes refer to poi\n-00003c30: 6e74 733b 2074 6865 7920 6172 6520 7265 nts; they are re\n-00003c40: 7175 6972 6564 2e20 2054 6865 7265 2063 quired. There c\n-00003c50: 616e 2062 6520 6e6f 0a77 6869 7465 2073 an be no.white s\n-00003c60: 7061 6365 2062 6574 7765 656e 2074 6865 pace between the\n-00003c70: 6d20 616e 6420 7468 6520 6e61 6d65 2e0a m and the name..\n-00003c80: 0a20 2020 4173 2079 6f75 2063 616e 2073 . As you can s\n-00003c90: 6565 2c20 636f 6d6d 656e 7473 2073 7461 ee, comments sta\n-00003ca0: 7274 2077 6974 6820 2520 6173 2069 6e20 rt with % as in \n-00003cb0: 5465 5820 616e 6420 6578 7465 6e64 2074 TeX and extend t\n-00003cc0: 6f20 7468 6520 656e 640a 6f66 2074 6865 o the end.of the\n-00003cd0: 206c 696e 6520 2874 686f 7567 6820 2320 line (though # \n-00003ce0: 7769 6c6c 2077 6f72 6b20 6173 2077 656c will work as wel\n-00003cf0: 6c29 2e20 2057 6869 7465 2073 7061 6365 l). White space\n-00003d00: 2c20 696e 636c 7564 696e 670a 7370 6163 , including.spac\n-00003d10: 6573 2c20 7461 6273 2061 6e64 2062 6c61 es, tabs and bla\n-00003d20: 6e6b 206c 696e 6573 2c20 6861 7320 6e6f nk lines, has no\n-00003d30: 2065 6666 6563 7420 696e 2074 6865 20e2 effect in the .\n-00003d40: 8098 736b 6574 6368 e280 9920 6c61 6e67 ..sketch... lang\n-00003d50: 7561 6765 2e0a 0a00 085b 696d 6167 6520 uage.....[image \n-00003d60: 7372 633d 2265 7830 3430 2e70 6e67 2220 src=\"ex040.png\" \n-00003d70: 7465 7874 3d22 496d 6167 6520 6578 3034 text=\"Image ex04\n-00003d80: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex\n-00003d90: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi\n-00003da0: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document.\"..].\n-00003db0: 0a49 6620 7765 206c 6f6f 6b20 696e 7369 .If we look insi\n-00003dc0: 6465 2074 6865 2054 6558 2066 696c 6520 de the TeX file \n-00003dd0: 7072 6f64 7563 6564 2062 7920 e280 9873 produced by ...s\n-00003de0: 6b65 7463 68e2 8099 2c20 7468 6572 6520 ketch..., there \n-00003df0: 7769 6c6c 2062 6520 6f6e 6c79 0a74 6872 will be only.thr\n-00003e00: 6565 2070 6f6c 7967 6f6e 732e 2020 5468 ee polygons. Th\n-00003e10: 6520 666f 7572 7468 2068 6173 2062 6565 e fourth has bee\n-00003e20: 6e20 6375 6c6c 6564 2062 6563 6175 7365 n culled because\n-00003e30: 2069 7420 6973 2061 2022 6261 636b 2066 it is a \"back f\n-00003e40: 6163 6522 0a6f 6620 7468 6520 7465 7472 ace\".of the tetr\n-00003e50: 6168 6564 726f 6e2c 2069 6e76 6973 6962 ahedron, invisib\n-00003e60: 6c65 2074 6f20 6f75 7220 7669 6577 2e20 le to our view. \n-00003e70: 2049 7420 6973 2075 6e6e 6563 6573 7361 It is unnecessa\n-00003e80: 7279 2c20 616e 6420 736f 2069 740a 6973 ry, and so it.is\n-00003e90: 2072 656d 6f76 6564 2e0a 0a20 2020 496e removed... In\n-00003ea0: 2073 6f6d 6520 6472 6177 696e 6773 2c20 some drawings, \n-00003eb0: 706f 6c79 676f 6e73 2061 6374 2061 7320 polygons act as \n-00003ec0: 7a65 726f 2d74 6869 636b 6e65 7373 2073 zero-thickness s\n-00003ed0: 6f6c 6964 2073 7572 6661 6365 7320 7769 olid surfaces wi\n-00003ee0: 7468 0a62 6f74 6820 7369 6465 7320 7669 th.both sides vi\n-00003ef0: 7369 626c 6520 7261 7468 6572 2074 6861 sible rather tha\n-00003f00: 6e20 6173 2074 6865 2066 6163 6573 206f n as the faces o\n-00003f10: 6620 736f 6c69 6420 6f62 6a65 6374 732c f solid objects,\n-00003f20: 2077 6865 7265 2062 6163 6b0a 6661 6365 where back.face\n-00003f30: 7320 6361 6e20 6265 2063 756c 6c65 642e s can be culled.\n-00003f40: 2020 466f 7220 7a65 726f 2d74 6869 636b For zero-thick\n-00003f50: 6e65 7373 2073 6f6c 6964 732c 2063 756c ness solids, cul\n-00003f60: 6c69 6e67 2069 7320 6120 7072 6f62 6c65 ling is a proble\n-00003f70: 6d2e 0a4f 6e65 2073 6f6c 7574 696f 6e20 m..One solution \n-00003f80: 6973 2074 6f20 7573 6520 6120 7061 6972 is to use a pair\n-00003f90: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch...\n-00003fa0: 2070 6f6c 7967 6f6e 7320 666f 7220 6561 polygons for ea\n-00003fb0: 6368 0a7a 6572 6f2d 7468 6963 6b6e 6573 ch.zero-thicknes\n-00003fc0: 7320 6661 6365 2c20 6964 656e 7469 6361 s face, identica\n-00003fd0: 6c20 6578 6365 7074 2077 6974 6820 6f70 l except with op\n-00003fe0: 706f 7369 7465 2076 6572 7465 7820 6f72 posite vertex or\n-00003ff0: 6465 7273 2e20 2054 6869 730a 6973 2075 ders. This.is u\n-00004000: 6e77 6965 6c64 7920 616e 6420 6578 7065 nwieldy and expe\n-00004010: 6e73 6976 652e 2020 4120 6265 7474 6572 nsive. A better\n-00004020: 2077 6179 2069 7320 746f 2073 6574 2074 way is to set t\n-00004030: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... \n-00004040: 696e 7465 726e 616c 0a6f 7074 696f 6e20 internal.option \n-00004050: e280 9863 756c 6ce2 8099 2074 6f20 e280 ...cull... to ..\n-00004060: 9866 616c 7365 e280 9920 696e 2074 6865 .false... in the\n-00004070: 2075 7375 616c 20e2 8098 5053 5472 6963 usual ...PSTric\n-00004080: 6b73 e280 9920 6d61 6e6e 6572 2e0a 2020 ks... manner.. \n-00004090: 706f 6c79 676f 6e5b 6375 6c6c 3d66 616c polygon[cull=fal\n-000040a0: 7365 5d28 7031 2928 7032 2928 7033 290a se](p1)(p2)(p3).\n-000040b0: 5468 6520 666f 6c6c 6f77 696e 6720 7368 The following sh\n-000040c0: 6f77 7320 7468 6520 7361 6d65 2068 656c ows the same hel\n-000040d0: 6978 2073 6861 7065 2064 7261 776e 2066 ix shape drawn f\n-000040e0: 6972 7374 2077 6974 6820 6375 6c6c 3d74 irst with cull=t\n-000040f0: 7275 6520 2874 6865 0a64 6566 6175 6c74 rue (the.default\n-00004100: 2920 616e 6420 7468 656e 2063 756c 6c3d ) and then cull=\n-00004110: 6661 6c73 652e 0a0a 0008 5b69 6d61 6765 false.....[image\n-00004120: 2073 7263 3d22 6578 3034 352e 706e 6722 src=\"ex045.png\"\n-00004130: 2074 6578 743d 2249 6d61 6765 2065 7830 text=\"Image ex0\n-00004140: 3435 206f 6d69 7474 6564 2069 6e20 7465 45 omitted in te\n-00004150: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th\n-00004160: 6973 2064 6f63 756d 656e 742e 2200 085d is document.\"..]\n-00004170: 0a0a 5765 276c 6c20 736f 6f6e 2073 6565 ..We'll soon see\n-00004180: 2068 6f77 2074 6f20 7072 6f64 7563 6520 how to produce \n-00004190: 7468 6573 6520 6865 6c69 7865 7320 7769 these helixes wi\n-000041a0: 7468 2061 2066 6577 206c 696e 6573 206f th a few lines o\n-000041b0: 6620 e280 9873 6b65 7463 68e2 8099 0a6c f ...sketch....l\n-000041c0: 616e 6775 6167 6520 636f 6465 2e0a 0a20 anguage code... \n-000041d0: 2020 4974 206d 6179 2062 6520 7465 6d70 It may be temp\n-000041e0: 7469 6e67 2074 6f20 7475 726e 2063 756c ting to turn cul\n-000041f0: 6c69 6e67 206f 6666 2067 7261 7475 6974 ling off gratuit\n-00004200: 6f75 736c 7920 736f 2074 6861 7420 7665 ously so that ve\n-00004210: 7274 6578 0a6f 7264 6572 2063 616e 2062 rtex.order can b\n-00004220: 6520 6967 6e6f 7265 642e 2020 5468 6973 e ignored. This\n-00004230: 2069 7320 6e6f 7420 6120 676f 6f64 2069 is not a good i\n-00004240: 6465 6120 6265 6361 7573 6520 6f75 7470 dea because outp\n-00004250: 7574 2066 696c 6520 7369 7a65 0a61 6e64 ut file size.and\n-00004260: 2054 6558 2061 6e64 2050 6f73 7473 6372 TeX and Postscr\n-00004270: 6970 7420 7072 6f63 6573 7369 6e67 2074 ipt processing t\n-00004280: 696d 6520 626f 7468 2064 6570 656e 6420 ime both depend \n-00004290: 6f6e 2074 6865 206e 756d 6265 7220 6f66 on the number of\n-000042a0: 0a6f 7574 7075 7420 706f 6c79 676f 6e73 .output polygons\n-000042b0: 2e20 2043 756c 6c69 6e67 2075 7375 616c . Culling usual\n-000042c0: 6c79 2069 6d70 726f 7665 7320 7065 7266 ly improves perf\n-000042d0: 6f72 6d61 6e63 6520 6279 2061 2066 6163 ormance by a fac\n-000042e0: 746f 7220 6f66 0a74 776f 2e20 204f 6e20 tor of.two. On \n-000042f0: 7468 6520 6f74 6865 7220 6861 6e64 2c20 the other hand, \n-00004300: 676c 6f62 616c 6c79 2073 6574 7469 6e67 globally setting\n-00004310: 20e2 8098 6375 6c6c 3d66 616c 7365 e280 ...cull=false..\n-00004320: 9920 6973 2072 6561 736f 6e61 626c 650a . is reasonable.\n-00004330: 7768 696c 6520 6465 6275 6767 696e 672e while debugging.\n-00004340: 2020 5365 6520 2a6e 6f74 6520 476c 6f62 See *note Glob\n-00004350: 616c 206f 7074 696f 6e73 3a3a 2061 6e64 al options:: and\n-00004360: 202a 6e6f 7465 204c 696d 6974 7320 6f6e *note Limits on\n-00004370: 2065 7272 6f72 0a64 6574 6563 7469 6f6e error.detection\n-00004380: 3a3a 2e0a 0a1f 0a46 696c 653a 2073 6b65 ::.....File: ske\n-00004390: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n-000043a0: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects\n-000043b0: 2c20 204e 6578 743a 204f 626a 6563 7420 , Next: Object \n-000043c0: 7472 616e 7366 6f72 6d73 2c20 2050 7265 transforms, Pre\n-000043d0: 763a 2044 7261 7769 6e67 2061 2073 6f6c v: Drawing a sol\n-000043e0: 6964 2c20 2055 703a 2049 6e74 726f 6475 id, Up: Introdu\n-000043f0: 6374 696f 6e20 6279 2065 7861 6d70 6c65 ction by example\n-00004400: 0a0a 322e 3420 5370 6563 6961 6c20 6f62 ..2.4 Special ob\n-00004410: 6a65 6374 730a 3d3d 3d3d 3d3d 3d3d 3d3d jects.==========\n-00004420: 3d3d 3d3d 3d3d 3d3d 3d0a 0a57 6520 6361 =========..We ca\n-00004430: 6e20 6164 6420 6c61 6265 6c73 2074 6f20 n add labels to \n-00004440: 6120 6472 6177 696e 6720 6279 2075 7369 a drawing by usi\n-00004450: 6e67 2073 7065 6369 616c 206f 626a 6563 ng special objec\n-00004460: 7473 2c20 7768 6963 6820 7072 6f76 6964 ts, which provid\n-00004470: 6520 610a 7761 7920 746f 2065 6d62 6564 e a.way to embed\n-00004480: 2072 6177 204c 6154 6558 2061 6e64 20e2 raw LaTeX and .\n-00004490: 8098 5053 5472 6963 6b73 e280 9920 636f ..PSTricks... co\n-000044a0: 6465 2e20 2041 6464 696e 6720 7468 6973 de. Adding this\n-000044b0: 2074 6f20 7468 650a 7465 7472 6168 6564 to the.tetrahed\n-000044c0: 726f 6e20 646f 6573 2074 6865 2074 7269 ron does the tri\n-000044d0: 636b 2e0a 2020 7370 6563 6961 6c20 7c5c ck.. special |\\\n-000044e0: 666f 6f74 6e6f 7465 7369 7a65 0a20 2020 footnotesize. \n-000044f0: 2020 2020 2020 2020 5c75 7075 747b 3270 \\uput{2p\n-00004500: 747d 5b75 725d 2331 7b24 5031 247d 0a20 t}[ur]#1{$P1$}. \n-00004510: 2020 2020 2020 2020 2020 5c75 7075 745b \\uput[\n-00004520: 725d 2332 7b24 5032 247d 0a20 2020 2020 r]#2{$P2$}. \n-00004530: 2020 2020 2020 5c75 7075 745b 755d 2333 \\uput[u]#3\n-00004540: 7b24 5033 247d 0a20 2020 2020 2020 2020 {$P3$}. \n-00004550: 2020 5c75 7075 745b 645d 2334 7b24 5034 \\uput[d]#4{$P4\n-00004560: 247d 7c0a 2020 2020 2870 3129 2870 3229 $}|. (p1)(p2)\n-00004570: 2870 3329 2870 3429 0a48 6572 6520 6973 (p3)(p4).Here is\n-00004580: 2074 6865 2072 6573 756c 742e 0a0a 0008 the result.....\n-00004590: 5b69 6d61 6765 2073 7263 3d22 6578 3034 [image src=\"ex04\n-000045a0: 322e 706e 6722 2074 6578 743d 2249 6d61 2.png\" text=\"Ima\n-000045b0: 6765 2065 7830 3432 206f 6d69 7474 6564 ge ex042 omitted\n-000045c0: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n-000045d0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n-000045e0: 742e 2200 085d 0a0a 2020 2054 6865 7265 t.\"..].. There\n-000045f0: 2061 7265 2073 6576 6572 616c 2064 6574 are several det\n-00004600: 6169 6c73 2074 6f20 6e6f 7465 2068 6572 ails to note her\n-00004610: 652e 2020 4669 7273 742c 2074 6865 2071 e. First, the q\n-00004620: 756f 7469 6e67 0a63 6f6e 7665 6e74 696f uoting.conventio\n-00004630: 6e20 666f 7220 7468 6520 7261 7720 636f n for the raw co\n-00004640: 6465 2069 7320 7369 6d69 6c61 7220 746f de is similar to\n-00004650: 2074 6865 204c 6154 6558 205c 7665 7262 the LaTeX \\verb\n-00004660: 2063 6f6d 6d61 6e64 2e20 2054 6865 0a66 command. The.f\n-00004670: 6972 7374 206e 6f6e 2d77 6869 7465 2073 irst non-white s\n-00004680: 7061 6365 2063 6861 7261 6374 6572 2066 pace character f\n-00004690: 6f6c 6c6f 7769 6e67 2073 7065 6369 616c ollowing special\n-000046a0: 2069 7320 756e 6465 7273 746f 6f64 2074 is understood t\n-000046b0: 6f20 6265 0a74 6865 2071 756f 7465 2063 o be.the quote c\n-000046c0: 6861 7261 6374 6572 2c20 696e 2074 6869 haracter, in thi\n-000046d0: 7320 6361 7365 20e2 8098 7ce2 8099 2e20 s case ...|.... \n-000046e0: 2054 6865 2072 6177 2074 6578 7420 636f The raw text co\n-000046f0: 6e74 696e 7565 7320 756e 7469 6c0a 7468 ntinues until.th\n-00004700: 6973 2063 6861 7261 6374 6572 2072 6563 is character rec\n-00004710: 7572 732e 0a0a 2020 2053 6563 6f6e 642c urs... Second,\n-00004720: 2074 6865 2061 7267 756d 656e 7420 7265 the argument re\n-00004730: 6665 7265 6e63 6573 2023 312c 2023 322c ferences #1, #2,\n-00004740: 2023 332c 2061 6e64 2023 3420 7265 6665 #3, and #4 refe\n-00004750: 7220 746f 2070 6f69 6e74 2c0a 7665 6374 r to point,.vect\n-00004760: 6f72 2c20 6f72 2073 6361 6c61 7220 7661 or, or scalar va\n-00004770: 6c75 6573 2069 6e20 7468 6520 6c69 7374 lues in the list\n-00004780: 2074 6861 7420 666f 6c6c 6f77 2e20 2054 that follow. T\n-00004790: 6869 7320 6973 2073 696d 696c 6172 2074 his is similar t\n-000047a0: 6f0a 5465 5820 6d61 6372 6f20 7379 6e74 o.TeX macro synt\n-000047b0: 6178 2e20 2054 6865 2074 7261 6e73 666f ax. The transfo\n-000047c0: 726d 6564 2061 6e64 2074 776f 2d64 696d rmed and two-dim\n-000047d0: 656e 7369 6f6e 616c 2070 726f 6a65 6374 ensional project\n-000047e0: 696f 6e73 206f 660a 7468 6573 6520 7468 ions of.these th\n-000047f0: 7265 652d 6469 6d65 6e73 696f 6e61 6c20 ree-dimensional \n-00004800: 706f 696e 7473 2061 7265 2073 7562 7374 points are subst\n-00004810: 6974 7574 6564 2069 6e20 7468 6520 6669 ituted in the fi\n-00004820: 6e61 6c20 6f75 7470 7574 2e20 2041 6e0a nal output. An.\n-00004830: 6172 6775 6d65 6e74 2072 6566 6572 656e argument referen\n-00004840: 6365 206f 6620 7468 6520 666f 726d 2023 ce of the form #\n-00004850: 312d 3220 6973 2072 6570 6c61 6365 6420 1-2 is replaced \n-00004860: 7769 7468 2074 6865 2061 6e67 6c65 2069 with the angle i\n-00004870: 6e0a 6465 6772 6565 7320 6f66 2074 6865 n.degrees of the\n-00004880: 2074 776f 2d64 696d 656e 7369 6f6e 616c two-dimensional\n-00004890: 2076 6563 746f 7220 7468 6174 2063 6f6e vector that con\n-000048a0: 6e65 6374 7320 7468 6520 7072 6f6a 6563 nects the projec\n-000048b0: 7469 6f6e 7320 6f66 0a74 6865 2074 776f tions of.the two\n-000048c0: 2072 6573 7065 6374 6976 6520 6172 6775 respective argu\n-000048d0: 6d65 6e74 2070 6f69 6e74 732c 2068 6572 ment points, her\n-000048e0: 6520 2331 2061 6e64 2023 322e 2020 5468 e #1 and #2. Th\n-000048f0: 6520 7375 6273 7469 7475 7465 640a 616e e substituted.an\n-00004900: 676c 6520 6973 2065 6e63 6c6f 7365 6420 gle is enclosed \n-00004910: 696e 2063 7572 6c79 2062 7261 6365 7320 in curly braces \n-00004920: e280 987b 207d e280 992e 2020 5768 656e ...{ }.... When\n-00004930: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... \n-00004940: 6f75 7470 7574 2069 730a 6265 696e 6720 output is.being \n-00004950: 6765 6e65 7261 7465 642c 2074 6865 2061 generated, the a\n-00004960: 6e67 6c65 2069 7320 726f 756e 6465 6420 ngle is rounded \n-00004970: 746f 2074 6865 206e 6561 7265 7374 2064 to the nearest d\n-00004980: 6567 7265 6520 6265 6361 7573 650a 6e6f egree because.no\n-00004990: 6e2d 696e 7465 6765 7220 616e 676c 6573 n-integer angles\n-000049a0: 2061 7265 206e 6f74 2061 6c6c 6f77 6564 are not allowed\n-000049b0: 2062 7920 e280 9854 696b 5a2f 5047 46e2 by ...TikZ/PGF.\n-000049c0: 8099 2070 7269 6d69 7469 7665 732e 0a0a .. primitives...\n-000049d0: 2020 2041 7320 6f66 2056 6572 7369 6f6e As of Version\n-000049e0: 2030 2e33 206f 6620 e280 9873 6b65 7463 0.3 of ...sketc\n-000049f0: 68e2 8099 2c20 7370 6563 6961 6c20 6172 h..., special ar\n-00004a00: 6775 6d65 6e74 7320 6d61 7920 6265 2073 guments may be s\n-00004a10: 6361 6c61 7273 206f 720a 7665 6374 6f72 calars or.vector\n-00004a20: 7320 696e 2061 6464 6974 696f 6e20 746f s in addition to\n-00004a30: 2070 6f69 6e74 732e 2020 5265 6665 7265 points. Refere\n-00004a40: 6e63 6573 2074 6f20 7363 616c 6172 2061 nces to scalar a\n-00004a50: 7267 756d 656e 7473 2061 7265 0a6d 6572 rguments are.mer\n-00004a60: 656c 7920 7265 706c 6163 6564 2077 6974 ely replaced wit\n-00004a70: 6820 6120 6e75 6d62 6572 2066 6f72 6d61 h a number forma\n-00004a80: 7474 6564 206a 7573 7420 6173 2061 6e79 tted just as any\n-00004a90: 2070 6f69 6e74 2063 6f6f 7264 696e 6174 point coordinat\n-00004aa0: 652e 0a52 6566 6572 656e 6365 7320 746f e..References to\n-00004ab0: 2076 6563 746f 7273 2062 6563 6f6d 6520 vectors become \n-00004ac0: 7477 6f2d 6469 6d65 6e73 696f 6e61 6c20 two-dimensional \n-00004ad0: 706f 696e 7473 2e20 2054 6865 2074 6963 points. The tic\n-00004ae0: 6b20 6f70 6572 6174 6f72 0a74 6861 7420 k operator.that \n-00004af0: 7365 6c65 6374 7320 696e 6469 7669 6475 selects individu\n-00004b00: 616c 2063 6f6d 706f 6e65 6e74 7320 6f66 al components of\n-00004b10: 2070 6f69 6e74 7320 616e 6420 7665 6374 points and vect\n-00004b20: 6f72 7320 656c 7365 7768 6572 6520 696e ors elsewhere in\n-00004b30: 0ae2 8098 736b 6574 6368 e280 9920 2873 ....sketch... (s\n-00004b40: 6565 2066 6f72 2065 7861 6d70 6c65 202a ee for example *\n-00004b50: 6e6f 7465 2041 6666 696e 6520 6172 6974 note Affine arit\n-00004b60: 686d 6574 6963 3a3a 2920 6361 6e20 616c hmetic::) can al\n-00004b70: 736f 2062 6520 6170 706c 6965 640a 746f so be applied.to\n-00004b80: 2070 6f69 6e74 2061 6e64 2076 6563 746f point and vecto\n-00004b90: 7220 6172 6775 6d65 6e74 2072 6566 6572 r argument refer\n-00004ba0: 656e 6365 732e 2020 416c 6c20 7468 7265 ences. All thre\n-00004bb0: 6520 6469 6d65 6e73 696f 6e73 206f 6620 e dimensions of \n-00004bc0: 610a 7472 616e 7366 6f72 6d65 6420 706f a.transformed po\n-00004bd0: 696e 7420 6f72 2076 6563 746f 7220 6361 int or vector ca\n-00004be0: 6e20 616c 736f 2062 6520 7375 6273 7469 n also be substi\n-00004bf0: 7475 6564 2077 6974 6820 e280 9827 33e2 tued with ...'3.\n-00004c00: 8099 2e20 2053 6565 202a 6e6f 7465 0a53 ... See *note.S\n-00004c10: 7065 6369 616c 733a 3a20 666f 7220 6465 pecials:: for de\n-00004c20: 7461 696c 732e 0a0a 2020 2042 7920 6465 tails... By de\n-00004c30: 6661 756c 742c 20e2 8098 7370 6563 6961 fault, ...specia\n-00004c40: 6ce2 8099 206f 626a 6563 7473 2061 7265 l... objects are\n-00004c50: 2070 7269 6e74 6564 206c 6173 742c 206f printed last, o\n-00004c60: 7665 726c 6179 696e 6720 616c 6c20 6f74 verlaying all ot\n-00004c70: 6865 720a 6f62 6a65 6374 7320 696e 2074 her.objects in t\n-00004c80: 6865 2073 6365 6e65 2e20 2049 6620 796f he scene. If yo\n-00004c90: 7520 7370 6563 6966 7920 7468 6520 696e u specify the in\n-00004ca0: 7465 726e 616c 206f 7074 696f 6e20 e280 ternal option ..\n-00004cb0: 986c 6179 3d69 6ee2 8099 2c20 7468 650a .lay=in..., the.\n-00004cc0: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a\n-00004cd0: 6c67 6f72 6974 686d 2063 6f6e 7369 6465 lgorithm conside\n-00004ce0: 7273 2074 6865 2065 6e74 6972 6520 7370 rs the entire sp\n-00004cf0: 6563 6961 6c20 6f62 6a65 6374 2074 6f20 ecial object to \n-00004d00: 6265 2074 6865 0a66 6972 7374 2070 6f69 be the.first poi\n-00004d10: 6e74 2028 2331 2920 696e 2074 6865 2061 nt (#1) in the a\n-00004d20: 7267 756d 656e 7420 6c69 7374 2e20 2049 rgument list. I\n-00004d30: 6620 7468 6174 2070 6f69 6e74 2069 7320 f that point is \n-00004d40: 6265 6869 6e64 2028 6f66 0a73 6d61 6c6c behind (of.small\n-00004d50: 6572 207a 2d63 6f6d 706f 6e65 6e74 2074 er z-component t\n-00004d60: 6861 6e29 2061 6e79 2064 7261 7761 626c han) any drawabl\n-00004d70: 652c 2074 6865 6e20 7468 6520 656e 7469 e, then the enti\n-00004d80: 7265 2073 7065 6369 616c 206f 626a 6563 re special objec\n-00004d90: 740a 6973 2064 7261 776e 2062 6566 6f72 t.is drawn befor\n-00004da0: 6520 7468 6174 2064 7261 7761 626c 652c e that drawable,\n-00004db0: 2073 6f20 7468 6520 6472 6177 6162 6c65 so the drawable\n-00004dc0: 206f 6273 6375 7265 7320 7061 7274 7320 obscures parts \n-00004dd0: 6f66 2074 6865 0a73 7065 6369 616c 206f of the.special o\n-00004de0: 626a 6563 7420 7468 6174 206f 7665 726c bject that overl\n-00004df0: 6170 7320 6974 2e20 2049 6e20 6f75 7220 aps it. In our \n-00004e00: 6578 616d 706c 652c 2070 3120 6973 2074 example, p1 is t\n-00004e10: 6865 2066 726f 6e74 2d6d 6f73 740a 706f he front-most.po\n-00004e20: 696e 7420 696e 2074 6865 2073 6365 6e65 int in the scene\n-00004e30: 2028 6861 7320 7468 6520 6c61 7267 6573 (has the larges\n-00004e40: 7420 7a2d 636f 6d70 6f6e 656e 7429 2c20 t z-component), \n-00004e50: 736f 2061 6464 696e 6720 e280 986c 6179 so adding ...lay\n-00004e60: 3d69 6ee2 8099 2068 6173 0a6e 6f20 6566 =in... has.no ef\n-00004e70: 6665 6374 2e0a 0a20 2020 5769 7468 206f fect... With o\n-00004e80: 7074 696f 6e20 e280 986c 6179 3d75 6e64 ption ...lay=und\n-00004e90: 6572 e280 992c 2061 2073 7065 6369 616c er..., a special\n-00004ea0: 2069 7320 6472 6177 6e20 5f62 6566 6f72 is drawn _befor\n-00004eb0: 655f 2c20 6865 6e63 6520 6170 7065 6172 e_, hence appear\n-00004ec0: 730a 5f75 6e64 6572 5f20 616e 7920 6f66 s._under_ any of\n-00004ed0: 2074 6865 206f 626a 6563 7473 2068 616e the objects han\n-00004ee0: 646c 6564 2062 7920 7468 6520 6869 6464 dled by the hidd\n-00004ef0: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor\n-00004f00: 6974 686d 2e0a 5468 6973 2069 7320 686f ithm..This is ho\n-00004f10: 7720 7468 6520 6c69 6768 7420 6772 6179 w the light gray\n-00004f20: 2061 7865 7320 7765 7265 2061 6464 6564 axes were added\n-00004f30: 2074 6f20 7468 6520 2268 656c 6c6f 2077 to the \"hello w\n-00004f40: 6f72 6c64 2220 6578 616d 706c 650a 2a6e orld\" example.*n\n-00004f50: 6f74 6520 4865 6c6c 6f20 776f 726c 643a ote Hello world:\n-00004f60: 3a2e 0a0a 2020 2053 7065 6369 616c 206f :... Special o\n-00004f70: 626a 6563 7473 2061 7265 2070 6f77 6572 bjects are power\n-00004f80: 6675 6c2c 2077 6974 6820 6d61 6e79 2070 ful, with many p\n-00004f90: 6f73 7369 626c 6520 7573 6573 2e0a 0a1f ossible uses....\n-00004fa0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00004fb0: 666f 2c20 204e 6f64 653a 204f 626a 6563 fo, Node: Objec\n-00004fc0: 7420 7472 616e 7366 6f72 6d73 2c20 204e t transforms, N\n-00004fd0: 6578 743a 2052 6570 6561 7465 6420 6f62 ext: Repeated ob\n-00004fe0: 6a65 6374 732c 2020 5072 6576 3a20 5370 jects, Prev: Sp\n-00004ff0: 6563 6961 6c20 6f62 6a65 6374 732c 2020 ecial objects, \n-00005000: 5570 3a20 496e 7472 6f64 7563 7469 6f6e Up: Introduction\n-00005010: 2062 7920 6578 616d 706c 650a 0a32 2e35 by example..2.5\n-00005020: 2054 7261 6e73 666f 726d 730a 3d3d 3d3d Transforms.====\n-00005030: 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 4e6f 7720 ==========..Now \n-00005040: 6c65 7427 7320 6164 6420 6120 7365 636f let's add a seco\n-00005050: 6e64 2063 6f70 7920 6f66 2074 6865 2070 nd copy of the p\n-00005060: 6965 7263 6564 2074 6574 7261 6865 6472 ierced tetrahedr\n-00005070: 6f6e 2e20 2057 6527 6c6c 2072 6f74 6174 on. We'll rotat\n-00005080: 650a 7468 6520 636f 7079 2039 3020 6465 e.the copy 90 de\n-00005090: 6772 6565 7320 6162 6f75 7420 7468 6520 grees about the \n-000050a0: 782d 6178 6973 2077 6974 6820 7468 6520 x-axis with the \n-000050b0: 6f72 6967 696e 2061 7320 e280 9c63 656e origin as ...cen\n-000050c0: 7465 7220 6f66 0a72 6f74 6174 696f 6ee2 ter of.rotation.\n-000050d0: 809d 2073 6f20 7765 2063 616e 2073 6565 .. so we can see\n-000050e0: 2074 6865 2062 6163 6b2c 2074 6865 6e20 the back, then \n-000050f0: 7472 616e 736c 6174 6520 6974 2074 6f20 translate it to \n-00005100: 7468 6520 7269 6768 742d 2d69 6e20 7468 the right--in th\n-00005110: 650a 706f 7369 7469 7665 2078 2d64 6972 e.positive x-dir\n-00005120: 6563 7469 6f6e 2d2d 736f 2069 7420 646f ection--so it do\n-00005130: 6573 6e27 7420 636f 6c6c 6964 6520 7769 esn't collide wi\n-00005140: 7468 2074 6865 206f 7269 6769 6e61 6c2e th the original.\n-00005150: 2020 546f 2068 656c 700a 7573 2073 6565 To help.us see\n-00005160: 2077 6861 7427 7320 676f 696e 6720 6f6e what's going on\n-00005170: 2c20 6d61 6b65 2074 6865 2062 6163 6b20 , make the back \n-00005180: 7369 6465 2067 7261 792e 0a20 2064 6566 side gray.. def\n-00005190: 2070 6965 7263 6564 5f74 6574 7261 6865 pierced_tetrahe\n-000051a0: 6472 6f6e 207b 0a20 2020 2064 6566 2070 dron {. def p\n-000051b0: 3120 2830 2c30 2c31 2920 6465 6620 7032 1 (0,0,1) def p2\n-000051c0: 2028 312c 302c 3029 0a20 2020 2064 6566 (1,0,0). def\n-000051d0: 2070 3320 2830 2c31 2c30 2920 6465 6620 p3 (0,1,0) def \n-000051e0: 7034 2028 2d2e 332c 2d2e 352c 2d2e 3829 p4 (-.3,-.5,-.8)\n-000051f0: 0a20 2020 2070 6f6c 7967 6f6e 2870 3129 . polygon(p1)\n-00005200: 2870 3229 2870 3329 2020 2020 2020 2020 (p2)(p3) \n-00005210: 2020 2020 2020 2020 2020 2020 2020 2520 % \n-00005220: 6f72 6967 696e 616c 0a20 2020 2070 6f6c original. pol\n-00005230: 7967 6f6e 2870 3129 2870 3429 2870 3229 ygon(p1)(p4)(p2)\n+000021c0: 3d3d 3d3d 3d3d 3d3d 3d0a 0a54 6865 2067 =========..The g\n+000021d0: 726f 7570 2068 7474 703a 2f2f 6772 6f75 roup http://grou\n+000021e0: 7073 2e67 6f6f 676c 652e 636f 6d2f 6772 ps.google.com/gr\n+000021f0: 6f75 702f 736b 6574 6368 2d75 7365 7273 oup/sketch-users\n+00002200: 2069 7320 7468 6520 6265 7374 2070 6c61 is the best pla\n+00002210: 6365 0a74 6f20 7265 706f 7274 2062 7567 ce.to report bug\n+00002220: 7320 616e 6420 6d61 6b65 2069 6d70 726f s and make impro\n+00002230: 7665 6d65 6e74 732e 2020 4120 7365 636f vements. A seco\n+00002240: 6e64 206d 6574 686f 6420 7468 6174 2077 nd method that w\n+00002250: 696c 6c0a 7072 6f62 6162 6c79 2070 726f ill.probably pro\n+00002260: 6475 6365 2061 2073 6c6f 7765 7220 7265 duce a slower re\n+00002270: 7370 6f6e 7365 2069 7320 656d 6169 6c20 sponse is email \n+00002280: 746f 2073 6b65 7463 6840 6672 6f6e 7469 to sketch@fronti\n+00002290: 6572 6e65 742e 6e65 742e 0a57 6520 7769 ernet.net..We wi\n+000022a0: 6c6c 2074 7279 2074 6f20 7265 7370 6f6e ll try to respon\n+000022b0: 642c 2062 7574 2063 616e 2774 2070 726f d, but can't pro\n+000022c0: 6d69 7365 2e20 2049 6e20 616e 7920 6576 mise. In any ev\n+000022d0: 656e 742c 2064 6f6e 2774 2062 650a 6f66 ent, don't be.of\n+000022e0: 6665 6e64 6564 2069 6620 6120 7265 706c fended if a repl\n+000022f0: 7920 6973 206e 6f74 2066 6f72 7468 636f y is not forthco\n+00002300: 6d69 6e67 2e20 2057 6527 7265 206a 7573 ming. We're jus\n+00002310: 7420 6275 7379 2061 6e64 2077 696c 6c20 t busy and will \n+00002320: 6765 7420 746f 0a79 6f75 7220 7375 6767 get to.your sugg\n+00002330: 6573 7469 6f6e 2065 7665 6e74 7561 6c6c estion eventuall\n+00002340: 792e 0a0a 2020 2046 6f72 2062 7567 732c y... For bugs,\n+00002350: 2061 7474 6163 6820 6120 e280 9873 6b65 attach a ...ske\n+00002360: 7463 68e2 8099 2069 6e70 7574 2066 696c tch... input fil\n+00002370: 6520 7468 6174 2063 6175 7365 7320 7468 e that causes th\n+00002380: 6520 6261 6420 6265 6861 7669 6f72 2e0a e bad behavior..\n+00002390: 456d 6265 6420 636f 6d6d 656e 7473 2074 Embed comments t\n+000023a0: 6861 7420 6578 706c 6169 6e20 7768 6174 hat explain what\n+000023b0: 2074 6f20 6c6f 6f6b 2066 6f72 2069 6e20 to look for in \n+000023c0: 7468 6520 6265 6861 7669 6f72 206f 6620 the behavior of \n+000023d0: e280 9873 6b65 7463 68e2 8099 0a6f 7220 ...sketch....or \n+000023e0: 6974 7320 6f75 7470 7574 2e0a 0a20 2020 its output... \n+000023f0: 4120 7265 636f 6d6d 656e 6461 7469 6f6e A recommendation\n+00002400: 2066 6f72 2069 6d70 726f 7665 6d65 6e74 for improvement\n+00002410: 2066 726f 6d20 6f6e 6520 756e 6b6e 6f77 from one unknow\n+00002420: 6e20 7065 7273 6f6e 2063 6f75 6e74 7320 n person counts \n+00002430: 6173 0a6f 6e65 2076 6f74 652e 2020 5765 as.one vote. We\n+00002440: 2075 7365 206f 7665 7261 6c6c 2076 6f74 use overall vot\n+00002450: 6520 7461 6c6c 6965 7320 746f 2064 6563 e tallies to dec\n+00002460: 6964 6520 7768 6174 2074 6f20 646f 206e ide what to do n\n+00002470: 6578 7420 6173 0a72 6573 6f75 7263 6573 ext as.resources\n+00002480: 2070 6572 6d69 742e 2020 5765 2072 6573 permit. We res\n+00002490: 6572 7665 2074 6865 2072 6967 6874 2074 erve the right t\n+000024a0: 6f20 6173 7369 676e 2061 6e79 206e 756d o assign any num\n+000024b0: 6265 7220 6f66 2076 6f74 6573 2074 6f0a ber of votes to.\n+000024c0: 7375 6767 6573 7469 6f6e 7320 6672 6f6d suggestions from\n+000024d0: 2070 656f 706c 6520 7768 6f20 6861 7665 people who have\n+000024e0: 2062 6565 6e20 6865 6c70 6675 6c20 616e been helpful an\n+000024f0: 6420 7375 7070 6f72 7469 7665 2069 6e20 d supportive in \n+00002500: 7468 650a 7061 7374 2e0a 0a1f 0a46 696c the.past.....Fil\n+00002510: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n+00002520: 204e 6f64 653a 2043 6f6e 7472 6962 7574 Node: Contribut\n+00002530: 696f 6e73 2c20 2050 7265 763a 2052 6570 ions, Prev: Rep\n+00002540: 6f72 7469 6e67 2062 7567 732c 2020 5570 orting bugs, Up\n+00002550: 3a20 4162 6f75 7420 736b 6574 6368 0a0a : About sketch..\n+00002560: 312e 3220 436f 6e74 7269 6275 7469 6f6e 1.2 Contribution\n+00002570: 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d s.==============\n+00002580: 3d3d 3d0a 0a49 6620 796f 7520 696e 7465 ===..If you inte\n+00002590: 6e64 2074 6f20 696d 706c 656d 656e 7420 nd to implement \n+000025a0: 616e 2065 6e68 616e 6365 6d65 6e74 206f an enhancement o\n+000025b0: 6620 796f 7572 206f 776e 2c20 7468 6174 f your own, that\n+000025c0: 2773 2074 6572 7269 6669 6321 0a43 6f6e 's terrific!.Con\n+000025d0: 7369 6465 7220 636f 6c6c 6162 6f72 6174 sider collaborat\n+000025e0: 696e 6720 7769 7468 2075 7320 6669 7273 ing with us firs\n+000025f0: 7420 746f 2073 6565 2069 6620 7765 2772 t to see if we'r\n+00002600: 6520 616c 7265 6164 7920 776f 726b 696e e already workin\n+00002610: 6720 6f6e 0a79 6f75 7220 6964 6561 206f g on.your idea o\n+00002620: 7220 6966 2077 6520 6361 6e20 7573 6520 r if we can use \n+00002630: 796f 7572 2077 6f72 6b20 696e 2074 6865 your work in the\n+00002640: 206f 6666 6963 6961 6c20 7265 6c65 6173 official releas\n+00002650: 652e 0a0a 0008 5b69 6d61 6765 2073 7263 e.....[image src\n+00002660: 3d22 6578 3030 302e 706e 6722 2074 6578 =\"ex000.png\" tex\n+00002670: 743d 2249 6d61 6765 2065 7830 3030 206f t=\"Image ex000 o\n+00002680: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n+00002690: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n+000026a0: 6f63 756d 656e 742e 2200 085d 0a0a 1f0a ocument.\"..]....\n+000026b0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+000026c0: 6f2c 2020 4e6f 6465 3a20 496e 7472 6f64 o, Node: Introd\n+000026d0: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl\n+000026e0: 652c 2020 4e65 7874 3a20 496e 7075 7420 e, Next: Input \n+000026f0: 6c61 6e67 7561 6765 2c20 2050 7265 763a language, Prev:\n+00002700: 2041 626f 7574 2073 6b65 7463 682c 2020 About sketch, \n+00002710: 5570 3a20 546f 700a 0a32 2049 6e74 726f Up: Top..2 Intro\n+00002720: 6475 6374 696f 6e20 6279 2065 7861 6d70 duction by examp\n+00002730: 6c65 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a le.*************\n+00002740: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 ************..Th\n+00002750: 6520 e280 9873 6b65 7463 68e2 8099 2069 e ...sketch... i\n+00002760: 6e70 7574 206c 616e 6775 6167 6520 7769 nput language wi\n+00002770: 6c6c 2073 6565 6d20 6661 6d69 6c69 6172 ll seem familiar\n+00002780: 2074 6f20 7573 6572 7320 6f66 2074 6865 to users of the\n+00002790: 0ae2 8098 5053 5472 6963 6b73 e280 9920 ....PSTricks... \n+000027a0: 7061 636b 6167 6520 666f 7220 4c61 5465 package for LaTe\n+000027b0: 582e 2020 5468 6520 666f 6c6c 6f77 696e X. The followin\n+000027c0: 6720 7072 6f67 7261 6d20 6472 6177 7320 g program draws \n+000027d0: 6120 7472 6961 6e67 756c 6172 0a70 6f6c a triangular.pol\n+000027e0: 7967 6f6e 2070 6965 7263 6564 2062 7920 ygon pierced by \n+000027f0: 6120 6c69 6e65 2e0a 2020 706f 6c79 676f a line.. polygo\n+00002800: 6e28 302c 302c 3129 2831 2c30 2c30 2928 n(0,0,1)(1,0,0)(\n+00002810: 302c 312c 3029 0a20 206c 696e 6528 2d31 0,1,0). line(-1\n+00002820: 2c2d 312c 2d31 2928 322c 322c 3229 0a54 ,-1,-1)(2,2,2).T\n+00002830: 6865 2063 6f6f 7264 696e 6174 6520 7379 he coordinate sy\n+00002840: 7374 656d 2069 7320 6120 7374 616e 6461 stem is a standa\n+00002850: 7264 2072 6967 6874 2d68 616e 6465 6420 rd right-handed \n+00002860: 4361 7274 6573 6961 6e20 6f6e 652e 0a0a Cartesian one...\n+00002870: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n+00002880: 3031 302e 706e 6722 2074 6578 743d 2249 010.png\" text=\"I\n+00002890: 6d61 6765 2065 7830 3130 206f 6d69 7474 mage ex010 omitt\n+000028a0: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n+000028b0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n+000028c0: 656e 742e 2200 085d 0a0a 2a20 4d65 6e75 ent.\"..]..* Menu\n+000028d0: 3a0a 0a2a 2048 656c 6c6f 2077 6f72 6c64 :..* Hello world\n+000028e0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n+000028f0: 2020 2053 696d 706c 6573 7420 706f 7373 Simplest poss\n+00002900: 6962 6c65 20e2 8098 736b 6574 6368 e280 ible ...sketch..\n+00002910: 9920 7072 6f67 7261 6d2e 0a2a 2044 7261 . program..* Dra\n+00002920: 7769 6e67 206f 7074 696f 6e73 3a3a 2020 wing options:: \n+00002930: 2020 2020 2020 2020 2020 2043 6f6e 7472 Contr\n+00002940: 6f6c 6c69 6e67 206f 626a 6563 7420 6170 olling object ap\n+00002950: 7065 6172 616e 6365 2e0a 2a20 4472 6177 pearance..* Draw\n+00002960: 696e 6720 6120 736f 6c69 643a 3a20 2020 ing a solid:: \n+00002970: 2020 2020 2020 2020 2020 4472 6177 696e Drawin\n+00002980: 6720 616e 206f 626a 6563 7420 7769 7468 g an object with\n+00002990: 2033 6420 6170 7065 6172 616e 6365 2e0a 3d appearance..\n+000029a0: 2a20 5370 6563 6961 6c20 6f62 6a65 6374 * Special object\n+000029b0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+000029c0: 4c61 7969 6e67 2054 6558 206f 7665 722c Laying TeX over,\n+000029d0: 2069 6e2c 206f 7220 756e 6465 7220 6472 in, or under dr\n+000029e0: 6177 696e 6773 2e0a 2a20 4f62 6a65 6374 awings..* Object\n+000029f0: 2074 7261 6e73 666f 726d 733a 3a20 2020 transforms:: \n+00002a00: 2020 2020 2020 2020 526f 7461 7465 2c20 Rotate, \n+00002a10: 7472 616e 736c 6174 652c 2073 6361 6c65 translate, scale\n+00002a20: 2c20 616e 6420 6f74 6865 7273 2e0a 2a20 , and others..* \n+00002a30: 5265 7065 6174 6564 206f 626a 6563 7473 Repeated objects\n+00002a40: 3a3a 2020 2020 2020 2020 2020 2020 4d61 :: Ma\n+00002a50: 6b69 6e67 2074 7261 6e73 666f 726d 6564 king transformed\n+00002a60: 2063 6f70 6965 732e 0a2a 2053 7765 7074 copies..* Swept\n+00002a70: 206f 626a 6563 7473 3a3a 2020 2020 2020 objects:: \n+00002a80: 2020 2020 2020 2020 2053 7765 6570 696e Sweepin\n+00002a90: 6720 6f62 6a65 6374 7320 696e 2073 7061 g objects in spa\n+00002aa0: 6365 2074 6f20 6d61 6b65 206e 6577 2073 ce to make new s\n+00002ab0: 6861 7065 732e 0a0a 1f0a 4669 6c65 3a20 hapes.....File: \n+00002ac0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n+00002ad0: 6465 3a20 4865 6c6c 6f20 776f 726c 642c de: Hello world,\n+00002ae0: 2020 4e65 7874 3a20 4472 6177 696e 6720 Next: Drawing \n+00002af0: 6f70 7469 6f6e 732c 2020 5072 6576 3a20 options, Prev: \n+00002b00: 496e 7472 6f64 7563 7469 6f6e 2062 7920 Introduction by \n+00002b10: 6578 616d 706c 652c 2020 5570 3a20 496e example, Up: In\n+00002b20: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex\n+00002b30: 616d 706c 650a 0a32 2e31 2048 656c 6c6f ample..2.1 Hello\n+00002b40: 2077 6f72 6c64 0a3d 3d3d 3d3d 3d3d 3d3d world.=========\n+00002b50: 3d3d 3d3d 3d3d 0a0a 5468 6520 e280 9873 ======..The ...s\n+00002b60: 6b65 7463 68e2 8099 2070 726f 6772 616d ketch... program\n+00002b70: 2061 626f 7665 2069 7320 6e65 6172 6c79 above is nearly\n+00002b80: 2074 6865 2073 696d 706c 6573 7420 6f6e the simplest on\n+00002b90: 6520 706f 7373 6962 6c65 2c20 7468 650a e possible, the.\n+00002ba0: 6571 7569 7661 6c65 6e74 206f 6620 6120 equivalent of a \n+00002bb0: 2268 656c 6c6f 2077 6f72 6c64 2220 7072 \"hello world\" pr\n+00002bc0: 6f67 7261 6d20 796f 7520 6d69 6768 7420 ogram you might \n+00002bd0: 6669 6e64 2061 7420 7468 6520 7374 6172 find at the star\n+00002be0: 7420 6f66 2061 0a70 726f 6772 616d 6d69 t of a.programmi\n+00002bf0: 6e67 206c 616e 6775 6167 6520 7465 7874 ng language text\n+00002c00: 2e20 2049 6620 6974 2069 7320 7361 7665 . If it is save\n+00002c10: 6420 696e 2074 6865 2066 696c 6520 e280 d in the file ..\n+00002c20: 9873 696d 706c 652e 736b e280 992c 2074 .simple.sk..., t\n+00002c30: 6865 6e0a 7468 6520 636f 6d6d 616e 640a hen.the command.\n+00002c40: 2020 736b 6574 6368 2073 696d 706c 652e sketch simple.\n+00002c50: 736b 202d 6f20 7369 6d70 6c65 2e74 6578 sk -o simple.tex\n+00002c60: 0a63 7265 6174 6573 2061 2066 696c 6520 .creates a file \n+00002c70: e280 9873 696d 706c 652e 7465 78e2 8099 ...simple.tex...\n+00002c80: 2063 6f6e 7461 696e 696e 6720 e280 9850 containing ...P\n+00002c90: 5354 7269 636b 73e2 8099 2063 6f6d 6d61 STricks... comma\n+00002ca0: 6e64 7320 746f 2064 7261 7720 7468 6573 nds to draw thes\n+00002cb0: 650a 6f62 6a65 6374 7320 6f6e 2070 6170 e.objects on pap\n+00002cc0: 6572 2e20 2054 6865 2063 6f6e 7465 6e74 er. The content\n+00002cd0: 7320 6f66 20e2 8098 7369 6d70 6c65 2e74 s of ...simple.t\n+00002ce0: 6578 e280 9920 6c6f 6f6b 206c 696b 6520 ex... look like \n+00002cf0: 7468 6973 2e0a 2020 5c62 6567 696e 7b70 this.. \\begin{p\n+00002d00: 7370 6963 7475 7265 7d28 2d31 2c2d 3129 spicture}(-1,-1)\n+00002d10: 2832 2c32 290a 2020 5c70 7374 5665 7262 (2,2). \\pstVerb\n+00002d20: 7b31 2073 6574 6c69 6e65 6a6f 696e 7d0a {1 setlinejoin}.\n+00002d30: 2020 5c70 736c 696e 6528 2d31 2c2d 3129 \\psline(-1,-1)\n+00002d40: 282e 3333 332c 2e33 3333 290a 2020 5c70 (.333,.333). \\p\n+00002d50: 7370 6f6c 7967 6f6e 5b66 696c 6c73 7479 spolygon[fillsty\n+00002d60: 6c65 3d73 6f6c 6964 2c66 696c 6c63 6f6c le=solid,fillcol\n+00002d70: 6f72 3d77 6869 7465 5d28 302c 3029 2831 or=white](0,0)(1\n+00002d80: 2c30 2928 302c 3129 0a20 205c 7073 6c69 ,0)(0,1). \\psli\n+00002d90: 6e65 282e 3333 332c 2e33 3333 2928 322c ne(.333,.333)(2,\n+00002da0: 3229 0a20 205c 656e 647b 7073 7069 6374 2). \\end{pspict\n+00002db0: 7572 657d 0a54 6865 2068 6964 6465 6e20 ure}.The hidden \n+00002dc0: 7375 7266 6163 6520 616c 676f 7269 7468 surface algorith\n+00002dd0: 6d20 6f66 20e2 8098 736b 6574 6368 e280 m of ...sketch..\n+00002de0: 9920 6861 7320 7370 6c69 7420 7468 6520 . has split the \n+00002df0: 6c69 6e65 2069 6e74 6f20 7477 6f0a 7069 line into two.pi\n+00002e00: 6563 6573 2061 6e64 206f 7264 6572 6564 eces and ordered\n+00002e10: 2074 6865 2074 6872 6565 2072 6573 756c the three resul\n+00002e20: 7469 6e67 206f 626a 6563 7473 2073 6f20 ting objects so \n+00002e30: 7468 6174 2074 6865 2063 6f72 7265 6374 that the correct\n+00002e40: 0a70 6f72 7469 6f6e 206f 6620 7468 6520 .portion of the \n+00002e50: 6c69 6e65 2069 7320 6869 6464 656e 2e0a line is hidden..\n+00002e60: 0a20 2020 4966 2079 6f75 2776 6520 6e6f . If you've no\n+00002e70: 7469 6365 6420 7468 6174 2074 6865 2070 ticed that the p\n+00002e80: 726f 6a65 6374 696f 6e20 7765 2061 7265 rojection we are\n+00002e90: 2075 7369 6e67 2073 6565 6d73 2065 7175 using seems equ\n+00002ea0: 6976 616c 656e 740a 746f 2065 7261 7369 ivalent.to erasi\n+00002eb0: 6e67 2074 6865 207a 2d63 6f6f 7264 696e ng the z-coordin\n+00002ec0: 6174 6520 6f66 2074 6865 2074 6872 6565 ate of the three\n+00002ed0: 2d64 696d 656e 7369 6f6e 616c 2069 6e70 -dimensional inp\n+00002ee0: 7574 2070 6f69 6e74 732c 2070 6174 0a79 ut points, pat.y\n+00002ef0: 6f75 7273 656c 6620 6f6e 2074 6865 2062 ourself on the b\n+00002f00: 6163 6b2e 2020 596f 7520 6172 6520 636f ack. You are co\n+00002f10: 7272 6563 742e 2020 5468 6973 2069 7320 rrect. This is \n+00002f20: 6361 6c6c 6564 2061 20e2 809c 7061 7261 called a ...para\n+00002f30: 6c6c 656c 0a70 726f 6a65 6374 696f 6ee2 llel.projection.\n+00002f40: 809d 2e20 2054 6865 207a 2d63 6f6f 7264 ... The z-coord\n+00002f50: 696e 6174 6520 6178 6973 2069 7320 706f inate axis is po\n+00002f60: 696e 7469 6e67 2073 7472 6169 6768 7420 inting straight \n+00002f70: 6f75 7420 6f66 2074 6865 0a70 6170 6572 out of the.paper\n+00002f80: 2061 7420 7573 2c20 7768 696c 6520 7468 at us, while th\n+00002f90: 6520 782d 2061 6e64 2079 2d61 7865 7320 e x- and y-axes \n+00002fa0: 706f 696e 7420 746f 2074 6865 2072 6967 point to the rig\n+00002fb0: 6874 2061 6e64 2075 7020 6173 2075 7375 ht and up as usu\n+00002fc0: 616c 2e0a 0a20 2020 5468 6520 7265 7375 al... The resu\n+00002fd0: 6c74 696e 6720 7069 6374 7572 6520 6669 lting picture fi\n+00002fe0: 6c65 2063 616e 2062 6520 696e 636c 7564 le can be includ\n+00002ff0: 6564 2069 6e20 6120 4c61 5465 5820 646f ed in a LaTeX do\n+00003000: 6375 6d65 6e74 2077 6974 680a 5c69 6e70 cument with.\\inp\n+00003010: 7574 7b73 696d 706c 657d 2e20 2041 6c74 ut{simple}. Alt\n+00003020: 6572 6e61 7465 6c79 2c20 6164 6469 6e67 ernately, adding\n+00003030: 2074 6865 2063 6f6d 6d61 6e64 206c 696e the command lin\n+00003040: 6520 6f70 7469 6f6e 20e2 8098 2d54 e280 e option ...-T..\n+00003050: 9928 3129 0a63 6175 7365 7320 7468 6520 .(1).causes the \n+00003060: e280 9870 7370 6963 7475 7265 e280 9920 ...pspicture... \n+00003070: 746f 2062 6520 7772 6170 7065 6420 696e to be wrapped in\n+00003080: 2061 2073 686f 7274 2062 7574 2063 6f6d a short but com\n+00003090: 706c 6574 6520 646f 6375 6d65 6e74 2c0a plete document,.\n+000030a0: 7265 6164 7920 746f 2072 756e 2074 686f ready to run tho\n+000030b0: 7567 6820 4c61 5465 582e 2020 496e 2061 ugh LaTeX. In a\n+000030c0: 2066 696e 6973 6865 642c 2074 7970 6573 finished, types\n+000030d0: 6574 2064 6f63 756d 656e 742c 2074 6865 et document, the\n+000030e0: 2070 6963 7475 7265 0a6c 6f6f 6b73 206c picture.looks l\n+000030f0: 696b 6520 7468 6973 2e20 2028 5468 6520 ike this. (The \n+00003100: 6178 6573 2068 6176 6520 6265 656e 2061 axes have been a\n+00003110: 6464 6564 2069 6e20 6c69 6768 7420 6772 dded in light gr\n+00003120: 6179 2e29 0a0a 0008 5b69 6d61 6765 2073 ay.)....[image s\n+00003130: 7263 3d22 6578 3032 302e 706e 6722 2074 rc=\"ex020.png\" t\n+00003140: 6578 743d 2249 6d61 6765 2065 7830 3230 ext=\"Image ex020\n+00003150: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text\n+00003160: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this\n+00003170: 2064 6f63 756d 656e 742e 2200 085d 0a0a document.\"..]..\n+00003180: 4974 2069 7320 696d 706f 7274 616e 7420 It is important \n+00003190: 746f 206b 6e6f 7720 7468 6174 206f 6e6c to know that onl\n+000031a0: 7920 7468 6520 226f 7574 7369 6465 2220 y the \"outside\" \n+000031b0: 6f66 2061 2070 6f6c 7967 6f6e 2069 7320 of a polygon is \n+000031c0: 6e6f 726d 616c 6c79 0a64 7261 776e 2e20 normally.drawn. \n+000031d0: 2054 6865 20e2 809c 6f75 7473 6964 65e2 The ...outside.\n+000031e0: 809d 2069 7320 7768 6572 6520 7468 6520 .. is where the \n+000031f0: 7665 7274 6963 6573 2067 6976 656e 2069 vertices given i\n+00003200: 6e20 7468 6520 e280 9870 6f6c 7967 6f6e n the ...polygon\n+00003210: e280 990a 636f 6d6d 616e 6420 6170 7065 ....command appe\n+00003220: 6172 2069 6e20 5f63 6f75 6e74 6572 2d63 ar in _counter-c\n+00003230: 6c6f 636b 7769 7365 5f20 6f72 6465 722e lockwise_ order.\n+00003240: 2020 5468 7573 2c20 6966 2074 6865 2063 Thus, if the c\n+00003250: 6f6d 6d61 6e64 2061 626f 7665 0a68 6164 ommand above.had\n+00003260: 2062 6565 6e0a 2020 706f 6c79 676f 6e28 been. polygon(\n+00003270: 302c 312c 3029 2831 2c30 2c30 2928 302c 0,1,0)(1,0,0)(0,\n+00003280: 302c 3129 0a74 6865 2070 6f6c 7967 6f6e 0,1).the polygon\n+00003290: 2077 6f75 6c64 206e 6f74 2061 7070 6561 would not appea\n+000032a0: 7220 696e 2074 6865 2070 6963 7475 7265 r in the picture\n+000032b0: 2061 7420 616c 6c2e 2020 4974 2077 6f75 at all. It wou\n+000032c0: 6c64 2068 6176 6520 6265 656e 0ae2 809c ld have been....\n+000032d0: 6375 6c6c 6564 e280 9d20 6672 6f6d 2074 culled... from t\n+000032e0: 6865 2073 6365 6e65 2e20 2054 6869 7320 he scene. This \n+000032f0: 6375 6c6c 696e 6720 6265 6861 7669 6f72 culling behavior\n+00003300: 206d 6179 2073 6565 6d20 7374 7261 6e67 may seem strang\n+00003310: 652c 2062 7574 0a73 7461 7920 7475 6e65 e, but.stay tune\n+00003320: 642e 0a0a 2020 202d 2d2d 2d2d 2d2d 2d2d d... ---------\n+00003330: 2d20 466f 6f74 6e6f 7465 7320 2d2d 2d2d - Footnotes ----\n+00003340: 2d2d 2d2d 2d2d 0a0a 2020 2028 3129 204f ------.. (1) O\n+00003350: 7220 666f 7220 4575 726f 7065 616e 2075 r for European u\n+00003360: 7365 7273 206f 6620 4134 2073 697a 6520 sers of A4 size \n+00003370: 7061 7065 722c 20e2 8098 2d54 65e2 8099 paper, ...-Te...\n+00003380: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+00003390: 682e 696e 666f 2c20 204e 6f64 653a 2044 h.info, Node: D\n+000033a0: 7261 7769 6e67 206f 7074 696f 6e73 2c20 rawing options, \n+000033b0: 204e 6578 743a 2044 7261 7769 6e67 2061 Next: Drawing a\n+000033c0: 2073 6f6c 6964 2c20 2050 7265 763a 2048 solid, Prev: H\n+000033d0: 656c 6c6f 2077 6f72 6c64 2c20 2055 703a ello world, Up:\n+000033e0: 2049 6e74 726f 6475 6374 696f 6e20 6279 Introduction by\n+000033f0: 2065 7861 6d70 6c65 0a0a 322e 3220 4f70 example..2.2 Op\n+00003400: 7469 6f6e 730a 3d3d 3d3d 3d3d 3d3d 3d3d tions.==========\n+00003410: 3d0a 0a4d 616e 7920 e280 9850 5354 7269 =..Many ...PSTri\n+00003420: 636b 73e2 8099 2061 6e64 20e2 8098 5469 cks... and ...Ti\n+00003430: 6b5a 2f50 4746 e280 9920 6f70 7469 6f6e kZ/PGF... option\n+00003440: 7320 776f 726b 206a 7573 7420 6669 6e65 s work just fine\n+00003450: 2069 6e20 e280 9873 6b65 7463 68e2 8099 in ...sketch...\n+00003460: 2e20 2049 660a 6765 6e65 7261 7469 6e67 . If.generating\n+00003470: 20e2 8098 5053 5472 6963 6b73 e280 992c ...PSTricks...,\n+00003480: 2074 6865 2063 6f64 650a 2020 706f 6c79 the code. poly\n+00003490: 676f 6e5b 6669 6c6c 636f 6c6f 723d 6c69 gon[fillcolor=li\n+000034a0: 6768 7467 7261 792c 6c69 6e65 7769 6474 ghtgray,linewidt\n+000034b0: 683d 3370 745d 2830 2c30 2c31 2928 312c h=3pt](0,0,1)(1,\n+000034c0: 302c 3029 2830 2c31 2c30 290a 2020 6c69 0,0)(0,1,0). li\n+000034d0: 6e65 5b6c 696e 6573 7479 6c65 3d64 6f74 ne[linestyle=dot\n+000034e0: 7465 645d 282d 312c 2d31 2c2d 3129 2832 ted](-1,-1,-1)(2\n+000034f0: 2c32 2c32 290a 7072 6f64 7563 6573 0a0a ,2,2).produces..\n+00003500: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n+00003510: 3033 302e 706e 6722 2074 6578 743d 2249 030.png\" text=\"I\n+00003520: 6d61 6765 2065 7830 3330 206f 6d69 7474 mage ex030 omitt\n+00003530: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n+00003540: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n+00003550: 656e 742e 2200 085d 0a0a 2020 2054 6f20 ent.\"..].. To \n+00003560: 7072 6f64 7563 6520 e280 9854 696b 5a2f produce ...TikZ/\n+00003570: 5047 46e2 8099 2c20 7468 6520 636f 7272 PGF..., the corr\n+00003580: 6573 706f 6e64 696e 6720 636f 6465 2069 esponding code i\n+00003590: 730a 2020 706f 6c79 676f 6e5b 6669 6c6c s. polygon[fill\n+000035a0: 3d6c 6967 6874 6772 6179 2c6c 696e 6520 =lightgray,line \n+000035b0: 7769 6474 683d 3370 745d 2830 2c30 2c31 width=3pt](0,0,1\n+000035c0: 2928 312c 302c 3029 2830 2c31 2c30 290a )(1,0,0)(0,1,0).\n+000035d0: 2020 6c69 6e65 5b73 7479 6c65 3d64 6f74 line[style=dot\n+000035e0: 7465 645d 282d 312c 2d31 2c2d 3129 2832 ted](-1,-1,-1)(2\n+000035f0: 2c32 2c32 290a 2020 676c 6f62 616c 207b ,2,2). global {\n+00003600: 206c 616e 6775 6167 6520 7469 6b7a 207d language tikz }\n+00003610: 0a54 6865 2066 696e 616c 20e2 8098 676c .The final ...gl\n+00003620: 6f62 616c e280 9920 696e 7374 7275 6374 obal... instruct\n+00003630: 7320 e280 9873 6b65 7463 68e2 8099 2074 s ...sketch... t\n+00003640: 6f20 7072 6f64 7563 6520 e280 9854 696b o produce ...Tik\n+00003650: 5a2f 5047 46e2 8099 2063 6f64 6520 6173 Z/PGF... code as\n+00003660: 0a6f 7574 7075 7420 7261 7468 6572 2074 .output rather t\n+00003670: 6861 6e20 7468 6520 6465 6661 756c 742c han the default,\n+00003680: 20e2 8098 5053 5472 6963 6b73 e280 992e ...PSTricks....\n+00003690: 2020 4e6f 7465 2074 6861 7420 e280 9870 Note that ...p\n+000036a0: 6f6c 7967 6f6e e280 9920 6669 6c6c 0a63 olygon... fill.c\n+000036b0: 6f6c 6f72 2061 6e64 20e2 8098 6c69 6e65 olor and ...line\n+000036c0: e280 9920 7374 796c 6520 6f70 7469 6f6e ... style option\n+000036d0: 7320 626f 7468 2063 6f6e 666f 726d 2074 s both conform t\n+000036e0: 6f20 e280 9854 696b 5ae2 8099 2073 796e o ...TikZ... syn\n+000036f0: 7461 7820 7275 6c65 732e 2020 5468 650a tax rules. The.\n+00003700: 7265 7375 6c74 696e 6720 e280 9854 696b resulting ...Tik\n+00003710: 5a2f 5047 46e2 8099 206f 7574 7075 7420 Z/PGF... output \n+00003720: 6973 0a20 205c 6265 6769 6e7b 7469 6b7a is. \\begin{tikz\n+00003730: 7069 6374 7572 657d 5b6a 6f69 6e3d 726f picture}[join=ro\n+00003740: 756e 645d 0a20 205c 6472 6177 5b64 6f74 und]. \\draw[dot\n+00003750: 7465 645d 282d 312c 2d31 292d 2d28 2e33 ted](-1,-1)--(.3\n+00003760: 3333 2c2e 3333 3329 3b0a 2020 5c66 696c 33,.333);. \\fil\n+00003770: 6c64 7261 775b 6669 6c6c 3d6c 6967 6874 ldraw[fill=light\n+00003780: 6772 6179 2c6c 696e 6520 7769 6474 683d gray,line width=\n+00003790: 3370 745d 2830 2c30 292d 2d28 312c 3029 3pt](0,0)--(1,0)\n+000037a0: 2d2d 2830 2c31 292d 2d63 7963 6c65 3b0a --(0,1)--cycle;.\n+000037b0: 2020 5c64 7261 775b 646f 7474 6564 5d28 \\draw[dotted](\n+000037c0: 2e33 3333 2c2e 3333 3329 2d2d 2832 2c32 .333,.333)--(2,2\n+000037d0: 293b 0a20 205c 656e 647b 7469 6b7a 7069 );. \\end{tikzpi\n+000037e0: 6374 7572 657d 0a54 6865 2072 656d 6169 cture}.The remai\n+000037f0: 6e69 6e67 2065 7861 6d70 6c65 7320 6f66 ning examples of\n+00003800: 2074 6869 7320 6d61 6e75 616c 2061 7265 this manual are\n+00003810: 2069 6e20 5053 5472 6963 6b73 2073 7479 in PSTricks sty\n+00003820: 6c65 2e0a 0a1f 0a46 696c 653a 2073 6b65 le.....File: ske\n+00003830: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+00003840: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid\n+00003850: 2c20 204e 6578 743a 2053 7065 6369 616c , Next: Special\n+00003860: 206f 626a 6563 7473 2c20 2050 7265 763a objects, Prev:\n+00003870: 2044 7261 7769 6e67 206f 7074 696f 6e73 Drawing options\n+00003880: 2c20 2055 703a 2049 6e74 726f 6475 6374 , Up: Introduct\n+00003890: 696f 6e20 6279 2065 7861 6d70 6c65 0a0a ion by example..\n+000038a0: 322e 3320 4472 6177 696e 6720 6120 736f 2.3 Drawing a so\n+000038b0: 6c69 640a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d lid.============\n+000038c0: 3d3d 3d3d 3d3d 3d0a 0a4c 6574 2773 2074 =======..Let's t\n+000038d0: 7279 2073 6f6d 6574 6869 6e67 206d 6f72 ry something mor\n+000038e0: 6520 6578 6369 7469 6e67 2e20 20e2 8098 e exciting. ...\n+000038f0: 536b 6574 6368 e280 9920 6861 7320 6e6f Sketch... has no\n+00003900: 206e 6f74 696f 6e20 6f66 2061 2073 6f6c notion of a sol\n+00003910: 6964 2c0a 6275 7420 706f 6c79 676f 6e61 id,.but polygona\n+00003920: 6c20 e280 9c66 6163 6573 e280 9d20 6361 l ...faces... ca\n+00003930: 6e20 6265 2075 7365 6420 746f 2072 6570 n be used to rep\n+00003940: 7265 7365 6e74 2074 6865 2062 6f75 6e64 resent the bound\n+00003950: 6172 7920 6f66 2061 2073 6f6c 6964 2e0a ary of a solid..\n+00003960: 546f 2074 6865 2070 7265 7669 6f75 7320 To the previous \n+00003970: 6578 616d 706c 652c 206c 6574 2773 2061 example, let's a\n+00003980: 6464 2074 6872 6565 206d 6f72 6520 7472 dd three more tr\n+00003990: 6961 6e67 756c 6172 2070 6f6c 7967 6f6e iangular polygon\n+000039a0: 7320 746f 0a6d 616b 6520 7468 6520 6661 s to.make the fa\n+000039b0: 6365 7320 6f66 2061 6e20 6972 7265 6775 ces of an irregu\n+000039c0: 6c61 7220 7465 7472 6168 6564 726f 6e2e lar tetrahedron.\n+000039d0: 0a20 2025 2076 6572 7469 6365 7320 6f66 . % vertices of\n+000039e0: 2074 6865 2074 6574 7261 6865 6472 6f6e the tetrahedron\n+000039f0: 0a20 2064 6566 2070 3120 2830 2c30 2c31 . def p1 (0,0,1\n+00003a00: 2920 6465 6620 7032 2028 312c 302c 3029 ) def p2 (1,0,0)\n+00003a10: 0a20 2064 6566 2070 3320 2830 2c31 2c30 . def p3 (0,1,0\n+00003a20: 2920 6465 6620 7034 2028 2d2e 332c 2d2e ) def p4 (-.3,-.\n+00003a30: 352c 2d2e 3829 0a0a 2020 2520 6661 6365 5,-.8).. % face\n+00003a40: 7320 6f66 2074 6865 2074 6574 7261 6865 s of the tetrahe\n+00003a50: 6472 6f6e 2e0a 2020 706f 6c79 676f 6e28 dron.. polygon(\n+00003a60: 7031 2928 7032 2928 7033 2920 2520 6f72 p1)(p2)(p3) % or\n+00003a70: 6967 696e 616c 2066 726f 6e74 2070 6f6c iginal front pol\n+00003a80: 7967 6f6e 0a20 2070 6f6c 7967 6f6e 2870 ygon. polygon(p\n+00003a90: 3129 2870 3429 2870 3229 2025 2062 6f74 1)(p4)(p2) % bot\n+00003aa0: 746f 6d0a 2020 706f 6c79 676f 6e28 7031 tom. polygon(p1\n+00003ab0: 2928 7033 2928 7034 2920 2520 6c65 6674 )(p3)(p4) % left\n+00003ac0: 0a20 2070 6f6c 7967 6f6e 2870 3329 2870 . polygon(p3)(p\n+00003ad0: 3229 2870 3429 2025 2072 6561 720a 0a20 2)(p4) % rear.. \n+00003ae0: 2025 206c 696e 6520 746f 2070 6965 7263 % line to pierc\n+00003af0: 6520 7468 6520 7465 7472 6168 6564 726f e the tetrahedro\n+00003b00: 6e0a 2020 6c69 6e65 5b6c 696e 6563 6f6c n. line[linecol\n+00003b10: 6f72 3d72 6564 5d28 2d31 2c2d 312c 2d31 or=red](-1,-1,-1\n+00003b20: 2928 322c 322c 3229 0a54 6869 7320 6578 )(2,2,2).This ex\n+00003b30: 616d 706c 6520 7573 6573 20e2 809c 6465 ample uses ...de\n+00003b40: 6669 6e69 7469 6f6e 73e2 809d 2c20 7768 finitions..., wh\n+00003b50: 6963 6820 6265 6769 6e20 7769 7468 20e2 ich begin with .\n+00003b60: 8098 6465 66e2 8099 2e20 2054 6865 7365 ..def.... These\n+00003b70: 20e2 809c 6465 6669 6e65 e280 9d0a 6f72 ...define....or\n+00003b80: 2067 6976 6520 6e61 6d65 7320 746f 2070 give names to p\n+00003b90: 6f69 6e74 732c 2077 6869 6368 2061 7265 oints, which are\n+00003ba0: 2074 6865 6e20 6176 6169 6c61 626c 6520 then available \n+00003bb0: 6173 20e2 809c 7265 6665 7265 6e63 6573 as ...references\n+00003bc0: e280 9d20 6279 0a65 6e63 6c6f 7369 6e67 ... by.enclosing\n+00003bd0: 2074 6865 206e 616d 6573 2069 6e20 7061 the names in pa\n+00003be0: 7265 6e74 6865 7365 732c 2065 2e67 2e20 rentheses, e.g. \n+00003bf0: 2866 6f6f 292e 2020 5468 6520 7061 7265 (foo). The pare\n+00003c00: 6e74 6865 7365 7320 6465 6e6f 7465 0a74 ntheses denote.t\n+00003c10: 6861 7420 7468 6520 6e61 6d65 7320 7265 hat the names re\n+00003c20: 6665 7220 746f 2070 6f69 6e74 733b 2074 fer to points; t\n+00003c30: 6865 7920 6172 6520 7265 7175 6972 6564 hey are required\n+00003c40: 2e20 2054 6865 7265 2063 616e 2062 6520 . There can be \n+00003c50: 6e6f 0a77 6869 7465 2073 7061 6365 2062 no.white space b\n+00003c60: 6574 7765 656e 2074 6865 6d20 616e 6420 etween them and \n+00003c70: 7468 6520 6e61 6d65 2e0a 0a20 2020 4173 the name... As\n+00003c80: 2079 6f75 2063 616e 2073 6565 2c20 636f you can see, co\n+00003c90: 6d6d 656e 7473 2073 7461 7274 2077 6974 mments start wit\n+00003ca0: 6820 2520 6173 2069 6e20 5465 5820 616e h % as in TeX an\n+00003cb0: 6420 6578 7465 6e64 2074 6f20 7468 6520 d extend to the \n+00003cc0: 656e 640a 6f66 2074 6865 206c 696e 6520 end.of the line \n+00003cd0: 2874 686f 7567 6820 2320 7769 6c6c 2077 (though # will w\n+00003ce0: 6f72 6b20 6173 2077 656c 6c29 2e20 2057 ork as well). W\n+00003cf0: 6869 7465 2073 7061 6365 2c20 696e 636c hite space, incl\n+00003d00: 7564 696e 670a 7370 6163 6573 2c20 7461 uding.spaces, ta\n+00003d10: 6273 2061 6e64 2062 6c61 6e6b 206c 696e bs and blank lin\n+00003d20: 6573 2c20 6861 7320 6e6f 2065 6666 6563 es, has no effec\n+00003d30: 7420 696e 2074 6865 20e2 8098 736b 6574 t in the ...sket\n+00003d40: 6368 e280 9920 6c61 6e67 7561 6765 2e0a ch... language..\n+00003d50: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n+00003d60: 7830 3430 2e70 6e67 2220 7465 7874 3d22 x040.png\" text=\"\n+00003d70: 496d 6167 6520 6578 3034 3020 6f6d 6974 Image ex040 omit\n+00003d80: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n+00003d90: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n+00003da0: 6d65 6e74 2e22 0008 5d0a 0a49 6620 7765 ment.\"..]..If we\n+00003db0: 206c 6f6f 6b20 696e 7369 6465 2074 6865 look inside the\n+00003dc0: 2054 6558 2066 696c 6520 7072 6f64 7563 TeX file produc\n+00003dd0: 6564 2062 7920 e280 9873 6b65 7463 68e2 ed by ...sketch.\n+00003de0: 8099 2c20 7468 6572 6520 7769 6c6c 2062 .., there will b\n+00003df0: 6520 6f6e 6c79 0a74 6872 6565 2070 6f6c e only.three pol\n+00003e00: 7967 6f6e 732e 2020 5468 6520 666f 7572 ygons. The four\n+00003e10: 7468 2068 6173 2062 6565 6e20 6375 6c6c th has been cull\n+00003e20: 6564 2062 6563 6175 7365 2069 7420 6973 ed because it is\n+00003e30: 2061 2022 6261 636b 2066 6163 6522 0a6f a \"back face\".o\n+00003e40: 6620 7468 6520 7465 7472 6168 6564 726f f the tetrahedro\n+00003e50: 6e2c 2069 6e76 6973 6962 6c65 2074 6f20 n, invisible to \n+00003e60: 6f75 7220 7669 6577 2e20 2049 7420 6973 our view. It is\n+00003e70: 2075 6e6e 6563 6573 7361 7279 2c20 616e unnecessary, an\n+00003e80: 6420 736f 2069 740a 6973 2072 656d 6f76 d so it.is remov\n+00003e90: 6564 2e0a 0a20 2020 496e 2073 6f6d 6520 ed... In some \n+00003ea0: 6472 6177 696e 6773 2c20 706f 6c79 676f drawings, polygo\n+00003eb0: 6e73 2061 6374 2061 7320 7a65 726f 2d74 ns act as zero-t\n+00003ec0: 6869 636b 6e65 7373 2073 6f6c 6964 2073 hickness solid s\n+00003ed0: 7572 6661 6365 7320 7769 7468 0a62 6f74 urfaces with.bot\n+00003ee0: 6820 7369 6465 7320 7669 7369 626c 6520 h sides visible \n+00003ef0: 7261 7468 6572 2074 6861 6e20 6173 2074 rather than as t\n+00003f00: 6865 2066 6163 6573 206f 6620 736f 6c69 he faces of soli\n+00003f10: 6420 6f62 6a65 6374 732c 2077 6865 7265 d objects, where\n+00003f20: 2062 6163 6b0a 6661 6365 7320 6361 6e20 back.faces can \n+00003f30: 6265 2063 756c 6c65 642e 2020 466f 7220 be culled. For \n+00003f40: 7a65 726f 2d74 6869 636b 6e65 7373 2073 zero-thickness s\n+00003f50: 6f6c 6964 732c 2063 756c 6c69 6e67 2069 olids, culling i\n+00003f60: 7320 6120 7072 6f62 6c65 6d2e 0a4f 6e65 s a problem..One\n+00003f70: 2073 6f6c 7574 696f 6e20 6973 2074 6f20 solution is to \n+00003f80: 7573 6520 6120 7061 6972 206f 6620 e280 use a pair of ..\n+00003f90: 9873 6b65 7463 68e2 8099 2070 6f6c 7967 .sketch... polyg\n+00003fa0: 6f6e 7320 666f 7220 6561 6368 0a7a 6572 ons for each.zer\n+00003fb0: 6f2d 7468 6963 6b6e 6573 7320 6661 6365 o-thickness face\n+00003fc0: 2c20 6964 656e 7469 6361 6c20 6578 6365 , identical exce\n+00003fd0: 7074 2077 6974 6820 6f70 706f 7369 7465 pt with opposite\n+00003fe0: 2076 6572 7465 7820 6f72 6465 7273 2e20 vertex orders. \n+00003ff0: 2054 6869 730a 6973 2075 6e77 6965 6c64 This.is unwield\n+00004000: 7920 616e 6420 6578 7065 6e73 6976 652e y and expensive.\n+00004010: 2020 4120 6265 7474 6572 2077 6179 2069 A better way i\n+00004020: 7320 746f 2073 6574 2074 6865 20e2 8098 s to set the ...\n+00004030: 736b 6574 6368 e280 9920 696e 7465 726e sketch... intern\n+00004040: 616c 0a6f 7074 696f 6e20 e280 9863 756c al.option ...cul\n+00004050: 6ce2 8099 2074 6f20 e280 9866 616c 7365 l... to ...false\n+00004060: e280 9920 696e 2074 6865 2075 7375 616c ... in the usual\n+00004070: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... \n+00004080: 6d61 6e6e 6572 2e0a 2020 706f 6c79 676f manner.. polygo\n+00004090: 6e5b 6375 6c6c 3d66 616c 7365 5d28 7031 n[cull=false](p1\n+000040a0: 2928 7032 2928 7033 290a 5468 6520 666f )(p2)(p3).The fo\n+000040b0: 6c6c 6f77 696e 6720 7368 6f77 7320 7468 llowing shows th\n+000040c0: 6520 7361 6d65 2068 656c 6978 2073 6861 e same helix sha\n+000040d0: 7065 2064 7261 776e 2066 6972 7374 2077 pe drawn first w\n+000040e0: 6974 6820 6375 6c6c 3d74 7275 6520 2874 ith cull=true (t\n+000040f0: 6865 0a64 6566 6175 6c74 2920 616e 6420 he.default) and \n+00004100: 7468 656e 2063 756c 6c3d 6661 6c73 652e then cull=false.\n+00004110: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=\"\n+00004120: 6578 3034 352e 706e 6722 2074 6578 743d ex045.png\" text=\n+00004130: 2249 6d61 6765 2065 7830 3435 206f 6d69 \"Image ex045 omi\n+00004140: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver\n+00004150: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc\n+00004160: 756d 656e 742e 2200 085d 0a0a 5765 276c ument.\"..]..We'l\n+00004170: 6c20 736f 6f6e 2073 6565 2068 6f77 2074 l soon see how t\n+00004180: 6f20 7072 6f64 7563 6520 7468 6573 6520 o produce these \n+00004190: 6865 6c69 7865 7320 7769 7468 2061 2066 helixes with a f\n+000041a0: 6577 206c 696e 6573 206f 6620 e280 9873 ew lines of ...s\n+000041b0: 6b65 7463 68e2 8099 0a6c 616e 6775 6167 ketch....languag\n+000041c0: 6520 636f 6465 2e0a 0a20 2020 4974 206d e code... It m\n+000041d0: 6179 2062 6520 7465 6d70 7469 6e67 2074 ay be tempting t\n+000041e0: 6f20 7475 726e 2063 756c 6c69 6e67 206f o turn culling o\n+000041f0: 6666 2067 7261 7475 6974 6f75 736c 7920 ff gratuitously \n+00004200: 736f 2074 6861 7420 7665 7274 6578 0a6f so that vertex.o\n+00004210: 7264 6572 2063 616e 2062 6520 6967 6e6f rder can be igno\n+00004220: 7265 642e 2020 5468 6973 2069 7320 6e6f red. This is no\n+00004230: 7420 6120 676f 6f64 2069 6465 6120 6265 t a good idea be\n+00004240: 6361 7573 6520 6f75 7470 7574 2066 696c cause output fil\n+00004250: 6520 7369 7a65 0a61 6e64 2054 6558 2061 e size.and TeX a\n+00004260: 6e64 2050 6f73 7473 6372 6970 7420 7072 nd Postscript pr\n+00004270: 6f63 6573 7369 6e67 2074 696d 6520 626f ocessing time bo\n+00004280: 7468 2064 6570 656e 6420 6f6e 2074 6865 th depend on the\n+00004290: 206e 756d 6265 7220 6f66 0a6f 7574 7075 number of.outpu\n+000042a0: 7420 706f 6c79 676f 6e73 2e20 2043 756c t polygons. Cul\n+000042b0: 6c69 6e67 2075 7375 616c 6c79 2069 6d70 ling usually imp\n+000042c0: 726f 7665 7320 7065 7266 6f72 6d61 6e63 roves performanc\n+000042d0: 6520 6279 2061 2066 6163 746f 7220 6f66 e by a factor of\n+000042e0: 0a74 776f 2e20 204f 6e20 7468 6520 6f74 .two. On the ot\n+000042f0: 6865 7220 6861 6e64 2c20 676c 6f62 616c her hand, global\n+00004300: 6c79 2073 6574 7469 6e67 20e2 8098 6375 ly setting ...cu\n+00004310: 6c6c 3d66 616c 7365 e280 9920 6973 2072 ll=false... is r\n+00004320: 6561 736f 6e61 626c 650a 7768 696c 6520 easonable.while \n+00004330: 6465 6275 6767 696e 672e 2020 5365 6520 debugging. See \n+00004340: 2a6e 6f74 6520 476c 6f62 616c 206f 7074 *note Global opt\n+00004350: 696f 6e73 3a3a 2061 6e64 202a 6e6f 7465 ions:: and *note\n+00004360: 204c 696d 6974 7320 6f6e 2065 7272 6f72 Limits on error\n+00004370: 0a64 6574 6563 7469 6f6e 3a3a 2e0a 0a1f .detection::....\n+00004380: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n+00004390: 666f 2c20 204e 6f64 653a 2053 7065 6369 fo, Node: Speci\n+000043a0: 616c 206f 626a 6563 7473 2c20 204e 6578 al objects, Nex\n+000043b0: 743a 204f 626a 6563 7420 7472 616e 7366 t: Object transf\n+000043c0: 6f72 6d73 2c20 2050 7265 763a 2044 7261 orms, Prev: Dra\n+000043d0: 7769 6e67 2061 2073 6f6c 6964 2c20 2055 wing a solid, U\n+000043e0: 703a 2049 6e74 726f 6475 6374 696f 6e20 p: Introduction \n+000043f0: 6279 2065 7861 6d70 6c65 0a0a 322e 3420 by example..2.4 \n+00004400: 5370 6563 6961 6c20 6f62 6a65 6374 730a Special objects.\n+00004410: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00004420: 3d3d 3d0a 0a57 6520 6361 6e20 6164 6420 ===..We can add \n+00004430: 6c61 6265 6c73 2074 6f20 6120 6472 6177 labels to a draw\n+00004440: 696e 6720 6279 2075 7369 6e67 2073 7065 ing by using spe\n+00004450: 6369 616c 206f 626a 6563 7473 2c20 7768 cial objects, wh\n+00004460: 6963 6820 7072 6f76 6964 6520 610a 7761 ich provide a.wa\n+00004470: 7920 746f 2065 6d62 6564 2072 6177 204c y to embed raw L\n+00004480: 6154 6558 2061 6e64 20e2 8098 5053 5472 aTeX and ...PSTr\n+00004490: 6963 6b73 e280 9920 636f 6465 2e20 2041 icks... code. A\n+000044a0: 6464 696e 6720 7468 6973 2074 6f20 7468 dding this to th\n+000044b0: 650a 7465 7472 6168 6564 726f 6e20 646f e.tetrahedron do\n+000044c0: 6573 2074 6865 2074 7269 636b 2e0a 2020 es the trick.. \n+000044d0: 7370 6563 6961 6c20 7c5c 666f 6f74 6e6f special |\\footno\n+000044e0: 7465 7369 7a65 0a20 2020 2020 2020 2020 tesize. \n+000044f0: 2020 5c75 7075 747b 3270 747d 5b75 725d \\uput{2pt}[ur]\n+00004500: 2331 7b24 5031 247d 0a20 2020 2020 2020 #1{$P1$}. \n+00004510: 2020 2020 5c75 7075 745b 725d 2332 7b24 \\uput[r]#2{$\n+00004520: 5032 247d 0a20 2020 2020 2020 2020 2020 P2$}. \n+00004530: 5c75 7075 745b 755d 2333 7b24 5033 247d \\uput[u]#3{$P3$}\n+00004540: 0a20 2020 2020 2020 2020 2020 5c75 7075 . \\upu\n+00004550: 745b 645d 2334 7b24 5034 247d 7c0a 2020 t[d]#4{$P4$}|. \n+00004560: 2020 2870 3129 2870 3229 2870 3329 2870 (p1)(p2)(p3)(p\n+00004570: 3429 0a48 6572 6520 6973 2074 6865 2072 4).Here is the r\n+00004580: 6573 756c 742e 0a0a 0008 5b69 6d61 6765 esult.....[image\n+00004590: 2073 7263 3d22 6578 3034 322e 706e 6722 src=\"ex042.png\"\n+000045a0: 2074 6578 743d 2249 6d61 6765 2065 7830 text=\"Image ex0\n+000045b0: 3432 206f 6d69 7474 6564 2069 6e20 7465 42 omitted in te\n+000045c0: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th\n+000045d0: 6973 2064 6f63 756d 656e 742e 2200 085d is document.\"..]\n+000045e0: 0a0a 2020 2054 6865 7265 2061 7265 2073 .. There are s\n+000045f0: 6576 6572 616c 2064 6574 6169 6c73 2074 everal details t\n+00004600: 6f20 6e6f 7465 2068 6572 652e 2020 4669 o note here. Fi\n+00004610: 7273 742c 2074 6865 2071 756f 7469 6e67 rst, the quoting\n+00004620: 0a63 6f6e 7665 6e74 696f 6e20 666f 7220 .convention for \n+00004630: 7468 6520 7261 7720 636f 6465 2069 7320 the raw code is \n+00004640: 7369 6d69 6c61 7220 746f 2074 6865 204c similar to the L\n+00004650: 6154 6558 205c 7665 7262 2063 6f6d 6d61 aTeX \\verb comma\n+00004660: 6e64 2e20 2054 6865 0a66 6972 7374 206e nd. The.first n\n+00004670: 6f6e 2d77 6869 7465 2073 7061 6365 2063 on-white space c\n+00004680: 6861 7261 6374 6572 2066 6f6c 6c6f 7769 haracter followi\n+00004690: 6e67 2073 7065 6369 616c 2069 7320 756e ng special is un\n+000046a0: 6465 7273 746f 6f64 2074 6f20 6265 0a74 derstood to be.t\n+000046b0: 6865 2071 756f 7465 2063 6861 7261 6374 he quote charact\n+000046c0: 6572 2c20 696e 2074 6869 7320 6361 7365 er, in this case\n+000046d0: 20e2 8098 7ce2 8099 2e20 2054 6865 2072 ...|.... The r\n+000046e0: 6177 2074 6578 7420 636f 6e74 696e 7565 aw text continue\n+000046f0: 7320 756e 7469 6c0a 7468 6973 2063 6861 s until.this cha\n+00004700: 7261 6374 6572 2072 6563 7572 732e 0a0a racter recurs...\n+00004710: 2020 2053 6563 6f6e 642c 2074 6865 2061 Second, the a\n+00004720: 7267 756d 656e 7420 7265 6665 7265 6e63 rgument referenc\n+00004730: 6573 2023 312c 2023 322c 2023 332c 2061 es #1, #2, #3, a\n+00004740: 6e64 2023 3420 7265 6665 7220 746f 2070 nd #4 refer to p\n+00004750: 6f69 6e74 2c0a 7665 6374 6f72 2c20 6f72 oint,.vector, or\n+00004760: 2073 6361 6c61 7220 7661 6c75 6573 2069 scalar values i\n+00004770: 6e20 7468 6520 6c69 7374 2074 6861 7420 n the list that \n+00004780: 666f 6c6c 6f77 2e20 2054 6869 7320 6973 follow. This is\n+00004790: 2073 696d 696c 6172 2074 6f0a 5465 5820 similar to.TeX \n+000047a0: 6d61 6372 6f20 7379 6e74 6178 2e20 2054 macro syntax. T\n+000047b0: 6865 2074 7261 6e73 666f 726d 6564 2061 he transformed a\n+000047c0: 6e64 2074 776f 2d64 696d 656e 7369 6f6e nd two-dimension\n+000047d0: 616c 2070 726f 6a65 6374 696f 6e73 206f al projections o\n+000047e0: 660a 7468 6573 6520 7468 7265 652d 6469 f.these three-di\n+000047f0: 6d65 6e73 696f 6e61 6c20 706f 696e 7473 mensional points\n+00004800: 2061 7265 2073 7562 7374 6974 7574 6564 are substituted\n+00004810: 2069 6e20 7468 6520 6669 6e61 6c20 6f75 in the final ou\n+00004820: 7470 7574 2e20 2041 6e0a 6172 6775 6d65 tput. An.argume\n+00004830: 6e74 2072 6566 6572 656e 6365 206f 6620 nt reference of \n+00004840: 7468 6520 666f 726d 2023 312d 3220 6973 the form #1-2 is\n+00004850: 2072 6570 6c61 6365 6420 7769 7468 2074 replaced with t\n+00004860: 6865 2061 6e67 6c65 2069 6e0a 6465 6772 he angle in.degr\n+00004870: 6565 7320 6f66 2074 6865 2074 776f 2d64 ees of the two-d\n+00004880: 696d 656e 7369 6f6e 616c 2076 6563 746f imensional vecto\n+00004890: 7220 7468 6174 2063 6f6e 6e65 6374 7320 r that connects \n+000048a0: 7468 6520 7072 6f6a 6563 7469 6f6e 7320 the projections \n+000048b0: 6f66 0a74 6865 2074 776f 2072 6573 7065 of.the two respe\n+000048c0: 6374 6976 6520 6172 6775 6d65 6e74 2070 ctive argument p\n+000048d0: 6f69 6e74 732c 2068 6572 6520 2331 2061 oints, here #1 a\n+000048e0: 6e64 2023 322e 2020 5468 6520 7375 6273 nd #2. The subs\n+000048f0: 7469 7475 7465 640a 616e 676c 6520 6973 tituted.angle is\n+00004900: 2065 6e63 6c6f 7365 6420 696e 2063 7572 enclosed in cur\n+00004910: 6c79 2062 7261 6365 7320 e280 987b 207d ly braces ...{ }\n+00004920: e280 992e 2020 5768 656e 20e2 8098 5469 .... When ...Ti\n+00004930: 6b5a 2f50 4746 e280 9920 6f75 7470 7574 kZ/PGF... output\n+00004940: 2069 730a 6265 696e 6720 6765 6e65 7261 is.being genera\n+00004950: 7465 642c 2074 6865 2061 6e67 6c65 2069 ted, the angle i\n+00004960: 7320 726f 756e 6465 6420 746f 2074 6865 s rounded to the\n+00004970: 206e 6561 7265 7374 2064 6567 7265 6520 nearest degree \n+00004980: 6265 6361 7573 650a 6e6f 6e2d 696e 7465 because.non-inte\n+00004990: 6765 7220 616e 676c 6573 2061 7265 206e ger angles are n\n+000049a0: 6f74 2061 6c6c 6f77 6564 2062 7920 e280 ot allowed by ..\n+000049b0: 9854 696b 5a2f 5047 46e2 8099 2070 7269 .TikZ/PGF... pri\n+000049c0: 6d69 7469 7665 732e 0a0a 2020 2041 7320 mitives... As \n+000049d0: 6f66 2056 6572 7369 6f6e 2030 2e33 206f of Version 0.3 o\n+000049e0: 6620 e280 9873 6b65 7463 68e2 8099 2c20 f ...sketch..., \n+000049f0: 7370 6563 6961 6c20 6172 6775 6d65 6e74 special argument\n+00004a00: 7320 6d61 7920 6265 2073 6361 6c61 7273 s may be scalars\n+00004a10: 206f 720a 7665 6374 6f72 7320 696e 2061 or.vectors in a\n+00004a20: 6464 6974 696f 6e20 746f 2070 6f69 6e74 ddition to point\n+00004a30: 732e 2020 5265 6665 7265 6e63 6573 2074 s. References t\n+00004a40: 6f20 7363 616c 6172 2061 7267 756d 656e o scalar argumen\n+00004a50: 7473 2061 7265 0a6d 6572 656c 7920 7265 ts are.merely re\n+00004a60: 706c 6163 6564 2077 6974 6820 6120 6e75 placed with a nu\n+00004a70: 6d62 6572 2066 6f72 6d61 7474 6564 206a mber formatted j\n+00004a80: 7573 7420 6173 2061 6e79 2070 6f69 6e74 ust as any point\n+00004a90: 2063 6f6f 7264 696e 6174 652e 0a52 6566 coordinate..Ref\n+00004aa0: 6572 656e 6365 7320 746f 2076 6563 746f erences to vecto\n+00004ab0: 7273 2062 6563 6f6d 6520 7477 6f2d 6469 rs become two-di\n+00004ac0: 6d65 6e73 696f 6e61 6c20 706f 696e 7473 mensional points\n+00004ad0: 2e20 2054 6865 2074 6963 6b20 6f70 6572 . The tick oper\n+00004ae0: 6174 6f72 0a74 6861 7420 7365 6c65 6374 ator.that select\n+00004af0: 7320 696e 6469 7669 6475 616c 2063 6f6d s individual com\n+00004b00: 706f 6e65 6e74 7320 6f66 2070 6f69 6e74 ponents of point\n+00004b10: 7320 616e 6420 7665 6374 6f72 7320 656c s and vectors el\n+00004b20: 7365 7768 6572 6520 696e 0ae2 8098 736b sewhere in....sk\n+00004b30: 6574 6368 e280 9920 2873 6565 2066 6f72 etch... (see for\n+00004b40: 2065 7861 6d70 6c65 202a 6e6f 7465 2041 example *note A\n+00004b50: 6666 696e 6520 6172 6974 686d 6574 6963 ffine arithmetic\n+00004b60: 3a3a 2920 6361 6e20 616c 736f 2062 6520 ::) can also be \n+00004b70: 6170 706c 6965 640a 746f 2070 6f69 6e74 applied.to point\n+00004b80: 2061 6e64 2076 6563 746f 7220 6172 6775 and vector argu\n+00004b90: 6d65 6e74 2072 6566 6572 656e 6365 732e ment references.\n+00004ba0: 2020 416c 6c20 7468 7265 6520 6469 6d65 All three dime\n+00004bb0: 6e73 696f 6e73 206f 6620 610a 7472 616e nsions of a.tran\n+00004bc0: 7366 6f72 6d65 6420 706f 696e 7420 6f72 sformed point or\n+00004bd0: 2076 6563 746f 7220 6361 6e20 616c 736f vector can also\n+00004be0: 2062 6520 7375 6273 7469 7475 6564 2077 be substitued w\n+00004bf0: 6974 6820 e280 9827 33e2 8099 2e20 2053 ith ...'3.... S\n+00004c00: 6565 202a 6e6f 7465 0a53 7065 6369 616c ee *note.Special\n+00004c10: 733a 3a20 666f 7220 6465 7461 696c 732e s:: for details.\n+00004c20: 0a0a 2020 2042 7920 6465 6661 756c 742c .. By default,\n+00004c30: 20e2 8098 7370 6563 6961 6ce2 8099 206f ...special... o\n+00004c40: 626a 6563 7473 2061 7265 2070 7269 6e74 bjects are print\n+00004c50: 6564 206c 6173 742c 206f 7665 726c 6179 ed last, overlay\n+00004c60: 696e 6720 616c 6c20 6f74 6865 720a 6f62 ing all other.ob\n+00004c70: 6a65 6374 7320 696e 2074 6865 2073 6365 jects in the sce\n+00004c80: 6e65 2e20 2049 6620 796f 7520 7370 6563 ne. If you spec\n+00004c90: 6966 7920 7468 6520 696e 7465 726e 616c ify the internal\n+00004ca0: 206f 7074 696f 6e20 e280 986c 6179 3d69 option ...lay=i\n+00004cb0: 6ee2 8099 2c20 7468 650a 6869 6464 656e n..., the.hidden\n+00004cc0: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit\n+00004cd0: 686d 2063 6f6e 7369 6465 7273 2074 6865 hm considers the\n+00004ce0: 2065 6e74 6972 6520 7370 6563 6961 6c20 entire special \n+00004cf0: 6f62 6a65 6374 2074 6f20 6265 2074 6865 object to be the\n+00004d00: 0a66 6972 7374 2070 6f69 6e74 2028 2331 .first point (#1\n+00004d10: 2920 696e 2074 6865 2061 7267 756d 656e ) in the argumen\n+00004d20: 7420 6c69 7374 2e20 2049 6620 7468 6174 t list. If that\n+00004d30: 2070 6f69 6e74 2069 7320 6265 6869 6e64 point is behind\n+00004d40: 2028 6f66 0a73 6d61 6c6c 6572 207a 2d63 (of.smaller z-c\n+00004d50: 6f6d 706f 6e65 6e74 2074 6861 6e29 2061 omponent than) a\n+00004d60: 6e79 2064 7261 7761 626c 652c 2074 6865 ny drawable, the\n+00004d70: 6e20 7468 6520 656e 7469 7265 2073 7065 n the entire spe\n+00004d80: 6369 616c 206f 626a 6563 740a 6973 2064 cial object.is d\n+00004d90: 7261 776e 2062 6566 6f72 6520 7468 6174 rawn before that\n+00004da0: 2064 7261 7761 626c 652c 2073 6f20 7468 drawable, so th\n+00004db0: 6520 6472 6177 6162 6c65 206f 6273 6375 e drawable obscu\n+00004dc0: 7265 7320 7061 7274 7320 6f66 2074 6865 res parts of the\n+00004dd0: 0a73 7065 6369 616c 206f 626a 6563 7420 .special object \n+00004de0: 7468 6174 206f 7665 726c 6170 7320 6974 that overlaps it\n+00004df0: 2e20 2049 6e20 6f75 7220 6578 616d 706c . In our exampl\n+00004e00: 652c 2070 3120 6973 2074 6865 2066 726f e, p1 is the fro\n+00004e10: 6e74 2d6d 6f73 740a 706f 696e 7420 696e nt-most.point in\n+00004e20: 2074 6865 2073 6365 6e65 2028 6861 7320 the scene (has \n+00004e30: 7468 6520 6c61 7267 6573 7420 7a2d 636f the largest z-co\n+00004e40: 6d70 6f6e 656e 7429 2c20 736f 2061 6464 mponent), so add\n+00004e50: 696e 6720 e280 986c 6179 3d69 6ee2 8099 ing ...lay=in...\n+00004e60: 2068 6173 0a6e 6f20 6566 6665 6374 2e0a has.no effect..\n+00004e70: 0a20 2020 5769 7468 206f 7074 696f 6e20 . With option \n+00004e80: e280 986c 6179 3d75 6e64 6572 e280 992c ...lay=under...,\n+00004e90: 2061 2073 7065 6369 616c 2069 7320 6472 a special is dr\n+00004ea0: 6177 6e20 5f62 6566 6f72 655f 2c20 6865 awn _before_, he\n+00004eb0: 6e63 6520 6170 7065 6172 730a 5f75 6e64 nce appears._und\n+00004ec0: 6572 5f20 616e 7920 6f66 2074 6865 206f er_ any of the o\n+00004ed0: 626a 6563 7473 2068 616e 646c 6564 2062 bjects handled b\n+00004ee0: 7920 7468 6520 6869 6464 656e 2073 7572 y the hidden sur\n+00004ef0: 6661 6365 2061 6c67 6f72 6974 686d 2e0a face algorithm..\n+00004f00: 5468 6973 2069 7320 686f 7720 7468 6520 This is how the \n+00004f10: 6c69 6768 7420 6772 6179 2061 7865 7320 light gray axes \n+00004f20: 7765 7265 2061 6464 6564 2074 6f20 7468 were added to th\n+00004f30: 6520 2268 656c 6c6f 2077 6f72 6c64 2220 e \"hello world\" \n+00004f40: 6578 616d 706c 650a 2a6e 6f74 6520 4865 example.*note He\n+00004f50: 6c6c 6f20 776f 726c 643a 3a2e 0a0a 2020 llo world::... \n+00004f60: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects\n+00004f70: 2061 7265 2070 6f77 6572 6675 6c2c 2077 are powerful, w\n+00004f80: 6974 6820 6d61 6e79 2070 6f73 7369 626c ith many possibl\n+00004f90: 6520 7573 6573 2e0a 0a1f 0a46 696c 653a e uses.....File:\n+00004fa0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+00004fb0: 6f64 653a 204f 626a 6563 7420 7472 616e ode: Object tran\n+00004fc0: 7366 6f72 6d73 2c20 204e 6578 743a 2052 sforms, Next: R\n+00004fd0: 6570 6561 7465 6420 6f62 6a65 6374 732c epeated objects,\n+00004fe0: 2020 5072 6576 3a20 5370 6563 6961 6c20 Prev: Special \n+00004ff0: 6f62 6a65 6374 732c 2020 5570 3a20 496e objects, Up: In\n+00005000: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex\n+00005010: 616d 706c 650a 0a32 2e35 2054 7261 6e73 ample..2.5 Trans\n+00005020: 666f 726d 730a 3d3d 3d3d 3d3d 3d3d 3d3d forms.==========\n+00005030: 3d3d 3d3d 0a0a 4e6f 7720 6c65 7427 7320 ====..Now let's \n+00005040: 6164 6420 6120 7365 636f 6e64 2063 6f70 add a second cop\n+00005050: 7920 6f66 2074 6865 2070 6965 7263 6564 y of the pierced\n+00005060: 2074 6574 7261 6865 6472 6f6e 2e20 2057 tetrahedron. W\n+00005070: 6527 6c6c 2072 6f74 6174 650a 7468 6520 e'll rotate.the \n+00005080: 636f 7079 2039 3020 6465 6772 6565 7320 copy 90 degrees \n+00005090: 6162 6f75 7420 7468 6520 782d 6178 6973 about the x-axis\n+000050a0: 2077 6974 6820 7468 6520 6f72 6967 696e with the origin\n+000050b0: 2061 7320 e280 9c63 656e 7465 7220 6f66 as ...center of\n+000050c0: 0a72 6f74 6174 696f 6ee2 809d 2073 6f20 .rotation... so \n+000050d0: 7765 2063 616e 2073 6565 2074 6865 2062 we can see the b\n+000050e0: 6163 6b2c 2074 6865 6e20 7472 616e 736c ack, then transl\n+000050f0: 6174 6520 6974 2074 6f20 7468 6520 7269 ate it to the ri\n+00005100: 6768 742d 2d69 6e20 7468 650a 706f 7369 ght--in the.posi\n+00005110: 7469 7665 2078 2d64 6972 6563 7469 6f6e tive x-direction\n+00005120: 2d2d 736f 2069 7420 646f 6573 6e27 7420 --so it doesn't \n+00005130: 636f 6c6c 6964 6520 7769 7468 2074 6865 collide with the\n+00005140: 206f 7269 6769 6e61 6c2e 2020 546f 2068 original. To h\n+00005150: 656c 700a 7573 2073 6565 2077 6861 7427 elp.us see what'\n+00005160: 7320 676f 696e 6720 6f6e 2c20 6d61 6b65 s going on, make\n+00005170: 2074 6865 2062 6163 6b20 7369 6465 2067 the back side g\n+00005180: 7261 792e 0a20 2064 6566 2070 6965 7263 ray.. def pierc\n+00005190: 6564 5f74 6574 7261 6865 6472 6f6e 207b ed_tetrahedron {\n+000051a0: 0a20 2020 2064 6566 2070 3120 2830 2c30 . def p1 (0,0\n+000051b0: 2c31 2920 6465 6620 7032 2028 312c 302c ,1) def p2 (1,0,\n+000051c0: 3029 0a20 2020 2064 6566 2070 3320 2830 0). def p3 (0\n+000051d0: 2c31 2c30 2920 6465 6620 7034 2028 2d2e ,1,0) def p4 (-.\n+000051e0: 332c 2d2e 352c 2d2e 3829 0a20 2020 2070 3,-.5,-.8). p\n+000051f0: 6f6c 7967 6f6e 2870 3129 2870 3229 2870 olygon(p1)(p2)(p\n+00005200: 3329 2020 2020 2020 2020 2020 2020 2020 3) \n+00005210: 2020 2020 2020 2020 2520 6f72 6967 696e % origin\n+00005220: 616c 0a20 2020 2070 6f6c 7967 6f6e 2870 al. polygon(p\n+00005230: 3129 2870 3429 2870 3229 2020 2020 2020 1)(p4)(p2) \n 00005240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00005250: 2020 2020 2020 2520 626f 7474 6f6d 0a20 % bottom. \n-00005260: 2020 2070 6f6c 7967 6f6e 2870 3129 2870 polygon(p1)(p\n-00005270: 3329 2870 3429 2020 2020 2020 2020 2020 3)(p4) \n-00005280: 2020 2020 2020 2020 2020 2020 2520 6c65 % le\n-00005290: 6674 0a20 2020 2070 6f6c 7967 6f6e 5b66 ft. polygon[f\n-000052a0: 696c 6c63 6f6c 6f72 3d6c 6967 6874 6772 illcolor=lightgr\n-000052b0: 6179 5d28 7033 2928 7032 2928 7034 2920 ay](p3)(p2)(p4) \n-000052c0: 2520 7265 6172 0a20 2020 206c 696e 655b % rear. line[\n-000052d0: 6c69 6e65 636f 6c6f 723d 7265 645d 282d linecolor=red](-\n-000052e0: 312c 2d31 2c2d 3129 2832 2c32 2c32 290a 1,-1,-1)(2,2,2).\n-000052f0: 2020 7d0a 2020 7b70 6965 7263 6564 5f74 }. {pierced_t\n-00005300: 6574 7261 6865 6472 6f6e 7d20 2025 2074 etrahedron} % t\n-00005310: 6574 7261 6865 6472 6f6e 2069 6e20 6f72 etrahedron in or\n-00005320: 6967 696e 616c 2070 6f73 6974 696f 6e0a iginal position.\n-00005330: 2020 7075 7420 7b20 726f 7461 7465 2839 put { rotate(9\n-00005340: 302c 2028 302c 302c 3029 2c20 5b31 2c30 0, (0,0,0), [1,0\n-00005350: 2c30 5d29 2025 2063 6f70 7920 696e 206e ,0]) % copy in n\n-00005360: 6577 2070 6f73 6974 696f 6e0a 2020 2020 ew position. \n-00005370: 2020 2020 7468 656e 2074 7261 6e73 6c61 then transla\n-00005380: 7465 285b 322e 352c 302c 305d 2920 7d20 te([2.5,0,0]) } \n-00005390: 7b70 6965 7263 6564 5f74 6574 7261 6865 {pierced_tetrahe\n-000053a0: 6472 6f6e 7d0a 4865 7265 2074 6865 2065 dron}.Here the e\n-000053b0: 6e74 6972 6520 636f 6465 206f 6620 7468 ntire code of th\n-000053c0: 6520 7072 6576 696f 7573 2065 7861 6d70 e previous examp\n-000053d0: 6c65 2068 6173 2062 6565 6e20 7772 6170 le has been wrap\n-000053e0: 7065 6420 696e 2061 0a64 6566 696e 6974 ped in a.definit\n-000053f0: 696f 6e20 6279 2066 6f72 6d69 6e67 2061 ion by forming a\n-00005400: 20e2 809c 626c 6f63 6be2 809d 2077 6974 ...block... wit\n-00005410: 6820 6272 6163 6573 2028 6120 7369 6e67 h braces (a sing\n-00005420: 6c65 2069 7465 6d20 776f 756c 6420 6e6f le item would no\n-00005430: 740a 6e65 6564 2074 6865 6d29 2e20 2054 t.need them). T\n-00005440: 6865 2070 6f69 6e74 2064 6566 696e 6974 he point definit\n-00005450: 696f 6e73 206e 6573 7465 6420 696e 7369 ions nested insi\n-00005460: 6465 2074 6865 2062 7261 6365 7320 6172 de the braces ar\n-00005470: 650a e280 9c6c 6578 6963 616c 6c79 2073 e....lexically s\n-00005480: 636f 7065 64e2 809d 2e20 2054 6865 6972 coped.... Their\n-00005490: 206d 6561 6e69 6e67 2065 7874 656e 6473 meaning extends\n-000054a0: 206f 6e6c 7920 746f 2074 6865 2065 6e64 only to the end\n-000054b0: 206f 6620 7468 6520 626c 6f63 6b2e 0a54 of the block..T\n-000054c0: 6865 206f 7574 6572 2064 6566 2069 7320 he outer def is \n-000054d0: 6361 6c6c 6564 2061 20e2 809c 6472 6177 called a ...draw\n-000054e0: 6162 6c65 e280 9d20 6465 6669 6e69 7469 able... definiti\n-000054f0: 6f6e 2062 6563 6175 7365 2069 7420 6465 on because it de\n-00005500: 7363 7269 6265 730a 736f 6d65 7468 696e scribes.somethin\n-00005510: 6720 7468 6174 2063 616e 2062 6520 6472 g that can be dr\n-00005520: 6177 6e2e 0a0a 2020 2041 2064 7261 7761 awn... A drawa\n-00005530: 626c 6520 6465 6669 6e69 7469 6f6e 2062 ble definition b\n-00005540: 7920 6974 7365 6c66 2063 6175 7365 7320 y itself causes \n-00005550: 6e6f 7468 696e 6720 746f 2068 6170 7065 nothing to happe\n-00005560: 6e20 756e 7469 6c20 6974 730a 6e61 6d65 n until its.name\n-00005570: 2069 7320 7265 6665 7265 6e63 6564 2e20 is referenced. \n-00005580: 2044 7261 7761 626c 6520 7265 6665 7265 Drawable refere\n-00005590: 6e63 6573 206d 7573 7420 6265 2065 6e63 nces must be enc\n-000055a0: 6c6f 7365 6420 696e 2063 7572 6c79 0a62 losed in curly.b\n-000055b0: 7261 6365 732c 2065 2e67 2e20 7b66 6f6f races, e.g. {foo\n-000055c0: 7d2c 2077 6974 6820 6e6f 2069 6e74 6572 }, with no inter\n-000055d0: 7665 6e69 6e67 2077 6869 7465 2073 7061 vening white spa\n-000055e0: 6365 2e20 2049 6e20 7468 6520 636f 6465 ce. In the code\n-000055f0: 2061 626f 7665 2c0a 7468 6520 6669 7273 above,.the firs\n-00005600: 7420 7265 6665 7265 6e63 6520 7b70 6965 t reference {pie\n-00005610: 7263 6564 5f74 6574 7261 6865 6472 6f6e rced_tetrahedron\n-00005620: 7d20 6973 2061 2070 6c61 696e 206f 6e65 } is a plain one\n-00005630: 2e20 2049 7473 2065 6666 6563 7420 6973 . Its effect is\n-00005640: 0a6d 6572 656c 7920 746f 2064 7570 6c69 .merely to dupli\n-00005650: 6361 7465 2074 6865 2065 6172 6c69 6572 cate the earlier\n-00005660: 2064 7261 7769 6e67 2e20 2041 6c6d 6f73 drawing. Almos\n-00005670: 7420 616e 7920 7365 7269 6573 206f 6620 t any series of \n-00005680: e280 9873 6b65 7463 68e2 8099 0a63 6f6d ...sketch....com\n-00005690: 6d61 6e64 7320 7374 7566 6620 6d61 7920 mands stuff may \n-000056a0: 6265 2072 6570 6c61 6365 6420 7769 7468 be replaced with\n-000056b0: 2064 6566 2066 6f6f 207b 2073 7475 6666 def foo { stuff\n-000056c0: 207d 207b 666f 6f7d 2077 6974 686f 7574 } {foo} without\n-000056d0: 0a63 6861 6e67 696e 6720 6974 7320 6d65 .changing its me\n-000056e0: 616e 696e 672e 0a0a 2020 2054 6865 2070 aning... The p\n-000056f0: 7574 2063 6f6d 6d61 6e64 2073 7570 706c ut command suppl\n-00005700: 6965 7320 6120 7365 636f 6e64 2072 6566 ies a second ref\n-00005710: 6572 656e 6365 2c20 7468 6973 2074 696d erence, this tim\n-00005720: 6520 7769 7468 2061 0ae2 809c 7472 616e e with a....tran\n-00005730: 7366 6f72 6de2 809d 2061 7070 6c69 6564 sform... applied\n-00005740: 2066 6972 7374 2e20 2054 6865 2072 6f74 first. The rot\n-00005750: 6174 6520 7472 616e 7366 6f72 6d20 7475 ate transform tu\n-00005760: 726e 7320 7468 6520 7465 7472 6168 6564 rns the tetrahed\n-00005770: 726f 6e0a 3930 2064 6567 7265 6573 2061 ron.90 degrees a\n-00005780: 626f 7574 2074 6865 206f 7269 6769 6e2e bout the origin.\n-00005790: 2020 5468 6520 6178 6973 206f 6620 726f The axis of ro\n-000057a0: 7461 7469 6f6e 2069 7320 7468 6520 7665 tation is the ve\n-000057b0: 6374 6f72 0a5b 312c 302c 305d 2e20 2042 ctor.[1,0,0]. B\n-000057c0: 7920 7468 6520 e280 9c72 6967 6874 2068 y the ...right h\n-000057d0: 616e 6420 7275 6c65 e280 9d2c 2074 6869 and rule..., thi\n-000057e0: 7320 6361 7573 6573 2074 6865 2074 6f70 s causes the top\n-000057f0: 206f 6620 7468 650a 7465 7472 6168 6564 of the.tetrahed\n-00005800: 726f 6e20 746f 2072 6f74 6174 6520 746f ron to rotate to\n-00005810: 7761 7264 2074 6865 2076 6965 7765 7220 ward the viewer \n-00005820: 616e 6420 7468 6520 626f 7474 6f6d 2061 and the bottom a\n-00005830: 7761 792e 2020 5468 6520 7275 6c65 0a72 way. The rule.r\n-00005840: 6563 6569 7665 7320 6974 7320 6e61 6d65 eceives its name\n-00005850: 2066 726f 6d20 7468 6520 666f 6c6c 6f77 from the follow\n-00005860: 696e 6720 6465 6669 6e69 7469 6f6e 3a0a ing definition:.\n-00005870: 2020 2020 202a 5269 6768 7420 6861 6e64 *Right hand\n-00005880: 2072 756c 652e 2a20 2049 6620 7468 6520 rule.* If the \n-00005890: 7269 6768 7420 6861 6e64 2069 7320 7772 right hand is wr\n-000058a0: 6170 7065 6420 6172 6f75 6e64 2061 6e79 apped around any\n-000058b0: 2061 7869 730a 2020 2020 2077 6974 6820 axis. with \n-000058c0: 7468 6520 7468 756d 6220 706f 696e 7469 the thumb pointi\n-000058d0: 6e67 2069 6e20 7468 6520 6178 6973 2064 ng in the axis d\n-000058e0: 6972 6563 7469 6f6e 2c20 7468 656e 2074 irection, then t\n-000058f0: 6865 2066 696e 6765 7273 0a20 2020 2020 he fingers. \n-00005900: 6375 726c 2069 6e20 7468 6520 6469 7265 curl in the dire\n-00005910: 6374 696f 6e20 6f66 2070 6f73 6974 6976 ction of positiv\n-00005920: 6520 726f 7461 7469 6f6e 2061 626f 7574 e rotation about\n-00005930: 2074 6861 7420 6178 6973 2e0a 2020 2054 that axis.. T\n-00005940: 6865 2074 7261 6e73 6c61 7465 2074 7261 he translate tra\n-00005950: 6e73 666f 726d 206d 6f76 6573 2074 6865 nsform moves the\n-00005960: 2070 7972 616d 6964 206c 6174 6572 616c pyramid lateral\n-00005970: 6c79 2074 6f20 7468 6520 7269 6768 7420 ly to the right \n-00005980: 6279 0a61 6464 696e 6720 7468 6520 7665 by.adding the ve\n-00005990: 6374 6f72 205b 322e 352c 302c 305d 2074 ctor [2.5,0,0] t\n-000059a0: 6f20 6561 6368 2076 6572 7465 7820 636f o each vertex co\n-000059b0: 6f72 6469 6e61 7465 2e20 2054 6865 2072 ordinate. The r\n-000059c0: 6573 756c 7420 6973 0a73 686f 776e 2068 esult is.shown h\n-000059d0: 6572 652e 0a0a 0008 5b69 6d61 6765 2073 ere.....[image s\n-000059e0: 7263 3d22 6578 3035 302e 706e 6722 2074 rc=\"ex050.png\" t\n-000059f0: 6578 743d 2249 6d61 6765 2065 7830 3530 ext=\"Image ex050\n-00005a00: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text\n-00005a10: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this\n-00005a20: 2064 6f63 756d 656e 742e 2200 085d 0a0a document.\"..]..\n-00005a30: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-00005a40: 6e66 6f2c 2020 4e6f 6465 3a20 5265 7065 nfo, Node: Repe\n-00005a50: 6174 6564 206f 626a 6563 7473 2c20 204e ated objects, N\n-00005a60: 6578 743a 2053 7765 7074 206f 626a 6563 ext: Swept objec\n-00005a70: 7473 2c20 2050 7265 763a 204f 626a 6563 ts, Prev: Objec\n-00005a80: 7420 7472 616e 7366 6f72 6d73 2c20 2055 t transforms, U\n-00005a90: 703a 2049 6e74 726f 6475 6374 696f 6e20 p: Introduction \n-00005aa0: 6279 2065 7861 6d70 6c65 0a0a 322e 3620 by example..2.6 \n-00005ab0: 5265 7065 6174 6564 206f 626a 6563 7473 Repeated objects\n-00005ac0: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d .===============\n-00005ad0: 3d3d 3d3d 3d0a 0a54 6f20 6472 6177 2073 =====..To draw s\n-00005ae0: 6576 656e 2069 6e73 7461 6e63 6573 206f even instances o\n-00005af0: 6620 7468 6520 7465 7472 6168 6564 726f f the tetrahedro\n-00005b00: 6e2c 2065 6163 6820 6469 6666 6572 696e n, each differin\n-00005b10: 6720 6672 6f6d 2074 6865 206c 6173 740a g from the last.\n-00005b20: 6279 2074 6865 2073 616d 6520 7472 616e by the same tran\n-00005b30: 7366 6f72 6d2c 2072 6570 6c61 6365 2074 sform, replace t\n-00005b40: 6865 206c 6173 7420 7477 6f20 636f 6d6d he last two comm\n-00005b50: 616e 6473 206f 6620 7468 6520 7072 6576 ands of the prev\n-00005b60: 696f 7573 0a65 7861 6d70 6c65 2077 6974 ious.example wit\n-00005b70: 680a 2020 7265 7065 6174 207b 2037 2c20 h. repeat { 7, \n-00005b80: 726f 7461 7465 2831 352c 2028 302c 302c rotate(15, (0,0,\n-00005b90: 3029 2c20 5b31 2c30 2c30 5d29 2025 2063 0), [1,0,0]) % c\n-00005ba0: 6f70 7920 696e 206e 6577 2070 6f73 6974 opy in new posit\n-00005bb0: 696f 6e0a 2020 2020 2020 2020 2020 2020 ion. \n-00005bc0: 2020 7468 656e 2074 7261 6e73 6c61 7465 then translate\n-00005bd0: 285b 322c 302c 305d 2920 7d20 7b70 6965 ([2,0,0]) } {pie\n-00005be0: 7263 6564 5f74 6574 7261 6865 6472 6f6e rced_tetrahedron\n-00005bf0: 7d0a 416e 6420 7468 6520 7265 7375 6c74 }.And the result\n-00005c00: 2e2e 2e0a 0a00 085b 696d 6167 6520 7372 .......[image sr\n-00005c10: 633d 2265 7830 3630 2e70 6e67 2220 7465 c=\"ex060.png\" te\n-00005c20: 7874 3d22 496d 6167 6520 6578 3036 3020 xt=\"Image ex060 \n-00005c30: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text \n-00005c40: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this \n-00005c50: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a1f document.\"..]...\n-00005c60: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00005c70: 666f 2c20 204e 6f64 653a 2053 7765 7074 fo, Node: Swept\n-00005c80: 206f 626a 6563 7473 2c20 2050 7265 763a objects, Prev:\n-00005c90: 2052 6570 6561 7465 6420 6f62 6a65 6374 Repeated object\n-00005ca0: 732c 2020 5570 3a20 496e 7472 6f64 7563 s, Up: Introduc\n-00005cb0: 7469 6f6e 2062 7920 6578 616d 706c 650a tion by example.\n-00005cc0: 0a32 2e37 2053 7765 7074 206f 626a 6563 .2.7 Swept objec\n-00005cd0: 7473 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ts.=============\n-00005ce0: 3d3d 3d3d 0a0a 4d61 6e79 2066 616d 696c ====..Many famil\n-00005cf0: 6961 7220 7368 6170 6573 2063 616e 2062 iar shapes can b\n-00005d00: 6520 6765 6e65 7261 7465 6420 6279 2073 e generated by s\n-00005d10: 7765 6570 696e 6720 7369 6d70 6c65 7220 weeping simpler \n-00005d20: 6f6e 6573 2074 6872 6f75 6768 0a73 7061 ones through.spa\n-00005d30: 6365 2061 6e64 2063 6f6e 7369 6465 7269 ce and consideri\n-00005d40: 6e67 2074 6865 2072 6573 756c 7469 6e67 ng the resulting\n-00005d50: 2070 6174 682c 2073 7572 6661 6365 2c20 path, surface, \n-00005d60: 6f72 2076 6f6c 756d 652e 2020 e280 9853 or volume. ...S\n-00005d70: 6b65 7463 68e2 8099 0a69 6d70 6c65 6d65 ketch....impleme\n-00005d80: 6e74 7320 7468 6973 2069 6465 6120 696e nts this idea in\n-00005d90: 2074 6865 2073 7765 6570 2063 6f6d 6d61 the sweep comma\n-00005da0: 6e64 2e0a 2020 6465 6620 6e5f 7365 6773 nd.. def n_segs\n-00005db0: 2038 0a20 2073 7765 6570 207b 206e 5f73 8. sweep { n_s\n-00005dc0: 6567 732c 2072 6f74 6174 6528 3138 3020 egs, rotate(180 \n-00005dd0: 2f20 6e5f 7365 6773 2c20 2830 2c30 2c30 / n_segs, (0,0,0\n-00005de0: 292c 205b 302c 302c 315d 2920 7d20 2831 ), [0,0,1]) } (1\n-00005df0: 2c30 2c30 290a 5468 6973 2063 6f64 6520 ,0,0).This code \n-00005e00: 7377 6565 7073 2074 6865 2070 6f69 6e74 sweeps the point\n-00005e10: 2028 312c 302c 3029 2065 6967 6874 2074 (1,0,0) eight t\n-00005e20: 696d 6573 2062 7920 726f 7461 7469 6e67 imes by rotating\n-00005e30: 2069 7420 3138 302f 3820 3d0a 3232 2e35 it 180/8 =.22.5\n-00005e40: 2064 6567 7265 6573 2065 6163 6820 7469 degrees each ti\n-00005e50: 6d65 2061 6e64 2063 6f6e 6e65 6374 696e me and connectin\n-00005e60: 6720 7468 6520 7265 7375 6c74 696e 6720 g the resulting \n-00005e70: 706f 696e 7473 2077 6974 6820 6c69 6e65 points with line\n-00005e80: 0a73 6567 6d65 6e74 732e 2020 5468 6520 .segments. The \n-00005e90: 6465 6620 7573 6564 2068 6572 6520 6973 def used here is\n-00005ea0: 2061 20e2 809c 7363 616c 6172 e280 9d20 a ...scalar... \n-00005eb0: 6465 6669 6e69 7469 6f6e 2e20 2052 6566 definition. Ref\n-00005ec0: 6572 656e 6365 7320 746f 0a73 6361 6c61 erences to.scala\n-00005ed0: 7273 2068 6176 6520 6e6f 2065 6e63 6c6f rs have no enclo\n-00005ee0: 7369 6e67 2062 7261 636b 6574 7320 6174 sing brackets at\n-00005ef0: 2061 6c6c 2e0a 0a2a 204d 656e 753a 0a0a all...* Menu:..\n-00005f00: 2a20 506f 696e 7420 7377 6565 7073 3a3a * Point sweeps::\n-00005f10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00005f20: 5377 6570 7420 706f 696e 7473 206d 616b Swept points mak\n-00005f30: 6520 6c69 6e65 7320 616e 6420 706f 6c79 e lines and poly\n-00005f40: 676f 6e73 2e0a 2a20 506f 6c79 6c69 6e65 gons..* Polyline\n-00005f50: 2073 7765 6570 733a 3a20 2020 2020 2020 sweeps:: \n-00005f60: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line\n-00005f70: 7320 6d61 6b65 2073 7572 6661 6365 732e s make surfaces.\n-00005f80: 0a2a 204e 6573 7465 6420 7377 6565 7073 .* Nested sweeps\n-00005f90: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-00005fa0: 2053 7765 7074 2073 7765 6570 7320 6172 Swept sweeps ar\n-00005fb0: 6520 7573 6566 756c 210a 2a20 506f 6c79 e useful!.* Poly\n-00005fc0: 676f 6e20 7377 6565 7073 3a3a 2020 2020 gon sweeps:: \n-00005fd0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-00005fe0: 706f 6c79 676f 6e73 206d 616b 6520 736f polygons make so\n-00005ff0: 6c69 6473 2e2e 2e0a 2a20 506f 6c79 6c69 lids....* Polyli\n-00006000: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c\n-00006010: 6c6f 7375 7265 3a3a 2020 616e 6420 736f losure:: and so\n-00006020: 2064 6f20 636c 6f73 6564 2070 6f6c 796c do closed polyl\n-00006030: 696e 6520 7377 6565 7073 2e0a 2a20 4166 ine sweeps..* Af\n-00006040: 6669 6e65 2061 7269 7468 6d65 7469 633a fine arithmetic:\n-00006050: 3a20 2020 2020 2020 2020 2020 536b 6574 : Sket\n-00006060: 6368 2075 7365 6675 6c20 6d61 7468 2065 ch useful math e\n-00006070: 7870 7265 7373 696f 6e2e 0a2a 204d 6f72 xpression..* Mor\n-00006080: 6520 746f 206c 6561 726e 3a3a 2020 2020 e to learn:: \n-00006090: 2020 2020 2020 2020 2020 2043 6865 636b Check\n-000060a0: 206f 7574 2074 6865 204d 6f62 6975 7320 out the Mobius \n-000060b0: 7374 7269 7021 0a0a 1f0a 4669 6c65 3a20 strip!....File: \n-000060c0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-000060d0: 6465 3a20 506f 696e 7420 7377 6565 7073 de: Point sweeps\n-000060e0: 2c20 204e 6578 743a 2050 6f6c 796c 696e , Next: Polylin\n-000060f0: 6520 7377 6565 7073 2c20 2050 7265 763a e sweeps, Prev:\n-00006100: 2053 7765 7074 206f 626a 6563 7473 2c20 Swept objects, \n-00006110: 2055 703a 2053 7765 7074 206f 626a 6563 Up: Swept objec\n-00006120: 7473 0a0a 322e 372e 3120 506f 696e 7420 ts..2.7.1 Point \n-00006130: 7377 6565 7073 0a2d 2d2d 2d2d 2d2d 2d2d sweeps.---------\n-00006140: 2d2d 2d2d 2d2d 2d2d 2d0a 0a53 7765 6570 ---------..Sweep\n-00006150: 696e 6720 6120 706f 696e 7420 6d61 6b65 ing a point make\n-00006160: 7320 6120 6f6e 652d 6469 6d65 6e73 696f s a one-dimensio\n-00006170: 6e61 6c20 7061 7468 2c20 7768 6963 6820 nal path, which \n-00006180: 6973 2061 2070 6f6c 796c 696e 652e 0a53 is a polyline..S\n-00006190: 696e 6365 2077 6520 6861 7665 2073 7765 ince we have swe\n-000061a0: 7074 2077 6974 6820 6120 726f 7461 7469 pt with a rotati\n-000061b0: 6f6e 2c20 7468 6520 7265 7375 6c74 2069 on, the result i\n-000061c0: 7320 6120 6369 7263 756c 6172 2061 7263 s a circular arc\n-000061d0: 2e20 2048 6572 650a 6973 2077 6861 7420 . Here.is what \n-000061e0: 6974 206c 6f6f 6b73 206c 696b 652e 0a0a it looks like...\n-000061f0: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n-00006200: 3037 302e 706e 6722 2074 6578 743d 2249 070.png\" text=\"I\n-00006210: 6d61 6765 2065 7830 3730 206f 6d69 7474 mage ex070 omitt\n-00006220: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n-00006230: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n-00006240: 656e 742e 2200 085d 0a0a 2020 2054 6869 ent.\"..].. Thi\n-00006250: 7320 6973 2074 6865 2066 6972 7374 2065 s is the first e\n-00006260: 7861 6d70 6c65 2077 6520 6861 7665 2073 xample we have s\n-00006270: 6565 6e20 6f66 20e2 8098 736b 6574 6368 een of ...sketch\n-00006280: e280 9920 6172 6974 686d 6574 6963 2e20 ... arithmetic. \n-00006290: 2054 6865 0a65 7870 7265 7373 696f 6e20 The.expression \n-000062a0: 3138 3020 2f20 6e5f 7365 6773 2063 6175 180 / n_segs cau\n-000062b0: 7365 7320 7468 6520 6569 6768 7420 726f ses the eight ro\n-000062c0: 7461 7469 6f6e 7320 746f 2061 6464 2074 tations to add t\n-000062d0: 6f20 3138 302e 2020 4966 0a79 6f75 2772 o 180. If.you'r\n-000062e0: 6520 7061 7969 6e67 2061 7474 656e 7469 e paying attenti\n-000062f0: 6f6e 2c20 796f 7527 6c6c 2068 6176 6520 on, you'll have \n-00006300: 616c 7265 6164 7920 6e6f 7465 6420 7468 already noted th\n-00006310: 6174 2074 6865 7265 2061 7265 205f 6e69 at there are _ni\n-00006320: 6e65 5f0a 706f 696e 7473 2c20 7072 6f64 ne_.points, prod\n-00006330: 7563 696e 6720 6569 6768 7420 6c69 6e65 ucing eight line\n-00006340: 2073 6567 6d65 6e74 732e 0a0a 2020 2059 segments... Y\n-00006350: 6f75 2063 616e 2063 6175 7365 2074 6865 ou can cause the\n-00006360: 2073 7765 7074 2070 6f69 6e74 2074 6f20 swept point to \n-00006370: 6765 6e65 7261 7465 2061 2073 696e 676c generate a singl\n-00006380: 6520 706f 6c79 676f 6e20 7261 7468 6572 e polygon rather\n-00006390: 0a74 6861 6e20 6120 706f 6c79 6c69 6e65 .than a polyline\n-000063a0: 2062 7920 7573 696e 6720 7468 6520 e280 by using the ..\n-000063b0: 9c63 6c6f 7375 7265 2074 6167 e280 9d20 .closure tag... \n-000063c0: 3c3e 2061 6674 6572 2074 6865 206e 756d <> after the num\n-000063d0: 6265 7220 6f66 2073 7765 7074 0a6f 626a ber of swept.obj\n-000063e0: 6563 7473 2e20 2043 6f64 6520 616e 6420 ects. Code and \n-000063f0: 7265 7375 6c74 2066 6f6c 6c6f 770a 2020 result follow. \n-00006400: 6465 6620 6e5f 7365 6773 2038 0a20 2073 def n_segs 8. s\n-00006410: 7765 6570 207b 206e 5f73 6567 733c 3e2c weep { n_segs<>,\n-00006420: 2072 6f74 6174 6528 3138 3020 2f20 6e5f rotate(180 / n_\n-00006430: 7365 6773 2c20 2830 2c30 2c30 292c 205b segs, (0,0,0), [\n-00006440: 302c 302c 315d 2920 7d20 2831 2c30 2c30 0,0,1]) } (1,0,0\n-00006450: 290a 0008 5b69 6d61 6765 2073 7263 3d22 )...[image src=\"\n-00006460: 6578 3038 302e 706e 6722 2074 6578 743d ex080.png\" text=\n-00006470: 2249 6d61 6765 2065 7830 3830 206f 6d69 \"Image ex080 omi\n-00006480: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver\n-00006490: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc\n-000064a0: 756d 656e 742e 2200 085d 0a0a 1f0a 4669 ument.\"..]....Fi\n-000064b0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-000064c0: 2020 4e6f 6465 3a20 506f 6c79 6c69 6e65 Node: Polyline\n-000064d0: 2073 7765 6570 732c 2020 4e65 7874 3a20 sweeps, Next: \n-000064e0: 4e65 7374 6564 2073 7765 6570 732c 2020 Nested sweeps, \n-000064f0: 5072 6576 3a20 506f 696e 7420 7377 6565 Prev: Point swee\n-00006500: 7073 2c20 2055 703a 2053 7765 7074 206f ps, Up: Swept o\n-00006510: 626a 6563 7473 0a0a 322e 372e 3220 506f bjects..2.7.2 Po\n-00006520: 6c79 6c69 6e65 2073 7765 6570 730a 2d2d lyline sweeps.--\n-00006530: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00006540: 2d2d 2d0a 0a53 7765 6570 696e 6720 6120 ---..Sweeping a \n-00006550: 706f 6c79 6c69 6e65 2070 726f 6475 6365 polyline produce\n-00006560: 7320 6120 7375 7266 6163 6520 636f 6d70 s a surface comp\n-00006570: 6f73 6564 206f 6620 6d61 6e79 2066 6163 osed of many fac\n-00006580: 6573 2e20 2054 6865 0a75 6e62 726f 6b65 es. The.unbroke\n-00006590: 6e20 6865 6c69 7820 696e 2074 6865 2065 n helix in the e\n-000065a0: 7861 6d70 6c65 202a 6e6f 7465 2048 656c xample *note Hel\n-000065b0: 6978 2077 6974 6820 6375 6c6c 2073 6574 ix with cull set\n-000065c0: 2066 616c 7365 2074 6865 6e0a 7472 7565 false then.true\n-000065d0: 3a3a 2069 7320 7072 6f64 7563 6564 2062 :: is produced b\n-000065e0: 7920 7468 6973 2063 6f64 6520 2870 6c75 y this code (plu\n-000065f0: 7320 6120 7375 7272 6f75 6e64 696e 6720 s a surrounding \n-00006600: 7075 7420 726f 7461 7469 6f6e 2074 6f20 put rotation to \n-00006610: 6d61 6b65 0a61 6e20 696e 7465 7265 7374 make.an interest\n-00006620: 696e 6720 7669 6577 3b20 7468 6973 2068 ing view; this h\n-00006630: 6173 2062 6565 6e20 6f6d 6974 7465 6429 as been omitted)\n-00006640: 2e0a 2020 6465 6620 4b20 5b30 2c30 2c31 .. def K [0,0,1\n-00006650: 5d0a 2020 7377 6565 705b 6375 6c6c 3d66 ]. sweep[cull=f\n-00006660: 616c 7365 5d20 7b0a 2020 2020 3630 2c20 alse] {. 60, \n-00006670: 0a20 2020 2072 6f74 6174 6528 3130 2c20 . rotate(10, \n-00006680: 2830 2c30 2c30 292c 205b 4b5d 2920 7468 (0,0,0), [K]) th\n-00006690: 656e 2074 7261 6e73 6c61 7465 2831 2f36 en translate(1/6\n-000066a0: 202a 205b 4b5d 2920 0a20 207d 206c 696e * [K]) . } lin\n-000066b0: 655b 6c69 6e65 7769 6474 683d 3270 745d e[linewidth=2pt]\n-000066c0: 282d 312c 3029 2831 2c30 290a 4167 6169 (-1,0)(1,0).Agai\n-000066d0: 6e2c 2036 3020 7365 676d 656e 7473 206f n, 60 segments o\n-000066e0: 6620 7468 6520 6865 6c69 7820 6172 6520 f the helix are \n-000066f0: 7072 6f64 7563 6564 2062 7920 636f 6e6e produced by conn\n-00006700: 6563 7469 6e67 2036 3120 696e 7374 616e ecting 61 instan\n-00006710: 6365 730a 6f66 2074 6865 2073 7765 7074 ces.of the swept\n-00006720: 206c 696e 652e 2020 4f70 7469 6f6e 7320 line. Options \n-00006730: 6170 706c 6965 6420 746f 2074 6865 2073 applied to the s\n-00006740: 7765 6570 2c20 6865 7265 2063 756c 6c3d weep, here cull=\n-00006750: 6661 6c73 652c 2061 7265 0a74 7265 6174 false, are.treat\n-00006760: 6564 2061 7320 6f70 7469 6f6e 7320 666f ed as options fo\n-00006770: 7220 7468 6520 6765 6e65 7261 7465 6420 r the generated \n-00006780: 706f 6c79 676f 6e20 6f72 2070 6f6c 796c polygon or polyl\n-00006790: 696e 652e 2020 4f70 7469 6f6e 7320 6f66 ine. Options of\n-000067a0: 0a74 6865 2073 7765 7074 206c 696e 6520 .the swept line \n-000067b0: 6974 7365 6c66 2c20 6865 7265 206c 696e itself, here lin\n-000067c0: 6577 6964 7468 3d32 7074 2c20 6172 6520 ewidth=2pt, are \n-000067d0: 6967 6e6f 7265 642c 2074 686f 7567 6820 ignored, though \n-000067e0: 7769 7468 2061 0a77 6172 6e69 6e67 2e20 with a.warning. \n-000067f0: 2054 6869 7320 6465 6620 6973 2061 20e2 This def is a .\n-00006800: 809c 7665 6374 6f72 e280 9d20 6465 6669 ..vector... defi\n-00006810: 6e69 7469 6f6e 2c20 7768 6963 6820 6d75 nition, which mu\n-00006820: 7374 2062 6520 7265 6665 7265 6e63 6564 st be referenced\n-00006830: 0a77 6974 6820 7371 7561 7265 2062 7261 .with square bra\n-00006840: 636b 6574 732c 2065 2e67 2e20 5b66 6f6f ckets, e.g. [foo\n-00006850: 5d2e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ].....File: sket\n-00006860: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-00006870: 4e65 7374 6564 2073 7765 6570 732c 2020 Nested sweeps, \n-00006880: 4e65 7874 3a20 506f 6c79 676f 6e20 7377 Next: Polygon sw\n-00006890: 6565 7073 2c20 2050 7265 763a 2050 6f6c eeps, Prev: Pol\n-000068a0: 796c 696e 6520 7377 6565 7073 2c20 2055 yline sweeps, U\n-000068b0: 703a 2053 7765 7074 206f 626a 6563 7473 p: Swept objects\n-000068c0: 0a0a 322e 372e 3320 4e65 7374 6564 2073 ..2.7.3 Nested s\n-000068d0: 7765 6570 730a 2d2d 2d2d 2d2d 2d2d 2d2d weeps.----------\n-000068e0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a57 6865 6e20 ---------..When \n-000068f0: 7468 6520 6365 6e74 6572 2070 6f69 6e74 the center point\n-00006900: 206f 6620 726f 7461 7469 6f6e 2069 7320 of rotation is \n-00006910: 6f6d 6974 7465 642c 2074 6865 206f 7269 omitted, the ori\n-00006920: 6769 6e20 6973 2061 7373 756d 6564 2e0a gin is assumed..\n-00006930: 5768 656e 2061 2070 6f69 6e74 2068 6173 When a point has\n-00006940: 206f 6e6c 7920 7477 6f20 636f 6f72 6469 only two coordi\n-00006950: 6e61 7465 732c 2074 6865 7920 6172 6520 nates, they are \n-00006960: 7461 6b65 6e20 6173 2078 2061 6e64 2079 taken as x and y\n-00006970: 2c20 7769 7468 0a7a 3d30 2061 7373 756d , with.z=0 assum\n-00006980: 6564 2e20 2041 2074 6f72 6f69 6420 6973 ed. A toroid is\n-00006990: 2074 6865 7265 666f 7265 206f 6274 6169 therefore obtai\n-000069a0: 6e65 6420 7769 7468 2074 6869 7320 636f ned with this co\n-000069b0: 6465 2e0a 2020 6465 6620 6e5f 746f 726f de.. def n_toro\n-000069c0: 6964 5f73 6567 7320 3230 2020 2064 6566 id_segs 20 def\n-000069d0: 206e 5f63 6972 636c 655f 7365 6773 2031 n_circle_segs 1\n-000069e0: 360a 2020 6465 6620 725f 6d69 6e6f 7220 6. def r_minor \n-000069f0: 3120 2020 2020 2020 2020 2064 6566 2072 1 def r\n-00006a00: 5f6d 616a 6f72 2031 2e35 0a20 2073 7765 _major 1.5. swe\n-00006a10: 6570 207b 206e 5f74 6f72 6f69 645f 7365 ep { n_toroid_se\n-00006a20: 6773 2c20 726f 7461 7465 2833 3630 202f gs, rotate(360 /\n-00006a30: 206e 5f74 6f72 6f69 645f 7365 6773 2c20 n_toroid_segs, \n-00006a40: 5b30 2c31 2c30 5d29 207d 0a20 2020 2073 [0,1,0]) }. s\n-00006a50: 7765 6570 207b 206e 5f63 6972 636c 655f weep { n_circle_\n-00006a60: 7365 6773 2c20 726f 7461 7465 2833 3630 segs, rotate(360\n-00006a70: 202f 206e 5f63 6972 636c 655f 7365 6773 / n_circle_segs\n-00006a80: 2c20 2872 5f6d 616a 6f72 2c30 2c30 2929 , (r_major,0,0))\n-00006a90: 207d 200a 2020 2020 2020 2872 5f6d 616a } . (r_maj\n-00006aa0: 6f72 202b 2072 5f6d 696e 6f72 2c20 3029 or + r_minor, 0)\n-00006ab0: 0a20 2020 466f 7220 696e 7475 6974 696f . For intuitio\n-00006ac0: 6e2c 2074 6865 2069 6465 6120 6f66 2074 n, the idea of t\n-00006ad0: 6865 2063 6f64 6520 6973 2074 6f20 736b he code is to sk\n-00006ae0: 6574 6368 2061 2063 6972 636c 6520 746f etch a circle to\n-00006af0: 2074 6865 0a72 6967 6874 206f 6620 7468 the.right of th\n-00006b00: 6520 6f72 6967 696e 2069 6e20 7468 6520 e origin in the \n-00006b10: 7879 2d70 6c61 6e65 2c20 7468 656e 2072 xy-plane, then r\n-00006b20: 6f74 6174 6520 7468 6174 2063 6972 636c otate that circl\n-00006b30: 6520 226f 7574 206f 6620 7468 650a 706c e \"out of the.pl\n-00006b40: 616e 6522 2061 626f 7574 2074 6865 2079 ane\" about the y\n-00006b50: 2d61 7869 7320 746f 206d 616b 6520 7468 -axis to make th\n-00006b60: 6520 6669 6e61 6c20 6669 6775 7265 2e20 e final figure. \n-00006b70: 2054 6869 7320 7072 6f64 7563 6573 2074 This produces t\n-00006b80: 6865 0a66 6f6c 6c6f 7769 6e67 2e20 2028 he.following. (\n-00006b90: 4120 7669 6577 2072 6f74 6174 696f 6e20 A view rotation \n-00006ba0: 616e 6420 736f 6d65 2061 7865 7320 6861 and some axes ha\n-00006bb0: 7665 2062 6565 6e20 6164 6465 642e 290a ve been added.).\n-00006bc0: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n-00006bd0: 7830 3930 2e70 6e67 2220 7465 7874 3d22 x090.png\" text=\"\n-00006be0: 496d 6167 6520 6578 3039 3020 6f6d 6974 Image ex090 omit\n-00006bf0: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n-00006c00: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n-00006c10: 6d65 6e74 2e22 0008 5d0a 0a20 2020 5468 ment.\"..].. Th\n-00006c20: 6973 2065 7861 6d70 6c65 2061 6c73 6f20 is example also \n-00006c30: 7368 6f77 7320 7468 6174 2074 6865 2073 shows that the s\n-00006c40: 7765 7074 206f 626a 6563 7420 6d61 7920 wept object may \n-00006c50: 6974 7365 6c66 2062 6520 616e 6f74 6865 itself be anothe\n-00006c60: 720a e280 9873 7765 6570 e280 992e 2020 r....sweep.... \n-00006c70: 496e 2066 6163 742c 2069 7420 6d61 7920 In fact, it may \n-00006c80: 6265 205f 616e 795f 20e2 8098 736b 6574 be _any_ ...sket\n-00006c90: 6368 e280 9920 6578 7072 6573 7369 6f6e ch... expression\n-00006ca0: 2074 6861 7420 7265 7375 6c74 7320 696e that results in\n-00006cb0: 2061 0a6c 6973 7420 6f66 206f 6e65 206f a.list of one o\n-00006cc0: 7220 6d6f 7265 2070 6f69 6e74 7320 6f72 r more points or\n-00006cd0: 2c20 616c 7465 726e 6174 656c 792c 2061 , alternately, a\n-00006ce0: 206c 6973 7420 6f66 206f 6e65 206f 7220 list of one or \n-00006cf0: 6d6f 7265 0a70 6f6c 796c 696e 6573 2061 more.polylines a\n-00006d00: 6e64 2070 6f6c 7967 6f6e 732e 2020 5468 nd polygons. Th\n-00006d10: 6520 6c61 7474 6572 206b 696e 6420 6f66 e latter kind of\n-00006d20: 206c 6973 7420 6361 6e20 6265 2063 7265 list can be cre\n-00006d30: 6174 6564 2077 6974 6820 610a 7b20 7d2d ated with a.{ }-\n-00006d40: 656e 636c 6f73 6564 2062 6c6f 636b 2c20 enclosed block, \n-00006d50: 7065 7268 6170 7320 666f 6c6c 6f77 696e perhaps followin\n-00006d60: 6720 6120 7075 7420 6f72 2072 6570 6561 g a put or repea\n-00006d70: 742e 0a0a 1f0a 4669 6c65 3a20 736b 6574 t.....File: sket\n-00006d80: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-00006d90: 506f 6c79 676f 6e20 7377 6565 7073 2c20 Polygon sweeps, \n-00006da0: 204e 6578 743a 2050 6f6c 796c 696e 6520 Next: Polyline \n-00006db0: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n-00006dc0: 7572 652c 2020 5072 6576 3a20 4e65 7374 ure, Prev: Nest\n-00006dd0: 6564 2073 7765 6570 732c 2020 5570 3a20 ed sweeps, Up: \n-00006de0: 5377 6570 7420 6f62 6a65 6374 730a 0a32 Swept objects..2\n-00006df0: 2e37 2e34 2050 6f6c 7967 6f6e 2073 7765 .7.4 Polygon swe\n-00006e00: 6570 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d eps.------------\n-00006e10: 2d2d 2d2d 2d2d 2d2d 0a0a 5377 6565 7069 --------..Sweepi\n-00006e20: 6e67 2061 2070 6f6c 7967 6f6e 2063 7265 ng a polygon cre\n-00006e30: 6174 6573 2061 2063 6c6f 7365 6420 7375 ates a closed su\n-00006e40: 7266 6163 6520 7769 7468 2070 6f6c 7967 rface with polyg\n-00006e50: 6f6e 7320 6174 2074 6865 2065 6e64 732c ons at the ends,\n-00006e60: 0a77 6869 6368 2061 7265 206a 7573 7420 .which are just \n-00006e70: 636f 7069 6573 206f 6620 7468 6520 6f72 copies of the or\n-00006e80: 6967 696e 616c 2c20 6170 7072 6f70 7269 iginal, appropri\n-00006e90: 6174 656c 7920 706f 7369 7469 6f6e 6564 ately positioned\n-00006ea0: 2e20 202a 4e6f 7465 0a53 6f6c 6964 2063 . *Note.Solid c\n-00006eb0: 6f69 6c20 6578 616d 706c 653a 3a2e 2020 oil example::. \n-00006ec0: 4f70 7469 6f6e 7320 6f6e 2074 6865 2073 Options on the s\n-00006ed0: 7765 7074 2070 6f6c 7967 6f6e 2c20 6966 wept polygon, if\n-00006ee0: 2074 6865 7920 6578 6973 742c 2061 7265 they exist, are\n-00006ef0: 0a61 7070 6c69 6564 2074 6f20 7468 6520 .applied to the \n-00006f00: 656e 6473 2e20 204f 7468 6572 7769 7365 ends. Otherwise\n-00006f10: 2074 6865 2073 7765 6570 206f 7074 696f the sweep optio\n-00006f20: 6e73 2061 7265 2075 7365 6420 7468 726f ns are used thro\n-00006f30: 7567 686f 7574 2e0a 0a1f 0a46 696c 653a ughout.....File:\n-00006f40: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-00006f50: 6f64 653a 2050 6f6c 796c 696e 6520 7377 ode: Polyline sw\n-00006f60: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur\n-00006f70: 652c 2020 4e65 7874 3a20 4166 6669 6e65 e, Next: Affine\n-00006f80: 2061 7269 7468 6d65 7469 632c 2020 5072 arithmetic, Pr\n-00006f90: 6576 3a20 506f 6c79 676f 6e20 7377 6565 ev: Polygon swee\n-00006fa0: 7073 2c20 2055 703a 2053 7765 7074 206f ps, Up: Swept o\n-00006fb0: 626a 6563 7473 0a0a 322e 372e 3520 506f bjects..2.7.5 Po\n-00006fc0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi\n-00006fd0: 7468 2063 6c6f 7375 7265 0a2d 2d2d 2d2d th closure.-----\n+00005250: 2520 626f 7474 6f6d 0a20 2020 2070 6f6c % bottom. pol\n+00005260: 7967 6f6e 2870 3129 2870 3329 2870 3429 ygon(p1)(p3)(p4)\n+00005270: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00005280: 2020 2020 2020 2520 6c65 6674 0a20 2020 % left. \n+00005290: 2070 6f6c 7967 6f6e 5b66 696c 6c63 6f6c polygon[fillcol\n+000052a0: 6f72 3d6c 6967 6874 6772 6179 5d28 7033 or=lightgray](p3\n+000052b0: 2928 7032 2928 7034 2920 2520 7265 6172 )(p2)(p4) % rear\n+000052c0: 0a20 2020 206c 696e 655b 6c69 6e65 636f . line[lineco\n+000052d0: 6c6f 723d 7265 645d 282d 312c 2d31 2c2d lor=red](-1,-1,-\n+000052e0: 3129 2832 2c32 2c32 290a 2020 7d0a 2020 1)(2,2,2). }. \n+000052f0: 7b70 6965 7263 6564 5f74 6574 7261 6865 {pierced_tetrahe\n+00005300: 6472 6f6e 7d20 2025 2074 6574 7261 6865 dron} % tetrahe\n+00005310: 6472 6f6e 2069 6e20 6f72 6967 696e 616c dron in original\n+00005320: 2070 6f73 6974 696f 6e0a 2020 7075 7420 position. put \n+00005330: 7b20 726f 7461 7465 2839 302c 2028 302c { rotate(90, (0,\n+00005340: 302c 3029 2c20 5b31 2c30 2c30 5d29 2025 0,0), [1,0,0]) %\n+00005350: 2063 6f70 7920 696e 206e 6577 2070 6f73 copy in new pos\n+00005360: 6974 696f 6e0a 2020 2020 2020 2020 7468 ition. th\n+00005370: 656e 2074 7261 6e73 6c61 7465 285b 322e en translate([2.\n+00005380: 352c 302c 305d 2920 7d20 7b70 6965 7263 5,0,0]) } {pierc\n+00005390: 6564 5f74 6574 7261 6865 6472 6f6e 7d0a ed_tetrahedron}.\n+000053a0: 4865 7265 2074 6865 2065 6e74 6972 6520 Here the entire \n+000053b0: 636f 6465 206f 6620 7468 6520 7072 6576 code of the prev\n+000053c0: 696f 7573 2065 7861 6d70 6c65 2068 6173 ious example has\n+000053d0: 2062 6565 6e20 7772 6170 7065 6420 696e been wrapped in\n+000053e0: 2061 0a64 6566 696e 6974 696f 6e20 6279 a.definition by\n+000053f0: 2066 6f72 6d69 6e67 2061 20e2 809c 626c forming a ...bl\n+00005400: 6f63 6be2 809d 2077 6974 6820 6272 6163 ock... with brac\n+00005410: 6573 2028 6120 7369 6e67 6c65 2069 7465 es (a single ite\n+00005420: 6d20 776f 756c 6420 6e6f 740a 6e65 6564 m would not.need\n+00005430: 2074 6865 6d29 2e20 2054 6865 2070 6f69 them). The poi\n+00005440: 6e74 2064 6566 696e 6974 696f 6e73 206e nt definitions n\n+00005450: 6573 7465 6420 696e 7369 6465 2074 6865 ested inside the\n+00005460: 2062 7261 6365 7320 6172 650a e280 9c6c braces are....l\n+00005470: 6578 6963 616c 6c79 2073 636f 7065 64e2 exically scoped.\n+00005480: 809d 2e20 2054 6865 6972 206d 6561 6e69 ... Their meani\n+00005490: 6e67 2065 7874 656e 6473 206f 6e6c 7920 ng extends only \n+000054a0: 746f 2074 6865 2065 6e64 206f 6620 7468 to the end of th\n+000054b0: 6520 626c 6f63 6b2e 0a54 6865 206f 7574 e block..The out\n+000054c0: 6572 2064 6566 2069 7320 6361 6c6c 6564 er def is called\n+000054d0: 2061 20e2 809c 6472 6177 6162 6c65 e280 a ...drawable..\n+000054e0: 9d20 6465 6669 6e69 7469 6f6e 2062 6563 . definition bec\n+000054f0: 6175 7365 2069 7420 6465 7363 7269 6265 ause it describe\n+00005500: 730a 736f 6d65 7468 696e 6720 7468 6174 s.something that\n+00005510: 2063 616e 2062 6520 6472 6177 6e2e 0a0a can be drawn...\n+00005520: 2020 2041 2064 7261 7761 626c 6520 6465 A drawable de\n+00005530: 6669 6e69 7469 6f6e 2062 7920 6974 7365 finition by itse\n+00005540: 6c66 2063 6175 7365 7320 6e6f 7468 696e lf causes nothin\n+00005550: 6720 746f 2068 6170 7065 6e20 756e 7469 g to happen unti\n+00005560: 6c20 6974 730a 6e61 6d65 2069 7320 7265 l its.name is re\n+00005570: 6665 7265 6e63 6564 2e20 2044 7261 7761 ferenced. Drawa\n+00005580: 626c 6520 7265 6665 7265 6e63 6573 206d ble references m\n+00005590: 7573 7420 6265 2065 6e63 6c6f 7365 6420 ust be enclosed \n+000055a0: 696e 2063 7572 6c79 0a62 7261 6365 732c in curly.braces,\n+000055b0: 2065 2e67 2e20 7b66 6f6f 7d2c 2077 6974 e.g. {foo}, wit\n+000055c0: 6820 6e6f 2069 6e74 6572 7665 6e69 6e67 h no intervening\n+000055d0: 2077 6869 7465 2073 7061 6365 2e20 2049 white space. I\n+000055e0: 6e20 7468 6520 636f 6465 2061 626f 7665 n the code above\n+000055f0: 2c0a 7468 6520 6669 7273 7420 7265 6665 ,.the first refe\n+00005600: 7265 6e63 6520 7b70 6965 7263 6564 5f74 rence {pierced_t\n+00005610: 6574 7261 6865 6472 6f6e 7d20 6973 2061 etrahedron} is a\n+00005620: 2070 6c61 696e 206f 6e65 2e20 2049 7473 plain one. Its\n+00005630: 2065 6666 6563 7420 6973 0a6d 6572 656c effect is.merel\n+00005640: 7920 746f 2064 7570 6c69 6361 7465 2074 y to duplicate t\n+00005650: 6865 2065 6172 6c69 6572 2064 7261 7769 he earlier drawi\n+00005660: 6e67 2e20 2041 6c6d 6f73 7420 616e 7920 ng. Almost any \n+00005670: 7365 7269 6573 206f 6620 e280 9873 6b65 series of ...ske\n+00005680: 7463 68e2 8099 0a63 6f6d 6d61 6e64 7320 tch....commands \n+00005690: 7374 7566 6620 6d61 7920 6265 2072 6570 stuff may be rep\n+000056a0: 6c61 6365 6420 7769 7468 2064 6566 2066 laced with def f\n+000056b0: 6f6f 207b 2073 7475 6666 207d 207b 666f oo { stuff } {fo\n+000056c0: 6f7d 2077 6974 686f 7574 0a63 6861 6e67 o} without.chang\n+000056d0: 696e 6720 6974 7320 6d65 616e 696e 672e ing its meaning.\n+000056e0: 0a0a 2020 2054 6865 2070 7574 2063 6f6d .. The put com\n+000056f0: 6d61 6e64 2073 7570 706c 6965 7320 6120 mand supplies a \n+00005700: 7365 636f 6e64 2072 6566 6572 656e 6365 second reference\n+00005710: 2c20 7468 6973 2074 696d 6520 7769 7468 , this time with\n+00005720: 2061 0ae2 809c 7472 616e 7366 6f72 6de2 a....transform.\n+00005730: 809d 2061 7070 6c69 6564 2066 6972 7374 .. applied first\n+00005740: 2e20 2054 6865 2072 6f74 6174 6520 7472 . The rotate tr\n+00005750: 616e 7366 6f72 6d20 7475 726e 7320 7468 ansform turns th\n+00005760: 6520 7465 7472 6168 6564 726f 6e0a 3930 e tetrahedron.90\n+00005770: 2064 6567 7265 6573 2061 626f 7574 2074 degrees about t\n+00005780: 6865 206f 7269 6769 6e2e 2020 5468 6520 he origin. The \n+00005790: 6178 6973 206f 6620 726f 7461 7469 6f6e axis of rotation\n+000057a0: 2069 7320 7468 6520 7665 6374 6f72 0a5b is the vector.[\n+000057b0: 312c 302c 305d 2e20 2042 7920 7468 6520 1,0,0]. By the \n+000057c0: e280 9c72 6967 6874 2068 616e 6420 7275 ...right hand ru\n+000057d0: 6c65 e280 9d2c 2074 6869 7320 6361 7573 le..., this caus\n+000057e0: 6573 2074 6865 2074 6f70 206f 6620 7468 es the top of th\n+000057f0: 650a 7465 7472 6168 6564 726f 6e20 746f e.tetrahedron to\n+00005800: 2072 6f74 6174 6520 746f 7761 7264 2074 rotate toward t\n+00005810: 6865 2076 6965 7765 7220 616e 6420 7468 he viewer and th\n+00005820: 6520 626f 7474 6f6d 2061 7761 792e 2020 e bottom away. \n+00005830: 5468 6520 7275 6c65 0a72 6563 6569 7665 The rule.receive\n+00005840: 7320 6974 7320 6e61 6d65 2066 726f 6d20 s its name from \n+00005850: 7468 6520 666f 6c6c 6f77 696e 6720 6465 the following de\n+00005860: 6669 6e69 7469 6f6e 3a0a 2020 2020 202a finition:. *\n+00005870: 5269 6768 7420 6861 6e64 2072 756c 652e Right hand rule.\n+00005880: 2a20 2049 6620 7468 6520 7269 6768 7420 * If the right \n+00005890: 6861 6e64 2069 7320 7772 6170 7065 6420 hand is wrapped \n+000058a0: 6172 6f75 6e64 2061 6e79 2061 7869 730a around any axis.\n+000058b0: 2020 2020 2077 6974 6820 7468 6520 7468 with the th\n+000058c0: 756d 6220 706f 696e 7469 6e67 2069 6e20 umb pointing in \n+000058d0: 7468 6520 6178 6973 2064 6972 6563 7469 the axis directi\n+000058e0: 6f6e 2c20 7468 656e 2074 6865 2066 696e on, then the fin\n+000058f0: 6765 7273 0a20 2020 2020 6375 726c 2069 gers. curl i\n+00005900: 6e20 7468 6520 6469 7265 6374 696f 6e20 n the direction \n+00005910: 6f66 2070 6f73 6974 6976 6520 726f 7461 of positive rota\n+00005920: 7469 6f6e 2061 626f 7574 2074 6861 7420 tion about that \n+00005930: 6178 6973 2e0a 2020 2054 6865 2074 7261 axis.. The tra\n+00005940: 6e73 6c61 7465 2074 7261 6e73 666f 726d nslate transform\n+00005950: 206d 6f76 6573 2074 6865 2070 7972 616d moves the pyram\n+00005960: 6964 206c 6174 6572 616c 6c79 2074 6f20 id laterally to \n+00005970: 7468 6520 7269 6768 7420 6279 0a61 6464 the right by.add\n+00005980: 696e 6720 7468 6520 7665 6374 6f72 205b ing the vector [\n+00005990: 322e 352c 302c 305d 2074 6f20 6561 6368 2.5,0,0] to each\n+000059a0: 2076 6572 7465 7820 636f 6f72 6469 6e61 vertex coordina\n+000059b0: 7465 2e20 2054 6865 2072 6573 756c 7420 te. The result \n+000059c0: 6973 0a73 686f 776e 2068 6572 652e 0a0a is.shown here...\n+000059d0: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n+000059e0: 3035 302e 706e 6722 2074 6578 743d 2249 050.png\" text=\"I\n+000059f0: 6d61 6765 2065 7830 3530 206f 6d69 7474 mage ex050 omitt\n+00005a00: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n+00005a10: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n+00005a20: 656e 742e 2200 085d 0a0a 1f0a 4669 6c65 ent.\"..]....File\n+00005a30: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+00005a40: 4e6f 6465 3a20 5265 7065 6174 6564 206f Node: Repeated o\n+00005a50: 626a 6563 7473 2c20 204e 6578 743a 2053 bjects, Next: S\n+00005a60: 7765 7074 206f 626a 6563 7473 2c20 2050 wept objects, P\n+00005a70: 7265 763a 204f 626a 6563 7420 7472 616e rev: Object tran\n+00005a80: 7366 6f72 6d73 2c20 2055 703a 2049 6e74 sforms, Up: Int\n+00005a90: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa\n+00005aa0: 6d70 6c65 0a0a 322e 3620 5265 7065 6174 mple..2.6 Repeat\n+00005ab0: 6564 206f 626a 6563 7473 0a3d 3d3d 3d3d ed objects.=====\n+00005ac0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============.\n+00005ad0: 0a54 6f20 6472 6177 2073 6576 656e 2069 .To draw seven i\n+00005ae0: 6e73 7461 6e63 6573 206f 6620 7468 6520 nstances of the \n+00005af0: 7465 7472 6168 6564 726f 6e2c 2065 6163 tetrahedron, eac\n+00005b00: 6820 6469 6666 6572 696e 6720 6672 6f6d h differing from\n+00005b10: 2074 6865 206c 6173 740a 6279 2074 6865 the last.by the\n+00005b20: 2073 616d 6520 7472 616e 7366 6f72 6d2c same transform,\n+00005b30: 2072 6570 6c61 6365 2074 6865 206c 6173 replace the las\n+00005b40: 7420 7477 6f20 636f 6d6d 616e 6473 206f t two commands o\n+00005b50: 6620 7468 6520 7072 6576 696f 7573 0a65 f the previous.e\n+00005b60: 7861 6d70 6c65 2077 6974 680a 2020 7265 xample with. re\n+00005b70: 7065 6174 207b 2037 2c20 726f 7461 7465 peat { 7, rotate\n+00005b80: 2831 352c 2028 302c 302c 3029 2c20 5b31 (15, (0,0,0), [1\n+00005b90: 2c30 2c30 5d29 2025 2063 6f70 7920 696e ,0,0]) % copy in\n+00005ba0: 206e 6577 2070 6f73 6974 696f 6e0a 2020 new position. \n+00005bb0: 2020 2020 2020 2020 2020 2020 7468 656e then\n+00005bc0: 2074 7261 6e73 6c61 7465 285b 322c 302c translate([2,0,\n+00005bd0: 305d 2920 7d20 7b70 6965 7263 6564 5f74 0]) } {pierced_t\n+00005be0: 6574 7261 6865 6472 6f6e 7d0a 416e 6420 etrahedron}.And \n+00005bf0: 7468 6520 7265 7375 6c74 2e2e 2e0a 0a00 the result......\n+00005c00: 085b 696d 6167 6520 7372 633d 2265 7830 .[image src=\"ex0\n+00005c10: 3630 2e70 6e67 2220 7465 7874 3d22 496d 60.png\" text=\"Im\n+00005c20: 6167 6520 6578 3036 3020 6f6d 6974 7465 age ex060 omitte\n+00005c30: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio\n+00005c40: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume\n+00005c50: 6e74 2e22 0008 5d0a 0a1f 0a46 696c 653a nt.\"..]....File:\n+00005c60: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+00005c70: 6f64 653a 2053 7765 7074 206f 626a 6563 ode: Swept objec\n+00005c80: 7473 2c20 2050 7265 763a 2052 6570 6561 ts, Prev: Repea\n+00005c90: 7465 6420 6f62 6a65 6374 732c 2020 5570 ted objects, Up\n+00005ca0: 3a20 496e 7472 6f64 7563 7469 6f6e 2062 : Introduction b\n+00005cb0: 7920 6578 616d 706c 650a 0a32 2e37 2053 y example..2.7 S\n+00005cc0: 7765 7074 206f 626a 6563 7473 0a3d 3d3d wept objects.===\n+00005cd0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a ==============..\n+00005ce0: 4d61 6e79 2066 616d 696c 6961 7220 7368 Many familiar sh\n+00005cf0: 6170 6573 2063 616e 2062 6520 6765 6e65 apes can be gene\n+00005d00: 7261 7465 6420 6279 2073 7765 6570 696e rated by sweepin\n+00005d10: 6720 7369 6d70 6c65 7220 6f6e 6573 2074 g simpler ones t\n+00005d20: 6872 6f75 6768 0a73 7061 6365 2061 6e64 hrough.space and\n+00005d30: 2063 6f6e 7369 6465 7269 6e67 2074 6865 considering the\n+00005d40: 2072 6573 756c 7469 6e67 2070 6174 682c resulting path,\n+00005d50: 2073 7572 6661 6365 2c20 6f72 2076 6f6c surface, or vol\n+00005d60: 756d 652e 2020 e280 9853 6b65 7463 68e2 ume. ...Sketch.\n+00005d70: 8099 0a69 6d70 6c65 6d65 6e74 7320 7468 ...implements th\n+00005d80: 6973 2069 6465 6120 696e 2074 6865 2073 is idea in the s\n+00005d90: 7765 6570 2063 6f6d 6d61 6e64 2e0a 2020 weep command.. \n+00005da0: 6465 6620 6e5f 7365 6773 2038 0a20 2073 def n_segs 8. s\n+00005db0: 7765 6570 207b 206e 5f73 6567 732c 2072 weep { n_segs, r\n+00005dc0: 6f74 6174 6528 3138 3020 2f20 6e5f 7365 otate(180 / n_se\n+00005dd0: 6773 2c20 2830 2c30 2c30 292c 205b 302c gs, (0,0,0), [0,\n+00005de0: 302c 315d 2920 7d20 2831 2c30 2c30 290a 0,1]) } (1,0,0).\n+00005df0: 5468 6973 2063 6f64 6520 7377 6565 7073 This code sweeps\n+00005e00: 2074 6865 2070 6f69 6e74 2028 312c 302c the point (1,0,\n+00005e10: 3029 2065 6967 6874 2074 696d 6573 2062 0) eight times b\n+00005e20: 7920 726f 7461 7469 6e67 2069 7420 3138 y rotating it 18\n+00005e30: 302f 3820 3d0a 3232 2e35 2064 6567 7265 0/8 =.22.5 degre\n+00005e40: 6573 2065 6163 6820 7469 6d65 2061 6e64 es each time and\n+00005e50: 2063 6f6e 6e65 6374 696e 6720 7468 6520 connecting the \n+00005e60: 7265 7375 6c74 696e 6720 706f 696e 7473 resulting points\n+00005e70: 2077 6974 6820 6c69 6e65 0a73 6567 6d65 with line.segme\n+00005e80: 6e74 732e 2020 5468 6520 6465 6620 7573 nts. The def us\n+00005e90: 6564 2068 6572 6520 6973 2061 20e2 809c ed here is a ...\n+00005ea0: 7363 616c 6172 e280 9d20 6465 6669 6e69 scalar... defini\n+00005eb0: 7469 6f6e 2e20 2052 6566 6572 656e 6365 tion. Reference\n+00005ec0: 7320 746f 0a73 6361 6c61 7273 2068 6176 s to.scalars hav\n+00005ed0: 6520 6e6f 2065 6e63 6c6f 7369 6e67 2062 e no enclosing b\n+00005ee0: 7261 636b 6574 7320 6174 2061 6c6c 2e0a rackets at all..\n+00005ef0: 0a2a 204d 656e 753a 0a0a 2a20 506f 696e .* Menu:..* Poin\n+00005f00: 7420 7377 6565 7073 3a3a 2020 2020 2020 t sweeps:: \n+00005f10: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+00005f20: 706f 696e 7473 206d 616b 6520 6c69 6e65 points make line\n+00005f30: 7320 616e 6420 706f 6c79 676f 6e73 2e0a s and polygons..\n+00005f40: 2a20 506f 6c79 6c69 6e65 2073 7765 6570 * Polyline sweep\n+00005f50: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+00005f60: 5377 6570 7420 6c69 6e65 7320 6d61 6b65 Swept lines make\n+00005f70: 2073 7572 6661 6365 732e 0a2a 204e 6573 surfaces..* Nes\n+00005f80: 7465 6420 7377 6565 7073 3a3a 2020 2020 ted sweeps:: \n+00005f90: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n+00005fa0: 2073 7765 6570 7320 6172 6520 7573 6566 sweeps are usef\n+00005fb0: 756c 210a 2a20 506f 6c79 676f 6e20 7377 ul!.* Polygon sw\n+00005fc0: 6565 7073 3a3a 2020 2020 2020 2020 2020 eeps:: \n+00005fd0: 2020 2020 5377 6570 7420 706f 6c79 676f Swept polygo\n+00005fe0: 6e73 206d 616b 6520 736f 6c69 6473 2e2e ns make solids..\n+00005ff0: 2e0a 2a20 506f 6c79 6c69 6e65 2073 7765 ..* Polyline swe\n+00006000: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure\n+00006010: 3a3a 2020 616e 6420 736f 2064 6f20 636c :: and so do cl\n+00006020: 6f73 6564 2070 6f6c 796c 696e 6520 7377 osed polyline sw\n+00006030: 6565 7073 2e0a 2a20 4166 6669 6e65 2061 eeps..* Affine a\n+00006040: 7269 7468 6d65 7469 633a 3a20 2020 2020 rithmetic:: \n+00006050: 2020 2020 2020 536b 6574 6368 2075 7365 Sketch use\n+00006060: 6675 6c20 6d61 7468 2065 7870 7265 7373 ful math express\n+00006070: 696f 6e2e 0a2a 204d 6f72 6520 746f 206c ion..* More to l\n+00006080: 6561 726e 3a3a 2020 2020 2020 2020 2020 earn:: \n+00006090: 2020 2020 2043 6865 636b 206f 7574 2074 Check out t\n+000060a0: 6865 204d 6f62 6975 7320 7374 7269 7021 he Mobius strip!\n+000060b0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+000060c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 506f .info, Node: Po\n+000060d0: 696e 7420 7377 6565 7073 2c20 204e 6578 int sweeps, Nex\n+000060e0: 743a 2050 6f6c 796c 696e 6520 7377 6565 t: Polyline swee\n+000060f0: 7073 2c20 2050 7265 763a 2053 7765 7074 ps, Prev: Swept\n+00006100: 206f 626a 6563 7473 2c20 2055 703a 2053 objects, Up: S\n+00006110: 7765 7074 206f 626a 6563 7473 0a0a 322e wept objects..2.\n+00006120: 372e 3120 506f 696e 7420 7377 6565 7073 7.1 Point sweeps\n+00006130: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+00006140: 2d2d 2d0a 0a53 7765 6570 696e 6720 6120 ---..Sweeping a \n+00006150: 706f 696e 7420 6d61 6b65 7320 6120 6f6e point makes a on\n+00006160: 652d 6469 6d65 6e73 696f 6e61 6c20 7061 e-dimensional pa\n+00006170: 7468 2c20 7768 6963 6820 6973 2061 2070 th, which is a p\n+00006180: 6f6c 796c 696e 652e 0a53 696e 6365 2077 olyline..Since w\n+00006190: 6520 6861 7665 2073 7765 7074 2077 6974 e have swept wit\n+000061a0: 6820 6120 726f 7461 7469 6f6e 2c20 7468 h a rotation, th\n+000061b0: 6520 7265 7375 6c74 2069 7320 6120 6369 e result is a ci\n+000061c0: 7263 756c 6172 2061 7263 2e20 2048 6572 rcular arc. Her\n+000061d0: 650a 6973 2077 6861 7420 6974 206c 6f6f e.is what it loo\n+000061e0: 6b73 206c 696b 652e 0a0a 0008 5b69 6d61 ks like.....[ima\n+000061f0: 6765 2073 7263 3d22 6578 3037 302e 706e ge src=\"ex070.pn\n+00006200: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n+00006210: 7830 3730 206f 6d69 7474 6564 2069 6e20 x070 omitted in \n+00006220: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n+00006230: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n+00006240: 085d 0a0a 2020 2054 6869 7320 6973 2074 .].. This is t\n+00006250: 6865 2066 6972 7374 2065 7861 6d70 6c65 he first example\n+00006260: 2077 6520 6861 7665 2073 6565 6e20 6f66 we have seen of\n+00006270: 20e2 8098 736b 6574 6368 e280 9920 6172 ...sketch... ar\n+00006280: 6974 686d 6574 6963 2e20 2054 6865 0a65 ithmetic. The.e\n+00006290: 7870 7265 7373 696f 6e20 3138 3020 2f20 xpression 180 / \n+000062a0: 6e5f 7365 6773 2063 6175 7365 7320 7468 n_segs causes th\n+000062b0: 6520 6569 6768 7420 726f 7461 7469 6f6e e eight rotation\n+000062c0: 7320 746f 2061 6464 2074 6f20 3138 302e s to add to 180.\n+000062d0: 2020 4966 0a79 6f75 2772 6520 7061 7969 If.you're payi\n+000062e0: 6e67 2061 7474 656e 7469 6f6e 2c20 796f ng attention, yo\n+000062f0: 7527 6c6c 2068 6176 6520 616c 7265 6164 u'll have alread\n+00006300: 7920 6e6f 7465 6420 7468 6174 2074 6865 y noted that the\n+00006310: 7265 2061 7265 205f 6e69 6e65 5f0a 706f re are _nine_.po\n+00006320: 696e 7473 2c20 7072 6f64 7563 696e 6720 ints, producing \n+00006330: 6569 6768 7420 6c69 6e65 2073 6567 6d65 eight line segme\n+00006340: 6e74 732e 0a0a 2020 2059 6f75 2063 616e nts... You can\n+00006350: 2063 6175 7365 2074 6865 2073 7765 7074 cause the swept\n+00006360: 2070 6f69 6e74 2074 6f20 6765 6e65 7261 point to genera\n+00006370: 7465 2061 2073 696e 676c 6520 706f 6c79 te a single poly\n+00006380: 676f 6e20 7261 7468 6572 0a74 6861 6e20 gon rather.than \n+00006390: 6120 706f 6c79 6c69 6e65 2062 7920 7573 a polyline by us\n+000063a0: 696e 6720 7468 6520 e280 9c63 6c6f 7375 ing the ...closu\n+000063b0: 7265 2074 6167 e280 9d20 3c3e 2061 6674 re tag... <> aft\n+000063c0: 6572 2074 6865 206e 756d 6265 7220 6f66 er the number of\n+000063d0: 2073 7765 7074 0a6f 626a 6563 7473 2e20 swept.objects. \n+000063e0: 2043 6f64 6520 616e 6420 7265 7375 6c74 Code and result\n+000063f0: 2066 6f6c 6c6f 770a 2020 6465 6620 6e5f follow. def n_\n+00006400: 7365 6773 2038 0a20 2073 7765 6570 207b segs 8. sweep {\n+00006410: 206e 5f73 6567 733c 3e2c 2072 6f74 6174 n_segs<>, rotat\n+00006420: 6528 3138 3020 2f20 6e5f 7365 6773 2c20 e(180 / n_segs, \n+00006430: 2830 2c30 2c30 292c 205b 302c 302c 315d (0,0,0), [0,0,1]\n+00006440: 2920 7d20 2831 2c30 2c30 290a 0008 5b69 ) } (1,0,0)...[i\n+00006450: 6d61 6765 2073 7263 3d22 6578 3038 302e mage src=\"ex080.\n+00006460: 706e 6722 2074 6578 743d 2249 6d61 6765 png\" text=\"Image\n+00006470: 2065 7830 3830 206f 6d69 7474 6564 2069 ex080 omitted i\n+00006480: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o\n+00006490: 6620 7468 6973 2064 6f63 756d 656e 742e f this document.\n+000064a0: 2200 085d 0a0a 1f0a 4669 6c65 3a20 736b \"..]....File: sk\n+000064b0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+000064c0: 3a20 506f 6c79 6c69 6e65 2073 7765 6570 : Polyline sweep\n+000064d0: 732c 2020 4e65 7874 3a20 4e65 7374 6564 s, Next: Nested\n+000064e0: 2073 7765 6570 732c 2020 5072 6576 3a20 sweeps, Prev: \n+000064f0: 506f 696e 7420 7377 6565 7073 2c20 2055 Point sweeps, U\n+00006500: 703a 2053 7765 7074 206f 626a 6563 7473 p: Swept objects\n+00006510: 0a0a 322e 372e 3220 506f 6c79 6c69 6e65 ..2.7.2 Polyline\n+00006520: 2073 7765 6570 730a 2d2d 2d2d 2d2d 2d2d sweeps.--------\n+00006530: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a53 -------------..S\n+00006540: 7765 6570 696e 6720 6120 706f 6c79 6c69 weeping a polyli\n+00006550: 6e65 2070 726f 6475 6365 7320 6120 7375 ne produces a su\n+00006560: 7266 6163 6520 636f 6d70 6f73 6564 206f rface composed o\n+00006570: 6620 6d61 6e79 2066 6163 6573 2e20 2054 f many faces. T\n+00006580: 6865 0a75 6e62 726f 6b65 6e20 6865 6c69 he.unbroken heli\n+00006590: 7820 696e 2074 6865 2065 7861 6d70 6c65 x in the example\n+000065a0: 202a 6e6f 7465 2048 656c 6978 2077 6974 *note Helix wit\n+000065b0: 6820 6375 6c6c 2073 6574 2066 616c 7365 h cull set false\n+000065c0: 2074 6865 6e0a 7472 7565 3a3a 2069 7320 then.true:: is \n+000065d0: 7072 6f64 7563 6564 2062 7920 7468 6973 produced by this\n+000065e0: 2063 6f64 6520 2870 6c75 7320 6120 7375 code (plus a su\n+000065f0: 7272 6f75 6e64 696e 6720 7075 7420 726f rrounding put ro\n+00006600: 7461 7469 6f6e 2074 6f20 6d61 6b65 0a61 tation to make.a\n+00006610: 6e20 696e 7465 7265 7374 696e 6720 7669 n interesting vi\n+00006620: 6577 3b20 7468 6973 2068 6173 2062 6565 ew; this has bee\n+00006630: 6e20 6f6d 6974 7465 6429 2e0a 2020 6465 n omitted).. de\n+00006640: 6620 4b20 5b30 2c30 2c31 5d0a 2020 7377 f K [0,0,1]. sw\n+00006650: 6565 705b 6375 6c6c 3d66 616c 7365 5d20 eep[cull=false] \n+00006660: 7b0a 2020 2020 3630 2c20 0a20 2020 2072 {. 60, . r\n+00006670: 6f74 6174 6528 3130 2c20 2830 2c30 2c30 otate(10, (0,0,0\n+00006680: 292c 205b 4b5d 2920 7468 656e 2074 7261 ), [K]) then tra\n+00006690: 6e73 6c61 7465 2831 2f36 202a 205b 4b5d nslate(1/6 * [K]\n+000066a0: 2920 0a20 207d 206c 696e 655b 6c69 6e65 ) . } line[line\n+000066b0: 7769 6474 683d 3270 745d 282d 312c 3029 width=2pt](-1,0)\n+000066c0: 2831 2c30 290a 4167 6169 6e2c 2036 3020 (1,0).Again, 60 \n+000066d0: 7365 676d 656e 7473 206f 6620 7468 6520 segments of the \n+000066e0: 6865 6c69 7820 6172 6520 7072 6f64 7563 helix are produc\n+000066f0: 6564 2062 7920 636f 6e6e 6563 7469 6e67 ed by connecting\n+00006700: 2036 3120 696e 7374 616e 6365 730a 6f66 61 instances.of\n+00006710: 2074 6865 2073 7765 7074 206c 696e 652e the swept line.\n+00006720: 2020 4f70 7469 6f6e 7320 6170 706c 6965 Options applie\n+00006730: 6420 746f 2074 6865 2073 7765 6570 2c20 d to the sweep, \n+00006740: 6865 7265 2063 756c 6c3d 6661 6c73 652c here cull=false,\n+00006750: 2061 7265 0a74 7265 6174 6564 2061 7320 are.treated as \n+00006760: 6f70 7469 6f6e 7320 666f 7220 7468 6520 options for the \n+00006770: 6765 6e65 7261 7465 6420 706f 6c79 676f generated polygo\n+00006780: 6e20 6f72 2070 6f6c 796c 696e 652e 2020 n or polyline. \n+00006790: 4f70 7469 6f6e 7320 6f66 0a74 6865 2073 Options of.the s\n+000067a0: 7765 7074 206c 696e 6520 6974 7365 6c66 wept line itself\n+000067b0: 2c20 6865 7265 206c 696e 6577 6964 7468 , here linewidth\n+000067c0: 3d32 7074 2c20 6172 6520 6967 6e6f 7265 =2pt, are ignore\n+000067d0: 642c 2074 686f 7567 6820 7769 7468 2061 d, though with a\n+000067e0: 0a77 6172 6e69 6e67 2e20 2054 6869 7320 .warning. This \n+000067f0: 6465 6620 6973 2061 20e2 809c 7665 6374 def is a ...vect\n+00006800: 6f72 e280 9d20 6465 6669 6e69 7469 6f6e or... definition\n+00006810: 2c20 7768 6963 6820 6d75 7374 2062 6520 , which must be \n+00006820: 7265 6665 7265 6e63 6564 0a77 6974 6820 referenced.with \n+00006830: 7371 7561 7265 2062 7261 636b 6574 732c square brackets,\n+00006840: 2065 2e67 2e20 5b66 6f6f 5d2e 0a0a 1f0a e.g. [foo].....\n+00006850: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+00006860: 6f2c 2020 4e6f 6465 3a20 4e65 7374 6564 o, Node: Nested\n+00006870: 2073 7765 6570 732c 2020 4e65 7874 3a20 sweeps, Next: \n+00006880: 506f 6c79 676f 6e20 7377 6565 7073 2c20 Polygon sweeps, \n+00006890: 2050 7265 763a 2050 6f6c 796c 696e 6520 Prev: Polyline \n+000068a0: 7377 6565 7073 2c20 2055 703a 2053 7765 sweeps, Up: Swe\n+000068b0: 7074 206f 626a 6563 7473 0a0a 322e 372e pt objects..2.7.\n+000068c0: 3320 4e65 7374 6564 2073 7765 6570 730a 3 Nested sweeps.\n+000068d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+000068e0: 2d2d 2d0a 0a57 6865 6e20 7468 6520 6365 ---..When the ce\n+000068f0: 6e74 6572 2070 6f69 6e74 206f 6620 726f nter point of ro\n+00006900: 7461 7469 6f6e 2069 7320 6f6d 6974 7465 tation is omitte\n+00006910: 642c 2074 6865 206f 7269 6769 6e20 6973 d, the origin is\n+00006920: 2061 7373 756d 6564 2e0a 5768 656e 2061 assumed..When a\n+00006930: 2070 6f69 6e74 2068 6173 206f 6e6c 7920 point has only \n+00006940: 7477 6f20 636f 6f72 6469 6e61 7465 732c two coordinates,\n+00006950: 2074 6865 7920 6172 6520 7461 6b65 6e20 they are taken \n+00006960: 6173 2078 2061 6e64 2079 2c20 7769 7468 as x and y, with\n+00006970: 0a7a 3d30 2061 7373 756d 6564 2e20 2041 .z=0 assumed. A\n+00006980: 2074 6f72 6f69 6420 6973 2074 6865 7265 toroid is there\n+00006990: 666f 7265 206f 6274 6169 6e65 6420 7769 fore obtained wi\n+000069a0: 7468 2074 6869 7320 636f 6465 2e0a 2020 th this code.. \n+000069b0: 6465 6620 6e5f 746f 726f 6964 5f73 6567 def n_toroid_seg\n+000069c0: 7320 3230 2020 2064 6566 206e 5f63 6972 s 20 def n_cir\n+000069d0: 636c 655f 7365 6773 2031 360a 2020 6465 cle_segs 16. de\n+000069e0: 6620 725f 6d69 6e6f 7220 3120 2020 2020 f r_minor 1 \n+000069f0: 2020 2020 2064 6566 2072 5f6d 616a 6f72 def r_major\n+00006a00: 2031 2e35 0a20 2073 7765 6570 207b 206e 1.5. sweep { n\n+00006a10: 5f74 6f72 6f69 645f 7365 6773 2c20 726f _toroid_segs, ro\n+00006a20: 7461 7465 2833 3630 202f 206e 5f74 6f72 tate(360 / n_tor\n+00006a30: 6f69 645f 7365 6773 2c20 5b30 2c31 2c30 oid_segs, [0,1,0\n+00006a40: 5d29 207d 0a20 2020 2073 7765 6570 207b ]) }. sweep {\n+00006a50: 206e 5f63 6972 636c 655f 7365 6773 2c20 n_circle_segs, \n+00006a60: 726f 7461 7465 2833 3630 202f 206e 5f63 rotate(360 / n_c\n+00006a70: 6972 636c 655f 7365 6773 2c20 2872 5f6d ircle_segs, (r_m\n+00006a80: 616a 6f72 2c30 2c30 2929 207d 200a 2020 ajor,0,0)) } . \n+00006a90: 2020 2020 2872 5f6d 616a 6f72 202b 2072 (r_major + r\n+00006aa0: 5f6d 696e 6f72 2c20 3029 0a20 2020 466f _minor, 0). Fo\n+00006ab0: 7220 696e 7475 6974 696f 6e2c 2074 6865 r intuition, the\n+00006ac0: 2069 6465 6120 6f66 2074 6865 2063 6f64 idea of the cod\n+00006ad0: 6520 6973 2074 6f20 736b 6574 6368 2061 e is to sketch a\n+00006ae0: 2063 6972 636c 6520 746f 2074 6865 0a72 circle to the.r\n+00006af0: 6967 6874 206f 6620 7468 6520 6f72 6967 ight of the orig\n+00006b00: 696e 2069 6e20 7468 6520 7879 2d70 6c61 in in the xy-pla\n+00006b10: 6e65 2c20 7468 656e 2072 6f74 6174 6520 ne, then rotate \n+00006b20: 7468 6174 2063 6972 636c 6520 226f 7574 that circle \"out\n+00006b30: 206f 6620 7468 650a 706c 616e 6522 2061 of the.plane\" a\n+00006b40: 626f 7574 2074 6865 2079 2d61 7869 7320 bout the y-axis \n+00006b50: 746f 206d 616b 6520 7468 6520 6669 6e61 to make the fina\n+00006b60: 6c20 6669 6775 7265 2e20 2054 6869 7320 l figure. This \n+00006b70: 7072 6f64 7563 6573 2074 6865 0a66 6f6c produces the.fol\n+00006b80: 6c6f 7769 6e67 2e20 2028 4120 7669 6577 lowing. (A view\n+00006b90: 2072 6f74 6174 696f 6e20 616e 6420 736f rotation and so\n+00006ba0: 6d65 2061 7865 7320 6861 7665 2062 6565 me axes have bee\n+00006bb0: 6e20 6164 6465 642e 290a 0a00 085b 696d n added.)....[im\n+00006bc0: 6167 6520 7372 633d 2265 7830 3930 2e70 age src=\"ex090.p\n+00006bd0: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng\" text=\"Image \n+00006be0: 6578 3039 3020 6f6d 6974 7465 6420 696e ex090 omitted in\n+00006bf0: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of\n+00006c00: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document.\"\n+00006c10: 0008 5d0a 0a20 2020 5468 6973 2065 7861 ..].. This exa\n+00006c20: 6d70 6c65 2061 6c73 6f20 7368 6f77 7320 mple also shows \n+00006c30: 7468 6174 2074 6865 2073 7765 7074 206f that the swept o\n+00006c40: 626a 6563 7420 6d61 7920 6974 7365 6c66 bject may itself\n+00006c50: 2062 6520 616e 6f74 6865 720a e280 9873 be another....s\n+00006c60: 7765 6570 e280 992e 2020 496e 2066 6163 weep.... In fac\n+00006c70: 742c 2069 7420 6d61 7920 6265 205f 616e t, it may be _an\n+00006c80: 795f 20e2 8098 736b 6574 6368 e280 9920 y_ ...sketch... \n+00006c90: 6578 7072 6573 7369 6f6e 2074 6861 7420 expression that \n+00006ca0: 7265 7375 6c74 7320 696e 2061 0a6c 6973 results in a.lis\n+00006cb0: 7420 6f66 206f 6e65 206f 7220 6d6f 7265 t of one or more\n+00006cc0: 2070 6f69 6e74 7320 6f72 2c20 616c 7465 points or, alte\n+00006cd0: 726e 6174 656c 792c 2061 206c 6973 7420 rnately, a list \n+00006ce0: 6f66 206f 6e65 206f 7220 6d6f 7265 0a70 of one or more.p\n+00006cf0: 6f6c 796c 696e 6573 2061 6e64 2070 6f6c olylines and pol\n+00006d00: 7967 6f6e 732e 2020 5468 6520 6c61 7474 ygons. The latt\n+00006d10: 6572 206b 696e 6420 6f66 206c 6973 7420 er kind of list \n+00006d20: 6361 6e20 6265 2063 7265 6174 6564 2077 can be created w\n+00006d30: 6974 6820 610a 7b20 7d2d 656e 636c 6f73 ith a.{ }-enclos\n+00006d40: 6564 2062 6c6f 636b 2c20 7065 7268 6170 ed block, perhap\n+00006d50: 7320 666f 6c6c 6f77 696e 6720 6120 7075 s following a pu\n+00006d60: 7420 6f72 2072 6570 6561 742e 0a0a 1f0a t or repeat.....\n+00006d70: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+00006d80: 6f2c 2020 4e6f 6465 3a20 506f 6c79 676f o, Node: Polygo\n+00006d90: 6e20 7377 6565 7073 2c20 204e 6578 743a n sweeps, Next:\n+00006da0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n+00006db0: 2077 6974 6820 636c 6f73 7572 652c 2020 with closure, \n+00006dc0: 5072 6576 3a20 4e65 7374 6564 2073 7765 Prev: Nested swe\n+00006dd0: 6570 732c 2020 5570 3a20 5377 6570 7420 eps, Up: Swept \n+00006de0: 6f62 6a65 6374 730a 0a32 2e37 2e34 2050 objects..2.7.4 P\n+00006df0: 6f6c 7967 6f6e 2073 7765 6570 730a 2d2d olygon sweeps.--\n+00006e00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00006e10: 2d2d 0a0a 5377 6565 7069 6e67 2061 2070 --..Sweeping a p\n+00006e20: 6f6c 7967 6f6e 2063 7265 6174 6573 2061 olygon creates a\n+00006e30: 2063 6c6f 7365 6420 7375 7266 6163 6520 closed surface \n+00006e40: 7769 7468 2070 6f6c 7967 6f6e 7320 6174 with polygons at\n+00006e50: 2074 6865 2065 6e64 732c 0a77 6869 6368 the ends,.which\n+00006e60: 2061 7265 206a 7573 7420 636f 7069 6573 are just copies\n+00006e70: 206f 6620 7468 6520 6f72 6967 696e 616c of the original\n+00006e80: 2c20 6170 7072 6f70 7269 6174 656c 7920 , appropriately \n+00006e90: 706f 7369 7469 6f6e 6564 2e20 202a 4e6f positioned. *No\n+00006ea0: 7465 0a53 6f6c 6964 2063 6f69 6c20 6578 te.Solid coil ex\n+00006eb0: 616d 706c 653a 3a2e 2020 4f70 7469 6f6e ample::. Option\n+00006ec0: 7320 6f6e 2074 6865 2073 7765 7074 2070 s on the swept p\n+00006ed0: 6f6c 7967 6f6e 2c20 6966 2074 6865 7920 olygon, if they \n+00006ee0: 6578 6973 742c 2061 7265 0a61 7070 6c69 exist, are.appli\n+00006ef0: 6564 2074 6f20 7468 6520 656e 6473 2e20 ed to the ends. \n+00006f00: 204f 7468 6572 7769 7365 2074 6865 2073 Otherwise the s\n+00006f10: 7765 6570 206f 7074 696f 6e73 2061 7265 weep options are\n+00006f20: 2075 7365 6420 7468 726f 7567 686f 7574 used throughout\n+00006f30: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+00006f40: 682e 696e 666f 2c20 204e 6f64 653a 2050 h.info, Node: P\n+00006f50: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w\n+00006f60: 6974 6820 636c 6f73 7572 652c 2020 4e65 ith closure, Ne\n+00006f70: 7874 3a20 4166 6669 6e65 2061 7269 7468 xt: Affine arith\n+00006f80: 6d65 7469 632c 2020 5072 6576 3a20 506f metic, Prev: Po\n+00006f90: 6c79 676f 6e20 7377 6565 7073 2c20 2055 lygon sweeps, U\n+00006fa0: 703a 2053 7765 7074 206f 626a 6563 7473 p: Swept objects\n+00006fb0: 0a0a 322e 372e 3520 506f 6c79 6c69 6e65 ..2.7.5 Polyline\n+00006fc0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n+00006fd0: 7375 7265 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d sure.-----------\n 00006fe0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00006ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a41 -------------..A\n-00007000: 2070 6f6c 796c 696e 6520 7377 6565 7020 polyline sweep \n-00007010: 7769 7468 2061 2063 6c6f 7375 7265 2074 with a closure t\n-00007020: 6167 2063 7265 6174 6573 2061 6e6f 7468 ag creates anoth\n-00007030: 6572 206b 696e 6420 6f66 2063 6c6f 7365 er kind of close\n-00007040: 640a 7375 7266 6163 652e 2020 4669 7273 d.surface. Firs\n-00007050: 742c 2074 6865 2070 6f6c 796c 696e 6520 t, the polyline \n-00007060: 7365 676d 656e 7473 2061 7265 2063 6f6e segments are con\n-00007070: 6e65 6374 6564 2062 7920 6661 6365 732c nected by faces,\n-00007080: 206a 7573 7420 6173 0a77 6974 686f 7574 just as.without\n-00007090: 2074 6865 2063 6c6f 7375 7265 2074 6167 the closure tag\n-000070a0: 2e20 2054 6865 6e2c 2065 6163 6820 7365 . Then, each se\n-000070b0: 7420 6f66 2065 6e64 2070 6f69 6e74 7320 t of end points \n-000070c0: 6973 206a 6f69 6e65 6420 746f 206d 616b is joined to mak\n-000070d0: 650a 6120 706f 6c79 676f 6e2c 206f 6e65 e.a polygon, one\n-000070e0: 2066 6f72 2065 6163 6820 656e 642e 2020 for each end. \n-000070f0: 4120 636f 6465 2066 6f72 2073 6576 6572 A code for sever\n-00007100: 616c 2076 6965 7773 206f 6620 6120 6379 al views of a cy\n-00007110: 6c69 6e64 7269 6361 6c0a 7072 6973 6d20 lindrical.prism \n-00007120: 666f 6c6c 6f77 732e 0a20 2064 6566 206e follows.. def n\n-00007130: 5f63 796c 5f73 6567 7320 3230 2020 6465 _cyl_segs 20 de\n-00007140: 6620 6e5f 7669 6577 7320 3520 2064 6566 f n_views 5 def\n-00007150: 2049 205b 312c 302c 305d 0a20 2064 6566 I [1,0,0]. def\n-00007160: 2065 6e64 6f70 7473 205b 6669 6c6c 636f endopts [fillco\n-00007170: 6c6f 723d 6c69 6768 7467 7261 795d 0a20 lor=lightgray]. \n-00007180: 2072 6570 6561 7420 7b20 6e5f 7669 6577 repeat { n_view\n-00007190: 732c 2072 6f74 6174 6528 3138 302f 6e5f s, rotate(180/n_\n-000071a0: 7669 6577 732c 205b 495d 2920 7468 656e views, [I]) then\n-000071b0: 2074 7261 6e73 6c61 7465 285b 495d 202a translate([I] *\n-000071c0: 2032 2e31 2920 7d20 0a20 2020 2073 7765 2.1) } . swe\n-000071d0: 6570 5b65 6e64 6f70 7473 5d7b 206e 5f63 ep[endopts]{ n_c\n-000071e0: 796c 5f73 6567 733c 3e2c 2072 6f74 6174 yl_segs<>, rotat\n-000071f0: 6528 3336 302f 6e5f 6379 6c5f 7365 6773 e(360/n_cyl_segs\n-00007200: 2c20 5b30 2c31 2c30 5d29 207d 200a 2020 , [0,1,0]) } . \n-00007210: 2020 2020 6c69 6e65 5b66 696c 6c63 6f6c line[fillcol\n-00007220: 6f72 3d77 6869 7465 5d28 312c 2d31 2928 or=white](1,-1)(\n-00007230: 312c 3129 0a49 7420 7072 6f64 7563 6573 1,1).It produces\n-00007240: 2074 6869 7320 6472 6177 696e 672e 0a0a this drawing...\n-00007250: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n-00007260: 3131 302e 706e 6722 2074 6578 743d 2249 110.png\" text=\"I\n-00007270: 6d61 6765 2065 7831 3130 206f 6d69 7474 mage ex110 omitt\n-00007280: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n-00007290: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n-000072a0: 656e 742e 2200 085d 0a0a 5468 6520 6f70 ent.\"..]..The op\n-000072b0: 7469 6f6e 7320 6f66 2074 6865 2073 7765 tions of the swe\n-000072c0: 7074 206c 696e 652c 2069 6620 616e 792c pt line, if any,\n-000072d0: 2061 7265 2061 7070 6c69 6564 2074 6f20 are applied to \n-000072e0: 7468 6520 6661 6365 7320 7072 6f64 7563 the faces produc\n-000072f0: 6564 0a62 7920 7377 6565 7069 6e67 2074 ed.by sweeping t\n-00007300: 6865 206c 696e 652c 2062 7574 206e 6f74 he line, but not\n-00007310: 2074 6865 2065 6e64 2070 6f6c 7967 6f6e the end polygon\n-00007320: 732e 2020 4f74 6865 7277 6973 652c 2074 s. Otherwise, t\n-00007330: 6865 2073 7765 6570 0a6f 7074 696f 6e73 he sweep.options\n-00007340: 2061 7265 2061 7070 6c69 6564 2074 6872 are applied thr\n-00007350: 6f75 6768 6f75 742e 2020 5468 6520 6465 oughout. The de\n-00007360: 6620 696e 2074 6869 7320 6578 616d 706c f in this exampl\n-00007370: 6520 6973 2061 6e20 e280 9c6f 7074 696f e is an ...optio\n-00007380: 6ee2 809d 0a64 6566 696e 6974 696f 6e2e n....definition.\n-00007390: 2020 5265 6665 7265 6e63 6573 2074 6f20 References to \n-000073a0: 6f70 7469 6f6e 7320 6d75 7374 2062 6520 options must be \n-000073b0: 656e 636c 6f73 6564 2069 6e20 7371 7561 enclosed in squa\n-000073c0: 7265 2062 7261 636b 6574 732c 0a65 2e67 re brackets,.e.g\n-000073d0: 2e20 2020 5b66 6f6f 5d2e 2020 596f 7520 . [foo]. You \n-000073e0: 6361 6e20 636f 6e63 6174 656e 6174 6520 can concatenate \n-000073f0: 7365 7665 7261 6c20 7365 7473 206f 6620 several sets of \n-00007400: 6f70 7469 6f6e 7320 7769 7468 2061 2073 options with a s\n-00007410: 696e 676c 650a 7265 6665 7265 6e63 652c ingle.reference,\n-00007420: 2065 2e67 2e20 2020 5b63 6f6c 6f72 2c20 e.g. [color, \n-00007430: 7369 7a65 2c20 7374 796c 655d 2020 776f size, style] wo\n-00007440: 756c 6420 6361 7573 6520 7468 6520 6f70 uld cause the op\n-00007450: 7469 6f6e 0a64 6566 696e 6974 696f 6e73 tion.definitions\n-00007460: 2066 6f72 20e2 8098 636f 6c6f 72e2 8099 for ...color...\n-00007470: 2c20 e280 9873 697a 65e2 8099 2c20 616e , ...size..., an\n-00007480: 6420 e280 9873 7479 6c65 e280 9920 746f d ...style... to\n-00007490: 2061 7070 6561 7220 696e 2073 6571 7565 appear in seque\n-000074a0: 6e63 6520 696e 0a74 6865 206f 7574 7075 nce in.the outpu\n-000074b0: 7420 6372 6561 7465 6420 6279 2074 6865 t created by the\n-000074c0: 20e2 8098 736b 6574 6368 e280 9920 636f ...sketch... co\n-000074d0: 6d6d 616e 6420 636f 6e74 6169 6e69 6e67 mmand containing\n-000074e0: 2074 6865 2072 6566 6572 656e 6365 2e0a the reference..\n-000074f0: 4861 7070 696c 792c 2074 6865 2073 796e Happily, the syn\n-00007500: 7461 7820 6f66 20e2 8098 736b 6574 6368 tax of ...sketch\n-00007510: e280 9920 6973 2073 7563 6820 7468 6174 ... is such that\n-00007520: 206f 7074 696f 6e73 2072 6566 6572 656e options referen\n-00007530: 6365 7320 6361 6e0a 6e65 7665 7220 6265 ces can.never be\n-00007540: 2063 6f6e 6675 7365 6420 7769 7468 2076 confused with v\n-00007550: 6563 746f 7220 7265 6665 7265 6e63 6573 ector references\n-00007560: 2e20 2057 6869 6c65 206e 6f74 2061 7070 . While not app\n-00007570: 6172 656e 7420 696e 2074 6869 730a 6578 arent in this.ex\n-00007580: 616d 706c 652c 206f 7074 696f 6e73 2072 ample, options r\n-00007590: 6566 6572 656e 6365 7320 6172 6520 7573 eferences are us\n-000075a0: 6566 756c 2077 6865 6e20 6465 6669 6e69 eful when defini\n-000075b0: 6e67 206d 616e 7920 6f62 6a65 6374 7320 ng many objects \n-000075c0: 7769 7468 2061 0a73 696d 696c 6172 2061 with a.similar a\n-000075d0: 7070 6561 7261 6e63 652e 0a0a 1f0a 4669 ppearance.....Fi\n-000075e0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-000075f0: 2020 4e6f 6465 3a20 4166 6669 6e65 2061 Node: Affine a\n-00007600: 7269 7468 6d65 7469 632c 2020 4e65 7874 rithmetic, Next\n-00007610: 3a20 4d6f 7265 2074 6f20 6c65 6172 6e2c : More to learn,\n-00007620: 2020 5072 6576 3a20 506f 6c79 6c69 6e65 Prev: Polyline\n-00007630: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n-00007640: 7375 7265 2c20 2055 703a 2053 7765 7074 sure, Up: Swept\n-00007650: 206f 626a 6563 7473 0a0a 322e 372e 3620 objects..2.7.6 \n-00007660: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti\n-00007670: 630a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d c.--------------\n-00007680: 2d2d 2d2d 2d2d 2d2d 2d0a 0a54 6865 2061 ---------..The a\n-00007690: 7269 7468 6d65 7469 6320 5b49 5d20 2a20 rithmetic [I] * \n-000076a0: 322e 3120 6162 6f76 6520 6869 6e74 7320 2.1 above hints \n-000076b0: 6174 2061 206c 6172 6765 7220 7472 7574 at a larger trut\n-000076c0: 682e 2020 e280 9853 6b65 7463 68e2 8099 h. ...Sketch...\n-000076d0: 0a6f 7065 7261 746f 7273 2077 6f72 6b20 .operators work \n-000076e0: 6f6e 2073 6361 6c61 7273 2c20 7665 6374 on scalars, vect\n-000076f0: 6f72 732c 2070 6f69 6e74 732c 2061 6e64 ors, points, and\n-00007700: 2074 7261 6e73 666f 726d 7320 6163 636f transforms acco\n-00007710: 7264 696e 6720 746f 0a74 6865 2067 656e rding to.the gen\n-00007720: 6572 616c 2072 756c 6573 206f 6620 e280 eral rules of ..\n-00007730: 9c61 6666 696e 6520 616c 6765 6272 61e2 .affine algebra.\n-00007740: 809d 2e20 2054 6869 7320 6361 6e20 6265 ... This can be\n-00007750: 2068 656c 7066 756c 2066 6f72 2073 6574 helpful for set\n-00007760: 7469 6e67 0a75 7020 6469 6167 7261 6d73 ting.up diagrams\n-00007770: 2077 6974 6820 636f 6d70 7574 6564 2067 with computed g\n-00007780: 656f 6d65 7472 792e 2020 466f 7220 6578 eometry. For ex\n-00007790: 616d 706c 652c 2069 6620 796f 7520 6861 ample, if you ha\n-000077a0: 7665 2074 7269 616e 676c 650a 7665 7274 ve triangle.vert\n-000077b0: 6963 6573 2028 7031 2920 7468 726f 7567 ices (p1) throug\n-000077c0: 6820 2870 3329 2061 6e64 206e 6565 6420 h (p3) and need \n-000077d0: 746f 2064 7261 7720 6120 756e 6974 206e to draw a unit n\n-000077e0: 6f72 6d61 6c20 7665 6374 6f72 0a70 6f69 ormal vector.poi\n-000077f0: 6e74 696e 6720 6f75 7420 6f66 2074 6865 nting out of the\n-00007800: 2063 656e 7465 7220 6f66 2074 6865 2074 center of the t\n-00007810: 7269 616e 676c 652c 2074 6869 7320 636f riangle, this co\n-00007820: 6465 2064 6f65 7320 7468 6520 7472 6963 de does the tric\n-00007830: 6b2e 0a20 2064 6566 2070 3120 2831 2c30 k.. def p1 (1,0\n-00007840: 2c30 2920 2064 6566 2070 3220 2830 2c30 ,0) def p2 (0,0\n-00007850: 2e35 2c30 2920 2064 6566 2070 3320 282d .5,0) def p3 (-\n-00007860: 302e 352c 2d31 2c32 290a 2020 6465 6620 0.5,-1,2). def \n-00007870: 4f20 2830 2c30 2c30 290a 2020 6465 6620 O (0,0,0). def \n-00007880: 4e20 756e 6974 2820 2828 7033 2920 2d20 N unit( ((p3) - \n-00007890: 2870 3229 2920 2a20 2828 7031 2920 2d20 (p2)) * ((p1) - \n-000078a0: 2870 3229 2920 290a 2020 6465 6620 6e31 (p2)) ). def n1\n-000078b0: 2028 2870 3129 2d28 4f29 202b 2028 7032 ((p1)-(O) + (p2\n-000078c0: 292d 284f 2920 2b20 2870 3329 2d28 4f29 )-(O) + (p3)-(O)\n-000078d0: 2920 2f20 3320 2b20 284f 290a 2020 6465 ) / 3 + (O). de\n-000078e0: 6620 6e32 2028 6e31 292b 5b4e 5d0a 2020 f n2 (n1)+[N]. \n-000078f0: 706f 6c79 676f 6e28 7031 2928 7032 2928 polygon(p1)(p2)(\n-00007900: 7033 290a 2020 6c69 6e65 5b61 7272 6f77 p3). line[arrow\n-00007910: 733d 2a2d 3e5d 286e 3129 286e 3229 0a54 s=*->](n1)(n2).T\n-00007920: 6865 2066 6972 7374 206c 696e 6520 636f he first line co\n-00007930: 6d70 7574 6573 2074 6865 2063 726f 7373 mputes the cross\n-00007940: 2070 726f 6475 6374 206f 6620 7477 6f20 product of two \n-00007950: 6564 6765 2076 6563 746f 7273 206f 6620 edge vectors of \n-00007960: 7468 650a 7472 6961 6e67 6c65 2061 6e64 the.triangle and\n-00007970: 2073 6361 6c65 7320 6974 2074 6f20 756e scales it to un\n-00007980: 6974 206c 656e 6774 682e 2020 5468 6520 it length. The \n-00007990: 7365 636f 6e64 2063 6f6d 7075 7465 7320 second computes \n-000079a0: 7468 6520 6176 6572 6167 650a 6f66 2074 the average.of t\n-000079b0: 6865 2076 6572 7469 6365 732e 2020 4e6f he vertices. No\n-000079c0: 7465 2074 6861 7420 7375 6274 7261 6374 te that subtract\n-000079d0: 696f 6e20 616e 6420 6164 6469 7469 6f6e ion and addition\n-000079e0: 206f 6620 7468 6520 6f72 6967 696e 0a65 of the origin.e\n-000079f0: 6666 6563 7469 7665 6c79 2063 6f6e 7665 ffectively conve\n-00007a00: 7274 2076 6563 746f 7273 2074 6f20 706f rt vectors to po\n-00007a10: 696e 7473 2061 6e64 205f 7669 6365 2076 ints and _vice v\n-00007a20: 6572 7361 5f2e 2020 5468 6520 6c69 6e65 ersa_. The line\n-00007a30: 0a63 6f6d 6d61 6e64 2064 7261 7773 2074 .command draws t\n-00007a40: 6865 206e 6f72 6d61 6c20 6174 2074 6865 he normal at the\n-00007a50: 2063 6f72 7265 6374 2073 706f 742e 0a0a correct spot...\n-00007a60: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n-00007a70: 3130 302e 706e 6722 2074 6578 743d 2249 100.png\" text=\"I\n-00007a80: 6d61 6765 2065 7831 3030 206f 6d69 7474 mage ex100 omitt\n-00007a90: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n-00007aa0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n-00007ab0: 656e 742e 2200 085d 0a0a 2020 2054 776f ent.\"..].. Two\n-00007ac0: 2063 6176 6561 7473 2072 6567 6172 6469 caveats regardi\n-00007ad0: 6e67 2074 6869 7320 6578 616d 706c 6520 ng this example \n-00007ae0: 7265 6d61 696e 2e20 2046 6972 7374 2c20 remain. First, \n-00007af0: 7468 6520 6f6e 6c79 2077 6179 2074 6f0a the only way to.\n-00007b00: 7573 6520 e280 9850 5354 7269 636b 73e2 use ...PSTricks.\n-00007b10: 8099 2d73 7479 6c65 2061 7272 6f77 7320 ..-style arrows \n-00007b20: 6973 2077 6974 6820 6172 726f 7773 3d2e is with arrows=.\n-00007b30: 2020 5468 6520 616c 7465 726e 6174 6976 The alternativ\n-00007b40: 6520 7379 6e74 6178 2066 6f72 0ae2 8098 e syntax for....\n-00007b50: 5053 5472 6963 6b73 e280 9920 6172 726f PSTricks... arro\n-00007b60: 7773 2069 7320 6e6f 7420 616c 6c6f 7765 ws is not allowe\n-00007b70: 6420 696e 2073 6b65 7463 682e 2020 5365 d in sketch. Se\n-00007b80: 636f 6e64 2c20 796f 7520 6d69 6768 7420 cond, you might \n-00007b90: 6c69 6b65 2074 6f0a 656c 696d 696e 6174 like to.eliminat\n-00007ba0: 6520 7468 6520 7468 6972 6420 6465 6620 e the third def \n-00007bb0: 616e 6420 7772 6974 6520 696e 7374 6561 and write instea\n-00007bc0: 6420 7468 6520 666f 6c6c 6f77 696e 672e d the following.\n-00007bd0: 0a20 206c 696e 655b 6172 726f 7773 3d2a . line[arrows=*\n-00007be0: 2d3e 5d28 6e31 2920 286e 3129 2b5b 4e5d ->](n1) (n1)+[N]\n-00007bf0: 0a54 6869 7320 6973 206e 6f74 2061 6c6c .This is not all\n-00007c00: 6f77 6564 2e20 2054 6865 2070 6f69 6e74 owed. The point\n-00007c10: 206c 6973 7473 2069 6e20 6472 6177 6162 lists in drawab\n-00007c20: 6c65 7320 6d61 7920 636f 6e73 6973 7420 les may consist \n-00007c30: 6f6e 6c79 206f 660a 6578 706c 6963 6974 only of.explicit\n-00007c40: 2070 6f69 6e74 7320 6f72 2070 6f69 6e74 points or point\n-00007c50: 2072 6566 6572 656e 6365 732e 2020 596f references. Yo\n-00007c60: 7520 6d61 792c 2068 6f77 6576 6572 2c20 u may, however, \n-00007c70: 7573 6520 6172 6974 686d 6574 6963 0a74 use arithmetic.t\n-00007c80: 6f20 6361 6c63 756c 6174 6520 706f 696e o calculate poin\n-00007c90: 7420 636f 6d70 6f6e 656e 7473 2e20 2054 t components. T\n-00007ca0: 6865 2066 6f6c 6c6f 7769 6e67 2077 6f72 he following wor\n-00007cb0: 6b73 2c20 7468 6f75 6768 2069 7427 7320 ks, though it's \n-00007cc0: 610a 6c69 7474 6c65 2063 756d 6265 7273 a.little cumbers\n-00007cd0: 6f6d 652e 0a20 206c 696e 655b 6172 726f ome.. line[arro\n-00007ce0: 7773 3d2a 2d3e 5d28 6e31 2928 286e 3129 ws=*->](n1)((n1)\n-00007cf0: 2778 2b28 4e29 2778 2c20 286e 3129 2779 'x+(N)'x, (n1)'y\n-00007d00: 2b28 4e29 2779 2c20 286e 3129 277a 2b28 +(N)'y, (n1)'z+(\n-00007d10: 4e29 277a 290a 4f62 7669 6f75 736c 792c N)'z).Obviously,\n-00007d20: 2074 6865 20e2 809c 7469 636b 206f 7065 the ...tick ope\n-00007d30: 7261 746f 72e2 809d 20e2 8098 2778 e280 rator... ...'x..\n-00007d40: 9920 6578 7472 6163 7473 2063 6f6d 706f . extracts compo\n-00007d50: 6e65 6e74 7320 6f66 2070 6f69 6e74 7320 nents of points \n-00007d60: 616e 640a 7665 6374 6f72 732e 0a0a 1f0a and.vectors.....\n-00007d70: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n-00007d80: 6f2c 2020 4e6f 6465 3a20 4d6f 7265 2074 o, Node: More t\n-00007d90: 6f20 6c65 6172 6e2c 2020 5072 6576 3a20 o learn, Prev: \n-00007da0: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti\n-00007db0: 632c 2020 5570 3a20 5377 6570 7420 6f62 c, Up: Swept ob\n-00007dc0: 6a65 6374 730a 0a32 2e37 2e37 204d 6f72 jects..2.7.7 Mor\n-00007dd0: 6520 746f 206c 6561 726e 0a2d 2d2d 2d2d e to learn.-----\n-00007de0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-00007df0: 5468 6973 2069 7320 6e6f 7420 7468 6520 This is not the \n-00007e00: 656e 6420 6f66 2074 6865 2073 746f 7279 end of the story\n-00007e10: 206f 6e20 7377 6565 7073 2120 2057 6520 on sweeps! We \n-00007e20: 696e 7669 7465 2074 6865 2072 6561 6465 invite the reade\n-00007e30: 7220 696e 746f 0a74 6865 206d 6169 6e20 r into.the main \n-00007e40: 626f 6479 206f 6620 7468 6973 2064 6f63 body of this doc\n-00007e50: 756d 656e 7461 7469 6f6e 202a 6e6f 7465 umentation *note\n-00007e60: 2053 7765 6570 733a 3a20 746f 206c 6561 Sweeps:: to lea\n-00007e70: 726e 206d 6f72 652e 0a0a 0008 5b69 6d61 rn more.....[ima\n-00007e80: 6765 2073 7263 3d22 6578 3132 302e 706e ge src=\"ex120.pn\n-00007e90: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n-00007ea0: 7831 3230 206f 6d69 7474 6564 2069 6e20 x120 omitted in \n-00007eb0: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n-00007ec0: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n-00007ed0: 085d 0a0a 5768 6f20 6b6e 6f77 7320 7768 .]..Who knows wh\n-00007ee0: 6572 6520 796f 7527 6c6c 2066 696e 6973 ere you'll finis\n-00007ef0: 683f 0a0a 1f0a 4669 6c65 3a20 736b 6574 h?....File: sket\n-00007f00: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-00007f10: 496e 7075 7420 6c61 6e67 7561 6765 2c20 Input language, \n-00007f20: 204e 6578 743a 2042 7569 6c64 696e 6720 Next: Building \n-00007f30: 6120 6472 6177 696e 672c 2020 5072 6576 a drawing, Prev\n-00007f40: 3a20 496e 7472 6f64 7563 7469 6f6e 2062 : Introduction b\n-00007f50: 7920 6578 616d 706c 652c 2020 5570 3a20 y example, Up: \n-00007f60: 546f 700a 0a33 2049 6e70 7574 206c 616e Top..3 Input lan\n-00007f70: 6775 6167 650a 2a2a 2a2a 2a2a 2a2a 2a2a guage.**********\n-00007f80: 2a2a 2a2a 2a2a 0a0a 5468 6973 2063 6861 ******..This cha\n-00007f90: 7074 6572 2064 6573 6372 6962 6573 2074 pter describes t\n-00007fa0: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... \n-00007fb0: 696e 7075 7420 6c61 6e67 7561 6765 2069 input language i\n-00007fc0: 6e20 6465 7461 696c 2e0a 0a2a 204d 656e n detail...* Men\n-00007fd0: 753a 0a0a 2a20 4c61 6e67 7561 6765 2062 u:..* Language b\n-00007fe0: 6173 6963 733a 3a20 2020 2020 2020 2020 asics:: \n-00007ff0: 2020 2020 4361 7365 2c20 7370 6163 652c Case, space,\n-00008000: 2063 6f6d 6d65 6e74 732c 2069 6e63 6c75 comments, inclu\n-00008010: 6465 2066 696c 6573 2e0a 2a20 4472 6177 de files..* Draw\n-00008020: 6162 6c65 733a 3a20 2020 2020 2020 2020 ables:: \n-00008030: 2020 2020 2020 2020 2020 5468 696e 6773 Things\n-00008040: 2074 6861 7420 6361 6e20 6265 2064 7261 that can be dra\n-00008050: 776e 2e0a 2a20 4465 6669 6e69 7469 6f6e wn..* Definition\n-00008060: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n-00008070: 2020 2020 4769 7669 6e67 2074 6869 6e67 Giving thing\n-00008080: 7320 6e61 6d65 732e 0a2a 2047 6c6f 6261 s names..* Globa\n-00008090: 6c20 656e 7669 726f 6e6d 656e 743a 3a20 l environment:: \n-000080a0: 2020 2020 2020 2020 2041 6666 6563 7420 Affect \n-000080b0: 7468 6520 656e 7469 7265 2064 7261 7769 the entire drawi\n-000080c0: 6e67 2e0a 0a1f 0a46 696c 653a 2073 6b65 ng.....File: ske\n-000080d0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n-000080e0: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics\n-000080f0: 2c20 204e 6578 743a 2044 7261 7761 626c , Next: Drawabl\n-00008100: 6573 2c20 2050 7265 763a 2049 6e70 7574 es, Prev: Input\n-00008110: 206c 616e 6775 6167 652c 2020 5570 3a20 language, Up: \n-00008120: 496e 7075 7420 6c61 6e67 7561 6765 0a0a Input language..\n-00008130: 332e 3120 4261 7369 6373 0a3d 3d3d 3d3d 3.1 Basics.=====\n-00008140: 3d3d 3d3d 3d0a 0ae2 8098 536b 6574 6368 =====.....Sketch\n-00008150: e280 9920 696e 7075 7420 6973 2070 6c61 ... input is pla\n-00008160: 696e 2041 5343 4949 2074 6578 742c 2075 in ASCII text, u\n-00008170: 7375 616c 6c79 2073 746f 7265 6420 696e sually stored in\n-00008180: 2061 6e20 696e 7075 7420 6669 6c65 2e20 an input file. \n-00008190: 2049 740a 6465 7363 7269 6265 7320 6120 It.describes a \n-000081a0: e280 9c73 6365 6e65 e280 9d2c 2073 6f20 ...scene..., so \n-000081b0: 7468 6520 736b 6574 6368 206c 616e 6775 the sketch langu\n-000081c0: 6167 6520 6973 2061 20e2 809c 7363 656e age is a ...scen\n-000081d0: 6520 6465 7363 7269 7074 696f 6e0a 6c61 e description.la\n-000081e0: 6e67 7561 6765 e280 9d2e 2020 e280 9853 nguage.... ...S\n-000081f0: 6b65 7463 68e2 8099 2069 6e70 7574 2069 ketch... input i\n-00008200: 7320 616c 736f 20e2 809c 6465 636c 6172 s also ...declar\n-00008210: 6174 6976 65e2 809d 2e20 2049 7420 6d65 ative.... It me\n-00008220: 7265 6c79 2064 6563 6c61 7265 730a 7768 rely declares.wh\n-00008230: 6174 2074 6865 2073 6365 6e65 206f 7567 at the scene oug\n-00008240: 6874 2074 6f20 6c6f 6f6b 206c 696b 6520 ht to look like \n-00008250: 7768 656e 2064 7261 7769 6e67 2069 7320 when drawing is \n-00008260: 636f 6d70 6c65 7465 2061 6e64 2073 6179 complete and say\n-00008270: 7320 7665 7279 0a6c 6974 746c 6520 6162 s very.little ab\n-00008280: 6f75 7420 686f 7720 e280 9873 6b65 7463 out how ...sketc\n-00008290: 68e2 8099 2073 686f 756c 6420 646f 2069 h... should do i\n-000082a0: 7473 2077 6f72 6b2e 2020 e280 9853 6b65 ts work. ...Ske\n-000082b0: 7463 68e2 8099 2063 6f6d 6d61 6e64 7320 tch... commands \n-000082c0: 6172 6520 6e6f 740a 6578 6563 7574 6564 are not.executed\n-000082d0: 2073 6571 7565 6e74 6961 6c6c 7920 6173 sequentially as\n-000082e0: 2069 6e20 7468 6520 7573 7561 6c20 7072 in the usual pr\n-000082f0: 6f67 7261 6d6d 696e 6720 6c61 6e67 7561 ogramming langua\n-00008300: 6765 2e20 2054 6865 7920 6d65 7265 6c79 ge. They merely\n-00008310: 0a63 6f6e 7472 6962 7574 6520 746f 2074 .contribute to t\n-00008320: 6861 7420 6465 636c 6172 6174 696f 6e2e hat declaration.\n-00008330: 0a0a 2020 2041 2066 6577 2073 796e 7461 .. A few synta\n-00008340: 6374 6963 2064 6574 6169 6c73 2061 7265 ctic details are\n-00008350: 2069 6d70 6f72 7461 6e74 2e20 2043 6173 important. Cas\n-00008360: 6520 6973 2073 6967 6e69 6669 6361 6e74 e is significant\n-00008370: 2069 6e20 7468 650a e280 9873 6b65 7463 in the....sketc\n-00008380: 68e2 8099 206c 616e 6775 6167 652e 2020 h... language. \n-00008390: 5769 7468 2061 2066 6577 2065 7863 6570 With a few excep\n-000083a0: 7469 6f6e 732c 2077 6869 7465 2073 7061 tions, white spa\n-000083b0: 6365 2069 7320 6e6f 742e 2020 5468 6973 ce is not. This\n-000083c0: 0a69 6e63 6c75 6465 7320 6c69 6e65 2062 .includes line b\n-000083d0: 7265 616b 732e 2020 436f 6d6d 656e 7473 reaks. Comments\n-000083e0: 2062 6567 696e 2077 6974 6820 e280 9825 begin with ...%\n-000083f0: e280 9920 6f72 20e2 8098 23e2 8099 2061 ... or ...#... a\n-00008400: 6e64 2065 7874 656e 6420 746f 2074 6865 nd extend to the\n-00008410: 0a65 6e64 206f 6620 7468 6520 6c69 6e65 .end of the line\n-00008420: 2e20 2059 6f75 2063 616e 2064 6973 6162 . You can disab\n-00008430: 6c65 2061 2063 6875 6e6b 206f 6620 7379 le a chunk of sy\n-00008440: 6e74 6163 7469 6361 6c6c 7920 636f 7272 ntactically corr\n-00008450: 6563 740a e280 9873 6b65 7463 68e2 8099 ect....sketch...\n-00008460: 2063 6f64 6520 6279 2065 6e63 6c6f 7369 code by enclosi\n-00008470: 6e67 2069 7420 696e 2061 20e2 8098 6465 ng it in a ...de\n-00008480: 66e2 8099 2e20 2054 6865 7265 2069 7320 f.... There is \n-00008490: 6120 7369 6d70 6c65 2022 696e 636c 7564 a simple \"includ\n-000084a0: 650a 6669 6c65 2220 6d65 6368 616e 6973 e.file\" mechanis\n-000084b0: 6d2e 2020 5468 6520 636f 6d6d 616e 640a m. The command.\n-000084c0: 2020 696e 7075 747b 6f74 6865 7266 696c input{otherfil\n-000084d0: 652e 736b 7d0a 6361 7573 6573 2074 6865 e.sk}.causes the\n-000084e0: 2063 6f6e 7465 6e74 7320 6f66 20e2 8098 contents of ...\n-000084f0: 6f74 6865 7266 696c 652e 736b e280 9920 otherfile.sk... \n-00008500: 746f 2062 6520 696e 7365 7274 6564 2061 to be inserted a\n-00008510: 7320 7468 6f75 6768 2074 6865 7920 7765 s though they we\n-00008520: 7265 0a70 6172 7420 6f66 2074 6865 2063 re.part of the c\n-00008530: 7572 7265 6e74 2066 696c 652e 0a0a 2a20 urrent file...* \n-00008540: 4d65 6e75 3a0a 0a2a 2049 6465 6e74 6966 Menu:..* Identif\n-00008550: 6965 7273 3a3a 2020 2020 2020 2020 2020 iers:: \n-00008560: 2020 2020 2020 204e 616d 6573 2066 6f72 Names for\n-00008570: 2074 6869 6e67 732e 0a2a 204b 6579 2061 things..* Key a\n-00008580: 6e64 2072 6573 6572 7665 6420 776f 7264 nd reserved word\n-00008590: 733a 3a20 2020 2020 204e 616d 6573 2079 s:: Names y\n-000085a0: 6f75 2073 686f 756c 646e 2774 2075 7365 ou shouldn't use\n-000085b0: 2e0a 2a20 4c69 7465 7261 6c73 3a3a 2020 ..* Literals:: \n-000085c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000085d0: 2020 436f 6e73 7461 6e74 7320 616e 6420 Constants and \n-000085e0: 636f 6e73 7472 7563 746f 7273 2e0a 2a20 constructors..* \n-000085f0: 4172 6974 686d 6574 6963 3a3a 2020 2020 Arithmetic:: \n-00008600: 2020 2020 2020 2020 2020 2020 2020 5275 Ru\n-00008610: 6c65 7320 666f 7220 6578 7072 6573 7369 les for expressi\n-00008620: 6f6e 732e 0a2a 204f 7074 696f 6e73 3a3a ons..* Options::\n-00008630: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00008640: 2020 2020 204d 6f64 6966 7969 6e67 206f Modifying o\n-00008650: 626a 6563 7420 6170 7065 6172 616e 6365 bject appearance\n-00008660: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n-00008670: 682e 696e 666f 2c20 204e 6f64 653a 2049 h.info, Node: I\n-00008680: 6465 6e74 6966 6965 7273 2c20 204e 6578 dentifiers, Nex\n-00008690: 743a 204b 6579 2061 6e64 2072 6573 6572 t: Key and reser\n-000086a0: 7665 6420 776f 7264 732c 2020 5072 6576 ved words, Prev\n-000086b0: 3a20 4c61 6e67 7561 6765 2062 6173 6963 : Language basic\n-000086c0: 732c 2020 5570 3a20 4c61 6e67 7561 6765 s, Up: Language\n-000086d0: 2062 6173 6963 730a 0a33 2e31 2e31 2049 basics..3.1.1 I\n-000086e0: 6465 6e74 6966 6965 7273 0a2d 2d2d 2d2d dentifiers.-----\n-000086f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 4964 ------------..Id\n-00008700: 656e 7469 6669 6572 7320 696e 20e2 8098 entifiers in ...\n-00008710: 736b 6574 6368 e280 9920 6172 6520 7265 sketch... are re\n-00008720: 6665 7265 6e63 6573 2074 6f20 6561 726c ferences to earl\n-00008730: 6965 722d 6465 6669 6e65 6420 6f70 7469 ier-defined opti\n-00008740: 6f6e 732c 0a73 6361 6c61 7273 2c20 706f ons,.scalars, po\n-00008750: 696e 7473 2c20 7665 6374 6f72 732c 2074 ints, vectors, t\n-00008760: 7261 6e73 666f 726d 732c 2064 7261 7761 ransforms, drawa\n-00008770: 626c 6573 2c20 616e 6420 7461 6773 2e20 bles, and tags. \n-00008780: 2044 6566 696e 6974 696f 6e73 0a61 7265 Definitions.are\n-00008790: 2065 7870 6c61 696e 6564 2069 6e20 2a6e explained in *n\n-000087a0: 6f74 6520 4465 6669 6e69 7469 6f6e 733a ote Definitions:\n-000087b0: 3a2e 0a0a 2020 2041 6e20 6964 656e 7469 :... An identi\n-000087c0: 6669 6572 2063 6f6e 7369 7374 7320 6f66 fier consists of\n-000087d0: 2061 206c 6561 6469 6e67 206c 6574 7465 a leading lette\n-000087e0: 7220 666f 6c6c 6f77 6564 2062 7920 6c65 r followed by le\n-000087f0: 7474 6572 732c 0a6e 756d 6265 7273 2061 tters,.numbers a\n-00008800: 6e64 2075 6e64 6572 7363 6f72 6573 2e20 nd underscores. \n-00008810: 2054 6865 206c 6173 7420 6368 6172 6163 The last charac\n-00008820: 7465 7220 6d61 7920 5f6e 6f74 5f20 6265 ter may _not_ be\n-00008830: 2061 6e20 756e 6465 7273 636f 7265 2e0a an underscore..\n-00008840: 4b65 7977 6f72 6473 2063 616e 6e6f 7420 Keywords cannot \n-00008850: 6265 2075 7365 6420 6173 2069 6465 6e74 be used as ident\n-00008860: 6966 6965 7273 2c20 616e 6420 7265 7365 ifiers, and rese\n-00008870: 7276 6564 2077 6f72 6473 206f 7567 6874 rved words ought\n-00008880: 2074 6f20 6265 0a61 766f 6964 6564 2e20 to be.avoided. \n-00008890: 202a 4e6f 7465 204b 6579 2061 6e64 2072 *Note Key and r\n-000088a0: 6573 6572 7665 6420 776f 7264 733a 3a2e eserved words::.\n-000088b0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-000088c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4b65 .info, Node: Ke\n-000088d0: 7920 616e 6420 7265 7365 7276 6564 2077 y and reserved w\n-000088e0: 6f72 6473 2c20 204e 6578 743a 204c 6974 ords, Next: Lit\n-000088f0: 6572 616c 732c 2020 5072 6576 3a20 4964 erals, Prev: Id\n-00008900: 656e 7469 6669 6572 732c 2020 5570 3a20 entifiers, Up: \n-00008910: 4c61 6e67 7561 6765 2062 6173 6963 730a Language basics.\n-00008920: 0a33 2e31 2e32 204b 6579 2061 6e64 2072 .3.1.2 Key and r\n-00008930: 6573 6572 7665 6420 776f 7264 730a 2d2d eserved words.--\n+00006ff0: 2d2d 2d2d 2d2d 2d0a 0a41 2070 6f6c 796c -------..A polyl\n+00007000: 696e 6520 7377 6565 7020 7769 7468 2061 ine sweep with a\n+00007010: 2063 6c6f 7375 7265 2074 6167 2063 7265 closure tag cre\n+00007020: 6174 6573 2061 6e6f 7468 6572 206b 696e ates another kin\n+00007030: 6420 6f66 2063 6c6f 7365 640a 7375 7266 d of closed.surf\n+00007040: 6163 652e 2020 4669 7273 742c 2074 6865 ace. First, the\n+00007050: 2070 6f6c 796c 696e 6520 7365 676d 656e polyline segmen\n+00007060: 7473 2061 7265 2063 6f6e 6e65 6374 6564 ts are connected\n+00007070: 2062 7920 6661 6365 732c 206a 7573 7420 by faces, just \n+00007080: 6173 0a77 6974 686f 7574 2074 6865 2063 as.without the c\n+00007090: 6c6f 7375 7265 2074 6167 2e20 2054 6865 losure tag. The\n+000070a0: 6e2c 2065 6163 6820 7365 7420 6f66 2065 n, each set of e\n+000070b0: 6e64 2070 6f69 6e74 7320 6973 206a 6f69 nd points is joi\n+000070c0: 6e65 6420 746f 206d 616b 650a 6120 706f ned to make.a po\n+000070d0: 6c79 676f 6e2c 206f 6e65 2066 6f72 2065 lygon, one for e\n+000070e0: 6163 6820 656e 642e 2020 4120 636f 6465 ach end. A code\n+000070f0: 2066 6f72 2073 6576 6572 616c 2076 6965 for several vie\n+00007100: 7773 206f 6620 6120 6379 6c69 6e64 7269 ws of a cylindri\n+00007110: 6361 6c0a 7072 6973 6d20 666f 6c6c 6f77 cal.prism follow\n+00007120: 732e 0a20 2064 6566 206e 5f63 796c 5f73 s.. def n_cyl_s\n+00007130: 6567 7320 3230 2020 6465 6620 6e5f 7669 egs 20 def n_vi\n+00007140: 6577 7320 3520 2064 6566 2049 205b 312c ews 5 def I [1,\n+00007150: 302c 305d 0a20 2064 6566 2065 6e64 6f70 0,0]. def endop\n+00007160: 7473 205b 6669 6c6c 636f 6c6f 723d 6c69 ts [fillcolor=li\n+00007170: 6768 7467 7261 795d 0a20 2072 6570 6561 ghtgray]. repea\n+00007180: 7420 7b20 6e5f 7669 6577 732c 2072 6f74 t { n_views, rot\n+00007190: 6174 6528 3138 302f 6e5f 7669 6577 732c ate(180/n_views,\n+000071a0: 205b 495d 2920 7468 656e 2074 7261 6e73 [I]) then trans\n+000071b0: 6c61 7465 285b 495d 202a 2032 2e31 2920 late([I] * 2.1) \n+000071c0: 7d20 0a20 2020 2073 7765 6570 5b65 6e64 } . sweep[end\n+000071d0: 6f70 7473 5d7b 206e 5f63 796c 5f73 6567 opts]{ n_cyl_seg\n+000071e0: 733c 3e2c 2072 6f74 6174 6528 3336 302f s<>, rotate(360/\n+000071f0: 6e5f 6379 6c5f 7365 6773 2c20 5b30 2c31 n_cyl_segs, [0,1\n+00007200: 2c30 5d29 207d 200a 2020 2020 2020 6c69 ,0]) } . li\n+00007210: 6e65 5b66 696c 6c63 6f6c 6f72 3d77 6869 ne[fillcolor=whi\n+00007220: 7465 5d28 312c 2d31 2928 312c 3129 0a49 te](1,-1)(1,1).I\n+00007230: 7420 7072 6f64 7563 6573 2074 6869 7320 t produces this \n+00007240: 6472 6177 696e 672e 0a0a 0008 5b69 6d61 drawing.....[ima\n+00007250: 6765 2073 7263 3d22 6578 3131 302e 706e ge src=\"ex110.pn\n+00007260: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n+00007270: 7831 3130 206f 6d69 7474 6564 2069 6e20 x110 omitted in \n+00007280: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n+00007290: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n+000072a0: 085d 0a0a 5468 6520 6f70 7469 6f6e 7320 .]..The options \n+000072b0: 6f66 2074 6865 2073 7765 7074 206c 696e of the swept lin\n+000072c0: 652c 2069 6620 616e 792c 2061 7265 2061 e, if any, are a\n+000072d0: 7070 6c69 6564 2074 6f20 7468 6520 6661 pplied to the fa\n+000072e0: 6365 7320 7072 6f64 7563 6564 0a62 7920 ces produced.by \n+000072f0: 7377 6565 7069 6e67 2074 6865 206c 696e sweeping the lin\n+00007300: 652c 2062 7574 206e 6f74 2074 6865 2065 e, but not the e\n+00007310: 6e64 2070 6f6c 7967 6f6e 732e 2020 4f74 nd polygons. Ot\n+00007320: 6865 7277 6973 652c 2074 6865 2073 7765 herwise, the swe\n+00007330: 6570 0a6f 7074 696f 6e73 2061 7265 2061 ep.options are a\n+00007340: 7070 6c69 6564 2074 6872 6f75 6768 6f75 pplied throughou\n+00007350: 742e 2020 5468 6520 6465 6620 696e 2074 t. The def in t\n+00007360: 6869 7320 6578 616d 706c 6520 6973 2061 his example is a\n+00007370: 6e20 e280 9c6f 7074 696f 6ee2 809d 0a64 n ...option....d\n+00007380: 6566 696e 6974 696f 6e2e 2020 5265 6665 efinition. Refe\n+00007390: 7265 6e63 6573 2074 6f20 6f70 7469 6f6e rences to option\n+000073a0: 7320 6d75 7374 2062 6520 656e 636c 6f73 s must be enclos\n+000073b0: 6564 2069 6e20 7371 7561 7265 2062 7261 ed in square bra\n+000073c0: 636b 6574 732c 0a65 2e67 2e20 2020 5b66 ckets,.e.g. [f\n+000073d0: 6f6f 5d2e 2020 596f 7520 6361 6e20 636f oo]. You can co\n+000073e0: 6e63 6174 656e 6174 6520 7365 7665 7261 ncatenate severa\n+000073f0: 6c20 7365 7473 206f 6620 6f70 7469 6f6e l sets of option\n+00007400: 7320 7769 7468 2061 2073 696e 676c 650a s with a single.\n+00007410: 7265 6665 7265 6e63 652c 2065 2e67 2e20 reference, e.g. \n+00007420: 2020 5b63 6f6c 6f72 2c20 7369 7a65 2c20 [color, size, \n+00007430: 7374 796c 655d 2020 776f 756c 6420 6361 style] would ca\n+00007440: 7573 6520 7468 6520 6f70 7469 6f6e 0a64 use the option.d\n+00007450: 6566 696e 6974 696f 6e73 2066 6f72 20e2 efinitions for .\n+00007460: 8098 636f 6c6f 72e2 8099 2c20 e280 9873 ..color..., ...s\n+00007470: 697a 65e2 8099 2c20 616e 6420 e280 9873 ize..., and ...s\n+00007480: 7479 6c65 e280 9920 746f 2061 7070 6561 tyle... to appea\n+00007490: 7220 696e 2073 6571 7565 6e63 6520 696e r in sequence in\n+000074a0: 0a74 6865 206f 7574 7075 7420 6372 6561 .the output crea\n+000074b0: 7465 6420 6279 2074 6865 20e2 8098 736b ted by the ...sk\n+000074c0: 6574 6368 e280 9920 636f 6d6d 616e 6420 etch... command \n+000074d0: 636f 6e74 6169 6e69 6e67 2074 6865 2072 containing the r\n+000074e0: 6566 6572 656e 6365 2e0a 4861 7070 696c eference..Happil\n+000074f0: 792c 2074 6865 2073 796e 7461 7820 6f66 y, the syntax of\n+00007500: 20e2 8098 736b 6574 6368 e280 9920 6973 ...sketch... is\n+00007510: 2073 7563 6820 7468 6174 206f 7074 696f such that optio\n+00007520: 6e73 2072 6566 6572 656e 6365 7320 6361 ns references ca\n+00007530: 6e0a 6e65 7665 7220 6265 2063 6f6e 6675 n.never be confu\n+00007540: 7365 6420 7769 7468 2076 6563 746f 7220 sed with vector \n+00007550: 7265 6665 7265 6e63 6573 2e20 2057 6869 references. Whi\n+00007560: 6c65 206e 6f74 2061 7070 6172 656e 7420 le not apparent \n+00007570: 696e 2074 6869 730a 6578 616d 706c 652c in this.example,\n+00007580: 206f 7074 696f 6e73 2072 6566 6572 656e options referen\n+00007590: 6365 7320 6172 6520 7573 6566 756c 2077 ces are useful w\n+000075a0: 6865 6e20 6465 6669 6e69 6e67 206d 616e hen defining man\n+000075b0: 7920 6f62 6a65 6374 7320 7769 7468 2061 y objects with a\n+000075c0: 0a73 696d 696c 6172 2061 7070 6561 7261 .similar appeara\n+000075d0: 6e63 652e 0a0a 1f0a 4669 6c65 3a20 736b nce.....File: sk\n+000075e0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+000075f0: 3a20 4166 6669 6e65 2061 7269 7468 6d65 : Affine arithme\n+00007600: 7469 632c 2020 4e65 7874 3a20 4d6f 7265 tic, Next: More\n+00007610: 2074 6f20 6c65 6172 6e2c 2020 5072 6576 to learn, Prev\n+00007620: 3a20 506f 6c79 6c69 6e65 2073 7765 6570 : Polyline sweep\n+00007630: 7320 7769 7468 2063 6c6f 7375 7265 2c20 s with closure, \n+00007640: 2055 703a 2053 7765 7074 206f 626a 6563 Up: Swept objec\n+00007650: 7473 0a0a 322e 372e 3620 4166 6669 6e65 ts..2.7.6 Affine\n+00007660: 2061 7269 7468 6d65 7469 630a 2d2d 2d2d arithmetic.----\n+00007670: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00007680: 2d2d 2d0a 0a54 6865 2061 7269 7468 6d65 ---..The arithme\n+00007690: 7469 6320 5b49 5d20 2a20 322e 3120 6162 tic [I] * 2.1 ab\n+000076a0: 6f76 6520 6869 6e74 7320 6174 2061 206c ove hints at a l\n+000076b0: 6172 6765 7220 7472 7574 682e 2020 e280 arger truth. ..\n+000076c0: 9853 6b65 7463 68e2 8099 0a6f 7065 7261 .Sketch....opera\n+000076d0: 746f 7273 2077 6f72 6b20 6f6e 2073 6361 tors work on sca\n+000076e0: 6c61 7273 2c20 7665 6374 6f72 732c 2070 lars, vectors, p\n+000076f0: 6f69 6e74 732c 2061 6e64 2074 7261 6e73 oints, and trans\n+00007700: 666f 726d 7320 6163 636f 7264 696e 6720 forms according \n+00007710: 746f 0a74 6865 2067 656e 6572 616c 2072 to.the general r\n+00007720: 756c 6573 206f 6620 e280 9c61 6666 696e ules of ...affin\n+00007730: 6520 616c 6765 6272 61e2 809d 2e20 2054 e algebra.... T\n+00007740: 6869 7320 6361 6e20 6265 2068 656c 7066 his can be helpf\n+00007750: 756c 2066 6f72 2073 6574 7469 6e67 0a75 ul for setting.u\n+00007760: 7020 6469 6167 7261 6d73 2077 6974 6820 p diagrams with \n+00007770: 636f 6d70 7574 6564 2067 656f 6d65 7472 computed geometr\n+00007780: 792e 2020 466f 7220 6578 616d 706c 652c y. For example,\n+00007790: 2069 6620 796f 7520 6861 7665 2074 7269 if you have tri\n+000077a0: 616e 676c 650a 7665 7274 6963 6573 2028 angle.vertices (\n+000077b0: 7031 2920 7468 726f 7567 6820 2870 3329 p1) through (p3)\n+000077c0: 2061 6e64 206e 6565 6420 746f 2064 7261 and need to dra\n+000077d0: 7720 6120 756e 6974 206e 6f72 6d61 6c20 w a unit normal \n+000077e0: 7665 6374 6f72 0a70 6f69 6e74 696e 6720 vector.pointing \n+000077f0: 6f75 7420 6f66 2074 6865 2063 656e 7465 out of the cente\n+00007800: 7220 6f66 2074 6865 2074 7269 616e 676c r of the triangl\n+00007810: 652c 2074 6869 7320 636f 6465 2064 6f65 e, this code doe\n+00007820: 7320 7468 6520 7472 6963 6b2e 0a20 2064 s the trick.. d\n+00007830: 6566 2070 3120 2831 2c30 2c30 2920 2064 ef p1 (1,0,0) d\n+00007840: 6566 2070 3220 2830 2c30 2e35 2c30 2920 ef p2 (0,0.5,0) \n+00007850: 2064 6566 2070 3320 282d 302e 352c 2d31 def p3 (-0.5,-1\n+00007860: 2c32 290a 2020 6465 6620 4f20 2830 2c30 ,2). def O (0,0\n+00007870: 2c30 290a 2020 6465 6620 4e20 756e 6974 ,0). def N unit\n+00007880: 2820 2828 7033 2920 2d20 2870 3229 2920 ( ((p3) - (p2)) \n+00007890: 2a20 2828 7031 2920 2d20 2870 3229 2920 * ((p1) - (p2)) \n+000078a0: 290a 2020 6465 6620 6e31 2028 2870 3129 ). def n1 ((p1)\n+000078b0: 2d28 4f29 202b 2028 7032 292d 284f 2920 -(O) + (p2)-(O) \n+000078c0: 2b20 2870 3329 2d28 4f29 2920 2f20 3320 + (p3)-(O)) / 3 \n+000078d0: 2b20 284f 290a 2020 6465 6620 6e32 2028 + (O). def n2 (\n+000078e0: 6e31 292b 5b4e 5d0a 2020 706f 6c79 676f n1)+[N]. polygo\n+000078f0: 6e28 7031 2928 7032 2928 7033 290a 2020 n(p1)(p2)(p3). \n+00007900: 6c69 6e65 5b61 7272 6f77 733d 2a2d 3e5d line[arrows=*->]\n+00007910: 286e 3129 286e 3229 0a54 6865 2066 6972 (n1)(n2).The fir\n+00007920: 7374 206c 696e 6520 636f 6d70 7574 6573 st line computes\n+00007930: 2074 6865 2063 726f 7373 2070 726f 6475 the cross produ\n+00007940: 6374 206f 6620 7477 6f20 6564 6765 2076 ct of two edge v\n+00007950: 6563 746f 7273 206f 6620 7468 650a 7472 ectors of the.tr\n+00007960: 6961 6e67 6c65 2061 6e64 2073 6361 6c65 iangle and scale\n+00007970: 7320 6974 2074 6f20 756e 6974 206c 656e s it to unit len\n+00007980: 6774 682e 2020 5468 6520 7365 636f 6e64 gth. The second\n+00007990: 2063 6f6d 7075 7465 7320 7468 6520 6176 computes the av\n+000079a0: 6572 6167 650a 6f66 2074 6865 2076 6572 erage.of the ver\n+000079b0: 7469 6365 732e 2020 4e6f 7465 2074 6861 tices. Note tha\n+000079c0: 7420 7375 6274 7261 6374 696f 6e20 616e t subtraction an\n+000079d0: 6420 6164 6469 7469 6f6e 206f 6620 7468 d addition of th\n+000079e0: 6520 6f72 6967 696e 0a65 6666 6563 7469 e origin.effecti\n+000079f0: 7665 6c79 2063 6f6e 7665 7274 2076 6563 vely convert vec\n+00007a00: 746f 7273 2074 6f20 706f 696e 7473 2061 tors to points a\n+00007a10: 6e64 205f 7669 6365 2076 6572 7361 5f2e nd _vice versa_.\n+00007a20: 2020 5468 6520 6c69 6e65 0a63 6f6d 6d61 The line.comma\n+00007a30: 6e64 2064 7261 7773 2074 6865 206e 6f72 nd draws the nor\n+00007a40: 6d61 6c20 6174 2074 6865 2063 6f72 7265 mal at the corre\n+00007a50: 6374 2073 706f 742e 0a0a 0008 5b69 6d61 ct spot.....[ima\n+00007a60: 6765 2073 7263 3d22 6578 3130 302e 706e ge src=\"ex100.pn\n+00007a70: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n+00007a80: 7831 3030 206f 6d69 7474 6564 2069 6e20 x100 omitted in \n+00007a90: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n+00007aa0: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n+00007ab0: 085d 0a0a 2020 2054 776f 2063 6176 6561 .].. Two cavea\n+00007ac0: 7473 2072 6567 6172 6469 6e67 2074 6869 ts regarding thi\n+00007ad0: 7320 6578 616d 706c 6520 7265 6d61 696e s example remain\n+00007ae0: 2e20 2046 6972 7374 2c20 7468 6520 6f6e . First, the on\n+00007af0: 6c79 2077 6179 2074 6f0a 7573 6520 e280 ly way to.use ..\n+00007b00: 9850 5354 7269 636b 73e2 8099 2d73 7479 .PSTricks...-sty\n+00007b10: 6c65 2061 7272 6f77 7320 6973 2077 6974 le arrows is wit\n+00007b20: 6820 6172 726f 7773 3d2e 2020 5468 6520 h arrows=. The \n+00007b30: 616c 7465 726e 6174 6976 6520 7379 6e74 alternative synt\n+00007b40: 6178 2066 6f72 0ae2 8098 5053 5472 6963 ax for....PSTric\n+00007b50: 6b73 e280 9920 6172 726f 7773 2069 7320 ks... arrows is \n+00007b60: 6e6f 7420 616c 6c6f 7765 6420 696e 2073 not allowed in s\n+00007b70: 6b65 7463 682e 2020 5365 636f 6e64 2c20 ketch. Second, \n+00007b80: 796f 7520 6d69 6768 7420 6c69 6b65 2074 you might like t\n+00007b90: 6f0a 656c 696d 696e 6174 6520 7468 6520 o.eliminate the \n+00007ba0: 7468 6972 6420 6465 6620 616e 6420 7772 third def and wr\n+00007bb0: 6974 6520 696e 7374 6561 6420 7468 6520 ite instead the \n+00007bc0: 666f 6c6c 6f77 696e 672e 0a20 206c 696e following.. lin\n+00007bd0: 655b 6172 726f 7773 3d2a 2d3e 5d28 6e31 e[arrows=*->](n1\n+00007be0: 2920 286e 3129 2b5b 4e5d 0a54 6869 7320 ) (n1)+[N].This \n+00007bf0: 6973 206e 6f74 2061 6c6c 6f77 6564 2e20 is not allowed. \n+00007c00: 2054 6865 2070 6f69 6e74 206c 6973 7473 The point lists\n+00007c10: 2069 6e20 6472 6177 6162 6c65 7320 6d61 in drawables ma\n+00007c20: 7920 636f 6e73 6973 7420 6f6e 6c79 206f y consist only o\n+00007c30: 660a 6578 706c 6963 6974 2070 6f69 6e74 f.explicit point\n+00007c40: 7320 6f72 2070 6f69 6e74 2072 6566 6572 s or point refer\n+00007c50: 656e 6365 732e 2020 596f 7520 6d61 792c ences. You may,\n+00007c60: 2068 6f77 6576 6572 2c20 7573 6520 6172 however, use ar\n+00007c70: 6974 686d 6574 6963 0a74 6f20 6361 6c63 ithmetic.to calc\n+00007c80: 756c 6174 6520 706f 696e 7420 636f 6d70 ulate point comp\n+00007c90: 6f6e 656e 7473 2e20 2054 6865 2066 6f6c onents. The fol\n+00007ca0: 6c6f 7769 6e67 2077 6f72 6b73 2c20 7468 lowing works, th\n+00007cb0: 6f75 6768 2069 7427 7320 610a 6c69 7474 ough it's a.litt\n+00007cc0: 6c65 2063 756d 6265 7273 6f6d 652e 0a20 le cumbersome.. \n+00007cd0: 206c 696e 655b 6172 726f 7773 3d2a 2d3e line[arrows=*->\n+00007ce0: 5d28 6e31 2928 286e 3129 2778 2b28 4e29 ](n1)((n1)'x+(N)\n+00007cf0: 2778 2c20 286e 3129 2779 2b28 4e29 2779 'x, (n1)'y+(N)'y\n+00007d00: 2c20 286e 3129 277a 2b28 4e29 277a 290a , (n1)'z+(N)'z).\n+00007d10: 4f62 7669 6f75 736c 792c 2074 6865 20e2 Obviously, the .\n+00007d20: 809c 7469 636b 206f 7065 7261 746f 72e2 ..tick operator.\n+00007d30: 809d 20e2 8098 2778 e280 9920 6578 7472 .. ...'x... extr\n+00007d40: 6163 7473 2063 6f6d 706f 6e65 6e74 7320 acts components \n+00007d50: 6f66 2070 6f69 6e74 7320 616e 640a 7665 of points and.ve\n+00007d60: 6374 6f72 732e 0a0a 1f0a 4669 6c65 3a20 ctors.....File: \n+00007d70: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n+00007d80: 6465 3a20 4d6f 7265 2074 6f20 6c65 6172 de: More to lear\n+00007d90: 6e2c 2020 5072 6576 3a20 4166 6669 6e65 n, Prev: Affine\n+00007da0: 2061 7269 7468 6d65 7469 632c 2020 5570 arithmetic, Up\n+00007db0: 3a20 5377 6570 7420 6f62 6a65 6374 730a : Swept objects.\n+00007dc0: 0a32 2e37 2e37 204d 6f72 6520 746f 206c .2.7.7 More to l\n+00007dd0: 6561 726e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d earn.-----------\n+00007de0: 2d2d 2d2d 2d2d 2d2d 0a0a 5468 6973 2069 --------..This i\n+00007df0: 7320 6e6f 7420 7468 6520 656e 6420 6f66 s not the end of\n+00007e00: 2074 6865 2073 746f 7279 206f 6e20 7377 the story on sw\n+00007e10: 6565 7073 2120 2057 6520 696e 7669 7465 eeps! We invite\n+00007e20: 2074 6865 2072 6561 6465 7220 696e 746f the reader into\n+00007e30: 0a74 6865 206d 6169 6e20 626f 6479 206f .the main body o\n+00007e40: 6620 7468 6973 2064 6f63 756d 656e 7461 f this documenta\n+00007e50: 7469 6f6e 202a 6e6f 7465 2053 7765 6570 tion *note Sweep\n+00007e60: 733a 3a20 746f 206c 6561 726e 206d 6f72 s:: to learn mor\n+00007e70: 652e 0a0a 0008 5b69 6d61 6765 2073 7263 e.....[image src\n+00007e80: 3d22 6578 3132 302e 706e 6722 2074 6578 =\"ex120.png\" tex\n+00007e90: 743d 2249 6d61 6765 2065 7831 3230 206f t=\"Image ex120 o\n+00007ea0: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n+00007eb0: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n+00007ec0: 6f63 756d 656e 742e 2200 085d 0a0a 5768 ocument.\"..]..Wh\n+00007ed0: 6f20 6b6e 6f77 7320 7768 6572 6520 796f o knows where yo\n+00007ee0: 7527 6c6c 2066 696e 6973 683f 0a0a 1f0a u'll finish?....\n+00007ef0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+00007f00: 6f2c 2020 4e6f 6465 3a20 496e 7075 7420 o, Node: Input \n+00007f10: 6c61 6e67 7561 6765 2c20 204e 6578 743a language, Next:\n+00007f20: 2042 7569 6c64 696e 6720 6120 6472 6177 Building a draw\n+00007f30: 696e 672c 2020 5072 6576 3a20 496e 7472 ing, Prev: Intr\n+00007f40: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam\n+00007f50: 706c 652c 2020 5570 3a20 546f 700a 0a33 ple, Up: Top..3\n+00007f60: 2049 6e70 7574 206c 616e 6775 6167 650a Input language.\n+00007f70: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+00007f80: 0a0a 5468 6973 2063 6861 7074 6572 2064 ..This chapter d\n+00007f90: 6573 6372 6962 6573 2074 6865 20e2 8098 escribes the ...\n+00007fa0: 736b 6574 6368 e280 9920 696e 7075 7420 sketch... input \n+00007fb0: 6c61 6e67 7561 6765 2069 6e20 6465 7461 language in deta\n+00007fc0: 696c 2e0a 0a2a 204d 656e 753a 0a0a 2a20 il...* Menu:..* \n+00007fd0: 4c61 6e67 7561 6765 2062 6173 6963 733a Language basics:\n+00007fe0: 3a20 2020 2020 2020 2020 2020 2020 4361 : Ca\n+00007ff0: 7365 2c20 7370 6163 652c 2063 6f6d 6d65 se, space, comme\n+00008000: 6e74 732c 2069 6e63 6c75 6465 2066 696c nts, include fil\n+00008010: 6573 2e0a 2a20 4472 6177 6162 6c65 733a es..* Drawables:\n+00008020: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00008030: 2020 2020 5468 696e 6773 2074 6861 7420 Things that \n+00008040: 6361 6e20 6265 2064 7261 776e 2e0a 2a20 can be drawn..* \n+00008050: 4465 6669 6e69 7469 6f6e 733a 3a20 2020 Definitions:: \n+00008060: 2020 2020 2020 2020 2020 2020 2020 4769 Gi\n+00008070: 7669 6e67 2074 6869 6e67 7320 6e61 6d65 ving things name\n+00008080: 732e 0a2a 2047 6c6f 6261 6c20 656e 7669 s..* Global envi\n+00008090: 726f 6e6d 656e 743a 3a20 2020 2020 2020 ronment:: \n+000080a0: 2020 2041 6666 6563 7420 7468 6520 656e Affect the en\n+000080b0: 7469 7265 2064 7261 7769 6e67 2e0a 0a1f tire drawing....\n+000080c0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n+000080d0: 666f 2c20 204e 6f64 653a 204c 616e 6775 fo, Node: Langu\n+000080e0: 6167 6520 6261 7369 6373 2c20 204e 6578 age basics, Nex\n+000080f0: 743a 2044 7261 7761 626c 6573 2c20 2050 t: Drawables, P\n+00008100: 7265 763a 2049 6e70 7574 206c 616e 6775 rev: Input langu\n+00008110: 6167 652c 2020 5570 3a20 496e 7075 7420 age, Up: Input \n+00008120: 6c61 6e67 7561 6765 0a0a 332e 3120 4261 language..3.1 Ba\n+00008130: 7369 6373 0a3d 3d3d 3d3d 3d3d 3d3d 3d0a sics.==========.\n+00008140: 0ae2 8098 536b 6574 6368 e280 9920 696e ....Sketch... in\n+00008150: 7075 7420 6973 2070 6c61 696e 2041 5343 put is plain ASC\n+00008160: 4949 2074 6578 742c 2075 7375 616c 6c79 II text, usually\n+00008170: 2073 746f 7265 6420 696e 2061 6e20 696e stored in an in\n+00008180: 7075 7420 6669 6c65 2e20 2049 740a 6465 put file. It.de\n+00008190: 7363 7269 6265 7320 6120 e280 9c73 6365 scribes a ...sce\n+000081a0: 6e65 e280 9d2c 2073 6f20 7468 6520 736b ne..., so the sk\n+000081b0: 6574 6368 206c 616e 6775 6167 6520 6973 etch language is\n+000081c0: 2061 20e2 809c 7363 656e 6520 6465 7363 a ...scene desc\n+000081d0: 7269 7074 696f 6e0a 6c61 6e67 7561 6765 ription.language\n+000081e0: e280 9d2e 2020 e280 9853 6b65 7463 68e2 .... ...Sketch.\n+000081f0: 8099 2069 6e70 7574 2069 7320 616c 736f .. input is also\n+00008200: 20e2 809c 6465 636c 6172 6174 6976 65e2 ...declarative.\n+00008210: 809d 2e20 2049 7420 6d65 7265 6c79 2064 ... It merely d\n+00008220: 6563 6c61 7265 730a 7768 6174 2074 6865 eclares.what the\n+00008230: 2073 6365 6e65 206f 7567 6874 2074 6f20 scene ought to \n+00008240: 6c6f 6f6b 206c 696b 6520 7768 656e 2064 look like when d\n+00008250: 7261 7769 6e67 2069 7320 636f 6d70 6c65 rawing is comple\n+00008260: 7465 2061 6e64 2073 6179 7320 7665 7279 te and says very\n+00008270: 0a6c 6974 746c 6520 6162 6f75 7420 686f .little about ho\n+00008280: 7720 e280 9873 6b65 7463 68e2 8099 2073 w ...sketch... s\n+00008290: 686f 756c 6420 646f 2069 7473 2077 6f72 hould do its wor\n+000082a0: 6b2e 2020 e280 9853 6b65 7463 68e2 8099 k. ...Sketch...\n+000082b0: 2063 6f6d 6d61 6e64 7320 6172 6520 6e6f commands are no\n+000082c0: 740a 6578 6563 7574 6564 2073 6571 7565 t.executed seque\n+000082d0: 6e74 6961 6c6c 7920 6173 2069 6e20 7468 ntially as in th\n+000082e0: 6520 7573 7561 6c20 7072 6f67 7261 6d6d e usual programm\n+000082f0: 696e 6720 6c61 6e67 7561 6765 2e20 2054 ing language. T\n+00008300: 6865 7920 6d65 7265 6c79 0a63 6f6e 7472 hey merely.contr\n+00008310: 6962 7574 6520 746f 2074 6861 7420 6465 ibute to that de\n+00008320: 636c 6172 6174 696f 6e2e 0a0a 2020 2041 claration... A\n+00008330: 2066 6577 2073 796e 7461 6374 6963 2064 few syntactic d\n+00008340: 6574 6169 6c73 2061 7265 2069 6d70 6f72 etails are impor\n+00008350: 7461 6e74 2e20 2043 6173 6520 6973 2073 tant. Case is s\n+00008360: 6967 6e69 6669 6361 6e74 2069 6e20 7468 ignificant in th\n+00008370: 650a e280 9873 6b65 7463 68e2 8099 206c e....sketch... l\n+00008380: 616e 6775 6167 652e 2020 5769 7468 2061 anguage. With a\n+00008390: 2066 6577 2065 7863 6570 7469 6f6e 732c few exceptions,\n+000083a0: 2077 6869 7465 2073 7061 6365 2069 7320 white space is \n+000083b0: 6e6f 742e 2020 5468 6973 0a69 6e63 6c75 not. This.inclu\n+000083c0: 6465 7320 6c69 6e65 2062 7265 616b 732e des line breaks.\n+000083d0: 2020 436f 6d6d 656e 7473 2062 6567 696e Comments begin\n+000083e0: 2077 6974 6820 e280 9825 e280 9920 6f72 with ...%... or\n+000083f0: 20e2 8098 23e2 8099 2061 6e64 2065 7874 ...#... and ext\n+00008400: 656e 6420 746f 2074 6865 0a65 6e64 206f end to the.end o\n+00008410: 6620 7468 6520 6c69 6e65 2e20 2059 6f75 f the line. You\n+00008420: 2063 616e 2064 6973 6162 6c65 2061 2063 can disable a c\n+00008430: 6875 6e6b 206f 6620 7379 6e74 6163 7469 hunk of syntacti\n+00008440: 6361 6c6c 7920 636f 7272 6563 740a e280 cally correct...\n+00008450: 9873 6b65 7463 68e2 8099 2063 6f64 6520 .sketch... code \n+00008460: 6279 2065 6e63 6c6f 7369 6e67 2069 7420 by enclosing it \n+00008470: 696e 2061 20e2 8098 6465 66e2 8099 2e20 in a ...def.... \n+00008480: 2054 6865 7265 2069 7320 6120 7369 6d70 There is a simp\n+00008490: 6c65 2022 696e 636c 7564 650a 6669 6c65 le \"include.file\n+000084a0: 2220 6d65 6368 616e 6973 6d2e 2020 5468 \" mechanism. Th\n+000084b0: 6520 636f 6d6d 616e 640a 2020 696e 7075 e command. inpu\n+000084c0: 747b 6f74 6865 7266 696c 652e 736b 7d0a t{otherfile.sk}.\n+000084d0: 6361 7573 6573 2074 6865 2063 6f6e 7465 causes the conte\n+000084e0: 6e74 7320 6f66 20e2 8098 6f74 6865 7266 nts of ...otherf\n+000084f0: 696c 652e 736b e280 9920 746f 2062 6520 ile.sk... to be \n+00008500: 696e 7365 7274 6564 2061 7320 7468 6f75 inserted as thou\n+00008510: 6768 2074 6865 7920 7765 7265 0a70 6172 gh they were.par\n+00008520: 7420 6f66 2074 6865 2063 7572 7265 6e74 t of the current\n+00008530: 2066 696c 652e 0a0a 2a20 4d65 6e75 3a0a file...* Menu:.\n+00008540: 0a2a 2049 6465 6e74 6966 6965 7273 3a3a .* Identifiers::\n+00008550: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00008560: 204e 616d 6573 2066 6f72 2074 6869 6e67 Names for thing\n+00008570: 732e 0a2a 204b 6579 2061 6e64 2072 6573 s..* Key and res\n+00008580: 6572 7665 6420 776f 7264 733a 3a20 2020 erved words:: \n+00008590: 2020 204e 616d 6573 2079 6f75 2073 686f Names you sho\n+000085a0: 756c 646e 2774 2075 7365 2e0a 2a20 4c69 uldn't use..* Li\n+000085b0: 7465 7261 6c73 3a3a 2020 2020 2020 2020 terals:: \n+000085c0: 2020 2020 2020 2020 2020 2020 436f 6e73 Cons\n+000085d0: 7461 6e74 7320 616e 6420 636f 6e73 7472 tants and constr\n+000085e0: 7563 746f 7273 2e0a 2a20 4172 6974 686d uctors..* Arithm\n+000085f0: 6574 6963 3a3a 2020 2020 2020 2020 2020 etic:: \n+00008600: 2020 2020 2020 2020 5275 6c65 7320 666f Rules fo\n+00008610: 7220 6578 7072 6573 7369 6f6e 732e 0a2a r expressions..*\n+00008620: 204f 7074 696f 6e73 3a3a 2020 2020 2020 Options:: \n+00008630: 2020 2020 2020 2020 2020 2020 2020 204d M\n+00008640: 6f64 6966 7969 6e67 206f 626a 6563 7420 odifying object \n+00008650: 6170 7065 6172 616e 6365 2e0a 0a1f 0a46 appearance.....F\n+00008660: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+00008670: 2c20 204e 6f64 653a 2049 6465 6e74 6966 , Node: Identif\n+00008680: 6965 7273 2c20 204e 6578 743a 204b 6579 iers, Next: Key\n+00008690: 2061 6e64 2072 6573 6572 7665 6420 776f and reserved wo\n+000086a0: 7264 732c 2020 5072 6576 3a20 4c61 6e67 rds, Prev: Lang\n+000086b0: 7561 6765 2062 6173 6963 732c 2020 5570 uage basics, Up\n+000086c0: 3a20 4c61 6e67 7561 6765 2062 6173 6963 : Language basic\n+000086d0: 730a 0a33 2e31 2e31 2049 6465 6e74 6966 s..3.1.1 Identif\n+000086e0: 6965 7273 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d iers.-----------\n+000086f0: 2d2d 2d2d 2d2d 0a0a 4964 656e 7469 6669 ------..Identifi\n+00008700: 6572 7320 696e 20e2 8098 736b 6574 6368 ers in ...sketch\n+00008710: e280 9920 6172 6520 7265 6665 7265 6e63 ... are referenc\n+00008720: 6573 2074 6f20 6561 726c 6965 722d 6465 es to earlier-de\n+00008730: 6669 6e65 6420 6f70 7469 6f6e 732c 0a73 fined options,.s\n+00008740: 6361 6c61 7273 2c20 706f 696e 7473 2c20 calars, points, \n+00008750: 7665 6374 6f72 732c 2074 7261 6e73 666f vectors, transfo\n+00008760: 726d 732c 2064 7261 7761 626c 6573 2c20 rms, drawables, \n+00008770: 616e 6420 7461 6773 2e20 2044 6566 696e and tags. Defin\n+00008780: 6974 696f 6e73 0a61 7265 2065 7870 6c61 itions.are expla\n+00008790: 696e 6564 2069 6e20 2a6e 6f74 6520 4465 ined in *note De\n+000087a0: 6669 6e69 7469 6f6e 733a 3a2e 0a0a 2020 finitions::... \n+000087b0: 2041 6e20 6964 656e 7469 6669 6572 2063 An identifier c\n+000087c0: 6f6e 7369 7374 7320 6f66 2061 206c 6561 onsists of a lea\n+000087d0: 6469 6e67 206c 6574 7465 7220 666f 6c6c ding letter foll\n+000087e0: 6f77 6564 2062 7920 6c65 7474 6572 732c owed by letters,\n+000087f0: 0a6e 756d 6265 7273 2061 6e64 2075 6e64 .numbers and und\n+00008800: 6572 7363 6f72 6573 2e20 2054 6865 206c erscores. The l\n+00008810: 6173 7420 6368 6172 6163 7465 7220 6d61 ast character ma\n+00008820: 7920 5f6e 6f74 5f20 6265 2061 6e20 756e y _not_ be an un\n+00008830: 6465 7273 636f 7265 2e0a 4b65 7977 6f72 derscore..Keywor\n+00008840: 6473 2063 616e 6e6f 7420 6265 2075 7365 ds cannot be use\n+00008850: 6420 6173 2069 6465 6e74 6966 6965 7273 d as identifiers\n+00008860: 2c20 616e 6420 7265 7365 7276 6564 2077 , and reserved w\n+00008870: 6f72 6473 206f 7567 6874 2074 6f20 6265 ords ought to be\n+00008880: 0a61 766f 6964 6564 2e20 202a 4e6f 7465 .avoided. *Note\n+00008890: 204b 6579 2061 6e64 2072 6573 6572 7665 Key and reserve\n+000088a0: 6420 776f 7264 733a 3a2e 0a0a 1f0a 4669 d words::.....Fi\n+000088b0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+000088c0: 2020 4e6f 6465 3a20 4b65 7920 616e 6420 Node: Key and \n+000088d0: 7265 7365 7276 6564 2077 6f72 6473 2c20 reserved words, \n+000088e0: 204e 6578 743a 204c 6974 6572 616c 732c Next: Literals,\n+000088f0: 2020 5072 6576 3a20 4964 656e 7469 6669 Prev: Identifi\n+00008900: 6572 732c 2020 5570 3a20 4c61 6e67 7561 ers, Up: Langua\n+00008910: 6765 2062 6173 6963 730a 0a33 2e31 2e32 ge basics..3.1.2\n+00008920: 204b 6579 2061 6e64 2072 6573 6572 7665 Key and reserve\n+00008930: 6420 776f 7264 730a 2d2d 2d2d 2d2d 2d2d d words.--------\n 00008940: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00008950: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5468 6520 ----------..The \n-00008960: 6b65 7977 6f72 6473 206f 6620 e280 9873 keywords of ...s\n-00008970: 6b65 7463 68e2 8099 2061 7265 20e2 8098 ketch... are ...\n-00008980: 7069 6374 7572 6562 6f78 e280 9920 e280 picturebox... ..\n-00008990: 9863 7572 7665 e280 9920 e280 9864 6566 .curve... ...def\n-000089a0: e280 9920 e280 9864 6f74 73e2 8099 20e2 ... ...dots... .\n-000089b0: 8098 6672 616d 65e2 8099 0ae2 8098 676c ..frame.......gl\n-000089c0: 6f62 616c e280 9920 e280 9869 6e70 7574 obal... ...input\n-000089d0: e280 9920 e280 986c 696e 65e2 8099 20e2 ... ...line... .\n-000089e0: 8098 706f 6c79 676f 6ee2 8099 20e2 8098 ..polygon... ...\n-000089f0: 7075 74e2 8099 20e2 8098 7265 7065 6174 put... ...repeat\n-00008a00: e280 9920 e280 9873 6574 e280 9920 e280 ... ...set... ..\n-00008a10: 9873 7765 6570 e280 9920 616e 640a e280 .sweep... and...\n-00008a20: 9874 6865 6ee2 8099 2e20 2054 6865 20e2 .then.... The .\n-00008a30: 8098 736b 6574 6368 e280 9920 7061 7273 ..sketch... pars\n-00008a40: 6572 2077 696c 6c20 6e6f 7465 2061 2073 er will note a s\n-00008a50: 796e 7461 7820 6572 726f 7220 6966 2061 yntax error if a\n-00008a60: 6e79 206f 6620 7468 6573 650a 6172 6520 ny of these.are \n-00008a70: 7573 6564 2069 6e20 706c 6163 6520 6f66 used in place of\n-00008a80: 2061 2070 726f 7065 7220 6964 656e 7469 a proper identi\n-00008a90: 6669 6572 2e0a 0a20 2020 496e 2061 6464 fier... In add\n-00008aa0: 6974 696f 6e2c 2074 6865 7265 2061 7265 ition, there are\n-00008ab0: 2072 6573 6572 7665 6420 776f 7264 7320 reserved words \n-00008ac0: 7468 6174 2063 616e 2063 7572 7265 6e74 that can current\n-00008ad0: 6c79 2062 6520 6465 6669 6e65 640a 6279 ly be defined.by\n-00008ae0: 2074 6865 2075 7365 722c 2062 7574 2077 the user, but w\n-00008af0: 6974 6820 7468 6520 7269 736b 2074 6861 ith the risk tha\n-00008b00: 7420 6675 7475 7265 2076 6572 7369 6f6e t future version\n-00008b10: 7320 6f66 20e2 8098 736b 6574 6368 e280 s of ...sketch..\n-00008b20: 9920 7769 6c6c 0a72 656a 6563 7420 7468 . will.reject th\n-00008b30: 6f73 6520 6465 6669 6e69 7469 6f6e 732e ose definitions.\n-00008b40: 2020 5468 6520 7265 7365 7276 6564 2077 The reserved w\n-00008b50: 6f72 6473 2061 7265 20e2 8098 6163 6f73 ords are ...acos\n-00008b60: e280 9920 e280 9861 7369 6ee2 8099 20e2 ... ...asin... .\n-00008b70: 8098 6174 616e 32e2 8099 0ae2 8098 636f ..atan2.......co\n-00008b80: 73e2 8099 20e2 8098 696e 7665 7273 65e2 s... ...inverse.\n-00008b90: 8099 20e2 8098 7065 7273 7065 6374 6976 .. ...perspectiv\n-00008ba0: 65e2 8099 20e2 8098 7072 6f6a 6563 74e2 e... ...project.\n-00008bb0: 8099 20e2 8098 726f 7461 7465 e280 9920 .. ...rotate... \n-00008bc0: e280 9873 6361 6c65 e280 9920 e280 9873 ...scale... ...s\n-00008bd0: 696e e280 9920 e280 9873 7065 6369 616c in... ...special\n-00008be0: e280 990a e280 9873 7172 74e2 8099 20e2 .......sqrt... .\n-00008bf0: 8098 7472 616e 736c 6174 65e2 8099 20e2 ..translate... .\n-00008c00: 8098 756e 6974 e280 9920 616e 6420 e280 ..unit... and ..\n-00008c10: 9876 6965 77e2 8099 2e0a 0a1f 0a46 696c .view........Fil\n-00008c20: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-00008c30: 204e 6f64 653a 204c 6974 6572 616c 732c Node: Literals,\n-00008c40: 2020 4e65 7874 3a20 4172 6974 686d 6574 Next: Arithmet\n-00008c50: 6963 2c20 2050 7265 763a 204b 6579 2061 ic, Prev: Key a\n-00008c60: 6e64 2072 6573 6572 7665 6420 776f 7264 nd reserved word\n-00008c70: 732c 2020 5570 3a20 4c61 6e67 7561 6765 s, Up: Language\n-00008c80: 2062 6173 6963 730a 0a33 2e31 2e33 204c basics..3.1.3 L\n-00008c90: 6974 6572 616c 730a 2d2d 2d2d 2d2d 2d2d iterals.--------\n-00008ca0: 2d2d 2d2d 2d2d 0a0a 4c69 7465 7261 6c73 ------..Literals\n-00008cb0: 2069 6e20 e280 9873 6b65 7463 68e2 8099 in ...sketch...\n-00008cc0: 2069 6e63 6c75 6465 2073 6361 6c61 7273 include scalars\n-00008cd0: 2c20 706f 696e 7473 2c20 7665 6374 6f72 , points, vector\n-00008ce0: 732c 2061 6e64 2074 7261 6e73 666f 726d s, and transform\n-00008cf0: 732e 0a4c 6974 6572 616c 732c 2061 6c6f s..Literals, alo\n-00008d00: 6e67 2077 6974 6820 6465 6669 6e65 6420 ng with defined \n-00008d10: 6f62 6a65 6374 2072 6566 6572 656e 6365 object reference\n-00008d20: 732c 2061 7265 2075 7365 6420 696e 2061 s, are used in a\n-00008d30: 7269 7468 6d65 7469 630a 6578 7072 6573 rithmetic.expres\n-00008d40: 7369 6f6e 732e 2020 2a4e 6f74 6520 4172 sions. *Note Ar\n-00008d50: 6974 686d 6574 6963 3a3a 2e0a 0a2a 204d ithmetic::...* M\n-00008d60: 656e 753a 0a0a 2a20 5363 616c 6172 206c enu:..* Scalar l\n-00008d70: 6974 6572 616c 733a 3a20 2020 2020 2020 iterals:: \n-00008d80: 2020 2020 2020 4a75 7374 2074 6865 206e Just the n\n-00008d90: 756d 6265 7273 2e0a 2a20 506f 696e 7420 umbers..* Point \n-00008da0: 616e 6420 7665 6374 6f72 206c 6974 6572 and vector liter\n-00008db0: 616c 733a 3a20 2020 3364 2071 7561 6e74 als:: 3d quant\n-00008dc0: 6974 6965 732e 0a2a 2054 7261 6e73 666f ities..* Transfo\n-00008dd0: 726d 206c 6974 6572 616c 733a 3a20 2020 rm literals:: \n-00008de0: 2020 2020 2020 204d 6174 7269 7820 666f Matrix fo\n-00008df0: 726d 2e0a 0a1f 0a46 696c 653a 2073 6b65 rm.....File: ske\n-00008e00: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n-00008e10: 2053 6361 6c61 7220 6c69 7465 7261 6c73 Scalar literals\n-00008e20: 2c20 204e 6578 743a 2050 6f69 6e74 2061 , Next: Point a\n-00008e30: 6e64 2076 6563 746f 7220 6c69 7465 7261 nd vector litera\n-00008e40: 6c73 2c20 2050 7265 763a 204c 6974 6572 ls, Prev: Liter\n-00008e50: 616c 732c 2020 5570 3a20 4c69 7465 7261 als, Up: Litera\n-00008e60: 6c73 0a0a 332e 312e 332e 3120 5363 616c ls..3.1.3.1 Scal\n-00008e70: 6172 206c 6974 6572 616c 730a 2e2e 2e2e ar literals.....\n-00008e80: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00008e90: 2e2e 2e0a 0a53 6361 6c61 7220 6c69 7465 .....Scalar lite\n-00008ea0: 7261 6c73 2061 7265 2070 6f73 6974 6976 rals are positiv\n-00008eb0: 6520 666c 6f61 7469 6e67 2070 6f69 6e74 e floating point\n-00008ec0: 206e 756d 6265 7273 2077 6974 6820 7379 numbers with sy\n-00008ed0: 6e74 6178 0a61 6363 6f72 6469 6e67 2074 ntax.according t\n-00008ee0: 6f20 4320 636f 6e76 656e 7469 6f6e 732e o C conventions.\n-00008ef0: 2020 5468 6520 666f 6c6c 6f77 696e 6720 The following \n-00008f00: 6172 6520 736f 6d65 2065 7861 6d70 6c65 are some example\n-00008f10: 732e 0a20 2020 2020 3020 3130 3034 202e s.. 0 1004 .\n-00008f20: 3030 3120 382e 3331 3433 2033 2e20 312e 001 8.3143 3. 1.\n-00008f30: 3630 452d 3139 2036 2e30 3265 2b32 330a 60E-19 6.02e+23.\n-00008f40: 5363 616c 6172 206c 6974 6572 616c 7320 Scalar literals \n-00008f50: 6d61 7920 6e6f 7420 636f 6e74 6169 6e20 may not contain \n-00008f60: 656d 6265 6464 6564 2073 7061 6365 732e embedded spaces.\n-00008f70: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-00008f80: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 506f .info, Node: Po\n-00008f90: 696e 7420 616e 6420 7665 6374 6f72 206c int and vector l\n-00008fa0: 6974 6572 616c 732c 2020 4e65 7874 3a20 iterals, Next: \n-00008fb0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n-00008fc0: 6c73 2c20 2050 7265 763a 2053 6361 6c61 ls, Prev: Scala\n-00008fd0: 7220 6c69 7465 7261 6c73 2c20 2055 703a r literals, Up:\n-00008fe0: 204c 6974 6572 616c 730a 0a33 2e31 2e33 Literals..3.1.3\n-00008ff0: 2e32 2050 6f69 6e74 2061 6e64 2076 6563 .2 Point and vec\n-00009000: 746f 7220 6c69 7465 7261 6c73 0a2e 2e2e tor literals....\n+00008950: 2d2d 2d2d 0a0a 5468 6520 6b65 7977 6f72 ----..The keywor\n+00008960: 6473 206f 6620 e280 9873 6b65 7463 68e2 ds of ...sketch.\n+00008970: 8099 2061 7265 20e2 8098 7069 6374 7572 .. are ...pictur\n+00008980: 6562 6f78 e280 9920 e280 9863 7572 7665 ebox... ...curve\n+00008990: e280 9920 e280 9864 6566 e280 9920 e280 ... ...def... ..\n+000089a0: 9864 6f74 73e2 8099 20e2 8098 6672 616d .dots... ...fram\n+000089b0: 65e2 8099 0ae2 8098 676c 6f62 616c e280 e.......global..\n+000089c0: 9920 e280 9869 6e70 7574 e280 9920 e280 . ...input... ..\n+000089d0: 986c 696e 65e2 8099 20e2 8098 706f 6c79 .line... ...poly\n+000089e0: 676f 6ee2 8099 20e2 8098 7075 74e2 8099 gon... ...put...\n+000089f0: 20e2 8098 7265 7065 6174 e280 9920 e280 ...repeat... ..\n+00008a00: 9873 6574 e280 9920 e280 9873 7765 6570 .set... ...sweep\n+00008a10: e280 9920 616e 640a e280 9874 6865 6ee2 ... and....then.\n+00008a20: 8099 2e20 2054 6865 20e2 8098 736b 6574 ... The ...sket\n+00008a30: 6368 e280 9920 7061 7273 6572 2077 696c ch... parser wil\n+00008a40: 6c20 6e6f 7465 2061 2073 796e 7461 7820 l note a syntax \n+00008a50: 6572 726f 7220 6966 2061 6e79 206f 6620 error if any of \n+00008a60: 7468 6573 650a 6172 6520 7573 6564 2069 these.are used i\n+00008a70: 6e20 706c 6163 6520 6f66 2061 2070 726f n place of a pro\n+00008a80: 7065 7220 6964 656e 7469 6669 6572 2e0a per identifier..\n+00008a90: 0a20 2020 496e 2061 6464 6974 696f 6e2c . In addition,\n+00008aa0: 2074 6865 7265 2061 7265 2072 6573 6572 there are reser\n+00008ab0: 7665 6420 776f 7264 7320 7468 6174 2063 ved words that c\n+00008ac0: 616e 2063 7572 7265 6e74 6c79 2062 6520 an currently be \n+00008ad0: 6465 6669 6e65 640a 6279 2074 6865 2075 defined.by the u\n+00008ae0: 7365 722c 2062 7574 2077 6974 6820 7468 ser, but with th\n+00008af0: 6520 7269 736b 2074 6861 7420 6675 7475 e risk that futu\n+00008b00: 7265 2076 6572 7369 6f6e 7320 6f66 20e2 re versions of .\n+00008b10: 8098 736b 6574 6368 e280 9920 7769 6c6c ..sketch... will\n+00008b20: 0a72 656a 6563 7420 7468 6f73 6520 6465 .reject those de\n+00008b30: 6669 6e69 7469 6f6e 732e 2020 5468 6520 finitions. The \n+00008b40: 7265 7365 7276 6564 2077 6f72 6473 2061 reserved words a\n+00008b50: 7265 20e2 8098 6163 6f73 e280 9920 e280 re ...acos... ..\n+00008b60: 9861 7369 6ee2 8099 20e2 8098 6174 616e .asin... ...atan\n+00008b70: 32e2 8099 0ae2 8098 636f 73e2 8099 20e2 2.......cos... .\n+00008b80: 8098 696e 7665 7273 65e2 8099 20e2 8098 ..inverse... ...\n+00008b90: 7065 7273 7065 6374 6976 65e2 8099 20e2 perspective... .\n+00008ba0: 8098 7072 6f6a 6563 74e2 8099 20e2 8098 ..project... ...\n+00008bb0: 726f 7461 7465 e280 9920 e280 9873 6361 rotate... ...sca\n+00008bc0: 6c65 e280 9920 e280 9873 696e e280 9920 le... ...sin... \n+00008bd0: e280 9873 7065 6369 616c e280 990a e280 ...special......\n+00008be0: 9873 7172 74e2 8099 20e2 8098 7472 616e .sqrt... ...tran\n+00008bf0: 736c 6174 65e2 8099 20e2 8098 756e 6974 slate... ...unit\n+00008c00: e280 9920 616e 6420 e280 9876 6965 77e2 ... and ...view.\n+00008c10: 8099 2e0a 0a1f 0a46 696c 653a 2073 6b65 .......File: ske\n+00008c20: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+00008c30: 204c 6974 6572 616c 732c 2020 4e65 7874 Literals, Next\n+00008c40: 3a20 4172 6974 686d 6574 6963 2c20 2050 : Arithmetic, P\n+00008c50: 7265 763a 204b 6579 2061 6e64 2072 6573 rev: Key and res\n+00008c60: 6572 7665 6420 776f 7264 732c 2020 5570 erved words, Up\n+00008c70: 3a20 4c61 6e67 7561 6765 2062 6173 6963 : Language basic\n+00008c80: 730a 0a33 2e31 2e33 204c 6974 6572 616c s..3.1.3 Literal\n+00008c90: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.--------------\n+00008ca0: 0a0a 4c69 7465 7261 6c73 2069 6e20 e280 ..Literals in ..\n+00008cb0: 9873 6b65 7463 68e2 8099 2069 6e63 6c75 .sketch... inclu\n+00008cc0: 6465 2073 6361 6c61 7273 2c20 706f 696e de scalars, poin\n+00008cd0: 7473 2c20 7665 6374 6f72 732c 2061 6e64 ts, vectors, and\n+00008ce0: 2074 7261 6e73 666f 726d 732e 0a4c 6974 transforms..Lit\n+00008cf0: 6572 616c 732c 2061 6c6f 6e67 2077 6974 erals, along wit\n+00008d00: 6820 6465 6669 6e65 6420 6f62 6a65 6374 h defined object\n+00008d10: 2072 6566 6572 656e 6365 732c 2061 7265 references, are\n+00008d20: 2075 7365 6420 696e 2061 7269 7468 6d65 used in arithme\n+00008d30: 7469 630a 6578 7072 6573 7369 6f6e 732e tic.expressions.\n+00008d40: 2020 2a4e 6f74 6520 4172 6974 686d 6574 *Note Arithmet\n+00008d50: 6963 3a3a 2e0a 0a2a 204d 656e 753a 0a0a ic::...* Menu:..\n+00008d60: 2a20 5363 616c 6172 206c 6974 6572 616c * Scalar literal\n+00008d70: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+00008d80: 4a75 7374 2074 6865 206e 756d 6265 7273 Just the numbers\n+00008d90: 2e0a 2a20 506f 696e 7420 616e 6420 7665 ..* Point and ve\n+00008da0: 6374 6f72 206c 6974 6572 616c 733a 3a20 ctor literals:: \n+00008db0: 2020 3364 2071 7561 6e74 6974 6965 732e 3d quantities.\n+00008dc0: 0a2a 2054 7261 6e73 666f 726d 206c 6974 .* Transform lit\n+00008dd0: 6572 616c 733a 3a20 2020 2020 2020 2020 erals:: \n+00008de0: 204d 6174 7269 7820 666f 726d 2e0a 0a1f Matrix form....\n+00008df0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n+00008e00: 666f 2c20 204e 6f64 653a 2053 6361 6c61 fo, Node: Scala\n+00008e10: 7220 6c69 7465 7261 6c73 2c20 204e 6578 r literals, Nex\n+00008e20: 743a 2050 6f69 6e74 2061 6e64 2076 6563 t: Point and vec\n+00008e30: 746f 7220 6c69 7465 7261 6c73 2c20 2050 tor literals, P\n+00008e40: 7265 763a 204c 6974 6572 616c 732c 2020 rev: Literals, \n+00008e50: 5570 3a20 4c69 7465 7261 6c73 0a0a 332e Up: Literals..3.\n+00008e60: 312e 332e 3120 5363 616c 6172 206c 6974 1.3.1 Scalar lit\n+00008e70: 6572 616c 730a 2e2e 2e2e 2e2e 2e2e 2e2e erals...........\n+00008e80: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a53 ...............S\n+00008e90: 6361 6c61 7220 6c69 7465 7261 6c73 2061 calar literals a\n+00008ea0: 7265 2070 6f73 6974 6976 6520 666c 6f61 re positive floa\n+00008eb0: 7469 6e67 2070 6f69 6e74 206e 756d 6265 ting point numbe\n+00008ec0: 7273 2077 6974 6820 7379 6e74 6178 0a61 rs with syntax.a\n+00008ed0: 6363 6f72 6469 6e67 2074 6f20 4320 636f ccording to C co\n+00008ee0: 6e76 656e 7469 6f6e 732e 2020 5468 6520 nventions. The \n+00008ef0: 666f 6c6c 6f77 696e 6720 6172 6520 736f following are so\n+00008f00: 6d65 2065 7861 6d70 6c65 732e 0a20 2020 me examples.. \n+00008f10: 2020 3020 3130 3034 202e 3030 3120 382e 0 1004 .001 8.\n+00008f20: 3331 3433 2033 2e20 312e 3630 452d 3139 3143 3. 1.60E-19\n+00008f30: 2036 2e30 3265 2b32 330a 5363 616c 6172 6.02e+23.Scalar\n+00008f40: 206c 6974 6572 616c 7320 6d61 7920 6e6f literals may no\n+00008f50: 7420 636f 6e74 6169 6e20 656d 6265 6464 t contain embedd\n+00008f60: 6564 2073 7061 6365 732e 0a0a 1f0a 4669 ed spaces.....Fi\n+00008f70: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+00008f80: 2020 4e6f 6465 3a20 506f 696e 7420 616e Node: Point an\n+00008f90: 6420 7665 6374 6f72 206c 6974 6572 616c d vector literal\n+00008fa0: 732c 2020 4e65 7874 3a20 5472 616e 7366 s, Next: Transf\n+00008fb0: 6f72 6d20 6c69 7465 7261 6c73 2c20 2050 orm literals, P\n+00008fc0: 7265 763a 2053 6361 6c61 7220 6c69 7465 rev: Scalar lite\n+00008fd0: 7261 6c73 2c20 2055 703a 204c 6974 6572 rals, Up: Liter\n+00008fe0: 616c 730a 0a33 2e31 2e33 2e32 2050 6f69 als..3.1.3.2 Poi\n+00008ff0: 6e74 2061 6e64 2076 6563 746f 7220 6c69 nt and vector li\n+00009000: 7465 7261 6c73 0a2e 2e2e 2e2e 2e2e 2e2e terals..........\n 00009010: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00009020: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................\n-00009030: 506f 696e 7473 2061 6e64 2076 6563 746f Points and vecto\n-00009040: 7220 6c69 7465 7261 6c73 2068 6176 6520 r literals have \n-00009050: 7468 6573 6520 666f 726d 7320 7265 7370 these forms resp\n-00009060: 6563 7469 7665 6c79 2e0a 2020 2020 2028 ectively.. (\n-00009070: 582c 592c 5a29 2020 5b58 2c59 2c5a 5d0a X,Y,Z) [X,Y,Z].\n-00009080: 4561 6368 206f 6620 7468 6520 636f 6d70 Each of the comp\n-00009090: 6f6e 656e 7473 2069 7320 6974 7365 6c66 onents is itself\n-000090a0: 2061 2073 6361 6c61 7220 6578 7072 6573 a scalar expres\n-000090b0: 7369 6f6e 2e20 2054 6865 207a 2d63 6f6d sion. The z-com\n-000090c0: 706f 6e65 6e74 730a 6172 6520 6f70 7469 ponents.are opti\n-000090d0: 6f6e 616c 2061 6e64 2064 6566 6175 6c74 onal and default\n-000090e0: 2074 6f20 7a65 726f 2e0a 0a1f 0a46 696c to zero.....Fil\n-000090f0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-00009100: 204e 6f64 653a 2054 7261 6e73 666f 726d Node: Transform\n-00009110: 206c 6974 6572 616c 732c 2020 5072 6576 literals, Prev\n-00009120: 3a20 506f 696e 7420 616e 6420 7665 6374 : Point and vect\n-00009130: 6f72 206c 6974 6572 616c 732c 2020 5570 or literals, Up\n-00009140: 3a20 4c69 7465 7261 6c73 0a0a 332e 312e : Literals..3.1.\n-00009150: 332e 3320 5472 616e 7366 6f72 6d20 6c69 3.3 Transform li\n-00009160: 7465 7261 6c73 0a2e 2e2e 2e2e 2e2e 2e2e terals..........\n-00009170: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00009180: 2e0a 0a4d 6f73 7420 7472 616e 7366 6f72 ...Most transfor\n-00009190: 6d20 6c69 7465 7261 6c73 2061 7265 2066 m literals are f\n-000091a0: 6f72 6d65 6420 6279 20e2 809c 636f 6e73 ormed by ...cons\n-000091b0: 7472 7563 746f 7273 e280 9d2e 2020 5468 tructors.... Th\n-000091c0: 6573 6520 6172 650a 7375 6d6d 6172 697a ese are.summariz\n-000091d0: 6564 2069 6e20 7468 6520 666f 6c6c 6f77 ed in the follow\n-000091e0: 696e 6720 7461 626c 652e 0a43 6f6e 7374 ing table..Const\n-000091f0: 7275 6374 6f72 2020 2020 2020 2020 2020 ructor \n-00009200: 2020 2020 2020 2020 2020 2020 2020 2050 P\n-00009210: 6172 616d 2074 7970 6573 2020 2020 2020 aram types \n-00009220: 2020 2020 2044 6573 6372 6970 7469 6f6e Description\n-00009230: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+00009020: 2e2e 2e2e 2e2e 2e2e 0a0a 506f 696e 7473 ..........Points\n+00009030: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite\n+00009040: 7261 6c73 2068 6176 6520 7468 6573 6520 rals have these \n+00009050: 666f 726d 7320 7265 7370 6563 7469 7665 forms respective\n+00009060: 6c79 2e0a 2020 2020 2028 582c 592c 5a29 ly.. (X,Y,Z)\n+00009070: 2020 5b58 2c59 2c5a 5d0a 4561 6368 206f [X,Y,Z].Each o\n+00009080: 6620 7468 6520 636f 6d70 6f6e 656e 7473 f the components\n+00009090: 2069 7320 6974 7365 6c66 2061 2073 6361 is itself a sca\n+000090a0: 6c61 7220 6578 7072 6573 7369 6f6e 2e20 lar expression. \n+000090b0: 2054 6865 207a 2d63 6f6d 706f 6e65 6e74 The z-component\n+000090c0: 730a 6172 6520 6f70 7469 6f6e 616c 2061 s.are optional a\n+000090d0: 6e64 2064 6566 6175 6c74 2074 6f20 7a65 nd default to ze\n+000090e0: 726f 2e0a 0a1f 0a46 696c 653a 2073 6b65 ro.....File: ske\n+000090f0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+00009100: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n+00009110: 616c 732c 2020 5072 6576 3a20 506f 696e als, Prev: Poin\n+00009120: 7420 616e 6420 7665 6374 6f72 206c 6974 t and vector lit\n+00009130: 6572 616c 732c 2020 5570 3a20 4c69 7465 erals, Up: Lite\n+00009140: 7261 6c73 0a0a 332e 312e 332e 3320 5472 rals..3.1.3.3 Tr\n+00009150: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n+00009160: 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+00009170: 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a4d 6f73 .............Mos\n+00009180: 7420 7472 616e 7366 6f72 6d20 6c69 7465 t transform lite\n+00009190: 7261 6c73 2061 7265 2066 6f72 6d65 6420 rals are formed \n+000091a0: 6279 20e2 809c 636f 6e73 7472 7563 746f by ...constructo\n+000091b0: 7273 e280 9d2e 2020 5468 6573 6520 6172 rs.... These ar\n+000091c0: 650a 7375 6d6d 6172 697a 6564 2069 6e20 e.summarized in \n+000091d0: 7468 6520 666f 6c6c 6f77 696e 6720 7461 the following ta\n+000091e0: 626c 652e 0a43 6f6e 7374 7275 6374 6f72 ble..Constructor\n+000091f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009200: 2020 2020 2020 2020 2050 6172 616d 2074 Param t\n+00009210: 7970 6573 2020 2020 2020 2020 2020 2044 ypes D\n+00009220: 6573 6372 6970 7469 6f6e 0a2d 2d2d 2d2d escription.-----\n+00009230: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 00009240: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 00009250: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 00009260: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 00009270: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 00009280: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00009290: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0ae2 8098 ------------....\n-000092a0: 726f 7461 7465 2841 2c50 2c58 29e2 8099 rotate(A,P,X)...\n-000092b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000092c0: 2020 2020 2073 6361 6c61 722c 706f 696e scalar,poin\n-000092d0: 742c 7665 6374 6f72 2020 2052 6f74 6174 t,vector Rotat\n-000092e0: 6520 e280 9841 e280 9920 6465 6772 6565 e ...A... degree\n-000092f0: 7320 6162 6f75 7420 706f 696e 7420 e280 s about point ..\n-00009300: 9850 e280 9920 7769 7468 2061 7869 730a .P... with axis.\n+00009290: 2d2d 2d2d 2d2d 0ae2 8098 726f 7461 7465 ------....rotate\n+000092a0: 2841 2c50 2c58 29e2 8099 2020 2020 2020 (A,P,X)... \n+000092b0: 2020 2020 2020 2020 2020 2020 2020 2073 s\n+000092c0: 6361 6c61 722c 706f 696e 742c 7665 6374 calar,point,vect\n+000092d0: 6f72 2020 2052 6f74 6174 6520 e280 9841 or Rotate ...A\n+000092e0: e280 9920 6465 6772 6565 7320 6162 6f75 ... degrees abou\n+000092f0: 7420 706f 696e 7420 e280 9850 e280 9920 t point ...P... \n+00009300: 7769 7468 2061 7869 730a 2020 2020 2020 with axis. \n 00009310: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009320: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009330: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009340: 2020 2020 2020 2020 2020 e280 9858 e280 ...X..\n-00009350: 9920 6163 636f 7264 696e 6720 746f 2074 . according to t\n-00009360: 6865 2072 6967 6874 2068 616e 6420 7275 he right hand ru\n-00009370: 6c65 2e0a 2020 2020 2020 2020 2020 2020 le.. \n+00009340: 2020 2020 e280 9858 e280 9920 6163 636f ...X... acco\n+00009350: 7264 696e 6720 746f 2074 6865 2072 6967 rding to the rig\n+00009360: 6874 2068 616e 6420 7275 6c65 2e0a 2020 ht hand rule.. \n+00009370: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009380: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009390: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000093a0: 2020 2020 2020 2020 2020 2020 2020 2a4e *N\n-000093b0: 6f74 6520 5269 6768 7420 6861 6e64 2072 ote Right hand r\n-000093c0: 756c 653a 3a2e 2020 e280 9850 e280 9920 ule::. ...P... \n-000093d0: 616e 6420 e280 9858 e280 9920 6172 6520 and ...X... are \n-000093e0: 626f 7468 0a20 2020 2020 2020 2020 2020 both. \n+000093a0: 2020 2020 2020 2020 2a4e 6f74 6520 5269 *Note Ri\n+000093b0: 6768 7420 6861 6e64 2072 756c 653a 3a2e ght hand rule::.\n+000093c0: 2020 e280 9850 e280 9920 616e 6420 e280 ...P... and ..\n+000093d0: 9858 e280 9920 6172 6520 626f 7468 0a20 .X... are both. \n+000093e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000093f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009410: 2020 2020 2020 2020 2020 2020 2020 206f o\n-00009420: 7074 696f 6e61 6c20 616e 6420 6465 6661 ptional and defa\n-00009430: 756c 7420 746f 2074 6865 206f 7269 6769 ult to the origi\n-00009440: 6e20 616e 6420 7468 650a 2020 2020 2020 n and the. \n+00009410: 2020 2020 2020 2020 206f 7074 696f 6e61 optiona\n+00009420: 6c20 616e 6420 6465 6661 756c 7420 746f l and default to\n+00009430: 2074 6865 206f 7269 6769 6e20 616e 6420 the origin and \n+00009440: 7468 650a 2020 2020 2020 2020 2020 2020 the. \n 00009450: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009460: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009480: 2020 2020 7a2d 6178 6973 2072 6573 7065 z-axis respe\n-00009490: 6374 6976 656c 792e 0ae2 8098 7472 616e ctively.....tran\n-000094a0: 736c 6174 6528 5829 e280 9920 2020 2020 slate(X)... \n-000094b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000094c0: 2076 6563 746f 7220 2020 2020 2020 2020 vector \n-000094d0: 2020 2020 2020 2054 7261 6e73 6c61 7465 Translate\n-000094e0: 2062 7920 e280 9858 e280 992e 0ae2 8098 by ...X........\n-000094f0: 7363 616c 6528 5329 e280 9920 2020 2020 scale(S)... \n-00009500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009510: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar \n-00009520: 2020 2020 2020 2020 2020 2053 6361 6c65 Scale\n-00009530: 2075 6e69 666f 726d 6c79 2062 7920 6661 uniformly by fa\n-00009540: 6374 6f72 20e2 8098 53e2 8099 2e0a e280 ctor ...S.......\n-00009550: 9873 6361 6c65 2856 29e2 8099 2020 2020 .scale(V)... \n+00009470: 2020 2020 2020 2020 2020 2020 2020 7a2d z-\n+00009480: 6178 6973 2072 6573 7065 6374 6976 656c axis respectivel\n+00009490: 792e 0ae2 8098 7472 616e 736c 6174 6528 y.....translate(\n+000094a0: 5829 e280 9920 2020 2020 2020 2020 2020 X)... \n+000094b0: 2020 2020 2020 2020 2020 2076 6563 746f vecto\n+000094c0: 7220 2020 2020 2020 2020 2020 2020 2020 r \n+000094d0: 2054 7261 6e73 6c61 7465 2062 7920 e280 Translate by ..\n+000094e0: 9858 e280 992e 0ae2 8098 7363 616c 6528 .X........scale(\n+000094f0: 5329 e280 9920 2020 2020 2020 2020 2020 S)... \n+00009500: 2020 2020 2020 2020 2020 2020 2020 2073 s\n+00009510: 6361 6c61 7220 2020 2020 2020 2020 2020 calar \n+00009520: 2020 2020 2053 6361 6c65 2075 6e69 666f Scale unifo\n+00009530: 726d 6c79 2062 7920 6661 6374 6f72 20e2 rmly by factor .\n+00009540: 8098 53e2 8099 2e0a e280 9873 6361 6c65 ..S........scale\n+00009550: 2856 29e2 8099 2020 2020 2020 2020 2020 (V)... \n 00009560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009570: 2020 2020 2020 7665 6374 6f72 2020 2020 vector \n-00009580: 2020 2020 2020 2020 2020 2020 5363 616c Scal\n-00009590: 6520 616c 6f6e 6720 6561 6368 2061 7869 e along each axi\n-000095a0: 7320 6279 2063 6f6d 706f 6e65 6e74 7320 s by components \n-000095b0: 6f66 20e2 8098 56e2 8099 2e0a e280 9870 of ...V........p\n-000095c0: 726f 6a65 6374 2829 e280 9920 2020 2020 roject()... \n-000095d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000095e0: 2020 2020 2d2d 2020 2020 2020 2020 2020 -- \n-000095f0: 2020 2020 2020 2020 2020 5361 6d65 2061 Same a\n-00009600: 7320 e280 9873 6361 6c65 285b 312c 312c s ...scale([1,1,\n-00009610: 305d 29e2 8099 2e0a e280 9870 726f 6a65 0])........proje\n-00009620: 6374 2853 29e2 8099 2020 2020 2020 2020 ct(S)... \n-00009630: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009640: 7363 616c 6172 2020 2020 2020 2020 2020 scalar \n-00009650: 2020 2020 2020 5065 7273 7065 6374 6976 Perspectiv\n-00009660: 6520 7072 6f6a 6563 7469 6f6e 2077 6974 e projection wit\n-00009670: 6820 7669 6577 2063 656e 7465 7220 6174 h view center at\n-00009680: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00009570: 7665 6374 6f72 2020 2020 2020 2020 2020 vector \n+00009580: 2020 2020 2020 5363 616c 6520 616c 6f6e Scale alon\n+00009590: 6720 6561 6368 2061 7869 7320 6279 2063 g each axis by c\n+000095a0: 6f6d 706f 6e65 6e74 7320 6f66 20e2 8098 omponents of ...\n+000095b0: 56e2 8099 2e0a e280 9870 726f 6a65 6374 V........project\n+000095c0: 2829 e280 9920 2020 2020 2020 2020 2020 ()... \n+000095d0: 2020 2020 2020 2020 2020 2020 2020 2d2d --\n+000095e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000095f0: 2020 2020 5361 6d65 2061 7320 e280 9873 Same as ...s\n+00009600: 6361 6c65 285b 312c 312c 305d 29e2 8099 cale([1,1,0])...\n+00009610: 2e0a e280 9870 726f 6a65 6374 2853 29e2 .....project(S).\n+00009620: 8099 2020 2020 2020 2020 2020 2020 2020 .. \n+00009630: 2020 2020 2020 2020 2020 7363 616c 6172 scalar\n+00009640: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009650: 5065 7273 7065 6374 6976 6520 7072 6f6a Perspective proj\n+00009660: 6563 7469 6f6e 2077 6974 6820 7669 6577 ection with view\n+00009670: 2063 656e 7465 7220 6174 0a20 2020 2020 center at. \n+00009680: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009690: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000096a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000096b0: 2020 2020 2020 2020 2020 206f 7269 6769 origi\n-000096c0: 6e20 616e 6420 7072 6f6a 6563 7469 6f6e n and projection\n-000096d0: 2070 6c61 6e65 207a 3d2d e280 9853 e280 plane z=-...S..\n-000096e0: 992e 0ae2 8098 7065 7273 7065 6374 6976 ......perspectiv\n-000096f0: 6528 5329 e280 9920 2020 2020 2020 2020 e(S)... \n-00009700: 2020 2020 2020 2020 2020 2073 6361 6c61 scala\n-00009710: 7220 2020 2020 2020 2020 2020 2020 2020 r \n-00009720: 2050 6572 7370 6563 7469 7665 205f 7472 Perspective _tr\n-00009730: 616e 7366 6f72 6d5f 2069 6465 6e74 6963 ansform_ identic\n-00009740: 616c 2074 6f0a 2020 2020 2020 2020 2020 al to. \n+000096b0: 2020 2020 206f 7269 6769 6e20 616e 6420 origin and \n+000096c0: 7072 6f6a 6563 7469 6f6e 2070 6c61 6e65 projection plane\n+000096d0: 207a 3d2d e280 9853 e280 992e 0ae2 8098 z=-...S........\n+000096e0: 7065 7273 7065 6374 6976 6528 5329 e280 perspective(S)..\n+000096f0: 9920 2020 2020 2020 2020 2020 2020 2020 . \n+00009700: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar \n+00009710: 2020 2020 2020 2020 2020 2050 6572 7370 Persp\n+00009720: 6563 7469 7665 205f 7472 616e 7366 6f72 ective _transfor\n+00009730: 6d5f 2069 6465 6e74 6963 616c 2074 6f0a m_ identical to.\n+00009740: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009750: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009770: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009780: e280 9870 726f 6a65 6374 2853 29e2 8099 ...project(S)...\n-00009790: 2065 7863 6570 7420 7468 6174 2074 6865 except that the\n-000097a0: 207a 2d63 6f6f 7264 696e 6174 6520 6f66 z-coordinate of\n-000097b0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00009770: 2020 2020 2020 2020 2020 e280 9870 726f ...pro\n+00009780: 6a65 6374 2853 29e2 8099 2065 7863 6570 ject(S)... excep\n+00009790: 7420 7468 6174 2074 6865 207a 2d63 6f6f t that the z-coo\n+000097a0: 7264 696e 6174 6520 6f66 0a20 2020 2020 rdinate of. \n+000097b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000097c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000097d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000097e0: 2020 2020 2020 2020 2020 2074 6865 2074 the t\n-000097f0: 7261 6e73 666f 726d 6564 2072 6573 756c ransformed resul\n-00009800: 7420 6973 20e2 809c 7073 6575 646f 6465 t is ...pseudode\n-00009810: 7074 68e2 809d 2c0a 2020 2020 2020 2020 pth...,. \n+000097e0: 2020 2020 2074 6865 2074 7261 6e73 666f the transfo\n+000097f0: 726d 6564 2072 6573 756c 7420 6973 20e2 rmed result is .\n+00009800: 809c 7073 6575 646f 6465 7074 68e2 809d ..pseudodepth...\n+00009810: 2c0a 2020 2020 2020 2020 2020 2020 2020 ,. \n 00009820: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009840: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009850: 2020 7573 6162 6c65 2062 7920 7468 6520 usable by the \n-00009860: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a\n-00009870: 6c67 6f72 6974 686d 2e0a e280 9876 6965 lgorithm.....vie\n-00009880: 7728 452c 442c 5529 e280 9920 2020 2020 w(E,D,U)... \n-00009890: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000098a0: 2020 706f 696e 742c 7665 6374 6f72 2c76 point,vector,v\n-000098b0: 6563 746f 7220 2020 5669 6577 2074 7261 ector View tra\n-000098c0: 6e73 666f 726d 2073 696d 696c 6172 2074 nsform similar t\n-000098d0: 6f20 7468 6174 206f 6620 e280 984f 7065 o that of ...Ope\n-000098e0: 6e47 4ce2 8099 2773 2e0a 2020 2020 2020 nGL...'s.. \n+00009840: 2020 2020 2020 2020 2020 2020 7573 6162 usab\n+00009850: 6c65 2062 7920 7468 6520 6869 6464 656e le by the hidden\n+00009860: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit\n+00009870: 686d 2e0a e280 9876 6965 7728 452c 442c hm.....view(E,D,\n+00009880: 5529 e280 9920 2020 2020 2020 2020 2020 U)... \n+00009890: 2020 2020 2020 2020 2020 2020 706f 696e poin\n+000098a0: 742c 7665 6374 6f72 2c76 6563 746f 7220 t,vector,vector \n+000098b0: 2020 5669 6577 2074 7261 6e73 666f 726d View transform\n+000098c0: 2073 696d 696c 6172 2074 6f20 7468 6174 similar to that\n+000098d0: 206f 6620 e280 984f 7065 6e47 4ce2 8099 of ...OpenGL...\n+000098e0: 2773 2e0a 2020 2020 2020 2020 2020 2020 's.. \n 000098f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009900: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009910: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009920: 2020 2020 5468 6520 5f65 7965 2070 6f69 The _eye poi\n-00009930: 6e74 5f20 e280 9845 e280 9920 6973 2074 nt_ ...E... is t\n-00009940: 7261 6e73 6c61 7465 6420 746f 2074 6865 ranslated to the\n-00009950: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00009910: 2020 2020 2020 2020 2020 2020 2020 5468 Th\n+00009920: 6520 5f65 7965 2070 6f69 6e74 5f20 e280 e _eye point_ ..\n+00009930: 9845 e280 9920 6973 2074 7261 6e73 6c61 .E... is transla\n+00009940: 7465 6420 746f 2074 6865 0a20 2020 2020 ted to the. \n+00009950: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009960: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009970: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009980: 2020 2020 2020 2020 2020 206f 7269 6769 origi\n-00009990: 6e20 7768 696c 6520 6120 726f 7461 7469 n while a rotati\n-000099a0: 6f6e 2069 7320 616c 736f 2061 7070 6c69 on is also appli\n-000099b0: 6564 2074 6861 740a 2020 2020 2020 2020 ed that. \n+00009980: 2020 2020 206f 7269 6769 6e20 7768 696c origin whil\n+00009990: 6520 6120 726f 7461 7469 6f6e 2069 7320 e a rotation is \n+000099a0: 616c 736f 2061 7070 6c69 6564 2074 6861 also applied tha\n+000099b0: 740a 2020 2020 2020 2020 2020 2020 2020 t. \n 000099c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000099d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000099e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000099f0: 2020 6d61 6b65 7320 7468 6520 5f76 6965 makes the _vie\n-00009a00: 7720 6469 7265 6374 696f 6e20 7665 6374 w direction vect\n-00009a10: 6f72 5f20 e280 9844 e280 9920 616e 6420 or_ ...D... and \n-00009a20: 7468 650a 2020 2020 2020 2020 2020 2020 the. \n+000099e0: 2020 2020 2020 2020 2020 2020 6d61 6b65 make\n+000099f0: 7320 7468 6520 5f76 6965 7720 6469 7265 s the _view dire\n+00009a00: 6374 696f 6e20 7665 6374 6f72 5f20 e280 ction vector_ ..\n+00009a10: 9844 e280 9920 616e 6420 7468 650a 2020 .D... and the. \n+00009a20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009a50: 2020 2020 2020 2020 2020 2020 2020 5f76 _v\n-00009a60: 6965 7720 2275 7022 2076 6563 746f 725f iew \"up\" vector_\n-00009a70: 20e2 8098 55e2 8099 2070 6f69 6e74 2069 ...U... point i\n-00009a80: 6e20 7468 6520 6e65 6761 7469 7665 0a20 n the negative. \n+00009a50: 2020 2020 2020 2020 5f76 6965 7720 2275 _view \"u\n+00009a60: 7022 2076 6563 746f 725f 20e2 8098 55e2 p\" vector_ ...U.\n+00009a70: 8099 2070 6f69 6e74 2069 6e20 7468 6520 .. point in the \n+00009a80: 6e65 6761 7469 7665 0a20 2020 2020 2020 negative. \n 00009a90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009aa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009ab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009ac0: 2020 2020 2020 2020 207a 2d20 616e 6420 z- and \n-00009ad0: 7468 6520 792d 6469 7265 6374 696f 6e73 the y-directions\n-00009ae0: 2072 6573 7065 6374 6976 656c 792e 2020 respectively. \n-00009af0: 4966 20e2 8098 55e2 8099 0a20 2020 2020 If ...U.... \n+00009ac0: 2020 207a 2d20 616e 6420 7468 6520 792d z- and the y-\n+00009ad0: 6469 7265 6374 696f 6e73 2072 6573 7065 directions respe\n+00009ae0: 6374 6976 656c 792e 2020 4966 20e2 8098 ctively. If ...\n+00009af0: 55e2 8099 0a20 2020 2020 2020 2020 2020 U.... \n 00009b00: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009b10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009b20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009b30: 2020 2020 2069 7320 6f6d 6974 7465 642c is omitted,\n-00009b40: 2069 7420 6465 6661 756c 7473 2074 6f20 it defaults to \n-00009b50: 5b30 2c31 2c30 5d2e 2020 5768 656e 20e2 [0,1,0]. When .\n-00009b60: 8098 55e2 8099 0a20 2020 2020 2020 2020 ..U.... \n+00009b20: 2020 2020 2020 2020 2020 2020 2020 2069 i\n+00009b30: 7320 6f6d 6974 7465 642c 2069 7420 6465 s omitted, it de\n+00009b40: 6661 756c 7473 2074 6f20 5b30 2c31 2c30 faults to [0,1,0\n+00009b50: 5d2e 2020 5768 656e 20e2 8098 55e2 8099 ]. When ...U...\n+00009b60: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00009b70: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009b80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009b90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009ba0: 2069 7320 6f6d 6974 7465 642c 20e2 8098 is omitted, ...\n-00009bb0: 44e2 8099 206d 6179 2062 6520 616c 736f D... may be also\n-00009bc0: 3b20 6974 2064 6566 6175 6c74 7320 746f ; it defaults to\n-00009bd0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00009b90: 2020 2020 2020 2020 2020 2069 7320 6f6d is om\n+00009ba0: 6974 7465 642c 20e2 8098 44e2 8099 206d itted, ...D... m\n+00009bb0: 6179 2062 6520 616c 736f 3b20 6974 2064 ay be also; it d\n+00009bc0: 6566 6175 6c74 7320 746f 0a20 2020 2020 efaults to. \n+00009bd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009be0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009bf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009c00: 2020 2020 2020 2020 2020 20e2 8098 2830 ...(0\n-00009c10: 2c30 2c30 292d 2845 29e2 8099 2c20 6120 ,0,0)-(E)..., a \n-00009c20: 7665 6374 6f72 2070 6f69 6e74 696e 6720 vector pointing \n-00009c30: 6672 6f6d 2074 6865 2065 7965 0a20 2020 from the eye. \n+00009c00: 2020 2020 20e2 8098 2830 2c30 2c30 292d ...(0,0,0)-\n+00009c10: 2845 29e2 8099 2c20 6120 7665 6374 6f72 (E)..., a vector\n+00009c20: 2070 6f69 6e74 696e 6720 6672 6f6d 2074 pointing from t\n+00009c30: 6865 2065 7965 0a20 2020 2020 2020 2020 he eye. \n 00009c40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009c50: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009c70: 2020 2020 2020 2074 6f77 6172 6420 7468 toward th\n-00009c80: 6520 6f72 6967 696e 2e0a e280 9876 6965 e origin.....vie\n-00009c90: 7728 452c 4c2c 5529 e280 9920 2020 2020 w(E,L,U)... \n-00009ca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009cb0: 2020 706f 696e 742c 706f 696e 742c 7665 point,point,ve\n-00009cc0: 6374 6f72 2020 2020 416e 2061 6c74 6572 ctor An alter\n-00009cd0: 6e61 7465 2066 6f72 6d20 6f66 20e2 8098 nate form of ...\n-00009ce0: 7669 6577 2845 2c44 2c55 29e2 8099 2061 view(E,D,U)... a\n-00009cf0: 626f 7665 2077 6865 7265 0a20 2020 2020 bove where. \n+00009c70: 2074 6f77 6172 6420 7468 6520 6f72 6967 toward the orig\n+00009c80: 696e 2e0a e280 9876 6965 7728 452c 4c2c in.....view(E,L,\n+00009c90: 5529 e280 9920 2020 2020 2020 2020 2020 U)... \n+00009ca0: 2020 2020 2020 2020 2020 2020 706f 696e poin\n+00009cb0: 742c 706f 696e 742c 7665 6374 6f72 2020 t,point,vector \n+00009cc0: 2020 416e 2061 6c74 6572 6e61 7465 2066 An alternate f\n+00009cd0: 6f72 6d20 6f66 20e2 8098 7669 6577 2845 orm of ...view(E\n+00009ce0: 2c44 2c55 29e2 8099 2061 626f 7665 2077 ,D,U)... above w\n+00009cf0: 6865 7265 0a20 2020 2020 2020 2020 2020 here. \n 00009d00: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009d10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009d30: 2020 2020 2074 6865 2076 6965 7720 6469 the view di\n-00009d40: 7265 6374 696f 6e20 7061 7261 6d65 7465 rection paramete\n-00009d50: 7220 e280 9844 e280 9920 6973 2072 6570 r ...D... is rep\n-00009d60: 6c61 6365 640a 2020 2020 2020 2020 2020 laced. \n+00009d20: 2020 2020 2020 2020 2020 2020 2020 2074 t\n+00009d30: 6865 2076 6965 7720 6469 7265 6374 696f he view directio\n+00009d40: 6e20 7061 7261 6d65 7465 7220 e280 9844 n parameter ...D\n+00009d50: e280 9920 6973 2072 6570 6c61 6365 640a ... is replaced.\n+00009d60: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009d70: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009d80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009d90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009da0: 7769 7468 2061 2022 6c6f 6f6b 2061 7422 with a \"look at\"\n-00009db0: 2070 6f69 6e74 20e2 8098 4ce2 8099 2c20 point ...L..., \n-00009dc0: 692e 652e 2c20 6120 706f 696e 740a 2020 i.e., a point. \n+00009d90: 2020 2020 2020 2020 2020 7769 7468 2061 with a\n+00009da0: 2022 6c6f 6f6b 2061 7422 2070 6f69 6e74 \"look at\" point\n+00009db0: 20e2 8098 4ce2 8099 2c20 692e 652e 2c20 ...L..., i.e., \n+00009dc0: 6120 706f 696e 740a 2020 2020 2020 2020 a point. \n 00009dd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009df0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009e00: 2020 2020 2020 2020 7768 6572 6520 7468 where th\n-00009e10: 6520 7669 6577 6572 2069 7320 666f 6375 e viewer is focu\n-00009e20: 7369 6e67 2068 6572 2061 7474 656e 7469 sing her attenti\n-00009e30: 6f6e 2e0a 2020 2020 2020 2020 2020 2020 on.. \n+00009e00: 2020 7768 6572 6520 7468 6520 7669 6577 where the view\n+00009e10: 6572 2069 7320 666f 6375 7369 6e67 2068 er is focusing h\n+00009e20: 6572 2061 7474 656e 7469 6f6e 2e0a 2020 er attention.. \n+00009e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009e50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009e60: 2020 2020 2020 2020 2020 2020 2020 5468 Th\n-00009e70: 6973 2066 6f72 6d20 6f66 2076 6965 7720 is form of view \n-00009e80: 6973 2065 7175 6976 616c 656e 7420 746f is equivalent to\n-00009e90: 20e2 8098 7669 6577 2845 2c0a 2020 2020 ...view(E,. \n+00009e60: 2020 2020 2020 2020 5468 6973 2066 6f72 This for\n+00009e70: 6d20 6f66 2076 6965 7720 6973 2065 7175 m of view is equ\n+00009e80: 6976 616c 656e 7420 746f 20e2 8098 7669 ivalent to ...vi\n+00009e90: 6577 2845 2c0a 2020 2020 2020 2020 2020 ew(E,. \n 00009ea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009eb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009ec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009ed0: 2020 2020 2020 284c 292d 2845 292c 2055 (L)-(E), U\n-00009ee0: 29e2 8099 2c20 7768 6572 6520 e280 9828 )..., where ...(\n-00009ef0: 4c29 2d28 4529 e280 9920 6973 2061 2064 L)-(E)... is a d\n-00009f00: 6972 6563 7469 6f6e 0a20 2020 2020 2020 irection. \n+00009ed0: 284c 292d 2845 292c 2055 29e2 8099 2c20 (L)-(E), U)..., \n+00009ee0: 7768 6572 6520 e280 9828 4c29 2d28 4529 where ...(L)-(E)\n+00009ef0: e280 9920 6973 2061 2064 6972 6563 7469 ... is a directi\n+00009f00: 6f6e 0a20 2020 2020 2020 2020 2020 2020 on. \n 00009f10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009f20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009f30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009f40: 2020 2076 6563 746f 722e 2020 e280 9855 vector. ...U\n-00009f50: e280 9920 6973 206f 7074 696f 6e61 6c20 ... is optional \n-00009f60: 616e 6420 6465 6661 756c 7473 2074 6f0a and defaults to.\n+00009f30: 2020 2020 2020 2020 2020 2020 2076 6563 vec\n+00009f40: 746f 722e 2020 e280 9855 e280 9920 6973 tor. ...U... is\n+00009f50: 206f 7074 696f 6e61 6c20 616e 6420 6465 optional and de\n+00009f60: 6661 756c 7473 2074 6f0a 2020 2020 2020 faults to. \n 00009f70: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009f80: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00009f90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009fa0: 2020 2020 2020 2020 2020 5b30 2c31 2c30 [0,1,0\n-00009fb0: 5d2e 0ae2 8098 5b5b 615f 7b31 317d 2c61 ].....[[a_{11},a\n-00009fc0: 5f7b 3132 7d2c 615f 7b31 337d 2c61 5f7b _{12},a_{13},a_{\n-00009fd0: 3134 7d5d e280 9920 2020 2031 3620 7363 14}]... 16 sc\n-00009fe0: 616c 6172 7320 2020 2020 2020 2020 2020 alars \n-00009ff0: 2044 6972 6563 7420 7472 616e 7366 6f72 Direct transfor\n-0000a000: 6d20 6d61 7472 6978 2064 6566 696e 6974 m matrix definit\n-0000a010: 696f 6e2e 2020 4561 6368 206f 660a e280 ion. Each of...\n-0000a020: 9820 5b61 5f7b 3231 7d2c 615f 7b32 327d . [a_{21},a_{22}\n-0000a030: 2c61 5f7b 3233 7d2c 615f 7b32 347d 5de2 ,a_{23},a_{24}].\n-0000a040: 8099 2020 2020 2020 2020 2020 2020 2020 .. \n-0000a050: 2020 2020 2020 2020 2020 2020 7468 6520 the \n-0000a060: 615f 7b69 6a7d 2069 7320 6120 7363 616c a_{ij} is a scal\n-0000a070: 6172 2065 7870 7265 7373 696f 6e2e 2020 ar expression. \n-0000a080: 5365 6520 7465 7874 0ae2 8098 205b 615f See text.... [a_\n-0000a090: 7b33 317d 2c61 5f7b 3332 7d2c 615f 7b33 {31},a_{32},a_{3\n-0000a0a0: 337d 2c61 5f7b 3334 7d5d e280 9920 2020 3},a_{34}]... \n+00009fa0: 2020 2020 5b30 2c31 2c30 5d2e 0ae2 8098 [0,1,0].....\n+00009fb0: 5b5b 615f 7b31 317d 2c61 5f7b 3132 7d2c [[a_{11},a_{12},\n+00009fc0: 615f 7b31 337d 2c61 5f7b 3134 7d5d e280 a_{13},a_{14}]..\n+00009fd0: 9920 2020 2031 3620 7363 616c 6172 7320 . 16 scalars \n+00009fe0: 2020 2020 2020 2020 2020 2044 6972 6563 Direc\n+00009ff0: 7420 7472 616e 7366 6f72 6d20 6d61 7472 t transform matr\n+0000a000: 6978 2064 6566 696e 6974 696f 6e2e 2020 ix definition. \n+0000a010: 4561 6368 206f 660a e280 9820 5b61 5f7b Each of.... [a_{\n+0000a020: 3231 7d2c 615f 7b32 327d 2c61 5f7b 3233 21},a_{22},a_{23\n+0000a030: 7d2c 615f 7b32 347d 5de2 8099 2020 2020 },a_{24}]... \n+0000a040: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a050: 2020 2020 2020 7468 6520 615f 7b69 6a7d the a_{ij}\n+0000a060: 2069 7320 6120 7363 616c 6172 2065 7870 is a scalar exp\n+0000a070: 7265 7373 696f 6e2e 2020 5365 6520 7465 ression. See te\n+0000a080: 7874 0ae2 8098 205b 615f 7b33 317d 2c61 xt.... [a_{31},a\n+0000a090: 5f7b 3332 7d2c 615f 7b33 337d 2c61 5f7b _{32},a_{33},a_{\n+0000a0a0: 3334 7d5d e280 9920 2020 2020 2020 2020 34}]... \n 0000a0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a0c0: 2020 2020 2020 2066 6f72 2064 6574 6169 for detai\n-0000a0d0: 6c73 2e0a e280 9820 5b61 5f7b 3431 7d2c ls..... [a_{41},\n-0000a0e0: 615f 7b34 327d 2c61 5f7b 3433 7d2c 615f a_{42},a_{43},a_\n-0000a0f0: 7b34 347d 5d5d e280 990a 5468 6520 e280 {44}]]....The ..\n-0000a100: 9870 726f 6a65 6374 e280 9920 636f 6e73 .project... cons\n-0000a110: 7472 7563 746f 7220 6973 206e 6f74 2067 tructor is not g\n-0000a120: 656e 6572 616c 6c79 2075 7365 6675 6c20 enerally useful \n-0000a130: 6265 6361 7573 6520 6974 2064 6566 6561 because it defea\n-0000a140: 7473 0a68 6964 6465 6e20 7375 7266 6163 ts.hidden surfac\n-0000a150: 6520 7265 6d6f 7661 6c20 6279 2063 6f6c e removal by col\n-0000a160: 6c61 7073 696e 6720 7468 6520 7363 656e lapsing the scen\n-0000a170: 6520 6f6e 746f 2061 2073 696e 676c 6520 e onto a single \n-0000a180: 706c 616e 652e 2020 4974 0a69 7320 6120 plane. It.is a \n-0000a190: 7370 6563 6961 6c20 7075 7270 6f73 6520 special purpose \n-0000a1a0: 7472 616e 7366 6f72 6d20 666f 7220 6472 transform for dr\n-0000a1b0: 6177 696e 6720 7069 6374 7572 6573 206f awing pictures o\n-0000a1c0: 6620 7363 656e 6573 2077 6865 7265 0a74 f scenes where.t\n-0000a1d0: 6872 6565 2d64 696d 656e 7369 6f6e 616c hree-dimensional\n-0000a1e0: 206f 626a 6563 7473 2061 7265 2062 6569 objects are bei\n-0000a1f0: 6e67 2070 726f 6a65 6374 6564 206f 6e74 ng projected ont\n-0000a200: 6f20 706c 616e 6573 2e20 2053 6565 2c20 o planes. See, \n-0000a210: 666f 720a 6578 616d 706c 652c 202a 6e6f for.example, *no\n-0000a220: 7465 204f 7665 7276 6965 773a 3a2e 0a0a te Overview::...\n-0000a230: 2020 2054 6865 2064 6972 6563 7420 7472 The direct tr\n-0000a240: 616e 7366 6f72 6d20 636f 6e73 7472 7563 ansform construc\n-0000a250: 746f 7220 616c 6c6f 7773 2064 6972 6563 tor allows direc\n-0000a260: 7420 656e 7472 7920 6f66 2061 2034 7834 t entry of a 4x4\n-0000a270: 0a74 7261 6e73 666f 726d 6174 696f 6e20 .transformation \n-0000a280: 6d61 7472 6978 2e20 204d 6f73 7420 3364 matrix. Most 3d\n-0000a290: 2067 7261 7068 6963 7320 7379 7374 656d graphics system\n-0000a2a0: 732c 2069 6e63 6c75 6469 6e67 20e2 8098 s, including ...\n-0000a2b0: 736b 6574 6368 e280 992c 0a75 7365 2034 sketch...,.use 4\n-0000a2c0: 2d64 696d 656e 7369 6f6e 616c 2068 6f6d -dimensional hom\n-0000a2d0: 6f67 656e 656f 7573 2063 6f6f 7264 696e ogeneous coordin\n-0000a2e0: 6174 6573 2069 6e74 6572 6e61 6c6c 792e ates internally.\n-0000a2f0: 2020 5468 6573 6520 6172 650a 7472 616e These are.tran\n-0000a300: 7366 6f72 6d65 6420 6279 206d 756c 7469 sformed by multi\n-0000a310: 706c 6963 6174 696f 6e20 7769 7468 2034 plication with 4\n-0000a320: 7834 206d 6174 7269 6365 732e 2020 5468 x4 matrices. Th\n-0000a330: 6520 6275 696c 742d 696e 0a63 6f6e 7374 e built-in.const\n-0000a340: 7275 6374 6f72 7320 28e2 8098 726f 7461 ructors (...rota\n-0000a350: 7465 e280 992c 20e2 8098 7363 616c 65e2 te..., ...scale.\n-0000a360: 8099 2c20 6574 632e 2920 2061 7265 2061 .., etc.) are a\n-0000a370: 6c6c 2074 7261 6e73 6c61 7465 6420 696e ll translated in\n-0000a380: 7465 726e 616c 6c79 2074 6f0a 7375 6368 ternally to.such\n-0000a390: 2034 7834 206d 6174 7269 6365 732e 2020 4x4 matrices. \n-0000a3a0: 466f 7220 6d6f 7265 2069 6e66 6f72 6d61 For more informa\n-0000a3b0: 7469 6f6e 206f 6e20 686f 6d6f 6765 6e65 tion on homogene\n-0000a3c0: 6f75 7320 636f 6f72 6469 6e61 7465 0a74 ous coordinate.t\n-0000a3d0: 7261 6e73 666f 726d 6174 696f 6e73 2c20 ransformations, \n-0000a3e0: 7365 6520 616e 7920 676f 6f64 2063 6f6d see any good com\n-0000a3f0: 7075 7465 7220 6772 6170 6869 6373 2074 puter graphics t\n-0000a400: 6578 7462 6f6f 6b2e 2020 5468 6520 6469 extbook. The di\n-0000a410: 7265 6374 0a74 7261 6e73 666f 726d 2066 rect.transform f\n-0000a420: 6561 7475 7265 206f 6620 e280 9873 6b65 eature of ...ske\n-0000a430: 7463 68e2 8099 2061 6c6c 6f77 7320 796f tch... allows yo\n-0000a440: 7520 746f 2065 6e74 6572 2061 206d 6174 u to enter a mat\n-0000a450: 7269 7820 6f66 2079 6f75 7220 6f77 6e0a rix of your own.\n-0000a460: 6368 6f69 6365 2e20 2054 6865 7265 2061 choice. There a\n-0000a470: 7265 206e 6f74 206d 616e 7920 6361 7365 re not many case\n-0000a480: 7320 7768 6572 6520 7468 6973 2069 7320 s where this is \n-0000a490: 7573 6566 756c 2c20 6275 7420 6966 2079 useful, but if y\n-0000a4a0: 6f75 2064 6f0a 6e65 6564 2069 742c 2079 ou do.need it, y\n-0000a4b0: 6f75 206e 6565 6420 6974 2062 6164 6c79 ou need it badly\n-0000a4c0: 210a 0a1f 0a46 696c 653a 2073 6b65 7463 !....File: sketc\n-0000a4d0: 682e 696e 666f 2c20 204e 6f64 653a 2041 h.info, Node: A\n-0000a4e0: 7269 7468 6d65 7469 632c 2020 4e65 7874 rithmetic, Next\n-0000a4f0: 3a20 4f70 7469 6f6e 732c 2020 5072 6576 : Options, Prev\n-0000a500: 3a20 4c69 7465 7261 6c73 2c20 2055 703a : Literals, Up:\n-0000a510: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics\n-0000a520: 0a0a 332e 312e 3420 4172 6974 686d 6574 ..3.1.4 Arithmet\n-0000a530: 6963 2065 7870 7265 7373 696f 6e73 0a2d ic expressions.-\n+0000a0c0: 2066 6f72 2064 6574 6169 6c73 2e0a e280 for details....\n+0000a0d0: 9820 5b61 5f7b 3431 7d2c 615f 7b34 327d . [a_{41},a_{42}\n+0000a0e0: 2c61 5f7b 3433 7d2c 615f 7b34 347d 5d5d ,a_{43},a_{44}]]\n+0000a0f0: e280 990a 5468 6520 e280 9870 726f 6a65 ....The ...proje\n+0000a100: 6374 e280 9920 636f 6e73 7472 7563 746f ct... constructo\n+0000a110: 7220 6973 206e 6f74 2067 656e 6572 616c r is not general\n+0000a120: 6c79 2075 7365 6675 6c20 6265 6361 7573 ly useful becaus\n+0000a130: 6520 6974 2064 6566 6561 7473 0a68 6964 e it defeats.hid\n+0000a140: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo\n+0000a150: 7661 6c20 6279 2063 6f6c 6c61 7073 696e val by collapsin\n+0000a160: 6720 7468 6520 7363 656e 6520 6f6e 746f g the scene onto\n+0000a170: 2061 2073 696e 676c 6520 706c 616e 652e a single plane.\n+0000a180: 2020 4974 0a69 7320 6120 7370 6563 6961 It.is a specia\n+0000a190: 6c20 7075 7270 6f73 6520 7472 616e 7366 l purpose transf\n+0000a1a0: 6f72 6d20 666f 7220 6472 6177 696e 6720 orm for drawing \n+0000a1b0: 7069 6374 7572 6573 206f 6620 7363 656e pictures of scen\n+0000a1c0: 6573 2077 6865 7265 0a74 6872 6565 2d64 es where.three-d\n+0000a1d0: 696d 656e 7369 6f6e 616c 206f 626a 6563 imensional objec\n+0000a1e0: 7473 2061 7265 2062 6569 6e67 2070 726f ts are being pro\n+0000a1f0: 6a65 6374 6564 206f 6e74 6f20 706c 616e jected onto plan\n+0000a200: 6573 2e20 2053 6565 2c20 666f 720a 6578 es. See, for.ex\n+0000a210: 616d 706c 652c 202a 6e6f 7465 204f 7665 ample, *note Ove\n+0000a220: 7276 6965 773a 3a2e 0a0a 2020 2054 6865 rview::... The\n+0000a230: 2064 6972 6563 7420 7472 616e 7366 6f72 direct transfor\n+0000a240: 6d20 636f 6e73 7472 7563 746f 7220 616c m constructor al\n+0000a250: 6c6f 7773 2064 6972 6563 7420 656e 7472 lows direct entr\n+0000a260: 7920 6f66 2061 2034 7834 0a74 7261 6e73 y of a 4x4.trans\n+0000a270: 666f 726d 6174 696f 6e20 6d61 7472 6978 formation matrix\n+0000a280: 2e20 204d 6f73 7420 3364 2067 7261 7068 . Most 3d graph\n+0000a290: 6963 7320 7379 7374 656d 732c 2069 6e63 ics systems, inc\n+0000a2a0: 6c75 6469 6e67 20e2 8098 736b 6574 6368 luding ...sketch\n+0000a2b0: e280 992c 0a75 7365 2034 2d64 696d 656e ...,.use 4-dimen\n+0000a2c0: 7369 6f6e 616c 2068 6f6d 6f67 656e 656f sional homogeneo\n+0000a2d0: 7573 2063 6f6f 7264 696e 6174 6573 2069 us coordinates i\n+0000a2e0: 6e74 6572 6e61 6c6c 792e 2020 5468 6573 nternally. Thes\n+0000a2f0: 6520 6172 650a 7472 616e 7366 6f72 6d65 e are.transforme\n+0000a300: 6420 6279 206d 756c 7469 706c 6963 6174 d by multiplicat\n+0000a310: 696f 6e20 7769 7468 2034 7834 206d 6174 ion with 4x4 mat\n+0000a320: 7269 6365 732e 2020 5468 6520 6275 696c rices. The buil\n+0000a330: 742d 696e 0a63 6f6e 7374 7275 6374 6f72 t-in.constructor\n+0000a340: 7320 28e2 8098 726f 7461 7465 e280 992c s (...rotate...,\n+0000a350: 20e2 8098 7363 616c 65e2 8099 2c20 6574 ...scale..., et\n+0000a360: 632e 2920 2061 7265 2061 6c6c 2074 7261 c.) are all tra\n+0000a370: 6e73 6c61 7465 6420 696e 7465 726e 616c nslated internal\n+0000a380: 6c79 2074 6f0a 7375 6368 2034 7834 206d ly to.such 4x4 m\n+0000a390: 6174 7269 6365 732e 2020 466f 7220 6d6f atrices. For mo\n+0000a3a0: 7265 2069 6e66 6f72 6d61 7469 6f6e 206f re information o\n+0000a3b0: 6e20 686f 6d6f 6765 6e65 6f75 7320 636f n homogeneous co\n+0000a3c0: 6f72 6469 6e61 7465 0a74 7261 6e73 666f ordinate.transfo\n+0000a3d0: 726d 6174 696f 6e73 2c20 7365 6520 616e rmations, see an\n+0000a3e0: 7920 676f 6f64 2063 6f6d 7075 7465 7220 y good computer \n+0000a3f0: 6772 6170 6869 6373 2074 6578 7462 6f6f graphics textboo\n+0000a400: 6b2e 2020 5468 6520 6469 7265 6374 0a74 k. The direct.t\n+0000a410: 7261 6e73 666f 726d 2066 6561 7475 7265 ransform feature\n+0000a420: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch...\n+0000a430: 2061 6c6c 6f77 7320 796f 7520 746f 2065 allows you to e\n+0000a440: 6e74 6572 2061 206d 6174 7269 7820 6f66 nter a matrix of\n+0000a450: 2079 6f75 7220 6f77 6e0a 6368 6f69 6365 your own.choice\n+0000a460: 2e20 2054 6865 7265 2061 7265 206e 6f74 . There are not\n+0000a470: 206d 616e 7920 6361 7365 7320 7768 6572 many cases wher\n+0000a480: 6520 7468 6973 2069 7320 7573 6566 756c e this is useful\n+0000a490: 2c20 6275 7420 6966 2079 6f75 2064 6f0a , but if you do.\n+0000a4a0: 6e65 6564 2069 742c 2079 6f75 206e 6565 need it, you nee\n+0000a4b0: 6420 6974 2062 6164 6c79 210a 0a1f 0a46 d it badly!....F\n+0000a4c0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+0000a4d0: 2c20 204e 6f64 653a 2041 7269 7468 6d65 , Node: Arithme\n+0000a4e0: 7469 632c 2020 4e65 7874 3a20 4f70 7469 tic, Next: Opti\n+0000a4f0: 6f6e 732c 2020 5072 6576 3a20 4c69 7465 ons, Prev: Lite\n+0000a500: 7261 6c73 2c20 2055 703a 204c 616e 6775 rals, Up: Langu\n+0000a510: 6167 6520 6261 7369 6373 0a0a 332e 312e age basics..3.1.\n+0000a520: 3420 4172 6974 686d 6574 6963 2065 7870 4 Arithmetic exp\n+0000a530: 7265 7373 696f 6e73 0a2d 2d2d 2d2d 2d2d ressions.-------\n 0000a540: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000a550: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a41 7269 -----------..Ari\n-0000a560: 7468 6d65 7469 6320 6578 7072 6573 7369 thmetic expressi\n-0000a570: 6f6e 7320 6f76 6572 20e2 8098 736b 6574 ons over ...sket\n-0000a580: 6368 e280 9920 6c69 7465 7261 6c73 2061 ch... literals a\n-0000a590: 6e64 2064 6566 696e 6564 2069 6465 6e74 nd defined ident\n-0000a5a0: 6966 6965 7273 0a61 7265 2073 756d 6d61 ifiers.are summa\n-0000a5b0: 7269 7a65 6420 696e 2074 6865 2066 6f6c rized in the fol\n-0000a5c0: 6c6f 7769 6e67 2074 6162 6c65 732e 0a0a lowing tables...\n-0000a5d0: 2a20 4d65 6e75 3a0a 0a2a 2054 776f 2d6f * Menu:..* Two-o\n-0000a5e0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n-0000a5f0: 666f 726d 733a 3a20 2041 206f 7020 420a forms:: A op B.\n-0000a600: 2a20 556e 6172 7920 666f 726d 733a 3a20 * Unary forms:: \n-0000a610: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a620: 6f70 2041 2028 616e 6420 6f74 6865 7273 op A (and others\n-0000a630: 290a 0a1f 0a46 696c 653a 2073 6b65 7463 )....File: sketc\n-0000a640: 682e 696e 666f 2c20 204e 6f64 653a 2054 h.info, Node: T\n-0000a650: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina\n-0000a660: 7279 2920 666f 726d 732c 2020 4e65 7874 ry) forms, Next\n-0000a670: 3a20 556e 6172 7920 666f 726d 732c 2020 : Unary forms, \n-0000a680: 5072 6576 3a20 4172 6974 686d 6574 6963 Prev: Arithmetic\n-0000a690: 2c20 2055 703a 2041 7269 7468 6d65 7469 , Up: Arithmeti\n-0000a6a0: 630a 0a33 2e31 2e34 2e31 2054 776f 2d6f c..3.1.4.1 Two-o\n-0000a6b0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n-0000a6c0: 666f 726d 7320 616e 6420 7072 6563 6564 forms and preced\n-0000a6d0: 656e 6365 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e ence............\n+0000a550: 2d2d 2d2d 2d0a 0a41 7269 7468 6d65 7469 -----..Arithmeti\n+0000a560: 6320 6578 7072 6573 7369 6f6e 7320 6f76 c expressions ov\n+0000a570: 6572 20e2 8098 736b 6574 6368 e280 9920 er ...sketch... \n+0000a580: 6c69 7465 7261 6c73 2061 6e64 2064 6566 literals and def\n+0000a590: 696e 6564 2069 6465 6e74 6966 6965 7273 ined identifiers\n+0000a5a0: 0a61 7265 2073 756d 6d61 7269 7a65 6420 .are summarized \n+0000a5b0: 696e 2074 6865 2066 6f6c 6c6f 7769 6e67 in the following\n+0000a5c0: 2074 6162 6c65 732e 0a0a 2a20 4d65 6e75 tables...* Menu\n+0000a5d0: 3a0a 0a2a 2054 776f 2d6f 7065 7261 6e64 :..* Two-operand\n+0000a5e0: 2028 6269 6e61 7279 2920 666f 726d 733a (binary) forms:\n+0000a5f0: 3a20 2041 206f 7020 420a 2a20 556e 6172 : A op B.* Unar\n+0000a600: 7920 666f 726d 733a 3a20 2020 2020 2020 y forms:: \n+0000a610: 2020 2020 2020 2020 2020 6f70 2041 2028 op A (\n+0000a620: 616e 6420 6f74 6865 7273 290a 0a1f 0a46 and others)....F\n+0000a630: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+0000a640: 2c20 204e 6f64 653a 2054 776f 2d6f 7065 , Node: Two-ope\n+0000a650: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo\n+0000a660: 726d 732c 2020 4e65 7874 3a20 556e 6172 rms, Next: Unar\n+0000a670: 7920 666f 726d 732c 2020 5072 6576 3a20 y forms, Prev: \n+0000a680: 4172 6974 686d 6574 6963 2c20 2055 703a Arithmetic, Up:\n+0000a690: 2041 7269 7468 6d65 7469 630a 0a33 2e31 Arithmetic..3.1\n+0000a6a0: 2e34 2e31 2054 776f 2d6f 7065 7261 6e64 .4.1 Two-operand\n+0000a6b0: 2028 6269 6e61 7279 2920 666f 726d 7320 (binary) forms \n+0000a6c0: 616e 6420 7072 6563 6564 656e 6365 0a2e and precedence..\n+0000a6d0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n 0000a6e0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n 0000a6f0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000a700: 2e2e 2e2e 2e2e 0a0a 4d6f 7374 2074 776f ........Most two\n-0000a710: 2d6f 7065 7261 6e64 2062 696e 6172 7920 -operand binary \n-0000a720: 666f 726d 7320 6861 7665 206d 6561 6e69 forms have meani\n-0000a730: 6e67 7320 6465 7065 6e64 656e 7420 6f6e ngs dependent on\n-0000a740: 2074 6865 2074 7970 6573 206f 660a 7468 the types of.th\n-0000a750: 6569 7220 6172 6775 6d65 6e74 732e 2020 eir arguments. \n-0000a760: 416e 2065 7868 6175 7374 6976 6520 7375 An exhaustive su\n-0000a770: 6d6d 6172 7920 6f66 2074 6865 2070 6f73 mmary of the pos\n-0000a780: 7369 6269 6c69 7469 6573 2069 7320 6769 sibilities is gi\n-0000a790: 7665 6e20 696e 0a74 6865 2066 6f6c 6c6f ven in.the follo\n-0000a7a0: 7769 6e67 2074 6162 6c65 2e0a 4c65 6674 wing table..Left\n-0000a7b0: 2020 2020 2020 2020 4f70 2020 2020 2020 Op \n-0000a7c0: 2052 6967 6874 2020 2020 2020 2052 6573 Right Res\n-0000a7d0: 756c 7420 2020 2020 2044 6573 6372 6970 ult Descrip\n-0000a7e0: 7469 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d tion.-----------\n+0000a700: 0a0a 4d6f 7374 2074 776f 2d6f 7065 7261 ..Most two-opera\n+0000a710: 6e64 2062 696e 6172 7920 666f 726d 7320 nd binary forms \n+0000a720: 6861 7665 206d 6561 6e69 6e67 7320 6465 have meanings de\n+0000a730: 7065 6e64 656e 7420 6f6e 2074 6865 2074 pendent on the t\n+0000a740: 7970 6573 206f 660a 7468 6569 7220 6172 ypes of.their ar\n+0000a750: 6775 6d65 6e74 732e 2020 416e 2065 7868 guments. An exh\n+0000a760: 6175 7374 6976 6520 7375 6d6d 6172 7920 austive summary \n+0000a770: 6f66 2074 6865 2070 6f73 7369 6269 6c69 of the possibili\n+0000a780: 7469 6573 2069 7320 6769 7665 6e20 696e ties is given in\n+0000a790: 0a74 6865 2066 6f6c 6c6f 7769 6e67 2074 .the following t\n+0000a7a0: 6162 6c65 2e0a 4c65 6674 2020 2020 2020 able..Left \n+0000a7b0: 2020 4f70 2020 2020 2020 2052 6967 6874 Op Right\n+0000a7c0: 2020 2020 2020 2052 6573 756c 7420 2020 Result \n+0000a7d0: 2020 2044 6573 6372 6970 7469 6f6e 0a2d Description.-\n+0000a7e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000a7f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000a800: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000a810: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000a820: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000a830: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000a840: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000a850: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 7363 616c -----------.scal\n-0000a860: 6172 2020 2020 2020 e280 982b e280 9920 ar ...+... \n-0000a870: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar \n-0000a880: 2073 6361 6c61 7220 2020 2020 2053 6361 scalar Sca\n-0000a890: 6c61 7220 7375 6d2e 0a76 6563 746f 7220 lar sum..vector \n-0000a8a0: 2020 2020 20e2 8098 2be2 8099 2020 2020 ...+... \n-0000a8b0: 2020 7665 6374 6f72 2020 2020 2020 7665 vector ve\n-0000a8c0: 6374 6f72 2020 2020 2020 5665 6374 6f72 ctor Vector\n-0000a8d0: 2073 756d 2e0a 706f 696e 7420 2020 2020 sum..point \n-0000a8e0: 2020 e280 982b e280 9920 2020 2020 2076 ...+... v\n-0000a8f0: 6563 746f 7220 2020 2020 2070 6f69 6e74 ector point\n-0000a900: 2020 2020 2020 2050 6f69 6e74 2d76 6563 Point-vec\n-0000a910: 746f 7220 6166 6669 6e65 2073 756d 2e0a tor affine sum..\n-0000a920: 7665 6374 6f72 2020 2020 2020 e280 982b vector ...+\n-0000a930: e280 9920 2020 2020 2070 6f69 6e74 2020 ... point \n-0000a940: 2020 2020 2022 2020 2020 2020 2020 2020 \" \n-0000a950: 2022 0a73 6361 6c61 7220 2020 2020 20e2 \".scalar .\n-0000a960: 8098 2de2 8099 2020 2020 2020 7363 616c ..-... scal\n-0000a970: 6172 2020 2020 2020 7363 616c 6172 2020 ar scalar \n-0000a980: 2020 2020 5363 616c 6172 2064 6966 6665 Scalar diffe\n-0000a990: 7265 6e63 652e 0a76 6563 746f 7220 2020 rence..vector \n-0000a9a0: 2020 20e2 8098 2de2 8099 2020 2020 2020 ...-... \n-0000a9b0: 7665 6374 6f72 2020 2020 2020 7665 6374 vector vect\n-0000a9c0: 6f72 2020 2020 2020 5665 6374 6f72 2064 or Vector d\n-0000a9d0: 6966 6665 7265 6e63 652e 0a70 6f69 6e74 ifference..point\n-0000a9e0: 2020 2020 2020 20e2 8098 2de2 8099 2020 ...-... \n-0000a9f0: 2020 2020 706f 696e 7420 2020 2020 2020 point \n-0000aa00: 7665 6374 6f72 2020 2020 2020 506f 696e vector Poin\n-0000aa10: 742d 706f 696e 7420 6166 6669 6e65 2064 t-point affine d\n-0000aa20: 6966 6665 7265 6e63 652e 0a70 6f69 6e74 ifference..point\n-0000aa30: 2020 2020 2020 20e2 8098 2de2 8099 2020 ...-... \n-0000aa40: 2020 2020 7665 6374 6f72 2020 2020 2020 vector \n-0000aa50: 706f 696e 7420 2020 2020 2020 506f 696e point Poin\n-0000aa60: 742d 7665 6374 6f72 2061 6666 696e 6520 t-vector affine \n-0000aa70: 6469 6666 6572 656e 6365 2e0a 7363 616c difference..scal\n-0000aa80: 6172 2020 2020 2020 e280 982a e280 9920 ar ...*... \n-0000aa90: 6f72 2020 2073 6361 6c61 7220 2020 2020 or scalar \n-0000aaa0: 2073 6361 6c61 7220 2020 2020 2053 6361 scalar Sca\n-0000aab0: 6c61 7220 7072 6f64 7563 742e 0a20 2020 lar product.. \n-0000aac0: 2020 2020 2020 2020 20e2 8098 2ee2 8099 .......\n-0000aad0: 0a73 6361 6c61 7220 2020 2020 20e2 8098 .scalar ...\n-0000aae0: 2ae2 8099 206f 7220 2020 7665 6374 6f72 *... or vector\n-0000aaf0: 2020 2020 2020 7665 6374 6f72 2020 2020 vector \n-0000ab00: 2020 5363 616c 6172 2d76 6563 746f 7220 Scalar-vector \n-0000ab10: 7072 6f64 7563 742e 0a20 2020 2020 2020 product.. \n-0000ab20: 2020 2020 20e2 8098 2ee2 8099 0a76 6563 ........vec\n-0000ab30: 746f 7220 2020 2020 20e2 8098 2ae2 8099 tor ...*...\n-0000ab40: 206f 7220 2020 7363 616c 6172 2020 2020 or scalar \n-0000ab50: 2020 2220 2020 2020 2020 2020 2020 220a \" \".\n-0000ab60: 2020 2020 2020 2020 2020 2020 e280 982e ....\n-0000ab70: e280 990a 7665 6374 6f72 2020 2020 2020 ....vector \n-0000ab80: e280 982a e280 9920 2020 2020 2076 6563 ...*... vec\n-0000ab90: 746f 7220 2020 2020 2076 6563 746f 7220 tor vector \n-0000aba0: 2020 2020 2056 6563 746f 7220 6372 6f73 Vector cros\n-0000abb0: 732d 7072 6f64 7563 742e 0a76 6563 746f s-product..vecto\n-0000abc0: 7220 2020 2020 20e2 8098 2ee2 8099 2020 r ....... \n-0000abd0: 2020 2020 7665 6374 6f72 2020 2020 2020 vector \n-0000abe0: 7363 616c 6172 2020 2020 2020 5665 6374 scalar Vect\n-0000abf0: 6f72 2064 6f74 2070 726f 6475 6374 2e0a or dot product..\n-0000ac00: 7363 616c 6172 2020 2020 2020 e280 985e scalar ...^\n-0000ac10: e280 9920 2020 2020 2073 6361 6c61 7220 ... scalar \n-0000ac20: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar \n-0000ac30: 2052 6169 7365 2073 6361 6c61 7220 746f Raise scalar to\n-0000ac40: 2073 6361 6c61 7220 706f 7765 722e 0a74 scalar power..t\n-0000ac50: 7261 6e73 666f 726d 2020 20e2 8098 5ee2 ransform ...^.\n-0000ac60: 8099 2020 2020 2020 696e 7465 6765 7220 .. integer \n-0000ac70: 2020 2020 7472 616e 7366 6f72 6d20 2020 transform \n-0000ac80: 5261 6973 6520 7472 616e 7366 6f72 6d20 Raise transform \n-0000ac90: 746f 2069 6e74 6567 6572 2070 6f77 6572 to integer power\n-0000aca0: 2e0a 7472 616e 7366 6f72 6d20 2020 e280 ..transform ..\n-0000acb0: 982a e280 9920 6f72 2020 2070 6f69 6e74 .*... or point\n-0000acc0: 2020 2020 2020 2070 6f69 6e74 2020 2020 point \n-0000acd0: 2020 2041 6666 696e 6520 706f 696e 7420 Affine point \n-0000ace0: 7472 616e 7366 6f72 6d20 2872 6967 6874 transform (right\n-0000acf0: 2d74 6f2d 6c65 6674 292e 0a20 2020 2020 -to-left).. \n-0000ad00: 2020 2020 2020 20e2 8098 2ee2 8099 0a74 ........t\n-0000ad10: 7261 6e73 666f 726d 2020 20e2 8098 2ae2 ransform ...*.\n-0000ad20: 8099 206f 7220 2020 7665 6374 6f72 2020 .. or vector \n-0000ad30: 2020 2020 7665 6374 6f72 2020 2020 2020 vector \n-0000ad40: 4166 6669 6e65 2076 6563 746f 7220 7472 Affine vector tr\n-0000ad50: 616e 7366 6f72 6d20 2872 6967 6874 2d74 ansform (right-t\n-0000ad60: 6f2d 6c65 6674 292e 0a20 2020 2020 2020 o-left).. \n-0000ad70: 2020 2020 20e2 8098 2ee2 8099 0a74 7261 ........tra\n-0000ad80: 6e73 666f 726d 2020 20e2 8098 2ae2 8099 nsform ...*...\n-0000ad90: 206f 7220 2020 7472 616e 7366 6f72 6d20 or transform \n-0000ada0: 2020 7472 616e 7366 6f72 6d20 2020 5472 transform Tr\n-0000adb0: 616e 7366 6f72 6d20 636f 6d70 6f73 6974 ansform composit\n-0000adc0: 696f 6e20 2872 6967 6874 2d74 6f2d 6c65 ion (right-to-le\n-0000add0: 6674 292e 0a20 2020 2020 2020 2020 2020 ft).. \n-0000ade0: 20e2 8098 2ee2 8099 0a70 6f69 6e74 2020 ........point \n-0000adf0: 2020 2020 20e2 8098 7468 656e e280 9920 ...then... \n-0000ae00: 2020 7472 616e 7366 6f72 6d20 2020 706f transform po\n-0000ae10: 696e 7420 2020 2020 2020 4166 6669 6e65 int Affine\n-0000ae20: 2070 6f69 6e74 2074 7261 6e73 666f 726d point transform\n-0000ae30: 2028 6c65 6674 2d74 6f2d 7269 6768 7429 (left-to-right)\n-0000ae40: 2e0a 7665 6374 6f72 2020 2020 2020 e280 ..vector ..\n-0000ae50: 9874 6865 6ee2 8099 2020 2074 7261 6e73 .then... trans\n-0000ae60: 666f 726d 2020 2076 6563 746f 7220 2020 form vector \n-0000ae70: 2020 2041 6666 696e 6520 7665 6374 6f72 Affine vector\n-0000ae80: 2074 7261 6e73 666f 726d 2028 6c65 6674 transform (left\n-0000ae90: 2d74 6f2d 7269 6768 7429 2e0a 7472 616e -to-right)..tran\n-0000aea0: 7366 6f72 6d20 2020 e280 9874 6865 6ee2 sform ...then.\n-0000aeb0: 8099 2020 2074 7261 6e73 666f 726d 2020 .. transform \n-0000aec0: 2074 7261 6e73 666f 726d 2020 2054 7261 transform Tra\n-0000aed0: 6e73 666f 726d 2063 6f6d 706f 7369 7469 nsform compositi\n-0000aee0: 6f6e 2028 6c65 6674 2d74 6f2d 7269 6768 on (left-to-righ\n-0000aef0: 7429 2e0a 7363 616c 6172 2020 2020 2020 t)..scalar \n-0000af00: e280 982f e280 9920 2020 2020 2073 6361 .../... sca\n-0000af10: 6c61 7220 2020 2020 2073 6361 6c61 7220 lar scalar \n-0000af20: 2020 2020 2053 6361 6c61 7220 6469 7669 Scalar divi\n-0000af30: 7369 6f6e 2e0a 7665 6374 6f72 2020 2020 sion..vector \n-0000af40: 2020 e280 982f e280 9920 2020 2020 2073 .../... s\n-0000af50: 6361 6c61 7220 2020 2020 2076 6563 746f calar vecto\n-0000af60: 7220 2020 2020 2056 6563 746f 7220 636f r Vector co\n-0000af70: 6d70 6f6e 656e 742d 7769 7365 2064 6976 mponent-wise div\n-0000af80: 6973 696f 6e20 6279 2073 6361 6c61 722e ision by scalar.\n-0000af90: 0a70 6f69 6e74 2020 2020 2020 20e2 8098 .point ...\n-0000afa0: 27e2 8099 2020 2020 2020 e280 9878 e280 '... ...x..\n-0000afb0: 992c 20e2 8098 79e2 8099 2c20 2020 7363 ., ...y..., sc\n-0000afc0: 616c 6172 2020 2020 2020 506f 696e 7420 alar Point \n-0000afd0: 636f 6d70 6f6e 656e 7420 6578 7472 6163 component extrac\n-0000afe0: 7469 6f6e 2e0a 2020 2020 2020 2020 2020 tion.. \n-0000aff0: 2020 2020 2020 2020 2020 206f 7220 e280 or ..\n-0000b000: 987a e280 990a 7665 6374 6f72 2020 2020 .z....vector \n-0000b010: 2020 e280 9827 e280 9920 2020 2020 20e2 ...'... .\n-0000b020: 8098 78e2 8099 2c20 e280 9879 e280 992c ..x..., ...y...,\n-0000b030: 2020 2073 6361 6c61 7220 2020 2020 2056 scalar V\n-0000b040: 6563 746f 7220 636f 6d70 6f6e 656e 7420 ector component \n-0000b050: 6578 7472 6163 7469 6f6e 2e0a 2020 2020 extraction.. \n-0000b060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b070: 206f 7220 e280 987a e280 990a 0a4f 7065 or ...z.....Ope\n-0000b080: 7261 746f 7220 7072 6563 6564 656e 6365 rator precedence\n-0000b090: 2069 7320 7368 6f77 6e20 696e 2074 6869 is shown in thi\n-0000b0a0: 7320 7461 626c 652e 0a4f 7020 2020 2020 s table..Op \n-0000b0b0: 2020 5072 6563 6564 656e 6365 0a2d 2d2d Precedence.---\n+0000a850: 2d2d 2d2d 2d0a 7363 616c 6172 2020 2020 -----.scalar \n+0000a860: 2020 e280 982b e280 9920 2020 2020 2073 ...+... s\n+0000a870: 6361 6c61 7220 2020 2020 2073 6361 6c61 calar scala\n+0000a880: 7220 2020 2020 2053 6361 6c61 7220 7375 r Scalar su\n+0000a890: 6d2e 0a76 6563 746f 7220 2020 2020 20e2 m..vector .\n+0000a8a0: 8098 2be2 8099 2020 2020 2020 7665 6374 ..+... vect\n+0000a8b0: 6f72 2020 2020 2020 7665 6374 6f72 2020 or vector \n+0000a8c0: 2020 2020 5665 6374 6f72 2073 756d 2e0a Vector sum..\n+0000a8d0: 706f 696e 7420 2020 2020 2020 e280 982b point ...+\n+0000a8e0: e280 9920 2020 2020 2076 6563 746f 7220 ... vector \n+0000a8f0: 2020 2020 2070 6f69 6e74 2020 2020 2020 point \n+0000a900: 2050 6f69 6e74 2d76 6563 746f 7220 6166 Point-vector af\n+0000a910: 6669 6e65 2073 756d 2e0a 7665 6374 6f72 fine sum..vector\n+0000a920: 2020 2020 2020 e280 982b e280 9920 2020 ...+... \n+0000a930: 2020 2070 6f69 6e74 2020 2020 2020 2022 point \"\n+0000a940: 2020 2020 2020 2020 2020 2022 0a73 6361 \".sca\n+0000a950: 6c61 7220 2020 2020 20e2 8098 2de2 8099 lar ...-...\n+0000a960: 2020 2020 2020 7363 616c 6172 2020 2020 scalar \n+0000a970: 2020 7363 616c 6172 2020 2020 2020 5363 scalar Sc\n+0000a980: 616c 6172 2064 6966 6665 7265 6e63 652e alar difference.\n+0000a990: 0a76 6563 746f 7220 2020 2020 20e2 8098 .vector ...\n+0000a9a0: 2de2 8099 2020 2020 2020 7665 6374 6f72 -... vector\n+0000a9b0: 2020 2020 2020 7665 6374 6f72 2020 2020 vector \n+0000a9c0: 2020 5665 6374 6f72 2064 6966 6665 7265 Vector differe\n+0000a9d0: 6e63 652e 0a70 6f69 6e74 2020 2020 2020 nce..point \n+0000a9e0: 20e2 8098 2de2 8099 2020 2020 2020 706f ...-... po\n+0000a9f0: 696e 7420 2020 2020 2020 7665 6374 6f72 int vector\n+0000aa00: 2020 2020 2020 506f 696e 742d 706f 696e Point-poin\n+0000aa10: 7420 6166 6669 6e65 2064 6966 6665 7265 t affine differe\n+0000aa20: 6e63 652e 0a70 6f69 6e74 2020 2020 2020 nce..point \n+0000aa30: 20e2 8098 2de2 8099 2020 2020 2020 7665 ...-... ve\n+0000aa40: 6374 6f72 2020 2020 2020 706f 696e 7420 ctor point \n+0000aa50: 2020 2020 2020 506f 696e 742d 7665 6374 Point-vect\n+0000aa60: 6f72 2061 6666 696e 6520 6469 6666 6572 or affine differ\n+0000aa70: 656e 6365 2e0a 7363 616c 6172 2020 2020 ence..scalar \n+0000aa80: 2020 e280 982a e280 9920 6f72 2020 2073 ...*... or s\n+0000aa90: 6361 6c61 7220 2020 2020 2073 6361 6c61 calar scala\n+0000aaa0: 7220 2020 2020 2053 6361 6c61 7220 7072 r Scalar pr\n+0000aab0: 6f64 7563 742e 0a20 2020 2020 2020 2020 oduct.. \n+0000aac0: 2020 20e2 8098 2ee2 8099 0a73 6361 6c61 ........scala\n+0000aad0: 7220 2020 2020 20e2 8098 2ae2 8099 206f r ...*... o\n+0000aae0: 7220 2020 7665 6374 6f72 2020 2020 2020 r vector \n+0000aaf0: 7665 6374 6f72 2020 2020 2020 5363 616c vector Scal\n+0000ab00: 6172 2d76 6563 746f 7220 7072 6f64 7563 ar-vector produc\n+0000ab10: 742e 0a20 2020 2020 2020 2020 2020 20e2 t.. .\n+0000ab20: 8098 2ee2 8099 0a76 6563 746f 7220 2020 .......vector \n+0000ab30: 2020 20e2 8098 2ae2 8099 206f 7220 2020 ...*... or \n+0000ab40: 7363 616c 6172 2020 2020 2020 2220 2020 scalar \" \n+0000ab50: 2020 2020 2020 2020 220a 2020 2020 2020 \". \n+0000ab60: 2020 2020 2020 e280 982e e280 990a 7665 ........ve\n+0000ab70: 6374 6f72 2020 2020 2020 e280 982a e280 ctor ...*..\n+0000ab80: 9920 2020 2020 2076 6563 746f 7220 2020 . vector \n+0000ab90: 2020 2076 6563 746f 7220 2020 2020 2056 vector V\n+0000aba0: 6563 746f 7220 6372 6f73 732d 7072 6f64 ector cross-prod\n+0000abb0: 7563 742e 0a76 6563 746f 7220 2020 2020 uct..vector \n+0000abc0: 20e2 8098 2ee2 8099 2020 2020 2020 7665 ....... ve\n+0000abd0: 6374 6f72 2020 2020 2020 7363 616c 6172 ctor scalar\n+0000abe0: 2020 2020 2020 5665 6374 6f72 2064 6f74 Vector dot\n+0000abf0: 2070 726f 6475 6374 2e0a 7363 616c 6172 product..scalar\n+0000ac00: 2020 2020 2020 e280 985e e280 9920 2020 ...^... \n+0000ac10: 2020 2073 6361 6c61 7220 2020 2020 2073 scalar s\n+0000ac20: 6361 6c61 7220 2020 2020 2052 6169 7365 calar Raise\n+0000ac30: 2073 6361 6c61 7220 746f 2073 6361 6c61 scalar to scala\n+0000ac40: 7220 706f 7765 722e 0a74 7261 6e73 666f r power..transfo\n+0000ac50: 726d 2020 20e2 8098 5ee2 8099 2020 2020 rm ...^... \n+0000ac60: 2020 696e 7465 6765 7220 2020 2020 7472 integer tr\n+0000ac70: 616e 7366 6f72 6d20 2020 5261 6973 6520 ansform Raise \n+0000ac80: 7472 616e 7366 6f72 6d20 746f 2069 6e74 transform to int\n+0000ac90: 6567 6572 2070 6f77 6572 2e0a 7472 616e eger power..tran\n+0000aca0: 7366 6f72 6d20 2020 e280 982a e280 9920 sform ...*... \n+0000acb0: 6f72 2020 2070 6f69 6e74 2020 2020 2020 or point \n+0000acc0: 2070 6f69 6e74 2020 2020 2020 2041 6666 point Aff\n+0000acd0: 696e 6520 706f 696e 7420 7472 616e 7366 ine point transf\n+0000ace0: 6f72 6d20 2872 6967 6874 2d74 6f2d 6c65 orm (right-to-le\n+0000acf0: 6674 292e 0a20 2020 2020 2020 2020 2020 ft).. \n+0000ad00: 20e2 8098 2ee2 8099 0a74 7261 6e73 666f ........transfo\n+0000ad10: 726d 2020 20e2 8098 2ae2 8099 206f 7220 rm ...*... or \n+0000ad20: 2020 7665 6374 6f72 2020 2020 2020 7665 vector ve\n+0000ad30: 6374 6f72 2020 2020 2020 4166 6669 6e65 ctor Affine\n+0000ad40: 2076 6563 746f 7220 7472 616e 7366 6f72 vector transfor\n+0000ad50: 6d20 2872 6967 6874 2d74 6f2d 6c65 6674 m (right-to-left\n+0000ad60: 292e 0a20 2020 2020 2020 2020 2020 20e2 ).. .\n+0000ad70: 8098 2ee2 8099 0a74 7261 6e73 666f 726d .......transform\n+0000ad80: 2020 20e2 8098 2ae2 8099 206f 7220 2020 ...*... or \n+0000ad90: 7472 616e 7366 6f72 6d20 2020 7472 616e transform tran\n+0000ada0: 7366 6f72 6d20 2020 5472 616e 7366 6f72 sform Transfor\n+0000adb0: 6d20 636f 6d70 6f73 6974 696f 6e20 2872 m composition (r\n+0000adc0: 6967 6874 2d74 6f2d 6c65 6674 292e 0a20 ight-to-left).. \n+0000add0: 2020 2020 2020 2020 2020 20e2 8098 2ee2 .....\n+0000ade0: 8099 0a70 6f69 6e74 2020 2020 2020 20e2 ...point .\n+0000adf0: 8098 7468 656e e280 9920 2020 7472 616e ..then... tran\n+0000ae00: 7366 6f72 6d20 2020 706f 696e 7420 2020 sform point \n+0000ae10: 2020 2020 4166 6669 6e65 2070 6f69 6e74 Affine point\n+0000ae20: 2074 7261 6e73 666f 726d 2028 6c65 6674 transform (left\n+0000ae30: 2d74 6f2d 7269 6768 7429 2e0a 7665 6374 -to-right)..vect\n+0000ae40: 6f72 2020 2020 2020 e280 9874 6865 6ee2 or ...then.\n+0000ae50: 8099 2020 2074 7261 6e73 666f 726d 2020 .. transform \n+0000ae60: 2076 6563 746f 7220 2020 2020 2041 6666 vector Aff\n+0000ae70: 696e 6520 7665 6374 6f72 2074 7261 6e73 ine vector trans\n+0000ae80: 666f 726d 2028 6c65 6674 2d74 6f2d 7269 form (left-to-ri\n+0000ae90: 6768 7429 2e0a 7472 616e 7366 6f72 6d20 ght)..transform \n+0000aea0: 2020 e280 9874 6865 6ee2 8099 2020 2074 ...then... t\n+0000aeb0: 7261 6e73 666f 726d 2020 2074 7261 6e73 ransform trans\n+0000aec0: 666f 726d 2020 2054 7261 6e73 666f 726d form Transform\n+0000aed0: 2063 6f6d 706f 7369 7469 6f6e 2028 6c65 composition (le\n+0000aee0: 6674 2d74 6f2d 7269 6768 7429 2e0a 7363 ft-to-right)..sc\n+0000aef0: 616c 6172 2020 2020 2020 e280 982f e280 alar .../..\n+0000af00: 9920 2020 2020 2073 6361 6c61 7220 2020 . scalar \n+0000af10: 2020 2073 6361 6c61 7220 2020 2020 2053 scalar S\n+0000af20: 6361 6c61 7220 6469 7669 7369 6f6e 2e0a calar division..\n+0000af30: 7665 6374 6f72 2020 2020 2020 e280 982f vector .../\n+0000af40: e280 9920 2020 2020 2073 6361 6c61 7220 ... scalar \n+0000af50: 2020 2020 2076 6563 746f 7220 2020 2020 vector \n+0000af60: 2056 6563 746f 7220 636f 6d70 6f6e 656e Vector componen\n+0000af70: 742d 7769 7365 2064 6976 6973 696f 6e20 t-wise division \n+0000af80: 6279 2073 6361 6c61 722e 0a70 6f69 6e74 by scalar..point\n+0000af90: 2020 2020 2020 20e2 8098 27e2 8099 2020 ...'... \n+0000afa0: 2020 2020 e280 9878 e280 992c 20e2 8098 ...x..., ...\n+0000afb0: 79e2 8099 2c20 2020 7363 616c 6172 2020 y..., scalar \n+0000afc0: 2020 2020 506f 696e 7420 636f 6d70 6f6e Point compon\n+0000afd0: 656e 7420 6578 7472 6163 7469 6f6e 2e0a ent extraction..\n+0000afe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000aff0: 2020 2020 206f 7220 e280 987a e280 990a or ...z....\n+0000b000: 7665 6374 6f72 2020 2020 2020 e280 9827 vector ...'\n+0000b010: e280 9920 2020 2020 20e2 8098 78e2 8099 ... ...x...\n+0000b020: 2c20 e280 9879 e280 992c 2020 2073 6361 , ...y..., sca\n+0000b030: 6c61 7220 2020 2020 2056 6563 746f 7220 lar Vector \n+0000b040: 636f 6d70 6f6e 656e 7420 6578 7472 6163 component extrac\n+0000b050: 7469 6f6e 2e0a 2020 2020 2020 2020 2020 tion.. \n+0000b060: 2020 2020 2020 2020 2020 206f 7220 e280 or ..\n+0000b070: 987a e280 990a 0a4f 7065 7261 746f 7220 .z.....Operator \n+0000b080: 7072 6563 6564 656e 6365 2069 7320 7368 precedence is sh\n+0000b090: 6f77 6e20 696e 2074 6869 7320 7461 626c own in this tabl\n+0000b0a0: 652e 0a4f 7020 2020 2020 2020 5072 6563 e..Op Prec\n+0000b0b0: 6564 656e 6365 0a2d 2d2d 2d2d 2d2d 2d2d edence.---------\n 0000b0c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000b0d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000b0e0: 2d2d 2d2d 2d2d 2d0a e280 9827 e280 9920 -------....'... \n-0000b0f0: 2020 2020 2068 6967 6865 7374 2028 6d6f highest (mo\n-0000b100: 7374 2074 6967 6874 6c79 2062 696e 6469 st tightly bindi\n-0000b110: 6e67 290a e280 985e e280 990a e280 982d ng)....^.......-\n-0000b120: e280 9920 2020 2020 2028 756e 6172 7920 ... (unary \n-0000b130: 6e65 6761 7469 6f6e 290a e280 982a e280 negation)....*..\n-0000b140: 990a e280 982e e280 990a e280 982f e280 ............./..\n-0000b150: 990a e280 982b e280 990a e280 982d e280 .....+.......-..\n-0000b160: 990a e280 9874 6865 6ee2 8099 2020 206c .....then... l\n-0000b170: 6f77 6573 7420 286c 6561 7374 2074 6967 owest (least tig\n-0000b180: 6874 6c79 2062 696e 6469 6e67 290a 0a41 htly binding)..A\n-0000b190: 6c6c 206f 7065 7261 7469 6f6e 7320 6172 ll operations ar\n-0000b1a0: 6520 6c65 6674 2d61 7373 6f63 6961 7469 e left-associati\n-0000b1b0: 7665 2065 7863 6570 7420 666f 7220 e280 ve except for ..\n-0000b1c0: 985e e280 992e 2020 5061 7265 6e74 6865 .^.... Parenthe\n-0000b1d0: 7365 7320 e280 9828 2029 e280 990a 6172 ses ...( )....ar\n-0000b1e0: 6520 7573 6564 2066 6f72 2067 726f 7570 e used for group\n-0000b1f0: 696e 6720 746f 206f 7665 7272 6964 6520 ing to override \n-0000b200: 7072 6563 6564 656e 6365 2069 6e20 7468 precedence in th\n-0000b210: 6520 7573 7561 6c20 7761 792e 0a0a 2020 e usual way... \n-0000b220: 2041 7320 796f 7520 6361 6e20 7365 652c As you can see,\n-0000b230: 2074 6865 2064 6f74 206f 7065 7261 746f the dot operato\n-0000b240: 7220 e280 982e e280 9920 6973 2075 7375 r ....... is usu\n-0000b250: 616c 6c79 2061 2073 796e 6f6e 796d 2066 ally a synonym f\n-0000b260: 6f72 0a72 756e 2d6f 662d 7468 652d 6d69 or.run-of-the-mi\n-0000b270: 6c6c 206d 756c 7469 706c 6963 6174 696f ll multiplicatio\n-0000b280: 6e2c 20e2 8098 2ae2 8099 2e20 2054 6865 n, ...*.... The\n-0000b290: 206d 6561 6e69 6e67 7320 6469 6666 6572 meanings differ\n-0000b2a0: 206f 6e6c 7920 666f 720a 7665 6374 6f72 only for.vector\n-0000b2b0: 206f 7065 7261 6e64 732e 2020 5468 6520 operands. The \n-0000b2c0: e280 9874 6865 6ee2 8099 206f 7065 7261 ...then... opera\n-0000b2d0: 746f 7220 6d65 7265 6c79 2072 6576 6572 tor merely rever\n-0000b2e0: 7365 7320 7468 6520 6f70 6572 616e 6420 ses the operand \n-0000b2f0: 6f72 6465 720a 7769 7468 2072 6573 7065 order.with respe\n-0000b300: 6374 2074 6f20 6e6f 726d 616c 206d 756c ct to normal mul\n-0000b310: 7469 706c 6963 6174 696f 6e20 e280 982a tiplication ...*\n-0000b320: e280 992e 2020 5468 6520 696e 7465 6e74 .... The intent\n-0000b330: 2068 6572 6520 6973 2074 6f20 6d61 6b65 here is to make\n-0000b340: 0a63 6f6d 706f 7369 7469 6f6e 7320 7265 .compositions re\n-0000b350: 6164 206d 6f72 6520 6e61 7475 7261 6c6c ad more naturall\n-0000b360: 792e 2020 5468 6520 636f 6465 0a20 2020 y. The code. \n-0000b370: 2020 2831 2c32 2c33 2920 7468 656e 2073 (1,2,3) then s\n-0000b380: 6361 6c65 2832 2920 7468 656e 2072 6f74 cale(2) then rot\n-0000b390: 6174 6528 3330 2920 7468 656e 2074 7261 ate(30) then tra\n-0000b3a0: 6e73 6c61 7465 285b 312c 332c 305d 290a nslate([1,3,0]).\n-0000b3b0: 6578 7072 6573 7365 7320 6120 7365 7269 expresses a seri\n-0000b3c0: 6573 206f 6620 7375 6363 6573 7369 7665 es of successive\n-0000b3d0: 206d 6f64 6966 6963 6174 696f 6e73 2074 modifications t\n-0000b3e0: 6f20 7468 6520 706f 696e 742c 2077 6865 o the point, whe\n-0000b3f0: 7265 6173 2074 6865 0a65 7175 6976 616c reas the.equival\n-0000b400: 656e 7420 666f 726d 0a20 2020 2020 7472 ent form. tr\n-0000b410: 616e 736c 6174 6528 5b31 2c33 2c30 5d29 anslate([1,3,0])\n-0000b420: 202a 2072 6f74 6174 6528 3330 2920 2a20 * rotate(30) * \n-0000b430: 7363 616c 6528 3229 202a 2028 312c 322c scale(2) * (1,2,\n-0000b440: 3329 0a77 696c 6c20 6265 2069 6e74 7569 3).will be intui\n-0000b450: 7469 7665 206f 6e6c 7920 746f 206d 6174 tive only to mat\n-0000b460: 6865 6d61 7469 6369 616e 7320 2861 6e64 hematicians (and\n-0000b470: 2070 6572 6861 7073 2041 7261 6269 6320 perhaps Arabic \n-0000b480: 6c61 6e67 7561 6765 0a72 6561 6465 7273 language.readers\n-0000b490: 292e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ).....File: sket\n-0000b4a0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-0000b4b0: 556e 6172 7920 666f 726d 732c 2020 5072 Unary forms, Pr\n-0000b4c0: 6576 3a20 5477 6f2d 6f70 6572 616e 6420 ev: Two-operand \n-0000b4d0: 2862 696e 6172 7929 2066 6f72 6d73 2c20 (binary) forms, \n-0000b4e0: 2055 703a 2041 7269 7468 6d65 7469 630a Up: Arithmetic.\n-0000b4f0: 0a33 2e31 2e34 2e32 2055 6e61 7279 2066 .3.1.4.2 Unary f\n-0000b500: 6f72 6d73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e orms............\n-0000b510: 2e2e 2e2e 2e2e 2e2e 0a0a 556e 6172 7920 ..........Unary \n-0000b520: 6f72 206f 6e65 2d6f 7065 7261 6e64 2066 or one-operand f\n-0000b530: 6f72 6d73 2061 7265 2073 756d 6d61 7269 orms are summari\n-0000b540: 7a65 6420 696e 2074 6865 2066 6f6c 6c6f zed in the follo\n-0000b550: 7769 6e67 2074 6162 6c65 2c20 7768 6572 wing table, wher\n-0000b560: 650a e280 9858 e280 9920 7374 616e 6473 e....X... stands\n-0000b570: 2066 6f72 2074 6865 206f 7065 7261 6e64 for the operand\n-0000b580: 2e0a 4f70 2020 2020 2020 2020 2020 2020 ..Op \n-0000b590: 204f 7065 7261 6e64 2020 2020 2052 6573 Operand Res\n-0000b5a0: 756c 7420 2020 2020 2044 6573 6372 6970 ult Descrip\n-0000b5b0: 7469 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d tion.-----------\n+0000b0e0: 2d0a e280 9827 e280 9920 2020 2020 2068 -....'... h\n+0000b0f0: 6967 6865 7374 2028 6d6f 7374 2074 6967 ighest (most tig\n+0000b100: 6874 6c79 2062 696e 6469 6e67 290a e280 htly binding)...\n+0000b110: 985e e280 990a e280 982d e280 9920 2020 .^.......-... \n+0000b120: 2020 2028 756e 6172 7920 6e65 6761 7469 (unary negati\n+0000b130: 6f6e 290a e280 982a e280 990a e280 982e on)....*........\n+0000b140: e280 990a e280 982f e280 990a e280 982b ......./.......+\n+0000b150: e280 990a e280 982d e280 990a e280 9874 .......-.......t\n+0000b160: 6865 6ee2 8099 2020 206c 6f77 6573 7420 hen... lowest \n+0000b170: 286c 6561 7374 2074 6967 6874 6c79 2062 (least tightly b\n+0000b180: 696e 6469 6e67 290a 0a41 6c6c 206f 7065 inding)..All ope\n+0000b190: 7261 7469 6f6e 7320 6172 6520 6c65 6674 rations are left\n+0000b1a0: 2d61 7373 6f63 6961 7469 7665 2065 7863 -associative exc\n+0000b1b0: 6570 7420 666f 7220 e280 985e e280 992e ept for ...^....\n+0000b1c0: 2020 5061 7265 6e74 6865 7365 7320 e280 Parentheses ..\n+0000b1d0: 9828 2029 e280 990a 6172 6520 7573 6564 .( )....are used\n+0000b1e0: 2066 6f72 2067 726f 7570 696e 6720 746f for grouping to\n+0000b1f0: 206f 7665 7272 6964 6520 7072 6563 6564 override preced\n+0000b200: 656e 6365 2069 6e20 7468 6520 7573 7561 ence in the usua\n+0000b210: 6c20 7761 792e 0a0a 2020 2041 7320 796f l way... As yo\n+0000b220: 7520 6361 6e20 7365 652c 2074 6865 2064 u can see, the d\n+0000b230: 6f74 206f 7065 7261 746f 7220 e280 982e ot operator ....\n+0000b240: e280 9920 6973 2075 7375 616c 6c79 2061 ... is usually a\n+0000b250: 2073 796e 6f6e 796d 2066 6f72 0a72 756e synonym for.run\n+0000b260: 2d6f 662d 7468 652d 6d69 6c6c 206d 756c -of-the-mill mul\n+0000b270: 7469 706c 6963 6174 696f 6e2c 20e2 8098 tiplication, ...\n+0000b280: 2ae2 8099 2e20 2054 6865 206d 6561 6e69 *.... The meani\n+0000b290: 6e67 7320 6469 6666 6572 206f 6e6c 7920 ngs differ only \n+0000b2a0: 666f 720a 7665 6374 6f72 206f 7065 7261 for.vector opera\n+0000b2b0: 6e64 732e 2020 5468 6520 e280 9874 6865 nds. The ...the\n+0000b2c0: 6ee2 8099 206f 7065 7261 746f 7220 6d65 n... operator me\n+0000b2d0: 7265 6c79 2072 6576 6572 7365 7320 7468 rely reverses th\n+0000b2e0: 6520 6f70 6572 616e 6420 6f72 6465 720a e operand order.\n+0000b2f0: 7769 7468 2072 6573 7065 6374 2074 6f20 with respect to \n+0000b300: 6e6f 726d 616c 206d 756c 7469 706c 6963 normal multiplic\n+0000b310: 6174 696f 6e20 e280 982a e280 992e 2020 ation ...*.... \n+0000b320: 5468 6520 696e 7465 6e74 2068 6572 6520 The intent here \n+0000b330: 6973 2074 6f20 6d61 6b65 0a63 6f6d 706f is to make.compo\n+0000b340: 7369 7469 6f6e 7320 7265 6164 206d 6f72 sitions read mor\n+0000b350: 6520 6e61 7475 7261 6c6c 792e 2020 5468 e naturally. Th\n+0000b360: 6520 636f 6465 0a20 2020 2020 2831 2c32 e code. (1,2\n+0000b370: 2c33 2920 7468 656e 2073 6361 6c65 2832 ,3) then scale(2\n+0000b380: 2920 7468 656e 2072 6f74 6174 6528 3330 ) then rotate(30\n+0000b390: 2920 7468 656e 2074 7261 6e73 6c61 7465 ) then translate\n+0000b3a0: 285b 312c 332c 305d 290a 6578 7072 6573 ([1,3,0]).expres\n+0000b3b0: 7365 7320 6120 7365 7269 6573 206f 6620 ses a series of \n+0000b3c0: 7375 6363 6573 7369 7665 206d 6f64 6966 successive modif\n+0000b3d0: 6963 6174 696f 6e73 2074 6f20 7468 6520 ications to the \n+0000b3e0: 706f 696e 742c 2077 6865 7265 6173 2074 point, whereas t\n+0000b3f0: 6865 0a65 7175 6976 616c 656e 7420 666f he.equivalent fo\n+0000b400: 726d 0a20 2020 2020 7472 616e 736c 6174 rm. translat\n+0000b410: 6528 5b31 2c33 2c30 5d29 202a 2072 6f74 e([1,3,0]) * rot\n+0000b420: 6174 6528 3330 2920 2a20 7363 616c 6528 ate(30) * scale(\n+0000b430: 3229 202a 2028 312c 322c 3329 0a77 696c 2) * (1,2,3).wil\n+0000b440: 6c20 6265 2069 6e74 7569 7469 7665 206f l be intuitive o\n+0000b450: 6e6c 7920 746f 206d 6174 6865 6d61 7469 nly to mathemati\n+0000b460: 6369 616e 7320 2861 6e64 2070 6572 6861 cians (and perha\n+0000b470: 7073 2041 7261 6269 6320 6c61 6e67 7561 ps Arabic langua\n+0000b480: 6765 0a72 6561 6465 7273 292e 0a0a 1f0a ge.readers).....\n+0000b490: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+0000b4a0: 6f2c 2020 4e6f 6465 3a20 556e 6172 7920 o, Node: Unary \n+0000b4b0: 666f 726d 732c 2020 5072 6576 3a20 5477 forms, Prev: Tw\n+0000b4c0: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar\n+0000b4d0: 7929 2066 6f72 6d73 2c20 2055 703a 2041 y) forms, Up: A\n+0000b4e0: 7269 7468 6d65 7469 630a 0a33 2e31 2e34 rithmetic..3.1.4\n+0000b4f0: 2e32 2055 6e61 7279 2066 6f72 6d73 0a2e .2 Unary forms..\n+0000b500: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+0000b510: 2e2e 0a0a 556e 6172 7920 6f72 206f 6e65 ....Unary or one\n+0000b520: 2d6f 7065 7261 6e64 2066 6f72 6d73 2061 -operand forms a\n+0000b530: 7265 2073 756d 6d61 7269 7a65 6420 696e re summarized in\n+0000b540: 2074 6865 2066 6f6c 6c6f 7769 6e67 2074 the following t\n+0000b550: 6162 6c65 2c20 7768 6572 650a e280 9858 able, where....X\n+0000b560: e280 9920 7374 616e 6473 2066 6f72 2074 ... stands for t\n+0000b570: 6865 206f 7065 7261 6e64 2e0a 4f70 2020 he operand..Op \n+0000b580: 2020 2020 2020 2020 2020 204f 7065 7261 Opera\n+0000b590: 6e64 2020 2020 2052 6573 756c 7420 2020 nd Result \n+0000b5a0: 2020 2044 6573 6372 6970 7469 6f6e 0a2d Description.-\n+0000b5b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000b5c0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000b5d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000b5e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000b5f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000b600: 2d2d 2d2d 2d2d 2d2d 2d0a e280 982d 58e2 ---------....-X.\n-0000b610: 8099 2020 2020 2020 2020 2020 2073 6361 .. sca\n-0000b620: 6c61 7220 2020 2020 2073 6361 6c61 7220 lar scalar \n-0000b630: 2020 2020 2055 6e61 7279 2073 6361 6c61 Unary scala\n-0000b640: 7220 6e65 6761 7469 6f6e 2e0a e280 982d r negation.....-\n-0000b650: 58e2 8099 2020 2020 2020 2020 2020 2076 X... v\n-0000b660: 6563 746f 7220 2020 2020 2076 6563 746f ector vecto\n-0000b670: 7220 2020 2020 2055 6e61 7279 2076 6563 r Unary vec\n-0000b680: 746f 7220 6e65 6761 7469 6f6e 2e0a e280 tor negation....\n-0000b690: 987c 587c e280 9920 2020 2020 2020 2020 .|X|... \n-0000b6a0: 2076 6563 746f 7220 2020 2020 2073 6361 vector sca\n-0000b6b0: 6c61 7220 2020 2020 2056 6563 746f 7220 lar Vector \n-0000b6c0: 6c65 6e67 7468 2e0a e280 9875 6e69 7428 length.....unit(\n-0000b6d0: 5829 e280 9920 2020 2020 2076 6563 746f X)... vecto\n-0000b6e0: 7220 2020 2020 2076 6563 746f 7220 2020 r vector \n-0000b6f0: 2020 2055 6e69 7420 7665 6374 6f72 2077 Unit vector w\n-0000b700: 6974 6820 7361 6d65 2064 6972 6563 7469 ith same directi\n-0000b710: 6f6e 2e0a e280 9873 7172 7428 5829 e280 on.....sqrt(X)..\n-0000b720: 9920 2020 2020 2073 6361 6c61 7220 2020 . scalar \n-0000b730: 2020 2073 6361 6c61 7220 2020 2020 2053 scalar S\n-0000b740: 6361 6c61 7220 7371 7561 7265 2072 6f6f calar square roo\n-0000b750: 742e 0ae2 8098 7369 6e28 5829 e280 9920 t.....sin(X)... \n-0000b760: 2020 2020 2020 7363 616c 6172 2020 2020 scalar \n-0000b770: 2020 7363 616c 6172 2020 2020 2020 5472 scalar Tr\n-0000b780: 6967 6f6e 6f6d 6574 7269 6320 7369 6e65 igonometric sine\n-0000b790: 2028 e280 9858 e280 9920 696e 2064 6567 (...X... in deg\n-0000b7a0: 7265 6573 292e 0ae2 8098 636f 7328 5829 rees).....cos(X)\n-0000b7b0: e280 9920 2020 2020 2020 7363 616c 6172 ... scalar\n-0000b7c0: 2020 2020 2020 7363 616c 6172 2020 2020 scalar \n-0000b7d0: 2020 5472 6967 6f6e 6f6d 6574 7269 6320 Trigonometric \n-0000b7e0: 636f 7369 6e65 2028 e280 9858 e280 9920 cosine (...X... \n-0000b7f0: 696e 2064 6567 7265 6573 292e 0ae2 8098 in degrees).....\n-0000b800: 6173 696e 2858 29e2 8099 2020 2020 2020 asin(X)... \n-0000b810: 7363 616c 6172 2020 2020 2020 7363 616c scalar scal\n-0000b820: 6172 2020 2020 2020 496e 7665 7273 6520 ar Inverse \n-0000b830: 7369 6e65 2028 e280 9858 e280 9920 696e sine (...X... in\n-0000b840: 2064 6567 7265 6573 292e 0ae2 8098 6163 degrees).....ac\n-0000b850: 6f73 2858 29e2 8099 2020 2020 2020 7363 os(X)... sc\n-0000b860: 616c 6172 2020 2020 2020 7363 616c 6172 alar scalar\n-0000b870: 2020 2020 2020 496e 7665 7273 6520 636f Inverse co\n-0000b880: 7369 6e65 2028 e280 9858 e280 9920 696e sine (...X... in\n-0000b890: 2064 6567 7265 6573 292e 0ae2 8098 6174 degrees).....at\n-0000b8a0: 616e 3228 582c 5929 e280 9920 2020 7363 an2(X,Y)... sc\n-0000b8b0: 616c 6172 2020 2020 2020 7363 616c 6172 alar scalar\n-0000b8c0: 2020 2020 2020 506f 6c61 7220 616e 676c Polar angl\n-0000b8d0: 6520 696e 2064 6567 7265 6573 206f 6620 e in degrees of \n-0000b8e0: 7665 6374 6f72 205b 582c 595d 2e0a e280 vector [X,Y]....\n-0000b8f0: 9869 6e76 6572 7365 2858 29e2 8099 2020 .inverse(X)... \n-0000b900: 2074 7261 6e73 666f 726d 2020 2074 7261 transform tra\n-0000b910: 6e73 666f 726d 2020 2049 6e76 6572 7365 nsform Inverse\n-0000b920: 2074 7261 6e73 666f 726d 2e0a 0a45 7272 transform...Err\n-0000b930: 6f72 7320 6172 6520 7265 706f 7274 6564 ors are reported\n-0000b940: 2077 6865 6e20 e280 987c 587c e280 992c when ...|X|...,\n-0000b950: 20e2 8098 756e 6974 e280 992c 20e2 8098 ...unit..., ...\n-0000b960: 6173 696e e280 992c 20e2 8098 6163 6f73 asin..., ...acos\n-0000b970: e280 992c 20e2 8098 7371 7274 e280 992c ..., ...sqrt...,\n-0000b980: 20e2 8098 6174 616e 32e2 8099 2c0a 616e ...atan2...,.an\n-0000b990: 6420 e280 9869 6e76 6572 7365 e280 9920 d ...inverse... \n-0000b9a0: 6661 696c 2064 7565 2074 6f20 6f70 6572 fail due to oper\n-0000b9b0: 616e 6473 206f 7574 7369 6465 2074 6865 ands outside the\n-0000b9c0: 6972 2072 6573 7065 6374 6976 6520 646f ir respective do\n-0000b9d0: 6d61 696e 732e 0a0a 1f0a 4669 6c65 3a20 mains.....File: \n-0000b9e0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-0000b9f0: 6465 3a20 4f70 7469 6f6e 732c 2020 5072 de: Options, Pr\n-0000ba00: 6576 3a20 4172 6974 686d 6574 6963 2c20 ev: Arithmetic, \n-0000ba10: 2055 703a 204c 616e 6775 6167 6520 6261 Up: Language ba\n-0000ba20: 7369 6373 0a0a 332e 312e 3520 4f70 7469 sics..3.1.5 Opti\n-0000ba30: 6f6e 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ons.------------\n-0000ba40: 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 2020 -..*Syntax:*. \n-0000ba50: 2020 5b4b 4559 313d 5641 4c31 2c4b 4559 [KEY1=VAL1,KEY\n-0000ba60: 323d 5641 4c32 2c2e 2e2e 5d0a 4f70 7469 2=VAL2,...].Opti\n-0000ba70: 6f6e 7320 6172 6520 7573 6564 2074 6f20 ons are used to \n-0000ba80: 7370 6563 6966 7920 6465 7461 696c 7320 specify details \n-0000ba90: 6f66 2074 6865 2061 7070 6561 7261 6e63 of the appearanc\n-0000baa0: 6520 6f66 2064 7261 7761 626c 6573 2e20 e of drawables. \n-0000bab0: 2041 730a 7368 6f77 6e20 6162 6f76 652c As.shown above,\n-0000bac0: 2074 6865 7920 6172 6520 6769 7665 6e20 they are given \n-0000bad0: 6173 2063 6f6d 6d61 2d73 6570 6172 6174 as comma-separat\n-0000bae0: 6564 206b 6579 2d76 616c 7565 2070 6169 ed key-value pai\n-0000baf0: 7273 2e0a 0a2a 204d 656e 753a 0a0a 2a20 rs...* Menu:..* \n-0000bb00: 5053 5472 6963 6b73 206f 7074 696f 6e73 PSTricks options\n-0000bb10: 3a3a 2020 2020 2020 2020 2020 2020 4f70 :: Op\n-0000bb20: 7469 6f6e 7320 696e 6865 7269 7465 6420 tions inherited \n-0000bb30: 6672 6f6d 20e2 8098 5053 5472 6963 6b73 from ...PSTricks\n-0000bb40: e280 992e 0a2a 2054 696b 5a2f 5047 4620 .....* TikZ/PGF \n-0000bb50: 6f70 7469 6f6e 733a 3a20 2020 2020 2020 options:: \n-0000bb60: 2020 2020 204f 7074 696f 6e73 2069 6e68 Options inh\n-0000bb70: 6572 6974 6564 2066 726f 6d20 e280 9854 erited from ...T\n-0000bb80: 696b 5a2f 5047 46e2 8099 2e0a 2a20 446f ikZ/PGF.....* Do\n-0000bb90: 7473 2069 6e20 5469 6b5a 2f50 4746 3a3a ts in TikZ/PGF::\n-0000bba0: 2020 2020 2020 2020 2020 2020 536b 6574 Sket\n-0000bbb0: 6368 2075 7365 7320 e280 9854 696b 5a2f ch uses ...TikZ/\n-0000bbc0: 5047 46e2 8099 2063 6972 636c 6573 2066 PGF... circles f\n-0000bbd0: 6f72 2064 6f74 732e 0a2a 2054 696b 5a2f or dots..* TikZ/\n-0000bbe0: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined\n-0000bbf0: 2073 7479 6c65 733a 3a20 2053 7570 706f styles:: Suppo\n-0000bc00: 7274 2066 6f72 20e2 8098 5469 6b5a 2f50 rt for ...TikZ/P\n-0000bc10: 4746 e280 9920 6e61 6d65 642c 2075 7365 GF... named, use\n-0000bc20: 722d 6465 6669 6e65 6420 7374 796c 6573 r-defined styles\n-0000bc30: 2e0a 2a20 5472 616e 7370 6172 656e 6379 ..* Transparency\n-0000bc40: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-0000bc50: 2020 5365 652d 7468 726f 7567 6820 706f See-through po\n-0000bc60: 6c79 676f 6e73 2e0a 2a20 496e 7465 726e lygons..* Intern\n-0000bc70: 616c 206f 7074 696f 6e73 3a3a 2020 2020 al options:: \n-0000bc80: 2020 2020 2020 2020 4f70 7469 6f6e 7320 Options \n-0000bc90: 7573 6564 2062 7920 e280 9873 6b65 7463 used by ...sketc\n-0000bca0: 68e2 8099 2e0a 0a1f 0a46 696c 653a 2073 h........File: s\n-0000bcb0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-0000bcc0: 653a 2050 5354 7269 636b 7320 6f70 7469 e: PSTricks opti\n-0000bcd0: 6f6e 732c 2020 4e65 7874 3a20 5469 6b5a ons, Next: TikZ\n-0000bce0: 2f50 4746 206f 7074 696f 6e73 2c20 2050 /PGF options, P\n-0000bcf0: 7265 763a 204f 7074 696f 6e73 2c20 2055 rev: Options, U\n-0000bd00: 703a 204f 7074 696f 6e73 0a0a 332e 312e p: Options..3.1.\n-0000bd10: 352e 3120 e280 9850 5354 7269 636b 73e2 5.1 ...PSTricks.\n-0000bd20: 8099 206f 7074 696f 6e73 0a2e 2e2e 2e2e .. options......\n-0000bd30: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000bd40: 2e2e 2e2e 2e0a 0a57 6865 6e20 e280 986c .......When ...l\n-0000bd50: 616e 6775 6167 6520 7073 7472 6963 6b73 anguage pstricks\n-0000bd60: e280 9920 6973 2073 656c 6563 7465 6420 ... is selected \n-0000bd70: 2874 6865 2064 6566 6175 6c74 292c 2070 (the default), p\n-0000bd80: 6572 6d69 7373 6962 6c65 0a6b 6579 2d76 ermissible.key-v\n-0000bd90: 616c 7565 2070 6169 7273 2069 6e63 6c75 alue pairs inclu\n-0000bda0: 6465 2061 6c6c 2074 686f 7365 2066 6f72 de all those for\n-0000bdb0: 2073 696d 696c 6172 20e2 8098 5053 5472 similar ...PSTr\n-0000bdc0: 6963 6b73 e280 9920 6f62 6a65 6374 732e icks... objects.\n-0000bdd0: 2020 466f 720a 6578 616d 706c 652c 2061 For.example, a\n-0000bde0: 2070 6f6c 7967 6f6e 206d 6967 6874 2068 polygon might h\n-0000bdf0: 6176 6520 7468 6520 6f70 7469 6f6e 730a ave the options.\n-0000be00: 2020 5b6c 696e 6577 6964 7468 3d31 7074 [linewidth=1pt\n-0000be10: 2c6c 696e 6563 6f6c 6f72 3d62 6c75 652c ,linecolor=blue,\n-0000be20: 6669 6c6c 636f 6c6f 723d 6379 616e 5d0a fillcolor=cyan].\n-0000be30: e280 9853 6b65 7463 68e2 8099 206d 6572 ...Sketch... mer\n-0000be40: 656c 7920 7061 7373 6573 2074 6865 7365 ely passes these\n-0000be50: 206f 6e20 746f 20e2 8098 5053 5472 6963 on to ...PSTric\n-0000be60: 6b73 e280 9920 7769 7468 6f75 7420 6368 ks... without ch\n-0000be70: 6563 6b69 6e67 206f 720a 6d6f 6469 6669 ecking or.modifi\n-0000be80: 6361 7469 6f6e 2e20 204f 7074 696f 6e20 cation. Option \n-0000be90: 6c69 7374 7320 6172 6520 616c 7761 7973 lists are always\n-0000bea0: 206f 7074 696f 6e61 6c2e 2020 4120 6d69 optional. A mi\n-0000beb0: 7373 696e 6720 6f70 7469 6f6e 7320 6c69 ssing options li\n-0000bec0: 7374 0a69 7320 6571 7569 7661 6c65 6e74 st.is equivalent\n-0000bed0: 2074 6f20 616e 2065 6d70 7479 206f 6e65 to an empty one\n-0000bee0: 20e2 8098 5b5d e280 992e 0a0a 2020 2057 ...[]...... W\n-0000bef0: 6865 6e20 6120 e280 9870 6f6c 7967 6f6e hen a ...polygon\n-0000bf00: e280 9920 6861 7320 6f70 7469 6f6e 7320 ... has options \n-0000bf10: 666f 7220 626f 7468 2069 7473 2066 6163 for both its fac\n-0000bf20: 6520 616e 6420 6974 7320 6564 6765 732c e and its edges,\n-0000bf30: 2061 6e64 2074 6865 0a70 6f6c 7967 6f6e and the.polygon\n-0000bf40: 2069 7320 7370 6c69 7420 6279 2074 6865 is split by the\n-0000bf50: 2068 6964 6465 6e20 7375 7266 6163 6520 hidden surface \n-0000bf60: 616c 676f 7269 7468 6d2c 20e2 8098 736b algorithm, ...sk\n-0000bf70: 6574 6368 e280 9920 6d75 7374 2063 6f70 etch... must cop\n-0000bf80: 7920 7468 650a 6564 6765 206f 7074 696f y the.edge optio\n-0000bf90: 6e73 2074 6f20 e280 9870 736c 696e 65e2 ns to ...psline.\n-0000bfa0: 8099 7320 666f 7220 7468 6520 6564 6765 ..s for the edge\n-0000bfb0: 2073 6567 6d65 6e74 7320 616e 6420 7468 segments and th\n-0000bfc0: 6520 6661 6365 206f 7074 696f 6e73 2074 e face options t\n-0000bfd0: 6f0a e280 9870 7370 6f6c 7967 6f6e e280 o....pspolygon..\n-0000bfe0: 9973 2e20 204f 7074 696f 6e73 206b 6e6f .s. Options kno\n-0000bff0: 776e 2074 6f20 e280 9873 6b65 7463 68e2 wn to ...sketch.\n-0000c000: 8099 2066 6f72 2070 7572 706f 7365 7320 .. for purposes \n-0000c010: 6f66 2074 6869 7320 7370 6c69 7474 696e of this splittin\n-0000c020: 670a 6f70 6572 6174 696f 6e20 696e 636c g.operation incl\n-0000c030: 7564 6520 e280 9861 7272 6f77 73e2 8099 ude ...arrows...\n-0000c040: 2c20 e280 9864 6173 68e2 8099 2c20 e280 , ...dash..., ..\n-0000c050: 9864 6f74 7365 70e2 8099 2c20 e280 9866 .dotsep..., ...f\n-0000c060: 696c 6c63 6f6c 6f72 e280 992c 20e2 8098 illcolor..., ...\n-0000c070: 6669 6c6c 7374 796c 65e2 8099 2c0a e280 fillstyle...,...\n-0000c080: 986c 696e 6563 6f6c 6f72 e280 992c 20e2 .linecolor..., .\n-0000c090: 8098 6c69 6e65 7374 796c 65e2 8099 2c20 ..linestyle..., \n-0000c0a0: e280 986c 696e 6577 6964 7468 e280 992c ...linewidth...,\n-0000c0b0: 20e2 8098 6f70 6163 6974 79e2 8099 2c20 ...opacity..., \n-0000c0c0: e280 9873 686f 7770 6f69 6e74 73e2 8099 ...showpoints...\n-0000c0d0: 2c0a e280 9873 7472 6f6b 656f 7061 6369 ,....strokeopaci\n-0000c0e0: 7479 e280 992c 2061 6e64 20e2 8098 7472 ty..., and ...tr\n-0000c0f0: 616e 7370 616c 7068 61e2 8099 2e0a 0a1f anspalpha.......\n-0000c100: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-0000c110: 666f 2c20 204e 6f64 653a 2054 696b 5a2f fo, Node: TikZ/\n-0000c120: 5047 4620 6f70 7469 6f6e 732c 2020 4e65 PGF options, Ne\n-0000c130: 7874 3a20 446f 7473 2069 6e20 5469 6b5a xt: Dots in TikZ\n-0000c140: 2f50 4746 2c20 2050 7265 763a 2050 5354 /PGF, Prev: PST\n-0000c150: 7269 636b 7320 6f70 7469 6f6e 732c 2020 ricks options, \n-0000c160: 5570 3a20 4f70 7469 6f6e 730a 0a33 2e31 Up: Options..3.1\n-0000c170: 2e35 2e32 20e2 8098 5469 6b5a 2f50 4746 .5.2 ...TikZ/PGF\n-0000c180: e280 9920 6f70 7469 6f6e 730a 2e2e 2e2e ... options.....\n+0000b600: 2d2d 2d0a e280 982d 58e2 8099 2020 2020 ---....-X... \n+0000b610: 2020 2020 2020 2073 6361 6c61 7220 2020 scalar \n+0000b620: 2020 2073 6361 6c61 7220 2020 2020 2055 scalar U\n+0000b630: 6e61 7279 2073 6361 6c61 7220 6e65 6761 nary scalar nega\n+0000b640: 7469 6f6e 2e0a e280 982d 58e2 8099 2020 tion.....-X... \n+0000b650: 2020 2020 2020 2020 2076 6563 746f 7220 vector \n+0000b660: 2020 2020 2076 6563 746f 7220 2020 2020 vector \n+0000b670: 2055 6e61 7279 2076 6563 746f 7220 6e65 Unary vector ne\n+0000b680: 6761 7469 6f6e 2e0a e280 987c 587c e280 gation.....|X|..\n+0000b690: 9920 2020 2020 2020 2020 2076 6563 746f . vecto\n+0000b6a0: 7220 2020 2020 2073 6361 6c61 7220 2020 r scalar \n+0000b6b0: 2020 2056 6563 746f 7220 6c65 6e67 7468 Vector length\n+0000b6c0: 2e0a e280 9875 6e69 7428 5829 e280 9920 .....unit(X)... \n+0000b6d0: 2020 2020 2076 6563 746f 7220 2020 2020 vector \n+0000b6e0: 2076 6563 746f 7220 2020 2020 2055 6e69 vector Uni\n+0000b6f0: 7420 7665 6374 6f72 2077 6974 6820 7361 t vector with sa\n+0000b700: 6d65 2064 6972 6563 7469 6f6e 2e0a e280 me direction....\n+0000b710: 9873 7172 7428 5829 e280 9920 2020 2020 .sqrt(X)... \n+0000b720: 2073 6361 6c61 7220 2020 2020 2073 6361 scalar sca\n+0000b730: 6c61 7220 2020 2020 2053 6361 6c61 7220 lar Scalar \n+0000b740: 7371 7561 7265 2072 6f6f 742e 0ae2 8098 square root.....\n+0000b750: 7369 6e28 5829 e280 9920 2020 2020 2020 sin(X)... \n+0000b760: 7363 616c 6172 2020 2020 2020 7363 616c scalar scal\n+0000b770: 6172 2020 2020 2020 5472 6967 6f6e 6f6d ar Trigonom\n+0000b780: 6574 7269 6320 7369 6e65 2028 e280 9858 etric sine (...X\n+0000b790: e280 9920 696e 2064 6567 7265 6573 292e ... in degrees).\n+0000b7a0: 0ae2 8098 636f 7328 5829 e280 9920 2020 ....cos(X)... \n+0000b7b0: 2020 2020 7363 616c 6172 2020 2020 2020 scalar \n+0000b7c0: 7363 616c 6172 2020 2020 2020 5472 6967 scalar Trig\n+0000b7d0: 6f6e 6f6d 6574 7269 6320 636f 7369 6e65 onometric cosine\n+0000b7e0: 2028 e280 9858 e280 9920 696e 2064 6567 (...X... in deg\n+0000b7f0: 7265 6573 292e 0ae2 8098 6173 696e 2858 rees).....asin(X\n+0000b800: 29e2 8099 2020 2020 2020 7363 616c 6172 )... scalar\n+0000b810: 2020 2020 2020 7363 616c 6172 2020 2020 scalar \n+0000b820: 2020 496e 7665 7273 6520 7369 6e65 2028 Inverse sine (\n+0000b830: e280 9858 e280 9920 696e 2064 6567 7265 ...X... in degre\n+0000b840: 6573 292e 0ae2 8098 6163 6f73 2858 29e2 es).....acos(X).\n+0000b850: 8099 2020 2020 2020 7363 616c 6172 2020 .. scalar \n+0000b860: 2020 2020 7363 616c 6172 2020 2020 2020 scalar \n+0000b870: 496e 7665 7273 6520 636f 7369 6e65 2028 Inverse cosine (\n+0000b880: e280 9858 e280 9920 696e 2064 6567 7265 ...X... in degre\n+0000b890: 6573 292e 0ae2 8098 6174 616e 3228 582c es).....atan2(X,\n+0000b8a0: 5929 e280 9920 2020 7363 616c 6172 2020 Y)... scalar \n+0000b8b0: 2020 2020 7363 616c 6172 2020 2020 2020 scalar \n+0000b8c0: 506f 6c61 7220 616e 676c 6520 696e 2064 Polar angle in d\n+0000b8d0: 6567 7265 6573 206f 6620 7665 6374 6f72 egrees of vector\n+0000b8e0: 205b 582c 595d 2e0a e280 9869 6e76 6572 [X,Y].....inver\n+0000b8f0: 7365 2858 29e2 8099 2020 2074 7261 6e73 se(X)... trans\n+0000b900: 666f 726d 2020 2074 7261 6e73 666f 726d form transform\n+0000b910: 2020 2049 6e76 6572 7365 2074 7261 6e73 Inverse trans\n+0000b920: 666f 726d 2e0a 0a45 7272 6f72 7320 6172 form...Errors ar\n+0000b930: 6520 7265 706f 7274 6564 2077 6865 6e20 e reported when \n+0000b940: e280 987c 587c e280 992c 20e2 8098 756e ...|X|..., ...un\n+0000b950: 6974 e280 992c 20e2 8098 6173 696e e280 it..., ...asin..\n+0000b960: 992c 20e2 8098 6163 6f73 e280 992c 20e2 ., ...acos..., .\n+0000b970: 8098 7371 7274 e280 992c 20e2 8098 6174 ..sqrt..., ...at\n+0000b980: 616e 32e2 8099 2c0a 616e 6420 e280 9869 an2...,.and ...i\n+0000b990: 6e76 6572 7365 e280 9920 6661 696c 2064 nverse... fail d\n+0000b9a0: 7565 2074 6f20 6f70 6572 616e 6473 206f ue to operands o\n+0000b9b0: 7574 7369 6465 2074 6865 6972 2072 6573 utside their res\n+0000b9c0: 7065 6374 6976 6520 646f 6d61 696e 732e pective domains.\n+0000b9d0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+0000b9e0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4f70 .info, Node: Op\n+0000b9f0: 7469 6f6e 732c 2020 5072 6576 3a20 4172 tions, Prev: Ar\n+0000ba00: 6974 686d 6574 6963 2c20 2055 703a 204c ithmetic, Up: L\n+0000ba10: 616e 6775 6167 6520 6261 7369 6373 0a0a anguage basics..\n+0000ba20: 332e 312e 3520 4f70 7469 6f6e 730a 2d2d 3.1.5 Options.--\n+0000ba30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 -----------..*Sy\n+0000ba40: 6e74 6178 3a2a 0a20 2020 2020 5b4b 4559 ntax:*. [KEY\n+0000ba50: 313d 5641 4c31 2c4b 4559 323d 5641 4c32 1=VAL1,KEY2=VAL2\n+0000ba60: 2c2e 2e2e 5d0a 4f70 7469 6f6e 7320 6172 ,...].Options ar\n+0000ba70: 6520 7573 6564 2074 6f20 7370 6563 6966 e used to specif\n+0000ba80: 7920 6465 7461 696c 7320 6f66 2074 6865 y details of the\n+0000ba90: 2061 7070 6561 7261 6e63 6520 6f66 2064 appearance of d\n+0000baa0: 7261 7761 626c 6573 2e20 2041 730a 7368 rawables. As.sh\n+0000bab0: 6f77 6e20 6162 6f76 652c 2074 6865 7920 own above, they \n+0000bac0: 6172 6520 6769 7665 6e20 6173 2063 6f6d are given as com\n+0000bad0: 6d61 2d73 6570 6172 6174 6564 206b 6579 ma-separated key\n+0000bae0: 2d76 616c 7565 2070 6169 7273 2e0a 0a2a -value pairs...*\n+0000baf0: 204d 656e 753a 0a0a 2a20 5053 5472 6963 Menu:..* PSTric\n+0000bb00: 6b73 206f 7074 696f 6e73 3a3a 2020 2020 ks options:: \n+0000bb10: 2020 2020 2020 2020 4f70 7469 6f6e 7320 Options \n+0000bb20: 696e 6865 7269 7465 6420 6672 6f6d 20e2 inherited from .\n+0000bb30: 8098 5053 5472 6963 6b73 e280 992e 0a2a ..PSTricks.....*\n+0000bb40: 2054 696b 5a2f 5047 4620 6f70 7469 6f6e TikZ/PGF option\n+0000bb50: 733a 3a20 2020 2020 2020 2020 2020 204f s:: O\n+0000bb60: 7074 696f 6e73 2069 6e68 6572 6974 6564 ptions inherited\n+0000bb70: 2066 726f 6d20 e280 9854 696b 5a2f 5047 from ...TikZ/PG\n+0000bb80: 46e2 8099 2e0a 2a20 446f 7473 2069 6e20 F.....* Dots in \n+0000bb90: 5469 6b5a 2f50 4746 3a3a 2020 2020 2020 TikZ/PGF:: \n+0000bba0: 2020 2020 2020 536b 6574 6368 2075 7365 Sketch use\n+0000bbb0: 7320 e280 9854 696b 5a2f 5047 46e2 8099 s ...TikZ/PGF...\n+0000bbc0: 2063 6972 636c 6573 2066 6f72 2064 6f74 circles for dot\n+0000bbd0: 732e 0a2a 2054 696b 5a2f 5047 4620 7573 s..* TikZ/PGF us\n+0000bbe0: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style\n+0000bbf0: 733a 3a20 2053 7570 706f 7274 2066 6f72 s:: Support for\n+0000bc00: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... \n+0000bc10: 6e61 6d65 642c 2075 7365 722d 6465 6669 named, user-defi\n+0000bc20: 6e65 6420 7374 796c 6573 2e0a 2a20 5472 ned styles..* Tr\n+0000bc30: 616e 7370 6172 656e 6379 3a3a 2020 2020 ansparency:: \n+0000bc40: 2020 2020 2020 2020 2020 2020 5365 652d See-\n+0000bc50: 7468 726f 7567 6820 706f 6c79 676f 6e73 through polygons\n+0000bc60: 2e0a 2a20 496e 7465 726e 616c 206f 7074 ..* Internal opt\n+0000bc70: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: \n+0000bc80: 2020 4f70 7469 6f6e 7320 7573 6564 2062 Options used b\n+0000bc90: 7920 e280 9873 6b65 7463 68e2 8099 2e0a y ...sketch.....\n+0000bca0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+0000bcb0: 696e 666f 2c20 204e 6f64 653a 2050 5354 info, Node: PST\n+0000bcc0: 7269 636b 7320 6f70 7469 6f6e 732c 2020 ricks options, \n+0000bcd0: 4e65 7874 3a20 5469 6b5a 2f50 4746 206f Next: TikZ/PGF o\n+0000bce0: 7074 696f 6e73 2c20 2050 7265 763a 204f ptions, Prev: O\n+0000bcf0: 7074 696f 6e73 2c20 2055 703a 204f 7074 ptions, Up: Opt\n+0000bd00: 696f 6e73 0a0a 332e 312e 352e 3120 e280 ions..3.1.5.1 ..\n+0000bd10: 9850 5354 7269 636b 73e2 8099 206f 7074 .PSTricks... opt\n+0000bd20: 696f 6e73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e ions............\n+0000bd30: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................\n+0000bd40: 0a57 6865 6e20 e280 986c 616e 6775 6167 .When ...languag\n+0000bd50: 6520 7073 7472 6963 6b73 e280 9920 6973 e pstricks... is\n+0000bd60: 2073 656c 6563 7465 6420 2874 6865 2064 selected (the d\n+0000bd70: 6566 6175 6c74 292c 2070 6572 6d69 7373 efault), permiss\n+0000bd80: 6962 6c65 0a6b 6579 2d76 616c 7565 2070 ible.key-value p\n+0000bd90: 6169 7273 2069 6e63 6c75 6465 2061 6c6c airs include all\n+0000bda0: 2074 686f 7365 2066 6f72 2073 696d 696c those for simil\n+0000bdb0: 6172 20e2 8098 5053 5472 6963 6b73 e280 ar ...PSTricks..\n+0000bdc0: 9920 6f62 6a65 6374 732e 2020 466f 720a . objects. For.\n+0000bdd0: 6578 616d 706c 652c 2061 2070 6f6c 7967 example, a polyg\n+0000bde0: 6f6e 206d 6967 6874 2068 6176 6520 7468 on might have th\n+0000bdf0: 6520 6f70 7469 6f6e 730a 2020 5b6c 696e e options. [lin\n+0000be00: 6577 6964 7468 3d31 7074 2c6c 696e 6563 ewidth=1pt,linec\n+0000be10: 6f6c 6f72 3d62 6c75 652c 6669 6c6c 636f olor=blue,fillco\n+0000be20: 6c6f 723d 6379 616e 5d0a e280 9853 6b65 lor=cyan]....Ske\n+0000be30: 7463 68e2 8099 206d 6572 656c 7920 7061 tch... merely pa\n+0000be40: 7373 6573 2074 6865 7365 206f 6e20 746f sses these on to\n+0000be50: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... \n+0000be60: 7769 7468 6f75 7420 6368 6563 6b69 6e67 without checking\n+0000be70: 206f 720a 6d6f 6469 6669 6361 7469 6f6e or.modification\n+0000be80: 2e20 204f 7074 696f 6e20 6c69 7374 7320 . Option lists \n+0000be90: 6172 6520 616c 7761 7973 206f 7074 696f are always optio\n+0000bea0: 6e61 6c2e 2020 4120 6d69 7373 696e 6720 nal. A missing \n+0000beb0: 6f70 7469 6f6e 7320 6c69 7374 0a69 7320 options list.is \n+0000bec0: 6571 7569 7661 6c65 6e74 2074 6f20 616e equivalent to an\n+0000bed0: 2065 6d70 7479 206f 6e65 20e2 8098 5b5d empty one ...[]\n+0000bee0: e280 992e 0a0a 2020 2057 6865 6e20 6120 ...... When a \n+0000bef0: e280 9870 6f6c 7967 6f6e e280 9920 6861 ...polygon... ha\n+0000bf00: 7320 6f70 7469 6f6e 7320 666f 7220 626f s options for bo\n+0000bf10: 7468 2069 7473 2066 6163 6520 616e 6420 th its face and \n+0000bf20: 6974 7320 6564 6765 732c 2061 6e64 2074 its edges, and t\n+0000bf30: 6865 0a70 6f6c 7967 6f6e 2069 7320 7370 he.polygon is sp\n+0000bf40: 6c69 7420 6279 2074 6865 2068 6964 6465 lit by the hidde\n+0000bf50: 6e20 7375 7266 6163 6520 616c 676f 7269 n surface algori\n+0000bf60: 7468 6d2c 20e2 8098 736b 6574 6368 e280 thm, ...sketch..\n+0000bf70: 9920 6d75 7374 2063 6f70 7920 7468 650a . must copy the.\n+0000bf80: 6564 6765 206f 7074 696f 6e73 2074 6f20 edge options to \n+0000bf90: e280 9870 736c 696e 65e2 8099 7320 666f ...psline...s fo\n+0000bfa0: 7220 7468 6520 6564 6765 2073 6567 6d65 r the edge segme\n+0000bfb0: 6e74 7320 616e 6420 7468 6520 6661 6365 nts and the face\n+0000bfc0: 206f 7074 696f 6e73 2074 6f0a e280 9870 options to....p\n+0000bfd0: 7370 6f6c 7967 6f6e e280 9973 2e20 204f spolygon...s. O\n+0000bfe0: 7074 696f 6e73 206b 6e6f 776e 2074 6f20 ptions known to \n+0000bff0: e280 9873 6b65 7463 68e2 8099 2066 6f72 ...sketch... for\n+0000c000: 2070 7572 706f 7365 7320 6f66 2074 6869 purposes of thi\n+0000c010: 7320 7370 6c69 7474 696e 670a 6f70 6572 s splitting.oper\n+0000c020: 6174 696f 6e20 696e 636c 7564 6520 e280 ation include ..\n+0000c030: 9861 7272 6f77 73e2 8099 2c20 e280 9864 .arrows..., ...d\n+0000c040: 6173 68e2 8099 2c20 e280 9864 6f74 7365 ash..., ...dotse\n+0000c050: 70e2 8099 2c20 e280 9866 696c 6c63 6f6c p..., ...fillcol\n+0000c060: 6f72 e280 992c 20e2 8098 6669 6c6c 7374 or..., ...fillst\n+0000c070: 796c 65e2 8099 2c0a e280 986c 696e 6563 yle...,....linec\n+0000c080: 6f6c 6f72 e280 992c 20e2 8098 6c69 6e65 olor..., ...line\n+0000c090: 7374 796c 65e2 8099 2c20 e280 986c 696e style..., ...lin\n+0000c0a0: 6577 6964 7468 e280 992c 20e2 8098 6f70 ewidth..., ...op\n+0000c0b0: 6163 6974 79e2 8099 2c20 e280 9873 686f acity..., ...sho\n+0000c0c0: 7770 6f69 6e74 73e2 8099 2c0a e280 9873 wpoints...,....s\n+0000c0d0: 7472 6f6b 656f 7061 6369 7479 e280 992c trokeopacity...,\n+0000c0e0: 2061 6e64 20e2 8098 7472 616e 7370 616c and ...transpal\n+0000c0f0: 7068 61e2 8099 2e0a 0a1f 0a46 696c 653a pha........File:\n+0000c100: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+0000c110: 6f64 653a 2054 696b 5a2f 5047 4620 6f70 ode: TikZ/PGF op\n+0000c120: 7469 6f6e 732c 2020 4e65 7874 3a20 446f tions, Next: Do\n+0000c130: 7473 2069 6e20 5469 6b5a 2f50 4746 2c20 ts in TikZ/PGF, \n+0000c140: 2050 7265 763a 2050 5354 7269 636b 7320 Prev: PSTricks \n+0000c150: 6f70 7469 6f6e 732c 2020 5570 3a20 4f70 options, Up: Op\n+0000c160: 7469 6f6e 730a 0a33 2e31 2e35 2e32 20e2 tions..3.1.5.2 .\n+0000c170: 8098 5469 6b5a 2f50 4746 e280 9920 6f70 ..TikZ/PGF... op\n+0000c180: 7469 6f6e 730a 2e2e 2e2e 2e2e 2e2e 2e2e tions...........\n 0000c190: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000c1a0: 2e2e 2e2e 2e2e 0a0a e280 9854 696b 5a2f ...........TikZ/\n-0000c1b0: 5047 46e2 8099 206f 7074 696f 6e73 2061 PGF... options a\n-0000c1c0: 7265 2068 616e 646c 6564 206d 7563 6820 re handled much \n-0000c1d0: 6173 2066 6f72 20e2 8098 5053 5472 6963 as for ...PSTric\n-0000c1e0: 6b73 e280 992e 2020 5468 6f75 6768 0ae2 ks.... Though..\n-0000c1f0: 8098 5469 6b5a 2f50 4746 e280 9920 6f66 ..TikZ/PGF... of\n-0000c200: 7465 6e20 616c 6c6f 7773 2063 6f6c 6f72 ten allows color\n-0000c210: 7320 616e 6420 7374 796c 6573 2074 6f20 s and styles to \n-0000c220: 6265 2067 6976 656e 2077 6974 686f 7574 be given without\n-0000c230: 0a63 6f72 7265 7370 6f6e 6469 6e67 206b .corresponding k\n-0000c240: 6579 732c 2066 6f72 2065 7861 6d70 6c65 eys, for example\n-0000c250: 2c0a 2020 5c64 7261 775b 7265 642c 756c ,. \\draw[red,ul\n-0000c260: 7472 6120 7468 6963 6b5d 2830 2c30 292d tra thick](0,0)-\n-0000c270: 2d28 312c 3129 3b0a 7468 6973 2069 7320 -(1,1);.this is \n-0000c280: 6e6f 7420 7065 726d 6974 7465 6420 696e not permitted in\n-0000c290: 20e2 8098 736b 6574 6368 e280 992e 2020 ...sketch.... \n-0000c2a0: 546f 2064 7261 7720 6120 7265 642c 2075 To draw a red, u\n-0000c2b0: 6c74 7261 2d74 6869 636b 206c 696e 6520 ltra-thick line \n-0000c2c0: 696e 0ae2 8098 736b 6574 6368 e280 992c in....sketch...,\n-0000c2d0: 2074 6865 2066 6f72 6d20 6973 0a20 206c the form is. l\n-0000c2e0: 696e 655b 6472 6177 3d72 6564 2c73 7479 ine[draw=red,sty\n-0000c2f0: 6c65 3d75 6c74 7261 2074 6869 636b 5d28 le=ultra thick](\n-0000c300: 302c 3029 2831 2c31 290a 0a20 2020 4a75 0,0)(1,1).. Ju\n-0000c310: 7374 2061 7320 666f 7220 e280 9850 5354 st as for ...PST\n-0000c320: 7269 636b 73e2 8099 2c20 7768 656e 2061 ricks..., when a\n-0000c330: 20e2 8098 706f 6c79 676f 6ee2 8099 2068 ...polygon... h\n-0000c340: 6173 206f 7074 696f 6e73 2066 6f72 2062 as options for b\n-0000c350: 6f74 6820 6974 730a 6661 6365 2061 6e64 oth its.face and\n-0000c360: 2069 7473 2065 6467 6573 2c20 616e 6420 its edges, and \n-0000c370: 7468 6520 706f 6c79 676f 6e20 6973 2073 the polygon is s\n-0000c380: 706c 6974 2062 7920 7468 6520 6869 6464 plit by the hidd\n-0000c390: 656e 2073 7572 6661 6365 0a61 6c67 6f72 en surface.algor\n-0000c3a0: 6974 686d 2c20 e280 9873 6b65 7463 68e2 ithm, ...sketch.\n-0000c3b0: 8099 206d 7573 7420 636f 7079 2074 6865 .. must copy the\n-0000c3c0: 2065 6467 6520 6f70 7469 6f6e 7320 746f edge options to\n-0000c3d0: 20e2 8098 7073 6c69 6e65 e280 9973 2066 ...psline...s f\n-0000c3e0: 6f72 2074 6865 2065 6467 650a 7365 676d or the edge.segm\n-0000c3f0: 656e 7473 2061 6e64 2074 6865 2066 6163 ents and the fac\n-0000c400: 6520 6f70 7469 6f6e 7320 746f 20e2 8098 e options to ...\n-0000c410: 7073 706f 6c79 676f 6ee2 8099 732e 2020 pspolygon...s. \n-0000c420: e280 9854 696b 5a2f 5047 46e2 8099 206f ...TikZ/PGF... o\n-0000c430: 7074 696f 6e73 206b 6e6f 776e 0a74 6f20 ptions known.to \n-0000c440: e280 9873 6b65 7463 68e2 8099 2066 6f72 ...sketch... for\n-0000c450: 2070 7572 706f 7365 7320 6f66 2074 6869 purposes of thi\n-0000c460: 7320 7370 6c69 7474 696e 6720 6f70 6572 s splitting oper\n-0000c470: 6174 696f 6e20 696e 636c 7564 6520 e280 ation include ..\n-0000c480: 9861 7272 6f77 73e2 8099 2c0a e280 9863 .arrows...,....c\n-0000c490: 6170 e280 992c 20e2 8098 636f 6c6f 72e2 ap..., ...color.\n-0000c4a0: 8099 2c20 e280 9864 6173 6820 7061 7474 .., ...dash patt\n-0000c4b0: 6572 6ee2 8099 2c20 e280 9864 6173 6820 ern..., ...dash \n-0000c4c0: 7068 6173 65e2 8099 2c20 e280 9864 6f75 phase..., ...dou\n-0000c4d0: 626c 65e2 8099 2c20 e280 9864 6f75 626c ble..., ...doubl\n-0000c4e0: 650a 6469 7374 616e 6365 e280 992c 20e2 e.distance..., .\n-0000c4f0: 8098 6472 6177 e280 992c 20e2 8098 6472 ..draw..., ...dr\n-0000c500: 6177 206f 7061 6369 7479 e280 992c 20e2 aw opacity..., .\n-0000c510: 8098 6669 6c6c e280 992c 20e2 8098 6669 ..fill..., ...fi\n-0000c520: 6c6c 206f 7061 6369 7479 e280 992c 20e2 ll opacity..., .\n-0000c530: 8098 6a6f 696e e280 992c 20e2 8098 6c69 ..join..., ...li\n-0000c540: 6e65 0a77 6964 7468 e280 992c 20e2 8098 ne.width..., ...\n-0000c550: 6d69 7465 7220 6c69 6d69 74e2 8099 2c20 miter limit..., \n-0000c560: e280 9870 6174 7465 726e e280 992c 20e2 ...pattern..., .\n-0000c570: 8098 7061 7474 6572 6e20 636f 6c6f 72e2 ..pattern color.\n-0000c580: 8099 2c20 616e 6420 e280 9873 7479 6c65 .., and ...style\n-0000c590: e280 992e 0a0a 2020 2054 6865 20e2 8098 ...... The ...\n-0000c5a0: 7374 796c 65e2 8099 206f 7074 696f 6e20 style... option \n-0000c5b0: 6361 6e20 636f 6e74 6169 6e20 626f 7468 can contain both\n-0000c5c0: 2066 6163 6520 616e 6420 6564 6765 2069 face and edge i\n-0000c5d0: 6e66 6f72 6d61 7469 6f6e 2c20 736f 0ae2 nformation, so..\n-0000c5e0: 8098 736b 6574 6368 e280 9920 6d75 7374 ..sketch... must\n-0000c5f0: 2063 6865 636b 2074 6865 2073 7479 6c65 check the style\n-0000c600: 2076 616c 7565 2e20 2056 616c 7565 7320 value. Values \n-0000c610: 6b6e 6f77 6e20 746f 20e2 8098 736b 6574 known to ...sket\n-0000c620: 6368 e280 9920 696e 636c 7564 650a e280 ch... include...\n-0000c630: 9864 6173 6865 64e2 8099 2c20 e280 9864 .dashed..., ...d\n-0000c640: 656e 7365 6c79 2064 6173 6865 64e2 8099 ensely dashed...\n-0000c650: 2c20 e280 9864 656e 7365 6c79 2064 6f74 , ...densely dot\n-0000c660: 7465 64e2 8099 2c20 e280 9864 6f74 7465 ted..., ...dotte\n-0000c670: 64e2 8099 2c20 e280 9864 6f75 626c 65e2 d..., ...double.\n-0000c680: 8099 2c0a e280 986c 6f6f 7365 6c79 2064 ..,....loosely d\n-0000c690: 6173 6865 64e2 8099 2c20 e280 986c 6f6f ashed..., ...loo\n-0000c6a0: 7365 6c79 2064 6f74 7465 64e2 8099 2c20 sely dotted..., \n-0000c6b0: e280 986e 6561 726c 7920 6f70 6171 7565 ...nearly opaque\n-0000c6c0: e280 992c 20e2 8098 6e65 6172 6c79 0a74 ..., ...nearly.t\n-0000c6d0: 7261 6e73 7061 7265 6e74 e280 992c 20e2 ransparent..., .\n-0000c6e0: 8098 7365 6d69 7468 6963 6be2 8099 2c20 ..semithick..., \n-0000c6f0: e280 9873 656d 6974 7261 6e73 7061 7265 ...semitranspare\n-0000c700: 6e74 e280 992c 20e2 8098 736f 6c69 64e2 nt..., ...solid.\n-0000c710: 8099 2c20 e280 9874 6869 636b e280 992c .., ...thick...,\n-0000c720: 20e2 8098 7468 696e e280 992c 0ae2 8098 ...thin...,....\n-0000c730: 7472 616e 7370 6172 656e 74e2 8099 2c20 transparent..., \n-0000c740: e280 9875 6c74 7261 206e 6561 726c 7920 ...ultra nearly \n-0000c750: 7472 616e 7370 6172 656e 74e2 8099 2c20 transparent..., \n-0000c760: e280 9875 6c74 7261 2074 6869 636b e280 ...ultra thick..\n-0000c770: 992c 20e2 8098 756c 7472 6120 7468 696e ., ...ultra thin\n-0000c780: e280 992c 0ae2 8098 7665 7279 206e 6561 ...,....very nea\n-0000c790: 726c 7920 7472 616e 7370 6172 656e 74e2 rly transparent.\n-0000c7a0: 8099 2c20 e280 9876 6572 7920 7468 6963 .., ...very thic\n-0000c7b0: 6be2 8099 2c20 616e 6420 e280 9876 6572 k..., and ...ver\n-0000c7c0: 7920 7468 696e e280 992e 0a0a 1f0a 4669 y thin........Fi\n-0000c7d0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-0000c7e0: 2020 4e6f 6465 3a20 446f 7473 2069 6e20 Node: Dots in \n-0000c7f0: 5469 6b5a 2f50 4746 2c20 204e 6578 743a TikZ/PGF, Next:\n-0000c800: 2054 696b 5a2f 5047 4620 7573 6572 2d64 TikZ/PGF user-d\n-0000c810: 6566 696e 6564 2073 7479 6c65 732c 2020 efined styles, \n-0000c820: 5072 6576 3a20 5469 6b5a 2f50 4746 206f Prev: TikZ/PGF o\n-0000c830: 7074 696f 6e73 2c20 2055 703a 204f 7074 ptions, Up: Opt\n-0000c840: 696f 6e73 0a0a 332e 312e 352e 3320 446f ions..3.1.5.3 Do\n-0000c850: 7473 2069 6e20 e280 9854 696b 5a2f 5047 ts in ...TikZ/PG\n-0000c860: 46e2 8099 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e F...............\n-0000c870: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................\n-0000c880: 0ae2 8098 5469 6b5a 2f50 4746 e280 9920 ....TikZ/PGF... \n-0000c890: 646f 6573 206e 6f74 2068 6176 6520 6120 does not have a \n-0000c8a0: e280 9864 6f74 73e2 8099 2063 6f6d 6d61 ...dots... comma\n-0000c8b0: 6e64 2061 7320 646f 6573 2050 5354 7269 nd as does PSTri\n-0000c8c0: 636b 732e 2020 496e 7374 6561 642c 0ae2 cks. Instead,..\n-0000c8d0: 8098 536b 6574 6368 e280 9920 656d 6974 ..Sketch... emit\n-0000c8e0: 7320 646f 7473 2061 7320 e280 9866 696c s dots as ...fil\n-0000c8f0: 6c64 7261 77e2 8099 2063 6972 636c 6573 ldraw... circles\n-0000c900: 2e20 2054 6865 2064 6961 6d65 7465 7220 . The diameter \n-0000c910: 6d61 7920 6265 2073 6574 0a75 7369 6e67 may be set.using\n-0000c920: 2074 6865 206f 7074 696f 6e20 e280 9864 the option ...d\n-0000c930: 6f74 7369 7a65 e280 9920 626f 7272 6f77 otsize... borrow\n-0000c940: 6564 2066 726f 6d20 5053 5472 6963 6b73 ed from PSTricks\n-0000c950: 2e20 2054 6865 20e2 8098 646f 7473 697a . The ...dotsiz\n-0000c960: 65e2 8099 206f 7074 696f 6e0a 7769 6c6c e... option.will\n-0000c970: 2062 6520 7265 6d6f 7665 6420 6672 6f6d be removed from\n-0000c980: 2074 6865 206f 7074 696f 6e20 6c69 7374 the option list\n-0000c990: 2069 6e20 7468 6520 6f75 7470 7574 20e2 in the output .\n-0000c9a0: 8098 6669 6c6c 6472 6177 e280 9920 636f ..filldraw... co\n-0000c9b0: 6d6d 616e 642e 0a4f 7468 6572 206f 7074 mmand..Other opt\n-0000c9c0: 696f 6e73 2077 6f72 6b20 696e 2074 6865 ions work in the\n-0000c9d0: 2065 7870 6563 7465 6420 7761 792e 2020 expected way. \n-0000c9e0: 466f 7220 6578 616d 706c 652c 20e2 8098 For example, ...\n-0000c9f0: 6669 6c6c e280 9920 7365 7473 2066 696c fill... sets fil\n-0000ca00: 6c0a 636f 6c6f 7220 616e 6420 e280 9863 l.color and ...c\n-0000ca10: 6f6c 6f72 e280 9920 7365 7473 206c 696e olor... sets lin\n-0000ca20: 6520 636f 6c6f 7220 6f66 2074 6865 2063 e color of the c\n-0000ca30: 6972 636c 6573 2e0a 0a1f 0a46 696c 653a ircles.....File:\n-0000ca40: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-0000ca50: 6f64 653a 2054 696b 5a2f 5047 4620 7573 ode: TikZ/PGF us\n-0000ca60: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style\n-0000ca70: 732c 2020 4e65 7874 3a20 5472 616e 7370 s, Next: Transp\n-0000ca80: 6172 656e 6379 2c20 2050 7265 763a 2044 arency, Prev: D\n-0000ca90: 6f74 7320 696e 2054 696b 5a2f 5047 462c ots in TikZ/PGF,\n-0000caa0: 2020 5570 3a20 4f70 7469 6f6e 730a 0a33 Up: Options..3\n-0000cab0: 2e31 2e35 2e34 20e2 8098 5469 6b5a 2f50 .1.5.4 ...TikZ/P\n-0000cac0: 4746 e280 9920 7573 6572 2d64 6566 696e GF... user-defin\n-0000cad0: 6564 2073 7479 6c65 730a 2e2e 2e2e 2e2e ed styles.......\n+0000c1a0: 0a0a e280 9854 696b 5a2f 5047 46e2 8099 .....TikZ/PGF...\n+0000c1b0: 206f 7074 696f 6e73 2061 7265 2068 616e options are han\n+0000c1c0: 646c 6564 206d 7563 6820 6173 2066 6f72 dled much as for\n+0000c1d0: 20e2 8098 5053 5472 6963 6b73 e280 992e ...PSTricks....\n+0000c1e0: 2020 5468 6f75 6768 0ae2 8098 5469 6b5a Though....TikZ\n+0000c1f0: 2f50 4746 e280 9920 6f66 7465 6e20 616c /PGF... often al\n+0000c200: 6c6f 7773 2063 6f6c 6f72 7320 616e 6420 lows colors and \n+0000c210: 7374 796c 6573 2074 6f20 6265 2067 6976 styles to be giv\n+0000c220: 656e 2077 6974 686f 7574 0a63 6f72 7265 en without.corre\n+0000c230: 7370 6f6e 6469 6e67 206b 6579 732c 2066 sponding keys, f\n+0000c240: 6f72 2065 7861 6d70 6c65 2c0a 2020 5c64 or example,. \\d\n+0000c250: 7261 775b 7265 642c 756c 7472 6120 7468 raw[red,ultra th\n+0000c260: 6963 6b5d 2830 2c30 292d 2d28 312c 3129 ick](0,0)--(1,1)\n+0000c270: 3b0a 7468 6973 2069 7320 6e6f 7420 7065 ;.this is not pe\n+0000c280: 726d 6974 7465 6420 696e 20e2 8098 736b rmitted in ...sk\n+0000c290: 6574 6368 e280 992e 2020 546f 2064 7261 etch.... To dra\n+0000c2a0: 7720 6120 7265 642c 2075 6c74 7261 2d74 w a red, ultra-t\n+0000c2b0: 6869 636b 206c 696e 6520 696e 0ae2 8098 hick line in....\n+0000c2c0: 736b 6574 6368 e280 992c 2074 6865 2066 sketch..., the f\n+0000c2d0: 6f72 6d20 6973 0a20 206c 696e 655b 6472 orm is. line[dr\n+0000c2e0: 6177 3d72 6564 2c73 7479 6c65 3d75 6c74 aw=red,style=ult\n+0000c2f0: 7261 2074 6869 636b 5d28 302c 3029 2831 ra thick](0,0)(1\n+0000c300: 2c31 290a 0a20 2020 4a75 7374 2061 7320 ,1).. Just as \n+0000c310: 666f 7220 e280 9850 5354 7269 636b 73e2 for ...PSTricks.\n+0000c320: 8099 2c20 7768 656e 2061 20e2 8098 706f .., when a ...po\n+0000c330: 6c79 676f 6ee2 8099 2068 6173 206f 7074 lygon... has opt\n+0000c340: 696f 6e73 2066 6f72 2062 6f74 6820 6974 ions for both it\n+0000c350: 730a 6661 6365 2061 6e64 2069 7473 2065 s.face and its e\n+0000c360: 6467 6573 2c20 616e 6420 7468 6520 706f dges, and the po\n+0000c370: 6c79 676f 6e20 6973 2073 706c 6974 2062 lygon is split b\n+0000c380: 7920 7468 6520 6869 6464 656e 2073 7572 y the hidden sur\n+0000c390: 6661 6365 0a61 6c67 6f72 6974 686d 2c20 face.algorithm, \n+0000c3a0: e280 9873 6b65 7463 68e2 8099 206d 7573 ...sketch... mus\n+0000c3b0: 7420 636f 7079 2074 6865 2065 6467 6520 t copy the edge \n+0000c3c0: 6f70 7469 6f6e 7320 746f 20e2 8098 7073 options to ...ps\n+0000c3d0: 6c69 6e65 e280 9973 2066 6f72 2074 6865 line...s for the\n+0000c3e0: 2065 6467 650a 7365 676d 656e 7473 2061 edge.segments a\n+0000c3f0: 6e64 2074 6865 2066 6163 6520 6f70 7469 nd the face opti\n+0000c400: 6f6e 7320 746f 20e2 8098 7073 706f 6c79 ons to ...pspoly\n+0000c410: 676f 6ee2 8099 732e 2020 e280 9854 696b gon...s. ...Tik\n+0000c420: 5a2f 5047 46e2 8099 206f 7074 696f 6e73 Z/PGF... options\n+0000c430: 206b 6e6f 776e 0a74 6f20 e280 9873 6b65 known.to ...ske\n+0000c440: 7463 68e2 8099 2066 6f72 2070 7572 706f tch... for purpo\n+0000c450: 7365 7320 6f66 2074 6869 7320 7370 6c69 ses of this spli\n+0000c460: 7474 696e 6720 6f70 6572 6174 696f 6e20 tting operation \n+0000c470: 696e 636c 7564 6520 e280 9861 7272 6f77 include ...arrow\n+0000c480: 73e2 8099 2c0a e280 9863 6170 e280 992c s...,....cap...,\n+0000c490: 20e2 8098 636f 6c6f 72e2 8099 2c20 e280 ...color..., ..\n+0000c4a0: 9864 6173 6820 7061 7474 6572 6ee2 8099 .dash pattern...\n+0000c4b0: 2c20 e280 9864 6173 6820 7068 6173 65e2 , ...dash phase.\n+0000c4c0: 8099 2c20 e280 9864 6f75 626c 65e2 8099 .., ...double...\n+0000c4d0: 2c20 e280 9864 6f75 626c 650a 6469 7374 , ...double.dist\n+0000c4e0: 616e 6365 e280 992c 20e2 8098 6472 6177 ance..., ...draw\n+0000c4f0: e280 992c 20e2 8098 6472 6177 206f 7061 ..., ...draw opa\n+0000c500: 6369 7479 e280 992c 20e2 8098 6669 6c6c city..., ...fill\n+0000c510: e280 992c 20e2 8098 6669 6c6c 206f 7061 ..., ...fill opa\n+0000c520: 6369 7479 e280 992c 20e2 8098 6a6f 696e city..., ...join\n+0000c530: e280 992c 20e2 8098 6c69 6e65 0a77 6964 ..., ...line.wid\n+0000c540: 7468 e280 992c 20e2 8098 6d69 7465 7220 th..., ...miter \n+0000c550: 6c69 6d69 74e2 8099 2c20 e280 9870 6174 limit..., ...pat\n+0000c560: 7465 726e e280 992c 20e2 8098 7061 7474 tern..., ...patt\n+0000c570: 6572 6e20 636f 6c6f 72e2 8099 2c20 616e ern color..., an\n+0000c580: 6420 e280 9873 7479 6c65 e280 992e 0a0a d ...style......\n+0000c590: 2020 2054 6865 20e2 8098 7374 796c 65e2 The ...style.\n+0000c5a0: 8099 206f 7074 696f 6e20 6361 6e20 636f .. option can co\n+0000c5b0: 6e74 6169 6e20 626f 7468 2066 6163 6520 ntain both face \n+0000c5c0: 616e 6420 6564 6765 2069 6e66 6f72 6d61 and edge informa\n+0000c5d0: 7469 6f6e 2c20 736f 0ae2 8098 736b 6574 tion, so....sket\n+0000c5e0: 6368 e280 9920 6d75 7374 2063 6865 636b ch... must check\n+0000c5f0: 2074 6865 2073 7479 6c65 2076 616c 7565 the style value\n+0000c600: 2e20 2056 616c 7565 7320 6b6e 6f77 6e20 . Values known \n+0000c610: 746f 20e2 8098 736b 6574 6368 e280 9920 to ...sketch... \n+0000c620: 696e 636c 7564 650a e280 9864 6173 6865 include....dashe\n+0000c630: 64e2 8099 2c20 e280 9864 656e 7365 6c79 d..., ...densely\n+0000c640: 2064 6173 6865 64e2 8099 2c20 e280 9864 dashed..., ...d\n+0000c650: 656e 7365 6c79 2064 6f74 7465 64e2 8099 ensely dotted...\n+0000c660: 2c20 e280 9864 6f74 7465 64e2 8099 2c20 , ...dotted..., \n+0000c670: e280 9864 6f75 626c 65e2 8099 2c0a e280 ...double...,...\n+0000c680: 986c 6f6f 7365 6c79 2064 6173 6865 64e2 .loosely dashed.\n+0000c690: 8099 2c20 e280 986c 6f6f 7365 6c79 2064 .., ...loosely d\n+0000c6a0: 6f74 7465 64e2 8099 2c20 e280 986e 6561 otted..., ...nea\n+0000c6b0: 726c 7920 6f70 6171 7565 e280 992c 20e2 rly opaque..., .\n+0000c6c0: 8098 6e65 6172 6c79 0a74 7261 6e73 7061 ..nearly.transpa\n+0000c6d0: 7265 6e74 e280 992c 20e2 8098 7365 6d69 rent..., ...semi\n+0000c6e0: 7468 6963 6be2 8099 2c20 e280 9873 656d thick..., ...sem\n+0000c6f0: 6974 7261 6e73 7061 7265 6e74 e280 992c itransparent...,\n+0000c700: 20e2 8098 736f 6c69 64e2 8099 2c20 e280 ...solid..., ..\n+0000c710: 9874 6869 636b e280 992c 20e2 8098 7468 .thick..., ...th\n+0000c720: 696e e280 992c 0ae2 8098 7472 616e 7370 in...,....transp\n+0000c730: 6172 656e 74e2 8099 2c20 e280 9875 6c74 arent..., ...ult\n+0000c740: 7261 206e 6561 726c 7920 7472 616e 7370 ra nearly transp\n+0000c750: 6172 656e 74e2 8099 2c20 e280 9875 6c74 arent..., ...ult\n+0000c760: 7261 2074 6869 636b e280 992c 20e2 8098 ra thick..., ...\n+0000c770: 756c 7472 6120 7468 696e e280 992c 0ae2 ultra thin...,..\n+0000c780: 8098 7665 7279 206e 6561 726c 7920 7472 ..very nearly tr\n+0000c790: 616e 7370 6172 656e 74e2 8099 2c20 e280 ansparent..., ..\n+0000c7a0: 9876 6572 7920 7468 6963 6be2 8099 2c20 .very thick..., \n+0000c7b0: 616e 6420 e280 9876 6572 7920 7468 696e and ...very thin\n+0000c7c0: e280 992e 0a0a 1f0a 4669 6c65 3a20 736b ........File: sk\n+0000c7d0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+0000c7e0: 3a20 446f 7473 2069 6e20 5469 6b5a 2f50 : Dots in TikZ/P\n+0000c7f0: 4746 2c20 204e 6578 743a 2054 696b 5a2f GF, Next: TikZ/\n+0000c800: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined\n+0000c810: 2073 7479 6c65 732c 2020 5072 6576 3a20 styles, Prev: \n+0000c820: 5469 6b5a 2f50 4746 206f 7074 696f 6e73 TikZ/PGF options\n+0000c830: 2c20 2055 703a 204f 7074 696f 6e73 0a0a , Up: Options..\n+0000c840: 332e 312e 352e 3320 446f 7473 2069 6e20 3.1.5.3 Dots in \n+0000c850: e280 9854 696b 5a2f 5047 46e2 8099 0a2e ...TikZ/PGF.....\n+0000c860: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+0000c870: 2e2e 2e2e 2e2e 2e2e 2e0a 0ae2 8098 5469 ..............Ti\n+0000c880: 6b5a 2f50 4746 e280 9920 646f 6573 206e kZ/PGF... does n\n+0000c890: 6f74 2068 6176 6520 6120 e280 9864 6f74 ot have a ...dot\n+0000c8a0: 73e2 8099 2063 6f6d 6d61 6e64 2061 7320 s... command as \n+0000c8b0: 646f 6573 2050 5354 7269 636b 732e 2020 does PSTricks. \n+0000c8c0: 496e 7374 6561 642c 0ae2 8098 536b 6574 Instead,....Sket\n+0000c8d0: 6368 e280 9920 656d 6974 7320 646f 7473 ch... emits dots\n+0000c8e0: 2061 7320 e280 9866 696c 6c64 7261 77e2 as ...filldraw.\n+0000c8f0: 8099 2063 6972 636c 6573 2e20 2054 6865 .. circles. The\n+0000c900: 2064 6961 6d65 7465 7220 6d61 7920 6265 diameter may be\n+0000c910: 2073 6574 0a75 7369 6e67 2074 6865 206f set.using the o\n+0000c920: 7074 696f 6e20 e280 9864 6f74 7369 7a65 ption ...dotsize\n+0000c930: e280 9920 626f 7272 6f77 6564 2066 726f ... borrowed fro\n+0000c940: 6d20 5053 5472 6963 6b73 2e20 2054 6865 m PSTricks. The\n+0000c950: 20e2 8098 646f 7473 697a 65e2 8099 206f ...dotsize... o\n+0000c960: 7074 696f 6e0a 7769 6c6c 2062 6520 7265 ption.will be re\n+0000c970: 6d6f 7665 6420 6672 6f6d 2074 6865 206f moved from the o\n+0000c980: 7074 696f 6e20 6c69 7374 2069 6e20 7468 ption list in th\n+0000c990: 6520 6f75 7470 7574 20e2 8098 6669 6c6c e output ...fill\n+0000c9a0: 6472 6177 e280 9920 636f 6d6d 616e 642e draw... command.\n+0000c9b0: 0a4f 7468 6572 206f 7074 696f 6e73 2077 .Other options w\n+0000c9c0: 6f72 6b20 696e 2074 6865 2065 7870 6563 ork in the expec\n+0000c9d0: 7465 6420 7761 792e 2020 466f 7220 6578 ted way. For ex\n+0000c9e0: 616d 706c 652c 20e2 8098 6669 6c6c e280 ample, ...fill..\n+0000c9f0: 9920 7365 7473 2066 696c 6c0a 636f 6c6f . sets fill.colo\n+0000ca00: 7220 616e 6420 e280 9863 6f6c 6f72 e280 r and ...color..\n+0000ca10: 9920 7365 7473 206c 696e 6520 636f 6c6f . sets line colo\n+0000ca20: 7220 6f66 2074 6865 2063 6972 636c 6573 r of the circles\n+0000ca30: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+0000ca40: 682e 696e 666f 2c20 204e 6f64 653a 2054 h.info, Node: T\n+0000ca50: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def\n+0000ca60: 696e 6564 2073 7479 6c65 732c 2020 4e65 ined styles, Ne\n+0000ca70: 7874 3a20 5472 616e 7370 6172 656e 6379 xt: Transparency\n+0000ca80: 2c20 2050 7265 763a 2044 6f74 7320 696e , Prev: Dots in\n+0000ca90: 2054 696b 5a2f 5047 462c 2020 5570 3a20 TikZ/PGF, Up: \n+0000caa0: 4f70 7469 6f6e 730a 0a33 2e31 2e35 2e34 Options..3.1.5.4\n+0000cab0: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... \n+0000cac0: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty\n+0000cad0: 6c65 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e les.............\n 0000cae0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000caf0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000cb00: 0a0a e280 9854 696b 5a2f 5047 46e2 8099 .....TikZ/PGF...\n-0000cb10: 2061 6c6c 6f77 7320 6e61 6d65 6420 7374 allows named st\n-0000cb20: 796c 6573 2064 6566 696e 6564 2062 7920 yles defined by \n-0000cb30: 7468 6520 7573 6572 2c20 666f 7220 6578 the user, for ex\n-0000cb40: 616d 706c 650a 2020 5c74 696b 7a73 7479 ample. \\tikzsty\n-0000cb50: 6c65 7b6d 7970 6f6c 7967 6f6e 7374 796c le{mypolygonstyl\n-0000cb60: 657d 203d 205b 6669 6c6c 3d62 6c75 6521 e} = [fill=blue!\n-0000cb70: 3230 2c66 696c 6c20 6f70 6163 6974 793d 20,fill opacity=\n-0000cb80: 302e 385d 2020 0a20 205c 7469 6b7a 7374 0.8] . \\tikzst\n-0000cb90: 796c 657b 6d79 6c69 6e65 7374 796c 657d yle{mylinestyle}\n-0000cba0: 203d 205b 7265 6421 3230 2c64 6173 6865 = [red!20,dashe\n-0000cbb0: 645d 0a53 696e 6365 20e2 8098 736b 6574 d].Since ...sket\n-0000cbc0: 6368 e280 9920 6861 7320 6e6f 2069 6e66 ch... has no inf\n-0000cbd0: 6f72 6d61 7469 6f6e 206f 6e20 7468 6520 ormation on the \n-0000cbe0: 636f 6e74 656e 7473 206f 6620 7375 6368 contents of such\n-0000cbf0: 2073 7479 6c65 732c 2069 740a 6f6d 6974 styles, it.omit\n-0000cc00: 7320 7468 656d 2065 6e74 6972 656c 7920 s them entirely \n-0000cc10: 6672 6f6d 206c 696e 6573 2c20 706f 6c79 from lines, poly\n-0000cc20: 676f 6e73 2c20 616e 6420 7468 6569 7220 gons, and their \n-0000cc30: 6564 6765 7320 6475 7269 6e67 206f 7074 edges during opt\n-0000cc40: 696f 6e0a 7370 6c69 7474 696e 672e 2020 ion.splitting. \n-0000cc50: 466f 7220 6578 616d 706c 652c 0a20 2070 For example,. p\n-0000cc60: 6f6c 7967 6f6e 5b73 7479 6c65 3d6d 7970 olygon[style=myp\n-0000cc70: 6f6c 7967 6f6e 7374 796c 652c 7374 796c olygonstyle,styl\n-0000cc80: 653d 7468 6963 6b5d 2830 2c30 2c31 2928 e=thick](0,0,1)(\n-0000cc90: 312c 302c 3029 2830 2c31 2c30 290a 2020 1,0,0)(0,1,0). \n-0000cca0: 6c69 6e65 5b73 7479 6c65 3d6d 796c 696e line[style=mylin\n-0000ccb0: 6573 7479 6c65 5d28 2d31 2c2d 312c 2d31 estyle](-1,-1,-1\n-0000ccc0: 2928 322c 322c 3229 0a70 726f 6475 6365 )(2,2,2).produce\n-0000ccd0: 7320 7468 6520 e280 9854 696b 5ae2 8099 s the ...TikZ...\n-0000cce0: 206f 7574 7075 740a 2020 5c64 7261 7728 output. \\draw(\n-0000ccf0: 2d31 2c2d 3129 2d2d 282e 3333 332c 2e33 -1,-1)--(.333,.3\n-0000cd00: 3333 293b 0a20 205c 6669 6c6c 6472 6177 33);. \\filldraw\n-0000cd10: 5b74 6869 636b 2c66 696c 6c3d 7768 6974 [thick,fill=whit\n-0000cd20: 655d 2830 2c30 292d 2d28 312c 3029 2d2d e](0,0)--(1,0)--\n-0000cd30: 2830 2c31 292d 2d63 7963 6c65 3b0a 2020 (0,1)--cycle;. \n-0000cd40: 5c64 7261 7728 2e33 3333 2c2e 3333 3329 \\draw(.333,.333)\n-0000cd50: 2d2d 2832 2c32 293b 0a4e 6f74 6520 7468 --(2,2);.Note th\n-0000cd60: 6174 2074 6865 2075 7365 722d 6465 6669 at the user-defi\n-0000cd70: 6e65 6420 7374 796c 6573 2061 7265 206e ned styles are n\n-0000cd80: 6f74 2070 7265 7365 6e74 2e20 2053 6b65 ot present. Ske\n-0000cd90: 7463 6820 616c 736f 2069 7373 7565 730a tch also issues.\n-0000cda0: 7761 726e 696e 6773 3a0a 2020 7761 726e warnings:. warn\n-0000cdb0: 696e 672c 2075 6e6b 6e6f 776e 2070 6f6c ing, unknown pol\n-0000cdc0: 7967 6f6e 206f 7074 696f 6e20 7374 796c ygon option styl\n-0000cdd0: 653d 6d79 706f 6c79 676f 6e73 7479 6c65 e=mypolygonstyle\n-0000cde0: 2077 696c 6c20 6265 2069 676e 6f72 6564 will be ignored\n-0000cdf0: 0a20 2077 6172 6e69 6e67 2c20 756e 6b6e . warning, unkn\n-0000ce00: 6f77 6e20 6c69 6e65 206f 7074 696f 6e20 own line option \n-0000ce10: 7374 796c 653d 6d79 6c69 6e65 7374 796c style=mylinestyl\n-0000ce20: 6520 7769 6c6c 2062 6520 6967 6e6f 7265 e will be ignore\n-0000ce30: 640a 0a20 2020 5468 6520 7265 6d65 6479 d.. The remedy\n-0000ce40: 2069 7320 746f 2073 7461 7465 2065 7870 is to state exp\n-0000ce50: 6c69 6369 746c 7920 7768 6574 6865 7220 licitly whether \n-0000ce60: 6120 7573 6572 2d64 6566 696e 6564 2073 a user-defined s\n-0000ce70: 7479 6c65 2073 686f 756c 640a 6265 2061 tyle should.be a\n-0000ce80: 7474 6368 6564 2074 6f20 706f 6c79 676f ttched to polygo\n-0000ce90: 6e73 206f 7220 6c69 6e65 7320 696e 2074 ns or lines in t\n-0000cea0: 6865 20e2 8098 5469 6b5a e280 9920 6f75 he ...TikZ... ou\n-0000ceb0: 7470 7574 2075 7369 6e67 0a5f 7073 6575 tput using._pseu\n-0000cec0: 646f 2d6f 7074 696f 6e73 5f20 e280 9866 do-options_ ...f\n-0000ced0: 696c 6c20 7374 796c 65e2 8099 2061 6e64 ill style... and\n-0000cee0: 20e2 8098 6c69 6e65 2073 7479 6c65 e280 ...line style..\n-0000cef0: 992c 0a20 2070 6f6c 7967 6f6e 5b66 696c .,. polygon[fil\n-0000cf00: 6c20 7374 796c 653d 6d79 706f 6c79 676f l style=mypolygo\n-0000cf10: 6e73 7479 6c65 2c73 7479 6c65 3d74 6869 nstyle,style=thi\n-0000cf20: 636b 5d28 302c 302c 3129 2831 2c30 2c30 ck](0,0,1)(1,0,0\n-0000cf30: 2928 302c 312c 3029 0a20 206c 696e 655b )(0,1,0). line[\n-0000cf40: 6c69 6e65 2073 7479 6c65 3d6d 796c 696e line style=mylin\n-0000cf50: 6573 7479 6c65 5d28 2d31 2c2d 312c 2d31 estyle](-1,-1,-1\n-0000cf60: 2928 322c 322c 3229 0a4e 6f77 2c20 7468 )(2,2,2).Now, th\n-0000cf70: 6520 6f75 7470 7574 2069 730a 2020 5c64 e output is. \\d\n-0000cf80: 7261 775b 6d79 6c69 6e65 7374 796c 655d raw[mylinestyle]\n-0000cf90: 282d 312c 2d31 292d 2d28 2e33 3333 2c2e (-1,-1)--(.333,.\n-0000cfa0: 3333 3329 3b0a 2020 5c66 696c 6c64 7261 333);. \\filldra\n-0000cfb0: 775b 6d79 706f 6c79 676f 6e73 7479 6c65 w[mypolygonstyle\n-0000cfc0: 2c74 6869 636b 5d28 302c 3029 2d2d 2831 ,thick](0,0)--(1\n-0000cfd0: 2c30 292d 2d28 302c 3129 2d2d 6379 636c ,0)--(0,1)--cycl\n-0000cfe0: 653b 0a20 205c 6472 6177 5b6d 796c 696e e;. \\draw[mylin\n-0000cff0: 6573 7479 6c65 5d28 2e33 3333 2c2e 3333 estyle](.333,.33\n-0000d000: 3329 2d2d 2832 2c32 293b 0a0a 2020 2041 3)--(2,2);.. A\n-0000d010: 2075 7365 6675 6c20 7465 6368 6e69 7175 useful techniqu\n-0000d020: 6520 6973 2074 6f20 696e 636c 7564 6520 e is to include \n-0000d030: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty\n-0000d040: 6c65 2064 6566 696e 6974 696f 6e73 2069 le definitions i\n-0000d050: 6e0a e280 9873 6b65 7463 68e2 8099 2063 n....sketch... c\n-0000d060: 6f64 6520 6173 20e2 8098 7370 6563 6961 ode as ...specia\n-0000d070: 6ce2 8099 7320 7769 7468 206f 7074 696f l...s with optio\n-0000d080: 6e20 e280 985b 6c61 793d 756e 6465 725d n ...[lay=under]\n-0000d090: e280 9920 746f 2065 6e73 7572 6520 7468 ... to ensure th\n-0000d0a0: 6174 2074 6865 0a73 7479 6c65 7320 6172 at the.styles ar\n-0000d0b0: 6520 656d 6974 7465 6420 6669 7273 7420 e emitted first \n-0000d0c0: 696e 2074 6865 206f 7574 7075 742c 2062 in the output, b\n-0000d0d0: 6566 6f72 6520 616e 7920 7573 6573 206f efore any uses o\n-0000d0e0: 6620 7468 6520 7374 796c 650a 6e61 6d65 f the style.name\n-0000d0f0: 732e 2020 2831 2920 2046 6f72 2065 7861 s. (1) For exa\n-0000d100: 6d70 6c65 2c0a 2020 7370 6563 6961 6c7c mple,. special|\n-0000d110: 5c74 696b 7a73 7479 6c65 7b6d 7970 6f6c \\tikzstyle{mypol\n-0000d120: 7967 6f6e 7374 796c 657d 203d 205b 6669 ygonstyle} = [fi\n-0000d130: 6c6c 3d62 6c75 6521 3230 2c66 696c 6c20 ll=blue!20,fill \n-0000d140: 6f70 6163 6974 793d 302e 385d 7c5b 6c61 opacity=0.8]|[la\n-0000d150: 793d 756e 6465 725d 0a20 2073 7065 6369 y=under]. speci\n-0000d160: 616c 7c5c 7469 6b7a 7374 796c 657b 6d79 al|\\tikzstyle{my\n-0000d170: 6c69 6e65 7374 796c 657d 203d 205b 7265 linestyle} = [re\n-0000d180: 6421 3230 2c64 6173 6865 645d 7c5b 6c61 d!20,dashed]|[la\n-0000d190: 793d 756e 6465 725d 0a54 6865 2061 7574 y=under].The aut\n-0000d1a0: 686f 7220 6973 2072 6573 706f 6e73 6962 hor is responsib\n-0000d1b0: 6c65 2066 6f72 2075 7369 6e67 2074 6865 le for using the\n-0000d1c0: 206b 6579 2c20 e280 986c 696e 6520 7374 key, ...line st\n-0000d1d0: 796c 65e2 8099 206f 7220 e280 9866 696c yle... or ...fil\n-0000d1e0: 6c0a 7374 796c 65e2 8099 2c20 7468 6174 l.style..., that\n-0000d1f0: 206d 6174 6368 6573 2074 6865 2063 6f6e matches the con\n-0000d200: 7465 6e74 206f 6620 7468 6520 7374 796c tent of the styl\n-0000d210: 6520 6465 6669 6e69 7469 6f6e 2e0a 0a20 e definition... \n-0000d220: 2020 2d2d 2d2d 2d2d 2d2d 2d2d 2046 6f6f ---------- Foo\n-0000d230: 746e 6f74 6573 202d 2d2d 2d2d 2d2d 2d2d tnotes ---------\n-0000d240: 2d0a 0a20 2020 2831 2920 5468 6973 2063 -.. (1) This c\n-0000d250: 6c65 7665 7220 7472 6963 6b20 6973 2064 lever trick is d\n-0000d260: 7565 2074 6f20 4b6a 656c 6c20 4d61 676e ue to Kjell Magn\n-0000d270: 6520 4661 7573 6b65 2e0a 0a1f 0a46 696c e Fauske.....Fil\n-0000d280: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-0000d290: 204e 6f64 653a 2054 7261 6e73 7061 7265 Node: Transpare\n-0000d2a0: 6e63 792c 2020 4e65 7874 3a20 496e 7465 ncy, Next: Inte\n-0000d2b0: 726e 616c 206f 7074 696f 6e73 2c20 2050 rnal options, P\n-0000d2c0: 7265 763a 2054 696b 5a2f 5047 4620 7573 rev: TikZ/PGF us\n-0000d2d0: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style\n-0000d2e0: 732c 2020 5570 3a20 4f70 7469 6f6e 730a s, Up: Options.\n-0000d2f0: 0a33 2e31 2e35 2e35 2054 7261 6e73 7061 .3.1.5.5 Transpa\n-0000d300: 7265 6e63 790a 2e2e 2e2e 2e2e 2e2e 2e2e rency...........\n-0000d310: 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 426f 7468 ............Both\n-0000d320: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... \n-0000d330: 616e 6420 e280 9854 696b 5a2f 5047 46e2 and ...TikZ/PGF.\n-0000d340: 8099 2073 7570 706f 7274 2070 6f6c 7967 .. support polyg\n-0000d350: 6f6e 206f 7074 696f 6e73 2074 6861 7420 on options that \n-0000d360: 6861 7665 2074 6865 0a65 6666 6563 7420 have the.effect \n-0000d370: 6f66 206d 616b 696e 6720 7468 6520 706f of making the po\n-0000d380: 6c79 676f 6e20 6170 7065 6172 2074 7261 lygon appear tra\n-0000d390: 6e73 7061 7265 6e74 2e20 2046 6f72 20e2 nsparent. For .\n-0000d3a0: 8098 5053 5472 6963 6b73 e280 992c 0a6b ..PSTricks...,.k\n-0000d3b0: 6579 776f 7264 20e2 8098 7472 616e 7370 eyword ...transp\n-0000d3c0: 616c 7068 61e2 8099 2077 6173 2075 7365 alpha... was use\n-0000d3d0: 6420 6475 7269 6e67 2069 6e69 7469 616c d during initial\n-0000d3e0: 2064 6576 656c 6f70 6d65 6e74 206f 660a development of.\n-0000d3f0: 7472 616e 7370 6172 656e 6379 2066 6561 transparency fea\n-0000d400: 7475 7265 732c 2061 6e64 20e2 8098 6f70 tures, and ...op\n-0000d410: 6163 6974 79e2 8099 2077 6173 2061 646f acity... was ado\n-0000d420: 7074 6564 206c 6174 6572 2e20 20e2 8098 pted later. ...\n-0000d430: 536b 6574 6368 e280 9920 686f 6e6f 7273 Sketch... honors\n-0000d440: 0a62 6f74 682e 2020 e280 9854 696b 5a2f .both. ...TikZ/\n-0000d450: 5047 46e2 8099 2075 7365 7320 e280 986f PGF... uses ...o\n-0000d460: 7061 6369 7479 e280 9920 6f6e 6c79 2e20 pacity... only. \n-0000d470: 2057 6865 6e20 7472 616e 7370 6172 656e When transparen\n-0000d480: 7420 706f 6c79 676f 6e73 2061 7265 2069 t polygons are i\n-0000d490: 6e0a 7468 6520 666f 7265 6772 6f75 6e64 n.the foreground\n-0000d4a0: 2c20 6f62 6a65 6374 7320 6265 6869 6e64 , objects behind\n-0000d4b0: 2074 6865 6d20 2864 7261 776e 2065 6172 them (drawn ear\n-0000d4c0: 6c69 6572 2920 6172 6520 7669 7369 626c lier) are visibl\n-0000d4d0: 6520 7769 7468 0a63 6f6c 6f72 2073 7562 e with.color sub\n-0000d4e0: 6475 6564 2061 6e64 2074 696e 7465 642e dued and tinted.\n-0000d4f0: 2020 5468 6520 6869 6464 656e 2073 7572 The hidden sur\n-0000d500: 6661 6365 2061 6c67 6f72 6974 686d 206f face algorithm o\n-0000d510: 6620 e280 9873 6b65 7463 68e2 8099 0a77 f ...sketch....w\n-0000d520: 6f72 6b73 2077 656c 6c20 7769 7468 2073 orks well with s\n-0000d530: 7563 6820 7472 616e 7370 6172 656e 7420 uch transparent \n-0000d540: 706f 6c79 676f 6e73 2e0a 0a20 2020 4e6f polygons... No\n-0000d550: 7465 2074 6861 7420 6375 6c6c 3d66 616c te that cull=fal\n-0000d560: 7365 206d 7573 7420 6265 2075 7365 6420 se must be used \n-0000d570: 666f 7220 7265 6172 2d66 6163 696e 6720 for rear-facing \n-0000d580: 706f 6c79 676f 6e73 2074 6f20 6265 0a76 polygons to be.v\n-0000d590: 6973 6962 6c65 2077 6865 6e20 706f 7369 isible when posi\n-0000d5a0: 7469 6f6e 6564 2062 6568 696e 6420 6f74 tioned behind ot\n-0000d5b0: 6865 7220 7472 616e 7370 6172 656e 7420 her transparent \n-0000d5c0: 7375 7266 6163 6573 2e0a 0a1f 0a46 696c surfaces.....Fil\n-0000d5d0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-0000d5e0: 204e 6f64 653a 2049 6e74 6572 6e61 6c20 Node: Internal \n-0000d5f0: 6f70 7469 6f6e 732c 2020 5072 6576 3a20 options, Prev: \n-0000d600: 5472 616e 7370 6172 656e 6379 2c20 2055 Transparency, U\n-0000d610: 703a 204f 7074 696f 6e73 0a0a 332e 312e p: Options..3.1.\n-0000d620: 352e 3620 496e 7465 726e 616c 206f 7074 5.6 Internal opt\n-0000d630: 696f 6e73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e ions............\n-0000d640: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a54 ...............T\n-0000d650: 6865 7265 2061 7265 2061 6c73 6f20 5f69 here are also _i\n-0000d660: 6e74 6572 6e61 6c5f 206f 7074 696f 6e73 nternal_ options\n-0000d670: 2075 7365 6420 6f6e 6c79 2062 7920 e280 used only by ..\n-0000d680: 9873 6b65 7463 68e2 8099 2061 6e64 206e .sketch... and n\n-0000d690: 6f74 2070 6173 7365 640a 6f6e 2074 6f20 ot passed.on to \n-0000d6a0: e280 9850 5354 7269 636b 73e2 8099 2e20 ...PSTricks.... \n-0000d6b0: 2054 6865 7365 2061 7265 2073 756d 6d61 These are summa\n-0000d6c0: 7269 7a65 6420 696e 2074 6865 2066 6f6c rized in the fol\n-0000d6d0: 6c6f 7769 6e67 2074 6162 6c65 2e0a 4b65 lowing table..Ke\n-0000d6e0: 7920 2020 2020 2020 506f 7373 6962 6c65 y Possible\n-0000d6f0: 2076 616c 7565 7320 2020 2020 2020 2020 values \n-0000d700: 4465 7363 7269 7074 696f 6e0a 2d2d 2d2d Description.----\n+0000caf0: 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a e280 9854 ...............T\n+0000cb00: 696b 5a2f 5047 46e2 8099 2061 6c6c 6f77 ikZ/PGF... allow\n+0000cb10: 7320 6e61 6d65 6420 7374 796c 6573 2064 s named styles d\n+0000cb20: 6566 696e 6564 2062 7920 7468 6520 7573 efined by the us\n+0000cb30: 6572 2c20 666f 7220 6578 616d 706c 650a er, for example.\n+0000cb40: 2020 5c74 696b 7a73 7479 6c65 7b6d 7970 \\tikzstyle{myp\n+0000cb50: 6f6c 7967 6f6e 7374 796c 657d 203d 205b olygonstyle} = [\n+0000cb60: 6669 6c6c 3d62 6c75 6521 3230 2c66 696c fill=blue!20,fil\n+0000cb70: 6c20 6f70 6163 6974 793d 302e 385d 2020 l opacity=0.8] \n+0000cb80: 0a20 205c 7469 6b7a 7374 796c 657b 6d79 . \\tikzstyle{my\n+0000cb90: 6c69 6e65 7374 796c 657d 203d 205b 7265 linestyle} = [re\n+0000cba0: 6421 3230 2c64 6173 6865 645d 0a53 696e d!20,dashed].Sin\n+0000cbb0: 6365 20e2 8098 736b 6574 6368 e280 9920 ce ...sketch... \n+0000cbc0: 6861 7320 6e6f 2069 6e66 6f72 6d61 7469 has no informati\n+0000cbd0: 6f6e 206f 6e20 7468 6520 636f 6e74 656e on on the conten\n+0000cbe0: 7473 206f 6620 7375 6368 2073 7479 6c65 ts of such style\n+0000cbf0: 732c 2069 740a 6f6d 6974 7320 7468 656d s, it.omits them\n+0000cc00: 2065 6e74 6972 656c 7920 6672 6f6d 206c entirely from l\n+0000cc10: 696e 6573 2c20 706f 6c79 676f 6e73 2c20 ines, polygons, \n+0000cc20: 616e 6420 7468 6569 7220 6564 6765 7320 and their edges \n+0000cc30: 6475 7269 6e67 206f 7074 696f 6e0a 7370 during option.sp\n+0000cc40: 6c69 7474 696e 672e 2020 466f 7220 6578 litting. For ex\n+0000cc50: 616d 706c 652c 0a20 2070 6f6c 7967 6f6e ample,. polygon\n+0000cc60: 5b73 7479 6c65 3d6d 7970 6f6c 7967 6f6e [style=mypolygon\n+0000cc70: 7374 796c 652c 7374 796c 653d 7468 6963 style,style=thic\n+0000cc80: 6b5d 2830 2c30 2c31 2928 312c 302c 3029 k](0,0,1)(1,0,0)\n+0000cc90: 2830 2c31 2c30 290a 2020 6c69 6e65 5b73 (0,1,0). line[s\n+0000cca0: 7479 6c65 3d6d 796c 696e 6573 7479 6c65 tyle=mylinestyle\n+0000ccb0: 5d28 2d31 2c2d 312c 2d31 2928 322c 322c ](-1,-1,-1)(2,2,\n+0000ccc0: 3229 0a70 726f 6475 6365 7320 7468 6520 2).produces the \n+0000ccd0: e280 9854 696b 5ae2 8099 206f 7574 7075 ...TikZ... outpu\n+0000cce0: 740a 2020 5c64 7261 7728 2d31 2c2d 3129 t. \\draw(-1,-1)\n+0000ccf0: 2d2d 282e 3333 332c 2e33 3333 293b 0a20 --(.333,.333);. \n+0000cd00: 205c 6669 6c6c 6472 6177 5b74 6869 636b \\filldraw[thick\n+0000cd10: 2c66 696c 6c3d 7768 6974 655d 2830 2c30 ,fill=white](0,0\n+0000cd20: 292d 2d28 312c 3029 2d2d 2830 2c31 292d )--(1,0)--(0,1)-\n+0000cd30: 2d63 7963 6c65 3b0a 2020 5c64 7261 7728 -cycle;. \\draw(\n+0000cd40: 2e33 3333 2c2e 3333 3329 2d2d 2832 2c32 .333,.333)--(2,2\n+0000cd50: 293b 0a4e 6f74 6520 7468 6174 2074 6865 );.Note that the\n+0000cd60: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st\n+0000cd70: 796c 6573 2061 7265 206e 6f74 2070 7265 yles are not pre\n+0000cd80: 7365 6e74 2e20 2053 6b65 7463 6820 616c sent. Sketch al\n+0000cd90: 736f 2069 7373 7565 730a 7761 726e 696e so issues.warnin\n+0000cda0: 6773 3a0a 2020 7761 726e 696e 672c 2075 gs:. warning, u\n+0000cdb0: 6e6b 6e6f 776e 2070 6f6c 7967 6f6e 206f nknown polygon o\n+0000cdc0: 7074 696f 6e20 7374 796c 653d 6d79 706f ption style=mypo\n+0000cdd0: 6c79 676f 6e73 7479 6c65 2077 696c 6c20 lygonstyle will \n+0000cde0: 6265 2069 676e 6f72 6564 0a20 2077 6172 be ignored. war\n+0000cdf0: 6e69 6e67 2c20 756e 6b6e 6f77 6e20 6c69 ning, unknown li\n+0000ce00: 6e65 206f 7074 696f 6e20 7374 796c 653d ne option style=\n+0000ce10: 6d79 6c69 6e65 7374 796c 6520 7769 6c6c mylinestyle will\n+0000ce20: 2062 6520 6967 6e6f 7265 640a 0a20 2020 be ignored.. \n+0000ce30: 5468 6520 7265 6d65 6479 2069 7320 746f The remedy is to\n+0000ce40: 2073 7461 7465 2065 7870 6c69 6369 746c state explicitl\n+0000ce50: 7920 7768 6574 6865 7220 6120 7573 6572 y whether a user\n+0000ce60: 2d64 6566 696e 6564 2073 7479 6c65 2073 -defined style s\n+0000ce70: 686f 756c 640a 6265 2061 7474 6368 6564 hould.be attched\n+0000ce80: 2074 6f20 706f 6c79 676f 6e73 206f 7220 to polygons or \n+0000ce90: 6c69 6e65 7320 696e 2074 6865 20e2 8098 lines in the ...\n+0000cea0: 5469 6b5a e280 9920 6f75 7470 7574 2075 TikZ... output u\n+0000ceb0: 7369 6e67 0a5f 7073 6575 646f 2d6f 7074 sing._pseudo-opt\n+0000cec0: 696f 6e73 5f20 e280 9866 696c 6c20 7374 ions_ ...fill st\n+0000ced0: 796c 65e2 8099 2061 6e64 20e2 8098 6c69 yle... and ...li\n+0000cee0: 6e65 2073 7479 6c65 e280 992c 0a20 2070 ne style...,. p\n+0000cef0: 6f6c 7967 6f6e 5b66 696c 6c20 7374 796c olygon[fill styl\n+0000cf00: 653d 6d79 706f 6c79 676f 6e73 7479 6c65 e=mypolygonstyle\n+0000cf10: 2c73 7479 6c65 3d74 6869 636b 5d28 302c ,style=thick](0,\n+0000cf20: 302c 3129 2831 2c30 2c30 2928 302c 312c 0,1)(1,0,0)(0,1,\n+0000cf30: 3029 0a20 206c 696e 655b 6c69 6e65 2073 0). line[line s\n+0000cf40: 7479 6c65 3d6d 796c 696e 6573 7479 6c65 tyle=mylinestyle\n+0000cf50: 5d28 2d31 2c2d 312c 2d31 2928 322c 322c ](-1,-1,-1)(2,2,\n+0000cf60: 3229 0a4e 6f77 2c20 7468 6520 6f75 7470 2).Now, the outp\n+0000cf70: 7574 2069 730a 2020 5c64 7261 775b 6d79 ut is. \\draw[my\n+0000cf80: 6c69 6e65 7374 796c 655d 282d 312c 2d31 linestyle](-1,-1\n+0000cf90: 292d 2d28 2e33 3333 2c2e 3333 3329 3b0a )--(.333,.333);.\n+0000cfa0: 2020 5c66 696c 6c64 7261 775b 6d79 706f \\filldraw[mypo\n+0000cfb0: 6c79 676f 6e73 7479 6c65 2c74 6869 636b lygonstyle,thick\n+0000cfc0: 5d28 302c 3029 2d2d 2831 2c30 292d 2d28 ](0,0)--(1,0)--(\n+0000cfd0: 302c 3129 2d2d 6379 636c 653b 0a20 205c 0,1)--cycle;. \\\n+0000cfe0: 6472 6177 5b6d 796c 696e 6573 7479 6c65 draw[mylinestyle\n+0000cff0: 5d28 2e33 3333 2c2e 3333 3329 2d2d 2832 ](.333,.333)--(2\n+0000d000: 2c32 293b 0a0a 2020 2041 2075 7365 6675 ,2);.. A usefu\n+0000d010: 6c20 7465 6368 6e69 7175 6520 6973 2074 l technique is t\n+0000d020: 6f20 696e 636c 7564 6520 7573 6572 2d64 o include user-d\n+0000d030: 6566 696e 6564 2073 7479 6c65 2064 6566 efined style def\n+0000d040: 696e 6974 696f 6e73 2069 6e0a e280 9873 initions in....s\n+0000d050: 6b65 7463 68e2 8099 2063 6f64 6520 6173 ketch... code as\n+0000d060: 20e2 8098 7370 6563 6961 6ce2 8099 7320 ...special...s \n+0000d070: 7769 7468 206f 7074 696f 6e20 e280 985b with option ...[\n+0000d080: 6c61 793d 756e 6465 725d e280 9920 746f lay=under]... to\n+0000d090: 2065 6e73 7572 6520 7468 6174 2074 6865 ensure that the\n+0000d0a0: 0a73 7479 6c65 7320 6172 6520 656d 6974 .styles are emit\n+0000d0b0: 7465 6420 6669 7273 7420 696e 2074 6865 ted first in the\n+0000d0c0: 206f 7574 7075 742c 2062 6566 6f72 6520 output, before \n+0000d0d0: 616e 7920 7573 6573 206f 6620 7468 6520 any uses of the \n+0000d0e0: 7374 796c 650a 6e61 6d65 732e 2020 2831 style.names. (1\n+0000d0f0: 2920 2046 6f72 2065 7861 6d70 6c65 2c0a ) For example,.\n+0000d100: 2020 7370 6563 6961 6c7c 5c74 696b 7a73 special|\\tikzs\n+0000d110: 7479 6c65 7b6d 7970 6f6c 7967 6f6e 7374 tyle{mypolygonst\n+0000d120: 796c 657d 203d 205b 6669 6c6c 3d62 6c75 yle} = [fill=blu\n+0000d130: 6521 3230 2c66 696c 6c20 6f70 6163 6974 e!20,fill opacit\n+0000d140: 793d 302e 385d 7c5b 6c61 793d 756e 6465 y=0.8]|[lay=unde\n+0000d150: 725d 0a20 2073 7065 6369 616c 7c5c 7469 r]. special|\\ti\n+0000d160: 6b7a 7374 796c 657b 6d79 6c69 6e65 7374 kzstyle{mylinest\n+0000d170: 796c 657d 203d 205b 7265 6421 3230 2c64 yle} = [red!20,d\n+0000d180: 6173 6865 645d 7c5b 6c61 793d 756e 6465 ashed]|[lay=unde\n+0000d190: 725d 0a54 6865 2061 7574 686f 7220 6973 r].The author is\n+0000d1a0: 2072 6573 706f 6e73 6962 6c65 2066 6f72 responsible for\n+0000d1b0: 2075 7369 6e67 2074 6865 206b 6579 2c20 using the key, \n+0000d1c0: e280 986c 696e 6520 7374 796c 65e2 8099 ...line style...\n+0000d1d0: 206f 7220 e280 9866 696c 6c0a 7374 796c or ...fill.styl\n+0000d1e0: 65e2 8099 2c20 7468 6174 206d 6174 6368 e..., that match\n+0000d1f0: 6573 2074 6865 2063 6f6e 7465 6e74 206f es the content o\n+0000d200: 6620 7468 6520 7374 796c 6520 6465 6669 f the style defi\n+0000d210: 6e69 7469 6f6e 2e0a 0a20 2020 2d2d 2d2d nition... ----\n+0000d220: 2d2d 2d2d 2d2d 2046 6f6f 746e 6f74 6573 ------ Footnotes\n+0000d230: 202d 2d2d 2d2d 2d2d 2d2d 2d0a 0a20 2020 ----------.. \n+0000d240: 2831 2920 5468 6973 2063 6c65 7665 7220 (1) This clever \n+0000d250: 7472 6963 6b20 6973 2064 7565 2074 6f20 trick is due to \n+0000d260: 4b6a 656c 6c20 4d61 676e 6520 4661 7573 Kjell Magne Faus\n+0000d270: 6b65 2e0a 0a1f 0a46 696c 653a 2073 6b65 ke.....File: ske\n+0000d280: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+0000d290: 2054 7261 6e73 7061 7265 6e63 792c 2020 Transparency, \n+0000d2a0: 4e65 7874 3a20 496e 7465 726e 616c 206f Next: Internal o\n+0000d2b0: 7074 696f 6e73 2c20 2050 7265 763a 2054 ptions, Prev: T\n+0000d2c0: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def\n+0000d2d0: 696e 6564 2073 7479 6c65 732c 2020 5570 ined styles, Up\n+0000d2e0: 3a20 4f70 7469 6f6e 730a 0a33 2e31 2e35 : Options..3.1.5\n+0000d2f0: 2e35 2054 7261 6e73 7061 7265 6e63 790a .5 Transparency.\n+0000d300: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+0000d310: 2e2e 2e2e 0a0a 426f 7468 20e2 8098 5053 ......Both ...PS\n+0000d320: 5472 6963 6b73 e280 9920 616e 6420 e280 Tricks... and ..\n+0000d330: 9854 696b 5a2f 5047 46e2 8099 2073 7570 .TikZ/PGF... sup\n+0000d340: 706f 7274 2070 6f6c 7967 6f6e 206f 7074 port polygon opt\n+0000d350: 696f 6e73 2074 6861 7420 6861 7665 2074 ions that have t\n+0000d360: 6865 0a65 6666 6563 7420 6f66 206d 616b he.effect of mak\n+0000d370: 696e 6720 7468 6520 706f 6c79 676f 6e20 ing the polygon \n+0000d380: 6170 7065 6172 2074 7261 6e73 7061 7265 appear transpare\n+0000d390: 6e74 2e20 2046 6f72 20e2 8098 5053 5472 nt. For ...PSTr\n+0000d3a0: 6963 6b73 e280 992c 0a6b 6579 776f 7264 icks...,.keyword\n+0000d3b0: 20e2 8098 7472 616e 7370 616c 7068 61e2 ...transpalpha.\n+0000d3c0: 8099 2077 6173 2075 7365 6420 6475 7269 .. was used duri\n+0000d3d0: 6e67 2069 6e69 7469 616c 2064 6576 656c ng initial devel\n+0000d3e0: 6f70 6d65 6e74 206f 660a 7472 616e 7370 opment of.transp\n+0000d3f0: 6172 656e 6379 2066 6561 7475 7265 732c arency features,\n+0000d400: 2061 6e64 20e2 8098 6f70 6163 6974 79e2 and ...opacity.\n+0000d410: 8099 2077 6173 2061 646f 7074 6564 206c .. was adopted l\n+0000d420: 6174 6572 2e20 20e2 8098 536b 6574 6368 ater. ...Sketch\n+0000d430: e280 9920 686f 6e6f 7273 0a62 6f74 682e ... honors.both.\n+0000d440: 2020 e280 9854 696b 5a2f 5047 46e2 8099 ...TikZ/PGF...\n+0000d450: 2075 7365 7320 e280 986f 7061 6369 7479 uses ...opacity\n+0000d460: e280 9920 6f6e 6c79 2e20 2057 6865 6e20 ... only. When \n+0000d470: 7472 616e 7370 6172 656e 7420 706f 6c79 transparent poly\n+0000d480: 676f 6e73 2061 7265 2069 6e0a 7468 6520 gons are in.the \n+0000d490: 666f 7265 6772 6f75 6e64 2c20 6f62 6a65 foreground, obje\n+0000d4a0: 6374 7320 6265 6869 6e64 2074 6865 6d20 cts behind them \n+0000d4b0: 2864 7261 776e 2065 6172 6c69 6572 2920 (drawn earlier) \n+0000d4c0: 6172 6520 7669 7369 626c 6520 7769 7468 are visible with\n+0000d4d0: 0a63 6f6c 6f72 2073 7562 6475 6564 2061 .color subdued a\n+0000d4e0: 6e64 2074 696e 7465 642e 2020 5468 6520 nd tinted. The \n+0000d4f0: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a\n+0000d500: 6c67 6f72 6974 686d 206f 6620 e280 9873 lgorithm of ...s\n+0000d510: 6b65 7463 68e2 8099 0a77 6f72 6b73 2077 ketch....works w\n+0000d520: 656c 6c20 7769 7468 2073 7563 6820 7472 ell with such tr\n+0000d530: 616e 7370 6172 656e 7420 706f 6c79 676f ansparent polygo\n+0000d540: 6e73 2e0a 0a20 2020 4e6f 7465 2074 6861 ns... Note tha\n+0000d550: 7420 6375 6c6c 3d66 616c 7365 206d 7573 t cull=false mus\n+0000d560: 7420 6265 2075 7365 6420 666f 7220 7265 t be used for re\n+0000d570: 6172 2d66 6163 696e 6720 706f 6c79 676f ar-facing polygo\n+0000d580: 6e73 2074 6f20 6265 0a76 6973 6962 6c65 ns to be.visible\n+0000d590: 2077 6865 6e20 706f 7369 7469 6f6e 6564 when positioned\n+0000d5a0: 2062 6568 696e 6420 6f74 6865 7220 7472 behind other tr\n+0000d5b0: 616e 7370 6172 656e 7420 7375 7266 6163 ansparent surfac\n+0000d5c0: 6573 2e0a 0a1f 0a46 696c 653a 2073 6b65 es.....File: ske\n+0000d5d0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+0000d5e0: 2049 6e74 6572 6e61 6c20 6f70 7469 6f6e Internal option\n+0000d5f0: 732c 2020 5072 6576 3a20 5472 616e 7370 s, Prev: Transp\n+0000d600: 6172 656e 6379 2c20 2055 703a 204f 7074 arency, Up: Opt\n+0000d610: 696f 6e73 0a0a 332e 312e 352e 3620 496e ions..3.1.5.6 In\n+0000d620: 7465 726e 616c 206f 7074 696f 6e73 0a2e ternal options..\n+0000d630: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+0000d640: 2e2e 2e2e 2e2e 2e0a 0a54 6865 7265 2061 .........There a\n+0000d650: 7265 2061 6c73 6f20 5f69 6e74 6572 6e61 re also _interna\n+0000d660: 6c5f 206f 7074 696f 6e73 2075 7365 6420 l_ options used \n+0000d670: 6f6e 6c79 2062 7920 e280 9873 6b65 7463 only by ...sketc\n+0000d680: 68e2 8099 2061 6e64 206e 6f74 2070 6173 h... and not pas\n+0000d690: 7365 640a 6f6e 2074 6f20 e280 9850 5354 sed.on to ...PST\n+0000d6a0: 7269 636b 73e2 8099 2e20 2054 6865 7365 ricks.... These\n+0000d6b0: 2061 7265 2073 756d 6d61 7269 7a65 6420 are summarized \n+0000d6c0: 696e 2074 6865 2066 6f6c 6c6f 7769 6e67 in the following\n+0000d6d0: 2074 6162 6c65 2e0a 4b65 7920 2020 2020 table..Key \n+0000d6e0: 2020 506f 7373 6962 6c65 2076 616c 7565 Possible value\n+0000d6f0: 7320 2020 2020 2020 2020 4465 7363 7269 s Descri\n+0000d700: 7074 696f 6e0a 2d2d 2d2d 2d2d 2d2d 2d2d ption.----------\n 0000d710: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000d720: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000d730: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000d740: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0000d750: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000d760: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0ae2 8098 ------------....\n-0000d770: 6375 6c6c e280 9920 2020 20e2 8098 7472 cull... ...tr\n-0000d780: 7565 e280 992c 20e2 8098 6661 6c73 65e2 ue..., ...false.\n-0000d790: 8099 2020 2020 2020 2020 2054 7572 6e20 .. Turn \n-0000d7a0: 6375 6c6c 696e 6720 6f66 2062 6163 6b66 culling of backf\n-0000d7b0: 6163 6573 206f 6e20 616e 6420 6f66 6620 aces on and off \n-0000d7c0: 7265 7370 6563 7469 7665 6c79 2066 6f72 respectively for\n-0000d7d0: 2074 6869 730a 2020 2020 2020 2020 2020 this. \n+0000d760: 2d2d 2d2d 2d2d 0ae2 8098 6375 6c6c e280 ------....cull..\n+0000d770: 9920 2020 20e2 8098 7472 7565 e280 992c . ...true...,\n+0000d780: 20e2 8098 6661 6c73 65e2 8099 2020 2020 ...false... \n+0000d790: 2020 2020 2054 7572 6e20 6375 6c6c 696e Turn cullin\n+0000d7a0: 6720 6f66 2062 6163 6b66 6163 6573 206f g of backfaces o\n+0000d7b0: 6e20 616e 6420 6f66 6620 7265 7370 6563 n and off respec\n+0000d7c0: 7469 7665 6c79 2066 6f72 2074 6869 730a tively for this.\n+0000d7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d7f0: 2020 2020 2020 2020 6f62 6a65 6374 2e20 object. \n-0000d800: 2054 6865 2064 6566 6175 6c74 2076 616c The default val\n-0000d810: 7565 2069 7320 e280 9874 7275 65e2 8099 ue is ...true...\n-0000d820: 2e0a e280 986c 6179 e280 9920 2020 2020 .....lay... \n-0000d830: e280 986f 7665 72e2 8099 2c20 e280 9869 ...over..., ...i\n-0000d840: 6ee2 8099 2c20 e280 9875 6e64 6572 e280 n..., ...under..\n-0000d850: 9920 2020 466f 7263 6520 7468 6973 206f . Force this o\n-0000d860: 626a 6563 7420 746f 2062 6520 e280 9875 bject to be ...u\n-0000d870: 6e64 6572 e280 9920 6f72 20e2 8098 6f76 nder... or ...ov\n-0000d880: 6572 e280 9920 616c 6c20 6f74 6865 7220 er... all other \n-0000d890: 6f62 6a65 6374 730a 2020 2020 2020 2020 objects. \n+0000d7f0: 2020 6f62 6a65 6374 2e20 2054 6865 2064 object. The d\n+0000d800: 6566 6175 6c74 2076 616c 7565 2069 7320 efault value is \n+0000d810: e280 9874 7275 65e2 8099 2e0a e280 986c ...true........l\n+0000d820: 6179 e280 9920 2020 2020 e280 986f 7665 ay... ...ove\n+0000d830: 72e2 8099 2c20 e280 9869 6ee2 8099 2c20 r..., ...in..., \n+0000d840: e280 9875 6e64 6572 e280 9920 2020 466f ...under... Fo\n+0000d850: 7263 6520 7468 6973 206f 626a 6563 7420 rce this object \n+0000d860: 746f 2062 6520 e280 9875 6e64 6572 e280 to be ...under..\n+0000d870: 9920 6f72 20e2 8098 6f76 6572 e280 9920 . or ...over... \n+0000d880: 616c 6c20 6f74 6865 7220 6f62 6a65 6374 all other object\n+0000d890: 730a 2020 2020 2020 2020 2020 2020 2020 s. \n 0000d8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d8b0: 2020 2020 2020 2020 2020 696e 2074 6865 in the\n-0000d8c0: 2064 6570 7468 2073 6f72 7420 6f72 6465 depth sort orde\n-0000d8d0: 7220 6372 6561 7465 6420 6279 2074 6865 r created by the\n-0000d8e0: 2068 6964 6465 6e20 7375 7266 6163 650a hidden surface.\n+0000d8b0: 2020 2020 696e 2074 6865 2064 6570 7468 in the depth\n+0000d8c0: 2073 6f72 7420 6f72 6465 7220 6372 6561 sort order crea\n+0000d8d0: 7465 6420 6279 2074 6865 2068 6964 6465 ted by the hidde\n+0000d8e0: 6e20 7375 7266 6163 650a 2020 2020 2020 n surface. \n 0000d8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d900: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d910: 2020 616c 676f 7269 7468 6d2e 2020 5468 algorithm. Th\n-0000d920: 6520 6465 6661 756c 7420 7661 6c75 6520 e default value \n-0000d930: e280 986f 7665 72e2 8099 2067 7561 7261 ...over... guara\n-0000d940: 6e74 6565 7320 7468 6174 206f 7574 7075 ntees that outpu\n-0000d950: 740a 2020 2020 2020 2020 2020 2020 2020 t. \n-0000d960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d970: 2020 2020 6475 6520 746f 2074 6865 20e2 due to the .\n-0000d980: 8098 7370 6563 6961 6ce2 8099 2077 696c ..special... wil\n-0000d990: 6c20 6265 2076 6973 6962 6c65 2e0a e280 l be visible....\n-0000d9a0: 9873 706c 6974 e280 9920 2020 e280 9874 .split... ...t\n-0000d9b0: 7275 65e2 8099 2c20 e280 9866 616c 7365 rue..., ...false\n-0000d9c0: e280 9920 2020 2020 2020 2020 5475 726e ... Turn\n-0000d9d0: 2073 706c 6974 7469 6e67 206f 6620 7377 splitting of sw\n-0000d9e0: 6565 702d 6765 6e65 7261 7465 6420 626f eep-generated bo\n-0000d9f0: 6479 2070 6f6c 7967 6f6e 7320 6f6e 2061 dy polygons on a\n-0000da00: 6e64 206f 6666 0a20 2020 2020 2020 2020 nd off. \n+0000d900: 2020 2020 2020 2020 2020 2020 616c 676f algo\n+0000d910: 7269 7468 6d2e 2020 5468 6520 6465 6661 rithm. The defa\n+0000d920: 756c 7420 7661 6c75 6520 e280 986f 7665 ult value ...ove\n+0000d930: 72e2 8099 2067 7561 7261 6e74 6565 7320 r... guarantees \n+0000d940: 7468 6174 206f 7574 7075 740a 2020 2020 that output. \n+0000d950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d960: 2020 2020 2020 2020 2020 2020 2020 6475 du\n+0000d970: 6520 746f 2074 6865 20e2 8098 7370 6563 e to the ...spec\n+0000d980: 6961 6ce2 8099 2077 696c 6c20 6265 2076 ial... will be v\n+0000d990: 6973 6962 6c65 2e0a e280 9873 706c 6974 isible.....split\n+0000d9a0: e280 9920 2020 e280 9874 7275 65e2 8099 ... ...true...\n+0000d9b0: 2c20 e280 9866 616c 7365 e280 9920 2020 , ...false... \n+0000d9c0: 2020 2020 2020 5475 726e 2073 706c 6974 Turn split\n+0000d9d0: 7469 6e67 206f 6620 7377 6565 702d 6765 ting of sweep-ge\n+0000d9e0: 6e65 7261 7465 6420 626f 6479 2070 6f6c nerated body pol\n+0000d9f0: 7967 6f6e 7320 6f6e 2061 6e64 206f 6666 ygons on and off\n+0000da00: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 0000da10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da20: 2020 2020 2020 2020 2072 6573 7065 6374 respect\n-0000da30: 6976 656c 792e 2020 2a4e 6f74 6520 5377 ively. *Note Sw\n-0000da40: 6565 7073 3a3a 2e20 2054 6865 2064 6566 eeps::. The def\n-0000da50: 6175 6c74 2076 616c 7565 20e2 8098 7472 ault value ...tr\n-0000da60: 7565 e280 990a 2020 2020 2020 2020 2020 ue.... \n+0000da20: 2020 2072 6573 7065 6374 6976 656c 792e respectively.\n+0000da30: 2020 2a4e 6f74 6520 5377 6565 7073 3a3a *Note Sweeps::\n+0000da40: 2e20 2054 6865 2064 6566 6175 6c74 2076 . The default v\n+0000da50: 616c 7565 20e2 8098 7472 7565 e280 990a alue ...true....\n+0000da60: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000da70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da80: 2020 2020 2020 2020 6361 7573 6573 2022 causes \"\n-0000da90: 7761 7270 6564 2220 706f 6c79 676f 6e73 warped\" polygons\n-0000daa0: 2074 6f20 6265 2073 706c 6974 2069 6e74 to be split int\n-0000dab0: 6f20 7472 6961 6e67 6c65 732c 2077 6869 o triangles, whi\n-0000dac0: 6368 0a20 2020 2020 2020 2020 2020 2020 ch. \n-0000dad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dae0: 2020 2020 2061 766f 6964 7320 6d69 7374 avoids mist\n-0000daf0: 616b 6573 2062 7920 7468 6520 6869 6464 akes by the hidd\n-0000db00: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor\n-0000db10: 6974 686d 2e0a 0a33 2e31 2e36 2050 6f69 ithm...3.1.6 Poi\n-0000db20: 6e74 206c 6973 7473 0a2d 2d2d 2d2d 2d2d nt lists.-------\n-0000db30: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e ----------..*Syn\n-0000db40: 7461 783a 2a0a 2020 2020 2028 5831 2c59 tax:*. (X1,Y\n-0000db50: 312c 5a31 2928 5832 2c59 322c 5a32 292e 1,Z1)(X2,Y2,Z2).\n-0000db60: 2e2e 0a41 2073 6571 7565 6e63 6520 6f66 ...A sequence of\n-0000db70: 206f 6e65 206f 7220 6d6f 7265 2070 6f69 one or more poi\n-0000db80: 6e74 7320 6d61 6b65 7320 6120 706f 696e nts makes a poin\n-0000db90: 7420 6c69 7374 2c20 6120 6665 6174 7572 t list, a featur\n-0000dba0: 6520 636f 6d6d 6f6e 2074 6f0a 616c 6c20 e common to.all \n-0000dbb0: 6472 6177 6162 6c65 732e 2020 4561 6368 drawables. Each\n-0000dbc0: 206f 6620 7468 6520 706f 696e 7420 636f of the point co\n-0000dbd0: 6d70 6f6e 656e 7473 2069 7320 6120 7363 mponents is a sc\n-0000dbe0: 616c 6172 2061 7269 7468 6d65 7469 630a alar arithmetic.\n-0000dbf0: 6578 7072 6573 7369 6f6e 2e20 2041 6e79 expression. Any\n-0000dc00: 2070 6f69 6e74 206d 6179 2068 6176 6520 point may have \n-0000dc10: 7468 6520 7a2d 636f 6d70 6f6e 656e 7420 the z-component \n-0000dc20: 6f6d 6974 7465 643b 2069 7420 7769 6c6c omitted; it will\n-0000dc30: 2064 6566 6175 6c74 0a74 6f20 7a3d 302e default.to z=0.\n-0000dc40: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2044 7261 ..* Menu:..* Dra\n-0000dc50: 7761 626c 6573 3a3a 2020 2020 2020 2020 wables:: \n-0000dc60: 2020 2020 2020 2020 2020 2054 6869 6e67 Thing\n-0000dc70: 7320 7468 6174 2061 7265 2064 7261 776e s that are drawn\n-0000dc80: 2e0a 2a20 4465 6669 6e69 7469 6f6e 733a ..* Definitions:\n-0000dc90: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000dca0: 2020 5468 696e 6773 2077 6974 6820 6e61 Things with na\n-0000dcb0: 6d65 732e 0a0a 1f0a 4669 6c65 3a20 736b mes.....File: sk\n-0000dcc0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-0000dcd0: 3a20 4472 6177 6162 6c65 732c 2020 4e65 : Drawables, Ne\n-0000dce0: 7874 3a20 4465 6669 6e69 7469 6f6e 732c xt: Definitions,\n-0000dcf0: 2020 5072 6576 3a20 4c61 6e67 7561 6765 Prev: Language\n-0000dd00: 2062 6173 6963 732c 2020 5570 3a20 496e basics, Up: In\n-0000dd10: 7075 7420 6c61 6e67 7561 6765 0a0a 332e put language..3.\n-0000dd20: 3220 4472 6177 6162 6c65 730a 3d3d 3d3d 2 Drawables.====\n-0000dd30: 3d3d 3d3d 3d3d 3d3d 3d0a 0a44 7261 7761 =========..Drawa\n-0000dd40: 626c 6573 2061 7265 2073 696d 706c 7920 bles are simply \n-0000dd50: e280 9873 6b65 7463 68e2 8099 206f 626a ...sketch... obj\n-0000dd60: 6563 7473 2074 6861 7420 6d69 6768 7420 ects that might \n-0000dd70: 6170 7065 6172 2069 6e20 7468 6520 6472 appear in the dr\n-0000dd80: 6177 696e 672e 0a54 6865 7920 696e 636c awing..They incl\n-0000dd90: 7564 6520 646f 7473 2c20 706f 6c79 6c69 ude dots, polyli\n-0000dda0: 6e65 732c 2063 7572 7665 732c 2070 6f6c nes, curves, pol\n-0000ddb0: 7967 6f6e 732c 2061 6e64 206d 6f72 6520 ygons, and more \n-0000ddc0: 636f 6d70 6c65 7820 6f62 6a65 6374 730a complex objects.\n-0000ddd0: 7468 6174 2061 7265 2062 7569 6c74 2075 that are built u\n-0000dde0: 7020 6672 6f6d 2073 696d 706c 6572 206f p from simpler o\n-0000ddf0: 6e65 7320 696e 2076 6172 696f 7573 2077 nes in various w\n-0000de00: 6179 732e 2020 4669 6e61 6c6c 792c 20e2 ays. Finally, .\n-0000de10: 809c 7370 6563 6961 6ce2 809d 0a6f 626a ..special....obj\n-0000de20: 6563 7473 2061 7265 2074 686f 7365 2063 ects are those c\n-0000de30: 6f6d 706f 7365 6420 6f66 204c 6154 6558 omposed of LaTeX\n-0000de40: 206f 7220 e280 9850 5354 7269 636b 73e2 or ...PSTricks.\n-0000de50: 8099 2063 6f64 652c 2070 6572 6861 7073 .. code, perhaps\n-0000de60: 0a69 6e63 6c75 6469 6e67 2063 6f6f 7264 .including coord\n-0000de70: 696e 6174 6573 2061 6e64 2061 6e67 6c65 inates and angle\n-0000de80: 7320 636f 6d70 7574 6564 2062 7920 e280 s computed by ..\n-0000de90: 9873 6b65 7463 68e2 8099 2e0a 0a2a 204d .sketch......* M\n-0000dea0: 656e 753a 0a0a 2a20 446f 7473 3a3a 2020 enu:..* Dots:: \n+0000da80: 2020 6361 7573 6573 2022 7761 7270 6564 causes \"warped\n+0000da90: 2220 706f 6c79 676f 6e73 2074 6f20 6265 \" polygons to be\n+0000daa0: 2073 706c 6974 2069 6e74 6f20 7472 6961 split into tria\n+0000dab0: 6e67 6c65 732c 2077 6869 6368 0a20 2020 ngles, which. \n+0000dac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dad0: 2020 2020 2020 2020 2020 2020 2020 2061 a\n+0000dae0: 766f 6964 7320 6d69 7374 616b 6573 2062 voids mistakes b\n+0000daf0: 7920 7468 6520 6869 6464 656e 2073 7572 y the hidden sur\n+0000db00: 6661 6365 2061 6c67 6f72 6974 686d 2e0a face algorithm..\n+0000db10: 0a33 2e31 2e36 2050 6f69 6e74 206c 6973 .3.1.6 Point lis\n+0000db20: 7473 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ts.-------------\n+0000db30: 2d2d 2d2d 0a0a 2a53 796e 7461 783a 2a0a ----..*Syntax:*.\n+0000db40: 2020 2020 2028 5831 2c59 312c 5a31 2928 (X1,Y1,Z1)(\n+0000db50: 5832 2c59 322c 5a32 292e 2e2e 0a41 2073 X2,Y2,Z2)....A s\n+0000db60: 6571 7565 6e63 6520 6f66 206f 6e65 206f equence of one o\n+0000db70: 7220 6d6f 7265 2070 6f69 6e74 7320 6d61 r more points ma\n+0000db80: 6b65 7320 6120 706f 696e 7420 6c69 7374 kes a point list\n+0000db90: 2c20 6120 6665 6174 7572 6520 636f 6d6d , a feature comm\n+0000dba0: 6f6e 2074 6f0a 616c 6c20 6472 6177 6162 on to.all drawab\n+0000dbb0: 6c65 732e 2020 4561 6368 206f 6620 7468 les. Each of th\n+0000dbc0: 6520 706f 696e 7420 636f 6d70 6f6e 656e e point componen\n+0000dbd0: 7473 2069 7320 6120 7363 616c 6172 2061 ts is a scalar a\n+0000dbe0: 7269 7468 6d65 7469 630a 6578 7072 6573 rithmetic.expres\n+0000dbf0: 7369 6f6e 2e20 2041 6e79 2070 6f69 6e74 sion. Any point\n+0000dc00: 206d 6179 2068 6176 6520 7468 6520 7a2d may have the z-\n+0000dc10: 636f 6d70 6f6e 656e 7420 6f6d 6974 7465 component omitte\n+0000dc20: 643b 2069 7420 7769 6c6c 2064 6566 6175 d; it will defau\n+0000dc30: 6c74 0a74 6f20 7a3d 302e 0a0a 2a20 4d65 lt.to z=0...* Me\n+0000dc40: 6e75 3a0a 0a2a 2044 7261 7761 626c 6573 nu:..* Drawables\n+0000dc50: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n+0000dc60: 2020 2020 2054 6869 6e67 7320 7468 6174 Things that\n+0000dc70: 2061 7265 2064 7261 776e 2e0a 2a20 4465 are drawn..* De\n+0000dc80: 6669 6e69 7469 6f6e 733a 3a20 2020 2020 finitions:: \n+0000dc90: 2020 2020 2020 2020 2020 2020 5468 696e Thin\n+0000dca0: 6773 2077 6974 6820 6e61 6d65 732e 0a0a gs with names...\n+0000dcb0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+0000dcc0: 6e66 6f2c 2020 4e6f 6465 3a20 4472 6177 nfo, Node: Draw\n+0000dcd0: 6162 6c65 732c 2020 4e65 7874 3a20 4465 ables, Next: De\n+0000dce0: 6669 6e69 7469 6f6e 732c 2020 5072 6576 finitions, Prev\n+0000dcf0: 3a20 4c61 6e67 7561 6765 2062 6173 6963 : Language basic\n+0000dd00: 732c 2020 5570 3a20 496e 7075 7420 6c61 s, Up: Input la\n+0000dd10: 6e67 7561 6765 0a0a 332e 3220 4472 6177 nguage..3.2 Draw\n+0000dd20: 6162 6c65 730a 3d3d 3d3d 3d3d 3d3d 3d3d ables.==========\n+0000dd30: 3d3d 3d0a 0a44 7261 7761 626c 6573 2061 ===..Drawables a\n+0000dd40: 7265 2073 696d 706c 7920 e280 9873 6b65 re simply ...ske\n+0000dd50: 7463 68e2 8099 206f 626a 6563 7473 2074 tch... objects t\n+0000dd60: 6861 7420 6d69 6768 7420 6170 7065 6172 hat might appear\n+0000dd70: 2069 6e20 7468 6520 6472 6177 696e 672e in the drawing.\n+0000dd80: 0a54 6865 7920 696e 636c 7564 6520 646f .They include do\n+0000dd90: 7473 2c20 706f 6c79 6c69 6e65 732c 2063 ts, polylines, c\n+0000dda0: 7572 7665 732c 2070 6f6c 7967 6f6e 732c urves, polygons,\n+0000ddb0: 2061 6e64 206d 6f72 6520 636f 6d70 6c65 and more comple\n+0000ddc0: 7820 6f62 6a65 6374 730a 7468 6174 2061 x objects.that a\n+0000ddd0: 7265 2062 7569 6c74 2075 7020 6672 6f6d re built up from\n+0000dde0: 2073 696d 706c 6572 206f 6e65 7320 696e simpler ones in\n+0000ddf0: 2076 6172 696f 7573 2077 6179 732e 2020 various ways. \n+0000de00: 4669 6e61 6c6c 792c 20e2 809c 7370 6563 Finally, ...spec\n+0000de10: 6961 6ce2 809d 0a6f 626a 6563 7473 2061 ial....objects a\n+0000de20: 7265 2074 686f 7365 2063 6f6d 706f 7365 re those compose\n+0000de30: 6420 6f66 204c 6154 6558 206f 7220 e280 d of LaTeX or ..\n+0000de40: 9850 5354 7269 636b 73e2 8099 2063 6f64 .PSTricks... cod\n+0000de50: 652c 2070 6572 6861 7073 0a69 6e63 6c75 e, perhaps.inclu\n+0000de60: 6469 6e67 2063 6f6f 7264 696e 6174 6573 ding coordinates\n+0000de70: 2061 6e64 2061 6e67 6c65 7320 636f 6d70 and angles comp\n+0000de80: 7574 6564 2062 7920 e280 9873 6b65 7463 uted by ...sketc\n+0000de90: 68e2 8099 2e0a 0a2a 204d 656e 753a 0a0a h......* Menu:..\n+0000dea0: 2a20 446f 7473 3a3a 2020 2020 2020 2020 * Dots:: \n 0000deb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dec0: 2020 2020 2020 4472 6177 2064 6f74 732e Draw dots.\n-0000ded0: 0a2a 204c 696e 6573 3a3a 2020 2020 2020 .* Lines:: \n-0000dee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000def0: 2044 7261 7720 706f 6c79 6c69 6e65 732e Draw polylines.\n-0000df00: 0a2a 2043 7572 7665 733a 3a20 2020 2020 .* Curves:: \n-0000df10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df20: 2044 7261 7720 6375 7276 6573 2e0a 2a20 Draw curves..* \n-0000df30: 506f 6c79 676f 6e73 3a3a 2020 2020 2020 Polygons:: \n-0000df40: 2020 2020 2020 2020 2020 2020 2020 4472 Dr\n-0000df50: 6177 2070 6f6c 7967 6f6e 732e 0a2a 2053 aw polygons..* S\n-0000df60: 7065 6369 616c 733a 3a20 2020 2020 2020 pecials:: \n-0000df70: 2020 2020 2020 2020 2020 2020 2045 6d62 Emb\n-0000df80: 6564 2072 6177 204c 6154 6558 2061 6e64 ed raw LaTeX and\n-0000df90: 20e2 8098 5053 5472 6963 6b73 e280 992e ...PSTricks....\n-0000dfa0: 0a2a 2053 7765 6570 733a 3a20 2020 2020 .* Sweeps:: \n-0000dfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dfc0: 2044 7261 7720 7377 6565 7073 206f 6620 Draw sweeps of \n-0000dfd0: 646f 7473 2061 6e64 2070 6f6c 796c 696e dots and polylin\n-0000dfe0: 6573 2e0a 2a20 426c 6f63 6b73 3a3a 2020 es..* Blocks:: \n-0000dff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e000: 2020 2020 4772 6f75 7020 6f74 6865 7220 Group other \n-0000e010: 6472 6177 6162 6c65 732e 0a2a 2052 6570 drawables..* Rep\n-0000e020: 6561 7473 3a3a 2020 2020 2020 2020 2020 eats:: \n-0000e030: 2020 2020 2020 2020 2020 2044 7261 7720 Draw \n-0000e040: 7472 616e 7366 6f72 6d65 6420 636f 7069 transformed copi\n-0000e050: 6573 206f 6620 6f62 6a65 6374 732e 0a2a es of objects..*\n-0000e060: 2050 7574 733a 3a20 2020 2020 2020 2020 Puts:: \n-0000e070: 2020 2020 2020 2020 2020 2020 2020 2044 D\n-0000e080: 7261 7720 6f6e 6520 6f62 6a65 6374 2074 raw one object t\n-0000e090: 7261 6e73 666f 726d 6564 2e0a 0a1f 0a46 ransformed.....F\n-0000e0a0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-0000e0b0: 2c20 204e 6f64 653a 2044 6f74 732c 2020 , Node: Dots, \n-0000e0c0: 4e65 7874 3a20 4c69 6e65 732c 2020 5072 Next: Lines, Pr\n-0000e0d0: 6576 3a20 4472 6177 6162 6c65 732c 2020 ev: Drawables, \n-0000e0e0: 5570 3a20 4472 6177 6162 6c65 730a 0a33 Up: Drawables..3\n-0000e0f0: 2e32 2e31 2044 6f74 730a 2d2d 2d2d 2d2d .2.1 Dots.------\n-0000e100: 2d2d 2d2d 0a0a 2a53 796e 7461 783a 2a0a ----..*Syntax:*.\n-0000e110: 2020 2020 2064 6f74 735b 4f50 5449 4f4e dots[OPTION\n-0000e120: 535d 2050 4f49 4e54 5f4c 4953 540a 5468 S] POINT_LIST.Th\n-0000e130: 6973 2063 6f6d 6d61 6e64 2069 7320 7468 is command is th\n-0000e140: 6520 7468 7265 652d 6469 6d65 6e73 696f e three-dimensio\n-0000e150: 6e61 6c20 6571 7569 7661 6c65 6e74 206f nal equivalent o\n-0000e160: 6620 7468 6520 e280 9850 5354 7269 636b f the ...PSTrick\n-0000e170: 73e2 8099 0a63 6f6d 6d61 6e64 20e2 8098 s....command ...\n-0000e180: 5c70 7364 6f74 73e2 8099 2e0a 0a1f 0a46 \\psdots........F\n-0000e190: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-0000e1a0: 2c20 204e 6f64 653a 204c 696e 6573 2c20 , Node: Lines, \n-0000e1b0: 204e 6578 743a 2043 7572 7665 732c 2020 Next: Curves, \n-0000e1c0: 5072 6576 3a20 446f 7473 2c20 2055 703a Prev: Dots, Up:\n-0000e1d0: 2044 7261 7761 626c 6573 0a0a 332e 322e Drawables..3.2.\n-0000e1e0: 3220 4c69 6e65 730a 2d2d 2d2d 2d2d 2d2d 2 Lines.--------\n-0000e1f0: 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 ---..*Syntax:*. \n-0000e200: 2020 2020 6c69 6e65 5b4f 5054 494f 4e53 line[OPTIONS\n-0000e210: 5d20 504f 494e 545f 4c49 5354 0a54 6869 ] POINT_LIST.Thi\n-0000e220: 7320 636f 6d6d 616e 6420 6973 2074 6865 s command is the\n-0000e230: 2074 6872 6565 2d64 696d 656e 7369 6f6e three-dimension\n-0000e240: 616c 2065 7175 6976 616c 656e 7420 6f66 al equivalent of\n-0000e250: 2074 6865 20e2 8098 5053 5472 6963 6b73 the ...PSTricks\n-0000e260: e280 990a 636f 6d6d 616e 6420 e280 985c ....command ...\\\n-0000e270: 7073 6c69 6e65 e280 992e 0a0a 1f0a 4669 psline........Fi\n-0000e280: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-0000e290: 2020 4e6f 6465 3a20 4375 7276 6573 2c20 Node: Curves, \n-0000e2a0: 204e 6578 743a 2050 6f6c 7967 6f6e 732c Next: Polygons,\n-0000e2b0: 2020 5072 6576 3a20 4c69 6e65 732c 2020 Prev: Lines, \n-0000e2c0: 5570 3a20 4472 6177 6162 6c65 730a 0a33 Up: Drawables..3\n-0000e2d0: 2e32 2e33 2043 7572 7665 730a 2d2d 2d2d .2.3 Curves.----\n-0000e2e0: 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 --------..*Synta\n-0000e2f0: 783a 2a0a 2020 2020 2063 7572 7665 5b4f x:*. curve[O\n-0000e300: 5054 494f 4e53 5d20 504f 494e 545f 4c49 PTIONS] POINT_LI\n-0000e310: 5354 0a54 6869 7320 636f 6d6d 616e 6420 ST.This command \n-0000e320: 6973 2074 6865 2074 6872 6565 2d64 696d is the three-dim\n-0000e330: 656e 7369 6f6e 616c 2065 7175 6976 616c ensional equival\n-0000e340: 656e 7420 6f66 2074 6865 20e2 8098 5053 ent of the ...PS\n-0000e350: 5472 6963 6b73 e280 990a 636f 6d6d 616e Tricks....comman\n-0000e360: 6420 e280 985c 7073 6375 7276 65e2 8099 d ...\\pscurve...\n-0000e370: 2e20 2049 7420 6973 206e 6f74 2069 6d70 . It is not imp\n-0000e380: 6c65 6d65 6e74 6564 2069 6e20 7468 6520 lemented in the \n-0000e390: 6375 7272 656e 7420 7665 7273 696f 6e20 current version \n-0000e3a0: 6f66 0ae2 8098 736b 6574 6368 e280 992e of....sketch....\n-0000e3b0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-0000e3c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 506f .info, Node: Po\n-0000e3d0: 6c79 676f 6e73 2c20 204e 6578 743a 2053 lygons, Next: S\n-0000e3e0: 7065 6369 616c 732c 2020 5072 6576 3a20 pecials, Prev: \n-0000e3f0: 4375 7276 6573 2c20 2055 703a 2044 7261 Curves, Up: Dra\n-0000e400: 7761 626c 6573 0a0a 332e 322e 3420 506f wables..3.2.4 Po\n-0000e410: 6c79 676f 6e73 0a2d 2d2d 2d2d 2d2d 2d2d lygons.---------\n-0000e420: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:*\n-0000e430: 0a20 2020 2020 706f 6c79 676f 6e5b 4f50 . polygon[OP\n-0000e440: 5449 4f4e 535d 2050 4f49 4e54 5f4c 4953 TIONS] POINT_LIS\n-0000e450: 540a 5468 6973 2063 6f6d 6d61 6e64 2069 T.This command i\n-0000e460: 7320 7468 6520 7468 7265 652d 6469 6d65 s the three-dime\n-0000e470: 6e73 696f 6e61 6c20 6571 7569 7661 6c65 nsional equivale\n-0000e480: 6e74 206f 6620 7468 6520 e280 9850 5354 nt of the ...PST\n-0000e490: 7269 636b 73e2 8099 0a63 6f6d 6d61 6e64 ricks....command\n-0000e4a0: 20e2 8098 5c70 7370 6f6c 7967 6f6e e280 ...\\pspolygon..\n-0000e4b0: 992e 2020 5468 6520 e280 9873 6b65 7463 .. The ...sketc\n-0000e4c0: 68e2 8099 2068 6964 6465 6e20 7375 7266 h... hidden surf\n-0000e4d0: 6163 6520 616c 676f 7269 7468 6d20 6173 ace algorithm as\n-0000e4e0: 7375 6d65 730a 7468 6174 2070 6f6c 7967 sumes.that polyg\n-0000e4f0: 6f6e 7320 6172 6520 636f 6e76 6578 2061 ons are convex a\n-0000e500: 6e64 2070 6c61 6e61 722e 2020 496e 2070 nd planar. In p\n-0000e510: 7261 6374 6963 652c 2064 7261 7769 6e67 ractice, drawing\n-0000e520: 7320 6d61 7920 7765 6c6c 0a74 7572 6e20 s may well.turn \n-0000e530: 6f75 7420 636f 7272 6563 746c 7920 6576 out correctly ev\n-0000e540: 656e 2069 6620 7468 6573 6520 6173 7375 en if these assu\n-0000e550: 6d70 7469 6f6e 7320 6172 6520 7669 6f6c mptions are viol\n-0000e560: 6174 6564 2e0a 0a1f 0a46 696c 653a 2073 ated.....File: s\n-0000e570: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-0000e580: 653a 2053 7065 6369 616c 732c 2020 4e65 e: Specials, Ne\n-0000e590: 7874 3a20 5377 6565 7073 2c20 2050 7265 xt: Sweeps, Pre\n-0000e5a0: 763a 2050 6f6c 7967 6f6e 732c 2020 5570 v: Polygons, Up\n-0000e5b0: 3a20 4472 6177 6162 6c65 730a 0a33 2e32 : Drawables..3.2\n-0000e5c0: 2e35 2053 7065 6369 616c 730a 2d2d 2d2d .5 Specials.----\n-0000e5d0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e ----------..*Syn\n-0000e5e0: 7461 783a 2a0a 2020 2020 2073 7065 6369 tax:*. speci\n-0000e5f0: 616c 2024 5241 575f 5445 5854 245b 4f50 al $RAW_TEXT$[OP\n-0000e600: 5449 4f4e 535d 2041 5247 5f4c 4953 540a TIONS] ARG_LIST.\n-0000e610: 4865 7265 20e2 8098 24e2 8099 2063 616e Here ...$... can\n-0000e620: 2062 6520 616e 7920 6368 6172 6163 7465 be any characte\n-0000e630: 7220 616e 6420 6973 2075 7365 6420 746f r and is used to\n-0000e640: 2064 656c 696d 6974 2074 6865 2073 7461 delimit the sta\n-0000e650: 7274 2061 6e64 2065 6e64 0a6f 6620 5241 rt and end.of RA\n-0000e660: 575f 5445 5854 2e20 2054 6865 2063 6f6d W_TEXT. The com\n-0000e670: 6d61 6e64 2065 6d62 6564 7320 5241 575f mand embeds RAW_\n-0000e680: 5445 5854 2069 6e20 7468 6520 e280 9873 TEXT in the ...s\n-0000e690: 6b65 7463 68e2 8099 206f 7574 7075 7420 ketch... output \n-0000e6a0: 6166 7465 720a 7065 7266 6f72 6d69 6e67 after.performing\n-0000e6b0: 2073 7562 7374 6974 7574 696f 6e73 2061 substitutions a\n-0000e6c0: 7320 666f 6c6c 6f77 732e 0a20 2020 e280 s follows.. ..\n-0000e6d0: a220 e280 9823 49e2 8099 2077 6865 7265 . ...#I... where\n-0000e6e0: 2049 2069 7320 6120 706f 7369 7469 7665 I is a positive\n-0000e6f0: 2069 6e74 6567 6572 2069 7320 7265 706c integer is repl\n-0000e700: 6163 6564 2062 7920 7468 6520 4927 7468 aced by the I'th\n-0000e710: 2076 616c 7565 2069 6e0a 2020 2020 2041 value in. A\n-0000e720: 5247 5f4c 4953 542e 2020 506f 696e 7420 RG_LIST. Point \n-0000e730: 616e 6420 7665 6374 6f72 2061 7267 756d and vector argum\n-0000e740: 656e 7473 2062 6563 6f6d 6520 7477 6f2d ents become two-\n-0000e750: 6469 6d65 6e73 696f 6e61 6c0a 2020 2020 dimensional. \n-0000e760: 2070 6f69 6e74 732c 2077 6869 6368 2061 points, which a\n-0000e770: 7265 2074 6865 2074 7261 6e73 666f 726d re the transform\n-0000e780: 6564 2033 6420 6172 6775 6d65 6e74 7320 ed 3d arguments \n-0000e790: 7072 6f6a 6563 7465 6420 6f6e 746f 2074 projected onto t\n-0000e7a0: 6865 0a20 2020 2020 582d 5920 706c 616e he. X-Y plan\n-0000e7b0: 652e 2020 5468 6973 2061 6c6c 6f77 7320 e. This allows \n-0000e7c0: 7477 6f2d 6469 6d65 6e74 696f 6e61 6c20 two-dimentional \n-0000e7d0: 6f75 7470 7574 2065 6c65 6d65 6e74 7320 output elements \n-0000e7e0: 7375 6368 2061 730a 2020 2020 206c 6162 such as. lab\n-0000e7f0: 656c 7320 746f 2062 6520 6561 7369 6c79 els to be easily\n-0000e800: 2070 6f73 6974 696f 6e65 6420 7769 7468 positioned with\n-0000e810: 2072 6573 7065 6374 2074 6f20 7468 7265 respect to thre\n-0000e820: 652d 6469 6d65 6e73 696f 6e61 6c0a 2020 e-dimensional. \n-0000e830: 2020 2066 6561 7475 7265 7320 696e 2074 features in t\n-0000e840: 6865 2064 7261 7769 6e67 2e20 2053 6361 he drawing. Sca\n-0000e850: 6c61 7220 6172 6775 6d65 6e74 7320 6172 lar arguments ar\n-0000e860: 6520 7375 6273 6974 7574 6564 2064 6972 e subsituted dir\n-0000e870: 6563 746c 792e 0a20 2020 2020 4e6f 2074 ectly.. No t\n-0000e880: 7261 6e73 666f 726d 6174 696f 6e20 6973 ransformation is\n-0000e890: 2061 7070 6c69 6564 2e0a 2020 20e2 80a2 applied.. ...\n-0000e8a0: 20e2 8098 237b 497d e280 9920 6973 2061 ...#{I}... is a\n-0000e8b0: 6c73 6f20 7265 706c 6163 6564 2061 7320 lso replaced as \n-0000e8c0: 6162 6f76 652e 0a20 2020 e280 a220 e280 above.. ... ..\n-0000e8d0: 9823 4927 32e2 8099 2069 7320 7265 706c .#I'2... is repl\n-0000e8e0: 6163 6564 2061 7320 6162 6f76 6520 666f aced as above fo\n-0000e8f0: 7220 706f 696e 7473 206f 7220 7665 6374 r points or vect\n-0000e900: 6f72 732e 2020 4974 2069 7320 616e 2065 ors. It is an e\n-0000e910: 7272 6f72 0a20 2020 2020 666f 7220 7468 rror. for th\n-0000e920: 6520 4927 7468 2061 7267 756d 656e 7420 e I'th argument \n-0000e930: 746f 2062 6520 6120 7363 616c 6172 2e0a to be a scalar..\n-0000e940: 2020 20e2 80a2 20e2 8098 2349 2778 e280 ... ...#I'x..\n-0000e950: 992c 20e2 8098 2349 2779 e280 992c 206f ., ...#I'y..., o\n-0000e960: 7220 e280 9823 4927 7ae2 8099 2069 7320 r ...#I'z... is \n-0000e970: 7265 706c 6163 6564 2c20 7265 7370 6563 replaced, respec\n-0000e980: 7469 7665 6c79 2c20 6279 2074 6865 2073 tively, by the s\n-0000e990: 6361 6c61 720a 2020 2020 2058 2c20 592c calar. X, Y,\n-0000e9a0: 206f 7220 5a2d 636f 6f72 6469 6e61 7465 or Z-coordinate\n-0000e9b0: 206f 6620 7468 6520 6172 6775 6d65 6e74 of the argument\n-0000e9c0: 2070 6f69 6e74 206f 7220 7665 6374 6f72 point or vector\n-0000e9d0: 2e20 2049 7420 6973 2061 6e0a 2020 2020 . It is an. \n-0000e9e0: 2065 7272 6f72 2066 6f72 2074 6865 2049 error for the I\n-0000e9f0: 2774 6820 6172 6775 6d65 6e74 2074 6f20 'th argument to \n-0000ea00: 6265 2061 2073 6361 6c61 722e 0a20 2020 be a scalar.. \n-0000ea10: e280 a220 e280 9823 4927 33e2 8099 2069 ... ...#I'3... i\n-0000ea20: 7320 7265 706c 6163 6564 2062 7920 7468 s replaced by th\n-0000ea30: 6520 7468 7265 652d 6469 6d65 6e73 696f e three-dimensio\n-0000ea40: 6e61 6c20 7472 616e 7366 6f72 6d65 6420 nal transformed \n-0000ea50: 6172 6775 6d65 6e74 2e0a 2020 2020 204e argument.. N\n-0000ea60: 6f74 6520 7468 6174 2069 6620 6120 7065 ote that if a pe\n-0000ea70: 7273 7065 6374 6976 6520 7472 616e 7366 rspective transf\n-0000ea80: 6f72 6d61 7469 6f6e 2068 6173 2062 6565 ormation has bee\n-0000ea90: 6e20 6170 706c 6965 642c 2074 6865 0a20 n applied, the. \n-0000eaa0: 2020 2020 5a2d 636f 6f72 6469 6e61 7465 Z-coordinate\n-0000eab0: 2068 6173 206c 6974 746c 6520 6765 6f6d has little geom\n-0000eac0: 6574 7269 6320 7369 676e 6966 6963 616e etric significan\n-0000ead0: 6365 2c20 7468 6f75 6768 2069 740a 2020 ce, though it. \n-0000eae0: 2020 2061 6363 7572 6174 656c 7920 696e accurately in\n-0000eaf0: 6469 6361 7465 7320 7265 6c61 7469 7665 dicates relative\n-0000eb00: 2064 6570 7468 2e0a 2020 20e2 80a2 20e2 depth.. ... .\n-0000eb10: 8098 2349 2d4a e280 9920 7768 6572 6520 ..#I-J... where \n-0000eb20: 4920 616e 6420 4a20 6172 6520 706f 7369 I and J are posi\n-0000eb30: 7469 7665 2069 6e74 6567 6572 7320 6973 tive integers is\n-0000eb40: 2072 6570 6c61 6365 6420 6279 2061 2073 replaced by a s\n-0000eb50: 7472 696e 670a 2020 2020 20e2 8098 7b41 tring. ...{A\n-0000eb60: 4e47 4c45 7de2 8099 2077 6865 7265 2041 NGLE}... where A\n-0000eb70: 4e47 4c45 2069 7320 7468 6520 706f 6c61 NGLE is the pola\n-0000eb80: 7220 616e 676c 6520 6f66 2061 2076 6563 r angle of a vec\n-0000eb90: 746f 7220 6672 6f6d 2074 6865 2049 2774 tor from the I't\n-0000eba0: 680a 2020 2020 2070 6f69 6e74 2069 6e20 h. point in \n-0000ebb0: 504f 494e 545f 4c49 5354 2074 6f20 7468 POINT_LIST to th\n-0000ebc0: 6520 4a27 7468 2070 6f69 6e74 2070 726f e J'th point pro\n-0000ebd0: 6a65 6374 6564 2069 6e74 6f20 7468 6520 jected into the \n-0000ebe0: 782d 7920 706c 616e 652e 0a20 2020 2020 x-y plane.. \n-0000ebf0: 4974 2069 7320 616e 2065 7272 6f72 2066 It is an error f\n-0000ec00: 6f72 2074 6865 2049 2774 6820 6f72 204a or the I'th or J\n-0000ec10: 2774 6820 6172 6775 6d65 6e74 2074 6f20 'th argument to \n-0000ec20: 6265 2061 2073 6361 6c61 7220 6f72 2061 be a scalar or a\n-0000ec30: 0a20 2020 2020 7665 6374 6f72 2e0a 2020 . vector.. \n-0000ec40: 20e2 80a2 20e2 8098 237b 492d 4a7d e280 ... ...#{I-J}..\n-0000ec50: 9920 6973 2061 6c73 6f20 7265 706c 6163 . is also replac\n-0000ec60: 6564 2061 7320 6162 6f76 652e 0a20 2020 ed as above.. \n-0000ec70: e280 a220 e280 9823 23e2 8099 2069 7320 ... ...##... is \n-0000ec80: 7265 706c 6163 6564 2077 6974 6820 e280 replaced with ..\n-0000ec90: 9823 e280 992e 0a54 6865 2066 6f72 6d73 .#.....The forms\n-0000eca0: 2077 6974 6820 6272 6163 6573 20e2 8098 with braces ...\n-0000ecb0: 7b20 7de2 8099 2061 7265 2075 7365 6675 { }... are usefu\n-0000ecc0: 6c20 7768 656e 2074 6865 2061 7267 756d l when the argum\n-0000ecd0: 656e 7420 6973 2069 6d6d 6564 6961 7465 ent is immediate\n-0000ece0: 6c79 0a66 6f6c 6c6f 7765 6420 6279 2061 ly.followed by a\n-0000ecf0: 2064 6967 6974 206f 7220 6120 7469 636b digit or a tick\n-0000ed00: 2063 6861 7261 6374 6572 2074 6861 7420 character that \n-0000ed10: 6973 2070 6172 7420 6f66 2074 6865 2054 is part of the T\n-0000ed20: 6558 2063 6f64 652e 0a0a 2020 2054 6865 eX code... The\n-0000ed30: 206f 6e6c 7920 7573 6566 756c 206f 7074 only useful opt\n-0000ed40: 696f 6e20 6f66 20e2 8098 7370 6563 6961 ion of ...specia\n-0000ed50: 6ce2 8099 2069 7320 e280 986c 6179 e280 l... is ...lay..\n-0000ed60: 992c 2077 6869 6368 2064 6574 6572 6d69 ., which determi\n-0000ed70: 6e65 7320 6966 2074 6865 0a73 7562 7374 nes if the.subst\n-0000ed80: 6974 7565 6420 7261 7720 7465 7874 2069 itued raw text i\n-0000ed90: 7320 656d 6974 7465 6420 6265 666f 7265 s emitted before\n-0000eda0: 2c20 6166 7465 722c 206f 7220 7573 696e , after, or usin\n-0000edb0: 6720 7468 6520 6669 7273 7420 706f 696e g the first poin\n-0000edc0: 740a 696e 2050 4f49 4e54 5f4c 4953 5420 t.in POINT_LIST \n-0000edd0: 6173 2061 6e20 696e 6469 6361 746f 7220 as an indicator \n-0000ede0: 6f66 2064 6570 7468 2e20 2054 6865 7365 of depth. These\n-0000edf0: 206f 6363 7572 2c20 7265 7370 6563 7469 occur, respecti\n-0000ee00: 7665 6c79 2c20 7769 7468 0ae2 8098 6c61 vely, with....la\n-0000ee10: 793d 756e 6465 72e2 8099 2c20 e280 986c y=under..., ...l\n-0000ee20: 6179 3d6f 7665 72e2 8099 2c20 616e 6420 ay=over..., and \n-0000ee30: e280 986c 6179 3d69 6ee2 8099 2e20 2053 ...lay=in.... S\n-0000ee40: 6565 202a 6e6f 7465 2053 7065 6369 616c ee *note Special\n-0000ee50: 206f 626a 6563 7473 3a3a 2061 6e64 0a2a objects:: and.*\n-0000ee60: 6e6f 7465 2054 696b 5a2f 5047 4620 7573 note TikZ/PGF us\n-0000ee70: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style\n-0000ee80: 733a 3a20 666f 7220 6578 616d 706c 6573 s:: for examples\n-0000ee90: 2e20 202a 4e6f 7465 2049 6e74 6572 6e61 . *Note Interna\n-0000eea0: 6c0a 6f70 7469 6f6e 733a 3a2e 0a0a 1f0a l.options::.....\n-0000eeb0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n-0000eec0: 6f2c 2020 4e6f 6465 3a20 5377 6565 7073 o, Node: Sweeps\n-0000eed0: 2c20 204e 6578 743a 2042 6c6f 636b 732c , Next: Blocks,\n-0000eee0: 2020 5072 6576 3a20 5370 6563 6961 6c73 Prev: Specials\n-0000eef0: 2c20 2055 703a 2044 7261 7761 626c 6573 , Up: Drawables\n-0000ef00: 0a0a 332e 322e 3620 5377 6565 7073 0a2d ..3.2.6 Sweeps.-\n-0000ef10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 -----------..*Sy\n-0000ef20: 6e74 6178 3a2a 0a20 2020 2020 7377 6565 ntax:*. swee\n-0000ef30: 7020 7b20 4e2c 2054 5f31 2c20 545f 322c p { N, T_1, T_2,\n-0000ef40: 202e 2e2e 2c20 545f 5220 7d5b 4f50 5449 ..., T_R }[OPTI\n-0000ef50: 4f4e 535d 2053 5745 5054 5f4f 424a 4543 ONS] SWEPT_OBJEC\n-0000ef60: 540a 2020 2020 2073 7765 6570 207b 204e T. sweep { N\n-0000ef70: 3c3e 2c20 545f 312c 2054 5f32 2c20 2e2e <>, T_1, T_2, ..\n-0000ef80: 2e2c 2054 5f52 207d 5b4f 5054 494f 4e53 ., T_R }[OPTIONS\n-0000ef90: 5d20 5357 4550 545f 4f42 4a45 4354 0a54 ] SWEPT_OBJECT.T\n-0000efa0: 6865 2073 7765 6570 2063 6f6e 6e65 6374 he sweep connect\n-0000efb0: 7320 4e20 286f 7220 7065 7268 6170 7320 s N (or perhaps \n-0000efc0: 4e2b 3129 2063 6f70 6965 7320 6f66 2053 N+1) copies of S\n-0000efd0: 5745 5054 5f4f 424a 4543 5420 696e 206f WEPT_OBJECT in o\n-0000efe0: 7264 6572 2074 6f0a 6372 6561 7465 2061 rder to.create a\n-0000eff0: 206e 6577 206f 626a 6563 7420 6f66 2068 new object of h\n-0000f000: 6967 6865 7220 6469 6d65 6e73 696f 6e2e igher dimension.\n-0000f010: 2020 5468 6520 545f 4920 2866 6f72 2069 The T_I (for i\n-0000f020: 2062 6574 7765 656e 2031 2061 6e64 0a72 between 1 and.r\n-0000f030: 2920 6172 6520 7472 616e 7366 6f72 6d73 ) are transforms\n-0000f040: 2e20 2054 6865 206b 2774 6820 636f 7079 . The k'th copy\n-0000f050: 206f 6620 5357 4550 545f 4f42 4a45 4354 of SWEPT_OBJECT\n-0000f060: 2069 7320 7072 6f64 7563 6564 2062 790a is produced by.\n-0000f070: 6170 706c 7969 6e67 2074 6865 2066 6f6c applying the fol\n-0000f080: 6c6f 7769 6e67 2074 7261 6e73 666f 726d lowing transform\n-0000f090: 2074 6f20 7468 6520 6f72 6967 696e 616c to the original\n-0000f0a0: 2e0a 2020 2020 2054 5f31 5e6b 2074 6865 .. T_1^k the\n-0000f0b0: 6e20 545f 325e 6b20 7468 656e 202e 2e2e n T_2^k then ...\n-0000f0c0: 2074 6865 6e20 545f 525e 6b0a 4865 7265 then T_R^k.Here\n-0000f0d0: 2054 5e6b 206d 6561 6e73 2022 7472 616e T^k means \"tran\n-0000f0e0: 7366 6f72 6d20 5420 6170 706c 6965 6420 sform T applied \n-0000f0f0: 6b20 7469 6d65 732e 2220 2054 6865 206f k times.\" The o\n-0000f100: 7269 6769 6e61 6c20 6f62 6a65 6374 2069 riginal object i\n-0000f110: 730a 7468 6520 7a65 726f 2774 6820 636f s.the zero'th co\n-0000f120: 7079 2c20 7769 7468 206b 3d30 2061 6e64 py, with k=0 and\n-0000f130: 2065 6666 6563 7469 7665 6c79 206e 6f20 effectively no \n-0000f140: 7472 616e 7366 6f72 6d20 6170 706c 6965 transform applie\n-0000f150: 6420 2854 5e30 3d49 2c0a 7468 6520 6964 d (T^0=I,.the id\n-0000f160: 656e 7469 7479 2074 7261 6e73 666f 726d entity transform\n-0000f170: 292e 0a0a 2020 2054 6865 206d 6574 686f )... The metho\n-0000f180: 6420 6f66 2063 6f6e 6e65 6374 696e 6720 d of connecting \n-0000f190: 7468 6520 636f 7069 6573 2064 6570 656e the copies depen\n-0000f1a0: 6473 206f 6e20 7468 6520 7479 7065 206f ds on the type o\n-0000f1b0: 660a 5357 4550 545f 4f42 4a45 4354 2061 f.SWEPT_OBJECT a\n-0000f1c0: 6e64 206f 6e20 7768 6574 6865 7220 7468 nd on whether th\n-0000f1d0: 6520 636c 6f73 7572 6520 7461 6720 e280 e closure tag ..\n-0000f1e0: 983c 3ee2 8099 2069 7320 7072 6573 656e .<>... is presen\n-0000f1f0: 7420 6f72 206e 6f74 2e0a 0a20 2020 416e t or not... An\n-0000f200: 2065 7861 6d70 6c65 206f 6620 6120 7377 example of a sw\n-0000f210: 6565 7020 7768 6572 6520 723d 3220 6973 eep where r=2 is\n-0000f220: 2074 6865 204d 6f62 6975 7320 6669 6775 the Mobius figu\n-0000f230: 7265 2061 7420 2a6e 6f74 6520 4d6f 7265 re at *note More\n-0000f240: 2074 6f0a 6c65 6172 6e3a 3a2e 0a0a 2a20 to.learn::...* \n-0000f250: 4d65 6e75 3a0a 0a2a 2053 7765 7074 2070 Menu:..* Swept p\n-0000f260: 6f69 6e74 733a 3a20 2020 2020 2020 2020 oints:: \n-0000f270: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi\n-0000f280: 6e74 7320 6d61 6b65 206c 696e 6573 206f nts make lines o\n-0000f290: 7220 706f 6c79 676f 6e73 2e0a 2a20 5377 r polygons..* Sw\n-0000f2a0: 6570 7420 6c69 6e65 733a 3a20 2020 2020 ept lines:: \n-0000f2b0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-0000f2c0: 7420 6c69 6e65 7320 6d61 6b65 206f 7065 t lines make ope\n-0000f2d0: 6e20 6f72 2063 6c6f 7365 6420 7375 7266 n or closed surf\n-0000f2e0: 6163 6573 2e0a 2a20 5377 6570 7420 706f aces..* Swept po\n-0000f2f0: 6c79 676f 6e73 3a3a 2020 2020 2020 2020 lygons:: \n-0000f300: 2020 2020 2020 5377 6570 7420 706f 6c79 Swept poly\n-0000f310: 676f 6e73 206d 616b 6520 636c 6f73 6564 gons make closed\n-0000f320: 2073 7572 6661 6365 732e 0a2a 2053 7765 surfaces..* Swe\n-0000f330: 7074 2062 6c6f 636b 733a 3a20 2020 2020 pt blocks:: \n-0000f340: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-0000f350: 2062 6c6f 636b 20e2 89a1 2062 6c6f 636b block ... block\n-0000f360: 206f 6620 7377 6565 7073 2e0a 2a20 5377 of sweeps..* Sw\n-0000f370: 6565 7020 6661 6365 2073 706c 6974 7469 eep face splitti\n-0000f380: 6e67 3a3a 2020 2020 2020 2020 4669 7869 ng:: Fixi\n-0000f390: 6e67 2077 6172 7065 6420 6661 6365 7320 ng warped faces \n-0000f3a0: 7769 7468 2074 7269 616e 676c 6573 2e0a with triangles..\n-0000f3b0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n-0000f3c0: 696e 666f 2c20 204e 6f64 653a 2053 7765 info, Node: Swe\n-0000f3d0: 7074 2070 6f69 6e74 732c 2020 4e65 7874 pt points, Next\n-0000f3e0: 3a20 5377 6570 7420 6c69 6e65 732c 2020 : Swept lines, \n-0000f3f0: 5072 6576 3a20 5377 6565 7073 2c20 2055 Prev: Sweeps, U\n-0000f400: 703a 2053 7765 6570 730a 0a33 2e32 2e36 p: Sweeps..3.2.6\n-0000f410: 2e31 2053 7765 7074 2070 6f69 6e74 730a .1 Swept points.\n-0000f420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000f430: 2e2e 2e2e 0a0a 4966 2053 5745 5054 5f4f ......If SWEPT_O\n-0000f440: 424a 4543 5420 6973 2061 2070 6f69 6e74 BJECT is a point\n-0000f450: 206c 6973 7420 616e 6420 7468 6572 6520 list and there \n-0000f460: 6973 206e 6f20 636c 6f73 7572 6520 7461 is no closure ta\n-0000f470: 672c 2074 6865 6e0a e280 9873 7765 6570 g, then....sweep\n-0000f480: e280 9920 636f 6e6e 6563 7473 204e 2b31 ... connects N+1\n-0000f490: 2073 7563 6365 7373 6976 6520 636f 7069 successive copi\n-0000f4a0: 6573 206f 6620 6561 6368 2070 6f69 6e74 es of each point\n-0000f4b0: 2028 696e 636c 7564 696e 6720 7468 650a (including the.\n-0000f4c0: 6f72 6967 696e 616c 2920 7769 7468 2073 original) with s\n-0000f4d0: 7472 6169 6768 7420 6c69 6e65 2073 6567 traight line seg\n-0000f4e0: 6d65 6e74 7320 746f 2066 6f72 6d20 6120 ments to form a \n-0000f4f0: 706f 6c79 6c69 6e65 2e20 2049 6620 7468 polyline. If th\n-0000f500: 6572 6520 6172 650a 6d20 706f 696e 7473 ere are.m points\n-0000f510: 2069 6e20 7468 6520 6f72 6967 696e 616c in the original\n-0000f520: 2070 6f69 6e74 206c 6973 742c 2074 6865 point list, the\n-0000f530: 6e20 6d20 706f 6c79 6c69 6e65 7320 7769 n m polylines wi\n-0000f540: 7468 204e 2073 6567 6d65 6e74 730a 6561 th N segments.ea\n-0000f550: 6368 2061 7265 2066 6f72 6d65 6420 6279 ch are formed by\n-0000f560: 2074 6865 2073 7765 6570 2e20 2049 6e20 the sweep. In \n-0000f570: 7468 6973 206d 616e 6e65 722c 20e2 8098 this manner, ...\n-0000f580: 7377 6565 70e2 8099 2066 6f72 6d73 2061 sweep... forms a\n-0000f590: 2073 6574 206f 660a 6f6e 652d 6469 6d65 set of.one-dime\n-0000f5a0: 6e73 696f 6e61 6c20 6f62 6a65 6374 7320 nsional objects \n-0000f5b0: 2870 6f6c 796c 696e 6573 2920 6672 6f6d (polylines) from\n-0000f5c0: 207a 6572 6f2d 6469 6d65 6e73 696f 6e61 zero-dimensiona\n-0000f5d0: 6c20 6f6e 6573 2028 706f 696e 7473 292e l ones (points).\n-0000f5e0: 0a0a 2020 2057 6865 6e20 7468 6572 6520 .. When there \n-0000f5f0: 5f69 735f 2061 2063 6c6f 7375 7265 2074 _is_ a closure t\n-0000f600: 6167 2c20 e280 9873 7765 6570 e280 9920 ag, ...sweep... \n-0000f610: 636f 6e6e 6563 7473 204e 2073 7563 6365 connects N succe\n-0000f620: 7373 6976 6520 636f 7069 6573 0a6f 6620 ssive copies.of \n-0000f630: 6561 6368 2070 6f69 6e74 2028 696e 636c each point (incl\n-0000f640: 7564 696e 6720 7468 6520 6f72 6967 696e uding the origin\n-0000f650: 616c 2920 7769 7468 2073 7472 6169 6768 al) with straigh\n-0000f660: 7420 6c69 6e65 2073 6567 6d65 6e74 7320 t line segments \n-0000f670: 616e 640a 6669 6e61 6c6c 7920 636f 6e6e and.finally conn\n-0000f680: 6563 7473 2074 6865 206c 6173 7420 636f ects the last co\n-0000f690: 7079 2062 6163 6b20 746f 2074 6865 206f py back to the o\n-0000f6a0: 7269 6769 6e61 6c20 746f 2066 6f72 6d20 riginal to form \n-0000f6b0: 6120 706f 6c79 676f 6e0a 7769 7468 204e a polygon.with N\n-0000f6c0: 2073 6964 6573 2e20 2049 6620 7468 6572 sides. If ther\n-0000f6d0: 6520 6172 6520 6d20 706f 696e 7473 2069 e are m points i\n-0000f6e0: 6e20 7468 6520 6f72 6967 696e 616c 2070 n the original p\n-0000f6f0: 6f69 6e74 206c 6973 742c 2074 6865 6e20 oint list, then \n-0000f700: 6d0a 706f 6c79 676f 6e73 2077 6974 6820 m.polygons with \n-0000f710: 4e20 7369 6465 7320 6561 6368 2061 7265 N sides each are\n-0000f720: 2066 6f72 6d65 6420 6279 2074 6865 2073 formed by the s\n-0000f730: 7765 6570 2e20 2049 6e20 7468 6973 206d weep. In this m\n-0000f740: 616e 6e65 722c 0ae2 8098 7377 6565 70e2 anner,....sweep.\n-0000f750: 8099 2066 6f72 6d73 2061 2073 6574 206f .. forms a set o\n-0000f760: 6620 7477 6f2d 6469 6d65 6e73 696f 6e61 f two-dimensiona\n-0000f770: 6c20 6f62 6a65 6374 7320 2870 6f6c 7967 l objects (polyg\n-0000f780: 6f6e 7329 2066 726f 6d0a 7a65 726f 2d64 ons) from.zero-d\n-0000f790: 696d 656e 7369 6f6e 616c 206f 6e65 7320 imensional ones \n-0000f7a0: 2870 6f69 6e74 7329 2e0a 0a20 2020 4f70 (points)... Op\n-0000f7b0: 7469 6f6e 7320 6f66 2074 6865 20e2 8098 tions of the ...\n-0000f7c0: 7377 6565 70e2 8099 2061 7265 2063 6f70 sweep... are cop\n-0000f7d0: 6965 6420 6469 7265 6374 6c79 2074 6f20 ied directly to \n-0000f7e0: 7468 6520 7265 7375 6c74 696e 670a 706f the resulting.po\n-0000f7f0: 6c79 6c69 6e65 2873 292e 0a0a 1f0a 4669 lyline(s).....Fi\n-0000f800: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-0000f810: 2020 4e6f 6465 3a20 5377 6570 7420 6c69 Node: Swept li\n-0000f820: 6e65 732c 2020 4e65 7874 3a20 5377 6570 nes, Next: Swep\n-0000f830: 7420 706f 6c79 676f 6e73 2c20 2050 7265 t polygons, Pre\n-0000f840: 763a 2053 7765 7074 2070 6f69 6e74 732c v: Swept points,\n-0000f850: 2020 5570 3a20 5377 6565 7073 0a0a 332e Up: Sweeps..3.\n-0000f860: 322e 362e 3220 5377 6570 7420 6c69 6e65 2.6.2 Swept line\n-0000f870: 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e s...............\n-0000f880: 2e2e 2e2e 2e0a 0a49 6620 5357 4550 545f .......If SWEPT_\n-0000f890: 4f42 4a45 4354 2069 7320 6120 706f 6c79 OBJECT is a poly\n-0000f8a0: 6c69 6e65 2061 6e64 2074 6865 7265 2069 line and there i\n-0000f8b0: 7320 6e6f 2063 6c6f 7375 7265 2074 6167 s no closure tag\n-0000f8c0: 2c20 7468 656e 20e2 8098 7377 6565 70e2 , then ...sweep.\n-0000f8d0: 8099 0a63 6f6e 6e65 6374 7320 4e2b 3120 ...connects N+1 \n-0000f8e0: 7375 6363 6573 7369 7665 2063 6f70 6965 successive copie\n-0000f8f0: 7320 6f66 2074 6865 2070 6f6c 796c 696e s of the polylin\n-0000f900: 6520 2869 6e63 6c75 6469 6e67 2074 6865 e (including the\n-0000f910: 206f 7269 6769 6e61 6c29 0a77 6974 6820 original).with \n-0000f920: 666f 7572 2d73 6964 6564 2070 6f6c 7967 four-sided polyg\n-0000f930: 6f6e 732c 2065 6163 6820 7061 6972 206f ons, each pair o\n-0000f940: 6620 636f 7069 6573 2067 6976 696e 6720 f copies giving \n-0000f950: 7269 7365 2074 6f20 6120 2270 6f6c 7967 rise to a \"polyg\n-0000f960: 6f6e 0a73 7472 6970 2e22 2020 4966 2074 on.strip.\" If t\n-0000f970: 6865 7265 2061 7265 206d 2070 6f69 6e74 here are m point\n-0000f980: 7320 696e 2074 6865 206f 7269 6769 6e61 s in the origina\n-0000f990: 6c20 706f 6c79 6c69 6e65 2c20 7468 656e l polyline, then\n-0000f9a0: 2028 6d2d 3129 4e0a 706f 6c79 676f 6e73 (m-1)N.polygons\n-0000f9b0: 2061 7265 2066 6f72 6d65 6420 6279 2074 are formed by t\n-0000f9c0: 6865 2073 7765 6570 2e20 2057 6520 6361 he sweep. We ca\n-0000f9d0: 6c6c 2074 6865 7365 20e2 809c 626f 6479 ll these ...body\n-0000f9e0: 2070 6f6c 7967 6f6e 73e2 809d 2e20 2049 polygons.... I\n-0000f9f0: 6e0a 7468 6973 206d 616e 6e65 722c 20e2 n.this manner, .\n-0000fa00: 8098 7377 6565 70e2 8099 2066 6f72 6d73 ..sweep... forms\n-0000fa10: 2061 2074 776f 2d64 696d 656e 7369 6f6e a two-dimension\n-0000fa20: 616c 2073 7572 6661 6365 2066 726f 6d20 al surface from \n-0000fa30: 6672 6f6d 2061 0a6f 6e65 2d64 696d 656e from a.one-dimen\n-0000fa40: 7369 6f6e 616c 2070 6f6c 796c 696e 652e sional polyline.\n-0000fa50: 0a0a 2020 2054 6865 206f 7264 6572 206f .. The order o\n-0000fa60: 6620 7665 7274 6963 6573 2070 726f 6475 f vertices produ\n-0000fa70: 6365 6420 6279 20e2 8098 7377 6565 70e2 ced by ...sweep.\n-0000fa80: 8099 2069 7320 696d 706f 7274 616e 742e .. is important.\n-0000fa90: 2020 4966 2061 0a70 6f6c 7967 6f6e 2773 If a.polygon's\n-0000faa0: 2076 6572 7469 6365 7320 646f 206e 6f74 vertices do not\n-0000fab0: 2061 7070 6561 7220 696e 2063 6f75 6e74 appear in count\n-0000fac0: 6572 2d63 6c6f 636b 7769 7365 206f 7264 er-clockwise ord\n-0000fad0: 6572 2069 6e20 7468 6520 6669 6e61 6c0a er in the final.\n-0000fae0: 696d 6167 652c 2074 6865 2070 6f6c 7967 image, the polyg\n-0000faf0: 6f6e 2077 696c 6c20 6265 2063 756c 6c65 on will be culle\n-0000fb00: 6420 2875 6e6c 6573 7320 e280 9863 756c d (unless ...cul\n-0000fb10: 6c3d 6661 6c73 65e2 8099 2069 7320 7365 l=false... is se\n-0000fb20: 7429 2e20 2049 6620 7468 650a 706f 696e t). If the.poin\n-0000fb30: 7473 2069 6e20 7468 6520 6b27 7468 2063 ts in the k'th c\n-0000fb40: 6f70 7920 6f66 2074 6865 2070 6f6c 796c opy of the polyl\n-0000fb50: 696e 6520 6172 6520 505f 312c 2050 5f32 ine are P_1, P_2\n-0000fb60: 2c20 2e2e 2e2c 2050 5f6d 2c20 616e 6420 , ..., P_m, and \n-0000fb70: 7468 650a 706f 696e 7473 2069 6e20 7468 the.points in th\n-0000fb80: 6520 6e65 7874 2063 6f70 792c 2074 6865 e next copy, the\n-0000fb90: 2028 6b2b 3129 7374 2c20 6172 6520 505f (k+1)st, are P_\n-0000fba0: 3127 2c20 505f 3227 2c20 2e2e 2e2c 2050 1', P_2', ..., P\n-0000fbb0: 5f6d 272c 2074 6865 6e0a 7468 6520 7665 _m', then.the ve\n-0000fbc0: 7274 6578 206f 7264 6572 206f 6620 7468 rtex order of th\n-0000fbd0: 6520 6765 6e65 7261 7465 6420 706f 6c79 e generated poly\n-0000fbe0: 676f 6e73 2069 730a 2020 2020 2042 6f64 gons is. Bod\n-0000fbf0: 7920 706f 6c79 676f 6e20 313a 2050 5f32 y polygon 1: P_2\n-0000fc00: 2050 5f31 2050 5f31 2720 505f 3227 0a20 P_1 P_1' P_2'. \n-0000fc10: 2020 2020 426f 6479 2070 6f6c 7967 6f6e Body polygon\n-0000fc20: 2032 3a20 505f 3320 505f 3220 505f 3227 2: P_3 P_2 P_2'\n-0000fc30: 2050 5f33 270a 2020 2020 202e 2e2e 0a20 P_3'. .... \n-0000fc40: 2020 2020 426f 6479 2070 6f6c 7967 6f6e Body polygon\n-0000fc50: 206d 2d31 3a20 505f 6d20 505f 7b6d 2d31 m-1: P_m P_{m-1\n-0000fc60: 7d20 505f 7b6d 2d31 7d27 2050 5f6d 270a } P_{m-1}' P_m'.\n-0000fc70: 0a20 2020 4f70 7469 6f6e 7320 6f66 2075 . Options of u\n-0000fc80: 6e63 6c6f 7365 6420 6c69 6e65 2073 7765 nclosed line swe\n-0000fc90: 6570 7320 6172 6520 636f 7069 6564 2074 eps are copied t\n-0000fca0: 6f20 6561 6368 206f 7574 7075 7420 706f o each output po\n-0000fcb0: 6c79 676f 6e2e 0a4f 7074 696f 6e73 206f lygon..Options o\n-0000fcc0: 6620 7468 6520 7377 6570 7420 6c69 6e65 f the swept line\n-0000fcd0: 2061 7265 2069 676e 6f72 6564 2e0a 0a20 are ignored... \n-0000fce0: 2020 5768 656e 2074 6865 7265 205f 6973 When there _is\n-0000fcf0: 5f20 6120 636c 6f73 7572 6520 7461 672c _ a closure tag,\n-0000fd00: 2074 6865 6e20 e280 9873 7765 6570 e280 then ...sweep..\n-0000fd10: 9920 636f 6e6e 6563 7473 204e 2073 7563 . connects N suc\n-0000fd20: 6365 7373 6976 650a 636f 7069 6573 206f cessive.copies o\n-0000fd30: 6620 7468 6520 706f 6c79 6c69 6e65 2028 f the polyline (\n-0000fd40: 696e 636c 7564 696e 6720 7468 6520 6f72 including the or\n-0000fd50: 6967 696e 616c 2920 7769 7468 2066 6f75 iginal) with fou\n-0000fd60: 722d 7369 6465 6420 626f 6479 0a70 6f6c r-sided body.pol\n-0000fd70: 7967 6f6e 7320 6a75 7374 2061 7320 7468 ygons just as th\n-0000fd80: 6520 6361 7365 2077 6974 6820 6e6f 2063 e case with no c\n-0000fd90: 6c6f 7375 7265 2074 6167 2e20 2049 7420 losure tag. It \n-0000fda0: 7468 656e 2063 6f6e 6e65 6374 7320 7468 then connects th\n-0000fdb0: 650a 6c61 7374 2063 6f70 7920 6261 636b e.last copy back\n-0000fdc0: 2074 6f20 7468 6520 6f72 6967 696e 616c to the original\n-0000fdd0: 2074 6f20 666f 726d 2061 2072 6962 626f to form a ribbo\n-0000fde0: 6e2d 7368 6170 6564 2073 7572 6661 6365 n-shaped surface\n-0000fdf0: 2074 6861 740a 636c 6f73 6573 206f 6e20 that.closes on \n-0000fe00: 6974 7365 6c66 2077 6974 6820 7477 6f20 itself with two \n-0000fe10: 686f 6c65 7320 7265 6d61 696e 696e 672e holes remaining.\n-0000fe20: 0a0a 2020 2046 696e 616c 6c79 2c20 7468 .. Finally, th\n-0000fe30: 6520 7377 6565 7020 6164 6473 2074 776f e sweep adds two\n-0000fe40: 206d 6f72 6520 706f 6c79 676f 6e73 2074 more polygons t\n-0000fe50: 6f20 7365 616c 2074 6865 2068 6f6c 6573 o seal the holes\n-0000fe60: 2061 6e64 2066 6f72 6d0a 6120 636c 6f73 and form.a clos\n-0000fe70: 6564 2073 7572 6661 6365 2074 6861 742c ed surface that,\n-0000fe80: 2064 6570 656e 6469 6e67 206f 6e20 7468 depending on th\n-0000fe90: 6520 7377 6565 7020 7472 616e 7366 6f72 e sweep transfor\n-0000fea0: 6d73 2c20 6d61 7920 7265 7072 6573 656e ms, may represen\n-0000feb0: 740a 7468 6520 626f 756e 6461 7279 206f t.the boundary o\n-0000fec0: 6620 6120 736f 6c69 642e 2020 496e 2074 f a solid. In t\n-0000fed0: 6869 7320 6d61 6e6e 6572 2c20 e280 9873 his manner, ...s\n-0000fee0: 7765 6570 e280 9920 666f 726d 7320 7468 weep... forms th\n-0000fef0: 6520 626f 756e 6461 7279 206f 660a 6120 e boundary of.a \n-0000ff00: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona\n-0000ff10: 6c20 6f62 6a65 6374 2066 726f 6d20 6120 l object from a \n-0000ff20: 6f6e 652d 6469 6d65 6e73 696f 6e61 6c20 one-dimensional \n-0000ff30: 706f 6c79 6c69 6e65 2e20 2057 6520 6361 polyline. We ca\n-0000ff40: 6c6c 0a74 6865 7365 2068 6f6c 652d 6669 ll.these hole-fi\n-0000ff50: 6c6c 696e 6720 706f 6c79 676f 6e73 20e2 lling polygons .\n-0000ff60: 809c 656e 6473 e280 9d2e 0a0a 2020 2054 ..ends...... T\n-0000ff70: 6865 206f 7264 6572 206f 6620 7665 7274 he order of vert\n-0000ff80: 6963 6573 206f 6620 656e 6420 706f 6c79 ices of end poly\n-0000ff90: 676f 6e73 2069 7320 696d 706f 7274 616e gons is importan\n-0000ffa0: 7420 666f 7220 636f 7272 6563 740a 6375 t for correct.cu\n-0000ffb0: 6c6c 696e 6720 6173 2064 6573 6372 6962 lling as describ\n-0000ffc0: 6564 2061 626f 7665 2e20 2049 6620 505f ed above. If P_\n-0000ffd0: 315e 312c 2050 5f31 5e32 2c20 2e2e 2e2c 1^1, P_1^2, ...,\n-0000ffe0: 2050 5f31 5e6e 2061 7265 2074 6865 204e P_1^n are the N\n-0000fff0: 0a63 6f70 6965 7320 6f66 2074 6865 2066 .copies of the f\n-00010000: 6972 7374 2070 6f6c 796c 696e 6520 706f irst polyline po\n-00010010: 696e 7420 616e 6420 505f 6d5e 312c 2050 int and P_m^1, P\n-00010020: 5f6d 5e32 2c20 2e2e 2e20 2c50 5f6d 5e6e _m^2, ... ,P_m^n\n-00010030: 2061 7265 2074 6865 0a4e 2063 6f70 6965 are the.N copie\n-00010040: 7320 6f66 2074 6865 206c 6173 7420 706f s of the last po\n-00010050: 6c79 6c69 6e65 2070 6f69 6e74 2c20 7468 lyline point, th\n-00010060: 656e 2074 6865 2065 6e64 2070 6f6c 7967 en the end polyg\n-00010070: 6f6e 2076 6572 7465 7820 6f72 6465 720a on vertex order.\n-00010080: 6973 0a20 2020 2020 456e 6420 706f 6c79 is. End poly\n-00010090: 676f 6e20 313a 2050 5f31 5e6e 2c20 505f gon 1: P_1^n, P_\n-000100a0: 315e 7b6e 2d31 7d2c 202e 2e2e 202c 505f 1^{n-1}, ... ,P_\n-000100b0: 315e 310a 2020 2020 2045 6e64 2070 6f6c 1^1. End pol\n-000100c0: 7967 6f6e 2032 3a20 505f 6d5e 312c 2050 ygon 2: P_m^1, P\n-000100d0: 5f6d 5e32 2c20 2e2e 2e20 2c50 5f6d 5e6e _m^2, ... ,P_m^n\n-000100e0: 0a0a 2020 2049 6620 7468 6572 6520 6172 .. If there ar\n-000100f0: 6520 6e6f 206f 7074 696f 6e73 206f 6e20 e no options on \n-00010100: 7468 6520 7377 6570 7420 6c69 6e65 2c20 the swept line, \n-00010110: 7468 656e 2074 6865 20e2 8098 7377 6565 then the ...swee\n-00010120: 70e2 8099 206f 7074 696f 6e73 0a61 7265 p... options.are\n-00010130: 2063 6f70 6965 6420 746f 2065 6163 6820 copied to each \n-00010140: 6f75 7470 7574 2070 6f6c 7967 6f6e 2e20 output polygon. \n-00010150: 2049 6620 7468 6520 7377 6570 7420 6c69 If the swept li\n-00010160: 6e65 2064 6f65 7320 6861 7665 206f 7074 ne does have opt\n-00010170: 696f 6e73 2c0a 7468 6573 6520 6172 6520 ions,.these are \n-00010180: 636f 7069 6564 2074 6f20 636f 7272 6573 copied to corres\n-00010190: 706f 6e64 696e 6720 626f 6479 2070 6f6c ponding body pol\n-000101a0: 7967 6f6e 733b 2074 6865 2073 7765 6570 ygons; the sweep\n-000101b0: 206f 7074 696f 6e73 2061 7265 0a63 6f70 options are.cop\n-000101c0: 6965 6420 746f 2074 6865 2065 6e64 2070 ied to the end p\n-000101d0: 6f6c 7967 6f6e 732e 2020 496e 2074 6869 olygons. In thi\n-000101e0: 7320 6d61 6e6e 6572 2c20 626f 6479 2061 s manner, body a\n-000101f0: 6e64 2065 6e64 7320 6d61 7920 6265 2064 nd ends may be d\n-00010200: 7261 776e 0a77 6974 6820 6469 6666 6572 rawn.with differ\n-00010210: 656e 7420 6368 6172 6163 7465 7269 7374 ent characterist\n-00010220: 6963 7320 7375 6368 2061 7320 e280 9866 ics such as ...f\n-00010230: 696c 6c63 6f6c 6f72 e280 992e 0a0a 1f0a illcolor........\n-00010240: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n-00010250: 6f2c 2020 4e6f 6465 3a20 5377 6570 7420 o, Node: Swept \n-00010260: 706f 6c79 676f 6e73 2c20 204e 6578 743a polygons, Next:\n-00010270: 2053 7765 7074 2062 6c6f 636b 732c 2020 Swept blocks, \n-00010280: 5072 6576 3a20 5377 6570 7420 6c69 6e65 Prev: Swept line\n-00010290: 732c 2020 5570 3a20 5377 6565 7073 0a0a s, Up: Sweeps..\n-000102a0: 332e 322e 362e 3320 5377 6570 7420 706f 3.2.6.3 Swept po\n-000102b0: 6c79 676f 6e73 0a2e 2e2e 2e2e 2e2e 2e2e lygons..........\n-000102c0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a49 ...............I\n-000102d0: 6620 5357 4550 545f 4f42 4a45 4354 2069 f SWEPT_OBJECT i\n-000102e0: 7320 6120 706f 6c79 676f 6e2c 2074 6865 s a polygon, the\n-000102f0: 20e2 8098 7377 6565 70e2 8099 2063 6f6e ...sweep... con\n-00010300: 6e65 6374 7320 4e2b 3120 7375 6363 6573 nects N+1 succes\n-00010310: 7369 7665 2063 6f70 6965 730a 6f66 2074 sive copies.of t\n-00010320: 6865 2063 6c6f 7365 6420 706f 6c79 6c69 he closed polyli\n-00010330: 6e65 2062 6f72 6465 7220 6f66 2074 6865 ne border of the\n-00010340: 2070 6f6c 7967 6f6e 2074 6f20 666f 726d polygon to form\n-00010350: 2062 6f64 7920 706f 6c79 676f 6e73 0a65 body polygons.e\n-00010360: 7861 6374 6c79 2061 7320 7468 6f75 6768 xactly as though\n-00010370: 2074 6865 2062 6f72 6465 7220 7765 7265 the border were\n-00010380: 2061 2073 7765 7074 2070 6f6c 796c 696e a swept polylin\n-00010390: 6520 6173 2064 6573 6372 6962 6564 2069 e as described i\n-000103a0: 6e20 2a6e 6f74 650a 5377 6570 7420 6c69 n *note.Swept li\n-000103b0: 6e65 733a 3a2e 2020 4966 2074 6865 7265 nes::. If there\n-000103c0: 2061 7265 206d 2070 6f69 6e74 7320 696e are m points in\n-000103d0: 2074 6865 206f 7269 6769 6e61 6c20 706f the original po\n-000103e0: 6c79 676f 6e2c 2074 6865 6e20 6d4e 0a62 lygon, then mN.b\n-000103f0: 6f64 7920 706f 6c79 676f 6e73 2061 7265 ody polygons are\n-00010400: 2066 6f72 6d65 6420 6279 2074 6869 7320 formed by this \n-00010410: 7377 6565 702e 2020 5468 6520 626f 6479 sweep. The body\n-00010420: 2070 6f6c 7967 6f6e 7320 666f 726d 2061 polygons form a\n-00010430: 6e0a e280 9c65 7874 7275 7369 6f6e e280 n....extrusion..\n-00010440: 9d20 6f66 2074 6865 2062 6f75 6e64 6172 . of the boundar\n-00010450: 7920 6f66 2074 6865 206f 7269 6769 6e61 y of the origina\n-00010460: 6c20 706f 6c79 676f 6e20 7769 7468 2074 l polygon with t\n-00010470: 776f 2068 6f6c 6573 2061 740a 7468 6520 wo holes at.the \n-00010480: 6f70 656e 2065 6e64 732e 0a0a 2020 2046 open ends... F\n-00010490: 696e 616c 6c79 2c20 7468 6520 7377 6565 inally, the swee\n-000104a0: 7020 6164 6473 2074 776f 2063 6f70 6965 p adds two copie\n-000104b0: 7320 6f66 2074 6865 206f 7269 6769 6e61 s of the origina\n-000104c0: 6c20 706f 6c79 676f 6e20 746f 2063 6f76 l polygon to cov\n-000104d0: 6572 0a74 6865 2068 6f6c 6573 2e20 2057 er.the holes. W\n-000104e0: 6520 6361 6c6c 2074 6865 7365 2068 6f6c e call these hol\n-000104f0: 652d 6669 6c6c 696e 6720 706f 6c79 676f e-filling polygo\n-00010500: 6e73 20e2 809c 656e 6473 e280 9d2e 2020 ns ...ends.... \n-00010510: 496e 2074 6869 7320 6d61 6e6e 6572 2c0a In this manner,.\n-00010520: e280 9873 7765 6570 e280 9920 666f 726d ...sweep... form\n-00010530: 7320 7468 6520 626f 756e 6461 7279 206f s the boundary o\n-00010540: 6620 6120 7468 7265 652d 6469 6d65 6e73 f a three-dimens\n-00010550: 696f 6e61 6c20 6f62 6a65 6374 2066 726f ional object fro\n-00010560: 6d20 610a 7477 6f2d 6469 6d65 6e73 696f m a.two-dimensio\n-00010570: 6e61 6c20 706f 6c79 676f 6e2e 0a0a 2020 nal polygon... \n-00010580: 2054 6865 206f 7264 6572 206f 6620 7665 The order of ve\n-00010590: 7274 6963 6573 206f 6620 656e 6420 706f rtices of end po\n-000105a0: 6c79 676f 6e73 2069 7320 696d 706f 7274 lygons is import\n-000105b0: 616e 7420 666f 7220 636f 7272 6563 740a ant for correct.\n-000105c0: 6375 6c6c 696e 6720 6173 2064 6573 6372 culling as descr\n-000105d0: 6962 6564 2061 626f 7665 2e20 2041 6e20 ibed above. An \n-000105e0: 6578 6163 7420 636f 7079 206f 6620 7468 exact copy of th\n-000105f0: 6520 6f72 6967 696e 616c 2070 6f6c 7967 e original polyg\n-00010600: 6f6e 2077 6974 680a 7665 7274 6578 206f on with.vertex o\n-00010610: 7264 6572 2069 6e74 6163 7420 666f 726d rder intact form\n-00010620: 7320 7468 6520 6669 7273 7420 656e 6420 s the first end \n-00010630: 706f 6c79 676f 6e2e 2020 5468 6520 6f74 polygon. The ot\n-00010640: 6865 7220 656e 6420 706f 6c79 676f 6e0a her end polygon.\n-00010650: 7265 7375 6c74 7320 6672 6f6d 2074 7261 results from tra\n-00010660: 6e73 666f 726d 696e 6720 616e 6420 7468 nsforming and th\n-00010670: 6520 7265 7665 7273 696e 6720 7468 6520 e reversing the \n-00010680: 6f72 6465 7220 6f66 2076 6572 7469 6365 order of vertice\n-00010690: 7320 696e 2074 6865 0a6f 7269 6769 6e61 s in the.origina\n-000106a0: 6c2e 2020 5468 6520 7472 616e 7366 6f72 l. The transfor\n-000106b0: 6d20 706c 6163 6573 2074 6865 206f 7269 m places the ori\n-000106c0: 6769 6e61 6c20 706f 6c79 676f 6e20 6174 ginal polygon at\n-000106d0: 2074 6865 2075 6e63 6f76 6572 6564 0a68 the uncovered.h\n-000106e0: 6f6c 653b 2069 7420 6973 0a20 2020 2020 ole; it is. \n-000106f0: 545f 315e 6e20 7468 656e 2054 5f32 5e6e T_1^n then T_2^n\n-00010700: 2074 6865 6e20 2e2e 2e20 7468 656e 2054 then ... then T\n-00010710: 5f52 5e6e 2e0a 4966 2074 6865 7265 2061 _R^n..If there a\n-00010720: 7265 206e 6f20 6f70 7469 6f6e 7320 6f6e re no options on\n-00010730: 2074 6865 2073 7765 7074 2070 6f6c 7967 the swept polyg\n-00010740: 6f6e 2c20 7468 656e 2074 6865 20e2 8098 on, then the ...\n-00010750: 7377 6565 70e2 8099 206f 7074 696f 6e73 sweep... options\n-00010760: 0a61 7265 2063 6f70 6965 6420 746f 2065 .are copied to e\n-00010770: 6163 6820 6f75 7470 7574 2070 6f6c 7967 ach output polyg\n-00010780: 6f6e 2e20 2049 6620 7468 6520 7377 6570 on. If the swep\n-00010790: 7420 706f 6c79 676f 6e20 646f 6573 2068 t polygon does h\n-000107a0: 6176 650a 6f70 7469 6f6e 732c 2074 6865 ave.options, the\n-000107b0: 7365 2061 7265 2063 6f70 6965 6420 746f se are copied to\n-000107c0: 2074 6865 2065 6e64 733b 2074 6865 2073 the ends; the s\n-000107d0: 7765 6570 206f 7074 696f 6e73 2061 7265 weep options are\n-000107e0: 2063 6f70 6965 6420 746f 0a74 6865 2062 copied to.the b\n-000107f0: 6f64 7920 706f 6c79 676f 6e73 2e20 2049 ody polygons. I\n-00010800: 6e20 7468 6973 206d 616e 6e65 722c 2062 n this manner, b\n-00010810: 6f64 7920 616e 6420 656e 6473 206d 6179 ody and ends may\n-00010820: 2062 6520 6472 6177 6e20 7769 7468 0a64 be drawn with.d\n-00010830: 6966 6665 7265 6e74 2063 6861 7261 6374 ifferent charact\n-00010840: 6572 6973 7469 6373 2073 7563 6820 6173 eristics such as\n-00010850: 20e2 8098 6669 6c6c 636f 6c6f 72e2 8099 ...fillcolor...\n-00010860: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n-00010870: 682e 696e 666f 2c20 204e 6f64 653a 2053 h.info, Node: S\n-00010880: 7765 7074 2062 6c6f 636b 732c 2020 4e65 wept blocks, Ne\n-00010890: 7874 3a20 5377 6565 7020 6661 6365 2073 xt: Sweep face s\n-000108a0: 706c 6974 7469 6e67 2c20 2050 7265 763a plitting, Prev:\n-000108b0: 2053 7765 7074 2070 6f6c 7967 6f6e 732c Swept polygons,\n-000108c0: 2020 5570 3a20 5377 6565 7073 0a0a 332e Up: Sweeps..3.\n-000108d0: 322e 362e 3420 5377 6570 7420 626c 6f63 2.6.4 Swept bloc\n-000108e0: 6b73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ks..............\n-000108f0: 2e2e 2e2e 2e2e 2e0a 0a54 6865 2073 7765 .........The swe\n-00010900: 7074 206f 626a 6563 7420 5357 4550 545f pt object SWEPT_\n-00010910: 4f42 4a45 4354 206d 6179 2061 6c73 6f20 OBJECT may also \n-00010920: 6265 2061 6e79 2063 6f6c 6c65 6374 696f be any collectio\n-00010930: 6e20 6f66 2070 6f6c 796c 696e 6573 0a61 n of polylines.a\n-00010940: 6e64 2070 6f6c 7967 6f6e 732e 2020 5468 nd polygons. Th\n-00010950: 6973 206d 6179 2062 6520 6120 626c 6f63 is may be a bloc\n-00010960: 6b20 636f 6d70 6f73 6564 206f 6620 e280 k composed of ..\n-00010970: 986c 696e 65e2 8099 2061 6e64 2f6f 7220 .line... and/or \n-00010980: e280 9870 6f6c 7967 6f6e e280 990a 636f ...polygon....co\n-00010990: 6d6d 616e 6473 2069 6e20 6272 6163 6573 mmands in braces\n-000109a0: 20e2 8098 7b20 7de2 8099 2c20 6f72 2069 ...{ }..., or i\n-000109b0: 7420 6d61 7920 6265 2074 6865 2072 6573 t may be the res\n-000109c0: 756c 7420 6f66 2061 20e2 8098 7265 7065 ult of a ...repe\n-000109d0: 6174 e280 992c 2061 6e6f 7468 6572 0ae2 at..., another..\n-000109e0: 8098 7377 6565 70e2 8099 2c20 6574 632e ..sweep..., etc.\n-000109f0: 2020 5468 6520 7377 6565 7020 6163 7473 The sweep acts\n-00010a00: 2069 6e64 6570 656e 6465 6e74 6c79 206f independently o\n-00010a10: 6e20 6561 6368 206f 626a 6563 7420 696e n each object in\n-00010a20: 2074 6865 2062 6c6f 636b 0a65 7861 6374 the block.exact\n-00010a30: 6c79 2061 7320 6966 2069 7420 7765 7265 ly as if it were\n-00010a40: 2061 2073 696e 676c 6520 7377 6570 7420 a single swept \n-00010a50: 6f62 6a65 6374 2064 6573 6372 6962 6564 object described\n-00010a60: 2061 626f 7665 2069 6e20 2a6e 6f74 650a above in *note.\n-00010a70: 5377 6570 7420 6c69 6e65 733a 3a20 616e Swept lines:: an\n-00010a80: 6420 2a6e 6f74 6520 5377 6570 7420 706f d *note Swept po\n-00010a90: 6c79 676f 6e73 3a3a 2e0a 0a1f 0a46 696c lygons::.....Fil\n-00010aa0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-00010ab0: 204e 6f64 653a 2053 7765 6570 2066 6163 Node: Sweep fac\n-00010ac0: 6520 7370 6c69 7474 696e 672c 2020 5072 e splitting, Pr\n-00010ad0: 6576 3a20 5377 6570 7420 626c 6f63 6b73 ev: Swept blocks\n-00010ae0: 2c20 2055 703a 2053 7765 6570 730a 0a33 , Up: Sweeps..3\n-00010af0: 2e32 2e36 2e35 2053 7765 6570 2066 6163 .2.6.5 Sweep fac\n-00010b00: 6520 7370 6c69 7474 696e 670a 2e2e 2e2e e splitting.....\n+0000dec0: 4472 6177 2064 6f74 732e 0a2a 204c 696e Draw dots..* Lin\n+0000ded0: 6573 3a3a 2020 2020 2020 2020 2020 2020 es:: \n+0000dee0: 2020 2020 2020 2020 2020 2044 7261 7720 Draw \n+0000def0: 706f 6c79 6c69 6e65 732e 0a2a 2043 7572 polylines..* Cur\n+0000df00: 7665 733a 3a20 2020 2020 2020 2020 2020 ves:: \n+0000df10: 2020 2020 2020 2020 2020 2044 7261 7720 Draw \n+0000df20: 6375 7276 6573 2e0a 2a20 506f 6c79 676f curves..* Polygo\n+0000df30: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: \n+0000df40: 2020 2020 2020 2020 4472 6177 2070 6f6c Draw pol\n+0000df50: 7967 6f6e 732e 0a2a 2053 7065 6369 616c ygons..* Special\n+0000df60: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+0000df70: 2020 2020 2020 2045 6d62 6564 2072 6177 Embed raw\n+0000df80: 204c 6154 6558 2061 6e64 20e2 8098 5053 LaTeX and ...PS\n+0000df90: 5472 6963 6b73 e280 992e 0a2a 2053 7765 Tricks.....* Swe\n+0000dfa0: 6570 733a 3a20 2020 2020 2020 2020 2020 eps:: \n+0000dfb0: 2020 2020 2020 2020 2020 2044 7261 7720 Draw \n+0000dfc0: 7377 6565 7073 206f 6620 646f 7473 2061 sweeps of dots a\n+0000dfd0: 6e64 2070 6f6c 796c 696e 6573 2e0a 2a20 nd polylines..* \n+0000dfe0: 426c 6f63 6b73 3a3a 2020 2020 2020 2020 Blocks:: \n+0000dff0: 2020 2020 2020 2020 2020 2020 2020 4772 Gr\n+0000e000: 6f75 7020 6f74 6865 7220 6472 6177 6162 oup other drawab\n+0000e010: 6c65 732e 0a2a 2052 6570 6561 7473 3a3a les..* Repeats::\n+0000e020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e030: 2020 2020 2044 7261 7720 7472 616e 7366 Draw transf\n+0000e040: 6f72 6d65 6420 636f 7069 6573 206f 6620 ormed copies of \n+0000e050: 6f62 6a65 6374 732e 0a2a 2050 7574 733a objects..* Puts:\n+0000e060: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000e070: 2020 2020 2020 2020 2044 7261 7720 6f6e Draw on\n+0000e080: 6520 6f62 6a65 6374 2074 7261 6e73 666f e object transfo\n+0000e090: 726d 6564 2e0a 0a1f 0a46 696c 653a 2073 rmed.....File: s\n+0000e0a0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+0000e0b0: 653a 2044 6f74 732c 2020 4e65 7874 3a20 e: Dots, Next: \n+0000e0c0: 4c69 6e65 732c 2020 5072 6576 3a20 4472 Lines, Prev: Dr\n+0000e0d0: 6177 6162 6c65 732c 2020 5570 3a20 4472 awables, Up: Dr\n+0000e0e0: 6177 6162 6c65 730a 0a33 2e32 2e31 2044 awables..3.2.1 D\n+0000e0f0: 6f74 730a 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a ots.----------..\n+0000e100: 2a53 796e 7461 783a 2a0a 2020 2020 2064 *Syntax:*. d\n+0000e110: 6f74 735b 4f50 5449 4f4e 535d 2050 4f49 ots[OPTIONS] POI\n+0000e120: 4e54 5f4c 4953 540a 5468 6973 2063 6f6d NT_LIST.This com\n+0000e130: 6d61 6e64 2069 7320 7468 6520 7468 7265 mand is the thre\n+0000e140: 652d 6469 6d65 6e73 696f 6e61 6c20 6571 e-dimensional eq\n+0000e150: 7569 7661 6c65 6e74 206f 6620 7468 6520 uivalent of the \n+0000e160: e280 9850 5354 7269 636b 73e2 8099 0a63 ...PSTricks....c\n+0000e170: 6f6d 6d61 6e64 20e2 8098 5c70 7364 6f74 ommand ...\\psdot\n+0000e180: 73e2 8099 2e0a 0a1f 0a46 696c 653a 2073 s........File: s\n+0000e190: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+0000e1a0: 653a 204c 696e 6573 2c20 204e 6578 743a e: Lines, Next:\n+0000e1b0: 2043 7572 7665 732c 2020 5072 6576 3a20 Curves, Prev: \n+0000e1c0: 446f 7473 2c20 2055 703a 2044 7261 7761 Dots, Up: Drawa\n+0000e1d0: 626c 6573 0a0a 332e 322e 3220 4c69 6e65 bles..3.2.2 Line\n+0000e1e0: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a s.-----------..*\n+0000e1f0: 5379 6e74 6178 3a2a 0a20 2020 2020 6c69 Syntax:*. li\n+0000e200: 6e65 5b4f 5054 494f 4e53 5d20 504f 494e ne[OPTIONS] POIN\n+0000e210: 545f 4c49 5354 0a54 6869 7320 636f 6d6d T_LIST.This comm\n+0000e220: 616e 6420 6973 2074 6865 2074 6872 6565 and is the three\n+0000e230: 2d64 696d 656e 7369 6f6e 616c 2065 7175 -dimensional equ\n+0000e240: 6976 616c 656e 7420 6f66 2074 6865 20e2 ivalent of the .\n+0000e250: 8098 5053 5472 6963 6b73 e280 990a 636f ..PSTricks....co\n+0000e260: 6d6d 616e 6420 e280 985c 7073 6c69 6e65 mmand ...\\psline\n+0000e270: e280 992e 0a0a 1f0a 4669 6c65 3a20 736b ........File: sk\n+0000e280: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+0000e290: 3a20 4375 7276 6573 2c20 204e 6578 743a : Curves, Next:\n+0000e2a0: 2050 6f6c 7967 6f6e 732c 2020 5072 6576 Polygons, Prev\n+0000e2b0: 3a20 4c69 6e65 732c 2020 5570 3a20 4472 : Lines, Up: Dr\n+0000e2c0: 6177 6162 6c65 730a 0a33 2e32 2e33 2043 awables..3.2.3 C\n+0000e2d0: 7572 7665 730a 2d2d 2d2d 2d2d 2d2d 2d2d urves.----------\n+0000e2e0: 2d2d 0a0a 2a53 796e 7461 783a 2a0a 2020 --..*Syntax:*. \n+0000e2f0: 2020 2063 7572 7665 5b4f 5054 494f 4e53 curve[OPTIONS\n+0000e300: 5d20 504f 494e 545f 4c49 5354 0a54 6869 ] POINT_LIST.Thi\n+0000e310: 7320 636f 6d6d 616e 6420 6973 2074 6865 s command is the\n+0000e320: 2074 6872 6565 2d64 696d 656e 7369 6f6e three-dimension\n+0000e330: 616c 2065 7175 6976 616c 656e 7420 6f66 al equivalent of\n+0000e340: 2074 6865 20e2 8098 5053 5472 6963 6b73 the ...PSTricks\n+0000e350: e280 990a 636f 6d6d 616e 6420 e280 985c ....command ...\\\n+0000e360: 7073 6375 7276 65e2 8099 2e20 2049 7420 pscurve.... It \n+0000e370: 6973 206e 6f74 2069 6d70 6c65 6d65 6e74 is not implement\n+0000e380: 6564 2069 6e20 7468 6520 6375 7272 656e ed in the curren\n+0000e390: 7420 7665 7273 696f 6e20 6f66 0ae2 8098 t version of....\n+0000e3a0: 736b 6574 6368 e280 992e 0a0a 1f0a 4669 sketch........Fi\n+0000e3b0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+0000e3c0: 2020 4e6f 6465 3a20 506f 6c79 676f 6e73 Node: Polygons\n+0000e3d0: 2c20 204e 6578 743a 2053 7065 6369 616c , Next: Special\n+0000e3e0: 732c 2020 5072 6576 3a20 4375 7276 6573 s, Prev: Curves\n+0000e3f0: 2c20 2055 703a 2044 7261 7761 626c 6573 , Up: Drawables\n+0000e400: 0a0a 332e 322e 3420 506f 6c79 676f 6e73 ..3.2.4 Polygons\n+0000e410: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a .--------------.\n+0000e420: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. \n+0000e430: 706f 6c79 676f 6e5b 4f50 5449 4f4e 535d polygon[OPTIONS]\n+0000e440: 2050 4f49 4e54 5f4c 4953 540a 5468 6973 POINT_LIST.This\n+0000e450: 2063 6f6d 6d61 6e64 2069 7320 7468 6520 command is the \n+0000e460: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona\n+0000e470: 6c20 6571 7569 7661 6c65 6e74 206f 6620 l equivalent of \n+0000e480: 7468 6520 e280 9850 5354 7269 636b 73e2 the ...PSTricks.\n+0000e490: 8099 0a63 6f6d 6d61 6e64 20e2 8098 5c70 ...command ...\\p\n+0000e4a0: 7370 6f6c 7967 6f6e e280 992e 2020 5468 spolygon.... Th\n+0000e4b0: 6520 e280 9873 6b65 7463 68e2 8099 2068 e ...sketch... h\n+0000e4c0: 6964 6465 6e20 7375 7266 6163 6520 616c idden surface al\n+0000e4d0: 676f 7269 7468 6d20 6173 7375 6d65 730a gorithm assumes.\n+0000e4e0: 7468 6174 2070 6f6c 7967 6f6e 7320 6172 that polygons ar\n+0000e4f0: 6520 636f 6e76 6578 2061 6e64 2070 6c61 e convex and pla\n+0000e500: 6e61 722e 2020 496e 2070 7261 6374 6963 nar. In practic\n+0000e510: 652c 2064 7261 7769 6e67 7320 6d61 7920 e, drawings may \n+0000e520: 7765 6c6c 0a74 7572 6e20 6f75 7420 636f well.turn out co\n+0000e530: 7272 6563 746c 7920 6576 656e 2069 6620 rrectly even if \n+0000e540: 7468 6573 6520 6173 7375 6d70 7469 6f6e these assumption\n+0000e550: 7320 6172 6520 7669 6f6c 6174 6564 2e0a s are violated..\n+0000e560: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+0000e570: 696e 666f 2c20 204e 6f64 653a 2053 7065 info, Node: Spe\n+0000e580: 6369 616c 732c 2020 4e65 7874 3a20 5377 cials, Next: Sw\n+0000e590: 6565 7073 2c20 2050 7265 763a 2050 6f6c eeps, Prev: Pol\n+0000e5a0: 7967 6f6e 732c 2020 5570 3a20 4472 6177 ygons, Up: Draw\n+0000e5b0: 6162 6c65 730a 0a33 2e32 2e35 2053 7065 ables..3.2.5 Spe\n+0000e5c0: 6369 616c 730a 2d2d 2d2d 2d2d 2d2d 2d2d cials.----------\n+0000e5d0: 2d2d 2d2d 0a0a 2a53 796e 7461 783a 2a0a ----..*Syntax:*.\n+0000e5e0: 2020 2020 2073 7065 6369 616c 2024 5241 special $RA\n+0000e5f0: 575f 5445 5854 245b 4f50 5449 4f4e 535d W_TEXT$[OPTIONS]\n+0000e600: 2041 5247 5f4c 4953 540a 4865 7265 20e2 ARG_LIST.Here .\n+0000e610: 8098 24e2 8099 2063 616e 2062 6520 616e ..$... can be an\n+0000e620: 7920 6368 6172 6163 7465 7220 616e 6420 y character and \n+0000e630: 6973 2075 7365 6420 746f 2064 656c 696d is used to delim\n+0000e640: 6974 2074 6865 2073 7461 7274 2061 6e64 it the start and\n+0000e650: 2065 6e64 0a6f 6620 5241 575f 5445 5854 end.of RAW_TEXT\n+0000e660: 2e20 2054 6865 2063 6f6d 6d61 6e64 2065 . The command e\n+0000e670: 6d62 6564 7320 5241 575f 5445 5854 2069 mbeds RAW_TEXT i\n+0000e680: 6e20 7468 6520 e280 9873 6b65 7463 68e2 n the ...sketch.\n+0000e690: 8099 206f 7574 7075 7420 6166 7465 720a .. output after.\n+0000e6a0: 7065 7266 6f72 6d69 6e67 2073 7562 7374 performing subst\n+0000e6b0: 6974 7574 696f 6e73 2061 7320 666f 6c6c itutions as foll\n+0000e6c0: 6f77 732e 0a20 2020 e280 a220 e280 9823 ows.. ... ...#\n+0000e6d0: 49e2 8099 2077 6865 7265 2049 2069 7320 I... where I is \n+0000e6e0: 6120 706f 7369 7469 7665 2069 6e74 6567 a positive integ\n+0000e6f0: 6572 2069 7320 7265 706c 6163 6564 2062 er is replaced b\n+0000e700: 7920 7468 6520 4927 7468 2076 616c 7565 y the I'th value\n+0000e710: 2069 6e0a 2020 2020 2041 5247 5f4c 4953 in. ARG_LIS\n+0000e720: 542e 2020 506f 696e 7420 616e 6420 7665 T. Point and ve\n+0000e730: 6374 6f72 2061 7267 756d 656e 7473 2062 ctor arguments b\n+0000e740: 6563 6f6d 6520 7477 6f2d 6469 6d65 6e73 ecome two-dimens\n+0000e750: 696f 6e61 6c0a 2020 2020 2070 6f69 6e74 ional. point\n+0000e760: 732c 2077 6869 6368 2061 7265 2074 6865 s, which are the\n+0000e770: 2074 7261 6e73 666f 726d 6564 2033 6420 transformed 3d \n+0000e780: 6172 6775 6d65 6e74 7320 7072 6f6a 6563 arguments projec\n+0000e790: 7465 6420 6f6e 746f 2074 6865 0a20 2020 ted onto the. \n+0000e7a0: 2020 582d 5920 706c 616e 652e 2020 5468 X-Y plane. Th\n+0000e7b0: 6973 2061 6c6c 6f77 7320 7477 6f2d 6469 is allows two-di\n+0000e7c0: 6d65 6e74 696f 6e61 6c20 6f75 7470 7574 mentional output\n+0000e7d0: 2065 6c65 6d65 6e74 7320 7375 6368 2061 elements such a\n+0000e7e0: 730a 2020 2020 206c 6162 656c 7320 746f s. labels to\n+0000e7f0: 2062 6520 6561 7369 6c79 2070 6f73 6974 be easily posit\n+0000e800: 696f 6e65 6420 7769 7468 2072 6573 7065 ioned with respe\n+0000e810: 6374 2074 6f20 7468 7265 652d 6469 6d65 ct to three-dime\n+0000e820: 6e73 696f 6e61 6c0a 2020 2020 2066 6561 nsional. fea\n+0000e830: 7475 7265 7320 696e 2074 6865 2064 7261 tures in the dra\n+0000e840: 7769 6e67 2e20 2053 6361 6c61 7220 6172 wing. Scalar ar\n+0000e850: 6775 6d65 6e74 7320 6172 6520 7375 6273 guments are subs\n+0000e860: 6974 7574 6564 2064 6972 6563 746c 792e ituted directly.\n+0000e870: 0a20 2020 2020 4e6f 2074 7261 6e73 666f . No transfo\n+0000e880: 726d 6174 696f 6e20 6973 2061 7070 6c69 rmation is appli\n+0000e890: 6564 2e0a 2020 20e2 80a2 20e2 8098 237b ed.. ... ...#{\n+0000e8a0: 497d e280 9920 6973 2061 6c73 6f20 7265 I}... is also re\n+0000e8b0: 706c 6163 6564 2061 7320 6162 6f76 652e placed as above.\n+0000e8c0: 0a20 2020 e280 a220 e280 9823 4927 32e2 . ... ...#I'2.\n+0000e8d0: 8099 2069 7320 7265 706c 6163 6564 2061 .. is replaced a\n+0000e8e0: 7320 6162 6f76 6520 666f 7220 706f 696e s above for poin\n+0000e8f0: 7473 206f 7220 7665 6374 6f72 732e 2020 ts or vectors. \n+0000e900: 4974 2069 7320 616e 2065 7272 6f72 0a20 It is an error. \n+0000e910: 2020 2020 666f 7220 7468 6520 4927 7468 for the I'th\n+0000e920: 2061 7267 756d 656e 7420 746f 2062 6520 argument to be \n+0000e930: 6120 7363 616c 6172 2e0a 2020 20e2 80a2 a scalar.. ...\n+0000e940: 20e2 8098 2349 2778 e280 992c 20e2 8098 ...#I'x..., ...\n+0000e950: 2349 2779 e280 992c 206f 7220 e280 9823 #I'y..., or ...#\n+0000e960: 4927 7ae2 8099 2069 7320 7265 706c 6163 I'z... is replac\n+0000e970: 6564 2c20 7265 7370 6563 7469 7665 6c79 ed, respectively\n+0000e980: 2c20 6279 2074 6865 2073 6361 6c61 720a , by the scalar.\n+0000e990: 2020 2020 2058 2c20 592c 206f 7220 5a2d X, Y, or Z-\n+0000e9a0: 636f 6f72 6469 6e61 7465 206f 6620 7468 coordinate of th\n+0000e9b0: 6520 6172 6775 6d65 6e74 2070 6f69 6e74 e argument point\n+0000e9c0: 206f 7220 7665 6374 6f72 2e20 2049 7420 or vector. It \n+0000e9d0: 6973 2061 6e0a 2020 2020 2065 7272 6f72 is an. error\n+0000e9e0: 2066 6f72 2074 6865 2049 2774 6820 6172 for the I'th ar\n+0000e9f0: 6775 6d65 6e74 2074 6f20 6265 2061 2073 gument to be a s\n+0000ea00: 6361 6c61 722e 0a20 2020 e280 a220 e280 calar.. ... ..\n+0000ea10: 9823 4927 33e2 8099 2069 7320 7265 706c .#I'3... is repl\n+0000ea20: 6163 6564 2062 7920 7468 6520 7468 7265 aced by the thre\n+0000ea30: 652d 6469 6d65 6e73 696f 6e61 6c20 7472 e-dimensional tr\n+0000ea40: 616e 7366 6f72 6d65 6420 6172 6775 6d65 ansformed argume\n+0000ea50: 6e74 2e0a 2020 2020 204e 6f74 6520 7468 nt.. Note th\n+0000ea60: 6174 2069 6620 6120 7065 7273 7065 6374 at if a perspect\n+0000ea70: 6976 6520 7472 616e 7366 6f72 6d61 7469 ive transformati\n+0000ea80: 6f6e 2068 6173 2062 6565 6e20 6170 706c on has been appl\n+0000ea90: 6965 642c 2074 6865 0a20 2020 2020 5a2d ied, the. Z-\n+0000eaa0: 636f 6f72 6469 6e61 7465 2068 6173 206c coordinate has l\n+0000eab0: 6974 746c 6520 6765 6f6d 6574 7269 6320 ittle geometric \n+0000eac0: 7369 676e 6966 6963 616e 6365 2c20 7468 significance, th\n+0000ead0: 6f75 6768 2069 740a 2020 2020 2061 6363 ough it. acc\n+0000eae0: 7572 6174 656c 7920 696e 6469 6361 7465 urately indicate\n+0000eaf0: 7320 7265 6c61 7469 7665 2064 6570 7468 s relative depth\n+0000eb00: 2e0a 2020 20e2 80a2 20e2 8098 2349 2d4a .. ... ...#I-J\n+0000eb10: e280 9920 7768 6572 6520 4920 616e 6420 ... where I and \n+0000eb20: 4a20 6172 6520 706f 7369 7469 7665 2069 J are positive i\n+0000eb30: 6e74 6567 6572 7320 6973 2072 6570 6c61 ntegers is repla\n+0000eb40: 6365 6420 6279 2061 2073 7472 696e 670a ced by a string.\n+0000eb50: 2020 2020 20e2 8098 7b41 4e47 4c45 7de2 ...{ANGLE}.\n+0000eb60: 8099 2077 6865 7265 2041 4e47 4c45 2069 .. where ANGLE i\n+0000eb70: 7320 7468 6520 706f 6c61 7220 616e 676c s the polar angl\n+0000eb80: 6520 6f66 2061 2076 6563 746f 7220 6672 e of a vector fr\n+0000eb90: 6f6d 2074 6865 2049 2774 680a 2020 2020 om the I'th. \n+0000eba0: 2070 6f69 6e74 2069 6e20 504f 494e 545f point in POINT_\n+0000ebb0: 4c49 5354 2074 6f20 7468 6520 4a27 7468 LIST to the J'th\n+0000ebc0: 2070 6f69 6e74 2070 726f 6a65 6374 6564 point projected\n+0000ebd0: 2069 6e74 6f20 7468 6520 782d 7920 706c into the x-y pl\n+0000ebe0: 616e 652e 0a20 2020 2020 4974 2069 7320 ane.. It is \n+0000ebf0: 616e 2065 7272 6f72 2066 6f72 2074 6865 an error for the\n+0000ec00: 2049 2774 6820 6f72 204a 2774 6820 6172 I'th or J'th ar\n+0000ec10: 6775 6d65 6e74 2074 6f20 6265 2061 2073 gument to be a s\n+0000ec20: 6361 6c61 7220 6f72 2061 0a20 2020 2020 calar or a. \n+0000ec30: 7665 6374 6f72 2e0a 2020 20e2 80a2 20e2 vector.. ... .\n+0000ec40: 8098 237b 492d 4a7d e280 9920 6973 2061 ..#{I-J}... is a\n+0000ec50: 6c73 6f20 7265 706c 6163 6564 2061 7320 lso replaced as \n+0000ec60: 6162 6f76 652e 0a20 2020 e280 a220 e280 above.. ... ..\n+0000ec70: 9823 23e2 8099 2069 7320 7265 706c 6163 .##... is replac\n+0000ec80: 6564 2077 6974 6820 e280 9823 e280 992e ed with ...#....\n+0000ec90: 0a54 6865 2066 6f72 6d73 2077 6974 6820 .The forms with \n+0000eca0: 6272 6163 6573 20e2 8098 7b20 7de2 8099 braces ...{ }...\n+0000ecb0: 2061 7265 2075 7365 6675 6c20 7768 656e are useful when\n+0000ecc0: 2074 6865 2061 7267 756d 656e 7420 6973 the argument is\n+0000ecd0: 2069 6d6d 6564 6961 7465 6c79 0a66 6f6c immediately.fol\n+0000ece0: 6c6f 7765 6420 6279 2061 2064 6967 6974 lowed by a digit\n+0000ecf0: 206f 7220 6120 7469 636b 2063 6861 7261 or a tick chara\n+0000ed00: 6374 6572 2074 6861 7420 6973 2070 6172 cter that is par\n+0000ed10: 7420 6f66 2074 6865 2054 6558 2063 6f64 t of the TeX cod\n+0000ed20: 652e 0a0a 2020 2054 6865 206f 6e6c 7920 e... The only \n+0000ed30: 7573 6566 756c 206f 7074 696f 6e20 6f66 useful option of\n+0000ed40: 20e2 8098 7370 6563 6961 6ce2 8099 2069 ...special... i\n+0000ed50: 7320 e280 986c 6179 e280 992c 2077 6869 s ...lay..., whi\n+0000ed60: 6368 2064 6574 6572 6d69 6e65 7320 6966 ch determines if\n+0000ed70: 2074 6865 0a73 7562 7374 6974 7565 6420 the.substitued \n+0000ed80: 7261 7720 7465 7874 2069 7320 656d 6974 raw text is emit\n+0000ed90: 7465 6420 6265 666f 7265 2c20 6166 7465 ted before, afte\n+0000eda0: 722c 206f 7220 7573 696e 6720 7468 6520 r, or using the \n+0000edb0: 6669 7273 7420 706f 696e 740a 696e 2050 first point.in P\n+0000edc0: 4f49 4e54 5f4c 4953 5420 6173 2061 6e20 OINT_LIST as an \n+0000edd0: 696e 6469 6361 746f 7220 6f66 2064 6570 indicator of dep\n+0000ede0: 7468 2e20 2054 6865 7365 206f 6363 7572 th. These occur\n+0000edf0: 2c20 7265 7370 6563 7469 7665 6c79 2c20 , respectively, \n+0000ee00: 7769 7468 0ae2 8098 6c61 793d 756e 6465 with....lay=unde\n+0000ee10: 72e2 8099 2c20 e280 986c 6179 3d6f 7665 r..., ...lay=ove\n+0000ee20: 72e2 8099 2c20 616e 6420 e280 986c 6179 r..., and ...lay\n+0000ee30: 3d69 6ee2 8099 2e20 2053 6565 202a 6e6f =in.... See *no\n+0000ee40: 7465 2053 7065 6369 616c 206f 626a 6563 te Special objec\n+0000ee50: 7473 3a3a 2061 6e64 0a2a 6e6f 7465 2054 ts:: and.*note T\n+0000ee60: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def\n+0000ee70: 696e 6564 2073 7479 6c65 733a 3a20 666f ined styles:: fo\n+0000ee80: 7220 6578 616d 706c 6573 2e20 202a 4e6f r examples. *No\n+0000ee90: 7465 2049 6e74 6572 6e61 6c0a 6f70 7469 te Internal.opti\n+0000eea0: 6f6e 733a 3a2e 0a0a 1f0a 4669 6c65 3a20 ons::.....File: \n+0000eeb0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n+0000eec0: 6465 3a20 5377 6565 7073 2c20 204e 6578 de: Sweeps, Nex\n+0000eed0: 743a 2042 6c6f 636b 732c 2020 5072 6576 t: Blocks, Prev\n+0000eee0: 3a20 5370 6563 6961 6c73 2c20 2055 703a : Specials, Up:\n+0000eef0: 2044 7261 7761 626c 6573 0a0a 332e 322e Drawables..3.2.\n+0000ef00: 3620 5377 6565 7073 0a2d 2d2d 2d2d 2d2d 6 Sweeps.-------\n+0000ef10: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:*\n+0000ef20: 0a20 2020 2020 7377 6565 7020 7b20 4e2c . sweep { N,\n+0000ef30: 2054 5f31 2c20 545f 322c 202e 2e2e 2c20 T_1, T_2, ..., \n+0000ef40: 545f 5220 7d5b 4f50 5449 4f4e 535d 2053 T_R }[OPTIONS] S\n+0000ef50: 5745 5054 5f4f 424a 4543 540a 2020 2020 WEPT_OBJECT. \n+0000ef60: 2073 7765 6570 207b 204e 3c3e 2c20 545f sweep { N<>, T_\n+0000ef70: 312c 2054 5f32 2c20 2e2e 2e2c 2054 5f52 1, T_2, ..., T_R\n+0000ef80: 207d 5b4f 5054 494f 4e53 5d20 5357 4550 }[OPTIONS] SWEP\n+0000ef90: 545f 4f42 4a45 4354 0a54 6865 2073 7765 T_OBJECT.The swe\n+0000efa0: 6570 2063 6f6e 6e65 6374 7320 4e20 286f ep connects N (o\n+0000efb0: 7220 7065 7268 6170 7320 4e2b 3129 2063 r perhaps N+1) c\n+0000efc0: 6f70 6965 7320 6f66 2053 5745 5054 5f4f opies of SWEPT_O\n+0000efd0: 424a 4543 5420 696e 206f 7264 6572 2074 BJECT in order t\n+0000efe0: 6f0a 6372 6561 7465 2061 206e 6577 206f o.create a new o\n+0000eff0: 626a 6563 7420 6f66 2068 6967 6865 7220 bject of higher \n+0000f000: 6469 6d65 6e73 696f 6e2e 2020 5468 6520 dimension. The \n+0000f010: 545f 4920 2866 6f72 2069 2062 6574 7765 T_I (for i betwe\n+0000f020: 656e 2031 2061 6e64 0a72 2920 6172 6520 en 1 and.r) are \n+0000f030: 7472 616e 7366 6f72 6d73 2e20 2054 6865 transforms. The\n+0000f040: 206b 2774 6820 636f 7079 206f 6620 5357 k'th copy of SW\n+0000f050: 4550 545f 4f42 4a45 4354 2069 7320 7072 EPT_OBJECT is pr\n+0000f060: 6f64 7563 6564 2062 790a 6170 706c 7969 oduced by.applyi\n+0000f070: 6e67 2074 6865 2066 6f6c 6c6f 7769 6e67 ng the following\n+0000f080: 2074 7261 6e73 666f 726d 2074 6f20 7468 transform to th\n+0000f090: 6520 6f72 6967 696e 616c 2e0a 2020 2020 e original.. \n+0000f0a0: 2054 5f31 5e6b 2074 6865 6e20 545f 325e T_1^k then T_2^\n+0000f0b0: 6b20 7468 656e 202e 2e2e 2074 6865 6e20 k then ... then \n+0000f0c0: 545f 525e 6b0a 4865 7265 2054 5e6b 206d T_R^k.Here T^k m\n+0000f0d0: 6561 6e73 2022 7472 616e 7366 6f72 6d20 eans \"transform \n+0000f0e0: 5420 6170 706c 6965 6420 6b20 7469 6d65 T applied k time\n+0000f0f0: 732e 2220 2054 6865 206f 7269 6769 6e61 s.\" The origina\n+0000f100: 6c20 6f62 6a65 6374 2069 730a 7468 6520 l object is.the \n+0000f110: 7a65 726f 2774 6820 636f 7079 2c20 7769 zero'th copy, wi\n+0000f120: 7468 206b 3d30 2061 6e64 2065 6666 6563 th k=0 and effec\n+0000f130: 7469 7665 6c79 206e 6f20 7472 616e 7366 tively no transf\n+0000f140: 6f72 6d20 6170 706c 6965 6420 2854 5e30 orm applied (T^0\n+0000f150: 3d49 2c0a 7468 6520 6964 656e 7469 7479 =I,.the identity\n+0000f160: 2074 7261 6e73 666f 726d 292e 0a0a 2020 transform)... \n+0000f170: 2054 6865 206d 6574 686f 6420 6f66 2063 The method of c\n+0000f180: 6f6e 6e65 6374 696e 6720 7468 6520 636f onnecting the co\n+0000f190: 7069 6573 2064 6570 656e 6473 206f 6e20 pies depends on \n+0000f1a0: 7468 6520 7479 7065 206f 660a 5357 4550 the type of.SWEP\n+0000f1b0: 545f 4f42 4a45 4354 2061 6e64 206f 6e20 T_OBJECT and on \n+0000f1c0: 7768 6574 6865 7220 7468 6520 636c 6f73 whether the clos\n+0000f1d0: 7572 6520 7461 6720 e280 983c 3ee2 8099 ure tag ...<>...\n+0000f1e0: 2069 7320 7072 6573 656e 7420 6f72 206e is present or n\n+0000f1f0: 6f74 2e0a 0a20 2020 416e 2065 7861 6d70 ot... An examp\n+0000f200: 6c65 206f 6620 6120 7377 6565 7020 7768 le of a sweep wh\n+0000f210: 6572 6520 723d 3220 6973 2074 6865 204d ere r=2 is the M\n+0000f220: 6f62 6975 7320 6669 6775 7265 2061 7420 obius figure at \n+0000f230: 2a6e 6f74 6520 4d6f 7265 2074 6f0a 6c65 *note More to.le\n+0000f240: 6172 6e3a 3a2e 0a0a 2a20 4d65 6e75 3a0a arn::...* Menu:.\n+0000f250: 0a2a 2053 7765 7074 2070 6f69 6e74 733a .* Swept points:\n+0000f260: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0000f270: 2053 7765 7074 2070 6f69 6e74 7320 6d61 Swept points ma\n+0000f280: 6b65 206c 696e 6573 206f 7220 706f 6c79 ke lines or poly\n+0000f290: 676f 6e73 2e0a 2a20 5377 6570 7420 6c69 gons..* Swept li\n+0000f2a0: 6e65 733a 3a20 2020 2020 2020 2020 2020 nes:: \n+0000f2b0: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line\n+0000f2c0: 7320 6d61 6b65 206f 7065 6e20 6f72 2063 s make open or c\n+0000f2d0: 6c6f 7365 6420 7375 7266 6163 6573 2e0a losed surfaces..\n+0000f2e0: 2a20 5377 6570 7420 706f 6c79 676f 6e73 * Swept polygons\n+0000f2f0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n+0000f300: 5377 6570 7420 706f 6c79 676f 6e73 206d Swept polygons m\n+0000f310: 616b 6520 636c 6f73 6564 2073 7572 6661 ake closed surfa\n+0000f320: 6365 732e 0a2a 2053 7765 7074 2062 6c6f ces..* Swept blo\n+0000f330: 636b 733a 3a20 2020 2020 2020 2020 2020 cks:: \n+0000f340: 2020 2020 2053 7765 7074 2062 6c6f 636b Swept block\n+0000f350: 20e2 89a1 2062 6c6f 636b 206f 6620 7377 ... block of sw\n+0000f360: 6565 7073 2e0a 2a20 5377 6565 7020 6661 eeps..* Sweep fa\n+0000f370: 6365 2073 706c 6974 7469 6e67 3a3a 2020 ce splitting:: \n+0000f380: 2020 2020 2020 4669 7869 6e67 2077 6172 Fixing war\n+0000f390: 7065 6420 6661 6365 7320 7769 7468 2074 ped faces with t\n+0000f3a0: 7269 616e 676c 6573 2e0a 0a1f 0a46 696c riangles.....Fil\n+0000f3b0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n+0000f3c0: 204e 6f64 653a 2053 7765 7074 2070 6f69 Node: Swept poi\n+0000f3d0: 6e74 732c 2020 4e65 7874 3a20 5377 6570 nts, Next: Swep\n+0000f3e0: 7420 6c69 6e65 732c 2020 5072 6576 3a20 t lines, Prev: \n+0000f3f0: 5377 6565 7073 2c20 2055 703a 2053 7765 Sweeps, Up: Swe\n+0000f400: 6570 730a 0a33 2e32 2e36 2e31 2053 7765 eps..3.2.6.1 Swe\n+0000f410: 7074 2070 6f69 6e74 730a 2e2e 2e2e 2e2e pt points.......\n+0000f420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................\n+0000f430: 4966 2053 5745 5054 5f4f 424a 4543 5420 If SWEPT_OBJECT \n+0000f440: 6973 2061 2070 6f69 6e74 206c 6973 7420 is a point list \n+0000f450: 616e 6420 7468 6572 6520 6973 206e 6f20 and there is no \n+0000f460: 636c 6f73 7572 6520 7461 672c 2074 6865 closure tag, the\n+0000f470: 6e0a e280 9873 7765 6570 e280 9920 636f n....sweep... co\n+0000f480: 6e6e 6563 7473 204e 2b31 2073 7563 6365 nnects N+1 succe\n+0000f490: 7373 6976 6520 636f 7069 6573 206f 6620 ssive copies of \n+0000f4a0: 6561 6368 2070 6f69 6e74 2028 696e 636c each point (incl\n+0000f4b0: 7564 696e 6720 7468 650a 6f72 6967 696e uding the.origin\n+0000f4c0: 616c 2920 7769 7468 2073 7472 6169 6768 al) with straigh\n+0000f4d0: 7420 6c69 6e65 2073 6567 6d65 6e74 7320 t line segments \n+0000f4e0: 746f 2066 6f72 6d20 6120 706f 6c79 6c69 to form a polyli\n+0000f4f0: 6e65 2e20 2049 6620 7468 6572 6520 6172 ne. If there ar\n+0000f500: 650a 6d20 706f 696e 7473 2069 6e20 7468 e.m points in th\n+0000f510: 6520 6f72 6967 696e 616c 2070 6f69 6e74 e original point\n+0000f520: 206c 6973 742c 2074 6865 6e20 6d20 706f list, then m po\n+0000f530: 6c79 6c69 6e65 7320 7769 7468 204e 2073 lylines with N s\n+0000f540: 6567 6d65 6e74 730a 6561 6368 2061 7265 egments.each are\n+0000f550: 2066 6f72 6d65 6420 6279 2074 6865 2073 formed by the s\n+0000f560: 7765 6570 2e20 2049 6e20 7468 6973 206d weep. In this m\n+0000f570: 616e 6e65 722c 20e2 8098 7377 6565 70e2 anner, ...sweep.\n+0000f580: 8099 2066 6f72 6d73 2061 2073 6574 206f .. forms a set o\n+0000f590: 660a 6f6e 652d 6469 6d65 6e73 696f 6e61 f.one-dimensiona\n+0000f5a0: 6c20 6f62 6a65 6374 7320 2870 6f6c 796c l objects (polyl\n+0000f5b0: 696e 6573 2920 6672 6f6d 207a 6572 6f2d ines) from zero-\n+0000f5c0: 6469 6d65 6e73 696f 6e61 6c20 6f6e 6573 dimensional ones\n+0000f5d0: 2028 706f 696e 7473 292e 0a0a 2020 2057 (points)... W\n+0000f5e0: 6865 6e20 7468 6572 6520 5f69 735f 2061 hen there _is_ a\n+0000f5f0: 2063 6c6f 7375 7265 2074 6167 2c20 e280 closure tag, ..\n+0000f600: 9873 7765 6570 e280 9920 636f 6e6e 6563 .sweep... connec\n+0000f610: 7473 204e 2073 7563 6365 7373 6976 6520 ts N successive \n+0000f620: 636f 7069 6573 0a6f 6620 6561 6368 2070 copies.of each p\n+0000f630: 6f69 6e74 2028 696e 636c 7564 696e 6720 oint (including \n+0000f640: 7468 6520 6f72 6967 696e 616c 2920 7769 the original) wi\n+0000f650: 7468 2073 7472 6169 6768 7420 6c69 6e65 th straight line\n+0000f660: 2073 6567 6d65 6e74 7320 616e 640a 6669 segments and.fi\n+0000f670: 6e61 6c6c 7920 636f 6e6e 6563 7473 2074 nally connects t\n+0000f680: 6865 206c 6173 7420 636f 7079 2062 6163 he last copy bac\n+0000f690: 6b20 746f 2074 6865 206f 7269 6769 6e61 k to the origina\n+0000f6a0: 6c20 746f 2066 6f72 6d20 6120 706f 6c79 l to form a poly\n+0000f6b0: 676f 6e0a 7769 7468 204e 2073 6964 6573 gon.with N sides\n+0000f6c0: 2e20 2049 6620 7468 6572 6520 6172 6520 . If there are \n+0000f6d0: 6d20 706f 696e 7473 2069 6e20 7468 6520 m points in the \n+0000f6e0: 6f72 6967 696e 616c 2070 6f69 6e74 206c original point l\n+0000f6f0: 6973 742c 2074 6865 6e20 6d0a 706f 6c79 ist, then m.poly\n+0000f700: 676f 6e73 2077 6974 6820 4e20 7369 6465 gons with N side\n+0000f710: 7320 6561 6368 2061 7265 2066 6f72 6d65 s each are forme\n+0000f720: 6420 6279 2074 6865 2073 7765 6570 2e20 d by the sweep. \n+0000f730: 2049 6e20 7468 6973 206d 616e 6e65 722c In this manner,\n+0000f740: 0ae2 8098 7377 6565 70e2 8099 2066 6f72 ....sweep... for\n+0000f750: 6d73 2061 2073 6574 206f 6620 7477 6f2d ms a set of two-\n+0000f760: 6469 6d65 6e73 696f 6e61 6c20 6f62 6a65 dimensional obje\n+0000f770: 6374 7320 2870 6f6c 7967 6f6e 7329 2066 cts (polygons) f\n+0000f780: 726f 6d0a 7a65 726f 2d64 696d 656e 7369 rom.zero-dimensi\n+0000f790: 6f6e 616c 206f 6e65 7320 2870 6f69 6e74 onal ones (point\n+0000f7a0: 7329 2e0a 0a20 2020 4f70 7469 6f6e 7320 s)... Options \n+0000f7b0: 6f66 2074 6865 20e2 8098 7377 6565 70e2 of the ...sweep.\n+0000f7c0: 8099 2061 7265 2063 6f70 6965 6420 6469 .. are copied di\n+0000f7d0: 7265 6374 6c79 2074 6f20 7468 6520 7265 rectly to the re\n+0000f7e0: 7375 6c74 696e 670a 706f 6c79 6c69 6e65 sulting.polyline\n+0000f7f0: 2873 292e 0a0a 1f0a 4669 6c65 3a20 736b (s).....File: sk\n+0000f800: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+0000f810: 3a20 5377 6570 7420 6c69 6e65 732c 2020 : Swept lines, \n+0000f820: 4e65 7874 3a20 5377 6570 7420 706f 6c79 Next: Swept poly\n+0000f830: 676f 6e73 2c20 2050 7265 763a 2053 7765 gons, Prev: Swe\n+0000f840: 7074 2070 6f69 6e74 732c 2020 5570 3a20 pt points, Up: \n+0000f850: 5377 6565 7073 0a0a 332e 322e 362e 3220 Sweeps..3.2.6.2 \n+0000f860: 5377 6570 7420 6c69 6e65 730a 2e2e 2e2e Swept lines.....\n+0000f870: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................\n+0000f880: 0a49 6620 5357 4550 545f 4f42 4a45 4354 .If SWEPT_OBJECT\n+0000f890: 2069 7320 6120 706f 6c79 6c69 6e65 2061 is a polyline a\n+0000f8a0: 6e64 2074 6865 7265 2069 7320 6e6f 2063 nd there is no c\n+0000f8b0: 6c6f 7375 7265 2074 6167 2c20 7468 656e losure tag, then\n+0000f8c0: 20e2 8098 7377 6565 70e2 8099 0a63 6f6e ...sweep....con\n+0000f8d0: 6e65 6374 7320 4e2b 3120 7375 6363 6573 nects N+1 succes\n+0000f8e0: 7369 7665 2063 6f70 6965 7320 6f66 2074 sive copies of t\n+0000f8f0: 6865 2070 6f6c 796c 696e 6520 2869 6e63 he polyline (inc\n+0000f900: 6c75 6469 6e67 2074 6865 206f 7269 6769 luding the origi\n+0000f910: 6e61 6c29 0a77 6974 6820 666f 7572 2d73 nal).with four-s\n+0000f920: 6964 6564 2070 6f6c 7967 6f6e 732c 2065 ided polygons, e\n+0000f930: 6163 6820 7061 6972 206f 6620 636f 7069 ach pair of copi\n+0000f940: 6573 2067 6976 696e 6720 7269 7365 2074 es giving rise t\n+0000f950: 6f20 6120 2270 6f6c 7967 6f6e 0a73 7472 o a \"polygon.str\n+0000f960: 6970 2e22 2020 4966 2074 6865 7265 2061 ip.\" If there a\n+0000f970: 7265 206d 2070 6f69 6e74 7320 696e 2074 re m points in t\n+0000f980: 6865 206f 7269 6769 6e61 6c20 706f 6c79 he original poly\n+0000f990: 6c69 6e65 2c20 7468 656e 2028 6d2d 3129 line, then (m-1)\n+0000f9a0: 4e0a 706f 6c79 676f 6e73 2061 7265 2066 N.polygons are f\n+0000f9b0: 6f72 6d65 6420 6279 2074 6865 2073 7765 ormed by the swe\n+0000f9c0: 6570 2e20 2057 6520 6361 6c6c 2074 6865 ep. We call the\n+0000f9d0: 7365 20e2 809c 626f 6479 2070 6f6c 7967 se ...body polyg\n+0000f9e0: 6f6e 73e2 809d 2e20 2049 6e0a 7468 6973 ons.... In.this\n+0000f9f0: 206d 616e 6e65 722c 20e2 8098 7377 6565 manner, ...swee\n+0000fa00: 70e2 8099 2066 6f72 6d73 2061 2074 776f p... forms a two\n+0000fa10: 2d64 696d 656e 7369 6f6e 616c 2073 7572 -dimensional sur\n+0000fa20: 6661 6365 2066 726f 6d20 6672 6f6d 2061 face from from a\n+0000fa30: 0a6f 6e65 2d64 696d 656e 7369 6f6e 616c .one-dimensional\n+0000fa40: 2070 6f6c 796c 696e 652e 0a0a 2020 2054 polyline... T\n+0000fa50: 6865 206f 7264 6572 206f 6620 7665 7274 he order of vert\n+0000fa60: 6963 6573 2070 726f 6475 6365 6420 6279 ices produced by\n+0000fa70: 20e2 8098 7377 6565 70e2 8099 2069 7320 ...sweep... is \n+0000fa80: 696d 706f 7274 616e 742e 2020 4966 2061 important. If a\n+0000fa90: 0a70 6f6c 7967 6f6e 2773 2076 6572 7469 .polygon's verti\n+0000faa0: 6365 7320 646f 206e 6f74 2061 7070 6561 ces do not appea\n+0000fab0: 7220 696e 2063 6f75 6e74 6572 2d63 6c6f r in counter-clo\n+0000fac0: 636b 7769 7365 206f 7264 6572 2069 6e20 ckwise order in \n+0000fad0: 7468 6520 6669 6e61 6c0a 696d 6167 652c the final.image,\n+0000fae0: 2074 6865 2070 6f6c 7967 6f6e 2077 696c the polygon wil\n+0000faf0: 6c20 6265 2063 756c 6c65 6420 2875 6e6c l be culled (unl\n+0000fb00: 6573 7320 e280 9863 756c 6c3d 6661 6c73 ess ...cull=fals\n+0000fb10: 65e2 8099 2069 7320 7365 7429 2e20 2049 e... is set). I\n+0000fb20: 6620 7468 650a 706f 696e 7473 2069 6e20 f the.points in \n+0000fb30: 7468 6520 6b27 7468 2063 6f70 7920 6f66 the k'th copy of\n+0000fb40: 2074 6865 2070 6f6c 796c 696e 6520 6172 the polyline ar\n+0000fb50: 6520 505f 312c 2050 5f32 2c20 2e2e 2e2c e P_1, P_2, ...,\n+0000fb60: 2050 5f6d 2c20 616e 6420 7468 650a 706f P_m, and the.po\n+0000fb70: 696e 7473 2069 6e20 7468 6520 6e65 7874 ints in the next\n+0000fb80: 2063 6f70 792c 2074 6865 2028 6b2b 3129 copy, the (k+1)\n+0000fb90: 7374 2c20 6172 6520 505f 3127 2c20 505f st, are P_1', P_\n+0000fba0: 3227 2c20 2e2e 2e2c 2050 5f6d 272c 2074 2', ..., P_m', t\n+0000fbb0: 6865 6e0a 7468 6520 7665 7274 6578 206f hen.the vertex o\n+0000fbc0: 7264 6572 206f 6620 7468 6520 6765 6e65 rder of the gene\n+0000fbd0: 7261 7465 6420 706f 6c79 676f 6e73 2069 rated polygons i\n+0000fbe0: 730a 2020 2020 2042 6f64 7920 706f 6c79 s. Body poly\n+0000fbf0: 676f 6e20 313a 2050 5f32 2050 5f31 2050 gon 1: P_2 P_1 P\n+0000fc00: 5f31 2720 505f 3227 0a20 2020 2020 426f _1' P_2'. Bo\n+0000fc10: 6479 2070 6f6c 7967 6f6e 2032 3a20 505f dy polygon 2: P_\n+0000fc20: 3320 505f 3220 505f 3227 2050 5f33 270a 3 P_2 P_2' P_3'.\n+0000fc30: 2020 2020 202e 2e2e 0a20 2020 2020 426f .... Bo\n+0000fc40: 6479 2070 6f6c 7967 6f6e 206d 2d31 3a20 dy polygon m-1: \n+0000fc50: 505f 6d20 505f 7b6d 2d31 7d20 505f 7b6d P_m P_{m-1} P_{m\n+0000fc60: 2d31 7d27 2050 5f6d 270a 0a20 2020 4f70 -1}' P_m'.. Op\n+0000fc70: 7469 6f6e 7320 6f66 2075 6e63 6c6f 7365 tions of unclose\n+0000fc80: 6420 6c69 6e65 2073 7765 6570 7320 6172 d line sweeps ar\n+0000fc90: 6520 636f 7069 6564 2074 6f20 6561 6368 e copied to each\n+0000fca0: 206f 7574 7075 7420 706f 6c79 676f 6e2e output polygon.\n+0000fcb0: 0a4f 7074 696f 6e73 206f 6620 7468 6520 .Options of the \n+0000fcc0: 7377 6570 7420 6c69 6e65 2061 7265 2069 swept line are i\n+0000fcd0: 676e 6f72 6564 2e0a 0a20 2020 5768 656e gnored... When\n+0000fce0: 2074 6865 7265 205f 6973 5f20 6120 636c there _is_ a cl\n+0000fcf0: 6f73 7572 6520 7461 672c 2074 6865 6e20 osure tag, then \n+0000fd00: e280 9873 7765 6570 e280 9920 636f 6e6e ...sweep... conn\n+0000fd10: 6563 7473 204e 2073 7563 6365 7373 6976 ects N successiv\n+0000fd20: 650a 636f 7069 6573 206f 6620 7468 6520 e.copies of the \n+0000fd30: 706f 6c79 6c69 6e65 2028 696e 636c 7564 polyline (includ\n+0000fd40: 696e 6720 7468 6520 6f72 6967 696e 616c ing the original\n+0000fd50: 2920 7769 7468 2066 6f75 722d 7369 6465 ) with four-side\n+0000fd60: 6420 626f 6479 0a70 6f6c 7967 6f6e 7320 d body.polygons \n+0000fd70: 6a75 7374 2061 7320 7468 6520 6361 7365 just as the case\n+0000fd80: 2077 6974 6820 6e6f 2063 6c6f 7375 7265 with no closure\n+0000fd90: 2074 6167 2e20 2049 7420 7468 656e 2063 tag. It then c\n+0000fda0: 6f6e 6e65 6374 7320 7468 650a 6c61 7374 onnects the.last\n+0000fdb0: 2063 6f70 7920 6261 636b 2074 6f20 7468 copy back to th\n+0000fdc0: 6520 6f72 6967 696e 616c 2074 6f20 666f e original to fo\n+0000fdd0: 726d 2061 2072 6962 626f 6e2d 7368 6170 rm a ribbon-shap\n+0000fde0: 6564 2073 7572 6661 6365 2074 6861 740a ed surface that.\n+0000fdf0: 636c 6f73 6573 206f 6e20 6974 7365 6c66 closes on itself\n+0000fe00: 2077 6974 6820 7477 6f20 686f 6c65 7320 with two holes \n+0000fe10: 7265 6d61 696e 696e 672e 0a0a 2020 2046 remaining... F\n+0000fe20: 696e 616c 6c79 2c20 7468 6520 7377 6565 inally, the swee\n+0000fe30: 7020 6164 6473 2074 776f 206d 6f72 6520 p adds two more \n+0000fe40: 706f 6c79 676f 6e73 2074 6f20 7365 616c polygons to seal\n+0000fe50: 2074 6865 2068 6f6c 6573 2061 6e64 2066 the holes and f\n+0000fe60: 6f72 6d0a 6120 636c 6f73 6564 2073 7572 orm.a closed sur\n+0000fe70: 6661 6365 2074 6861 742c 2064 6570 656e face that, depen\n+0000fe80: 6469 6e67 206f 6e20 7468 6520 7377 6565 ding on the swee\n+0000fe90: 7020 7472 616e 7366 6f72 6d73 2c20 6d61 p transforms, ma\n+0000fea0: 7920 7265 7072 6573 656e 740a 7468 6520 y represent.the \n+0000feb0: 626f 756e 6461 7279 206f 6620 6120 736f boundary of a so\n+0000fec0: 6c69 642e 2020 496e 2074 6869 7320 6d61 lid. In this ma\n+0000fed0: 6e6e 6572 2c20 e280 9873 7765 6570 e280 nner, ...sweep..\n+0000fee0: 9920 666f 726d 7320 7468 6520 626f 756e . forms the boun\n+0000fef0: 6461 7279 206f 660a 6120 7468 7265 652d dary of.a three-\n+0000ff00: 6469 6d65 6e73 696f 6e61 6c20 6f62 6a65 dimensional obje\n+0000ff10: 6374 2066 726f 6d20 6120 6f6e 652d 6469 ct from a one-di\n+0000ff20: 6d65 6e73 696f 6e61 6c20 706f 6c79 6c69 mensional polyli\n+0000ff30: 6e65 2e20 2057 6520 6361 6c6c 0a74 6865 ne. We call.the\n+0000ff40: 7365 2068 6f6c 652d 6669 6c6c 696e 6720 se hole-filling \n+0000ff50: 706f 6c79 676f 6e73 20e2 809c 656e 6473 polygons ...ends\n+0000ff60: e280 9d2e 0a0a 2020 2054 6865 206f 7264 ...... The ord\n+0000ff70: 6572 206f 6620 7665 7274 6963 6573 206f er of vertices o\n+0000ff80: 6620 656e 6420 706f 6c79 676f 6e73 2069 f end polygons i\n+0000ff90: 7320 696d 706f 7274 616e 7420 666f 7220 s important for \n+0000ffa0: 636f 7272 6563 740a 6375 6c6c 696e 6720 correct.culling \n+0000ffb0: 6173 2064 6573 6372 6962 6564 2061 626f as described abo\n+0000ffc0: 7665 2e20 2049 6620 505f 315e 312c 2050 ve. If P_1^1, P\n+0000ffd0: 5f31 5e32 2c20 2e2e 2e2c 2050 5f31 5e6e _1^2, ..., P_1^n\n+0000ffe0: 2061 7265 2074 6865 204e 0a63 6f70 6965 are the N.copie\n+0000fff0: 7320 6f66 2074 6865 2066 6972 7374 2070 s of the first p\n+00010000: 6f6c 796c 696e 6520 706f 696e 7420 616e olyline point an\n+00010010: 6420 505f 6d5e 312c 2050 5f6d 5e32 2c20 d P_m^1, P_m^2, \n+00010020: 2e2e 2e20 2c50 5f6d 5e6e 2061 7265 2074 ... ,P_m^n are t\n+00010030: 6865 0a4e 2063 6f70 6965 7320 6f66 2074 he.N copies of t\n+00010040: 6865 206c 6173 7420 706f 6c79 6c69 6e65 he last polyline\n+00010050: 2070 6f69 6e74 2c20 7468 656e 2074 6865 point, then the\n+00010060: 2065 6e64 2070 6f6c 7967 6f6e 2076 6572 end polygon ver\n+00010070: 7465 7820 6f72 6465 720a 6973 0a20 2020 tex order.is. \n+00010080: 2020 456e 6420 706f 6c79 676f 6e20 313a End polygon 1:\n+00010090: 2050 5f31 5e6e 2c20 505f 315e 7b6e 2d31 P_1^n, P_1^{n-1\n+000100a0: 7d2c 202e 2e2e 202c 505f 315e 310a 2020 }, ... ,P_1^1. \n+000100b0: 2020 2045 6e64 2070 6f6c 7967 6f6e 2032 End polygon 2\n+000100c0: 3a20 505f 6d5e 312c 2050 5f6d 5e32 2c20 : P_m^1, P_m^2, \n+000100d0: 2e2e 2e20 2c50 5f6d 5e6e 0a0a 2020 2049 ... ,P_m^n.. I\n+000100e0: 6620 7468 6572 6520 6172 6520 6e6f 206f f there are no o\n+000100f0: 7074 696f 6e73 206f 6e20 7468 6520 7377 ptions on the sw\n+00010100: 6570 7420 6c69 6e65 2c20 7468 656e 2074 ept line, then t\n+00010110: 6865 20e2 8098 7377 6565 70e2 8099 206f he ...sweep... o\n+00010120: 7074 696f 6e73 0a61 7265 2063 6f70 6965 ptions.are copie\n+00010130: 6420 746f 2065 6163 6820 6f75 7470 7574 d to each output\n+00010140: 2070 6f6c 7967 6f6e 2e20 2049 6620 7468 polygon. If th\n+00010150: 6520 7377 6570 7420 6c69 6e65 2064 6f65 e swept line doe\n+00010160: 7320 6861 7665 206f 7074 696f 6e73 2c0a s have options,.\n+00010170: 7468 6573 6520 6172 6520 636f 7069 6564 these are copied\n+00010180: 2074 6f20 636f 7272 6573 706f 6e64 696e to correspondin\n+00010190: 6720 626f 6479 2070 6f6c 7967 6f6e 733b g body polygons;\n+000101a0: 2074 6865 2073 7765 6570 206f 7074 696f the sweep optio\n+000101b0: 6e73 2061 7265 0a63 6f70 6965 6420 746f ns are.copied to\n+000101c0: 2074 6865 2065 6e64 2070 6f6c 7967 6f6e the end polygon\n+000101d0: 732e 2020 496e 2074 6869 7320 6d61 6e6e s. In this mann\n+000101e0: 6572 2c20 626f 6479 2061 6e64 2065 6e64 er, body and end\n+000101f0: 7320 6d61 7920 6265 2064 7261 776e 0a77 s may be drawn.w\n+00010200: 6974 6820 6469 6666 6572 656e 7420 6368 ith different ch\n+00010210: 6172 6163 7465 7269 7374 6963 7320 7375 aracteristics su\n+00010220: 6368 2061 7320 e280 9866 696c 6c63 6f6c ch as ...fillcol\n+00010230: 6f72 e280 992e 0a0a 1f0a 4669 6c65 3a20 or........File: \n+00010240: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n+00010250: 6465 3a20 5377 6570 7420 706f 6c79 676f de: Swept polygo\n+00010260: 6e73 2c20 204e 6578 743a 2053 7765 7074 ns, Next: Swept\n+00010270: 2062 6c6f 636b 732c 2020 5072 6576 3a20 blocks, Prev: \n+00010280: 5377 6570 7420 6c69 6e65 732c 2020 5570 Swept lines, Up\n+00010290: 3a20 5377 6565 7073 0a0a 332e 322e 362e : Sweeps..3.2.6.\n+000102a0: 3320 5377 6570 7420 706f 6c79 676f 6e73 3 Swept polygons\n+000102b0: 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+000102c0: 2e2e 2e2e 2e2e 2e0a 0a49 6620 5357 4550 .........If SWEP\n+000102d0: 545f 4f42 4a45 4354 2069 7320 6120 706f T_OBJECT is a po\n+000102e0: 6c79 676f 6e2c 2074 6865 20e2 8098 7377 lygon, the ...sw\n+000102f0: 6565 70e2 8099 2063 6f6e 6e65 6374 7320 eep... connects \n+00010300: 4e2b 3120 7375 6363 6573 7369 7665 2063 N+1 successive c\n+00010310: 6f70 6965 730a 6f66 2074 6865 2063 6c6f opies.of the clo\n+00010320: 7365 6420 706f 6c79 6c69 6e65 2062 6f72 sed polyline bor\n+00010330: 6465 7220 6f66 2074 6865 2070 6f6c 7967 der of the polyg\n+00010340: 6f6e 2074 6f20 666f 726d 2062 6f64 7920 on to form body \n+00010350: 706f 6c79 676f 6e73 0a65 7861 6374 6c79 polygons.exactly\n+00010360: 2061 7320 7468 6f75 6768 2074 6865 2062 as though the b\n+00010370: 6f72 6465 7220 7765 7265 2061 2073 7765 order were a swe\n+00010380: 7074 2070 6f6c 796c 696e 6520 6173 2064 pt polyline as d\n+00010390: 6573 6372 6962 6564 2069 6e20 2a6e 6f74 escribed in *not\n+000103a0: 650a 5377 6570 7420 6c69 6e65 733a 3a2e e.Swept lines::.\n+000103b0: 2020 4966 2074 6865 7265 2061 7265 206d If there are m\n+000103c0: 2070 6f69 6e74 7320 696e 2074 6865 206f points in the o\n+000103d0: 7269 6769 6e61 6c20 706f 6c79 676f 6e2c riginal polygon,\n+000103e0: 2074 6865 6e20 6d4e 0a62 6f64 7920 706f then mN.body po\n+000103f0: 6c79 676f 6e73 2061 7265 2066 6f72 6d65 lygons are forme\n+00010400: 6420 6279 2074 6869 7320 7377 6565 702e d by this sweep.\n+00010410: 2020 5468 6520 626f 6479 2070 6f6c 7967 The body polyg\n+00010420: 6f6e 7320 666f 726d 2061 6e0a e280 9c65 ons form an....e\n+00010430: 7874 7275 7369 6f6e e280 9d20 6f66 2074 xtrusion... of t\n+00010440: 6865 2062 6f75 6e64 6172 7920 6f66 2074 he boundary of t\n+00010450: 6865 206f 7269 6769 6e61 6c20 706f 6c79 he original poly\n+00010460: 676f 6e20 7769 7468 2074 776f 2068 6f6c gon with two hol\n+00010470: 6573 2061 740a 7468 6520 6f70 656e 2065 es at.the open e\n+00010480: 6e64 732e 0a0a 2020 2046 696e 616c 6c79 nds... Finally\n+00010490: 2c20 7468 6520 7377 6565 7020 6164 6473 , the sweep adds\n+000104a0: 2074 776f 2063 6f70 6965 7320 6f66 2074 two copies of t\n+000104b0: 6865 206f 7269 6769 6e61 6c20 706f 6c79 he original poly\n+000104c0: 676f 6e20 746f 2063 6f76 6572 0a74 6865 gon to cover.the\n+000104d0: 2068 6f6c 6573 2e20 2057 6520 6361 6c6c holes. We call\n+000104e0: 2074 6865 7365 2068 6f6c 652d 6669 6c6c these hole-fill\n+000104f0: 696e 6720 706f 6c79 676f 6e73 20e2 809c ing polygons ...\n+00010500: 656e 6473 e280 9d2e 2020 496e 2074 6869 ends.... In thi\n+00010510: 7320 6d61 6e6e 6572 2c0a e280 9873 7765 s manner,....swe\n+00010520: 6570 e280 9920 666f 726d 7320 7468 6520 ep... forms the \n+00010530: 626f 756e 6461 7279 206f 6620 6120 7468 boundary of a th\n+00010540: 7265 652d 6469 6d65 6e73 696f 6e61 6c20 ree-dimensional \n+00010550: 6f62 6a65 6374 2066 726f 6d20 610a 7477 object from a.tw\n+00010560: 6f2d 6469 6d65 6e73 696f 6e61 6c20 706f o-dimensional po\n+00010570: 6c79 676f 6e2e 0a0a 2020 2054 6865 206f lygon... The o\n+00010580: 7264 6572 206f 6620 7665 7274 6963 6573 rder of vertices\n+00010590: 206f 6620 656e 6420 706f 6c79 676f 6e73 of end polygons\n+000105a0: 2069 7320 696d 706f 7274 616e 7420 666f is important fo\n+000105b0: 7220 636f 7272 6563 740a 6375 6c6c 696e r correct.cullin\n+000105c0: 6720 6173 2064 6573 6372 6962 6564 2061 g as described a\n+000105d0: 626f 7665 2e20 2041 6e20 6578 6163 7420 bove. An exact \n+000105e0: 636f 7079 206f 6620 7468 6520 6f72 6967 copy of the orig\n+000105f0: 696e 616c 2070 6f6c 7967 6f6e 2077 6974 inal polygon wit\n+00010600: 680a 7665 7274 6578 206f 7264 6572 2069 h.vertex order i\n+00010610: 6e74 6163 7420 666f 726d 7320 7468 6520 ntact forms the \n+00010620: 6669 7273 7420 656e 6420 706f 6c79 676f first end polygo\n+00010630: 6e2e 2020 5468 6520 6f74 6865 7220 656e n. The other en\n+00010640: 6420 706f 6c79 676f 6e0a 7265 7375 6c74 d polygon.result\n+00010650: 7320 6672 6f6d 2074 7261 6e73 666f 726d s from transform\n+00010660: 696e 6720 616e 6420 7468 6520 7265 7665 ing and the reve\n+00010670: 7273 696e 6720 7468 6520 6f72 6465 7220 rsing the order \n+00010680: 6f66 2076 6572 7469 6365 7320 696e 2074 of vertices in t\n+00010690: 6865 0a6f 7269 6769 6e61 6c2e 2020 5468 he.original. Th\n+000106a0: 6520 7472 616e 7366 6f72 6d20 706c 6163 e transform plac\n+000106b0: 6573 2074 6865 206f 7269 6769 6e61 6c20 es the original \n+000106c0: 706f 6c79 676f 6e20 6174 2074 6865 2075 polygon at the u\n+000106d0: 6e63 6f76 6572 6564 0a68 6f6c 653b 2069 ncovered.hole; i\n+000106e0: 7420 6973 0a20 2020 2020 545f 315e 6e20 t is. T_1^n \n+000106f0: 7468 656e 2054 5f32 5e6e 2074 6865 6e20 then T_2^n then \n+00010700: 2e2e 2e20 7468 656e 2054 5f52 5e6e 2e0a ... then T_R^n..\n+00010710: 4966 2074 6865 7265 2061 7265 206e 6f20 If there are no \n+00010720: 6f70 7469 6f6e 7320 6f6e 2074 6865 2073 options on the s\n+00010730: 7765 7074 2070 6f6c 7967 6f6e 2c20 7468 wept polygon, th\n+00010740: 656e 2074 6865 20e2 8098 7377 6565 70e2 en the ...sweep.\n+00010750: 8099 206f 7074 696f 6e73 0a61 7265 2063 .. options.are c\n+00010760: 6f70 6965 6420 746f 2065 6163 6820 6f75 opied to each ou\n+00010770: 7470 7574 2070 6f6c 7967 6f6e 2e20 2049 tput polygon. I\n+00010780: 6620 7468 6520 7377 6570 7420 706f 6c79 f the swept poly\n+00010790: 676f 6e20 646f 6573 2068 6176 650a 6f70 gon does have.op\n+000107a0: 7469 6f6e 732c 2074 6865 7365 2061 7265 tions, these are\n+000107b0: 2063 6f70 6965 6420 746f 2074 6865 2065 copied to the e\n+000107c0: 6e64 733b 2074 6865 2073 7765 6570 206f nds; the sweep o\n+000107d0: 7074 696f 6e73 2061 7265 2063 6f70 6965 ptions are copie\n+000107e0: 6420 746f 0a74 6865 2062 6f64 7920 706f d to.the body po\n+000107f0: 6c79 676f 6e73 2e20 2049 6e20 7468 6973 lygons. In this\n+00010800: 206d 616e 6e65 722c 2062 6f64 7920 616e manner, body an\n+00010810: 6420 656e 6473 206d 6179 2062 6520 6472 d ends may be dr\n+00010820: 6177 6e20 7769 7468 0a64 6966 6665 7265 awn with.differe\n+00010830: 6e74 2063 6861 7261 6374 6572 6973 7469 nt characteristi\n+00010840: 6373 2073 7563 6820 6173 20e2 8098 6669 cs such as ...fi\n+00010850: 6c6c 636f 6c6f 72e2 8099 2e0a 0a1f 0a46 llcolor........F\n+00010860: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+00010870: 2c20 204e 6f64 653a 2053 7765 7074 2062 , Node: Swept b\n+00010880: 6c6f 636b 732c 2020 4e65 7874 3a20 5377 locks, Next: Sw\n+00010890: 6565 7020 6661 6365 2073 706c 6974 7469 eep face splitti\n+000108a0: 6e67 2c20 2050 7265 763a 2053 7765 7074 ng, Prev: Swept\n+000108b0: 2070 6f6c 7967 6f6e 732c 2020 5570 3a20 polygons, Up: \n+000108c0: 5377 6565 7073 0a0a 332e 322e 362e 3420 Sweeps..3.2.6.4 \n+000108d0: 5377 6570 7420 626c 6f63 6b73 0a2e 2e2e Swept blocks....\n+000108e0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+000108f0: 2e0a 0a54 6865 2073 7765 7074 206f 626a ...The swept obj\n+00010900: 6563 7420 5357 4550 545f 4f42 4a45 4354 ect SWEPT_OBJECT\n+00010910: 206d 6179 2061 6c73 6f20 6265 2061 6e79 may also be any\n+00010920: 2063 6f6c 6c65 6374 696f 6e20 6f66 2070 collection of p\n+00010930: 6f6c 796c 696e 6573 0a61 6e64 2070 6f6c olylines.and pol\n+00010940: 7967 6f6e 732e 2020 5468 6973 206d 6179 ygons. This may\n+00010950: 2062 6520 6120 626c 6f63 6b20 636f 6d70 be a block comp\n+00010960: 6f73 6564 206f 6620 e280 986c 696e 65e2 osed of ...line.\n+00010970: 8099 2061 6e64 2f6f 7220 e280 9870 6f6c .. and/or ...pol\n+00010980: 7967 6f6e e280 990a 636f 6d6d 616e 6473 ygon....commands\n+00010990: 2069 6e20 6272 6163 6573 20e2 8098 7b20 in braces ...{ \n+000109a0: 7de2 8099 2c20 6f72 2069 7420 6d61 7920 }..., or it may \n+000109b0: 6265 2074 6865 2072 6573 756c 7420 6f66 be the result of\n+000109c0: 2061 20e2 8098 7265 7065 6174 e280 992c a ...repeat...,\n+000109d0: 2061 6e6f 7468 6572 0ae2 8098 7377 6565 another....swee\n+000109e0: 70e2 8099 2c20 6574 632e 2020 5468 6520 p..., etc. The \n+000109f0: 7377 6565 7020 6163 7473 2069 6e64 6570 sweep acts indep\n+00010a00: 656e 6465 6e74 6c79 206f 6e20 6561 6368 endently on each\n+00010a10: 206f 626a 6563 7420 696e 2074 6865 2062 object in the b\n+00010a20: 6c6f 636b 0a65 7861 6374 6c79 2061 7320 lock.exactly as \n+00010a30: 6966 2069 7420 7765 7265 2061 2073 696e if it were a sin\n+00010a40: 676c 6520 7377 6570 7420 6f62 6a65 6374 gle swept object\n+00010a50: 2064 6573 6372 6962 6564 2061 626f 7665 described above\n+00010a60: 2069 6e20 2a6e 6f74 650a 5377 6570 7420 in *note.Swept \n+00010a70: 6c69 6e65 733a 3a20 616e 6420 2a6e 6f74 lines:: and *not\n+00010a80: 6520 5377 6570 7420 706f 6c79 676f 6e73 e Swept polygons\n+00010a90: 3a3a 2e0a 0a1f 0a46 696c 653a 2073 6b65 ::.....File: ske\n+00010aa0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+00010ab0: 2053 7765 6570 2066 6163 6520 7370 6c69 Sweep face spli\n+00010ac0: 7474 696e 672c 2020 5072 6576 3a20 5377 tting, Prev: Sw\n+00010ad0: 6570 7420 626c 6f63 6b73 2c20 2055 703a ept blocks, Up:\n+00010ae0: 2053 7765 6570 730a 0a33 2e32 2e36 2e35 Sweeps..3.2.6.5\n+00010af0: 2053 7765 6570 2066 6163 6520 7370 6c69 Sweep face spli\n+00010b00: 7474 696e 670a 2e2e 2e2e 2e2e 2e2e 2e2e tting...........\n 00010b10: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00010b20: 2e2e 2e2e 2e2e 2e2e 0a0a 4265 666f 7265 ..........Before\n-00010b30: 2073 656e 6469 6e67 2065 6163 6820 666f sending each fo\n-00010b40: 7572 2d73 6964 6564 2062 6f64 7920 706f ur-sided body po\n-00010b50: 6c79 676f 6e20 6f66 2061 20e2 8098 7377 lygon of a ...sw\n-00010b60: 6565 70e2 8099 2074 6f20 7468 6520 6f75 eep... to the ou\n-00010b70: 7470 7574 2c0a e280 9873 6b65 7463 68e2 tput,....sketch.\n-00010b80: 8099 2074 6573 7473 2074 6f20 7365 6520 .. tests to see \n-00010b90: 6966 2069 7420 6973 2072 6f75 6768 6c79 if it is roughly\n-00010ba0: 2070 6c61 6e61 722e 2020 5369 6e63 6520 planar. Since \n-00010bb0: 706c 616e 6172 6974 7920 6973 0a6e 6563 planarity is.nec\n-00010bc0: 6573 7361 7279 2066 6f72 2070 726f 7065 essary for prope\n-00010bd0: 7220 6675 6e63 7469 6f6e 696e 6720 6f66 r functioning of\n-00010be0: 2074 6865 2068 6964 6465 6e20 7375 7266 the hidden surf\n-00010bf0: 6163 6520 616c 676f 7269 7468 6d2c 0a22 ace algorithm,.\"\n-00010c00: 7761 7270 6564 2220 706f 6c79 676f 6e73 warped\" polygons\n-00010c10: 2061 7265 2061 7574 6f6d 6174 6963 616c are automatical\n-00010c20: 6c79 2073 706c 6974 2069 6e74 6f20 7477 ly split into tw\n-00010c30: 6f20 7472 6961 6e67 6c65 732e 0a0a 2020 o triangles... \n-00010c40: 2048 6f6c 652d 6669 6c6c 696e 6720 706f Hole-filling po\n-00010c50: 6c79 676f 6e73 2070 726f 6475 6365 6420 lygons produced \n-00010c60: 6279 2063 6c6f 7375 7265 2d74 6167 6765 by closure-tagge\n-00010c70: 6420 6c69 6e65 2073 7765 6570 7320 6172 d line sweeps ar\n-00010c80: 6520 6e6f 740a 7370 6c69 742e 2020 4e6f e not.split. No\n-00010c90: 7220 6172 6520 6f72 6967 696e 616c 2070 r are original p\n-00010ca0: 6f6c 7967 6f6e 7320 696e 2070 6f6c 7967 olygons in polyg\n-00010cb0: 6f6e 2073 7765 6570 732e 2020 4974 2069 on sweeps. It i\n-00010cc0: 7320 7468 6520 7573 6572 2773 0a72 6573 s the user's.res\n-00010cd0: 706f 6e73 6962 696c 6974 7920 746f 2065 ponsibility to e\n-00010ce0: 6e73 7572 6520 7468 6573 6520 6172 6520 nsure these are \n-00010cf0: 706c 616e 6172 2e0a 0a1f 0a46 696c 653a planar.....File:\n-00010d00: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-00010d10: 6f64 653a 2042 6c6f 636b 732c 2020 4e65 ode: Blocks, Ne\n-00010d20: 7874 3a20 5265 7065 6174 732c 2020 5072 xt: Repeats, Pr\n-00010d30: 6576 3a20 5377 6565 7073 2c20 2055 703a ev: Sweeps, Up:\n-00010d40: 2044 7261 7761 626c 6573 0a0a 332e 322e Drawables..3.2.\n-00010d50: 3720 426c 6f63 6b73 0a2d 2d2d 2d2d 2d2d 7 Blocks.-------\n-00010d60: 2d2d 2d2d 2d0a 0a41 6e79 2073 6571 7565 -----..Any seque\n-00010d70: 6e63 6520 6f66 2064 7261 7761 626c 6573 nce of drawables\n-00010d80: 206d 6179 2062 6520 6772 6f75 7065 6420 may be grouped \n-00010d90: 696e 2061 20e2 809c 626c 6f63 6be2 809d in a ...block...\n-00010da0: 206d 6572 656c 7920 6279 0a65 6e63 6c6f merely by.enclo\n-00010db0: 7369 6e67 2074 6865 6d20 696e 2062 7261 sing them in bra\n-00010dc0: 6365 7320 e280 987b 207d e280 992e 2020 ces ...{ }.... \n-00010dd0: 4120 626c 6f63 6b20 6973 2069 7473 656c A block is itsel\n-00010de0: 6620 6472 6177 6162 6c65 2e20 2041 206b f drawable. A k\n-00010df0: 6579 2075 7365 0a6f 6620 626c 6f63 6b73 ey use.of blocks\n-00010e00: 2069 7320 746f 2065 7874 656e 6420 7468 is to extend th\n-00010e10: 6520 6566 6665 6374 206f 6620 6120 7369 e effect of a si\n-00010e20: 6e67 6c65 20e2 8098 6465 66e2 8099 2c20 ngle ...def..., \n-00010e30: 2a6e 6f74 650a 4465 6669 6e69 7469 6f6e *note.Definition\n-00010e40: 733a 3a2c 20e2 8098 7075 74e2 8099 202a s::, ...put... *\n-00010e50: 6e6f 7465 2050 7574 733a 3a2c 20e2 8098 note Puts::, ...\n-00010e60: 7377 6565 70e2 8099 202a 6e6f 7465 2053 sweep... *note S\n-00010e70: 7765 6570 733a 3a2c 206f 7220 e280 9872 weeps::, or ...r\n-00010e80: 6570 6561 74e2 8099 0a2a 6e6f 7465 2052 epeat....*note R\n-00010e90: 6570 6561 7473 3a3a 2074 6f20 696e 636c epeats:: to incl\n-00010ea0: 7564 6520 7365 7665 7261 6c20 6f62 6a65 ude several obje\n-00010eb0: 6374 7320 7261 7468 6572 2074 6861 6e20 cts rather than \n-00010ec0: 6f6e 652e 0a0a 2020 2044 6566 696e 6974 one... Definit\n-00010ed0: 696f 6e73 2028 2a4e 6f74 6520 4465 6669 ions (*Note Defi\n-00010ee0: 6e69 7469 6f6e 733a 3a2e 2920 2069 6e73 nitions::.) ins\n-00010ef0: 6964 6520 6120 626c 6f63 6b20 6861 7665 ide a block have\n-00010f00: 20e2 809c 6c65 7869 6361 6c0a 7363 6f70 ...lexical.scop\n-00010f10: 65e2 809d 2065 7874 656e 6469 6e67 2066 e... extending f\n-00010f20: 726f 6d20 7468 6520 706c 6163 6520 6f66 rom the place of\n-00010f30: 2064 6566 696e 6974 696f 6e20 746f 2074 definition to t\n-00010f40: 6865 2065 6e64 206f 6620 7468 6520 626c he end of the bl\n-00010f50: 6f63 6b2e 0a0a 1f0a 4669 6c65 3a20 736b ock.....File: sk\n-00010f60: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-00010f70: 3a20 5265 7065 6174 732c 2020 4e65 7874 : Repeats, Next\n-00010f80: 3a20 5075 7473 2c20 2050 7265 763a 2042 : Puts, Prev: B\n-00010f90: 6c6f 636b 732c 2020 5570 3a20 4472 6177 locks, Up: Draw\n-00010fa0: 6162 6c65 730a 0a33 2e32 2e38 2052 6570 ables..3.2.8 Rep\n-00010fb0: 6561 7473 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d eats.-----------\n-00010fc0: 2d2d 0a0a 2a53 796e 7461 783a 2a0a 2020 --..*Syntax:*. \n-00010fd0: 2020 2072 6570 6561 7420 7b20 4e2c 2054 repeat { N, T\n-00010fe0: 5f31 2c20 545f 322c 202e 2e2e 2c20 545f _1, T_2, ..., T_\n-00010ff0: 5220 7d20 5245 5045 4154 4544 5f4f 424a R } REPEATED_OBJ\n-00011000: 4543 540a 5468 6520 7265 7065 6174 206d ECT.The repeat m\n-00011010: 616b 6573 204e 2074 7261 6e73 666f 726d akes N transform\n-00011020: 6564 2063 6f70 6965 7320 6f66 2052 4550 ed copies of REP\n-00011030: 4541 5445 445f 4f42 4a45 4354 2028 696e EATED_OBJECT (in\n-00011040: 636c 7564 696e 6720 7468 650a 6f72 6967 cluding the.orig\n-00011050: 696e 616c 292e 2020 5468 6520 545f 4920 inal). The T_I \n-00011060: 6172 6520 7472 616e 7366 6f72 6d73 2e20 are transforms. \n-00011070: 2054 6865 206b 2774 6820 636f 7079 206f The k'th copy o\n-00011080: 6620 7468 650a 5245 5045 4154 4544 5f4f f the.REPEATED_O\n-00011090: 424a 4543 5420 2866 6f72 206b 3d30 2c31 BJECT (for k=0,1\n-000110a0: 2c2e 2e2e 2c6e 2d31 2920 6973 2070 726f ,...,n-1) is pro\n-000110b0: 6475 6365 6420 696e 2074 6865 2073 616d duced in the sam\n-000110c0: 6520 6d61 6e6e 6572 2061 730a 666f 7220 e manner as.for \n-000110d0: e280 9873 7765 6570 e280 9973 2064 6573 ...sweep...s des\n-000110e0: 6372 6962 6564 2069 6e20 2a6e 6f74 6520 cribed in *note \n-000110f0: 5377 6565 7073 3a3a 2e20 2054 6869 7320 Sweeps::. This \n-00011100: 6973 2072 6570 6561 7465 6420 6865 7265 is repeated here\n-00011110: 2028 6e6f 2070 756e 0a69 6e74 656e 6465 (no pun.intende\n-00011120: 6429 2066 6f72 2063 6f6e 7665 6e69 656e d) for convenien\n-00011130: 6365 2e20 2054 6f20 6d61 6b65 2074 6865 ce. To make the\n-00011140: 206b 2774 6820 636f 7079 2c20 7468 6520 k'th copy, the \n-00011150: 666f 6c6c 6f77 696e 670a 7472 616e 7366 following.transf\n-00011160: 6f72 6d20 6973 2061 7070 6c69 6564 2074 orm is applied t\n-00011170: 6f20 7468 6520 6f72 6967 696e 616c 206f o the original o\n-00011180: 626a 6563 742e 0a20 2020 2020 545f 315e bject.. T_1^\n-00011190: 6b20 7468 656e 2054 5f32 5e6b 2074 6865 k then T_2^k the\n-000111a0: 6e20 2e2e 2e20 7468 656e 2054 5f52 5e6b n ... then T_R^k\n-000111b0: 0a48 6572 6520 545e 6b20 6d65 616e 7320 .Here T^k means \n-000111c0: 2274 7261 6e73 666f 726d 2054 2061 7070 \"transform T app\n-000111d0: 6c69 6564 206b 2074 696d 6573 2e22 0a0a lied k times.\"..\n-000111e0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-000111f0: 6e66 6f2c 2020 4e6f 6465 3a20 5075 7473 nfo, Node: Puts\n-00011200: 2c20 2050 7265 763a 2052 6570 6561 7473 , Prev: Repeats\n-00011210: 2c20 2055 703a 2044 7261 7761 626c 6573 , Up: Drawables\n-00011220: 0a0a 332e 322e 3920 5075 7473 0a2d 2d2d ..3.2.9 Puts.---\n-00011230: 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 -------..*Syntax\n-00011240: 3a2a 0a20 2020 2020 7075 7420 7b20 5420 :*. put { T \n-00011250: 7d20 5055 545f 4f42 4a45 4354 0a50 7574 } PUT_OBJECT.Put\n-00011260: 206d 6572 656c 7920 6170 706c 6965 7320 merely applies \n-00011270: 7472 616e 7366 6f72 6d20 5420 746f 2074 transform T to t\n-00011280: 6865 2064 7261 7761 626c 6520 5055 545f he drawable PUT_\n-00011290: 4f42 4a45 4354 2e0a 0a1f 0a46 696c 653a OBJECT.....File:\n-000112a0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-000112b0: 6f64 653a 2044 6566 696e 6974 696f 6e73 ode: Definitions\n-000112c0: 2c20 204e 6578 743a 2047 6c6f 6261 6c20 , Next: Global \n-000112d0: 656e 7669 726f 6e6d 656e 742c 2020 5072 environment, Pr\n-000112e0: 6576 3a20 4472 6177 6162 6c65 732c 2020 ev: Drawables, \n-000112f0: 5570 3a20 496e 7075 7420 6c61 6e67 7561 Up: Input langua\n-00011300: 6765 0a0a 332e 3320 4465 6669 6e69 7469 ge..3.3 Definiti\n-00011310: 6f6e 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ons.============\n-00011320: 3d3d 3d0a 0a44 6566 696e 6974 696f 6e73 ===..Definitions\n-00011330: 2067 6976 6520 6e61 6d65 7320 746f 20e2 give names to .\n-00011340: 8098 736b 6574 6368 e280 9920 6f62 6a65 ..sketch... obje\n-00011350: 6374 732e 2020 4465 6669 6e69 7469 6f6e cts. Definition\n-00011360: 7320 616c 6f6e 6520 6172 650a 6265 6e69 s alone are.beni\n-00011370: 676e 2e20 2041 20e2 8098 736b 6574 6368 gn. A ...sketch\n-00011380: e280 9920 696e 7075 7420 6669 6c65 2063 ... input file c\n-00011390: 6f6e 7369 7374 696e 6720 656e 7469 7265 onsisting entire\n-000113a0: 6c79 206f 6620 6465 6669 6e69 7469 6f6e ly of definition\n-000113b0: 7320 7769 6c6c 0a67 656e 6572 6174 6520 s will.generate \n-000113c0: 6e6f 2064 7261 7769 6e67 2e20 204f 6e6c no drawing. Onl\n-000113d0: 7920 7768 656e 2064 6566 696e 6974 696f y when definitio\n-000113e0: 6e73 2061 7265 20e2 809c 7265 6665 7265 ns are ...refere\n-000113f0: 6e63 6564 e280 9d20 646f 2074 6865 790a nced... do they.\n-00011400: 706f 7465 6e74 6961 6c6c 7920 6c65 6164 potentially lead\n-00011410: 2074 6f20 696e 6b20 6f6e 2074 6865 2064 to ink on the d\n-00011420: 7261 7769 6e67 2e0a 0a20 2020 5468 6520 rawing... The \n-00011430: 696e 7465 6e74 206f 6620 6465 6669 6e69 intent of defini\n-00011440: 7469 6f6e 7320 6973 2074 6f20 6d61 6b65 tions is to make\n-00011450: 20e2 8098 736b 6574 6368 e280 9920 636f ...sketch... co\n-00011460: 6465 206d 6f72 6520 636f 6e63 6973 6520 de more concise \n-00011470: 616e 640a 7265 6164 6162 6c65 2e20 2054 and.readable. T\n-00011480: 6865 7265 2069 7320 6e6f 2069 6e70 7574 here is no input\n-00011490: 2066 696c 6520 656d 706c 6f79 696e 6720 file employing \n-000114a0: 6465 6669 6e69 7469 6f6e 7320 7468 6174 definitions that\n-000114b0: 2063 6f75 6c64 206e 6f74 0a62 6520 7265 could not.be re\n-000114c0: 2d77 7269 7474 656e 2077 6974 686f 7574 -written without\n-000114d0: 2074 6865 6d2e 0a0a 2020 2044 6566 696e them... Defin\n-000114e0: 6162 6c65 206f 626a 6563 7473 2069 6e63 able objects inc\n-000114f0: 6c75 6465 2061 6e79 2072 6573 756c 7420 lude any result \n-00011500: 6f66 2061 6e20 6166 6669 6e65 2061 7269 of an affine ari\n-00011510: 7468 6d65 7469 630a 6578 7072 6573 7369 thmetic.expressi\n-00011520: 6f6e 2028 7363 616c 6172 2c20 706f 696e on (scalar, poin\n-00011530: 742c 2076 6563 746f 722c 206f 7220 7472 t, vector, or tr\n-00011540: 616e 7366 6f72 6d29 2c20 616e 7920 6472 ansform), any dr\n-00011550: 6177 6162 6c65 206f 626a 6563 740a 2864 awable object.(d\n-00011560: 6f74 732c 206c 696e 652c 2063 7572 7665 ots, line, curve\n-00011570: 2c20 706f 6c79 676f 6e2c 2062 6c6f 636b , polygon, block\n-00011580: 2c20 7377 6565 702c 2070 7574 2c20 7265 , sweep, put, re\n-00011590: 7065 6174 2c20 6f72 2073 7065 6369 616c peat, or special\n-000115a0: 292c 2061 6e64 0a6f 7074 696f 6e20 7374 ), and.option st\n-000115b0: 7269 6e67 732e 2020 496e 2061 6464 6974 rings. In addit\n-000115c0: 696f 6e2c 20e2 809c 7461 6720 6465 6669 ion, ...tag defi\n-000115d0: 6e69 7469 6f6e 73e2 809d 2c20 7768 6963 nitions..., whic\n-000115e0: 6820 6861 7665 206e 6f0a 6173 736f 6369 h have no.associ\n-000115f0: 6174 6564 206f 626a 6563 7420 6174 2061 ated object at a\n-00011600: 6c6c 2c20 616c 6c6f 7720 7468 6520 6d65 ll, allow the me\n-00011610: 616e 696e 6720 6f66 206f 7468 6572 2064 aning of other d\n-00011620: 6566 696e 6974 696f 6e73 2074 6f20 6265 efinitions to be\n-00011630: 0a73 656c 6563 7465 6420 6672 6f6d 2061 .selected from a\n-00011640: 2073 6574 206f 6620 616c 7465 726e 6174 set of alternat\n-00011650: 6976 6573 2e20 2053 696e 6365 2074 6167 ives. Since tag\n-00011660: 7320 6d61 7920 6265 2064 6566 696e 6564 s may be defined\n-00011670: 2028 616e 640a 756e 6465 6669 6e65 6429 (and.undefined)\n-00011680: 2069 6e20 7468 6520 636f 6d6d 616e 6420 in the command \n-00011690: 6c69 6e65 206f 6620 e280 9873 6b65 7463 line of ...sketc\n-000116a0: 68e2 8099 2c20 7468 6579 2063 616e 2062 h..., they can b\n-000116b0: 6520 616e 2061 6964 2069 6e20 7468 650a e an aid in the.\n-000116c0: 7363 7269 7074 2d64 7269 7665 6e20 7072 script-driven pr\n-000116d0: 6570 6172 6174 696f 6e20 6f66 2064 6f63 eparation of doc\n-000116e0: 756d 656e 7473 2e0a 0a2a 204d 656e 753a uments...* Menu:\n-000116f0: 0a0a 2a20 466f 726d 7320 6f66 2064 6566 ..* Forms of def\n-00011700: 696e 6974 696f 6e73 3a3a 2020 2020 2020 initions:: \n-00011710: 2020 4469 6666 6572 656e 7420 6465 6673 Different defs\n-00011720: 2066 6f72 2064 6966 6665 7265 6e74 2070 for different p\n-00011730: 7572 706f 7365 732e 0a2a 2046 6f72 6d73 urposes..* Forms\n-00011740: 206f 6620 7265 6665 7265 6e63 6573 3a3a of references::\n-00011750: 2020 2020 2020 2020 2048 6f77 2072 6566 How ref\n-00011760: 6572 656e 6365 7320 6465 6e6f 7465 2074 erences denote t\n-00011770: 7970 6573 2e0a 0a1f 0a46 696c 653a 2073 ypes.....File: s\n-00011780: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-00011790: 653a 2046 6f72 6d73 206f 6620 6465 6669 e: Forms of defi\n-000117a0: 6e69 7469 6f6e 732c 2020 4e65 7874 3a20 nitions, Next: \n-000117b0: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n-000117c0: 6365 732c 2020 5072 6576 3a20 4465 6669 ces, Prev: Defi\n-000117d0: 6e69 7469 6f6e 732c 2020 5570 3a20 4465 nitions, Up: De\n-000117e0: 6669 6e69 7469 6f6e 730a 0a33 2e33 2e31 finitions..3.3.1\n-000117f0: 2046 6f72 6d73 206f 6620 6465 6669 6e69 Forms of defini\n-00011800: 7469 6f6e 730a 2d2d 2d2d 2d2d 2d2d 2d2d tions.----------\n-00011810: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00011820: 0a0a 4465 6669 6e69 7469 6f6e 7320 6861 ..Definitions ha\n-00011830: 7665 2074 6872 6565 2070 6f73 7369 626c ve three possibl\n-00011840: 6520 666f 726d 732c 20e2 809c 7369 6d70 e forms, ...simp\n-00011850: 6c65 e280 9d2c 20e2 809c 7769 7468 2061 le..., ...with a\n-00011860: 6c74 6572 6e61 7469 7665 73e2 809d 2c0a lternatives...,.\n-00011870: 616e 6420 e280 9c74 6167 e280 9d20 6173 and ...tag... as\n-00011880: 2073 686f 776e 2068 6572 6520 696e 206f shown here in o\n-00011890: 7264 6572 2e0a 0a2a 5379 6e74 6178 3a2a rder...*Syntax:*\n-000118a0: 0a20 2020 2020 6465 6620 4944 204f 424a . def ID OBJ\n-000118b0: 4543 5420 2025 2073 696d 706c 6520 6465 ECT % simple de\n-000118c0: 660a 2020 2020 2064 6566 2049 4420 3c54 f. def ID OBJECT_1 \n-000118e0: 2520 6465 6620 7769 7468 2061 6c74 6572 % def with alter\n-000118f0: 6e61 7469 7665 730a 2020 2020 2020 2020 natives. \n-00011900: 2020 2020 3c54 4147 5f32 3e20 4f42 4a45 OBJE\n-00011910: 4354 5f32 0a20 2020 2020 2020 2020 2020 CT_2. \n-00011920: 202e 2e2e 0a20 2020 2020 2020 2020 2020 .... \n-00011930: 203c 3e20 4445 4641 554c 545f 4f42 4a45 <> DEFAULT_OBJE\n-00011940: 4354 0a20 2020 2020 6465 6620 4944 203c CT. def ID <\n-00011950: 3e20 2025 2074 6167 2064 6566 0a54 6865 > % tag def.The\n-00011960: 2073 696d 706c 6520 6465 6669 6e69 7469 simple definiti\n-00011970: 6f6e 206d 6572 656c 7920 6173 736f 6369 on merely associ\n-00011980: 6174 6573 204f 424a 4543 5420 7769 7468 ates OBJECT with\n-00011990: 2074 6865 2069 6465 6e74 6966 6965 7220 the identifier \n-000119a0: 4944 2e0a 0a20 2020 5468 6520 6465 6669 ID... The defi\n-000119b0: 6e69 7469 6f6e 2077 6974 6820 616c 7465 nition with alte\n-000119c0: 726e 6174 6976 6573 2061 7373 6f63 6961 rnatives associa\n-000119d0: 7465 7320 4f42 4a45 4354 5f49 2077 6974 tes OBJECT_I wit\n-000119e0: 6820 4944 2c20 7768 6572 650a 5441 475f h ID, where.TAG_\n-000119f0: 4920 6973 2074 6865 2066 6972 7374 2064 I is the first d\n-00011a00: 6566 696e 6564 2074 6167 2069 6e20 7468 efined tag in th\n-00011a10: 6520 6c69 7374 206f 6620 616c 7465 726e e list of altern\n-00011a20: 6174 6976 6520 7461 670a 7265 6665 7265 ative tag.refere\n-00011a30: 6e63 6573 2e20 2049 6620 6e6f 2074 6167 nces. If no tag\n-00011a40: 2069 6e20 7468 6520 6c69 7374 2069 7320 in the list is \n-00011a50: 6465 6669 6e65 642c 2074 6865 6e20 4445 defined, then DE\n-00011a60: 4641 554c 545f 4f42 4a45 4354 2069 730a FAULT_OBJECT is.\n-00011a70: 6173 736f 6369 6174 6564 2077 6974 6820 associated with \n-00011a80: 6964 656e 7469 6669 6572 2049 442e 0a0a identifier ID...\n-00011a90: 2020 2054 6865 2066 696e 616c 2066 6f72 The final for\n-00011aa0: 6d20 6465 6669 6e65 7320 4944 2061 7320 m defines ID as \n-00011ab0: 6120 7461 672e 2020 416e 6f74 6865 7220 a tag. Another \n-00011ac0: 7761 7920 746f 2064 6566 696e 6520 6120 way to define a \n-00011ad0: 7461 6720 6973 0a77 6974 6820 7468 6520 tag is.with the \n-00011ae0: e280 982d 44e2 8099 2063 6f6d 6d61 6e64 ...-D... command\n-00011af0: 206c 696e 6520 6f70 7469 6f6e 2e20 202a line option. *\n-00011b00: 4e6f 7465 2043 6f6d 6d61 6e64 206c 696e Note Command lin\n-00011b10: 653a 3a2e 0a0a 1f0a 4669 6c65 3a20 736b e::.....File: sk\n-00011b20: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-00011b30: 3a20 466f 726d 7320 6f66 2072 6566 6572 : Forms of refer\n-00011b40: 656e 6365 732c 2020 5072 6576 3a20 466f ences, Prev: Fo\n-00011b50: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio\n-00011b60: 6e73 2c20 2055 703a 2044 6566 696e 6974 ns, Up: Definit\n-00011b70: 696f 6e73 0a0a 332e 332e 3220 466f 726d ions..3.3.2 Form\n-00011b80: 7320 6f66 2072 6566 6572 656e 6365 730a s of references.\n+00010b20: 2e2e 0a0a 4265 666f 7265 2073 656e 6469 ....Before sendi\n+00010b30: 6e67 2065 6163 6820 666f 7572 2d73 6964 ng each four-sid\n+00010b40: 6564 2062 6f64 7920 706f 6c79 676f 6e20 ed body polygon \n+00010b50: 6f66 2061 20e2 8098 7377 6565 70e2 8099 of a ...sweep...\n+00010b60: 2074 6f20 7468 6520 6f75 7470 7574 2c0a to the output,.\n+00010b70: e280 9873 6b65 7463 68e2 8099 2074 6573 ...sketch... tes\n+00010b80: 7473 2074 6f20 7365 6520 6966 2069 7420 ts to see if it \n+00010b90: 6973 2072 6f75 6768 6c79 2070 6c61 6e61 is roughly plana\n+00010ba0: 722e 2020 5369 6e63 6520 706c 616e 6172 r. Since planar\n+00010bb0: 6974 7920 6973 0a6e 6563 6573 7361 7279 ity is.necessary\n+00010bc0: 2066 6f72 2070 726f 7065 7220 6675 6e63 for proper func\n+00010bd0: 7469 6f6e 696e 6720 6f66 2074 6865 2068 tioning of the h\n+00010be0: 6964 6465 6e20 7375 7266 6163 6520 616c idden surface al\n+00010bf0: 676f 7269 7468 6d2c 0a22 7761 7270 6564 gorithm,.\"warped\n+00010c00: 2220 706f 6c79 676f 6e73 2061 7265 2061 \" polygons are a\n+00010c10: 7574 6f6d 6174 6963 616c 6c79 2073 706c utomatically spl\n+00010c20: 6974 2069 6e74 6f20 7477 6f20 7472 6961 it into two tria\n+00010c30: 6e67 6c65 732e 0a0a 2020 2048 6f6c 652d ngles... Hole-\n+00010c40: 6669 6c6c 696e 6720 706f 6c79 676f 6e73 filling polygons\n+00010c50: 2070 726f 6475 6365 6420 6279 2063 6c6f produced by clo\n+00010c60: 7375 7265 2d74 6167 6765 6420 6c69 6e65 sure-tagged line\n+00010c70: 2073 7765 6570 7320 6172 6520 6e6f 740a sweeps are not.\n+00010c80: 7370 6c69 742e 2020 4e6f 7220 6172 6520 split. Nor are \n+00010c90: 6f72 6967 696e 616c 2070 6f6c 7967 6f6e original polygon\n+00010ca0: 7320 696e 2070 6f6c 7967 6f6e 2073 7765 s in polygon swe\n+00010cb0: 6570 732e 2020 4974 2069 7320 7468 6520 eps. It is the \n+00010cc0: 7573 6572 2773 0a72 6573 706f 6e73 6962 user's.responsib\n+00010cd0: 696c 6974 7920 746f 2065 6e73 7572 6520 ility to ensure \n+00010ce0: 7468 6573 6520 6172 6520 706c 616e 6172 these are planar\n+00010cf0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+00010d00: 682e 696e 666f 2c20 204e 6f64 653a 2042 h.info, Node: B\n+00010d10: 6c6f 636b 732c 2020 4e65 7874 3a20 5265 locks, Next: Re\n+00010d20: 7065 6174 732c 2020 5072 6576 3a20 5377 peats, Prev: Sw\n+00010d30: 6565 7073 2c20 2055 703a 2044 7261 7761 eeps, Up: Drawa\n+00010d40: 626c 6573 0a0a 332e 322e 3720 426c 6f63 bles..3.2.7 Bloc\n+00010d50: 6b73 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ks.------------.\n+00010d60: 0a41 6e79 2073 6571 7565 6e63 6520 6f66 .Any sequence of\n+00010d70: 2064 7261 7761 626c 6573 206d 6179 2062 drawables may b\n+00010d80: 6520 6772 6f75 7065 6420 696e 2061 20e2 e grouped in a .\n+00010d90: 809c 626c 6f63 6be2 809d 206d 6572 656c ..block... merel\n+00010da0: 7920 6279 0a65 6e63 6c6f 7369 6e67 2074 y by.enclosing t\n+00010db0: 6865 6d20 696e 2062 7261 6365 7320 e280 hem in braces ..\n+00010dc0: 987b 207d e280 992e 2020 4120 626c 6f63 .{ }.... A bloc\n+00010dd0: 6b20 6973 2069 7473 656c 6620 6472 6177 k is itself draw\n+00010de0: 6162 6c65 2e20 2041 206b 6579 2075 7365 able. A key use\n+00010df0: 0a6f 6620 626c 6f63 6b73 2069 7320 746f .of blocks is to\n+00010e00: 2065 7874 656e 6420 7468 6520 6566 6665 extend the effe\n+00010e10: 6374 206f 6620 6120 7369 6e67 6c65 20e2 ct of a single .\n+00010e20: 8098 6465 66e2 8099 2c20 2a6e 6f74 650a ..def..., *note.\n+00010e30: 4465 6669 6e69 7469 6f6e 733a 3a2c 20e2 Definitions::, .\n+00010e40: 8098 7075 74e2 8099 202a 6e6f 7465 2050 ..put... *note P\n+00010e50: 7574 733a 3a2c 20e2 8098 7377 6565 70e2 uts::, ...sweep.\n+00010e60: 8099 202a 6e6f 7465 2053 7765 6570 733a .. *note Sweeps:\n+00010e70: 3a2c 206f 7220 e280 9872 6570 6561 74e2 :, or ...repeat.\n+00010e80: 8099 0a2a 6e6f 7465 2052 6570 6561 7473 ...*note Repeats\n+00010e90: 3a3a 2074 6f20 696e 636c 7564 6520 7365 :: to include se\n+00010ea0: 7665 7261 6c20 6f62 6a65 6374 7320 7261 veral objects ra\n+00010eb0: 7468 6572 2074 6861 6e20 6f6e 652e 0a0a ther than one...\n+00010ec0: 2020 2044 6566 696e 6974 696f 6e73 2028 Definitions (\n+00010ed0: 2a4e 6f74 6520 4465 6669 6e69 7469 6f6e *Note Definition\n+00010ee0: 733a 3a2e 2920 2069 6e73 6964 6520 6120 s::.) inside a \n+00010ef0: 626c 6f63 6b20 6861 7665 20e2 809c 6c65 block have ...le\n+00010f00: 7869 6361 6c0a 7363 6f70 65e2 809d 2065 xical.scope... e\n+00010f10: 7874 656e 6469 6e67 2066 726f 6d20 7468 xtending from th\n+00010f20: 6520 706c 6163 6520 6f66 2064 6566 696e e place of defin\n+00010f30: 6974 696f 6e20 746f 2074 6865 2065 6e64 ition to the end\n+00010f40: 206f 6620 7468 6520 626c 6f63 6b2e 0a0a of the block...\n+00010f50: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+00010f60: 6e66 6f2c 2020 4e6f 6465 3a20 5265 7065 nfo, Node: Repe\n+00010f70: 6174 732c 2020 4e65 7874 3a20 5075 7473 ats, Next: Puts\n+00010f80: 2c20 2050 7265 763a 2042 6c6f 636b 732c , Prev: Blocks,\n+00010f90: 2020 5570 3a20 4472 6177 6162 6c65 730a Up: Drawables.\n+00010fa0: 0a33 2e32 2e38 2052 6570 6561 7473 0a2d .3.2.8 Repeats.-\n+00010fb0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 ------------..*S\n+00010fc0: 796e 7461 783a 2a0a 2020 2020 2072 6570 yntax:*. rep\n+00010fd0: 6561 7420 7b20 4e2c 2054 5f31 2c20 545f eat { N, T_1, T_\n+00010fe0: 322c 202e 2e2e 2c20 545f 5220 7d20 5245 2, ..., T_R } RE\n+00010ff0: 5045 4154 4544 5f4f 424a 4543 540a 5468 PEATED_OBJECT.Th\n+00011000: 6520 7265 7065 6174 206d 616b 6573 204e e repeat makes N\n+00011010: 2074 7261 6e73 666f 726d 6564 2063 6f70 transformed cop\n+00011020: 6965 7320 6f66 2052 4550 4541 5445 445f ies of REPEATED_\n+00011030: 4f42 4a45 4354 2028 696e 636c 7564 696e OBJECT (includin\n+00011040: 6720 7468 650a 6f72 6967 696e 616c 292e g the.original).\n+00011050: 2020 5468 6520 545f 4920 6172 6520 7472 The T_I are tr\n+00011060: 616e 7366 6f72 6d73 2e20 2054 6865 206b ansforms. The k\n+00011070: 2774 6820 636f 7079 206f 6620 7468 650a 'th copy of the.\n+00011080: 5245 5045 4154 4544 5f4f 424a 4543 5420 REPEATED_OBJECT \n+00011090: 2866 6f72 206b 3d30 2c31 2c2e 2e2e 2c6e (for k=0,1,...,n\n+000110a0: 2d31 2920 6973 2070 726f 6475 6365 6420 -1) is produced \n+000110b0: 696e 2074 6865 2073 616d 6520 6d61 6e6e in the same mann\n+000110c0: 6572 2061 730a 666f 7220 e280 9873 7765 er as.for ...swe\n+000110d0: 6570 e280 9973 2064 6573 6372 6962 6564 ep...s described\n+000110e0: 2069 6e20 2a6e 6f74 6520 5377 6565 7073 in *note Sweeps\n+000110f0: 3a3a 2e20 2054 6869 7320 6973 2072 6570 ::. This is rep\n+00011100: 6561 7465 6420 6865 7265 2028 6e6f 2070 eated here (no p\n+00011110: 756e 0a69 6e74 656e 6465 6429 2066 6f72 un.intended) for\n+00011120: 2063 6f6e 7665 6e69 656e 6365 2e20 2054 convenience. T\n+00011130: 6f20 6d61 6b65 2074 6865 206b 2774 6820 o make the k'th \n+00011140: 636f 7079 2c20 7468 6520 666f 6c6c 6f77 copy, the follow\n+00011150: 696e 670a 7472 616e 7366 6f72 6d20 6973 ing.transform is\n+00011160: 2061 7070 6c69 6564 2074 6f20 7468 6520 applied to the \n+00011170: 6f72 6967 696e 616c 206f 626a 6563 742e original object.\n+00011180: 0a20 2020 2020 545f 315e 6b20 7468 656e . T_1^k then\n+00011190: 2054 5f32 5e6b 2074 6865 6e20 2e2e 2e20 T_2^k then ... \n+000111a0: 7468 656e 2054 5f52 5e6b 0a48 6572 6520 then T_R^k.Here \n+000111b0: 545e 6b20 6d65 616e 7320 2274 7261 6e73 T^k means \"trans\n+000111c0: 666f 726d 2054 2061 7070 6c69 6564 206b form T applied k\n+000111d0: 2074 696d 6573 2e22 0a0a 1f0a 4669 6c65 times.\"....File\n+000111e0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+000111f0: 4e6f 6465 3a20 5075 7473 2c20 2050 7265 Node: Puts, Pre\n+00011200: 763a 2052 6570 6561 7473 2c20 2055 703a v: Repeats, Up:\n+00011210: 2044 7261 7761 626c 6573 0a0a 332e 322e Drawables..3.2.\n+00011220: 3920 5075 7473 0a2d 2d2d 2d2d 2d2d 2d2d 9 Puts.---------\n+00011230: 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 2020 -..*Syntax:*. \n+00011240: 2020 7075 7420 7b20 5420 7d20 5055 545f put { T } PUT_\n+00011250: 4f42 4a45 4354 0a50 7574 206d 6572 656c OBJECT.Put merel\n+00011260: 7920 6170 706c 6965 7320 7472 616e 7366 y applies transf\n+00011270: 6f72 6d20 5420 746f 2074 6865 2064 7261 orm T to the dra\n+00011280: 7761 626c 6520 5055 545f 4f42 4a45 4354 wable PUT_OBJECT\n+00011290: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+000112a0: 682e 696e 666f 2c20 204e 6f64 653a 2044 h.info, Node: D\n+000112b0: 6566 696e 6974 696f 6e73 2c20 204e 6578 efinitions, Nex\n+000112c0: 743a 2047 6c6f 6261 6c20 656e 7669 726f t: Global enviro\n+000112d0: 6e6d 656e 742c 2020 5072 6576 3a20 4472 nment, Prev: Dr\n+000112e0: 6177 6162 6c65 732c 2020 5570 3a20 496e awables, Up: In\n+000112f0: 7075 7420 6c61 6e67 7561 6765 0a0a 332e put language..3.\n+00011300: 3320 4465 6669 6e69 7469 6f6e 730a 3d3d 3 Definitions.==\n+00011310: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a44 =============..D\n+00011320: 6566 696e 6974 696f 6e73 2067 6976 6520 efinitions give \n+00011330: 6e61 6d65 7320 746f 20e2 8098 736b 6574 names to ...sket\n+00011340: 6368 e280 9920 6f62 6a65 6374 732e 2020 ch... objects. \n+00011350: 4465 6669 6e69 7469 6f6e 7320 616c 6f6e Definitions alon\n+00011360: 6520 6172 650a 6265 6e69 676e 2e20 2041 e are.benign. A\n+00011370: 20e2 8098 736b 6574 6368 e280 9920 696e ...sketch... in\n+00011380: 7075 7420 6669 6c65 2063 6f6e 7369 7374 put file consist\n+00011390: 696e 6720 656e 7469 7265 6c79 206f 6620 ing entirely of \n+000113a0: 6465 6669 6e69 7469 6f6e 7320 7769 6c6c definitions will\n+000113b0: 0a67 656e 6572 6174 6520 6e6f 2064 7261 .generate no dra\n+000113c0: 7769 6e67 2e20 204f 6e6c 7920 7768 656e wing. Only when\n+000113d0: 2064 6566 696e 6974 696f 6e73 2061 7265 definitions are\n+000113e0: 20e2 809c 7265 6665 7265 6e63 6564 e280 ...referenced..\n+000113f0: 9d20 646f 2074 6865 790a 706f 7465 6e74 . do they.potent\n+00011400: 6961 6c6c 7920 6c65 6164 2074 6f20 696e ially lead to in\n+00011410: 6b20 6f6e 2074 6865 2064 7261 7769 6e67 k on the drawing\n+00011420: 2e0a 0a20 2020 5468 6520 696e 7465 6e74 ... The intent\n+00011430: 206f 6620 6465 6669 6e69 7469 6f6e 7320 of definitions \n+00011440: 6973 2074 6f20 6d61 6b65 20e2 8098 736b is to make ...sk\n+00011450: 6574 6368 e280 9920 636f 6465 206d 6f72 etch... code mor\n+00011460: 6520 636f 6e63 6973 6520 616e 640a 7265 e concise and.re\n+00011470: 6164 6162 6c65 2e20 2054 6865 7265 2069 adable. There i\n+00011480: 7320 6e6f 2069 6e70 7574 2066 696c 6520 s no input file \n+00011490: 656d 706c 6f79 696e 6720 6465 6669 6e69 employing defini\n+000114a0: 7469 6f6e 7320 7468 6174 2063 6f75 6c64 tions that could\n+000114b0: 206e 6f74 0a62 6520 7265 2d77 7269 7474 not.be re-writt\n+000114c0: 656e 2077 6974 686f 7574 2074 6865 6d2e en without them.\n+000114d0: 0a0a 2020 2044 6566 696e 6162 6c65 206f .. Definable o\n+000114e0: 626a 6563 7473 2069 6e63 6c75 6465 2061 bjects include a\n+000114f0: 6e79 2072 6573 756c 7420 6f66 2061 6e20 ny result of an \n+00011500: 6166 6669 6e65 2061 7269 7468 6d65 7469 affine arithmeti\n+00011510: 630a 6578 7072 6573 7369 6f6e 2028 7363 c.expression (sc\n+00011520: 616c 6172 2c20 706f 696e 742c 2076 6563 alar, point, vec\n+00011530: 746f 722c 206f 7220 7472 616e 7366 6f72 tor, or transfor\n+00011540: 6d29 2c20 616e 7920 6472 6177 6162 6c65 m), any drawable\n+00011550: 206f 626a 6563 740a 2864 6f74 732c 206c object.(dots, l\n+00011560: 696e 652c 2063 7572 7665 2c20 706f 6c79 ine, curve, poly\n+00011570: 676f 6e2c 2062 6c6f 636b 2c20 7377 6565 gon, block, swee\n+00011580: 702c 2070 7574 2c20 7265 7065 6174 2c20 p, put, repeat, \n+00011590: 6f72 2073 7065 6369 616c 292c 2061 6e64 or special), and\n+000115a0: 0a6f 7074 696f 6e20 7374 7269 6e67 732e .option strings.\n+000115b0: 2020 496e 2061 6464 6974 696f 6e2c 20e2 In addition, .\n+000115c0: 809c 7461 6720 6465 6669 6e69 7469 6f6e ..tag definition\n+000115d0: 73e2 809d 2c20 7768 6963 6820 6861 7665 s..., which have\n+000115e0: 206e 6f0a 6173 736f 6369 6174 6564 206f no.associated o\n+000115f0: 626a 6563 7420 6174 2061 6c6c 2c20 616c bject at all, al\n+00011600: 6c6f 7720 7468 6520 6d65 616e 696e 6720 low the meaning \n+00011610: 6f66 206f 7468 6572 2064 6566 696e 6974 of other definit\n+00011620: 696f 6e73 2074 6f20 6265 0a73 656c 6563 ions to be.selec\n+00011630: 7465 6420 6672 6f6d 2061 2073 6574 206f ted from a set o\n+00011640: 6620 616c 7465 726e 6174 6976 6573 2e20 f alternatives. \n+00011650: 2053 696e 6365 2074 6167 7320 6d61 7920 Since tags may \n+00011660: 6265 2064 6566 696e 6564 2028 616e 640a be defined (and.\n+00011670: 756e 6465 6669 6e65 6429 2069 6e20 7468 undefined) in th\n+00011680: 6520 636f 6d6d 616e 6420 6c69 6e65 206f e command line o\n+00011690: 6620 e280 9873 6b65 7463 68e2 8099 2c20 f ...sketch..., \n+000116a0: 7468 6579 2063 616e 2062 6520 616e 2061 they can be an a\n+000116b0: 6964 2069 6e20 7468 650a 7363 7269 7074 id in the.script\n+000116c0: 2d64 7269 7665 6e20 7072 6570 6172 6174 -driven preparat\n+000116d0: 696f 6e20 6f66 2064 6f63 756d 656e 7473 ion of documents\n+000116e0: 2e0a 0a2a 204d 656e 753a 0a0a 2a20 466f ...* Menu:..* Fo\n+000116f0: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio\n+00011700: 6e73 3a3a 2020 2020 2020 2020 4469 6666 ns:: Diff\n+00011710: 6572 656e 7420 6465 6673 2066 6f72 2064 erent defs for d\n+00011720: 6966 6665 7265 6e74 2070 7572 706f 7365 ifferent purpose\n+00011730: 732e 0a2a 2046 6f72 6d73 206f 6620 7265 s..* Forms of re\n+00011740: 6665 7265 6e63 6573 3a3a 2020 2020 2020 ferences:: \n+00011750: 2020 2048 6f77 2072 6566 6572 656e 6365 How reference\n+00011760: 7320 6465 6e6f 7465 2074 7970 6573 2e0a s denote types..\n+00011770: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+00011780: 696e 666f 2c20 204e 6f64 653a 2046 6f72 info, Node: For\n+00011790: 6d73 206f 6620 6465 6669 6e69 7469 6f6e ms of definition\n+000117a0: 732c 2020 4e65 7874 3a20 466f 726d 7320 s, Next: Forms \n+000117b0: 6f66 2072 6566 6572 656e 6365 732c 2020 of references, \n+000117c0: 5072 6576 3a20 4465 6669 6e69 7469 6f6e Prev: Definition\n+000117d0: 732c 2020 5570 3a20 4465 6669 6e69 7469 s, Up: Definiti\n+000117e0: 6f6e 730a 0a33 2e33 2e31 2046 6f72 6d73 ons..3.3.1 Forms\n+000117f0: 206f 6620 6465 6669 6e69 7469 6f6e 730a of definitions.\n+00011800: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00011810: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 4465 6669 ----------..Defi\n+00011820: 6e69 7469 6f6e 7320 6861 7665 2074 6872 nitions have thr\n+00011830: 6565 2070 6f73 7369 626c 6520 666f 726d ee possible form\n+00011840: 732c 20e2 809c 7369 6d70 6c65 e280 9d2c s, ...simple...,\n+00011850: 20e2 809c 7769 7468 2061 6c74 6572 6e61 ...with alterna\n+00011860: 7469 7665 73e2 809d 2c0a 616e 6420 e280 tives...,.and ..\n+00011870: 9c74 6167 e280 9d20 6173 2073 686f 776e .tag... as shown\n+00011880: 2068 6572 6520 696e 206f 7264 6572 2e0a here in order..\n+00011890: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. \n+000118a0: 6465 6620 4944 204f 424a 4543 5420 2025 def ID OBJECT %\n+000118b0: 2073 696d 706c 6520 6465 660a 2020 2020 simple def. \n+000118c0: 2064 6566 2049 4420 3c54 4147 5f31 3e20 def ID \n+000118d0: 4f42 4a45 4354 5f31 2020 2520 6465 6620 OBJECT_1 % def \n+000118e0: 7769 7468 2061 6c74 6572 6e61 7469 7665 with alternative\n+000118f0: 730a 2020 2020 2020 2020 2020 2020 3c54 s. OBJECT_2. \n+00011910: 2020 2020 2020 2020 2020 202e 2e2e 0a20 .... \n+00011920: 2020 2020 2020 2020 2020 203c 3e20 4445 <> DE\n+00011930: 4641 554c 545f 4f42 4a45 4354 0a20 2020 FAULT_OBJECT. \n+00011940: 2020 6465 6620 4944 203c 3e20 2025 2074 def ID <> % t\n+00011950: 6167 2064 6566 0a54 6865 2073 696d 706c ag def.The simpl\n+00011960: 6520 6465 6669 6e69 7469 6f6e 206d 6572 e definition mer\n+00011970: 656c 7920 6173 736f 6369 6174 6573 204f ely associates O\n+00011980: 424a 4543 5420 7769 7468 2074 6865 2069 BJECT with the i\n+00011990: 6465 6e74 6966 6965 7220 4944 2e0a 0a20 dentifier ID... \n+000119a0: 2020 5468 6520 6465 6669 6e69 7469 6f6e The definition\n+000119b0: 2077 6974 6820 616c 7465 726e 6174 6976 with alternativ\n+000119c0: 6573 2061 7373 6f63 6961 7465 7320 4f42 es associates OB\n+000119d0: 4a45 4354 5f49 2077 6974 6820 4944 2c20 JECT_I with ID, \n+000119e0: 7768 6572 650a 5441 475f 4920 6973 2074 where.TAG_I is t\n+000119f0: 6865 2066 6972 7374 2064 6566 696e 6564 he first defined\n+00011a00: 2074 6167 2069 6e20 7468 6520 6c69 7374 tag in the list\n+00011a10: 206f 6620 616c 7465 726e 6174 6976 6520 of alternative \n+00011a20: 7461 670a 7265 6665 7265 6e63 6573 2e20 tag.references. \n+00011a30: 2049 6620 6e6f 2074 6167 2069 6e20 7468 If no tag in th\n+00011a40: 6520 6c69 7374 2069 7320 6465 6669 6e65 e list is define\n+00011a50: 642c 2074 6865 6e20 4445 4641 554c 545f d, then DEFAULT_\n+00011a60: 4f42 4a45 4354 2069 730a 6173 736f 6369 OBJECT is.associ\n+00011a70: 6174 6564 2077 6974 6820 6964 656e 7469 ated with identi\n+00011a80: 6669 6572 2049 442e 0a0a 2020 2054 6865 fier ID... The\n+00011a90: 2066 696e 616c 2066 6f72 6d20 6465 6669 final form defi\n+00011aa0: 6e65 7320 4944 2061 7320 6120 7461 672e nes ID as a tag.\n+00011ab0: 2020 416e 6f74 6865 7220 7761 7920 746f Another way to\n+00011ac0: 2064 6566 696e 6520 6120 7461 6720 6973 define a tag is\n+00011ad0: 0a77 6974 6820 7468 6520 e280 982d 44e2 .with the ...-D.\n+00011ae0: 8099 2063 6f6d 6d61 6e64 206c 696e 6520 .. command line \n+00011af0: 6f70 7469 6f6e 2e20 202a 4e6f 7465 2043 option. *Note C\n+00011b00: 6f6d 6d61 6e64 206c 696e 653a 3a2e 0a0a ommand line::...\n+00011b10: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+00011b20: 6e66 6f2c 2020 4e6f 6465 3a20 466f 726d nfo, Node: Form\n+00011b30: 7320 6f66 2072 6566 6572 656e 6365 732c s of references,\n+00011b40: 2020 5072 6576 3a20 466f 726d 7320 6f66 Prev: Forms of\n+00011b50: 2064 6566 696e 6974 696f 6e73 2c20 2055 definitions, U\n+00011b60: 703a 2044 6566 696e 6974 696f 6e73 0a0a p: Definitions..\n+00011b70: 332e 332e 3220 466f 726d 7320 6f66 2072 3.3.2 Forms of r\n+00011b80: 6566 6572 656e 6365 730a 2d2d 2d2d 2d2d eferences.------\n 00011b90: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00011ba0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a52 6566 6572 ---------..Refer\n-00011bb0: 656e 6365 7320 746f 2064 6566 696e 6564 ences to defined\n-00011bc0: 206e 616d 6573 2061 7265 2065 6e63 6c6f names are enclo\n-00011bd0: 7365 6420 696e 2062 7261 636b 6574 696e sed in bracketin\n-00011be0: 6720 6465 6c69 6d69 7465 7273 2e20 2054 g delimiters. T\n-00011bf0: 6865 0a64 656c 696d 6974 6572 2063 6861 he.delimiter cha\n-00011c00: 7261 6374 6572 7320 696d 706c 7920 7468 racters imply th\n-00011c10: 6520 7479 7065 206f 6620 7468 6520 6173 e type of the as\n-00011c20: 736f 6369 6174 6564 2076 616c 7565 2061 sociated value a\n-00011c30: 7320 7368 6f77 6e20 696e 0a74 6865 2074 s shown in.the t\n-00011c40: 6162 6c65 2062 656c 6f77 2e20 2041 2074 able below. A t\n-00011c50: 7970 6520 6572 726f 7220 6973 2072 6169 ype error is rai\n-00011c60: 7365 6420 6966 2074 6865 2074 7970 6520 sed if the type \n-00011c70: 6f66 2061 2072 6566 6572 656e 6365 2064 of a reference d\n-00011c80: 6f65 730a 6e6f 7420 6d61 7463 6820 7468 oes.not match th\n-00011c90: 6520 7479 7065 206f 6620 7468 6520 6465 e type of the de\n-00011ca0: 6669 6e65 6420 7661 6c75 652e 2020 5468 fined value. Th\n-00011cb0: 6520 696e 7465 6e74 206f 6620 7468 6973 e intent of this\n-00011cc0: 206d 6563 6861 6e69 736d 0a69 732c 2061 mechanism.is, a\n-00011cd0: 6761 696e 2c20 746f 206d 616b 6520 e280 gain, to make ..\n-00011ce0: 9873 6b65 7463 68e2 8099 2069 6e70 7574 .sketch... input\n-00011cf0: 2066 696c 6573 206d 6f72 6520 7265 6164 files more read\n-00011d00: 6162 6c65 2e0a 5479 7065 2020 2020 2020 able..Type \n-00011d10: 2020 5265 6665 7265 6e63 650a 2d2d 2d2d Reference.----\n+00011ba0: 2d2d 2d0a 0a52 6566 6572 656e 6365 7320 ---..References \n+00011bb0: 746f 2064 6566 696e 6564 206e 616d 6573 to defined names\n+00011bc0: 2061 7265 2065 6e63 6c6f 7365 6420 696e are enclosed in\n+00011bd0: 2062 7261 636b 6574 696e 6720 6465 6c69 bracketing deli\n+00011be0: 6d69 7465 7273 2e20 2054 6865 0a64 656c miters. The.del\n+00011bf0: 696d 6974 6572 2063 6861 7261 6374 6572 imiter character\n+00011c00: 7320 696d 706c 7920 7468 6520 7479 7065 s imply the type\n+00011c10: 206f 6620 7468 6520 6173 736f 6369 6174 of the associat\n+00011c20: 6564 2076 616c 7565 2061 7320 7368 6f77 ed value as show\n+00011c30: 6e20 696e 0a74 6865 2074 6162 6c65 2062 n in.the table b\n+00011c40: 656c 6f77 2e20 2041 2074 7970 6520 6572 elow. A type er\n+00011c50: 726f 7220 6973 2072 6169 7365 6420 6966 ror is raised if\n+00011c60: 2074 6865 2074 7970 6520 6f66 2061 2072 the type of a r\n+00011c70: 6566 6572 656e 6365 2064 6f65 730a 6e6f eference does.no\n+00011c80: 7420 6d61 7463 6820 7468 6520 7479 7065 t match the type\n+00011c90: 206f 6620 7468 6520 6465 6669 6e65 6420 of the defined \n+00011ca0: 7661 6c75 652e 2020 5468 6520 696e 7465 value. The inte\n+00011cb0: 6e74 206f 6620 7468 6973 206d 6563 6861 nt of this mecha\n+00011cc0: 6e69 736d 0a69 732c 2061 6761 696e 2c20 nism.is, again, \n+00011cd0: 746f 206d 616b 6520 e280 9873 6b65 7463 to make ...sketc\n+00011ce0: 68e2 8099 2069 6e70 7574 2066 696c 6573 h... input files\n+00011cf0: 206d 6f72 6520 7265 6164 6162 6c65 2e0a more readable..\n+00011d00: 5479 7065 2020 2020 2020 2020 5265 6665 Type Refe\n+00011d10: 7265 6e63 650a 2d2d 2d2d 2d2d 2d2d 2d2d rence.----------\n 00011d20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 00011d30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00011d40: 2d2d 2d2d 2d2d 0a73 6361 6c61 7220 2020 ------.scalar \n-00011d50: 2020 20e2 8098 4944 e280 990a 706f 696e ...ID....poin\n-00011d60: 7420 2020 2020 2020 e280 9828 4944 29e2 t ...(ID).\n-00011d70: 8099 0a76 6563 746f 7220 2020 2020 20e2 ...vector .\n-00011d80: 8098 5b49 445d e280 990a 7472 616e 7366 ..[ID]....transf\n-00011d90: 6f72 6d20 2020 e280 985b 5b49 445d 5de2 orm ...[[ID]].\n-00011da0: 8099 0a64 7261 7761 626c 6520 2020 20e2 ...drawable .\n-00011db0: 8098 7b49 447d e280 990a 6f70 7469 6f6e ..{ID}....option\n-00011dc0: 7320 2020 2020 e280 985b 4944 5de2 8099 s ...[ID]...\n-00011dd0: 206f 7220 e280 985b 4944 312c 2e2e 2e2c or ...[ID1,...,\n-00011de0: 4944 4e5d e280 990a 7461 6720 2020 2020 IDN]....tag \n-00011df0: 2020 2020 e280 983c 4944 3ee2 8099 0a0a ........\n-00011e00: 4e6f 7465 2074 6861 7420 7371 7561 7265 Note that square\n-00011e10: 2062 7261 636b 6574 7320 e280 985b 205d brackets ...[ ]\n-00011e20: e280 9920 6172 6520 7573 6564 2062 6f74 ... are used bot\n-00011e30: 6820 666f 7220 7665 6374 6f72 2061 6e64 h for vector and\n-00011e40: 2066 6f72 206f 7074 696f 6e73 0a72 6566 for options.ref\n-00011e50: 6572 656e 6365 732e 2020 4465 7461 696c erences. Detail\n-00011e60: 7320 6f66 20e2 8098 736b 6574 6368 e280 s of ...sketch..\n-00011e70: 9920 7379 6e74 6178 206d 616b 6520 6974 . syntax make it\n-00011e80: 2069 6d70 6f73 7369 626c 6520 666f 7220 impossible for \n-00011e90: 7468 6573 6520 7477 6f0a 7265 6665 7265 these two.refere\n-00011ea0: 6e63 6520 7479 7065 7320 746f 2062 6520 nce types to be \n-00011eb0: 636f 6e66 7573 6564 2e20 2054 6865 2073 confused. The s\n-00011ec0: 7065 6369 616c 206d 756c 7469 706c 6520 pecial multiple \n-00011ed0: 7265 6665 7265 6e63 650a e280 985b 4944 reference....[ID\n-00011ee0: 312c 4944 322c 2e2e 2e2c 4944 4e5d e280 1,ID2,...,IDN]..\n-00011ef0: 9920 6163 7473 2061 7320 6966 2074 6865 . acts as if the\n-00011f00: 2072 6573 7065 6374 6976 6520 6c69 7374 respective list\n-00011f10: 7320 6f66 206f 7074 696f 6e73 2077 6572 s of options wer\n-00011f20: 650a 636f 6e63 6174 656e 6174 6564 2e0a e.concatenated..\n-00011f30: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n-00011f40: 696e 666f 2c20 204e 6f64 653a 2047 6c6f info, Node: Glo\n-00011f50: 6261 6c20 656e 7669 726f 6e6d 656e 742c bal environment,\n-00011f60: 2020 5072 6576 3a20 4465 6669 6e69 7469 Prev: Definiti\n-00011f70: 6f6e 732c 2020 5570 3a20 496e 7075 7420 ons, Up: Input \n-00011f80: 6c61 6e67 7561 6765 0a0a 332e 3420 476c language..3.4 Gl\n-00011f90: 6f62 616c 2065 6e76 6972 6f6e 6d65 6e74 obal environment\n-00011fa0: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d .===============\n-00011fb0: 3d3d 3d3d 3d3d 3d0a 0a41 6e20 6f70 7469 =======..An opti\n-00011fc0: 6f6e 616c 2067 6c6f 6261 6c20 656e 7669 onal global envi\n-00011fd0: 726f 6e6d 656e 7420 626c 6f63 6b20 7072 ronment block pr\n-00011fe0: 6f76 6964 6573 2061 2066 6577 2077 6179 ovides a few way\n-00011ff0: 7320 746f 2061 6666 6563 7420 7468 650a s to affect the.\n-00012000: 656e 7469 7265 2073 6365 6e65 2e20 2054 entire scene. T\n-00012010: 6865 2062 6c6f 636b 206d 7573 7420 6170 he block must ap\n-00012020: 7065 6172 2061 7320 7468 6520 6c61 7374 pear as the last\n-00012030: 2074 6578 7420 696e 2074 6865 20e2 8098 text in the ...\n-00012040: 736b 6574 6368 e280 990a 696e 7075 7420 sketch....input \n-00012050: 6669 6c65 2e20 2049 7420 6d61 7920 696e file. It may in\n-00012060: 636c 7564 6520 6465 6669 6e69 7469 6f6e clude definition\n-00012070: 732c 2062 7574 206e 6f74 6520 7468 6174 s, but note that\n-00012080: 2070 7265 7669 6f75 730a 6465 6669 6e69 previous.defini\n-00012090: 7469 6f6e 7320 6174 2074 6865 2074 6f70 tions at the top\n-000120a0: 206c 6576 656c 2028 6e6f 7420 6e65 7374 level (not nest\n-000120b0: 6564 2069 6e73 6964 6520 626c 6f63 6b73 ed inside blocks\n-000120c0: 2920 6172 6520 616c 736f 0a61 7661 696c ) are also.avail\n-000120d0: 6162 6c65 2e0a 0a2a 5379 6e74 6178 3a2a able...*Syntax:*\n-000120e0: 0a20 2020 2020 676c 6f62 616c 207b 2045 . global { E\n-000120f0: 4e56 4952 4f4e 4d45 4e54 5f53 4554 5449 NVIRONMENT_SETTI\n-00012100: 4e47 5320 7d0a 5468 6520 636f 6e74 656e NGS }.The conten\n-00012110: 7473 206f 6620 454e 5649 524f 4e4d 454e ts of ENVIRONMEN\n-00012120: 545f 5345 5454 494e 4753 2061 7265 2064 T_SETTINGS are d\n-00012130: 6973 6375 7373 6564 2069 6e20 7468 6520 iscussed in the \n-00012140: 7365 6374 696f 6e73 2074 6861 740a 666f sections that.fo\n-00012150: 6c6c 6f77 2e0a 0a2a 204d 656e 753a 0a0a llow...* Menu:..\n-00012160: 2a20 476c 6f62 616c 206f 7074 696f 6e73 * Global options\n-00012170: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-00012180: 4174 7472 6962 7574 6573 206f 6620 7468 Attributes of th\n-00012190: 6520 656e 7469 7265 2064 7261 7769 6e67 e entire drawing\n-000121a0: 2e0a 2a20 4361 6d65 7261 3a3a 2020 2020 ..* Camera:: \n-000121b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000121c0: 2020 4120 6669 6e61 6c20 6361 6d65 7261 A final camera\n-000121d0: 2074 7261 6e73 666f 726d 6174 696f 6e20 transformation \n-000121e0: 6f66 2074 6865 2073 6365 6e65 2e0a 2a20 of the scene..* \n-000121f0: 5069 6374 7572 6520 626f 783a 3a20 2020 Picture box:: \n-00012200: 2020 2020 2020 2020 2020 2020 2020 5365 Se\n-00012210: 7474 696e 6720 7468 6520 626f 756e 6469 tting the boundi\n-00012220: 6e67 2062 6f78 2061 6e64 2032 6420 636c ng box and 2d cl\n-00012230: 6970 7069 6e67 2e0a 2a20 4672 616d 653a ipping..* Frame:\n-00012240: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00012250: 2020 2020 2020 2020 4164 6469 6e67 2061 Adding a\n-00012260: 2062 6f78 2061 726f 756e 6420 7468 6520 box around the \n-00012270: 6472 6177 696e 672e 0a2a 204c 616e 6775 drawing..* Langu\n-00012280: 6167 653a 3a20 2020 2020 2020 2020 2020 age:: \n-00012290: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n-000122a0: 2074 6865 206f 7574 7075 7420 6c61 6e67 the output lang\n-000122b0: 7561 6765 2e0a 0a1f 0a46 696c 653a 2073 uage.....File: s\n-000122c0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-000122d0: 653a 2047 6c6f 6261 6c20 6f70 7469 6f6e e: Global option\n-000122e0: 732c 2020 4e65 7874 3a20 4361 6d65 7261 s, Next: Camera\n-000122f0: 2c20 2050 7265 763a 2047 6c6f 6261 6c20 , Prev: Global \n-00012300: 656e 7669 726f 6e6d 656e 742c 2020 5570 environment, Up\n-00012310: 3a20 476c 6f62 616c 2065 6e76 6972 6f6e : Global environ\n-00012320: 6d65 6e74 0a0a 332e 342e 3120 476c 6f62 ment..3.4.1 Glob\n-00012330: 616c 206f 7074 696f 6e73 0a2d 2d2d 2d2d al options.-----\n-00012340: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n-00012350: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. \n-00012360: 7365 7420 5b20 4f50 5449 4f4e 5320 5d0a set [ OPTIONS ].\n-00012370: 5468 6520 636f 6e74 656e 7473 206f 6620 The contents of \n-00012380: 4f50 5449 4f4e 532c 2065 7863 6570 7420 OPTIONS, except \n-00012390: 666f 7220 e280 9873 6b65 7463 68e2 8099 for ...sketch...\n-000123a0: 2069 6e74 6572 6e61 6c20 6f70 7469 6f6e internal option\n-000123b0: 732c 2061 7265 0a63 6f70 6965 6420 6173 s, are.copied as\n-000123c0: 2d69 7320 746f 2061 205c 7073 7365 7420 -is to a \\psset \n-000123d0: 7468 6174 2061 7070 6561 7273 2062 6566 that appears bef\n-000123e0: 6f72 6520 616e 7974 6869 6e67 2065 6c73 ore anything els\n-000123f0: 6520 696e 2074 6865 206f 7574 7075 740a e in the output.\n-00012400: 6669 6c65 2e20 2054 6869 7320 6973 2061 file. This is a\n-00012410: 2067 6f6f 6420 706c 6163 6520 746f 2073 good place to s\n-00012420: 6574 20e2 8098 756e 6974 e280 992c 2061 et ...unit..., a\n-00012430: 2064 6566 6175 6c74 20e2 8098 6c69 6e65 default ...line\n-00012440: 7769 6474 68e2 8099 2c20 6574 632e 0a0a width..., etc...\n-00012450: 2020 2049 6e74 6572 6e61 6c20 6f70 7469 Internal opti\n-00012460: 6f6e 7320 776f 726b 206f 6e20 616c 6c20 ons work on all \n-00012470: 6f62 6a65 6374 7320 7768 6572 6520 7468 objects where th\n-00012480: 6579 206d 616b 6520 7365 6e73 652e 2020 ey make sense. \n-00012490: 5468 6973 0a69 6e63 6c75 6465 7320 e280 This.includes ..\n-000124a0: 9863 756c 6ce2 8099 2061 6e64 20e2 8098 .cull... and ...\n-000124b0: 7370 6c69 74e2 8099 2028 6275 7420 6e6f split... (but no\n-000124c0: 7420 e280 986c 6179 e280 9929 2e20 202a t ...lay...). *\n-000124d0: 4e6f 7465 2049 6e74 6572 6e61 6c20 6f70 Note Internal op\n-000124e0: 7469 6f6e 733a 3a2e 0a0a 1f0a 4669 6c65 tions::.....File\n-000124f0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n-00012500: 4e6f 6465 3a20 4361 6d65 7261 2c20 204e Node: Camera, N\n-00012510: 6578 743a 2050 6963 7475 7265 2062 6f78 ext: Picture box\n-00012520: 2c20 2050 7265 763a 2047 6c6f 6261 6c20 , Prev: Global \n-00012530: 6f70 7469 6f6e 732c 2020 5570 3a20 476c options, Up: Gl\n-00012540: 6f62 616c 2065 6e76 6972 6f6e 6d65 6e74 obal environment\n-00012550: 0a0a 332e 342e 3220 4361 6d65 7261 0a2d ..3.4.2 Camera.-\n-00012560: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 -----------..*Sy\n-00012570: 6e74 6178 3a2a 0a20 2020 2020 6361 6d65 ntax:*. came\n-00012580: 7261 2054 5241 4e53 464f 524d 5f45 5850 ra TRANSFORM_EXP\n-00012590: 5245 5353 494f 4e0a 2020 2054 6865 2054 RESSION. The T\n-000125a0: 5241 4e53 464f 524d 5f45 5850 5245 5353 RANSFORM_EXPRESS\n-000125b0: 494f 4e20 6973 2061 7070 6c69 6564 2061 ION is applied a\n-000125c0: 6674 6572 2061 6c6c 206f 7468 6572 2074 fter all other t\n-000125d0: 7261 6e73 666f 726d 6174 696f 6e73 0a6f ransformations.o\n-000125e0: 6620 7468 6520 7363 656e 652e 2020 5468 f the scene. Th\n-000125f0: 6973 2069 7320 6375 7272 656e 746c 7920 is is currently \n-00012600: 6f6e 6c79 2075 7365 6675 6c20 666f 7220 only useful for \n-00012610: 7472 616e 7366 6f72 6d69 6e67 2074 6865 transforming the\n-00012620: 0a62 6f75 6e64 696e 6720 626f 782e 2020 .bounding box. \n-00012630: 2a4e 6f74 6520 5069 6374 7572 6520 626f *Note Picture bo\n-00012640: 783a 3a2e 2020 4974 2077 696c 6c20 706c x::. It will pl\n-00012650: 6179 2061 2072 6f6c 6520 696e 2061 6e79 ay a role in any\n-00012660: 2066 7574 7572 650a 696d 706c 656d 656e future.implemen\n-00012670: 7461 7469 6f6e 206f 6620 636c 6970 7069 tation of clippi\n-00012680: 6e67 2e0a 0a1f 0a46 696c 653a 2073 6b65 ng.....File: ske\n-00012690: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n-000126a0: 2050 6963 7475 7265 2062 6f78 2c20 204e Picture box, N\n-000126b0: 6578 743a 2046 7261 6d65 2c20 2050 7265 ext: Frame, Pre\n-000126c0: 763a 2043 616d 6572 612c 2020 5570 3a20 v: Camera, Up: \n-000126d0: 476c 6f62 616c 2065 6e76 6972 6f6e 6d65 Global environme\n-000126e0: 6e74 0a0a 332e 342e 3320 5069 6374 7572 nt..3.4.3 Pictur\n-000126f0: 6520 626f 780a 2d2d 2d2d 2d2d 2d2d 2d2d e box.----------\n-00012700: 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 -------..*Syntax\n-00012710: 3a2a 0a20 2020 2020 7069 6374 7572 6562 :*. pictureb\n-00012720: 6f78 5b42 4153 454c 494e 455d 0a20 2020 ox[BASELINE]. \n-00012730: 2020 7069 6374 7572 6562 6f78 5b42 4153 picturebox[BAS\n-00012740: 454c 494e 455d 2028 5031 2928 5032 290a ELINE] (P1)(P2).\n-00012750: 5468 6520 6669 7273 7420 666f 726d 206f The first form o\n-00012760: 6620 e280 9870 6963 7475 7265 626f 78e2 f ...picturebox.\n-00012770: 8099 2063 6175 7365 7320 6120 7363 616c .. causes a scal\n-00012780: 6172 2042 4153 454c 494e 4520 6672 6163 ar BASELINE frac\n-00012790: 7469 6f6e 2074 6f20 6265 0a65 6d69 7474 tion to be.emitt\n-000127a0: 6564 2069 6e20 7468 6520 e280 9870 7370 ed in the ...psp\n-000127b0: 6963 7475 7265 e280 9920 656e 7669 726f icture... enviro\n-000127c0: 6e6d 656e 7420 6f66 2074 6865 206f 7574 nment of the out\n-000127d0: 7075 742e 2020 5365 6520 e280 9850 5354 put. See ...PST\n-000127e0: 7269 636b 73e2 8099 0a64 6f63 756d 656e ricks....documen\n-000127f0: 7461 7469 6f6e 2066 6f72 20e2 8098 7073 tation for ...ps\n-00012800: 7069 6374 7572 65e2 8099 2e0a 0a20 2020 picture...... \n-00012810: 496e 2074 6865 2073 6563 6f6e 6420 666f In the second fo\n-00012820: 726d 2c20 7468 6520 4241 5345 4c49 4e45 rm, the BASELINE\n-00012830: 2066 7261 6374 696f 6e20 6973 206f 7074 fraction is opt\n-00012840: 696f 6e61 6c2c 2061 6e64 2074 6865 2074 ional, and the t\n-00012850: 776f 0a70 6f69 6e74 7320 7468 6174 2066 wo.points that f\n-00012860: 6f6c 6c6f 7720 6465 6669 6e65 2074 6865 ollow define the\n-00012870: 2064 6961 676f 6e61 6c20 6f66 2061 2074 diagonal of a t\n-00012880: 6872 6565 2d64 696d 656e 7369 6f6e 616c hree-dimensional\n-00012890: 2062 6f75 6e64 696e 670a 626f 7820 666f bounding.box fo\n-000128a0: 7220 7468 6520 636f 6d70 6c65 7465 6420 r the completed \n-000128b0: 7363 656e 652e 2020 5468 6520 7061 7261 scene. The para\n-000128c0: 6c6c 656c 2070 726f 6a65 6374 696f 6e20 llel projection \n-000128d0: 6f66 2074 6865 2062 6f75 6e64 696e 670a of the bounding.\n-000128e0: 626f 7820 6465 7465 726d 696e 6573 2074 box determines t\n-000128f0: 6865 2063 6f72 6e65 7273 206f 6620 7468 he corners of th\n-00012900: 6520 6472 6177 696e 6727 7320 e280 9870 e drawing's ...p\n-00012910: 7370 6963 7475 7265 2ae2 8099 2065 6e76 spicture*... env\n-00012920: 6972 6f6e 6d65 6e74 2c0a 7768 6963 6820 ironment,.which \n-00012930: 6973 2075 7365 6420 696e 2070 6c61 6365 is used in place\n-00012940: 206f 6620 e280 9870 7370 6963 7475 7265 of ...pspicture\n-00012950: e280 992e 2020 5468 6973 2063 6175 7365 .... This cause\n-00012960: 7320 506f 7374 5363 7269 7074 2074 6f20 s PostScript to \n-00012970: 636c 6970 0a74 6865 2066 696e 616c 2064 clip.the final d\n-00012980: 7261 7769 6e67 2074 6f20 7468 6520 626f rawing to the bo\n-00012990: 756e 6469 6e67 2062 6f78 2069 6e20 3264 unding box in 2d\n-000129a0: 2e20 2049 6620 7468 6572 6520 6973 2061 . If there is a\n-000129b0: 20e2 8098 6361 6d65 7261 e280 990a 7370 ...camera....sp\n-000129c0: 6563 6966 6965 642c 2074 6865 2063 616d ecified, the cam\n-000129d0: 6572 6120 7472 616e 666f 726d 6174 696f era tranformatio\n-000129e0: 6e20 6973 2061 7070 6c69 6564 2074 6f20 n is applied to \n-000129f0: 7468 6520 626f 756e 6469 6e67 2062 6f78 the bounding box\n-00012a00: 2c20 616e 640a 7468 6520 e280 9870 7370 , and.the ...psp\n-00012a10: 6963 7475 7265 e280 9920 6973 2073 6574 icture... is set\n-00012a20: 206a 7573 7420 6c61 7267 6520 656e 6f75 just large enou\n-00012a30: 6768 2074 6f20 696e 636c 7564 6520 7468 gh to include th\n-00012a40: 6520 7472 616e 7366 6f72 6d65 6420 626f e transformed bo\n-00012a50: 782e 0a0a 2020 2057 6865 6e20 6e6f 2062 x... When no b\n-00012a60: 6f75 6e64 696e 6720 626f 7820 6973 2067 ounding box is g\n-00012a70: 6976 656e 2c20 e280 9873 6b65 7463 68e2 iven, ...sketch.\n-00012a80: 8099 2063 6f6d 7075 7465 7320 6f6e 6520 .. computes one \n-00012a90: 6175 746f 6d61 7469 6361 6c6c 792e 0a0a automatically...\n-00012aa0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-00012ab0: 6e66 6f2c 2020 4e6f 6465 3a20 4672 616d nfo, Node: Fram\n-00012ac0: 652c 2020 4e65 7874 3a20 4c61 6e67 7561 e, Next: Langua\n-00012ad0: 6765 2c20 2050 7265 763a 2050 6963 7475 ge, Prev: Pictu\n-00012ae0: 7265 2062 6f78 2c20 2055 703a 2047 6c6f re box, Up: Glo\n-00012af0: 6261 6c20 656e 7669 726f 6e6d 656e 740a bal environment.\n-00012b00: 0a33 2e34 2e34 2046 7261 6d65 0a2d 2d2d .3.4.4 Frame.---\n-00012b10: 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 --------..*Synta\n-00012b20: 783a 2a0a 2020 2020 2066 7261 6d65 205b x:*. frame [\n-00012b30: 4f50 5449 4f4e 535d 0a43 6175 7365 7320 OPTIONS].Causes \n-00012b40: 6120 5c70 7366 7261 6d65 626f 7820 746f a \\psframebox to\n-00012b50: 2073 7572 726f 756e 6420 7468 6520 e280 surround the ..\n-00012b60: 9870 7370 6963 7475 7265 e280 9920 656e .pspicture... en\n-00012b70: 7669 726f 6e6d 656e 7420 696e 2074 6865 vironment in the\n-00012b80: 0a6f 7574 7075 742e 2020 4966 204f 5054 .output. If OPT\n-00012b90: 494f 4e53 2061 7265 2070 7265 7365 6e74 IONS are present\n-00012ba0: 2c20 7468 6579 2061 7265 2063 6f70 6965 , they are copie\n-00012bb0: 6420 6173 2d69 732e 2020 4e6f 726d 616c d as-is. Normal\n-00012bc0: 6c79 206f 6e65 0a77 6f75 6c64 2077 616e ly one.would wan\n-00012bd0: 7420 746f 2073 6574 20e2 8098 6c69 6e65 t to set ...line\n-00012be0: 7769 6474 68e2 8099 2c20 e280 986c 696e width..., ...lin\n-00012bf0: 6573 7479 6c65 e280 992c 20e2 8098 6c69 estyle..., ...li\n-00012c00: 6e65 636f 6c6f 72e2 8099 2c20 6574 632e necolor..., etc.\n-00012c10: 2020 4966 0a6f 6d69 7474 6564 2c20 7468 If.omitted, th\n-00012c20: 656e 20e2 8098 6672 616d 6573 6570 3d30 en ...framesep=0\n-00012c30: 7074 e280 9920 6973 2061 6464 6564 2073 pt... is added s\n-00012c40: 6f20 7468 6174 2074 6865 2066 7261 6d65 o that the frame\n-00012c50: 2074 6967 6874 6c79 2068 7567 7320 7468 tightly hugs th\n-00012c60: 650a e280 9870 7370 6963 7475 7265 e280 e....pspicture..\n-00012c70: 992e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ......File: sket\n-00012c80: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-00012c90: 4c61 6e67 7561 6765 2c20 2050 7265 763a Language, Prev:\n-00012ca0: 2046 7261 6d65 2c20 2055 703a 2047 6c6f Frame, Up: Glo\n-00012cb0: 6261 6c20 656e 7669 726f 6e6d 656e 740a bal environment.\n-00012cc0: 0a33 2e34 2e35 204c 616e 6775 6167 650a .3.4.5 Language.\n-00012cd0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-00012ce0: 2020 2020 206c 616e 6775 6167 6520 7469 language ti\n-00012cf0: 6b7a 0a20 2020 2020 6c61 6e67 7561 6765 kz. language\n-00012d00: 2074 696b 7a2c 2063 6f6e 7465 7874 0a20 tikz, context. \n-00012d10: 2020 2020 6c61 6e67 7561 6765 2070 7374 language pst\n-00012d20: 7269 636b 730a 2020 2020 206c 616e 6775 ricks. langu\n-00012d30: 6167 6520 7073 7472 6963 6b73 2c20 6c61 age pstricks, la\n-00012d40: 7465 780a 5365 7473 2074 6865 206f 7574 tex.Sets the out\n-00012d50: 7075 7420 6c61 6e67 7561 6765 2067 656e put language gen\n-00012d60: 6572 6174 6564 2062 7920 e280 9873 6b65 erated by ...ske\n-00012d70: 7463 68e2 8099 2e20 2054 6865 2073 6574 tch.... The set\n-00012d80: 206f 6620 6f70 7469 6f6e 730a 756e 6465 of options.unde\n-00012d90: 7273 746f 6f64 2062 7920 736b 6574 6368 rstood by sketch\n-00012da0: 2061 6c73 6f20 6368 616e 6765 732e 2020 also changes. \n-00012db0: 466f 7220 6578 616d 706c 652c 2074 6865 For example, the\n-00012dc0: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... \n-00012dd0: 6f70 7469 6f6e 0ae2 8098 6c69 6e65 7769 option....linewi\n-00012de0: 6474 68e2 8099 2077 696c 6c20 6e6f 7420 dth... will not \n-00012df0: 6265 2070 726f 7065 726c 7920 6861 6e64 be properly hand\n-00012e00: 6c65 6420 6966 20e2 8098 6c61 6e67 7561 led if ...langua\n-00012e10: 6765 e280 9920 6973 2073 6574 2074 6f20 ge... is set to \n-00012e20: e280 9874 696b 7ae2 8099 2e0a 5369 6d69 ...tikz.....Simi\n-00012e30: 6c61 726c 792c 2074 6865 20e2 8098 5469 larly, the ...Ti\n-00012e40: 6b5a e280 9920 6f70 7469 6f6e 20e2 8098 kZ... option ...\n-00012e50: 6c69 6e65 2073 7479 6c65 e280 9920 286e line style... (n\n-00012e60: 6f74 6520 7468 6520 7370 6163 6529 2077 ote the space) w\n-00012e70: 696c 6c20 6e6f 7420 6265 0a70 726f 7065 ill not be.prope\n-00012e80: 726c 7920 6861 6e64 6c65 6420 6966 20e2 rly handled if .\n-00012e90: 8098 6c61 6e67 7561 6765 e280 9920 6973 ..language... is\n-00012ea0: 2073 6574 2074 6f20 e280 9870 7374 7269 set to ...pstri\n-00012eb0: 636b 73e2 8099 2e20 2049 6620 6e6f 206c cks.... If no l\n-00012ec0: 616e 6775 6167 6520 6973 0a73 7065 6369 anguage is.speci\n-00012ed0: 6669 6564 2c20 7468 6520 6465 6661 756c fied, the defaul\n-00012ee0: 7420 e280 9870 7374 7269 636b 73e2 8099 t ...pstricks...\n-00012ef0: 2069 7320 7573 6564 2e0a 0a20 2020 416e is used... An\n-00012f00: 206f 7074 696f 6e61 6c20 636f 6d6d 6120 optional comma \n-00012f10: 666f 6c6c 6f77 6564 2062 7920 e280 986c followed by ...l\n-00012f20: 6174 6578 e280 9920 6f72 20e2 8098 636f atex... or ...co\n-00012f30: 6e74 6578 74e2 8099 2073 7065 6369 6669 ntext... specifi\n-00012f40: 6573 2074 6865 0a6d 6163 726f 2070 6163 es the.macro pac\n-00012f50: 6b61 6765 2074 6861 7420 7468 6520 6f75 kage that the ou\n-00012f60: 7470 7574 2073 686f 756c 6420 6173 7375 tput should assu\n-00012f70: 6d65 2e20 2054 6869 7320 6166 6665 6374 me. This affect\n-00012f80: 7320 7468 6520 e280 9870 6963 7475 7265 s the ...picture\n-00012f90: e280 990a 656e 7669 726f 6e6d 656e 7420 ....environment \n-00012fa0: 636f 6d6d 616e 6473 2065 6d69 7474 6564 commands emitted\n-00012fb0: 2061 6e64 2074 6865 2064 6f63 756d 656e and the documen\n-00012fc0: 7420 7465 6d70 6c61 7465 2075 7365 6420 t template used \n-00012fd0: 7769 7468 2074 6865 0ae2 8098 2d54 e280 with the....-T..\n-00012fe0: 9920 6f70 7469 6f6e 2e20 202a 4e6f 7465 . option. *Note\n-00012ff0: 2043 6f6d 6d61 6e64 206c 696e 653a 3a2e Command line::.\n-00013000: 2020 4e6f 7465 2074 6861 7420 6174 2074 Note that at t\n-00013010: 6865 2074 696d 6520 7468 6973 206d 616e he time this man\n-00013020: 7561 6c0a 7761 7320 6765 6e65 7261 7465 ual.was generate\n-00013030: 642c 20e2 8098 5053 5472 6963 6b73 e280 d, ...PSTricks..\n-00013040: 9920 7761 7320 6e6f 7420 7375 7070 6f72 . was not suppor\n-00013050: 7465 6420 6279 204c 6154 6558 206f 7220 ted by LaTeX or \n-00013060: 6279 20e2 8098 436f 6e54 6558 74e2 8099 by ...ConTeXt...\n-00013070: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n-00013080: 682e 696e 666f 2c20 204e 6f64 653a 2042 h.info, Node: B\n-00013090: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin\n-000130a0: 672c 2020 4e65 7874 3a20 436f 6d6d 616e g, Next: Comman\n-000130b0: 6420 6c69 6e65 2c20 2050 7265 763a 2049 d line, Prev: I\n-000130c0: 6e70 7574 206c 616e 6775 6167 652c 2020 nput language, \n-000130d0: 5570 3a20 546f 700a 0a34 2042 7569 6c64 Up: Top..4 Build\n-000130e0: 696e 6720 6120 6472 6177 696e 670a 2a2a ing a drawing.**\n-000130f0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-00013100: 2a2a 0a0a 5375 6363 6573 7366 756c 2064 **..Successful d\n-00013110: 7261 7769 6e67 7320 7769 7468 20e2 8098 rawings with ...\n-00013120: 736b 6574 6368 e280 9920 616e 6420 7769 sketch... and wi\n-00013130: 7468 2061 6e79 2073 6365 6e65 2064 6573 th any scene des\n-00013140: 6372 6970 7469 6f6e 0a6c 616e 6775 6167 cription.languag\n-00013150: 6520 7265 7175 6972 6520 7468 6174 2074 e require that t\n-00013160: 6865 2075 7365 7220 6465 7665 6c6f 7020 he user develop \n-00013170: 616e 2061 6363 7572 6174 6520 6d65 6e74 an accurate ment\n-00013180: 616c 2070 6963 7475 7265 206f 6620 6865 al picture of he\n-00013190: 720a 636f 6465 2061 6e64 2069 7473 206d r.code and its m\n-000131a0: 6561 6e69 6e67 2e20 2054 6869 7320 696d eaning. This im\n-000131b0: 6167 6520 6973 2062 6573 7420 6275 696c age is best buil\n-000131c0: 7420 696e 2073 6d61 6c6c 2070 6965 6365 t in small piece\n-000131d0: 732e 0a54 6865 7265 666f 7265 2c20 e280 s..Therefore, ..\n-000131e0: 9873 6b65 7463 68e2 8099 2069 6e70 7574 .sketch... input\n-000131f0: 7320 6172 6520 6265 7374 2063 7265 6174 s are best creat\n-00013200: 6564 2069 6e20 736d 616c 6c20 696e 6372 ed in small incr\n-00013210: 656d 656e 7473 2077 6974 680a 6672 6571 ements with.freq\n-00013220: 7565 6e74 2070 6175 7365 7320 746f 2063 uent pauses to c\n-00013230: 6f6d 7069 6c65 2061 6e64 2076 6965 7720 ompile and view \n-00013240: 7468 6520 7265 7375 6c74 732e 2020 4361 the results. Ca\n-00013250: 7265 6675 6c20 636f 6d6d 656e 7473 2069 reful comments i\n-00013260: 6e0a 7468 6520 696e 7075 7420 6f66 7465 n.the input ofte\n-00013270: 6e20 6865 6c70 2061 7320 6120 7363 656e n help as a scen\n-00013280: 6520 6772 6f77 7320 696e 2063 6f6d 706c e grows in compl\n-00013290: 6578 6974 792e 0a0a 2a20 4d65 6e75 3a0a exity...* Menu:.\n-000132a0: 0a2a 204f 7665 7276 6965 773a 3a20 2020 .* Overview:: \n-000132b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000132c0: 2042 7569 6c64 696e 6720 6120 7375 6273 Building a subs\n-000132d0: 7461 6e74 6961 6c20 6472 6177 696e 672e tantial drawing.\n-000132e0: 0a2a 2041 2074 6563 686e 6963 616c 2064 .* A technical d\n-000132f0: 7261 7769 6e67 3a3a 2020 2020 2020 2020 rawing:: \n-00013300: 2041 6e20 6578 616d 706c 6520 7769 7468 An example with\n-00013310: 2066 696e 6520 706c 6163 656d 656e 742e fine placement.\n-00013320: 0a2a 2041 2068 6965 7261 7263 6869 6361 .* A hierarchica\n-00013330: 6c20 6d6f 6465 6c3a 3a20 2020 2020 2020 l model:: \n-00013340: 2041 6e20 6578 616d 706c 6520 7769 7468 An example with\n-00013350: 2073 7765 6570 7320 616e 6420 7075 7473 sweeps and puts\n-00013360: 2e0a 2a20 4361 7665 6174 733a 3a20 2020 ..* Caveats:: \n-00013370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00013380: 2020 5768 6572 6520 7472 6f75 626c 6520 Where trouble \n-00013390: 6361 6e20 6f63 6375 722e 0a0a 1f0a 4669 can occur.....Fi\n-000133a0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-000133b0: 2020 4e6f 6465 3a20 4f76 6572 7669 6577 Node: Overview\n-000133c0: 2c20 204e 6578 743a 2041 2074 6563 686e , Next: A techn\n-000133d0: 6963 616c 2064 7261 7769 6e67 2c20 2050 ical drawing, P\n-000133e0: 7265 763a 2042 7569 6c64 696e 6720 6120 rev: Building a \n-000133f0: 6472 6177 696e 672c 2020 5570 3a20 4275 drawing, Up: Bu\n-00013400: 696c 6469 6e67 2061 2064 7261 7769 6e67 ilding a drawing\n-00013410: 0a0a 342e 3120 4f76 6572 7669 6577 0a3d ..4.1 Overview.=\n-00013420: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a41 7320 ===========..As \n-00013430: 616e 206f 7665 7276 6965 772c 206c 6574 an overview, let\n-00013440: 2773 2064 6576 656c 6f70 2061 2064 6961 's develop a dia\n-00013450: 6772 616d 2074 6861 7420 7368 6f77 7320 gram that shows \n-00013460: 686f 7720 6120 7065 7273 7065 6374 6976 how a perspectiv\n-00013470: 650a 7072 6f6a 6563 7469 6f6e 2074 7261 e.projection tra\n-00013480: 6e73 666f 726d 2077 6f72 6b73 2e20 2057 nsform works. W\n-00013490: 6527 6c6c 2073 7461 7274 2077 6974 6820 e'll start with \n-000134a0: 7468 6520 7472 6164 6974 696f 6e61 6c20 the traditional \n-000134b0: 7265 6665 7265 6e63 650a 6f62 6a65 6374 reference.object\n-000134c0: 2075 7365 6420 696e 2063 6f6d 7075 7465 used in compute\n-000134d0: 7220 6772 6170 6869 6373 2074 6578 7462 r graphics textb\n-000134e0: 6f6f 6b73 2c20 6120 686f 7573 652d 7368 ooks, a house-sh\n-000134f0: 6170 6564 2070 7269 736d 2e20 2042 6567 aped prism. Beg\n-00013500: 696e 0a62 7920 6465 6669 6e69 6e67 2074 in.by defining t\n-00013510: 6865 2070 6f69 6e74 7320 6f66 2074 6865 he points of the\n-00013520: 2068 6f75 7365 2e20 2052 6174 6865 7220 house. Rather \n-00013530: 7468 616e 2064 6566 696e 696e 6720 7468 than defining th\n-00013540: 6520 6661 6365 7320 6f66 0a74 6865 2068 e faces of.the h\n-00013550: 6f75 7365 2061 7320 706f 6c79 676f 6e73 ouse as polygons\n-00013560: 2061 6e64 2074 7261 6e73 666f 726d 696e and transformin\n-00013570: 6720 7468 6f73 652c 2077 6520 6172 6520 g those, we are \n-00013580: 676f 696e 6720 746f 2074 7261 6e73 666f going to transfo\n-00013590: 726d 0a74 6865 2070 6f69 6e74 7320 7468 rm.the points th\n-000135a0: 656d 7365 6c76 6573 2077 6974 6820 e280 emselves with ..\n-000135b0: 9873 6b65 7463 68e2 8099 2061 7269 7468 .sketch... arith\n-000135c0: 6d65 7469 6320 736f 2074 6861 7420 7765 metic so that we\n-000135d0: 2068 6176 6520 6e61 6d65 7320 666f 720a have names for.\n-000135e0: 7468 6520 7472 616e 7366 6f72 6d65 6420 the transformed \n-000135f0: 706f 696e 7473 206c 6174 6572 2e0a 2020 points later.. \n-00013600: 2520 7269 6768 7420 7369 6465 2028 6f75 % right side (ou\n-00013610: 7473 6964 6520 746f 2072 6967 6874 290a tside to right).\n-00013620: 2020 6465 6620 5231 2028 312c 312c 3129 def R1 (1,1,1)\n-00013630: 2064 6566 2052 3220 2831 2c2d 312c 3129 def R2 (1,-1,1)\n-00013640: 2064 6566 2052 3320 2831 2c2d 312c 2d31 def R3 (1,-1,-1\n-00013650: 2920 6465 6620 5234 2028 312c 312c 2d31 ) def R4 (1,1,-1\n-00013660: 290a 2020 6465 6620 5235 2028 312c 312e ). def R5 (1,1.\n-00013670: 352c 3029 0a0a 2020 2520 6c65 6674 2073 5,0).. % left s\n-00013680: 6964 6520 286f 7574 7369 6465 2074 6f20 ide (outside to \n-00013690: 7269 6768 742d 2d62 6163 6b77 6172 6429 right--backward)\n-000136a0: 0a20 2064 6566 2057 2020 5b32 2c30 2c30 . def W [2,0,0\n-000136b0: 5d0a 2020 6465 6620 4c31 2028 5231 292d ]. def L1 (R1)-\n-000136c0: 5b57 5d20 6465 6620 4c32 2028 5232 292d [W] def L2 (R2)-\n-000136d0: 5b57 5d20 6465 6620 4c33 2028 5233 292d [W] def L3 (R3)-\n-000136e0: 5b57 5d20 6465 6620 4c34 2028 5234 292d [W] def L4 (R4)-\n-000136f0: 5b57 5d0a 2020 6465 6620 4c35 2028 5235 [W]. def L5 (R5\n-00013700: 292d 5b57 5d0a 546f 2061 6464 2061 2064 )-[W].To add a d\n-00013710: 6f6f 7220 746f 2074 6865 2068 6f75 7365 oor to the house\n-00013720: 2c20 7765 2075 7365 2061 2070 6f6c 7967 , we use a polyg\n-00013730: 6f6e 2073 6c69 6768 746c 7920 696e 2066 on slightly in f\n-00013740: 726f 6e74 206f 6620 7468 650a 666f 7265 ront of the.fore\n-00013750: 6d6f 7374 2066 6163 6520 6f66 2074 6865 most face of the\n-00013760: 2068 6f75 7365 2e0a 2020 2520 646f 6f72 house.. % door\n-00013770: 0a20 2064 6566 2065 202e 3031 0a20 2064 . def e .01. d\n-00013780: 6566 2044 3120 2830 2c2d 312c 312b 6529 ef D1 (0,-1,1+e)\n-00013790: 2064 6566 2044 3220 282e 352c 2d31 2c31 def D2 (.5,-1,1\n-000137a0: 2b65 2920 6465 6620 4433 2028 2e35 2c30 +e) def D3 (.5,0\n-000137b0: 2c31 2b65 2920 6465 6620 4434 2028 302c ,1+e) def D4 (0,\n-000137c0: 302c 312b 6529 0a4e 6f77 206c 6574 2773 0,1+e).Now let's\n-000137d0: 2063 7265 6174 6520 6120 6e65 7720 7365 create a new se\n-000137e0: 7420 6f66 2070 6f69 6e74 7320 7468 6174 t of points that\n-000137f0: 2061 7265 2061 2074 6f2d 6265 2d64 6574 are a to-be-det\n-00013800: 6572 6d69 6e65 640a 7472 616e 7366 6f72 ermined.transfor\n-00013810: 6d20 6f66 2074 6865 206f 7269 6769 6e61 m of the origina\n-00013820: 6c73 2e0a 2020 6465 6620 6870 2073 6361 ls.. def hp sca\n-00013830: 6c65 2831 2920 2520 686f 7573 6520 706f le(1) % house po\n-00013840: 7369 7469 6f6e 6572 0a20 2064 6566 2070 sitioner. def p\n-00013850: 5231 205b 5b68 705d 5d2a 2852 3129 2064 R1 [[hp]]*(R1) d\n-00013860: 6566 2070 5232 205b 5b68 705d 5d2a 2852 ef pR2 [[hp]]*(R\n-00013870: 3229 2064 6566 2070 5233 205b 5b68 705d 2) def pR3 [[hp]\n-00013880: 5d2a 2852 3329 0a20 2064 6566 2070 5234 ]*(R3). def pR4\n-00013890: 205b 5b68 705d 5d2a 2852 3429 2064 6566 [[hp]]*(R4) def\n-000138a0: 2070 5235 205b 5b68 705d 5d2a 2852 3529 pR5 [[hp]]*(R5)\n-000138b0: 0a20 2064 6566 2070 4c31 205b 5b68 705d . def pL1 [[hp]\n-000138c0: 5d2a 284c 3129 2064 6566 2070 4c32 205b ]*(L1) def pL2 [\n-000138d0: 5b68 705d 5d2a 284c 3229 2064 6566 2070 [hp]]*(L2) def p\n-000138e0: 4c33 205b 5b68 705d 5d2a 284c 3329 0a20 L3 [[hp]]*(L3). \n-000138f0: 2064 6566 2070 4c34 205b 5b68 705d 5d2a def pL4 [[hp]]*\n-00013900: 284c 3429 2064 6566 2070 4c35 205b 5b68 (L4) def pL5 [[h\n-00013910: 705d 5d2a 284c 3529 0a20 2064 6566 2070 p]]*(L5). def p\n-00013920: 4431 205b 5b68 705d 5d2a 2844 3129 2064 D1 [[hp]]*(D1) d\n-00013930: 6566 2070 4432 205b 5b68 705d 5d2a 2844 ef pD2 [[hp]]*(D\n-00013940: 3229 2064 6566 2070 4433 205b 5b68 705d 2) def pD3 [[hp]\n-00013950: 5d2a 2844 3329 0a20 2064 6566 2070 4434 ]*(D3). def pD4\n-00013960: 205b 5b68 705d 5d2a 2844 3429 200a 4e6f [[hp]]*(D4) .No\n-00013970: 7465 2074 6865 2075 7365 206f 6620 6120 te the use of a \n-00013980: e280 9c74 7261 6e73 666f 726d 2064 6566 ...transform def\n-00013990: 696e 6974 696f 6ee2 809d 2061 6e64 20e2 inition... and .\n-000139a0: 809c 7472 616e 7366 6f72 6d20 7265 6665 ..transform refe\n-000139b0: 7265 6e63 6573 e280 9d2e 0a4e 6f77 2064 rences.....Now d\n-000139c0: 6566 696e 6520 7468 6520 7365 7665 6e20 efine the seven \n-000139d0: 706f 6c79 676f 6e61 6c20 6661 6365 7320 polygonal faces \n-000139e0: 6f66 2074 6865 2068 6f75 7365 2061 6e64 of the house and\n-000139f0: 2074 6865 2064 6f6f 7220 7573 696e 6720 the door using \n-00013a00: 7468 650a 7472 616e 7366 6f72 6d65 6420 the.transformed \n-00013a10: 706f 696e 7473 2061 7320 7665 7274 6963 points as vertic\n-00013a20: 6573 2e20 2042 6520 6361 7265 6675 6c20 es. Be careful \n-00013a30: 7769 7468 2076 6572 7465 7820 6f72 6465 with vertex orde\n-00013a40: 7221 0a20 2064 6566 2072 6774 2070 6f6c r!. def rgt pol\n-00013a50: 7967 6f6e 2028 7052 3129 2870 5232 2928 ygon (pR1)(pR2)(\n-00013a60: 7052 3329 2870 5234 2928 7052 3529 0a20 pR3)(pR4)(pR5). \n-00013a70: 2064 6566 206c 6674 2070 6f6c 7967 6f6e def lft polygon\n-00013a80: 2028 704c 3529 2870 4c34 2928 704c 3329 (pL5)(pL4)(pL3)\n-00013a90: 2870 4c32 2928 704c 3129 0a20 2064 6566 (pL2)(pL1). def\n-00013aa0: 2066 7274 2070 6f6c 7967 6f6e 2028 7052 frt polygon (pR\n-00013ab0: 3229 2870 5231 2928 704c 3129 2870 4c32 2)(pR1)(pL1)(pL2\n-00013ac0: 290a 2020 6465 6620 6263 6b20 706f 6c79 ). def bck poly\n-00013ad0: 676f 6e20 2870 5234 2928 7052 3329 2870 gon (pR4)(pR3)(p\n-00013ae0: 4c33 2928 704c 3429 0a20 2064 6566 2074 L3)(pL4). def t\n-00013af0: 6672 2070 6f6c 7967 6f6e 2028 7052 3129 fr polygon (pR1)\n-00013b00: 2870 5235 2928 704c 3529 2870 4c31 290a (pR5)(pL5)(pL1).\n-00013b10: 2020 6465 6620 7462 6b20 706f 6c79 676f def tbk polygo\n-00013b20: 6e20 2870 5235 2928 7052 3429 2870 4c34 n (pR5)(pR4)(pL4\n-00013b30: 2928 704c 3529 0a20 2064 6566 2062 6f74 )(pL5). def bot\n-00013b40: 2070 6f6c 7967 6f6e 2028 7052 3229 2870 polygon (pR2)(p\n-00013b50: 4c32 2928 704c 3329 2870 5233 290a 2020 L2)(pL3)(pR3). \n-00013b60: 6465 6620 646f 6f72 2070 6f6c 7967 6f6e def door polygon\n-00013b70: 5b66 696c 6c63 6f6c 6f72 3d62 726f 776e [fillcolor=brown\n-00013b80: 5d20 2870 4431 2928 7044 3229 2870 4433 ] (pD1)(pD2)(pD3\n-00013b90: 2928 7044 3429 0a20 2064 6566 2068 6f75 )(pD4). def hou\n-00013ba0: 7365 207b 207b 7267 747d 7b6c 6674 7d7b se { {rgt}{lft}{\n-00013bb0: 6672 747d 7b62 636b 7d7b 7466 727d 7b74 frt}{bck}{tfr}{t\n-00013bc0: 626b 7d7b 626f 747d 7b64 6f6f 727d 207d bk}{bot}{door} }\n-00013bd0: 0a20 2020 5469 6d65 2066 6f72 2061 2073 . Time for a s\n-00013be0: 616e 6974 7920 6368 6563 6b2e 2020 4164 anity check. Ad\n-00013bf0: 6420 7468 6520 6c69 6e65 0a20 207b 686f d the line. {ho\n-00013c00: 7573 657d 0a61 6e64 2074 6869 7320 6973 use}.and this is\n-00013c10: 2077 6861 7420 7765 2067 6574 2e0a 0a00 what we get....\n-00013c20: 085b 696d 6167 6520 7372 633d 2265 7831 .[image src=\"ex1\n-00013c30: 3330 2e70 6e67 2220 7465 7874 3d22 496d 30.png\" text=\"Im\n-00013c40: 6167 6520 6578 3133 3020 6f6d 6974 7465 age ex130 omitte\n-00013c50: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio\n-00013c60: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume\n-00013c70: 6e74 2e22 0008 5d0a 0a54 6869 7320 6973 nt.\"..]..This is\n-00013c80: 2063 6f72 7265 6374 2c20 6275 7420 646f correct, but do\n-00013c90: 6573 206e 6f74 2072 6576 6561 6c20 7665 es not reveal ve\n-00013ca0: 7279 206d 7563 682e 2020 436f 6d6d 6f6e ry much. Common\n-00013cb0: 2065 7272 6f72 7320 6172 650a 6d69 7370 errors are.misp\n-00013cc0: 6c61 6365 6420 7665 7274 6963 6573 2061 laced vertices a\n-00013cd0: 6e64 2070 6f6c 7967 6f6e 7320 6d69 7373 nd polygons miss\n-00013ce0: 696e 6720 656e 7469 7265 6c79 2064 7565 ing entirely due\n-00013cf0: 2074 6f20 696e 636f 7272 6563 7420 7665 to incorrect ve\n-00013d00: 7274 6578 0a6f 7264 6572 2e20 2054 6f20 rtex.order. To \n-00013d10: 7275 6c65 2074 6865 7365 206f 7574 2c20 rule these out, \n-00013d20: 6c65 7427 7320 696e 7370 6563 7420 616c let's inspect al\n-00013d30: 6c20 7369 6465 7320 6f66 2074 6865 2068 l sides of the h\n-00013d40: 6f75 7365 2e20 2054 6869 730a 6973 206e ouse. This.is n\n-00013d50: 6f74 2068 6172 642e 2020 4d65 7265 6c79 ot hard. Merely\n-00013d60: 2072 6570 6c61 6365 2074 6865 2072 6566 replace the ref\n-00013d70: 6572 656e 6365 207b 686f 7573 657d 2077 erence {house} w\n-00013d80: 6974 6820 6120 e280 9872 6570 6561 74e2 ith a ...repeat.\n-00013d90: 8099 2e0a 2a4e 6f74 6520 5265 7065 6174 ....*Note Repeat\n-00013da0: 733a 3a2e 0a20 2072 6570 6561 7420 7b20 s::.. repeat { \n-00013db0: 3133 2c20 726f 7461 7465 2833 302c 205b 13, rotate(30, [\n-00013dc0: 312c 322c 335d 292c 2074 7261 6e73 6c61 1,2,3]), transla\n-00013dd0: 7465 285b 332c 302c 305d 2920 7d20 7b68 te([3,0,0]) } {h\n-00013de0: 6f75 7365 7d0a 0008 5b69 6d61 6765 2073 ouse}...[image s\n-00013df0: 7263 3d22 6578 3134 302e 706e 6722 2074 rc=\"ex140.png\" t\n-00013e00: 6578 743d 2249 6d61 6765 2065 7831 3430 ext=\"Image ex140\n-00013e10: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text\n-00013e20: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this\n-00013e30: 2064 6f63 756d 656e 742e 2200 085d 0a0a document.\"..]..\n-00013e40: 4167 6169 6e20 7468 696e 6773 206c 6f6f Again things loo\n-00013e50: 6b20 636f 7272 6563 742e 2020 4e6f 7465 k correct. Note\n-00013e60: 2074 6861 7420 7468 6520 6869 6464 656e that the hidden\n-00013e70: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit\n-00013e80: 686d 0a68 616e 646c 6573 2069 6e74 6572 hm.handles inter\n-00013e90: 7365 6374 696e 6720 706f 6c79 676f 6e73 secting polygons\n-00013ea0: 2063 6f72 7265 6374 6c79 2077 6865 7265 correctly where\n-00013eb0: 2073 6f6d 6520 636f 7069 6573 206f 6620 some copies of \n-00013ec0: 7468 6520 686f 7573 650a 6f76 6572 6c61 the house.overla\n-00013ed0: 702e 0a0a 2020 204c 6574 2773 206c 6179 p... Let's lay\n-00013ee0: 206f 7574 2074 6865 2067 656f 6d65 7472 out the geometr\n-00013ef0: 7920 6f66 2070 6572 7370 6563 7469 7665 y of perspective\n-00013f00: 2070 726f 6a65 6374 696f 6e20 6f66 2074 projection of t\n-00013f10: 6865 2068 6f75 7365 0a6f 6e74 6f20 6120 he house.onto a \n-00013f20: 706c 616e 6520 7769 7468 2072 6179 7320 plane with rays \n-00013f30: 7061 7373 696e 6720 7468 726f 7567 6820 passing through \n-00013f40: 7468 6520 6f72 6967 696e 2e20 2042 6567 the origin. Beg\n-00013f50: 696e 2062 7920 706f 7369 7469 6f6e 696e in by positionin\n-00013f60: 670a 7468 6520 686f 7573 6520 7477 656c g.the house twel\n-00013f70: 7665 2075 6e69 7473 2062 6163 6b20 6f6e ve units back on\n-00013f80: 2074 6865 206e 6567 6174 6976 6520 7a2d the negative z-\n-00013f90: 6178 6973 2061 6e64 2061 6464 696e 6720 axis and adding \n-00013fa0: 6120 7365 7420 6f66 0a63 6f6f 7264 696e a set of.coordin\n-00013fb0: 6174 6520 6178 6573 2e20 2054 6f20 6d6f ate axes. To mo\n-00013fc0: 7665 2074 6865 2068 6f75 7365 2077 6520 ve the house we \n-00013fd0: 6e65 6564 206f 6e6c 7920 6368 616e 6765 need only change\n-00013fe0: 2074 6865 2022 686f 7573 650a 706f 7369 the \"house.posi\n-00013ff0: 7469 6f6e 696e 6722 2074 7261 6e73 666f tioning\" transfo\n-00014000: 726d 2064 6566 696e 6564 2065 6172 6c69 rm defined earli\n-00014010: 6572 2e0a 2020 6465 6620 6870 2072 6f74 er.. def hp rot\n-00014020: 6174 6528 2d34 302c 205b 302c 312c 305d ate(-40, [0,1,0]\n-00014030: 2920 7468 656e 2074 7261 6e73 6c61 7465 ) then translate\n-00014040: 285b 302c 302c 2d31 325d 290a 2020 6465 ([0,0,-12]). de\n-00014050: 6620 6178 6573 207b 0a20 2020 2064 6566 f axes {. def\n-00014060: 2073 7a20 310a 2020 2020 6c69 6e65 205b sz 1. line [\n-00014070: 6172 726f 7773 3d3c 2d3e 5d20 2873 7a2c arrows=<->] (sz,\n-00014080: 302c 3029 284f 2928 302c 737a 2c30 290a 0,0)(O)(0,sz,0).\n-00014090: 2020 2020 6c69 6e65 205b 6172 726f 7773 line [arrows\n-000140a0: 3d2d 3e5d 2020 284f 2928 302c 302c 737a =->] (O)(0,0,sz\n-000140b0: 290a 2020 2020 6c69 6e65 205b 6c69 6e65 ). line [line\n-000140c0: 7769 6474 683d 2e32 7074 2c6c 696e 6563 width=.2pt,linec\n-000140d0: 6f6c 6f72 3d62 6c75 652c 6c69 6e65 7374 olor=blue,linest\n-000140e0: 796c 653d 6461 7368 6564 5d20 284f 2928 yle=dashed] (O)(\n-000140f0: 302c 302c 2d31 3029 0a20 2020 2073 7065 0,0,-10). spe\n-00014100: 6369 616c 207c 5c75 7075 745b 725d 2331 cial |\\uput[r]#1\n-00014110: 7b24 7824 7d5c 7570 7574 5b75 5d23 327b {$x$}\\uput[u]#2{\n-00014120: 2479 247d 5c75 7075 745b 6c5d 2333 7b24 $y$}\\uput[l]#3{$\n-00014130: 7a24 7d7c 0a20 2020 2020 2028 737a 2c30 z$}|. (sz,0\n-00014140: 2c30 2928 302c 737a 2c30 2928 302c 302c ,0)(0,sz,0)(0,0,\n-00014150: 737a 290a 2020 7d0a 0a20 2020 5469 6d65 sz). }.. Time\n-00014160: 2066 6f72 2061 6e6f 7468 6572 2074 6573 for another tes\n-00014170: 742e 2020 4c65 7427 7320 6275 696c 6420 t. Let's build \n-00014180: 6120 7265 616c 2076 6965 7720 7472 616e a real view tran\n-00014190: 7366 6f72 6d2c 2063 7265 6174 696e 6720 sform, creating \n-000141a0: 610a e280 9c76 6972 7475 616c 2063 616d a....virtual cam\n-000141b0: 6572 61e2 809d 2074 6f20 6c6f 6f6b 2061 era... to look a\n-000141c0: 7420 7468 6520 7363 656e 6520 7765 2061 t the scene we a\n-000141d0: 7265 2063 6f6e 7374 7275 6374 696e 672e re constructing.\n-000141e0: 2020 5265 706c 6163 6520 7468 650a e280 Replace the...\n-000141f0: 9872 6570 6561 74e2 8099 2077 6974 680a .repeat... with.\n-00014200: 2020 6465 6620 6579 6520 2831 302c 342c def eye (10,4,\n-00014210: 3130 290a 2020 6465 6620 6c6f 6f6b 5f61 10). def look_a\n-00014220: 7420 2830 2c30 2c2d 3529 0a20 2070 7574 t (0,0,-5). put\n-00014230: 207b 2076 6965 7728 2865 7965 292c 2028 { view((eye), (\n-00014240: 6c6f 6f6b 5f61 7429 2920 7d20 7b20 7b68 look_at)) } { {h\n-00014250: 6f75 7365 7d7b 6178 6573 7d20 7d0a 2020 ouse}{axes} }. \n-00014260: 2054 6865 20e2 809c 7669 6577 2074 7261 The ...view tra\n-00014270: 6e73 666f 726d e280 9d20 7265 706f 7369 nsform... reposi\n-00014280: 7469 6f6e 7320 7468 6520 7363 656e 6520 tions the scene \n-00014290: 736f 2074 6861 7420 7468 6520 706f 696e so that the poin\n-000142a0: 7420 e280 9865 7965 e280 9920 6973 0a61 t ...eye... is.a\n-000142b0: 7420 7468 6520 6f72 6967 696e 2061 6e64 t the origin and\n-000142c0: 2074 6865 2064 6972 6563 7469 6f6e 2066 the direction f\n-000142d0: 726f 6d20 e280 9865 7965 e280 9920 746f rom ...eye... to\n-000142e0: 20e2 8098 6c6f 6f6b 5f61 74e2 8099 2069 ...look_at... i\n-000142f0: 7320 7468 6520 6e65 6761 7469 7665 0a7a s the negative.z\n-00014300: 2d61 7869 732e 2020 5468 6973 2072 6571 -axis. This req\n-00014310: 7569 7265 7320 6120 726f 7461 7469 6f6e uires a rotation\n-00014320: 2061 6e64 2061 2074 7261 6e73 6c61 7469 and a translati\n-00014330: 6f6e 2074 6861 7420 6172 6520 616c 6c20 on that are all \n-00014340: 7061 636b 6564 0a69 6e74 6f20 7468 6520 packed.into the \n-00014350: 636f 6e73 7472 7563 746f 7220 e280 9876 constructor ...v\n-00014360: 6965 77e2 8099 2e0a 0a00 085b 696d 6167 iew........[imag\n-00014370: 6520 7372 633d 2265 7831 3530 2e70 6e67 e src=\"ex150.png\n-00014380: 2220 7465 7874 3d22 496d 6167 6520 6578 \" text=\"Image ex\n-00014390: 3135 3020 6f6d 6974 7465 6420 696e 2074 150 omitted in t\n-000143a0: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t\n-000143b0: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.\"..\n-000143c0: 5d0a 0a54 6869 7320 6973 2073 7461 7274 ]..This is start\n-000143d0: 696e 6720 746f 206c 6f6f 6b20 676f 6f64 ing to look good\n-000143e0: 2120 2041 6464 2074 6865 2070 726f 6a65 ! Add the proje\n-000143f0: 6374 696f 6e20 706c 616e 6520 6861 6c66 ction plane half\n-00014400: 2077 6179 0a62 6574 7765 656e 2074 6865 way.between the\n-00014410: 206f 7269 6769 6e20 616e 6420 7468 6520 origin and the \n-00014420: 686f 7573 6520 6174 207a 3d2d 352e 2020 house at z=-5. \n-00014430: 5765 276c 6c20 7472 7920 7468 6520 616e We'll try the an\n-00014440: 676c 6520 6172 6775 6d65 6e74 0a66 6561 gle argument.fea\n-00014450: 7475 7265 206f 6620 e280 9873 7065 6369 ture of ...speci\n-00014460: 616c e280 9920 746f 2070 6f73 6974 696f al... to positio\n-00014470: 6e20 6120 6c61 6265 6c2e 0a20 2064 6566 n a label.. def\n-00014480: 2070 2035 2025 2070 726f 6a65 6374 696f p 5 % projectio\n-00014490: 6e20 6469 7374 616e 6365 2028 706c 616e n distance (plan\n-000144a0: 6520 6174 207a 3d2d 7029 0a20 2064 6566 e at z=-p). def\n-000144b0: 2070 726f 6a65 6374 696f 6e5f 706c 616e projection_plan\n-000144c0: 6520 7b0a 2020 2020 6465 6620 737a 2031 e {. def sz 1\n-000144d0: 2e35 0a20 2020 2070 6f6c 7967 6f6e 2028 .5. polygon (\n-000144e0: 2d73 7a2c 2d73 7a2c 2d70 2928 737a 2c2d -sz,-sz,-p)(sz,-\n-000144f0: 737a 2c2d 7029 2873 7a2c 737a 2c2d 7029 sz,-p)(sz,sz,-p)\n-00014500: 282d 737a 2c73 7a2c 2d70 290a 2020 2020 (-sz,sz,-p). \n-00014510: 7370 6563 6961 6c20 7c5c 7270 7574 5b62 special |\\rput[b\n-00014520: 5d23 312d 3223 337b 5c66 6f6f 746e 6f74 ]#1-2#3{\\footnot\n-00014530: 6573 697a 655c 7366 2070 726f 6a65 6374 esize\\sf project\n-00014540: 696f 6e20 706c 616e 657d 7c20 0a20 2020 ion plane}| . \n-00014550: 2020 2028 2d73 7a2c 2d73 7a2c 2d70 2928 (-sz,-sz,-p)(\n-00014560: 737a 2c2d 737a 2c2d 7029 2830 2c2d 737a sz,-sz,-p)(0,-sz\n-00014570: 2b2e 312c 2d70 290a 2020 7d0a 4164 6420 +.1,-p). }.Add \n-00014580: 7b70 726f 6a65 6374 696f 6e5f 706c 616e {projection_plan\n-00014590: 657d 2074 6f20 7468 6520 6c69 7374 206f e} to the list o\n-000145a0: 6620 6f62 6a65 6374 7320 696e 2074 6865 f objects in the\n-000145b0: 20e2 8098 7075 74e2 8099 2061 626f 7665 ...put... above\n-000145c0: 2e0a 0a00 085b 696d 6167 6520 7372 633d .....[image src=\n-000145d0: 2265 7831 3630 2e70 6e67 2220 7465 7874 \"ex160.png\" text\n-000145e0: 3d22 496d 6167 6520 6578 3136 3020 6f6d =\"Image ex160 om\n-000145f0: 6974 7465 6420 696e 2074 6578 7420 7665 itted in text ve\n-00014600: 7273 696f 6e20 6f66 2074 6869 7320 646f rsion of this do\n-00014610: 6375 6d65 6e74 2e22 0008 5d0a 0a20 2020 cument.\"..].. \n-00014620: 5468 6520 7761 7920 7765 2063 6f6e 7374 The way we const\n-00014630: 7275 6374 6564 2074 6865 2070 6f69 6e74 ructed the point\n-00014640: 7320 6f66 2074 6865 2068 6f75 7365 206e s of the house n\n-00014650: 6f77 206d 616b 6573 2069 7420 6561 7379 ow makes it easy\n-00014660: 2074 6f0a 6472 6177 2072 6179 7320 6f66 to.draw rays of\n-00014670: 2070 726f 6a65 6374 696f 6e2e 2020 5765 projection. We\n-00014680: 276c 6c20 6361 7374 206f 6e65 2072 6179 'll cast one ray\n-00014690: 2066 726f 6d20 6576 6572 7920 7669 7369 from every visi\n-000146a0: 626c 6520 7665 7274 6578 0a6f 6620 7468 ble vertex.of th\n-000146b0: 6520 686f 7573 6520 616e 6420 6465 6669 e house and defi\n-000146c0: 6e65 206f 7074 696f 6e73 2073 6f20 7468 ne options so th\n-000146d0: 6520 6170 7065 6172 616e 6365 206f 6620 e appearance of \n-000146e0: 616c 6c20 7261 7973 2063 616e 2062 650a all rays can be.\n-000146f0: 6368 616e 6765 6420 6174 2074 6865 2073 changed at the s\n-00014700: 616d 6520 7469 6d65 2e0a 2020 6465 6620 ame time.. def \n-00014710: 7072 6f6a 6563 7469 6f6e 5f72 6179 7320 projection_rays \n-00014720: 7b0a 2020 2020 6465 6620 7261 796f 7074 {. def rayopt\n-00014730: 205b 6c69 6e65 7769 6474 683d 2e33 7074 [linewidth=.3pt\n-00014740: 2c6c 696e 6563 6f6c 6f72 3d6c 6967 6874 ,linecolor=light\n-00014750: 6772 6179 5d0a 2020 2020 6c69 6e65 205b gray]. line [\n-00014760: 7261 796f 7074 5d28 4f29 2870 5231 2920 rayopt](O)(pR1) \n-00014770: 6c69 6e65 205b 7261 796f 7074 5d28 4f29 line [rayopt](O)\n-00014780: 2870 5232 2920 6c69 6e65 5b72 6179 6f70 (pR2) line[rayop\n-00014790: 745d 284f 2928 7052 3329 0a20 2020 206c t](O)(pR3). l\n-000147a0: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)(\n-000147b0: 7052 3429 206c 696e 6520 5b72 6179 6f70 pR4) line [rayop\n-000147c0: 745d 284f 2928 7052 3529 0a20 2020 206c t](O)(pR5). l\n-000147d0: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)(\n-000147e0: 704c 3129 206c 696e 6520 5b72 6179 6f70 pL1) line [rayop\n-000147f0: 745d 284f 2928 704c 3229 206c 696e 655b t](O)(pL2) line[\n-00014800: 7261 796f 7074 5d28 4f29 2870 4c35 290a rayopt](O)(pL5).\n-00014810: 2020 2020 6c69 6e65 205b 7261 796f 7074 line [rayopt\n-00014820: 5d28 4f29 2870 4431 2920 6c69 6e65 205b ](O)(pD1) line [\n-00014830: 7261 796f 7074 5d28 4f29 2870 4432 2920 rayopt](O)(pD2) \n-00014840: 0a20 2020 206c 696e 6520 5b72 6179 6f70 . line [rayop\n-00014850: 745d 284f 2928 7044 3329 206c 696e 6520 t](O)(pD3) line \n-00014860: 5b72 6179 6f70 745d 284f 2928 7044 3429 [rayopt](O)(pD4)\n-00014870: 200a 2020 7d0a 5468 6520 7265 7375 6c74 . }.The result\n-00014880: 2069 7320 7368 6f77 6e20 6865 7265 2e0a is shown here..\n-00014890: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n-000148a0: 7831 3730 2e70 6e67 2220 7465 7874 3d22 x170.png\" text=\"\n-000148b0: 496d 6167 6520 6578 3137 3020 6f6d 6974 Image ex170 omit\n-000148c0: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n-000148d0: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n-000148e0: 6d65 6e74 2e22 0008 5d0a 0a54 6865 2072 ment.\"..]..The r\n-000148f0: 6179 7320 7069 6572 6365 2074 6865 2070 ays pierce the p\n-00014900: 726f 6a65 6374 696f 6e20 706c 616e 6520 rojection plane \n-00014910: 6174 2074 6865 2063 6f72 7265 7370 6f6e at the correspon\n-00014920: 6469 6e67 2070 6f69 6e74 7320 6f6e 2074 ding points on t\n-00014930: 6865 0a70 6572 7370 6563 7469 7665 2069 he.perspective i\n-00014940: 6d61 6765 2077 6520 6172 6520 7472 7969 mage we are tryi\n-00014950: 6e67 2074 6f20 6472 6177 2e20 2041 6c62 ng to draw. Alb\n-00014960: 7265 6368 7420 44c3 bc72 6572 2061 6e64 recht D..rer and\n-00014970: 2068 6973 0a52 656e 6169 7373 616e 6365 his.Renaissance\n-00014980: 2063 6f6e 7465 6d70 6f72 6172 6965 7320 contemporaries \n-00014990: 6861 6420 7468 6520 7361 6d65 2069 6465 had the same ide\n-000149a0: 6120 696e 2074 6865 2065 6172 6c79 2031 a in the early 1\n-000149b0: 3530 3027 732e 0a0a 0008 5b69 6d61 6765 500's.....[image\n-000149c0: 2073 7263 3d22 6475 6572 6572 2e70 6e67 src=\"duerer.png\n-000149d0: 2220 7465 7874 3d22 496d 6167 6520 6f66 \" text=\"Image of\n-000149e0: 2044 7565 7265 7227 7320 7065 7273 7065 Duerer's perspe\n-000149f0: 6374 6976 6520 636f 6d70 7574 6572 206f ctive computer o\n-00014a00: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n-00014a10: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n-00014a20: 6f63 756d 656e 742e 2200 085d 0a0a 2020 ocument.\"..].. \n-00014a30: 2041 6c6c 2074 6861 7427 7320 6c65 6674 All that's left\n-00014a40: 2069 7320 746f 2066 696e 6420 6120 7761 is to find a wa\n-00014a50: 7920 746f 2063 6f6e 6e65 6374 2074 6865 y to connect the\n-00014a60: 2070 6f69 6e74 7320 6f66 2074 6865 2068 points of the h\n-00014a70: 6f75 7365 0a6f 6e20 7468 6520 7072 6f6a ouse.on the proj\n-00014a80: 6563 7469 6f6e 2070 6c61 6e65 2e20 2057 ection plane. W\n-00014a90: 6520 636f 756c 6420 7075 6c6c 206f 7574 e could pull out\n-00014aa0: 2061 2067 6f6f 6420 636f 6d70 7574 6572 a good computer\n-00014ab0: 2067 7261 7068 6963 730a 7465 7874 2c20 graphics.text, \n-00014ac0: 6669 6e64 2074 6865 206e 6563 6573 7361 find the necessa\n-00014ad0: 7279 206d 6174 7269 782c 2061 6e64 2065 ry matrix, and e\n-00014ae0: 6e74 6572 2069 7420 6f75 7273 656c 7665 nter it ourselve\n-00014af0: 7320 6173 2061 2074 7261 6e73 666f 726d s as a transform\n-00014b00: 0a6c 6974 6572 616c 2e20 202a 4e6f 7465 .literal. *Note\n-00014b10: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-00014b20: 616c 733a 3a2e 2020 5468 6174 2077 6f72 als::. That wor\n-00014b30: 6b20 6973 2061 6c72 6561 6479 2064 6f6e k is already don\n-00014b40: 652c 0a68 6f77 6576 6572 2e20 2057 6520 e,.however. We \n-00014b50: 6361 6e20 7573 6520 7468 6520 e280 9870 can use the ...p\n-00014b60: 726f 6a65 6374 2870 29e2 8099 2063 6f6e roject(p)... con\n-00014b70: 7374 7275 6374 6f72 2e0a 0a20 2020 5468 structor... Th\n-00014b80: 6572 6520 6172 6520 7374 696c 6c20 736f ere are still so\n-00014b90: 6d65 2064 6574 6169 6c73 2074 6861 7420 me details that \n-00014ba0: 7265 7175 6972 6520 6361 7265 2e20 2050 require care. P\n-00014bb0: 726f 6a65 6374 696f 6e20 7769 6c6c 0a66 rojection will.f\n-00014bc0: 6c61 7474 656e 2077 6861 7465 7665 7220 latten whatever \n-00014bd0: 6973 2074 7261 6e73 666f 726d 6564 206f is transformed o\n-00014be0: 6e74 6f20 7468 6520 706c 616e 6520 7a3d nto the plane z=\n-00014bf0: 2d70 2e20 2054 6865 7265 666f 7265 2061 -p. Therefore a\n-00014c00: 6e79 2070 6172 740a 6f66 2074 6865 2068 ny part.of the h\n-00014c10: 6f75 7365 2063 6f75 6c64 2064 6973 6170 ouse could disap\n-00014c20: 7065 6172 2062 6568 696e 6420 7468 6520 pear behind the \n-00014c30: 7072 6f6a 6563 7469 6f6e 2070 6c61 6e65 projection plane\n-00014c40: 2028 7468 6520 6869 6464 656e 0a73 7572 (the hidden.sur\n-00014c50: 6661 6365 2061 6c67 6f72 6974 686d 206f face algorithm o\n-00014c60: 7264 6572 7320 6f62 6a65 6374 7320 6174 rders objects at\n-00014c70: 2074 6865 2073 616d 6520 6465 7074 6820 the same depth \n-00014c80: 6172 6269 7472 6172 696c 7929 2e20 2054 arbitrarily). T\n-00014c90: 6865 0a64 6f6f 7220 6d61 7920 616c 736f he.door may also\n-00014ca0: 2064 6973 6170 7065 6172 2062 6568 696e disappear behin\n-00014cb0: 6420 7468 6520 6672 6f6e 7420 6f66 2074 d the front of t\n-00014cc0: 6865 2068 6f75 7365 2e20 2054 6f20 6d61 he house. To ma\n-00014cd0: 6b65 2073 7572 650a 6576 6572 7974 6869 ke sure.everythi\n-00014ce0: 6e67 2072 656d 6169 6e73 2076 6973 6962 ng remains visib\n-00014cf0: 6c65 2c20 7765 276c 6c20 706c 6163 6520 le, we'll place \n-00014d00: 7468 6520 686f 7573 6520 6120 7469 6e79 the house a tiny\n-00014d10: 2062 6974 2069 6e20 6672 6f6e 7420 6f66 bit in front of\n-00014d20: 0a74 6865 2070 726f 6a65 6374 696f 6e20 .the projection \n-00014d30: 706c 616e 6520 616e 6420 6120 7365 636f plane and a seco\n-00014d40: 6e64 2063 6f70 7920 6f66 2074 6865 2064 nd copy of the d\n-00014d50: 6f6f 7220 696e 2066 726f 6e74 206f 6620 oor in front of \n-00014d60: 7468 650a 686f 7573 652e 0a20 2064 6566 the.house.. def\n-00014d70: 2070 726f 6a65 6374 696f 6e20 7b0a 2020 projection {. \n-00014d80: 2020 2520 6520 6973 2061 2073 6d61 6c6c % e is a small\n-00014d90: 206e 756d 6265 7220 6465 6669 6e65 6420 number defined \n-00014da0: 6162 6f76 650a 2020 2020 7075 7420 7b20 above. put { \n-00014db0: 7072 6f6a 6563 7428 7029 2074 6865 6e20 project(p) then \n-00014dc0: 7472 616e 736c 6174 6528 5b30 2c30 2c31 translate([0,0,1\n-00014dd0: 2a65 5d29 207d 207b 686f 7573 657d 0a20 *e]) } {house}. \n-00014de0: 2020 2070 7574 207b 2070 726f 6a65 6374 put { project\n-00014df0: 2870 2920 7468 656e 2074 7261 6e73 6c61 (p) then transla\n-00014e00: 7465 285b 302c 302c 322a 655d 2920 7d20 te([0,0,2*e]) } \n-00014e10: 7b64 6f6f 727d 0a20 207d 0a0a 0008 5b69 {door}. }....[i\n-00014e20: 6d61 6765 2073 7263 3d22 6578 3138 302e mage src=\"ex180.\n-00014e30: 706e 6722 2074 6578 743d 2249 6d61 6765 png\" text=\"Image\n-00014e40: 2065 7831 3830 206f 6d69 7474 6564 2069 ex180 omitted i\n-00014e50: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o\n-00014e60: 6620 7468 6973 2064 6f63 756d 656e 742e f this document.\n-00014e70: 2200 085d 0a0a 2020 2049 6620 796f 7520 \"..].. If you \n-00014e80: 6861 7665 2073 7475 6469 6564 2061 6e64 have studied and\n-00014e90: 2075 6e64 6572 7374 616e 6420 616c 6c20 understand all \n-00014ea0: 7468 6973 2c20 796f 7520 6172 6520 7765 this, you are we\n-00014eb0: 6c6c 206f 6e20 7468 6520 7761 790a 746f ll on the way.to\n-00014ec0: 2073 7563 6365 7373 2077 6974 6820 e280 success with ..\n-00014ed0: 9873 6b65 7463 68e2 8099 2e20 204e 6f74 .sketch.... Not\n-00014ee0: 2073 686f 776e 2061 7265 2074 6865 2032 shown are the 2\n-00014ef0: 3020 6f72 2073 6f20 6974 6572 6174 696f 0 or so iteratio\n-00014f00: 6e73 2074 6861 740a 7765 7265 2072 6571 ns that.were req\n-00014f10: 7569 7265 6420 746f 2066 696e 6420 6120 uired to find a \n-00014f20: 7265 6173 6f6e 6162 6c65 2076 6965 7769 reasonable viewi\n-00014f30: 6e67 2061 6e67 6c65 2061 6e64 2068 6f75 ng angle and hou\n-00014f40: 7365 2070 6f73 6974 696f 6e2c 0a65 7463 se position,.etc\n-00014f50: 2e20 204e 6f6e 6574 6865 6c65 7373 2c20 . Nonetheless, \n-00014f60: 7468 6973 2064 7261 7769 6e67 2077 6173 this drawing was\n-00014f70: 2063 6f6d 706c 6574 6564 2069 6e20 6162 completed in ab\n-00014f80: 6f75 7420 616e 2068 6f75 722e 2020 5768 out an hour. Wh\n-00014f90: 696c 6520 610a 4755 4920 746f 6f6c 206d ile a.GUI tool m\n-00014fa0: 6179 2068 6176 6520 6265 656e 2061 206c ay have been a l\n-00014fb0: 6974 746c 6520 6661 7374 6572 2c20 6974 ittle faster, it\n-00014fc0: 2069 7320 756e 6c69 6b65 6c79 2074 6861 is unlikely tha\n-00014fd0: 7420 6120 6e65 770a 6472 6177 696e 672c t a new.drawing,\n-00014fe0: 2069 7473 656c 6620 6120 7065 7273 7065 itself a perspe\n-00014ff0: 6374 6976 6520 7072 6f6a 6563 7469 6f6e ctive projection\n-00015000: 206f 6620 7468 6520 7363 656e 652c 2063 of the scene, c\n-00015010: 6f75 6c64 2062 650a 6765 6e65 7261 7465 ould be.generate\n-00015020: 6420 7769 7468 2074 776f 206d 6f72 6520 d with two more \n-00015030: 6d69 6e75 7465 7327 2077 6f72 6b21 2020 minutes' work! \n-00015040: 4a75 7374 2063 6861 6e67 6520 7468 6520 Just change the \n-00015050: 7669 6577 2074 7261 6e73 666f 726d 0a74 view transform.t\n-00015060: 6f0a 2020 7075 7420 7b20 7669 6577 2828 o. put { view((\n-00015070: 6579 6529 2c20 286c 6f6f 6b5f 6174 2929 eye), (look_at))\n-00015080: 2074 6865 6e20 7065 7273 7065 6374 6976 then perspectiv\n-00015090: 6528 3929 207d 207b 202e 2e2e 0a61 6e64 e(9) } { ....and\n-000150a0: 2070 726f 6475 6365 2074 6869 732e 0a0a produce this...\n-000150b0: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n-000150c0: 3139 302e 706e 6722 2074 6578 743d 2249 190.png\" text=\"I\n-000150d0: 6d61 6765 2065 7831 3930 206f 6d69 7474 mage ex190 omitt\n-000150e0: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n-000150f0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n-00015100: 656e 742e 2200 085d 0a0a 1f0a 4669 6c65 ent.\"..]....File\n-00015110: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n-00015120: 4e6f 6465 3a20 4120 7465 6368 6e69 6361 Node: A technica\n-00015130: 6c20 6472 6177 696e 672c 2020 4e65 7874 l drawing, Next\n-00015140: 3a20 4120 6869 6572 6172 6368 6963 616c : A hierarchical\n-00015150: 206d 6f64 656c 2c20 2050 7265 763a 204f model, Prev: O\n-00015160: 7665 7276 6965 772c 2020 5570 3a20 4275 verview, Up: Bu\n-00015170: 696c 6469 6e67 2061 2064 7261 7769 6e67 ilding a drawing\n-00015180: 0a0a 342e 3220 4120 7465 6368 6e69 6361 ..4.2 A technica\n-00015190: 6c20 6472 6177 696e 670a 3d3d 3d3d 3d3d l drawing.======\n-000151a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-000151b0: 3d0a 0a4c 6574 2773 206c 6f6f 6b20 6174 =..Let's look at\n-000151c0: 2061 2064 7261 7769 6e67 2074 6861 7420 a drawing that \n-000151d0: 7265 7072 6573 656e 7473 2074 6865 206b represents the k\n-000151e0: 696e 6420 6f66 2070 726f 626c 656d 20e2 ind of problem .\n-000151f0: 8098 736b 6574 6368 e280 9920 7761 730a ..sketch... was.\n-00015200: 6d65 616e 7420 746f 2073 6f6c 7665 2d2d meant to solve--\n-00015210: 6120 7061 6972 206f 6620 7465 7874 626f a pair of textbo\n-00015220: 6f6b 2066 6967 7572 6573 2072 6567 6172 ok figures regar\n-00015230: 6469 6e67 2061 2070 6f6c 7967 6f6e 616c ding a polygonal\n-00015240: 0a61 7070 726f 7869 6d61 7469 6f6e 206f .approximation o\n-00015250: 6620 6120 7472 756e 6361 7465 6420 636f f a truncated co\n-00015260: 6e65 2e20 2048 6572 6520 6172 6520 7468 ne. Here are th\n-00015270: 6520 7069 6374 7572 6573 2077 6520 7769 e pictures we wi\n-00015280: 6c6c 0a70 726f 6475 6365 2e0a 0a00 085b ll.produce.....[\n-00015290: 696d 6167 6520 7372 633d 2265 7832 3530 image src=\"ex250\n-000152a0: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png\" text=\"Imag\n-000152b0: 6520 6578 3235 3020 6f6d 6974 7465 6420 e ex250 omitted \n-000152c0: 696e 2074 6578 7420 7665 7273 696f 6e20 in text version \n-000152d0: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document\n-000152e0: 2e22 0008 5d20 2020 2020 0008 5b69 6d61 .\"..] ..[ima\n-000152f0: 6765 2073 7263 3d22 6578 3236 302e 706e ge src=\"ex260.pn\n-00015300: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n-00015310: 7832 3630 206f 6d69 7474 6564 2069 6e20 x260 omitted in \n-00015320: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n-00015330: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n-00015340: 085d 0a0a 2020 2054 6865 2063 6f6e 6520 .].. The cone \n-00015350: 7368 6170 6520 6973 206a 7573 7420 6120 shape is just a \n-00015360: 7377 6570 7420 6c69 6e65 2077 6974 6820 swept line with \n-00015370: 6e6f 2063 6c6f 7375 7265 2074 6167 2061 no closure tag a\n-00015380: 6e64 2063 756c 6c69 6e67 0a74 7572 6e65 nd culling.turne\n-00015390: 6420 6f66 662e 2020 4265 6769 6e20 6279 d off. Begin by\n-000153a0: 2073 6574 7469 6e67 2075 7020 736f 6d65 setting up some\n-000153b0: 2075 7365 6675 6c20 636f 6e73 7461 6e74 useful constant\n-000153c0: 732e 0a20 2064 6566 204f 2028 302c 302c s.. def O (0,0,\n-000153d0: 3029 2064 6566 2049 205b 312c 302c 305d 0) def I [1,0,0]\n-000153e0: 2064 6566 204a 205b 302c 312c 305d 2064 def J [0,1,0] d\n-000153f0: 6566 204b 205b 302c 302c 315d 0a20 2064 ef K [0,0,1]. d\n-00015400: 6566 2070 3020 2831 2c32 2920 6465 6620 ef p0 (1,2) def \n-00015410: 7031 2028 312e 352c 3029 2064 6566 204e p1 (1.5,0) def N\n-00015420: 2038 0a20 2064 6566 2073 6567 5f72 6f74 8. def seg_rot\n-00015430: 2072 6f74 6174 6528 3336 3020 2f20 4e2c rotate(360 / N,\n-00015440: 205b 4a5d 290a 5468 6520 706f 696e 7473 [J]).The points\n-00015450: 20e2 8098 7030 e280 9920 616e 6420 e280 ...p0... and ..\n-00015460: 9870 31e2 8099 2061 7265 2074 6865 2065 .p1... are the e\n-00015470: 6e64 2070 6f69 6e74 7320 6f66 2074 6865 nd points of the\n-00015480: 206c 696e 6520 746f 2062 6520 7377 6570 line to be swep\n-00015490: 742e 0a54 6865 2064 6566 696e 6974 696f t..The definitio\n-000154a0: 6e20 e280 9873 6567 5f72 6f74 e280 9920 n ...seg_rot... \n-000154b0: 6973 2074 6865 2073 7765 6570 2074 7261 is the sweep tra\n-000154c0: 6e73 666f 726d 6174 696f 6e2e 2020 5769 nsformation. Wi\n-000154d0: 7468 2074 6865 7365 2c20 7468 650a 636f th these, the.co\n-000154e0: 6e65 2069 7473 656c 6620 6973 2073 696d ne itself is sim\n-000154f0: 706c 652e 0a20 2073 7765 6570 5b63 756c ple.. sweep[cul\n-00015500: 6c3d 6661 6c73 655d 207b 204e 2c20 5b5b l=false] { N, [[\n-00015510: 7365 675f 726f 745d 5d20 7d20 6c69 6e65 seg_rot]] } line\n-00015520: 2870 3029 2870 3129 0a0a 2020 2054 6865 (p0)(p1).. The\n-00015530: 2061 7865 7320 6172 6520 6e65 7874 2061 axes are next a\n-00015540: 6e64 2069 6e63 6c75 6465 2061 6e20 696e nd include an in\n-00015550: 7465 7265 7369 6e67 2074 7269 636b 2074 teresing trick t\n-00015560: 6861 7420 7368 6f77 7320 7468 650a 6869 hat shows the.hi\n-00015570: 6464 656e 2070 6172 7473 2061 7320 646f dden parts as do\n-00015580: 7474 6564 206c 696e 6573 2e20 2054 6865 tted lines. The\n-00015590: 2073 6563 7265 7420 6973 2064 7261 7720 secret is draw \n-000155a0: 7468 6520 6178 6573 2074 7769 6365 2d2d the axes twice--\n-000155b0: 736f 6c69 640a 6c69 6e65 7320 7769 7468 solid.lines with\n-000155c0: 2074 6865 206e 6f72 6d61 6c20 6869 6464 the normal hidd\n-000155d0: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor\n-000155e0: 6974 686d 2069 6e20 6566 6665 6374 2c20 ithm in effect, \n-000155f0: 616e 6420 7468 656e 0a64 6f74 7465 6420 and then.dotted \n-00015600: 7769 7468 2074 6865 206f 7074 696f 6e20 with the option \n-00015610: e280 986c 6179 3d6f 7665 72e2 8099 2073 ...lay=over... s\n-00015620: 6f20 7468 6174 206e 6f20 706f 6c79 676f o that no polygo\n-00015630: 6e73 2063 616e 2068 6964 6520 7468 656d ns can hide them\n-00015640: 2e0a 2020 6465 6620 6178 2028 6478 2c30 .. def ax (dx,0\n-00015650: 2c30 2920 2520 7469 7073 206f 6620 7468 ,0) % tips of th\n-00015660: 6520 6178 6573 0a20 2064 6566 2061 7920 e axes. def ay \n-00015670: 2830 2c64 792c 3029 0a20 2064 6566 2061 (0,dy,0). def a\n-00015680: 7a20 2830 2c30 2c64 7a29 0a20 206c 696e z (0,0,dz). lin\n-00015690: 655b 6172 726f 7773 3d3c 2d3e 2c6c 696e e[arrows=<->,lin\n-000156a0: 6577 6964 7468 3d2e 3470 745d 2861 7829 ewidth=.4pt](ax)\n-000156b0: 284f 2928 6179 290a 2020 6c69 6e65 5b61 (O)(ay). line[a\n-000156c0: 7272 6f77 733d 2d3e 2c6c 696e 6577 6964 rrows=->,linewid\n-000156d0: 7468 3d2e 3470 745d 284f 2928 617a 290a th=.4pt](O)(az).\n-000156e0: 2020 2520 7265 7065 6174 2064 6f74 7465 % repeat dotte\n-000156f0: 6420 6173 2061 6e20 6f76 6572 6c61 7920 d as an overlay \n-00015700: 746f 2068 696e 7420 6174 2074 6865 2068 to hint at the h\n-00015710: 6964 6465 6e20 6c69 6e65 730a 2020 6c69 idden lines. li\n-00015720: 6e65 5b6c 6179 3d6f 7665 722c 6c69 6e65 ne[lay=over,line\n-00015730: 7374 796c 653d 646f 7474 6564 2c6c 696e style=dotted,lin\n-00015740: 6577 6964 7468 3d2e 3470 745d 2861 7829 ewidth=.4pt](ax)\n-00015750: 284f 2928 6179 290a 2020 6c69 6e65 5b6c (O)(ay). line[l\n-00015760: 6179 3d6f 7665 722c 6c69 6e65 7374 796c ay=over,linestyl\n-00015770: 653d 646f 7474 6564 2c6c 696e 6577 6964 e=dotted,linewid\n-00015780: 7468 3d2e 3470 745d 284f 2928 617a 290a th=.4pt](O)(az).\n-00015790: 2020 7370 6563 6961 6c7c 5c66 6f6f 746e special|\\footn\n-000157a0: 6f74 6573 697a 650a 2020 2020 2020 2020 otesize. \n-000157b0: 2020 5c75 7075 745b 645d 2331 7b24 7824 \\uput[d]#1{$x$\n-000157c0: 7d5c 7570 7574 5b75 5d23 327b 2479 247d }\\uput[u]#2{$y$}\n-000157d0: 5c75 7075 745b 6c5d 2333 7b24 7a24 7d7c \\uput[l]#3{$z$}|\n-000157e0: 0a20 2020 2028 6178 2928 6179 2928 617a . (ax)(ay)(az\n-000157f0: 290a 5468 6520 6c61 6265 6c73 2061 7265 ).The labels are\n-00015800: 2061 7070 6c69 6564 2077 6974 6820 e280 applied with ..\n-00015810: 9850 5354 7269 636b 73e2 8099 2073 7065 .PSTricks... spe\n-00015820: 6369 616c 206f 626a 6563 7473 2061 7320 cial objects as \n-00015830: 7573 7561 6c2e 0a0a 2020 2046 6f72 2074 usual... For t\n-00015840: 6865 2068 6569 6768 7420 6469 6d65 6e73 he height dimens\n-00015850: 696f 6e20 6d61 726b 2c20 7468 6520 706f ion mark, the po\n-00015860: 7765 7220 6f66 2061 6666 696e 6520 6172 wer of affine ar\n-00015870: 6974 6865 7469 6320 6973 2076 6572 790a ithetic is very.\n-00015880: 6865 6c70 6675 6c2e 0a20 2064 6566 2068 helpful.. def h\n-00015890: 6469 6d5f 7265 6620 756e 6974 2828 7031 dim_ref unit((p1\n-000158a0: 2920 2d20 284f 2929 2074 6865 6e20 5b5b ) - (O)) then [[\n-000158b0: 7365 675f 726f 745d 5d5e 320a 2020 6465 seg_rot]]^2. de\n-000158c0: 6620 6330 2028 7030 2920 7468 656e 2073 f c0 (p0) then s\n-000158d0: 6361 6c65 285b 4a5d 290a 2020 6465 6620 cale([J]). def \n-000158e0: 6830 3020 2863 3029 202b 2031 2e31 202a h00 (c0) + 1.1 *\n-000158f0: 205b 6864 696d 5f72 6566 5d0a 2020 6465 [hdim_ref]. de\n-00015900: 6620 6830 3120 2863 3029 202b 2031 2e39 f h01 (c0) + 1.9\n-00015910: 202a 205b 6864 696d 5f72 6566 5d0a 2020 * [hdim_ref]. \n-00015920: 6465 6620 6830 3220 2863 3029 202b 2031 def h02 (c0) + 1\n-00015930: 2e38 202a 205b 6864 696d 5f72 6566 5d0a .8 * [hdim_ref].\n-00015940: 2020 6c69 6e65 2868 3030 2928 6830 3129 line(h00)(h01)\n-00015950: 0a20 2064 6566 2068 3130 2028 4f29 202b . def h10 (O) +\n-00015960: 2031 2e36 202a 205b 6864 696d 5f72 6566 1.6 * [hdim_ref\n-00015970: 5d0a 2020 6465 6620 6831 3120 284f 2920 ]. def h11 (O) \n-00015980: 2b20 312e 3920 2a20 5b68 6469 6d5f 7265 + 1.9 * [hdim_re\n-00015990: 665d 0a20 2064 6566 2068 3132 2028 4f29 f]. def h12 (O)\n-000159a0: 202b 2031 2e38 202a 205b 6864 696d 5f72 + 1.8 * [hdim_r\n-000159b0: 6566 5d0a 2020 6c69 6e65 2868 3130 2928 ef]. line(h10)(\n-000159c0: 6831 3129 0a20 206c 696e 655b 6172 726f h11). line[arro\n-000159d0: 7773 3d3c 2d3e 5d28 6830 3229 2868 3132 ws=<->](h02)(h12\n-000159e0: 290a 2020 6465 6620 686d 3220 2828 6830 ). def hm2 ((h0\n-000159f0: 3229 202d 2028 4f29 202b 2028 6831 3229 2) - (O) + (h12)\n-00015a00: 202d 2028 4f29 2920 2f20 3220 2b20 284f - (O)) / 2 + (O\n-00015a10: 290a 2020 7370 6563 6961 6c7c 5c66 6f6f ). special|\\foo\n-00015a20: 746e 6f74 6573 697a 655c 7270 7574 2a23 tnotesize\\rput*#\n-00015a30: 317b 2468 247d 7c28 686d 3229 0a20 2020 1{$h$}|(hm2). \n-00015a40: 5468 6520 6765 6e65 7261 6c20 6964 6561 The general idea\n-00015a50: 2065 6d70 6c6f 7965 6420 6865 7265 2069 employed here i\n-00015a60: 7320 746f 2063 6f6d 7075 7465 2061 2075 s to compute a u\n-00015a70: 6e69 7420 2272 6566 6572 656e 6365 0a76 nit \"reference.v\n-00015a80: 6563 746f 7222 2070 6172 616c 6c65 6c20 ector\" parallel \n-00015a90: 746f 2074 6865 2078 7a2d 706c 616e 6520 to the xz-plane \n-00015aa0: 696e 2074 6865 2064 6573 6972 6564 2064 in the desired d\n-00015ab0: 6972 6563 7469 6f6e 206f 6620 7468 650a irection of the.\n-00015ac0: 6469 6d65 6e73 696f 6e20 6672 6f6d 2074 dimension from t\n-00015ad0: 6865 206f 7269 6769 6e2e 2020 5468 6520 he origin. The \n-00015ae0: 7472 616e 7366 6f72 6d61 7469 6f6e 20e2 transformation .\n-00015af0: 8098 5b5b 7365 675f 726f 745d 5d5e 32e2 ..[[seg_rot]]^2.\n-00015b00: 8099 2072 6f74 6174 6573 0a74 776f 2073 .. rotates.two s\n-00015b10: 6567 6d65 6e74 7320 6162 6f75 7420 7468 egments about th\n-00015b20: 6520 792d 6178 6973 2e20 2057 6865 6e20 e y-axis. When \n-00015b30: 6170 706c 6965 6420 746f 20e2 8098 2870 applied to ...(p\n-00015b40: 3129 202d 2028 4f29 e280 992c 2074 6865 1) - (O)..., the\n-00015b50: 0a72 6573 756c 7469 6e67 2076 6563 746f .resulting vecto\n-00015b60: 7220 706f 696e 7473 2074 6f20 7468 6520 r points to the \n-00015b70: 7269 6768 7420 6173 2073 686f 776e 2e20 right as shown. \n-00015b80: 2049 6e20 7468 6973 206d 616e 6e65 722c In this manner,\n-00015b90: 2077 6520 6361 6e0a 7069 636b 2061 6e79 we can.pick any\n-00015ba0: 2076 6572 7465 7820 6173 2074 6865 206c vertex as the l\n-00015bb0: 6f63 6174 696f 6e20 6f66 2074 6865 2068 ocation of the h\n-00015bc0: 6569 6768 7420 6469 6d65 6e73 696f 6e20 eight dimension \n-00015bd0: 6c69 6e65 7320 6279 2076 6172 7969 6e67 lines by varying\n-00015be0: 0a74 6865 2065 7870 6f6e 656e 7420 6f66 .the exponent of\n-00015bf0: 20e2 8098 5b5b 7365 675f 726f 745d 5de2 ...[[seg_rot]].\n-00015c00: 8099 2e20 2054 6869 7320 6973 206f 6e6c ... This is onl\n-00015c10: 7920 6f6e 6520 6f66 206d 616e 7920 706f y one of many po\n-00015c20: 7373 6962 6c65 0a73 7472 6174 6567 6965 ssible.strategie\n-00015c30: 732e 0a0a 2020 2054 6865 2063 6f6d 7075 s... The compu\n-00015c40: 7461 7469 6f6e 206f 6620 e280 9868 6d32 tation of ...hm2\n-00015c50: e280 9920 6973 2061 2075 7365 6675 6c20 ... is a useful \n-00015c60: 6964 696f 6d20 666f 7220 6669 6e64 696e idiom for findin\n-00015c70: 6720 7468 6520 6365 6e74 726f 6964 0a6f g the centroid.o\n-00015c80: 6620 6120 7365 7420 6f66 2070 6f69 6e74 f a set of point\n-00015c90: 732e 0a0a 2020 2054 6865 2074 776f 2072 s... The two r\n-00015ca0: 6164 6975 7320 6d61 726b 7320 6172 6520 adius marks are \n-00015cb0: 646f 6e65 2073 696d 696c 6172 6c79 2c20 done similarly, \n-00015cc0: 736f 2077 6520 7072 6573 656e 7420 7468 so we present th\n-00015cd0: 6520 636f 6465 0a77 6974 686f 7574 2063 e code.without c\n-00015ce0: 6f6d 6d65 6e74 2e0a 2020 2520 7261 6469 omment.. % radi\n-00015cf0: 7573 206d 6561 7375 7265 6d65 6e74 206d us measurement m\n-00015d00: 6172 6b73 0a20 2064 6566 2067 6170 205b arks. def gap [\n-00015d10: 302c 2e32 2c30 5d20 2025 2075 7365 6420 0,.2,0] % used \n-00015d20: 746f 2063 7265 6174 6520 736d 616c 6c20 to create small \n-00015d30: 7665 7274 6963 616c 2067 6170 730a 0a20 vertical gaps.. \n-00015d40: 2025 2066 6972 7374 2072 310a 2020 6465 % first r1. de\n-00015d50: 6620 7570 3120 5b30 2c33 2e31 2c30 5d20 f up1 [0,3.1,0] \n-00015d60: 2520 7469 636b 2072 6973 6573 2061 626f % tick rises abo\n-00015d70: 7665 2064 696d 656e 7369 6f6e 2061 206c ve dimension a l\n-00015d80: 6974 746c 650a 2020 6465 6620 7231 2028 ittle. def r1 (\n-00015d90: 2870 3129 2074 6865 6e20 5b5b 7365 675f (p1) then [[seg_\n-00015da0: 726f 745d 5d5e 2d32 2920 2b20 5b75 7031 rot]]^-2) + [up1\n-00015db0: 5d0a 2020 6465 6620 7231 6320 2872 3129 ]. def r1c (r1)\n-00015dc0: 2074 6865 6e20 7363 616c 6528 5b4a 5d29 then scale([J])\n-00015dd0: 0a20 2064 6566 2072 3174 2028 7231 2920 . def r1t (r1) \n-00015de0: 2b20 5b67 6170 5d0a 2020 6465 6620 7231 + [gap]. def r1\n-00015df0: 6220 2828 7231 7429 2074 6865 6e20 7363 b ((r1t) then sc\n-00015e00: 616c 6528 5b31 2c30 2c31 5d29 2920 2b20 ale([1,0,1])) + \n-00015e10: 5b67 6170 5d0a 2020 6c69 6e65 5b61 7272 [gap]. line[arr\n-00015e20: 6f77 733d 3c2d 3e5d 2872 3163 2928 7231 ows=<->](r1c)(r1\n-00015e30: 2920 2025 2064 696d 656e 7369 6f6e 206c ) % dimension l\n-00015e40: 696e 650a 2020 6c69 6e65 2872 3162 2928 ine. line(r1b)(\n-00015e50: 7231 7429 2020 2020 2020 2020 2020 2020 r1t) \n-00015e60: 2025 2074 6963 6b0a 2020 6465 6620 7231 % tick. def r1\n-00015e70: 6d20 2828 7231 2920 2d20 284f 2920 2b20 m ((r1) - (O) + \n-00015e80: 2872 3163 2920 2d20 284f 2929 202f 2032 (r1c) - (O)) / 2\n-00015e90: 202b 2028 4f29 2025 206c 6162 656c 2070 + (O) % label p\n-00015ea0: 6f73 6974 696f 6e0a 2020 7370 6563 6961 osition. specia\n-00015eb0: 6c20 7c5c 666f 6f74 6e6f 7465 7369 7a65 l |\\footnotesize\n-00015ec0: 5c72 7075 742a 2331 7b24 725f 3124 7d7c \\rput*#1{$r_1$}|\n-00015ed0: 2872 316d 2920 2025 206c 6162 656c 0a0a (r1m) % label..\n-00015ee0: 2020 2520 7361 6d65 2064 7269 6c6c 2066 % same drill f\n-00015ef0: 6f72 2072 302c 2062 7574 206d 7573 7420 or r0, but must \n-00015f00: 7072 6f6a 6563 7420 646f 776e 2066 6972 project down fir\n-00015f10: 7374 0a20 2064 6566 2075 7030 205b 302c st. def up0 [0,\n-00015f20: 322e 372c 305d 0a20 2064 6566 2072 3020 2.7,0]. def r0 \n-00015f30: 2828 7030 2920 7468 656e 2073 6361 6c65 ((p0) then scale\n-00015f40: 285b 312c 302c 315d 2920 7468 656e 205b ([1,0,1]) then [\n-00015f50: 5b73 6567 5f72 6f74 5d5d 5e2d 3229 202b [seg_rot]]^-2) +\n-00015f60: 205b 7570 305d 0a20 2064 6566 2072 3063 [up0]. def r0c\n-00015f70: 2028 7230 2920 7468 656e 2073 6361 6c65 (r0) then scale\n-00015f80: 285b 4a5d 290a 2020 6465 6620 7230 7420 ([J]). def r0t \n-00015f90: 2872 3029 202b 205b 6761 705d 0a20 2064 (r0) + [gap]. d\n-00015fa0: 6566 2072 3062 2028 2870 3029 2074 6865 ef r0b ((p0) the\n-00015fb0: 6e20 5b5b 7365 675f 726f 745d 5d5e 2d32 n [[seg_rot]]^-2\n-00015fc0: 2920 2b20 5b67 6170 5d0a 2020 6c69 6e65 ) + [gap]. line\n-00015fd0: 5b61 7272 6f77 733d 3c2d 3e5d 2872 3063 [arrows=<->](r0c\n-00015fe0: 2928 7230 290a 2020 6c69 6e65 2872 3062 )(r0). line(r0b\n-00015ff0: 2928 7230 7429 0a20 2064 6566 2072 306d )(r0t). def r0m\n-00016000: 2028 2872 3029 202d 2028 4f29 202b 2028 ((r0) - (O) + (\n-00016010: 7230 6329 202d 2028 4f29 2920 2f20 3220 r0c) - (O)) / 2 \n-00016020: 2b20 284f 290a 2020 7370 6563 6961 6c20 + (O). special \n-00016030: 7c5c 666f 6f74 6e6f 7465 7369 7a65 5c72 |\\footnotesize\\r\n-00016040: 7075 742a 2331 7b24 725f 3024 7d7c 2872 put*#1{$r_0$}|(r\n-00016050: 306d 290a 0a20 2020 5468 6520 7365 636f 0m).. The seco\n-00016060: 6e64 2064 7261 7769 6e67 2075 7365 7320 nd drawing uses \n-00016070: 7468 6520 7361 6d65 2074 6563 686e 6971 the same techniq\n-00016080: 7565 732e 2020 4f6e 6c79 2074 6865 206d ues. Only the m\n-00016090: 6574 686f 6420 666f 720a 6472 6177 696e ethod for.drawin\n-000160a0: 6720 7468 6520 656c 6c69 7074 6963 616c g the elliptical\n-000160b0: 2061 7263 2069 7320 6e65 772e 2020 4865 arc is new. He\n-000160c0: 7265 2069 7320 7468 6520 636f 6465 2e0a re is the code..\n-000160d0: 2020 6465 6620 6d69 6420 2828 7030 3029 def mid ((p00)\n-000160e0: 2d28 4f29 2b28 7031 3029 2d28 4f29 2b28 -(O)+(p10)-(O)+(\n-000160f0: 7031 3129 2d28 4f29 2b28 7030 3129 2d28 p11)-(O)+(p01)-(\n-00016100: 4f29 292f 342b 284f 290a 2020 7370 6563 O))/4+(O). spec\n-00016110: 6961 6c7c 5c72 7075 7423 317b 5c70 7363 ial|\\rput#1{\\psc\n-00016120: 7573 746f 6d7b 0a20 2020 205c 7363 616c ustom{. \\scal\n-00016130: 657b 3120 312e 337d 0a20 2020 205c 7073 e{1 1.3}. \\ps\n-00016140: 6172 635b 6172 726f 776c 656e 6774 683d arc[arrowlength=\n-00016150: 2e35 5d7b 2d3e 7d7b 2e32 357d 7b2d 3630 .5]{->}{.25}{-60\n-00016160: 7d7b 3234 307d 7d7d 7c0a 2020 2020 5b6c }{240}}}|. [l\n-00016170: 6179 3d6f 7665 725d 286d 6964 290a 5765 ay=over](mid).We\n-00016180: 2063 6f75 6c64 2068 6176 6520 7377 6570 could have swep\n-00016190: 7420 6120 706f 696e 7420 746f 206d 616b t a point to mak\n-000161a0: 6520 7468 6520 6172 6320 7769 7468 20e2 e the arc with .\n-000161b0: 8098 736b 6574 6368 e280 992c 2062 7574 ..sketch..., but\n-000161c0: 2075 7369 6e67 2061 0ae2 8098 5053 5472 using a....PSTr\n-000161d0: 6963 6b73 e280 9920 6375 7374 6f6d 2067 icks... custom g\n-000161e0: 7261 7068 6963 2077 6173 2073 696d 706c raphic was simpl\n-000161f0: 6572 2e20 2041 6761 696e 2077 6520 636f er. Again we co\n-00016200: 6d70 7574 6564 2074 6865 2063 656e 7472 mputed the centr\n-00016210: 6f69 640a 6f66 2074 6865 2071 7561 6472 oid.of the quadr\n-00016220: 696c 6174 6572 616c 2062 7920 6176 6572 ilateral by aver\n-00016230: 6167 696e 6720 706f 696e 7473 2e20 204e aging points. N\n-00016240: 6f74 6520 7468 6174 2073 6361 6c69 6e67 ote that scaling\n-00016250: 2069 6e0a 506f 7374 7363 7269 7074 2064 in.Postscript d\n-00016260: 6973 746f 7274 7320 7468 6520 6172 726f istorts the arro\n-00016270: 7768 6561 642c 2062 7574 2069 6e20 7468 whead, but in th\n-00016280: 6973 2063 6173 6520 7468 6520 6469 7374 is case the dist\n-00016290: 6f72 7469 6f6e 0a61 6374 7561 6c6c 7920 ortion.actually \n-000162a0: 6c6f 6f6b 7320 6265 7474 6572 2069 6e20 looks better in \n-000162b0: 7468 6520 7072 6f6a 6563 7469 6f6e 206f the projection o\n-000162c0: 6620 7468 6520 736c 616e 7465 6420 6661 f the slanted fa\n-000162d0: 6365 2e20 2041 20e2 8098 736b 6574 6368 ce. A ...sketch\n-000162e0: e280 990a 6172 726f 7768 6561 6420 776f ....arrowhead wo\n-000162f0: 756c 6420 6e6f 7420 6861 7665 2062 6565 uld not have bee\n-00016300: 6e20 6469 7374 6f72 7465 642e 0a0a 2020 n distorted... \n-00016310: 2054 6865 2063 6f6d 706c 6574 6520 636f The complete co\n-00016320: 6465 2066 6f72 2074 6869 7320 6578 616d de for this exam\n-00016330: 706c 652c 2077 6869 6368 2064 7261 7773 ple, which draws\n-00016340: 2065 6974 6865 7220 6669 6775 7265 0a64 either figure.d\n-00016350: 6570 656e 6469 6e67 206f 6e20 7468 6520 epending on the \n-00016360: 6465 6669 6e69 7469 6f6e 206f 6620 7468 definition of th\n-00016370: 6520 7461 6720 e280 983c 6c61 6265 6c65 e tag ......, is includ\n-00016390: 6564 2069 6e20 7468 650a e280 9873 6b65 ed in the....ske\n-000163a0: 7463 68e2 8099 2064 6973 7472 6962 7574 tch... distribut\n-000163b0: 696f 6e20 696e 2074 6865 2066 696c 6520 ion in the file \n-000163c0: e280 9874 7275 6e63 6174 6564 636f 6e65 ...truncatedcone\n-000163d0: 2e73 6be2 8099 2e0a 0a1f 0a46 696c 653a .sk........File:\n-000163e0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-000163f0: 6f64 653a 2041 2068 6965 7261 7263 6869 ode: A hierarchi\n-00016400: 6361 6c20 6d6f 6465 6c2c 2020 4e65 7874 cal model, Next\n-00016410: 3a20 4361 7665 6174 732c 2020 5072 6576 : Caveats, Prev\n-00016420: 3a20 4120 7465 6368 6e69 6361 6c20 6472 : A technical dr\n-00016430: 6177 696e 672c 2020 5570 3a20 4275 696c awing, Up: Buil\n-00016440: 6469 6e67 2061 2064 7261 7769 6e67 0a0a ding a drawing..\n-00016450: 342e 3320 4120 6869 6572 6172 6368 6963 4.3 A hierarchic\n-00016460: 616c 206d 6f64 656c 0a3d 3d3d 3d3d 3d3d al model.=======\n-00016470: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-00016480: 3d0a 0a57 6869 6c65 20e2 8098 736b 6574 =..While ...sket\n-00016490: 6368 e280 9920 7761 7320 6e65 7665 7220 ch... was never \n-000164a0: 6d65 616e 7420 746f 2062 6520 6120 6765 meant to be a ge\n-000164b0: 6f6d 6574 7269 6320 6d6f 6465 6c69 6e67 ometric modeling\n-000164c0: 206c 616e 6775 6167 652c 2069 740a 636f language, it.co\n-000164d0: 6d65 7320 6661 6972 6c79 2063 6c6f 7365 mes fairly close\n-000164e0: 2e20 2054 6865 2066 6f6c 6c6f 7769 6e67 . The following\n-000164f0: 2065 7861 6d70 6c65 2070 7574 7320 616c example puts al\n-00016500: 6c20 7765 2068 6176 6520 7365 656e 2074 l we have seen t\n-00016510: 6f20 776f 726b 0a69 6e20 6120 7665 7279 o work.in a very\n-00016520: 2073 696d 706c 6520 6d6f 6465 6c20 6f66 simple model of\n-00016530: 2074 6865 2068 756d 616e 2068 616e 642e the human hand.\n-00016540: 2020 5374 6172 7420 6279 2073 7765 6570 Start by sweep\n-00016550: 696e 6720 6120 6c69 6e65 2074 6f0a 6d61 ing a line to.ma\n-00016560: 6b65 2061 2074 7275 6e63 6174 6564 2063 ke a truncated c\n-00016570: 6f6e 652c 2077 6869 6368 2077 696c 6c20 one, which will \n-00016580: 6265 2063 6f70 6965 6420 6f76 6572 2061 be copied over a\n-00016590: 6e64 206f 7665 7220 6167 6169 6e20 746f nd over again to\n-000165a0: 206d 616b 650a 7468 6520 7365 676d 656e make.the segmen\n-000165b0: 7473 206f 6620 6669 6e67 6572 732e 0a20 ts of fingers.. \n-000165c0: 2064 6566 204f 2028 302c 302c 3029 2025 def O (0,0,0) %\n-000165d0: 206f 7269 6769 6e0a 2020 6465 6620 4920 origin. def I \n-000165e0: 5b31 2c30 2c30 5d20 6465 6620 4a20 5b30 [1,0,0] def J [0\n-000165f0: 2c31 2c30 5d20 6465 6620 4b20 5b30 2c30 ,1,0] def K [0,0\n-00016600: 2c31 5d20 2520 6361 6e6f 6e69 6361 6c20 ,1] % canonical \n-00016610: 756e 6974 2076 6563 746f 7273 0a20 2064 unit vectors. d\n-00016620: 6566 2073 6567 6d65 6e74 207b 0a20 2020 ef segment {. \n-00016630: 2064 6566 206e 5f66 6163 6573 2038 0a20 def n_faces 8. \n-00016640: 2020 2073 7765 6570 207b 206e 5f66 6163 sweep { n_fac\n-00016650: 6573 3c3e 2c20 726f 7461 7465 2833 3630 es<>, rotate(360\n-00016660: 202f 206e 5f66 6163 6573 2c20 5b4a 5d29 / n_faces, [J])\n-00016670: 207d 200a 2020 2020 2020 6c69 6e65 2870 } . line(p\n-00016680: 726f 7869 6d61 6c5f 7261 642c 2030 2928 roximal_rad, 0)(\n-00016690: 6469 7374 616c 5f72 6164 2c20 6469 7374 distal_rad, dist\n-000166a0: 616c 5f6c 656e 290a 2020 7d0a 496e 2068 al_len). }.In h\n-000166b0: 616e 6420 616e 6174 6f6d 792c 205f 6469 and anatomy, _di\n-000166c0: 7374 616c 5f20 6973 2022 6174 2074 6865 stal_ is \"at the\n-000166d0: 2074 6970 2220 616e 6420 5f70 726f 7869 tip\" and _proxi\n-000166e0: 6d61 6c5f 2069 7320 2269 6e20 7468 6520 mal_ is \"in the \n-000166f0: 6172 6561 0a6f 6620 7468 6520 7061 6c6d area.of the palm\n-00016700: 2e22 2020 5765 2068 6176 6520 6f6d 6974 .\" We have omit\n-00016710: 7465 6420 616c 6c20 7468 6520 7363 616c ted all the scal\n-00016720: 6172 2063 6f6e 7374 616e 7473 2e20 2059 ar constants. Y\n-00016730: 6f75 2063 616e 2066 696e 640a 7468 656d ou can find.them\n-00016740: 2069 6e20 e280 9868 616e 642e 736b e280 in ...hand.sk..\n-00016750: 992c 2077 6869 6368 2069 7320 7072 6f76 ., which is prov\n-00016760: 6964 6564 2069 6e20 7468 6520 e280 9873 ided in the ...s\n-00016770: 6b65 7463 68e2 8099 2064 6973 7472 6962 ketch... distrib\n-00016780: 7574 696f 6e2e 0a0a 2020 2057 6520 616c ution... We al\n-00016790: 736f 206e 6565 6420 6120 7072 6f74 6f74 so need a protot\n-000167a0: 7970 6963 616c 2073 7068 6572 6520 746f ypical sphere to\n-000167b0: 2075 7365 2066 6f72 2074 6865 206a 6f69 use for the joi\n-000167c0: 6e74 7320 7468 656d 7365 6c76 6573 2e0a nts themselves..\n-000167d0: 2020 6465 6620 6a6f 696e 745f 7370 6865 def joint_sphe\n-000167e0: 7265 207b 0a20 2020 2064 6566 206e 5f6a re {. def n_j\n-000167f0: 6f69 6e74 5f66 6163 6573 2038 0a20 2020 oint_faces 8. \n-00016800: 2073 7765 6570 205b 6669 6c6c 636f 6c6f sweep [fillcolo\n-00016810: 723d 7265 645d 207b 206e 5f6a 6f69 6e74 r=red] { n_joint\n-00016820: 5f66 6163 6573 2c20 726f 7461 7465 2833 _faces, rotate(3\n-00016830: 3630 202f 206e 5f6a 6f69 6e74 5f66 6163 60 / n_joint_fac\n-00016840: 6573 2c20 5b4a 5d29 207d 0a20 2020 2020 es, [J]) }. \n-00016850: 2073 7765 6570 207b 206e 5f6a 6f69 6e74 sweep { n_joint\n-00016860: 5f66 6163 6573 2c20 726f 7461 7465 2831 _faces, rotate(1\n-00016870: 3830 202f 206e 5f6a 6f69 6e74 5f66 6163 80 / n_joint_fac\n-00016880: 6573 2920 7d20 0a20 2020 2020 2020 2028 es) } . (\n-00016890: 302c 202d 6a6f 696e 745f 7261 6429 0a20 0, -joint_rad). \n-000168a0: 207d 0a0a 2020 2057 6527 6c6c 206e 6f77 }.. We'll now\n-000168b0: 2064 6573 6967 6e20 7468 6520 696e 6465 design the inde\n-000168c0: 7820 6669 6e67 6572 2028 6e75 6d62 6572 x finger (number\n-000168d0: 2031 2069 6e20 6f75 7220 6e6f 7461 7469 1 in our notati\n-000168e0: 6f6e 616c 0a63 6f6e 7665 6e74 696f 6e3b onal.convention;\n-000168f0: 2066 696e 6765 7220 3020 6973 2074 6865 finger 0 is the\n-00016900: 2074 6875 6d62 292e 2020 5468 6520 6469 thumb). The di\n-00016910: 7374 616c 2072 6f74 6174 696f 6e20 666f stal rotation fo\n-00016920: 7220 7468 6520 6669 6e67 6572 0a61 7070 r the finger.app\n-00016930: 6c69 6573 206f 6e6c 7920 746f 2074 6865 lies only to the\n-00016940: 2074 6970 2c20 736f 2077 6520 6465 6669 tip, so we defi\n-00016950: 6e65 2074 6865 2066 6f6c 6c6f 7769 6e67 ne the following\n-00016960: 2e0a 2020 6465 6620 6469 7374 616c 5f31 .. def distal_1\n-00016970: 207b 0a20 2020 2070 7574 207b 2074 7261 {. put { tra\n-00016980: 6e73 6c61 7465 286a 6f69 6e74 5f67 6170 nslate(joint_gap\n-00016990: 202a 206a 6f69 6e74 5f72 6164 202a 205b * joint_rad * [\n-000169a0: 4a5d 2920 0a20 2020 2020 2020 2020 2074 J]) . t\n-000169b0: 6865 6e20 726f 7461 7465 2864 6973 7461 hen rotate(dista\n-000169c0: 6c5f 315f 726f 742c 205b 495d 2920 0a20 l_1_rot, [I]) . \n-000169d0: 2020 2020 2020 2020 2074 6865 6e20 7472 then tr\n-000169e0: 616e 736c 6174 6528 2864 6973 7461 6c5f anslate((distal_\n-000169f0: 6c65 6e20 2b20 6a6f 696e 745f 6761 7020 len + joint_gap \n-00016a00: 2a20 6a6f 696e 745f 7261 6429 202a 205b * joint_rad) * [\n-00016a10: 4a5d 2920 7d0a 2020 2020 2020 7b73 6567 J]) }. {seg\n-00016a20: 6d65 6e74 7d0a 2020 2020 7075 7420 7b20 ment}. put { \n-00016a30: 726f 7461 7465 2864 6973 7461 6c5f 315f rotate(distal_1_\n-00016a40: 726f 7420 2f20 322c 205b 495d 290a 2020 rot / 2, [I]). \n-00016a50: 2020 2020 2020 2020 7468 656e 2074 7261 then tra\n-00016a60: 6e73 6c61 7465 2828 6469 7374 616c 5f6c nslate((distal_l\n-00016a70: 656e 202b 206a 6f69 6e74 5f67 6170 202a en + joint_gap *\n-00016a80: 206a 6f69 6e74 5f72 6164 2920 2a20 5b4a joint_rad) * [J\n-00016a90: 5d29 207d 200a 2020 2020 2020 7b6a 6f69 ]) } . {joi\n-00016aa0: 6e74 5f73 7068 6572 657d 0a20 2020 2070 nt_sphere}. p\n-00016ab0: 7574 207b 2073 6361 6c65 2820 5b4a 5d20 ut { scale( [J] \n-00016ac0: 2b20 7072 6f78 696d 616c 5f64 6973 7461 + proximal_dista\n-00016ad0: 6c5f 7261 7469 6f20 2a20 285b 495d 2b5b l_ratio * ([I]+[\n-00016ae0: 4b5d 2920 2920 7d0a 2020 2020 2020 7b73 K]) ) }. {s\n-00016af0: 6567 6d65 6e74 7d0a 2020 7d20 200a 5468 egment}. } .Th\n-00016b00: 6520 6964 656e 7469 6669 6572 7320 6865 e identifiers he\n-00016b10: 7265 2061 7265 2066 6f72 2073 697a 6520 re are for size \n-00016b20: 616e 6420 6c6f 6361 7469 6f6e 2063 6f6e and location con\n-00016b30: 7374 616e 7473 2e20 2054 6865 2065 7863 stants. The exc\n-00016b40: 6570 7469 6f6e 0a69 7320 e280 9864 6973 eption.is ...dis\n-00016b50: 7461 6c5f 726f 745f 31e2 8099 2e20 2054 tal_rot_1.... T\n-00016b60: 6869 7320 726f 7461 7469 6f6e 2070 6172 his rotation par\n-00016b70: 616d 6574 6572 206d 6f64 656c 7320 7468 ameter models th\n-00016b80: 6520 666c 6578 696e 6720 6f66 2074 6865 e flexing of the\n-00016b90: 0a66 696e 6765 7220 7469 702e 2020 5468 .finger tip. Th\n-00016ba0: 6520 6669 7273 7420 e280 9870 7574 e280 e first ...put..\n-00016bb0: 9920 6d61 6b65 7320 6120 636f 7079 206f . makes a copy o\n-00016bc0: 6620 7468 6520 6669 6e67 6572 2073 6567 f the finger seg\n-00016bd0: 6d65 6e74 2074 6861 7420 6973 0a74 7261 ment that is.tra\n-00016be0: 6e73 6c61 7465 6420 7570 7761 7264 206a nslated upward j\n-00016bf0: 7573 7420 6661 7220 656e 6f75 6768 2074 ust far enough t\n-00016c00: 6f20 6d61 6b65 2072 6f6f 6d20 666f 7220 o make room for \n-00016c10: 7468 6520 7370 6865 7269 6361 6c20 6a6f the spherical jo\n-00016c20: 696e 742e 0a54 6865 6e20 6974 2061 7070 int..Then it app\n-00016c30: 6c69 6573 2074 6865 2064 6973 7461 6c20 lies the distal \n-00016c40: 726f 7461 7469 6f6e 2e20 2046 696e 616c rotation. Final\n-00016c50: 6c79 2069 7420 7472 616e 736c 6174 6573 ly it translates\n-00016c60: 2074 6865 2077 686f 6c65 0a61 7373 656d the whole.assem\n-00016c70: 626c 7920 7570 7761 7264 2061 6761 696e bly upward again\n-00016c80: 2074 6f20 6d61 6b65 2072 6f6f 6d20 666f to make room fo\n-00016c90: 7220 7468 6520 6d69 6464 6c65 2070 686c r the middle phl\n-00016ca0: 616e 6765 7320 2874 6865 206e 6578 740a anges (the next.\n-00016cb0: 626f 6e65 2074 6f77 6172 6420 7468 6520 bone toward the \n-00016cc0: 7061 6c6d 292e 2020 5468 6520 7365 636f palm). The seco\n-00016cd0: 6e64 20e2 8098 7075 74e2 8099 2070 6f73 nd ...put... pos\n-00016ce0: 6974 696f 6e73 2074 6865 2073 7068 6572 itions the spher\n-00016cf0: 652e 2020 5468 6572 6520 6973 0a61 2072 e. There is.a r\n-00016d00: 6f74 6174 696f 6e20 746f 2070 6c61 6365 otation to place\n-00016d10: 2074 6865 2067 7269 6420 6f6e 2074 6865 the grid on the\n-00016d20: 2073 7068 6572 6520 7375 7266 6163 6520 sphere surface \n-00016d30: 6174 2061 6e20 6e69 6365 2061 6e67 6c65 at an nice angle\n-00016d40: 2c0a 7468 656e 2061 2074 7261 6e73 6c61 ,.then a transla\n-00016d50: 7469 6f6e 2074 6f20 7468 6520 6261 7365 tion to the base\n-00016d60: 206f 6620 7468 6520 6469 7374 616c 2070 of the distal p\n-00016d70: 686c 616e 6765 732c 2077 6869 6368 2069 hlanges, which i\n-00016d80: 7320 616c 736f 0a63 656e 7465 7220 6f66 s also.center of\n-00016d90: 2069 7473 2072 6f74 6174 696f 6e2e 2020 its rotation. \n-00016da0: 4669 6e61 6c6c 792c 2074 6865 206c 6173 Finally, the las\n-00016db0: 7420 e280 9870 7574 e280 9920 706f 7369 t ...put... posi\n-00016dc0: 7469 6f6e 7320 7468 6520 6d69 6464 6c65 tions the middle\n-00016dd0: 0a73 6567 6d65 6e74 2069 7473 656c 662e .segment itself.\n-00016de0: 0a0a 2020 2054 6865 206d 6964 646c 6520 .. The middle \n-00016df0: 6a6f 696e 7420 6973 2074 6865 206e 6578 joint is the nex\n-00016e00: 7420 6f6e 6520 646f 776e 2c20 7769 7468 t one down, with\n-00016e10: 2072 6f74 6174 696f 6e20 616e 676c 650a rotation angle.\n-00016e20: e280 986d 6964 646c 655f 726f 745f 31e2 ...middle_rot_1.\n-00016e30: 8099 2e20 2057 6865 6e20 7468 6973 2061 ... When this a\n-00016e40: 6e67 6c65 2063 6861 6e67 6573 2c20 7765 ngle changes, we\n-00016e50: 206e 6565 6420 616c 6c20 7468 6520 6f62 need all the ob\n-00016e60: 6a65 6374 7320 696e 0ae2 8098 6469 7374 jects in....dist\n-00016e70: 616c 5f31 e280 9920 746f 2072 6f74 6174 al_1... to rotat\n-00016e80: 6520 6173 2061 2075 6e69 742e 2020 5468 e as a unit. Th\n-00016e90: 6973 2069 7320 7468 6520 7265 6173 6f6e is is the reason\n-00016ea0: 696e 6720 6265 6869 6e64 2074 6865 206e ing behind the n\n-00016eb0: 6578 740a 6465 6669 6e69 7469 6f6e 2e0a ext.definition..\n-00016ec0: 2020 6465 6620 6669 6e67 6572 5f31 207b def finger_1 {\n-00016ed0: 0a20 2020 2070 7574 207b 2074 7261 6e73 . put { trans\n-00016ee0: 6c61 7465 286a 6f69 6e74 5f67 6170 202a late(joint_gap *\n-00016ef0: 206a 6f69 6e74 5f72 6164 202a 205b 4a5d joint_rad * [J]\n-00016f00: 290a 2020 2020 2020 2020 2020 7468 656e ). then\n-00016f10: 2072 6f74 6174 6528 6d69 6464 6c65 5f31 rotate(middle_1\n-00016f20: 5f72 6f74 2c20 5b49 5d29 0a20 2020 2020 _rot, [I]). \n-00016f30: 2020 2020 2074 6865 6e20 7472 616e 736c then transl\n-00016f40: 6174 6528 286d 6964 646c 655f 7261 7469 ate((middle_rati\n-00016f50: 6f20 2a20 6469 7374 616c 5f6c 656e 202b o * distal_len +\n-00016f60: 200a 2020 2020 2020 2020 2020 2020 2020 . \n-00016f70: 2020 2020 2020 2020 2020 2020 6a6f 696e join\n-00016f80: 745f 6761 7020 2a20 6a6f 696e 745f 7261 t_gap * joint_ra\n-00016f90: 6429 202a 205b 4a5d 2920 7d0a 2020 2020 d) * [J]) }. \n-00016fa0: 2020 7b64 6973 7461 6c5f 317d 0a20 2020 {distal_1}. \n-00016fb0: 2070 7574 207b 2073 6361 6c65 2870 726f put { scale(pro\n-00016fc0: 7869 6d61 6c5f 6469 7374 616c 5f72 6174 ximal_distal_rat\n-00016fd0: 696f 290a 2020 2020 2020 2020 2020 7468 io). th\n-00016fe0: 656e 2072 6f74 6174 6528 6d69 6464 6c65 en rotate(middle\n-00016ff0: 5f31 5f72 6f74 202f 2032 2c20 5b49 5d29 _1_rot / 2, [I])\n-00017000: 0a20 2020 2020 2020 2020 2074 6865 6e20 . then \n-00017010: 7472 616e 736c 6174 6528 286d 6964 646c translate((middl\n-00017020: 655f 7261 7469 6f20 2a20 6469 7374 616c e_ratio * distal\n-00017030: 5f6c 656e 202b 200a 2020 2020 2020 2020 _len + . \n-00017040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00017050: 2020 6a6f 696e 745f 6761 7020 2a20 6a6f joint_gap * jo\n-00017060: 696e 745f 7261 6429 202a 205b 4a5d 2920 int_rad) * [J]) \n-00017070: 7d20 0a20 2020 2020 207b 6a6f 696e 745f } . {joint_\n-00017080: 7370 6865 7265 7d0a 2020 2020 7075 7420 sphere}. put \n-00017090: 7b20 7363 616c 6528 206d 6964 646c 655f { scale( middle_\n-000170a0: 7261 7469 6f20 2a20 5b4a 5d20 2b20 0a20 ratio * [J] + . \n-000170b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000170c0: 7072 6f78 696d 616c 5f64 6973 7461 6c5f proximal_distal_\n-000170d0: 7261 7469 6f5e 3220 2a20 285b 495d 2b5b ratio^2 * ([I]+[\n-000170e0: 4b5d 2920 2920 7d0a 2020 2020 2020 7b73 K]) ) }. {s\n-000170f0: 6567 6d65 6e74 7d0a 2020 7d0a 5468 6973 egment}. }.This\n-00017100: 206c 6f6f 6b73 2076 6572 7920 7369 6d69 looks very simi\n-00017110: 6c61 7220 746f 2074 6865 2070 7265 7669 lar to the previ\n-00017120: 6f75 7320 6465 6669 6e69 7469 6f6e 2c20 ous definition, \n-00017130: 616e 6420 6974 2069 732e 2020 5468 650a and it is. The.\n-00017140: 696d 706f 7274 616e 7420 6469 6666 6572 important differ\n-00017150: 656e 6365 2069 7320 7468 6174 2072 6174 ence is that rat\n-00017160: 6865 7220 7468 616e 2070 6f73 6974 696f her than positio\n-00017170: 6e69 6e67 2061 6e64 2072 6f74 6174 696e ning and rotatin\n-00017180: 6720 610a 7369 6e67 6c65 2073 6567 6d65 g a.single segme\n-00017190: 6e74 2c20 7765 2070 6f73 6974 696f 6e20 nt, we position \n-000171a0: 616e 6420 726f 7461 7465 2074 6865 2065 and rotate the e\n-000171b0: 6e74 6972 6520 2261 7373 656d 626c 7922 ntire \"assembly\"\n-000171c0: 2064 6566 696e 6564 2061 730a e280 9864 defined as....d\n-000171d0: 6973 7461 6c5f 31e2 8099 2e20 2054 6865 istal_1.... The\n-000171e0: 2072 6573 7420 6973 206a 7573 7420 6172 rest is just ar\n-000171f0: 6974 686d 6574 6963 2074 6f20 636f 6d70 ithmetic to comp\n-00017200: 7574 6520 7369 7a65 7320 616e 6420 706f ute sizes and po\n-00017210: 7369 7469 6f6e 730a 7468 6174 206c 6f6f sitions.that loo\n-00017220: 6b20 6e69 6365 2e20 2054 6865 206c 6173 k nice. The las\n-00017230: 7420 e280 9870 7574 e280 9920 706c 6163 t ...put... plac\n-00017240: 6573 2061 6e20 6170 7072 6f70 7269 6174 es an appropriat\n-00017250: 656c 7920 7368 6170 6564 2073 6567 6d65 ely shaped segme\n-00017260: 6e74 0a74 6861 7420 6973 2074 6865 205f nt.that is the _\n-00017270: 7072 6f78 696d 616c 2070 686c 616e 6765 proximal phlange\n-00017280: 735f 2c20 7468 6520 626f 6e65 2074 6861 s_, the bone tha\n-00017290: 7420 6a6f 696e 7320 7468 6520 7061 6c6d t joins the palm\n-000172a0: 206f 6620 7468 650a 6861 6e64 2e20 2054 of the.hand. T\n-000172b0: 6869 7320 636f 6d70 6c65 7465 7320 7468 his completes th\n-000172c0: 6520 6669 6e67 6572 2069 7473 656c 662e e finger itself.\n-000172d0: 0a0a 2020 2041 6c6c 2074 6865 206f 7468 .. All the oth\n-000172e0: 6572 2066 696e 6765 7273 2061 7265 2064 er fingers are d\n-000172f0: 6573 6372 6962 6564 2069 6465 6e74 6963 escribed identic\n-00017300: 616c 6c79 2074 6f20 7468 6973 206f 6e65 ally to this one\n-00017310: 2e20 2057 650a 6163 636f 756e 7420 666f . We.account fo\n-00017320: 7220 7468 6520 6661 6374 2074 6861 7420 r the fact that \n-00017330: 7265 616c 2066 696e 6765 7273 2061 7265 real fingers are\n-00017340: 2064 6966 6665 7265 6e74 2073 697a 6573 different sizes\n-00017350: 2069 6e20 7468 6520 6e65 7874 0a73 7465 in the next.ste\n-00017360: 702c 2077 6869 6368 2069 7320 746f 2062 p, which is to b\n-00017370: 7569 6c64 2074 6865 2065 6e74 6972 6520 uild the entire \n-00017380: 6861 6e64 2e0a 0a20 2020 5468 6520 e280 hand... The ..\n-00017390: 9868 616e 64e2 8099 2064 6566 696e 6974 .hand... definit\n-000173a0: 696f 6e20 7468 6174 2066 6f6c 6c6f 7773 ion that follows\n-000173b0: 2069 6e63 6c75 6465 7320 6120 7365 6374 includes a sect\n-000173c0: 696f 6e20 666f 7220 6561 6368 0a66 696e ion for each.fin\n-000173d0: 6765 722e 2020 5765 276c 6c20 636f 6e74 ger. We'll cont\n-000173e0: 696e 7565 2077 6974 6820 6669 6e67 6572 inue with finger\n-000173f0: 2031 2061 6e64 206f 6d69 7420 616c 6c20 1 and omit all \n-00017400: 7468 6520 6f74 6865 7273 2e20 2028 4f66 the others. (Of\n-00017410: 206e 6f74 650a 6973 2074 6861 7420 7468 note.is that th\n-00017420: 6520 7468 756d 6220 6e65 6564 7320 736c e thumb needs sl\n-00017430: 6967 6874 6c79 2073 7065 6369 616c 2074 ightly special t\n-00017440: 7265 6174 6d65 6e74 2d2d 616e 2065 7874 reatment--an ext\n-00017450: 7261 2072 6f74 6174 696f 6e20 746f 0a61 ra rotation to.a\n-00017460: 6363 6f75 6e74 2066 6f72 2069 7473 206f ccount for its o\n-00017470: 7070 6f73 696e 6720 616e 676c 652e 2020 pposing angle. \n-00017480: 5468 6973 2069 7320 636c 6561 7220 696e This is clear in\n-00017490: 2074 6865 2066 756c 6c20 736f 7572 6365 the full source\n-000174a0: 2063 6f64 652e 290a 4e6f 7420 7375 7270 code.).Not surp\n-000174b0: 7269 7369 6e67 6c79 2c20 7468 6520 e280 risingly, the ..\n-000174c0: 9868 616e 64e2 8099 2064 6566 696e 6974 .hand... definit\n-000174d0: 696f 6e20 6c6f 6f6b 7320 7665 7279 206d ion looks very m\n-000174e0: 7563 6820 6c69 6b65 2074 6865 0a70 7265 uch like the.pre\n-000174f0: 7669 6f75 7320 7477 6f2e 2020 4974 2073 vious two. It s\n-00017500: 686f 756c 6420 6265 206e 6f20 7375 7270 hould be no surp\n-00017510: 7269 7365 2074 6861 7420 7768 656e 2074 rise that when t\n-00017520: 6865 2072 6f74 6174 696f 6e20 7061 7261 he rotation para\n-00017530: 6d65 7465 720a e280 986d 6574 615f 315f meter....meta_1_\n-00017540: 726f 74e2 8099 2063 6861 6e67 6573 2c20 rot... changes, \n-00017550: 7468 6520 656e 7469 7265 2066 696e 6765 the entire finge\n-00017560: 7220 726f 7461 7465 7321 2020 5468 6572 r rotates! Ther\n-00017570: 6520 6973 2061 6e20 6164 6469 7469 6f6e e is an addition\n-00017580: 616c 0a72 6f74 6174 696f 6e20 7468 6174 al.rotation that\n-00017590: 2061 6c6c 6f77 7320 7468 6520 6669 6e67 allows the fing\n-000175a0: 6572 7320 746f 2073 7072 6561 6420 6c61 ers to spread la\n-000175b0: 7465 7261 6c6c 792e 2020 5765 2073 6179 terally. We say\n-000175c0: 2074 6865 7365 0a6a 6f69 6e74 7320 6f66 these.joints of\n-000175d0: 2074 6865 2070 726f 7869 6d61 6c20 7068 the proximal ph\n-000175e0: 6c61 6e67 6573 2068 6176 6520 7477 6f20 langes have two \n-000175f0: 5f64 6567 7265 6573 206f 6620 6672 6565 _degrees of free\n-00017600: 646f 6d5f 2e20 2054 6865 0a6a 6f69 6e74 dom_. The.joint\n-00017610: 7320 6869 6768 6572 206f 6e20 7468 6520 s higher on the \n-00017620: 6669 6e67 6572 2068 6176 6520 6f6e 6c79 finger have only\n-00017630: 206f 6e65 2e20 2046 696e 616c 6c79 2c20 one. Finally, \n-00017640: 6561 6368 2066 696e 6765 7220 6973 0a73 each finger is.s\n-00017650: 6361 6c65 6420 6279 2061 2066 6163 746f caled by a facto\n-00017660: 7220 746f 206c 656e 6420 6974 2070 726f r to lend it pro\n-00017670: 706f 7274 696f 6e2e 0a20 2064 6566 2068 portion.. def h\n-00017680: 616e 6420 7b0a 2020 2020 2520 6669 6e67 and {. % fing\n-00017690: 6572 2031 205b 616c 6c20 6f74 6865 7220 er 1 [all other \n-000176a0: 6669 6e67 6572 7320 6f6d 6974 7465 645d fingers omitted]\n-000176b0: 0a20 2020 2064 6566 2073 6361 6c65 5f31 . def scale_1\n-000176c0: 202e 3835 0a20 2020 2070 7574 207b 2073 .85. put { s\n-000176d0: 6361 6c65 2873 6361 6c65 5f31 2920 0a20 cale(scale_1) . \n-000176e0: 2020 2020 2020 2020 2074 6865 6e20 7472 then tr\n-000176f0: 616e 736c 6174 6528 286a 6f69 6e74 5f67 anslate((joint_g\n-00017700: 6170 202a 206a 6f69 6e74 5f72 6164 2920 ap * joint_rad) \n-00017710: 2a20 5b4a 5d29 0a09 2020 7468 656e 2072 * [J]).. then r\n-00017720: 6f74 6174 6528 6d65 7461 5f31 5f72 6f74 otate(meta_1_rot\n-00017730: 2c20 5b49 5d29 0a20 2020 2020 2020 2020 , [I]). \n-00017740: 2074 6865 6e20 726f 7461 7465 282d 7370 then rotate(-sp\n-00017750: 7265 6164 5f72 6f74 2c20 5b4b 5d29 0a20 read_rot, [K]). \n-00017760: 2020 2020 2020 2020 2074 6865 6e20 7472 then tr\n-00017770: 616e 736c 6174 6528 2870 726f 7869 6d61 anslate((proxima\n-00017780: 6c5f 315f 6c6f 6329 202d 2028 4f29 2920 l_1_loc) - (O)) \n-00017790: 7d20 0a20 2020 2020 207b 6669 6e67 6572 } . {finger\n-000177a0: 5f31 7d0a 2020 2020 7075 7420 7b20 7363 _1}. put { sc\n-000177b0: 616c 6528 7363 616c 655f 3120 2a20 7072 ale(scale_1 * pr\n-000177c0: 6f78 696d 616c 5f64 6973 7461 6c5f 7261 oximal_distal_ra\n-000177d0: 7469 6f5e 3229 0a20 2020 2020 2020 2020 tio^2). \n-000177e0: 2074 6865 6e20 726f 7461 7465 286d 6574 then rotate(met\n-000177f0: 615f 315f 726f 7420 2f20 322c 205b 495d a_1_rot / 2, [I]\n-00017800: 290a 2020 2020 2020 2020 2020 7468 656e ). then\n-00017810: 2072 6f74 6174 6528 2d73 7072 6561 645f rotate(-spread_\n-00017820: 726f 742c 205b 4b5d 290a 2020 2020 2020 rot, [K]). \n-00017830: 2020 2020 7468 656e 2074 7261 6e73 6c61 then transla\n-00017840: 7465 2828 7072 6f78 696d 616c 5f31 5f6c te((proximal_1_l\n-00017850: 6f63 2920 2d20 284f 2929 207d 200a 2020 oc) - (O)) } . \n-00017860: 2020 2020 7b6a 6f69 6e74 5f73 7068 6572 {joint_spher\n-00017870: 657d 0a0a 2020 2020 2520 7061 6c6d 0a20 e}.. % palm. \n-00017880: 2020 2073 7765 6570 207b 2031 2c20 726f sweep { 1, ro\n-00017890: 7461 7465 2836 2c20 2830 2c31 352c 3029 tate(6, (0,15,0)\n-000178a0: 2c20 5b49 5d29 207d 0a20 2020 2020 2070 , [I]) }. p\n-000178b0: 7574 207b 2072 6f74 6174 6528 2d33 2c20 ut { rotate(-3, \n-000178c0: 2830 2c31 352c 3029 2c20 5b49 5d29 207d (0,15,0), [I]) }\n-000178d0: 207b 0a20 2020 2020 2020 2070 6f6c 7967 {. polyg\n-000178e0: 6f6e 2870 726f 7869 6d61 6c5f 315f 6c6f on(proximal_1_lo\n-000178f0: 6329 2870 726f 7869 6d61 6c5f 325f 6c6f c)(proximal_2_lo\n-00017900: 6329 0a20 2020 2020 2020 2020 2020 2020 c). \n-00017910: 2020 2870 726f 7869 6d61 6c5f 335f 6c6f (proximal_3_lo\n-00017920: 6329 2870 726f 7869 6d61 6c5f 345f 6c6f c)(proximal_4_lo\n-00017930: 6329 0a20 2020 2020 2020 2020 2020 2020 c). \n-00017940: 2020 2868 3529 2868 3629 2868 3661 2928 (h5)(h6)(h6a)(\n-00017950: 6839 2928 6831 3029 0a20 2020 2020 2020 h9)(h10). \n-00017960: 2070 6f6c 7967 6f6e 2868 3661 2928 6837 polygon(h6a)(h7\n-00017970: 2928 6838 2928 6839 290a 2020 207d 2020 )(h8)(h9). } \n-00017980: 7d0a 5468 6520 6c61 7374 2073 6563 7469 }.The last secti\n-00017990: 6f6e 206f 6620 7468 6520 6465 6669 6e69 on of the defini\n-000179a0: 7469 6f6e 2063 7265 6174 6573 2074 6865 tion creates the\n-000179b0: 2070 6f6c 7974 6f70 6520 666f 7220 7468 polytope for th\n-000179c0: 6520 7061 6c6d 206f 660a 7468 6520 6861 e palm of.the ha\n-000179d0: 6e64 2062 7920 e280 9873 7765 6570 e280 nd by ...sweep..\n-000179e0: 9969 6e67 2061 2031 302d 7369 6465 6420 .ing a 10-sided \n-000179f0: 706f 6c79 676f 6e20 7468 726f 7567 6820 polygon through \n-00017a00: 6120 7665 7279 2073 686f 7274 2061 7263 a very short arc\n-00017a10: 0a28 3920 6465 6772 6565 7329 2e20 2054 .(9 degrees). T\n-00017a20: 6869 7320 7072 6f76 6964 6573 2061 2077 his provides a w\n-00017a30: 6564 6765 2d73 6861 7065 6420 7072 6f66 edge-shaped prof\n-00017a40: 696c 6520 7768 656e 2076 6965 7765 6420 ile when viewed \n-00017a50: 6672 6f6d 2074 6865 0a73 6964 652e 2020 from the.side. \n-00017a60: 5468 6520 7468 6963 6b20 656e 6420 6f66 The thick end of\n-00017a70: 2074 6865 2077 6564 6765 2069 7320 7468 the wedge is th\n-00017a80: 6520 7772 6973 742e 2020 4265 6361 7573 e wrist. Becaus\n-00017a90: 6520 7468 6520 706f 6c79 676f 6e20 6973 e the polygon is\n-00017aa0: 0a63 6f6e 6361 7665 2c20 6974 2069 7320 .concave, it is \n-00017ab0: 7370 6c69 7420 696e 746f 2069 6e74 6f20 split into into \n-00017ac0: 7477 6f20 636f 6e76 6578 2073 6861 7065 two convex shape\n-00017ad0: 7320 7769 7468 206e 696e 6520 616e 6420 s with nine and \n-00017ae0: 666f 7572 0a76 6572 7469 6365 732e 0a0a four.vertices...\n-00017af0: 2020 2057 6520 6361 6e20 6e6f 7720 6861 We can now ha\n-00017b00: 7665 2066 756e 2070 6f73 6974 696f 6e69 ve fun positioni\n-00017b10: 6e67 2074 6865 2068 616e 6420 6279 2061 ng the hand by a\n-00017b20: 646a 7573 7469 6e67 2074 6865 2076 6172 djusting the var\n-00017b30: 696f 7573 0a72 6f74 6174 696f 6e20 616e ious.rotation an\n-00017b40: 676c 6573 2e20 2054 6865 2063 6f6d 706c gles. The compl\n-00017b50: 6574 6520 736f 7572 6365 2069 6e63 6c75 ete source inclu\n-00017b60: 6465 7320 6465 6669 6e69 7469 6f6e 7320 des definitions \n-00017b70: 7769 7468 0a61 6c74 6572 6e61 7469 7665 with.alternative\n-00017b80: 7320 7468 6174 2069 6e63 6c75 6465 2074 s that include t\n-00017b90: 6865 2066 6f6c 6c6f 7769 6e67 2076 6965 he following vie\n-00017ba0: 7773 2061 6e64 206d 6f72 652e 0a0a 0008 ws and more.....\n-00017bb0: 5b69 6d61 6765 2073 7263 3d22 6578 3231 [image src=\"ex21\n-00017bc0: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png\" text=\"Ima\n-00017bd0: 6765 2065 7832 3130 206f 6d69 7474 6564 ge ex210 omitted\n-00017be0: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n-00017bf0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n-00017c00: 742e 2200 085d 0008 5b69 6d61 6765 2073 t.\"..]..[image s\n-00017c10: 7263 3d22 6578 3232 302e 706e 6722 2074 rc=\"ex220.png\" t\n-00017c20: 6578 743d 2249 6d61 6765 2065 7832 3230 ext=\"Image ex220\n-00017c30: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text\n-00017c40: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this\n-00017c50: 2064 6f63 756d 656e 742e 2200 085d 0008 document.\"..]..\n-00017c60: 5b69 6d61 6765 2073 7263 3d22 6578 3233 [image src=\"ex23\n-00017c70: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png\" text=\"Ima\n-00017c80: 6765 2065 7832 3330 206f 6d69 7474 6564 ge ex230 omitted\n-00017c90: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n-00017ca0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n-00017cb0: 742e 2200 085d 0008 5b69 6d61 6765 2073 t.\"..]..[image s\n-00017cc0: 7263 3d22 6578 3234 302e 706e 6722 2074 rc=\"ex240.png\" t\n-00017cd0: 6578 743d 2249 6d61 6765 2065 7832 3430 ext=\"Image ex240\n-00017ce0: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text\n-00017cf0: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this\n-00017d00: 2064 6f63 756d 656e 742e 2200 085d 0a0a document.\"..]..\n-00017d10: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-00017d20: 6e66 6f2c 2020 4e6f 6465 3a20 4361 7665 nfo, Node: Cave\n-00017d30: 6174 732c 2020 5072 6576 3a20 4120 6869 ats, Prev: A hi\n-00017d40: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n-00017d50: 2c20 2055 703a 2042 7569 6c64 696e 6720 , Up: Building \n-00017d60: 6120 6472 6177 696e 670a 0a34 2e34 2043 a drawing..4.4 C\n-00017d70: 6176 6561 7473 0a3d 3d3d 3d3d 3d3d 3d3d aveats.=========\n-00017d80: 3d3d 0a0a e280 9853 6b65 7463 68e2 8099 ==.....Sketch...\n-00017d90: 2069 7320 6120 6661 6972 6c79 2070 6f77 is a fairly pow\n-00017da0: 6572 6675 6c20 746f 6f6c 2066 6f72 2064 erful tool for d\n-00017db0: 7261 7769 6e67 2c20 6275 742c 206a 7573 rawing, but, jus\n-00017dc0: 7420 6173 2077 6974 6820 5465 582c 0a74 t as with TeX,.t\n-00017dd0: 6865 2070 6f77 6572 2074 6f20 6372 6561 he power to crea\n-00017de0: 7465 2062 6561 7574 6966 756c 2072 6573 te beautiful res\n-00017df0: 756c 7473 2063 6f6d 6573 2061 6c6f 6e67 ults comes along\n-00017e00: 2077 6974 6820 7468 6520 706f 7765 7220 with the power \n-00017e10: 746f 206d 616b 650a 6d69 7374 616b 6573 to make.mistakes\n-00017e20: 2e20 2054 6865 2066 6f6c 6c6f 7769 6e67 . The following\n-00017e30: 2061 7265 2073 6f6d 6520 706f 696e 7473 are some points\n-00017e40: 2077 6865 7265 2063 6172 6520 6973 206e where care is n\n-00017e50: 6563 6573 7361 7279 2061 6e64 0a77 6865 ecessary and.whe\n-00017e60: 7265 2074 6865 2063 7572 7265 6e74 2076 re the current v\n-00017e70: 6572 7369 6f6e 206f 6620 e280 9873 6b65 ersion of ...ske\n-00017e80: 7463 68e2 8099 2069 7320 6c69 6d69 7465 tch... is limite\n-00017e90: 6420 6f72 2068 6173 206b 6e6f 776e 2062 d or has known b\n-00017ea0: 7567 732e 0a0a 2a20 4d65 6e75 3a0a 0a2a ugs...* Menu:..*\n-00017eb0: 204c 696d 6974 7320 6f6e 2065 7272 6f72 Limits on error\n-00017ec0: 2064 6574 6563 7469 6f6e 3a3a 2020 2057 detection:: W\n-00017ed0: 6861 7420 736b 6574 6368 2064 6f65 736e hat sketch doesn\n-00017ee0: 2774 2064 6f2e 0a2a 2043 6c69 7070 696e 't do..* Clippin\n-00017ef0: 673a 3a20 2020 2020 2020 2020 2020 2020 g:: \n-00017f00: 2020 2020 2020 204e 6f20 636c 6970 7069 No clippi\n-00017f10: 6e67 2061 7420 7072 6573 656e 742e 0a2a ng at present..*\n-00017f20: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface \n-00017f30: 7265 6d6f 7661 6c3a 3a20 2020 2020 2049 removal:: I\n-00017f40: 6d70 6572 6665 6374 696f 6e73 2074 6f20 mperfections to \n-00017f50: 6669 782e 0a0a 1f0a 4669 6c65 3a20 736b fix.....File: sk\n-00017f60: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-00017f70: 3a20 4c69 6d69 7473 206f 6e20 6572 726f : Limits on erro\n-00017f80: 7220 6465 7465 6374 696f 6e2c 2020 4e65 r detection, Ne\n-00017f90: 7874 3a20 436c 6970 7069 6e67 2c20 2050 xt: Clipping, P\n-00017fa0: 7265 763a 2043 6176 6561 7473 2c20 2055 rev: Caveats, U\n-00017fb0: 703a 2043 6176 6561 7473 0a0a 342e 342e p: Caveats..4.4.\n-00017fc0: 3120 4c69 6d69 7473 206f 6e20 e280 9873 1 Limits on ...s\n-00017fd0: 6b65 7463 68e2 8099 2065 7272 6f72 2064 ketch... error d\n-00017fe0: 6574 6563 7469 6f6e 0a2d 2d2d 2d2d 2d2d etection.-------\n+00011d40: 0a73 6361 6c61 7220 2020 2020 20e2 8098 .scalar ...\n+00011d50: 4944 e280 990a 706f 696e 7420 2020 2020 ID....point \n+00011d60: 2020 e280 9828 4944 29e2 8099 0a76 6563 ...(ID)....vec\n+00011d70: 746f 7220 2020 2020 20e2 8098 5b49 445d tor ...[ID]\n+00011d80: e280 990a 7472 616e 7366 6f72 6d20 2020 ....transform \n+00011d90: e280 985b 5b49 445d 5de2 8099 0a64 7261 ...[[ID]]....dra\n+00011da0: 7761 626c 6520 2020 20e2 8098 7b49 447d wable ...{ID}\n+00011db0: e280 990a 6f70 7469 6f6e 7320 2020 2020 ....options \n+00011dc0: e280 985b 4944 5de2 8099 206f 7220 e280 ...[ID]... or ..\n+00011dd0: 985b 4944 312c 2e2e 2e2c 4944 4e5d e280 .[ID1,...,IDN]..\n+00011de0: 990a 7461 6720 2020 2020 2020 2020 e280 ..tag ..\n+00011df0: 983c 4944 3ee2 8099 0a0a 4e6f 7465 2074 ......Note t\n+00011e00: 6861 7420 7371 7561 7265 2062 7261 636b hat square brack\n+00011e10: 6574 7320 e280 985b 205d e280 9920 6172 ets ...[ ]... ar\n+00011e20: 6520 7573 6564 2062 6f74 6820 666f 7220 e used both for \n+00011e30: 7665 6374 6f72 2061 6e64 2066 6f72 206f vector and for o\n+00011e40: 7074 696f 6e73 0a72 6566 6572 656e 6365 ptions.reference\n+00011e50: 732e 2020 4465 7461 696c 7320 6f66 20e2 s. Details of .\n+00011e60: 8098 736b 6574 6368 e280 9920 7379 6e74 ..sketch... synt\n+00011e70: 6178 206d 616b 6520 6974 2069 6d70 6f73 ax make it impos\n+00011e80: 7369 626c 6520 666f 7220 7468 6573 6520 sible for these \n+00011e90: 7477 6f0a 7265 6665 7265 6e63 6520 7479 two.reference ty\n+00011ea0: 7065 7320 746f 2062 6520 636f 6e66 7573 pes to be confus\n+00011eb0: 6564 2e20 2054 6865 2073 7065 6369 616c ed. The special\n+00011ec0: 206d 756c 7469 706c 6520 7265 6665 7265 multiple refere\n+00011ed0: 6e63 650a e280 985b 4944 312c 4944 322c nce....[ID1,ID2,\n+00011ee0: 2e2e 2e2c 4944 4e5d e280 9920 6163 7473 ...,IDN]... acts\n+00011ef0: 2061 7320 6966 2074 6865 2072 6573 7065 as if the respe\n+00011f00: 6374 6976 6520 6c69 7374 7320 6f66 206f ctive lists of o\n+00011f10: 7074 696f 6e73 2077 6572 650a 636f 6e63 ptions were.conc\n+00011f20: 6174 656e 6174 6564 2e0a 0a1f 0a46 696c atenated.....Fil\n+00011f30: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n+00011f40: 204e 6f64 653a 2047 6c6f 6261 6c20 656e Node: Global en\n+00011f50: 7669 726f 6e6d 656e 742c 2020 5072 6576 vironment, Prev\n+00011f60: 3a20 4465 6669 6e69 7469 6f6e 732c 2020 : Definitions, \n+00011f70: 5570 3a20 496e 7075 7420 6c61 6e67 7561 Up: Input langua\n+00011f80: 6765 0a0a 332e 3420 476c 6f62 616c 2065 ge..3.4 Global e\n+00011f90: 6e76 6972 6f6e 6d65 6e74 0a3d 3d3d 3d3d nvironment.=====\n+00011fa0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00011fb0: 3d0a 0a41 6e20 6f70 7469 6f6e 616c 2067 =..An optional g\n+00011fc0: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen\n+00011fd0: 7420 626c 6f63 6b20 7072 6f76 6964 6573 t block provides\n+00011fe0: 2061 2066 6577 2077 6179 7320 746f 2061 a few ways to a\n+00011ff0: 6666 6563 7420 7468 650a 656e 7469 7265 ffect the.entire\n+00012000: 2073 6365 6e65 2e20 2054 6865 2062 6c6f scene. The blo\n+00012010: 636b 206d 7573 7420 6170 7065 6172 2061 ck must appear a\n+00012020: 7320 7468 6520 6c61 7374 2074 6578 7420 s the last text \n+00012030: 696e 2074 6865 20e2 8098 736b 6574 6368 in the ...sketch\n+00012040: e280 990a 696e 7075 7420 6669 6c65 2e20 ....input file. \n+00012050: 2049 7420 6d61 7920 696e 636c 7564 6520 It may include \n+00012060: 6465 6669 6e69 7469 6f6e 732c 2062 7574 definitions, but\n+00012070: 206e 6f74 6520 7468 6174 2070 7265 7669 note that previ\n+00012080: 6f75 730a 6465 6669 6e69 7469 6f6e 7320 ous.definitions \n+00012090: 6174 2074 6865 2074 6f70 206c 6576 656c at the top level\n+000120a0: 2028 6e6f 7420 6e65 7374 6564 2069 6e73 (not nested ins\n+000120b0: 6964 6520 626c 6f63 6b73 2920 6172 6520 ide blocks) are \n+000120c0: 616c 736f 0a61 7661 696c 6162 6c65 2e0a also.available..\n+000120d0: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. \n+000120e0: 676c 6f62 616c 207b 2045 4e56 4952 4f4e global { ENVIRON\n+000120f0: 4d45 4e54 5f53 4554 5449 4e47 5320 7d0a MENT_SETTINGS }.\n+00012100: 5468 6520 636f 6e74 656e 7473 206f 6620 The contents of \n+00012110: 454e 5649 524f 4e4d 454e 545f 5345 5454 ENVIRONMENT_SETT\n+00012120: 494e 4753 2061 7265 2064 6973 6375 7373 INGS are discuss\n+00012130: 6564 2069 6e20 7468 6520 7365 6374 696f ed in the sectio\n+00012140: 6e73 2074 6861 740a 666f 6c6c 6f77 2e0a ns that.follow..\n+00012150: 0a2a 204d 656e 753a 0a0a 2a20 476c 6f62 .* Menu:..* Glob\n+00012160: 616c 206f 7074 696f 6e73 3a3a 2020 2020 al options:: \n+00012170: 2020 2020 2020 2020 2020 4174 7472 6962 Attrib\n+00012180: 7574 6573 206f 6620 7468 6520 656e 7469 utes of the enti\n+00012190: 7265 2064 7261 7769 6e67 2e0a 2a20 4361 re drawing..* Ca\n+000121a0: 6d65 7261 3a3a 2020 2020 2020 2020 2020 mera:: \n+000121b0: 2020 2020 2020 2020 2020 2020 4120 6669 A fi\n+000121c0: 6e61 6c20 6361 6d65 7261 2074 7261 6e73 nal camera trans\n+000121d0: 666f 726d 6174 696f 6e20 6f66 2074 6865 formation of the\n+000121e0: 2073 6365 6e65 2e0a 2a20 5069 6374 7572 scene..* Pictur\n+000121f0: 6520 626f 783a 3a20 2020 2020 2020 2020 e box:: \n+00012200: 2020 2020 2020 2020 5365 7474 696e 6720 Setting \n+00012210: 7468 6520 626f 756e 6469 6e67 2062 6f78 the bounding box\n+00012220: 2061 6e64 2032 6420 636c 6970 7069 6e67 and 2d clipping\n+00012230: 2e0a 2a20 4672 616d 653a 3a20 2020 2020 ..* Frame:: \n+00012240: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012250: 2020 4164 6469 6e67 2061 2062 6f78 2061 Adding a box a\n+00012260: 726f 756e 6420 7468 6520 6472 6177 696e round the drawin\n+00012270: 672e 0a2a 204c 616e 6775 6167 653a 3a20 g..* Language:: \n+00012280: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012290: 2020 2053 6574 7469 6e67 2074 6865 206f Setting the o\n+000122a0: 7574 7075 7420 6c61 6e67 7561 6765 2e0a utput language..\n+000122b0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+000122c0: 696e 666f 2c20 204e 6f64 653a 2047 6c6f info, Node: Glo\n+000122d0: 6261 6c20 6f70 7469 6f6e 732c 2020 4e65 bal options, Ne\n+000122e0: 7874 3a20 4361 6d65 7261 2c20 2050 7265 xt: Camera, Pre\n+000122f0: 763a 2047 6c6f 6261 6c20 656e 7669 726f v: Global enviro\n+00012300: 6e6d 656e 742c 2020 5570 3a20 476c 6f62 nment, Up: Glob\n+00012310: 616c 2065 6e76 6972 6f6e 6d65 6e74 0a0a al environment..\n+00012320: 332e 342e 3120 476c 6f62 616c 206f 7074 3.4.1 Global opt\n+00012330: 696f 6e73 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ions.-----------\n+00012340: 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 ---------..*Synt\n+00012350: 6178 3a2a 0a20 2020 2020 7365 7420 5b20 ax:*. set [ \n+00012360: 4f50 5449 4f4e 5320 5d0a 5468 6520 636f OPTIONS ].The co\n+00012370: 6e74 656e 7473 206f 6620 4f50 5449 4f4e ntents of OPTION\n+00012380: 532c 2065 7863 6570 7420 666f 7220 e280 S, except for ..\n+00012390: 9873 6b65 7463 68e2 8099 2069 6e74 6572 .sketch... inter\n+000123a0: 6e61 6c20 6f70 7469 6f6e 732c 2061 7265 nal options, are\n+000123b0: 0a63 6f70 6965 6420 6173 2d69 7320 746f .copied as-is to\n+000123c0: 2061 205c 7073 7365 7420 7468 6174 2061 a \\psset that a\n+000123d0: 7070 6561 7273 2062 6566 6f72 6520 616e ppears before an\n+000123e0: 7974 6869 6e67 2065 6c73 6520 696e 2074 ything else in t\n+000123f0: 6865 206f 7574 7075 740a 6669 6c65 2e20 he output.file. \n+00012400: 2054 6869 7320 6973 2061 2067 6f6f 6420 This is a good \n+00012410: 706c 6163 6520 746f 2073 6574 20e2 8098 place to set ...\n+00012420: 756e 6974 e280 992c 2061 2064 6566 6175 unit..., a defau\n+00012430: 6c74 20e2 8098 6c69 6e65 7769 6474 68e2 lt ...linewidth.\n+00012440: 8099 2c20 6574 632e 0a0a 2020 2049 6e74 .., etc... Int\n+00012450: 6572 6e61 6c20 6f70 7469 6f6e 7320 776f ernal options wo\n+00012460: 726b 206f 6e20 616c 6c20 6f62 6a65 6374 rk on all object\n+00012470: 7320 7768 6572 6520 7468 6579 206d 616b s where they mak\n+00012480: 6520 7365 6e73 652e 2020 5468 6973 0a69 e sense. This.i\n+00012490: 6e63 6c75 6465 7320 e280 9863 756c 6ce2 ncludes ...cull.\n+000124a0: 8099 2061 6e64 20e2 8098 7370 6c69 74e2 .. and ...split.\n+000124b0: 8099 2028 6275 7420 6e6f 7420 e280 986c .. (but not ...l\n+000124c0: 6179 e280 9929 2e20 202a 4e6f 7465 2049 ay...). *Note I\n+000124d0: 6e74 6572 6e61 6c20 6f70 7469 6f6e 733a nternal options:\n+000124e0: 3a2e 0a0a 1f0a 4669 6c65 3a20 736b 6574 :.....File: sket\n+000124f0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n+00012500: 4361 6d65 7261 2c20 204e 6578 743a 2050 Camera, Next: P\n+00012510: 6963 7475 7265 2062 6f78 2c20 2050 7265 icture box, Pre\n+00012520: 763a 2047 6c6f 6261 6c20 6f70 7469 6f6e v: Global option\n+00012530: 732c 2020 5570 3a20 476c 6f62 616c 2065 s, Up: Global e\n+00012540: 6e76 6972 6f6e 6d65 6e74 0a0a 332e 342e nvironment..3.4.\n+00012550: 3220 4361 6d65 7261 0a2d 2d2d 2d2d 2d2d 2 Camera.-------\n+00012560: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:*\n+00012570: 0a20 2020 2020 6361 6d65 7261 2054 5241 . camera TRA\n+00012580: 4e53 464f 524d 5f45 5850 5245 5353 494f NSFORM_EXPRESSIO\n+00012590: 4e0a 2020 2054 6865 2054 5241 4e53 464f N. The TRANSFO\n+000125a0: 524d 5f45 5850 5245 5353 494f 4e20 6973 RM_EXPRESSION is\n+000125b0: 2061 7070 6c69 6564 2061 6674 6572 2061 applied after a\n+000125c0: 6c6c 206f 7468 6572 2074 7261 6e73 666f ll other transfo\n+000125d0: 726d 6174 696f 6e73 0a6f 6620 7468 6520 rmations.of the \n+000125e0: 7363 656e 652e 2020 5468 6973 2069 7320 scene. This is \n+000125f0: 6375 7272 656e 746c 7920 6f6e 6c79 2075 currently only u\n+00012600: 7365 6675 6c20 666f 7220 7472 616e 7366 seful for transf\n+00012610: 6f72 6d69 6e67 2074 6865 0a62 6f75 6e64 orming the.bound\n+00012620: 696e 6720 626f 782e 2020 2a4e 6f74 6520 ing box. *Note \n+00012630: 5069 6374 7572 6520 626f 783a 3a2e 2020 Picture box::. \n+00012640: 4974 2077 696c 6c20 706c 6179 2061 2072 It will play a r\n+00012650: 6f6c 6520 696e 2061 6e79 2066 7574 7572 ole in any futur\n+00012660: 650a 696d 706c 656d 656e 7461 7469 6f6e e.implementation\n+00012670: 206f 6620 636c 6970 7069 6e67 2e0a 0a1f of clipping....\n+00012680: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n+00012690: 666f 2c20 204e 6f64 653a 2050 6963 7475 fo, Node: Pictu\n+000126a0: 7265 2062 6f78 2c20 204e 6578 743a 2046 re box, Next: F\n+000126b0: 7261 6d65 2c20 2050 7265 763a 2043 616d rame, Prev: Cam\n+000126c0: 6572 612c 2020 5570 3a20 476c 6f62 616c era, Up: Global\n+000126d0: 2065 6e76 6972 6f6e 6d65 6e74 0a0a 332e environment..3.\n+000126e0: 342e 3320 5069 6374 7572 6520 626f 780a 4.3 Picture box.\n+000126f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00012700: 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 2020 -..*Syntax:*. \n+00012710: 2020 7069 6374 7572 6562 6f78 5b42 4153 picturebox[BAS\n+00012720: 454c 494e 455d 0a20 2020 2020 7069 6374 ELINE]. pict\n+00012730: 7572 6562 6f78 5b42 4153 454c 494e 455d urebox[BASELINE]\n+00012740: 2028 5031 2928 5032 290a 5468 6520 6669 (P1)(P2).The fi\n+00012750: 7273 7420 666f 726d 206f 6620 e280 9870 rst form of ...p\n+00012760: 6963 7475 7265 626f 78e2 8099 2063 6175 icturebox... cau\n+00012770: 7365 7320 6120 7363 616c 6172 2042 4153 ses a scalar BAS\n+00012780: 454c 494e 4520 6672 6163 7469 6f6e 2074 ELINE fraction t\n+00012790: 6f20 6265 0a65 6d69 7474 6564 2069 6e20 o be.emitted in \n+000127a0: 7468 6520 e280 9870 7370 6963 7475 7265 the ...pspicture\n+000127b0: e280 9920 656e 7669 726f 6e6d 656e 7420 ... environment \n+000127c0: 6f66 2074 6865 206f 7574 7075 742e 2020 of the output. \n+000127d0: 5365 6520 e280 9850 5354 7269 636b 73e2 See ...PSTricks.\n+000127e0: 8099 0a64 6f63 756d 656e 7461 7469 6f6e ...documentation\n+000127f0: 2066 6f72 20e2 8098 7073 7069 6374 7572 for ...pspictur\n+00012800: 65e2 8099 2e0a 0a20 2020 496e 2074 6865 e...... In the\n+00012810: 2073 6563 6f6e 6420 666f 726d 2c20 7468 second form, th\n+00012820: 6520 4241 5345 4c49 4e45 2066 7261 6374 e BASELINE fract\n+00012830: 696f 6e20 6973 206f 7074 696f 6e61 6c2c ion is optional,\n+00012840: 2061 6e64 2074 6865 2074 776f 0a70 6f69 and the two.poi\n+00012850: 6e74 7320 7468 6174 2066 6f6c 6c6f 7720 nts that follow \n+00012860: 6465 6669 6e65 2074 6865 2064 6961 676f define the diago\n+00012870: 6e61 6c20 6f66 2061 2074 6872 6565 2d64 nal of a three-d\n+00012880: 696d 656e 7369 6f6e 616c 2062 6f75 6e64 imensional bound\n+00012890: 696e 670a 626f 7820 666f 7220 7468 6520 ing.box for the \n+000128a0: 636f 6d70 6c65 7465 6420 7363 656e 652e completed scene.\n+000128b0: 2020 5468 6520 7061 7261 6c6c 656c 2070 The parallel p\n+000128c0: 726f 6a65 6374 696f 6e20 6f66 2074 6865 rojection of the\n+000128d0: 2062 6f75 6e64 696e 670a 626f 7820 6465 bounding.box de\n+000128e0: 7465 726d 696e 6573 2074 6865 2063 6f72 termines the cor\n+000128f0: 6e65 7273 206f 6620 7468 6520 6472 6177 ners of the draw\n+00012900: 696e 6727 7320 e280 9870 7370 6963 7475 ing's ...pspictu\n+00012910: 7265 2ae2 8099 2065 6e76 6972 6f6e 6d65 re*... environme\n+00012920: 6e74 2c0a 7768 6963 6820 6973 2075 7365 nt,.which is use\n+00012930: 6420 696e 2070 6c61 6365 206f 6620 e280 d in place of ..\n+00012940: 9870 7370 6963 7475 7265 e280 992e 2020 .pspicture.... \n+00012950: 5468 6973 2063 6175 7365 7320 506f 7374 This causes Post\n+00012960: 5363 7269 7074 2074 6f20 636c 6970 0a74 Script to clip.t\n+00012970: 6865 2066 696e 616c 2064 7261 7769 6e67 he final drawing\n+00012980: 2074 6f20 7468 6520 626f 756e 6469 6e67 to the bounding\n+00012990: 2062 6f78 2069 6e20 3264 2e20 2049 6620 box in 2d. If \n+000129a0: 7468 6572 6520 6973 2061 20e2 8098 6361 there is a ...ca\n+000129b0: 6d65 7261 e280 990a 7370 6563 6966 6965 mera....specifie\n+000129c0: 642c 2074 6865 2063 616d 6572 6120 7472 d, the camera tr\n+000129d0: 616e 666f 726d 6174 696f 6e20 6973 2061 anformation is a\n+000129e0: 7070 6c69 6564 2074 6f20 7468 6520 626f pplied to the bo\n+000129f0: 756e 6469 6e67 2062 6f78 2c20 616e 640a unding box, and.\n+00012a00: 7468 6520 e280 9870 7370 6963 7475 7265 the ...pspicture\n+00012a10: e280 9920 6973 2073 6574 206a 7573 7420 ... is set just \n+00012a20: 6c61 7267 6520 656e 6f75 6768 2074 6f20 large enough to \n+00012a30: 696e 636c 7564 6520 7468 6520 7472 616e include the tran\n+00012a40: 7366 6f72 6d65 6420 626f 782e 0a0a 2020 sformed box... \n+00012a50: 2057 6865 6e20 6e6f 2062 6f75 6e64 696e When no boundin\n+00012a60: 6720 626f 7820 6973 2067 6976 656e 2c20 g box is given, \n+00012a70: e280 9873 6b65 7463 68e2 8099 2063 6f6d ...sketch... com\n+00012a80: 7075 7465 7320 6f6e 6520 6175 746f 6d61 putes one automa\n+00012a90: 7469 6361 6c6c 792e 0a0a 1f0a 4669 6c65 tically.....File\n+00012aa0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+00012ab0: 4e6f 6465 3a20 4672 616d 652c 2020 4e65 Node: Frame, Ne\n+00012ac0: 7874 3a20 4c61 6e67 7561 6765 2c20 2050 xt: Language, P\n+00012ad0: 7265 763a 2050 6963 7475 7265 2062 6f78 rev: Picture box\n+00012ae0: 2c20 2055 703a 2047 6c6f 6261 6c20 656e , Up: Global en\n+00012af0: 7669 726f 6e6d 656e 740a 0a33 2e34 2e34 vironment..3.4.4\n+00012b00: 2046 7261 6d65 0a2d 2d2d 2d2d 2d2d 2d2d Frame.---------\n+00012b10: 2d2d 0a0a 2a53 796e 7461 783a 2a0a 2020 --..*Syntax:*. \n+00012b20: 2020 2066 7261 6d65 205b 4f50 5449 4f4e frame [OPTION\n+00012b30: 535d 0a43 6175 7365 7320 6120 5c70 7366 S].Causes a \\psf\n+00012b40: 7261 6d65 626f 7820 746f 2073 7572 726f ramebox to surro\n+00012b50: 756e 6420 7468 6520 e280 9870 7370 6963 und the ...pspic\n+00012b60: 7475 7265 e280 9920 656e 7669 726f 6e6d ture... environm\n+00012b70: 656e 7420 696e 2074 6865 0a6f 7574 7075 ent in the.outpu\n+00012b80: 742e 2020 4966 204f 5054 494f 4e53 2061 t. If OPTIONS a\n+00012b90: 7265 2070 7265 7365 6e74 2c20 7468 6579 re present, they\n+00012ba0: 2061 7265 2063 6f70 6965 6420 6173 2d69 are copied as-i\n+00012bb0: 732e 2020 4e6f 726d 616c 6c79 206f 6e65 s. Normally one\n+00012bc0: 0a77 6f75 6c64 2077 616e 7420 746f 2073 .would want to s\n+00012bd0: 6574 20e2 8098 6c69 6e65 7769 6474 68e2 et ...linewidth.\n+00012be0: 8099 2c20 e280 986c 696e 6573 7479 6c65 .., ...linestyle\n+00012bf0: e280 992c 20e2 8098 6c69 6e65 636f 6c6f ..., ...linecolo\n+00012c00: 72e2 8099 2c20 6574 632e 2020 4966 0a6f r..., etc. If.o\n+00012c10: 6d69 7474 6564 2c20 7468 656e 20e2 8098 mitted, then ...\n+00012c20: 6672 616d 6573 6570 3d30 7074 e280 9920 framesep=0pt... \n+00012c30: 6973 2061 6464 6564 2073 6f20 7468 6174 is added so that\n+00012c40: 2074 6865 2066 7261 6d65 2074 6967 6874 the frame tight\n+00012c50: 6c79 2068 7567 7320 7468 650a e280 9870 ly hugs the....p\n+00012c60: 7370 6963 7475 7265 e280 992e 0a0a 1f0a spicture........\n+00012c70: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+00012c80: 6f2c 2020 4e6f 6465 3a20 4c61 6e67 7561 o, Node: Langua\n+00012c90: 6765 2c20 2050 7265 763a 2046 7261 6d65 ge, Prev: Frame\n+00012ca0: 2c20 2055 703a 2047 6c6f 6261 6c20 656e , Up: Global en\n+00012cb0: 7669 726f 6e6d 656e 740a 0a33 2e34 2e35 vironment..3.4.5\n+00012cc0: 204c 616e 6775 6167 650a 2d2d 2d2d 2d2d Language.------\n+00012cd0: 2d2d 2d2d 2d2d 2d2d 0a0a 2020 2020 206c --------.. l\n+00012ce0: 616e 6775 6167 6520 7469 6b7a 0a20 2020 anguage tikz. \n+00012cf0: 2020 6c61 6e67 7561 6765 2074 696b 7a2c language tikz,\n+00012d00: 2063 6f6e 7465 7874 0a20 2020 2020 6c61 context. la\n+00012d10: 6e67 7561 6765 2070 7374 7269 636b 730a nguage pstricks.\n+00012d20: 2020 2020 206c 616e 6775 6167 6520 7073 language ps\n+00012d30: 7472 6963 6b73 2c20 6c61 7465 780a 5365 tricks, latex.Se\n+00012d40: 7473 2074 6865 206f 7574 7075 7420 6c61 ts the output la\n+00012d50: 6e67 7561 6765 2067 656e 6572 6174 6564 nguage generated\n+00012d60: 2062 7920 e280 9873 6b65 7463 68e2 8099 by ...sketch...\n+00012d70: 2e20 2054 6865 2073 6574 206f 6620 6f70 . The set of op\n+00012d80: 7469 6f6e 730a 756e 6465 7273 746f 6f64 tions.understood\n+00012d90: 2062 7920 736b 6574 6368 2061 6c73 6f20 by sketch also \n+00012da0: 6368 616e 6765 732e 2020 466f 7220 6578 changes. For ex\n+00012db0: 616d 706c 652c 2074 6865 20e2 8098 5053 ample, the ...PS\n+00012dc0: 5472 6963 6b73 e280 9920 6f70 7469 6f6e Tricks... option\n+00012dd0: 0ae2 8098 6c69 6e65 7769 6474 68e2 8099 ....linewidth...\n+00012de0: 2077 696c 6c20 6e6f 7420 6265 2070 726f will not be pro\n+00012df0: 7065 726c 7920 6861 6e64 6c65 6420 6966 perly handled if\n+00012e00: 20e2 8098 6c61 6e67 7561 6765 e280 9920 ...language... \n+00012e10: 6973 2073 6574 2074 6f20 e280 9874 696b is set to ...tik\n+00012e20: 7ae2 8099 2e0a 5369 6d69 6c61 726c 792c z.....Similarly,\n+00012e30: 2074 6865 20e2 8098 5469 6b5a e280 9920 the ...TikZ... \n+00012e40: 6f70 7469 6f6e 20e2 8098 6c69 6e65 2073 option ...line s\n+00012e50: 7479 6c65 e280 9920 286e 6f74 6520 7468 tyle... (note th\n+00012e60: 6520 7370 6163 6529 2077 696c 6c20 6e6f e space) will no\n+00012e70: 7420 6265 0a70 726f 7065 726c 7920 6861 t be.properly ha\n+00012e80: 6e64 6c65 6420 6966 20e2 8098 6c61 6e67 ndled if ...lang\n+00012e90: 7561 6765 e280 9920 6973 2073 6574 2074 uage... is set t\n+00012ea0: 6f20 e280 9870 7374 7269 636b 73e2 8099 o ...pstricks...\n+00012eb0: 2e20 2049 6620 6e6f 206c 616e 6775 6167 . If no languag\n+00012ec0: 6520 6973 0a73 7065 6369 6669 6564 2c20 e is.specified, \n+00012ed0: 7468 6520 6465 6661 756c 7420 e280 9870 the default ...p\n+00012ee0: 7374 7269 636b 73e2 8099 2069 7320 7573 stricks... is us\n+00012ef0: 6564 2e0a 0a20 2020 416e 206f 7074 696f ed... An optio\n+00012f00: 6e61 6c20 636f 6d6d 6120 666f 6c6c 6f77 nal comma follow\n+00012f10: 6564 2062 7920 e280 986c 6174 6578 e280 ed by ...latex..\n+00012f20: 9920 6f72 20e2 8098 636f 6e74 6578 74e2 . or ...context.\n+00012f30: 8099 2073 7065 6369 6669 6573 2074 6865 .. specifies the\n+00012f40: 0a6d 6163 726f 2070 6163 6b61 6765 2074 .macro package t\n+00012f50: 6861 7420 7468 6520 6f75 7470 7574 2073 hat the output s\n+00012f60: 686f 756c 6420 6173 7375 6d65 2e20 2054 hould assume. T\n+00012f70: 6869 7320 6166 6665 6374 7320 7468 6520 his affects the \n+00012f80: e280 9870 6963 7475 7265 e280 990a 656e ...picture....en\n+00012f90: 7669 726f 6e6d 656e 7420 636f 6d6d 616e vironment comman\n+00012fa0: 6473 2065 6d69 7474 6564 2061 6e64 2074 ds emitted and t\n+00012fb0: 6865 2064 6f63 756d 656e 7420 7465 6d70 he document temp\n+00012fc0: 6c61 7465 2075 7365 6420 7769 7468 2074 late used with t\n+00012fd0: 6865 0ae2 8098 2d54 e280 9920 6f70 7469 he....-T... opti\n+00012fe0: 6f6e 2e20 202a 4e6f 7465 2043 6f6d 6d61 on. *Note Comma\n+00012ff0: 6e64 206c 696e 653a 3a2e 2020 4e6f 7465 nd line::. Note\n+00013000: 2074 6861 7420 6174 2074 6865 2074 696d that at the tim\n+00013010: 6520 7468 6973 206d 616e 7561 6c0a 7761 e this manual.wa\n+00013020: 7320 6765 6e65 7261 7465 642c 20e2 8098 s generated, ...\n+00013030: 5053 5472 6963 6b73 e280 9920 7761 7320 PSTricks... was \n+00013040: 6e6f 7420 7375 7070 6f72 7465 6420 6279 not supported by\n+00013050: 204c 6154 6558 206f 7220 6279 20e2 8098 LaTeX or by ...\n+00013060: 436f 6e54 6558 74e2 8099 2e0a 0a1f 0a46 ConTeXt........F\n+00013070: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+00013080: 2c20 204e 6f64 653a 2042 7569 6c64 696e , Node: Buildin\n+00013090: 6720 6120 6472 6177 696e 672c 2020 4e65 g a drawing, Ne\n+000130a0: 7874 3a20 436f 6d6d 616e 6420 6c69 6e65 xt: Command line\n+000130b0: 2c20 2050 7265 763a 2049 6e70 7574 206c , Prev: Input l\n+000130c0: 616e 6775 6167 652c 2020 5570 3a20 546f anguage, Up: To\n+000130d0: 700a 0a34 2042 7569 6c64 696e 6720 6120 p..4 Building a \n+000130e0: 6472 6177 696e 670a 2a2a 2a2a 2a2a 2a2a drawing.********\n+000130f0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5375 ************..Su\n+00013100: 6363 6573 7366 756c 2064 7261 7769 6e67 ccessful drawing\n+00013110: 7320 7769 7468 20e2 8098 736b 6574 6368 s with ...sketch\n+00013120: e280 9920 616e 6420 7769 7468 2061 6e79 ... and with any\n+00013130: 2073 6365 6e65 2064 6573 6372 6970 7469 scene descripti\n+00013140: 6f6e 0a6c 616e 6775 6167 6520 7265 7175 on.language requ\n+00013150: 6972 6520 7468 6174 2074 6865 2075 7365 ire that the use\n+00013160: 7220 6465 7665 6c6f 7020 616e 2061 6363 r develop an acc\n+00013170: 7572 6174 6520 6d65 6e74 616c 2070 6963 urate mental pic\n+00013180: 7475 7265 206f 6620 6865 720a 636f 6465 ture of her.code\n+00013190: 2061 6e64 2069 7473 206d 6561 6e69 6e67 and its meaning\n+000131a0: 2e20 2054 6869 7320 696d 6167 6520 6973 . This image is\n+000131b0: 2062 6573 7420 6275 696c 7420 696e 2073 best built in s\n+000131c0: 6d61 6c6c 2070 6965 6365 732e 0a54 6865 mall pieces..The\n+000131d0: 7265 666f 7265 2c20 e280 9873 6b65 7463 refore, ...sketc\n+000131e0: 68e2 8099 2069 6e70 7574 7320 6172 6520 h... inputs are \n+000131f0: 6265 7374 2063 7265 6174 6564 2069 6e20 best created in \n+00013200: 736d 616c 6c20 696e 6372 656d 656e 7473 small increments\n+00013210: 2077 6974 680a 6672 6571 7565 6e74 2070 with.frequent p\n+00013220: 6175 7365 7320 746f 2063 6f6d 7069 6c65 auses to compile\n+00013230: 2061 6e64 2076 6965 7720 7468 6520 7265 and view the re\n+00013240: 7375 6c74 732e 2020 4361 7265 6675 6c20 sults. Careful \n+00013250: 636f 6d6d 656e 7473 2069 6e0a 7468 6520 comments in.the \n+00013260: 696e 7075 7420 6f66 7465 6e20 6865 6c70 input often help\n+00013270: 2061 7320 6120 7363 656e 6520 6772 6f77 as a scene grow\n+00013280: 7320 696e 2063 6f6d 706c 6578 6974 792e s in complexity.\n+00013290: 0a0a 2a20 4d65 6e75 3a0a 0a2a 204f 7665 ..* Menu:..* Ove\n+000132a0: 7276 6965 773a 3a20 2020 2020 2020 2020 rview:: \n+000132b0: 2020 2020 2020 2020 2020 2042 7569 6c64 Build\n+000132c0: 696e 6720 6120 7375 6273 7461 6e74 6961 ing a substantia\n+000132d0: 6c20 6472 6177 696e 672e 0a2a 2041 2074 l drawing..* A t\n+000132e0: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n+000132f0: 3a3a 2020 2020 2020 2020 2041 6e20 6578 :: An ex\n+00013300: 616d 706c 6520 7769 7468 2066 696e 6520 ample with fine \n+00013310: 706c 6163 656d 656e 742e 0a2a 2041 2068 placement..* A h\n+00013320: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n+00013330: 6c3a 3a20 2020 2020 2020 2041 6e20 6578 l:: An ex\n+00013340: 616d 706c 6520 7769 7468 2073 7765 6570 ample with sweep\n+00013350: 7320 616e 6420 7075 7473 2e0a 2a20 4361 s and puts..* Ca\n+00013360: 7665 6174 733a 3a20 2020 2020 2020 2020 veats:: \n+00013370: 2020 2020 2020 2020 2020 2020 5768 6572 Wher\n+00013380: 6520 7472 6f75 626c 6520 6361 6e20 6f63 e trouble can oc\n+00013390: 6375 722e 0a0a 1f0a 4669 6c65 3a20 736b cur.....File: sk\n+000133a0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+000133b0: 3a20 4f76 6572 7669 6577 2c20 204e 6578 : Overview, Nex\n+000133c0: 743a 2041 2074 6563 686e 6963 616c 2064 t: A technical d\n+000133d0: 7261 7769 6e67 2c20 2050 7265 763a 2042 rawing, Prev: B\n+000133e0: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin\n+000133f0: 672c 2020 5570 3a20 4275 696c 6469 6e67 g, Up: Building\n+00013400: 2061 2064 7261 7769 6e67 0a0a 342e 3120 a drawing..4.1 \n+00013410: 4f76 6572 7669 6577 0a3d 3d3d 3d3d 3d3d Overview.=======\n+00013420: 3d3d 3d3d 3d0a 0a41 7320 616e 206f 7665 =====..As an ove\n+00013430: 7276 6965 772c 206c 6574 2773 2064 6576 rview, let's dev\n+00013440: 656c 6f70 2061 2064 6961 6772 616d 2074 elop a diagram t\n+00013450: 6861 7420 7368 6f77 7320 686f 7720 6120 hat shows how a \n+00013460: 7065 7273 7065 6374 6976 650a 7072 6f6a perspective.proj\n+00013470: 6563 7469 6f6e 2074 7261 6e73 666f 726d ection transform\n+00013480: 2077 6f72 6b73 2e20 2057 6527 6c6c 2073 works. We'll s\n+00013490: 7461 7274 2077 6974 6820 7468 6520 7472 tart with the tr\n+000134a0: 6164 6974 696f 6e61 6c20 7265 6665 7265 aditional refere\n+000134b0: 6e63 650a 6f62 6a65 6374 2075 7365 6420 nce.object used \n+000134c0: 696e 2063 6f6d 7075 7465 7220 6772 6170 in computer grap\n+000134d0: 6869 6373 2074 6578 7462 6f6f 6b73 2c20 hics textbooks, \n+000134e0: 6120 686f 7573 652d 7368 6170 6564 2070 a house-shaped p\n+000134f0: 7269 736d 2e20 2042 6567 696e 0a62 7920 rism. Begin.by \n+00013500: 6465 6669 6e69 6e67 2074 6865 2070 6f69 defining the poi\n+00013510: 6e74 7320 6f66 2074 6865 2068 6f75 7365 nts of the house\n+00013520: 2e20 2052 6174 6865 7220 7468 616e 2064 . Rather than d\n+00013530: 6566 696e 696e 6720 7468 6520 6661 6365 efining the face\n+00013540: 7320 6f66 0a74 6865 2068 6f75 7365 2061 s of.the house a\n+00013550: 7320 706f 6c79 676f 6e73 2061 6e64 2074 s polygons and t\n+00013560: 7261 6e73 666f 726d 696e 6720 7468 6f73 ransforming thos\n+00013570: 652c 2077 6520 6172 6520 676f 696e 6720 e, we are going \n+00013580: 746f 2074 7261 6e73 666f 726d 0a74 6865 to transform.the\n+00013590: 2070 6f69 6e74 7320 7468 656d 7365 6c76 points themselv\n+000135a0: 6573 2077 6974 6820 e280 9873 6b65 7463 es with ...sketc\n+000135b0: 68e2 8099 2061 7269 7468 6d65 7469 6320 h... arithmetic \n+000135c0: 736f 2074 6861 7420 7765 2068 6176 6520 so that we have \n+000135d0: 6e61 6d65 7320 666f 720a 7468 6520 7472 names for.the tr\n+000135e0: 616e 7366 6f72 6d65 6420 706f 696e 7473 ansformed points\n+000135f0: 206c 6174 6572 2e0a 2020 2520 7269 6768 later.. % righ\n+00013600: 7420 7369 6465 2028 6f75 7473 6964 6520 t side (outside \n+00013610: 746f 2072 6967 6874 290a 2020 6465 6620 to right). def \n+00013620: 5231 2028 312c 312c 3129 2064 6566 2052 R1 (1,1,1) def R\n+00013630: 3220 2831 2c2d 312c 3129 2064 6566 2052 2 (1,-1,1) def R\n+00013640: 3320 2831 2c2d 312c 2d31 2920 6465 6620 3 (1,-1,-1) def \n+00013650: 5234 2028 312c 312c 2d31 290a 2020 6465 R4 (1,1,-1). de\n+00013660: 6620 5235 2028 312c 312e 352c 3029 0a0a f R5 (1,1.5,0)..\n+00013670: 2020 2520 6c65 6674 2073 6964 6520 286f % left side (o\n+00013680: 7574 7369 6465 2074 6f20 7269 6768 742d utside to right-\n+00013690: 2d62 6163 6b77 6172 6429 0a20 2064 6566 -backward). def\n+000136a0: 2057 2020 5b32 2c30 2c30 5d0a 2020 6465 W [2,0,0]. de\n+000136b0: 6620 4c31 2028 5231 292d 5b57 5d20 6465 f L1 (R1)-[W] de\n+000136c0: 6620 4c32 2028 5232 292d 5b57 5d20 6465 f L2 (R2)-[W] de\n+000136d0: 6620 4c33 2028 5233 292d 5b57 5d20 6465 f L3 (R3)-[W] de\n+000136e0: 6620 4c34 2028 5234 292d 5b57 5d0a 2020 f L4 (R4)-[W]. \n+000136f0: 6465 6620 4c35 2028 5235 292d 5b57 5d0a def L5 (R5)-[W].\n+00013700: 546f 2061 6464 2061 2064 6f6f 7220 746f To add a door to\n+00013710: 2074 6865 2068 6f75 7365 2c20 7765 2075 the house, we u\n+00013720: 7365 2061 2070 6f6c 7967 6f6e 2073 6c69 se a polygon sli\n+00013730: 6768 746c 7920 696e 2066 726f 6e74 206f ghtly in front o\n+00013740: 6620 7468 650a 666f 7265 6d6f 7374 2066 f the.foremost f\n+00013750: 6163 6520 6f66 2074 6865 2068 6f75 7365 ace of the house\n+00013760: 2e0a 2020 2520 646f 6f72 0a20 2064 6566 .. % door. def\n+00013770: 2065 202e 3031 0a20 2064 6566 2044 3120 e .01. def D1 \n+00013780: 2830 2c2d 312c 312b 6529 2064 6566 2044 (0,-1,1+e) def D\n+00013790: 3220 282e 352c 2d31 2c31 2b65 2920 6465 2 (.5,-1,1+e) de\n+000137a0: 6620 4433 2028 2e35 2c30 2c31 2b65 2920 f D3 (.5,0,1+e) \n+000137b0: 6465 6620 4434 2028 302c 302c 312b 6529 def D4 (0,0,1+e)\n+000137c0: 0a4e 6f77 206c 6574 2773 2063 7265 6174 .Now let's creat\n+000137d0: 6520 6120 6e65 7720 7365 7420 6f66 2070 e a new set of p\n+000137e0: 6f69 6e74 7320 7468 6174 2061 7265 2061 oints that are a\n+000137f0: 2074 6f2d 6265 2d64 6574 6572 6d69 6e65 to-be-determine\n+00013800: 640a 7472 616e 7366 6f72 6d20 6f66 2074 d.transform of t\n+00013810: 6865 206f 7269 6769 6e61 6c73 2e0a 2020 he originals.. \n+00013820: 6465 6620 6870 2073 6361 6c65 2831 2920 def hp scale(1) \n+00013830: 2520 686f 7573 6520 706f 7369 7469 6f6e % house position\n+00013840: 6572 0a20 2064 6566 2070 5231 205b 5b68 er. def pR1 [[h\n+00013850: 705d 5d2a 2852 3129 2064 6566 2070 5232 p]]*(R1) def pR2\n+00013860: 205b 5b68 705d 5d2a 2852 3229 2064 6566 [[hp]]*(R2) def\n+00013870: 2070 5233 205b 5b68 705d 5d2a 2852 3329 pR3 [[hp]]*(R3)\n+00013880: 0a20 2064 6566 2070 5234 205b 5b68 705d . def pR4 [[hp]\n+00013890: 5d2a 2852 3429 2064 6566 2070 5235 205b ]*(R4) def pR5 [\n+000138a0: 5b68 705d 5d2a 2852 3529 0a20 2064 6566 [hp]]*(R5). def\n+000138b0: 2070 4c31 205b 5b68 705d 5d2a 284c 3129 pL1 [[hp]]*(L1)\n+000138c0: 2064 6566 2070 4c32 205b 5b68 705d 5d2a def pL2 [[hp]]*\n+000138d0: 284c 3229 2064 6566 2070 4c33 205b 5b68 (L2) def pL3 [[h\n+000138e0: 705d 5d2a 284c 3329 0a20 2064 6566 2070 p]]*(L3). def p\n+000138f0: 4c34 205b 5b68 705d 5d2a 284c 3429 2064 L4 [[hp]]*(L4) d\n+00013900: 6566 2070 4c35 205b 5b68 705d 5d2a 284c ef pL5 [[hp]]*(L\n+00013910: 3529 0a20 2064 6566 2070 4431 205b 5b68 5). def pD1 [[h\n+00013920: 705d 5d2a 2844 3129 2064 6566 2070 4432 p]]*(D1) def pD2\n+00013930: 205b 5b68 705d 5d2a 2844 3229 2064 6566 [[hp]]*(D2) def\n+00013940: 2070 4433 205b 5b68 705d 5d2a 2844 3329 pD3 [[hp]]*(D3)\n+00013950: 0a20 2064 6566 2070 4434 205b 5b68 705d . def pD4 [[hp]\n+00013960: 5d2a 2844 3429 200a 4e6f 7465 2074 6865 ]*(D4) .Note the\n+00013970: 2075 7365 206f 6620 6120 e280 9c74 7261 use of a ...tra\n+00013980: 6e73 666f 726d 2064 6566 696e 6974 696f nsform definitio\n+00013990: 6ee2 809d 2061 6e64 20e2 809c 7472 616e n... and ...tran\n+000139a0: 7366 6f72 6d20 7265 6665 7265 6e63 6573 sform references\n+000139b0: e280 9d2e 0a4e 6f77 2064 6566 696e 6520 .....Now define \n+000139c0: 7468 6520 7365 7665 6e20 706f 6c79 676f the seven polygo\n+000139d0: 6e61 6c20 6661 6365 7320 6f66 2074 6865 nal faces of the\n+000139e0: 2068 6f75 7365 2061 6e64 2074 6865 2064 house and the d\n+000139f0: 6f6f 7220 7573 696e 6720 7468 650a 7472 oor using the.tr\n+00013a00: 616e 7366 6f72 6d65 6420 706f 696e 7473 ansformed points\n+00013a10: 2061 7320 7665 7274 6963 6573 2e20 2042 as vertices. B\n+00013a20: 6520 6361 7265 6675 6c20 7769 7468 2076 e careful with v\n+00013a30: 6572 7465 7820 6f72 6465 7221 0a20 2064 ertex order!. d\n+00013a40: 6566 2072 6774 2070 6f6c 7967 6f6e 2028 ef rgt polygon (\n+00013a50: 7052 3129 2870 5232 2928 7052 3329 2870 pR1)(pR2)(pR3)(p\n+00013a60: 5234 2928 7052 3529 0a20 2064 6566 206c R4)(pR5). def l\n+00013a70: 6674 2070 6f6c 7967 6f6e 2028 704c 3529 ft polygon (pL5)\n+00013a80: 2870 4c34 2928 704c 3329 2870 4c32 2928 (pL4)(pL3)(pL2)(\n+00013a90: 704c 3129 0a20 2064 6566 2066 7274 2070 pL1). def frt p\n+00013aa0: 6f6c 7967 6f6e 2028 7052 3229 2870 5231 olygon (pR2)(pR1\n+00013ab0: 2928 704c 3129 2870 4c32 290a 2020 6465 )(pL1)(pL2). de\n+00013ac0: 6620 6263 6b20 706f 6c79 676f 6e20 2870 f bck polygon (p\n+00013ad0: 5234 2928 7052 3329 2870 4c33 2928 704c R4)(pR3)(pL3)(pL\n+00013ae0: 3429 0a20 2064 6566 2074 6672 2070 6f6c 4). def tfr pol\n+00013af0: 7967 6f6e 2028 7052 3129 2870 5235 2928 ygon (pR1)(pR5)(\n+00013b00: 704c 3529 2870 4c31 290a 2020 6465 6620 pL5)(pL1). def \n+00013b10: 7462 6b20 706f 6c79 676f 6e20 2870 5235 tbk polygon (pR5\n+00013b20: 2928 7052 3429 2870 4c34 2928 704c 3529 )(pR4)(pL4)(pL5)\n+00013b30: 0a20 2064 6566 2062 6f74 2070 6f6c 7967 . def bot polyg\n+00013b40: 6f6e 2028 7052 3229 2870 4c32 2928 704c on (pR2)(pL2)(pL\n+00013b50: 3329 2870 5233 290a 2020 6465 6620 646f 3)(pR3). def do\n+00013b60: 6f72 2070 6f6c 7967 6f6e 5b66 696c 6c63 or polygon[fillc\n+00013b70: 6f6c 6f72 3d62 726f 776e 5d20 2870 4431 olor=brown] (pD1\n+00013b80: 2928 7044 3229 2870 4433 2928 7044 3429 )(pD2)(pD3)(pD4)\n+00013b90: 0a20 2064 6566 2068 6f75 7365 207b 207b . def house { {\n+00013ba0: 7267 747d 7b6c 6674 7d7b 6672 747d 7b62 rgt}{lft}{frt}{b\n+00013bb0: 636b 7d7b 7466 727d 7b74 626b 7d7b 626f ck}{tfr}{tbk}{bo\n+00013bc0: 747d 7b64 6f6f 727d 207d 0a20 2020 5469 t}{door} }. Ti\n+00013bd0: 6d65 2066 6f72 2061 2073 616e 6974 7920 me for a sanity \n+00013be0: 6368 6563 6b2e 2020 4164 6420 7468 6520 check. Add the \n+00013bf0: 6c69 6e65 0a20 207b 686f 7573 657d 0a61 line. {house}.a\n+00013c00: 6e64 2074 6869 7320 6973 2077 6861 7420 nd this is what \n+00013c10: 7765 2067 6574 2e0a 0a00 085b 696d 6167 we get.....[imag\n+00013c20: 6520 7372 633d 2265 7831 3330 2e70 6e67 e src=\"ex130.png\n+00013c30: 2220 7465 7874 3d22 496d 6167 6520 6578 \" text=\"Image ex\n+00013c40: 3133 3020 6f6d 6974 7465 6420 696e 2074 130 omitted in t\n+00013c50: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t\n+00013c60: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.\"..\n+00013c70: 5d0a 0a54 6869 7320 6973 2063 6f72 7265 ]..This is corre\n+00013c80: 6374 2c20 6275 7420 646f 6573 206e 6f74 ct, but does not\n+00013c90: 2072 6576 6561 6c20 7665 7279 206d 7563 reveal very muc\n+00013ca0: 682e 2020 436f 6d6d 6f6e 2065 7272 6f72 h. Common error\n+00013cb0: 7320 6172 650a 6d69 7370 6c61 6365 6420 s are.misplaced \n+00013cc0: 7665 7274 6963 6573 2061 6e64 2070 6f6c vertices and pol\n+00013cd0: 7967 6f6e 7320 6d69 7373 696e 6720 656e ygons missing en\n+00013ce0: 7469 7265 6c79 2064 7565 2074 6f20 696e tirely due to in\n+00013cf0: 636f 7272 6563 7420 7665 7274 6578 0a6f correct vertex.o\n+00013d00: 7264 6572 2e20 2054 6f20 7275 6c65 2074 rder. To rule t\n+00013d10: 6865 7365 206f 7574 2c20 6c65 7427 7320 hese out, let's \n+00013d20: 696e 7370 6563 7420 616c 6c20 7369 6465 inspect all side\n+00013d30: 7320 6f66 2074 6865 2068 6f75 7365 2e20 s of the house. \n+00013d40: 2054 6869 730a 6973 206e 6f74 2068 6172 This.is not har\n+00013d50: 642e 2020 4d65 7265 6c79 2072 6570 6c61 d. Merely repla\n+00013d60: 6365 2074 6865 2072 6566 6572 656e 6365 ce the reference\n+00013d70: 207b 686f 7573 657d 2077 6974 6820 6120 {house} with a \n+00013d80: e280 9872 6570 6561 74e2 8099 2e0a 2a4e ...repeat.....*N\n+00013d90: 6f74 6520 5265 7065 6174 733a 3a2e 0a20 ote Repeats::.. \n+00013da0: 2072 6570 6561 7420 7b20 3133 2c20 726f repeat { 13, ro\n+00013db0: 7461 7465 2833 302c 205b 312c 322c 335d tate(30, [1,2,3]\n+00013dc0: 292c 2074 7261 6e73 6c61 7465 285b 332c ), translate([3,\n+00013dd0: 302c 305d 2920 7d20 7b68 6f75 7365 7d0a 0,0]) } {house}.\n+00013de0: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n+00013df0: 3134 302e 706e 6722 2074 6578 743d 2249 140.png\" text=\"I\n+00013e00: 6d61 6765 2065 7831 3430 206f 6d69 7474 mage ex140 omitt\n+00013e10: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n+00013e20: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n+00013e30: 656e 742e 2200 085d 0a0a 4167 6169 6e20 ent.\"..]..Again \n+00013e40: 7468 696e 6773 206c 6f6f 6b20 636f 7272 things look corr\n+00013e50: 6563 742e 2020 4e6f 7465 2074 6861 7420 ect. Note that \n+00013e60: 7468 6520 6869 6464 656e 2073 7572 6661 the hidden surfa\n+00013e70: 6365 2061 6c67 6f72 6974 686d 0a68 616e ce algorithm.han\n+00013e80: 646c 6573 2069 6e74 6572 7365 6374 696e dles intersectin\n+00013e90: 6720 706f 6c79 676f 6e73 2063 6f72 7265 g polygons corre\n+00013ea0: 6374 6c79 2077 6865 7265 2073 6f6d 6520 ctly where some \n+00013eb0: 636f 7069 6573 206f 6620 7468 6520 686f copies of the ho\n+00013ec0: 7573 650a 6f76 6572 6c61 702e 0a0a 2020 use.overlap... \n+00013ed0: 204c 6574 2773 206c 6179 206f 7574 2074 Let's lay out t\n+00013ee0: 6865 2067 656f 6d65 7472 7920 6f66 2070 he geometry of p\n+00013ef0: 6572 7370 6563 7469 7665 2070 726f 6a65 erspective proje\n+00013f00: 6374 696f 6e20 6f66 2074 6865 2068 6f75 ction of the hou\n+00013f10: 7365 0a6f 6e74 6f20 6120 706c 616e 6520 se.onto a plane \n+00013f20: 7769 7468 2072 6179 7320 7061 7373 696e with rays passin\n+00013f30: 6720 7468 726f 7567 6820 7468 6520 6f72 g through the or\n+00013f40: 6967 696e 2e20 2042 6567 696e 2062 7920 igin. Begin by \n+00013f50: 706f 7369 7469 6f6e 696e 670a 7468 6520 positioning.the \n+00013f60: 686f 7573 6520 7477 656c 7665 2075 6e69 house twelve uni\n+00013f70: 7473 2062 6163 6b20 6f6e 2074 6865 206e ts back on the n\n+00013f80: 6567 6174 6976 6520 7a2d 6178 6973 2061 egative z-axis a\n+00013f90: 6e64 2061 6464 696e 6720 6120 7365 7420 nd adding a set \n+00013fa0: 6f66 0a63 6f6f 7264 696e 6174 6520 6178 of.coordinate ax\n+00013fb0: 6573 2e20 2054 6f20 6d6f 7665 2074 6865 es. To move the\n+00013fc0: 2068 6f75 7365 2077 6520 6e65 6564 206f house we need o\n+00013fd0: 6e6c 7920 6368 616e 6765 2074 6865 2022 nly change the \"\n+00013fe0: 686f 7573 650a 706f 7369 7469 6f6e 696e house.positionin\n+00013ff0: 6722 2074 7261 6e73 666f 726d 2064 6566 g\" transform def\n+00014000: 696e 6564 2065 6172 6c69 6572 2e0a 2020 ined earlier.. \n+00014010: 6465 6620 6870 2072 6f74 6174 6528 2d34 def hp rotate(-4\n+00014020: 302c 205b 302c 312c 305d 2920 7468 656e 0, [0,1,0]) then\n+00014030: 2074 7261 6e73 6c61 7465 285b 302c 302c translate([0,0,\n+00014040: 2d31 325d 290a 2020 6465 6620 6178 6573 -12]). def axes\n+00014050: 207b 0a20 2020 2064 6566 2073 7a20 310a {. def sz 1.\n+00014060: 2020 2020 6c69 6e65 205b 6172 726f 7773 line [arrows\n+00014070: 3d3c 2d3e 5d20 2873 7a2c 302c 3029 284f =<->] (sz,0,0)(O\n+00014080: 2928 302c 737a 2c30 290a 2020 2020 6c69 )(0,sz,0). li\n+00014090: 6e65 205b 6172 726f 7773 3d2d 3e5d 2020 ne [arrows=->] \n+000140a0: 284f 2928 302c 302c 737a 290a 2020 2020 (O)(0,0,sz). \n+000140b0: 6c69 6e65 205b 6c69 6e65 7769 6474 683d line [linewidth=\n+000140c0: 2e32 7074 2c6c 696e 6563 6f6c 6f72 3d62 .2pt,linecolor=b\n+000140d0: 6c75 652c 6c69 6e65 7374 796c 653d 6461 lue,linestyle=da\n+000140e0: 7368 6564 5d20 284f 2928 302c 302c 2d31 shed] (O)(0,0,-1\n+000140f0: 3029 0a20 2020 2073 7065 6369 616c 207c 0). special |\n+00014100: 5c75 7075 745b 725d 2331 7b24 7824 7d5c \\uput[r]#1{$x$}\\\n+00014110: 7570 7574 5b75 5d23 327b 2479 247d 5c75 uput[u]#2{$y$}\\u\n+00014120: 7075 745b 6c5d 2333 7b24 7a24 7d7c 0a20 put[l]#3{$z$}|. \n+00014130: 2020 2020 2028 737a 2c30 2c30 2928 302c (sz,0,0)(0,\n+00014140: 737a 2c30 2928 302c 302c 737a 290a 2020 sz,0)(0,0,sz). \n+00014150: 7d0a 0a20 2020 5469 6d65 2066 6f72 2061 }.. Time for a\n+00014160: 6e6f 7468 6572 2074 6573 742e 2020 4c65 nother test. Le\n+00014170: 7427 7320 6275 696c 6420 6120 7265 616c t's build a real\n+00014180: 2076 6965 7720 7472 616e 7366 6f72 6d2c view transform,\n+00014190: 2063 7265 6174 696e 6720 610a e280 9c76 creating a....v\n+000141a0: 6972 7475 616c 2063 616d 6572 61e2 809d irtual camera...\n+000141b0: 2074 6f20 6c6f 6f6b 2061 7420 7468 6520 to look at the \n+000141c0: 7363 656e 6520 7765 2061 7265 2063 6f6e scene we are con\n+000141d0: 7374 7275 6374 696e 672e 2020 5265 706c structing. Repl\n+000141e0: 6163 6520 7468 650a e280 9872 6570 6561 ace the....repea\n+000141f0: 74e2 8099 2077 6974 680a 2020 6465 6620 t... with. def \n+00014200: 6579 6520 2831 302c 342c 3130 290a 2020 eye (10,4,10). \n+00014210: 6465 6620 6c6f 6f6b 5f61 7420 2830 2c30 def look_at (0,0\n+00014220: 2c2d 3529 0a20 2070 7574 207b 2076 6965 ,-5). put { vie\n+00014230: 7728 2865 7965 292c 2028 6c6f 6f6b 5f61 w((eye), (look_a\n+00014240: 7429 2920 7d20 7b20 7b68 6f75 7365 7d7b t)) } { {house}{\n+00014250: 6178 6573 7d20 7d0a 2020 2054 6865 20e2 axes} }. The .\n+00014260: 809c 7669 6577 2074 7261 6e73 666f 726d ..view transform\n+00014270: e280 9d20 7265 706f 7369 7469 6f6e 7320 ... repositions \n+00014280: 7468 6520 7363 656e 6520 736f 2074 6861 the scene so tha\n+00014290: 7420 7468 6520 706f 696e 7420 e280 9865 t the point ...e\n+000142a0: 7965 e280 9920 6973 0a61 7420 7468 6520 ye... is.at the \n+000142b0: 6f72 6967 696e 2061 6e64 2074 6865 2064 origin and the d\n+000142c0: 6972 6563 7469 6f6e 2066 726f 6d20 e280 irection from ..\n+000142d0: 9865 7965 e280 9920 746f 20e2 8098 6c6f .eye... to ...lo\n+000142e0: 6f6b 5f61 74e2 8099 2069 7320 7468 6520 ok_at... is the \n+000142f0: 6e65 6761 7469 7665 0a7a 2d61 7869 732e negative.z-axis.\n+00014300: 2020 5468 6973 2072 6571 7569 7265 7320 This requires \n+00014310: 6120 726f 7461 7469 6f6e 2061 6e64 2061 a rotation and a\n+00014320: 2074 7261 6e73 6c61 7469 6f6e 2074 6861 translation tha\n+00014330: 7420 6172 6520 616c 6c20 7061 636b 6564 t are all packed\n+00014340: 0a69 6e74 6f20 7468 6520 636f 6e73 7472 .into the constr\n+00014350: 7563 746f 7220 e280 9876 6965 77e2 8099 uctor ...view...\n+00014360: 2e0a 0a00 085b 696d 6167 6520 7372 633d .....[image src=\n+00014370: 2265 7831 3530 2e70 6e67 2220 7465 7874 \"ex150.png\" text\n+00014380: 3d22 496d 6167 6520 6578 3135 3020 6f6d =\"Image ex150 om\n+00014390: 6974 7465 6420 696e 2074 6578 7420 7665 itted in text ve\n+000143a0: 7273 696f 6e20 6f66 2074 6869 7320 646f rsion of this do\n+000143b0: 6375 6d65 6e74 2e22 0008 5d0a 0a54 6869 cument.\"..]..Thi\n+000143c0: 7320 6973 2073 7461 7274 696e 6720 746f s is starting to\n+000143d0: 206c 6f6f 6b20 676f 6f64 2120 2041 6464 look good! Add\n+000143e0: 2074 6865 2070 726f 6a65 6374 696f 6e20 the projection \n+000143f0: 706c 616e 6520 6861 6c66 2077 6179 0a62 plane half way.b\n+00014400: 6574 7765 656e 2074 6865 206f 7269 6769 etween the origi\n+00014410: 6e20 616e 6420 7468 6520 686f 7573 6520 n and the house \n+00014420: 6174 207a 3d2d 352e 2020 5765 276c 6c20 at z=-5. We'll \n+00014430: 7472 7920 7468 6520 616e 676c 6520 6172 try the angle ar\n+00014440: 6775 6d65 6e74 0a66 6561 7475 7265 206f gument.feature o\n+00014450: 6620 e280 9873 7065 6369 616c e280 9920 f ...special... \n+00014460: 746f 2070 6f73 6974 696f 6e20 6120 6c61 to position a la\n+00014470: 6265 6c2e 0a20 2064 6566 2070 2035 2025 bel.. def p 5 %\n+00014480: 2070 726f 6a65 6374 696f 6e20 6469 7374 projection dist\n+00014490: 616e 6365 2028 706c 616e 6520 6174 207a ance (plane at z\n+000144a0: 3d2d 7029 0a20 2064 6566 2070 726f 6a65 =-p). def proje\n+000144b0: 6374 696f 6e5f 706c 616e 6520 7b0a 2020 ction_plane {. \n+000144c0: 2020 6465 6620 737a 2031 2e35 0a20 2020 def sz 1.5. \n+000144d0: 2070 6f6c 7967 6f6e 2028 2d73 7a2c 2d73 polygon (-sz,-s\n+000144e0: 7a2c 2d70 2928 737a 2c2d 737a 2c2d 7029 z,-p)(sz,-sz,-p)\n+000144f0: 2873 7a2c 737a 2c2d 7029 282d 737a 2c73 (sz,sz,-p)(-sz,s\n+00014500: 7a2c 2d70 290a 2020 2020 7370 6563 6961 z,-p). specia\n+00014510: 6c20 7c5c 7270 7574 5b62 5d23 312d 3223 l |\\rput[b]#1-2#\n+00014520: 337b 5c66 6f6f 746e 6f74 6573 697a 655c 3{\\footnotesize\\\n+00014530: 7366 2070 726f 6a65 6374 696f 6e20 706c sf projection pl\n+00014540: 616e 657d 7c20 0a20 2020 2020 2028 2d73 ane}| . (-s\n+00014550: 7a2c 2d73 7a2c 2d70 2928 737a 2c2d 737a z,-sz,-p)(sz,-sz\n+00014560: 2c2d 7029 2830 2c2d 737a 2b2e 312c 2d70 ,-p)(0,-sz+.1,-p\n+00014570: 290a 2020 7d0a 4164 6420 7b70 726f 6a65 ). }.Add {proje\n+00014580: 6374 696f 6e5f 706c 616e 657d 2074 6f20 ction_plane} to \n+00014590: 7468 6520 6c69 7374 206f 6620 6f62 6a65 the list of obje\n+000145a0: 6374 7320 696e 2074 6865 20e2 8098 7075 cts in the ...pu\n+000145b0: 74e2 8099 2061 626f 7665 2e0a 0a00 085b t... above.....[\n+000145c0: 696d 6167 6520 7372 633d 2265 7831 3630 image src=\"ex160\n+000145d0: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png\" text=\"Imag\n+000145e0: 6520 6578 3136 3020 6f6d 6974 7465 6420 e ex160 omitted \n+000145f0: 696e 2074 6578 7420 7665 7273 696f 6e20 in text version \n+00014600: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document\n+00014610: 2e22 0008 5d0a 0a20 2020 5468 6520 7761 .\"..].. The wa\n+00014620: 7920 7765 2063 6f6e 7374 7275 6374 6564 y we constructed\n+00014630: 2074 6865 2070 6f69 6e74 7320 6f66 2074 the points of t\n+00014640: 6865 2068 6f75 7365 206e 6f77 206d 616b he house now mak\n+00014650: 6573 2069 7420 6561 7379 2074 6f0a 6472 es it easy to.dr\n+00014660: 6177 2072 6179 7320 6f66 2070 726f 6a65 aw rays of proje\n+00014670: 6374 696f 6e2e 2020 5765 276c 6c20 6361 ction. We'll ca\n+00014680: 7374 206f 6e65 2072 6179 2066 726f 6d20 st one ray from \n+00014690: 6576 6572 7920 7669 7369 626c 6520 7665 every visible ve\n+000146a0: 7274 6578 0a6f 6620 7468 6520 686f 7573 rtex.of the hous\n+000146b0: 6520 616e 6420 6465 6669 6e65 206f 7074 e and define opt\n+000146c0: 696f 6e73 2073 6f20 7468 6520 6170 7065 ions so the appe\n+000146d0: 6172 616e 6365 206f 6620 616c 6c20 7261 arance of all ra\n+000146e0: 7973 2063 616e 2062 650a 6368 616e 6765 ys can be.change\n+000146f0: 6420 6174 2074 6865 2073 616d 6520 7469 d at the same ti\n+00014700: 6d65 2e0a 2020 6465 6620 7072 6f6a 6563 me.. def projec\n+00014710: 7469 6f6e 5f72 6179 7320 7b0a 2020 2020 tion_rays {. \n+00014720: 6465 6620 7261 796f 7074 205b 6c69 6e65 def rayopt [line\n+00014730: 7769 6474 683d 2e33 7074 2c6c 696e 6563 width=.3pt,linec\n+00014740: 6f6c 6f72 3d6c 6967 6874 6772 6179 5d0a olor=lightgray].\n+00014750: 2020 2020 6c69 6e65 205b 7261 796f 7074 line [rayopt\n+00014760: 5d28 4f29 2870 5231 2920 6c69 6e65 205b ](O)(pR1) line [\n+00014770: 7261 796f 7074 5d28 4f29 2870 5232 2920 rayopt](O)(pR2) \n+00014780: 6c69 6e65 5b72 6179 6f70 745d 284f 2928 line[rayopt](O)(\n+00014790: 7052 3329 0a20 2020 206c 696e 6520 5b72 pR3). line [r\n+000147a0: 6179 6f70 745d 284f 2928 7052 3429 206c ayopt](O)(pR4) l\n+000147b0: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)(\n+000147c0: 7052 3529 0a20 2020 206c 696e 6520 5b72 pR5). line [r\n+000147d0: 6179 6f70 745d 284f 2928 704c 3129 206c ayopt](O)(pL1) l\n+000147e0: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)(\n+000147f0: 704c 3229 206c 696e 655b 7261 796f 7074 pL2) line[rayopt\n+00014800: 5d28 4f29 2870 4c35 290a 2020 2020 6c69 ](O)(pL5). li\n+00014810: 6e65 205b 7261 796f 7074 5d28 4f29 2870 ne [rayopt](O)(p\n+00014820: 4431 2920 6c69 6e65 205b 7261 796f 7074 D1) line [rayopt\n+00014830: 5d28 4f29 2870 4432 2920 0a20 2020 206c ](O)(pD2) . l\n+00014840: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)(\n+00014850: 7044 3329 206c 696e 6520 5b72 6179 6f70 pD3) line [rayop\n+00014860: 745d 284f 2928 7044 3429 200a 2020 7d0a t](O)(pD4) . }.\n+00014870: 5468 6520 7265 7375 6c74 2069 7320 7368 The result is sh\n+00014880: 6f77 6e20 6865 7265 2e0a 0a00 085b 696d own here.....[im\n+00014890: 6167 6520 7372 633d 2265 7831 3730 2e70 age src=\"ex170.p\n+000148a0: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng\" text=\"Image \n+000148b0: 6578 3137 3020 6f6d 6974 7465 6420 696e ex170 omitted in\n+000148c0: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of\n+000148d0: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document.\"\n+000148e0: 0008 5d0a 0a54 6865 2072 6179 7320 7069 ..]..The rays pi\n+000148f0: 6572 6365 2074 6865 2070 726f 6a65 6374 erce the project\n+00014900: 696f 6e20 706c 616e 6520 6174 2074 6865 ion plane at the\n+00014910: 2063 6f72 7265 7370 6f6e 6469 6e67 2070 corresponding p\n+00014920: 6f69 6e74 7320 6f6e 2074 6865 0a70 6572 oints on the.per\n+00014930: 7370 6563 7469 7665 2069 6d61 6765 2077 spective image w\n+00014940: 6520 6172 6520 7472 7969 6e67 2074 6f20 e are trying to \n+00014950: 6472 6177 2e20 2041 6c62 7265 6368 7420 draw. Albrecht \n+00014960: 44c3 bc72 6572 2061 6e64 2068 6973 0a52 D..rer and his.R\n+00014970: 656e 6169 7373 616e 6365 2063 6f6e 7465 enaissance conte\n+00014980: 6d70 6f72 6172 6965 7320 6861 6420 7468 mporaries had th\n+00014990: 6520 7361 6d65 2069 6465 6120 696e 2074 e same idea in t\n+000149a0: 6865 2065 6172 6c79 2031 3530 3027 732e he early 1500's.\n+000149b0: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=\"\n+000149c0: 6475 6572 6572 2e70 6e67 2220 7465 7874 duerer.png\" text\n+000149d0: 3d22 496d 6167 6520 6f66 2044 7565 7265 =\"Image of Duere\n+000149e0: 7227 7320 7065 7273 7065 6374 6976 6520 r's perspective \n+000149f0: 636f 6d70 7574 6572 206f 6d69 7474 6564 computer omitted\n+00014a00: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n+00014a10: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n+00014a20: 742e 2200 085d 0a0a 2020 2041 6c6c 2074 t.\"..].. All t\n+00014a30: 6861 7427 7320 6c65 6674 2069 7320 746f hat's left is to\n+00014a40: 2066 696e 6420 6120 7761 7920 746f 2063 find a way to c\n+00014a50: 6f6e 6e65 6374 2074 6865 2070 6f69 6e74 onnect the point\n+00014a60: 7320 6f66 2074 6865 2068 6f75 7365 0a6f s of the house.o\n+00014a70: 6e20 7468 6520 7072 6f6a 6563 7469 6f6e n the projection\n+00014a80: 2070 6c61 6e65 2e20 2057 6520 636f 756c plane. We coul\n+00014a90: 6420 7075 6c6c 206f 7574 2061 2067 6f6f d pull out a goo\n+00014aa0: 6420 636f 6d70 7574 6572 2067 7261 7068 d computer graph\n+00014ab0: 6963 730a 7465 7874 2c20 6669 6e64 2074 ics.text, find t\n+00014ac0: 6865 206e 6563 6573 7361 7279 206d 6174 he necessary mat\n+00014ad0: 7269 782c 2061 6e64 2065 6e74 6572 2069 rix, and enter i\n+00014ae0: 7420 6f75 7273 656c 7665 7320 6173 2061 t ourselves as a\n+00014af0: 2074 7261 6e73 666f 726d 0a6c 6974 6572 transform.liter\n+00014b00: 616c 2e20 202a 4e6f 7465 2054 7261 6e73 al. *Note Trans\n+00014b10: 666f 726d 206c 6974 6572 616c 733a 3a2e form literals::.\n+00014b20: 2020 5468 6174 2077 6f72 6b20 6973 2061 That work is a\n+00014b30: 6c72 6561 6479 2064 6f6e 652c 0a68 6f77 lready done,.how\n+00014b40: 6576 6572 2e20 2057 6520 6361 6e20 7573 ever. We can us\n+00014b50: 6520 7468 6520 e280 9870 726f 6a65 6374 e the ...project\n+00014b60: 2870 29e2 8099 2063 6f6e 7374 7275 6374 (p)... construct\n+00014b70: 6f72 2e0a 0a20 2020 5468 6572 6520 6172 or... There ar\n+00014b80: 6520 7374 696c 6c20 736f 6d65 2064 6574 e still some det\n+00014b90: 6169 6c73 2074 6861 7420 7265 7175 6972 ails that requir\n+00014ba0: 6520 6361 7265 2e20 2050 726f 6a65 6374 e care. Project\n+00014bb0: 696f 6e20 7769 6c6c 0a66 6c61 7474 656e ion will.flatten\n+00014bc0: 2077 6861 7465 7665 7220 6973 2074 7261 whatever is tra\n+00014bd0: 6e73 666f 726d 6564 206f 6e74 6f20 7468 nsformed onto th\n+00014be0: 6520 706c 616e 6520 7a3d 2d70 2e20 2054 e plane z=-p. T\n+00014bf0: 6865 7265 666f 7265 2061 6e79 2070 6172 herefore any par\n+00014c00: 740a 6f66 2074 6865 2068 6f75 7365 2063 t.of the house c\n+00014c10: 6f75 6c64 2064 6973 6170 7065 6172 2062 ould disappear b\n+00014c20: 6568 696e 6420 7468 6520 7072 6f6a 6563 ehind the projec\n+00014c30: 7469 6f6e 2070 6c61 6e65 2028 7468 6520 tion plane (the \n+00014c40: 6869 6464 656e 0a73 7572 6661 6365 2061 hidden.surface a\n+00014c50: 6c67 6f72 6974 686d 206f 7264 6572 7320 lgorithm orders \n+00014c60: 6f62 6a65 6374 7320 6174 2074 6865 2073 objects at the s\n+00014c70: 616d 6520 6465 7074 6820 6172 6269 7472 ame depth arbitr\n+00014c80: 6172 696c 7929 2e20 2054 6865 0a64 6f6f arily). The.doo\n+00014c90: 7220 6d61 7920 616c 736f 2064 6973 6170 r may also disap\n+00014ca0: 7065 6172 2062 6568 696e 6420 7468 6520 pear behind the \n+00014cb0: 6672 6f6e 7420 6f66 2074 6865 2068 6f75 front of the hou\n+00014cc0: 7365 2e20 2054 6f20 6d61 6b65 2073 7572 se. To make sur\n+00014cd0: 650a 6576 6572 7974 6869 6e67 2072 656d e.everything rem\n+00014ce0: 6169 6e73 2076 6973 6962 6c65 2c20 7765 ains visible, we\n+00014cf0: 276c 6c20 706c 6163 6520 7468 6520 686f 'll place the ho\n+00014d00: 7573 6520 6120 7469 6e79 2062 6974 2069 use a tiny bit i\n+00014d10: 6e20 6672 6f6e 7420 6f66 0a74 6865 2070 n front of.the p\n+00014d20: 726f 6a65 6374 696f 6e20 706c 616e 6520 rojection plane \n+00014d30: 616e 6420 6120 7365 636f 6e64 2063 6f70 and a second cop\n+00014d40: 7920 6f66 2074 6865 2064 6f6f 7220 696e y of the door in\n+00014d50: 2066 726f 6e74 206f 6620 7468 650a 686f front of the.ho\n+00014d60: 7573 652e 0a20 2064 6566 2070 726f 6a65 use.. def proje\n+00014d70: 6374 696f 6e20 7b0a 2020 2020 2520 6520 ction {. % e \n+00014d80: 6973 2061 2073 6d61 6c6c 206e 756d 6265 is a small numbe\n+00014d90: 7220 6465 6669 6e65 6420 6162 6f76 650a r defined above.\n+00014da0: 2020 2020 7075 7420 7b20 7072 6f6a 6563 put { projec\n+00014db0: 7428 7029 2074 6865 6e20 7472 616e 736c t(p) then transl\n+00014dc0: 6174 6528 5b30 2c30 2c31 2a65 5d29 207d ate([0,0,1*e]) }\n+00014dd0: 207b 686f 7573 657d 0a20 2020 2070 7574 {house}. put\n+00014de0: 207b 2070 726f 6a65 6374 2870 2920 7468 { project(p) th\n+00014df0: 656e 2074 7261 6e73 6c61 7465 285b 302c en translate([0,\n+00014e00: 302c 322a 655d 2920 7d20 7b64 6f6f 727d 0,2*e]) } {door}\n+00014e10: 0a20 207d 0a0a 0008 5b69 6d61 6765 2073 . }....[image s\n+00014e20: 7263 3d22 6578 3138 302e 706e 6722 2074 rc=\"ex180.png\" t\n+00014e30: 6578 743d 2249 6d61 6765 2065 7831 3830 ext=\"Image ex180\n+00014e40: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text\n+00014e50: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this\n+00014e60: 2064 6f63 756d 656e 742e 2200 085d 0a0a document.\"..]..\n+00014e70: 2020 2049 6620 796f 7520 6861 7665 2073 If you have s\n+00014e80: 7475 6469 6564 2061 6e64 2075 6e64 6572 tudied and under\n+00014e90: 7374 616e 6420 616c 6c20 7468 6973 2c20 stand all this, \n+00014ea0: 796f 7520 6172 6520 7765 6c6c 206f 6e20 you are well on \n+00014eb0: 7468 6520 7761 790a 746f 2073 7563 6365 the way.to succe\n+00014ec0: 7373 2077 6974 6820 e280 9873 6b65 7463 ss with ...sketc\n+00014ed0: 68e2 8099 2e20 204e 6f74 2073 686f 776e h.... Not shown\n+00014ee0: 2061 7265 2074 6865 2032 3020 6f72 2073 are the 20 or s\n+00014ef0: 6f20 6974 6572 6174 696f 6e73 2074 6861 o iterations tha\n+00014f00: 740a 7765 7265 2072 6571 7569 7265 6420 t.were required \n+00014f10: 746f 2066 696e 6420 6120 7265 6173 6f6e to find a reason\n+00014f20: 6162 6c65 2076 6965 7769 6e67 2061 6e67 able viewing ang\n+00014f30: 6c65 2061 6e64 2068 6f75 7365 2070 6f73 le and house pos\n+00014f40: 6974 696f 6e2c 0a65 7463 2e20 204e 6f6e ition,.etc. Non\n+00014f50: 6574 6865 6c65 7373 2c20 7468 6973 2064 etheless, this d\n+00014f60: 7261 7769 6e67 2077 6173 2063 6f6d 706c rawing was compl\n+00014f70: 6574 6564 2069 6e20 6162 6f75 7420 616e eted in about an\n+00014f80: 2068 6f75 722e 2020 5768 696c 6520 610a hour. While a.\n+00014f90: 4755 4920 746f 6f6c 206d 6179 2068 6176 GUI tool may hav\n+00014fa0: 6520 6265 656e 2061 206c 6974 746c 6520 e been a little \n+00014fb0: 6661 7374 6572 2c20 6974 2069 7320 756e faster, it is un\n+00014fc0: 6c69 6b65 6c79 2074 6861 7420 6120 6e65 likely that a ne\n+00014fd0: 770a 6472 6177 696e 672c 2069 7473 656c w.drawing, itsel\n+00014fe0: 6620 6120 7065 7273 7065 6374 6976 6520 f a perspective \n+00014ff0: 7072 6f6a 6563 7469 6f6e 206f 6620 7468 projection of th\n+00015000: 6520 7363 656e 652c 2063 6f75 6c64 2062 e scene, could b\n+00015010: 650a 6765 6e65 7261 7465 6420 7769 7468 e.generated with\n+00015020: 2074 776f 206d 6f72 6520 6d69 6e75 7465 two more minute\n+00015030: 7327 2077 6f72 6b21 2020 4a75 7374 2063 s' work! Just c\n+00015040: 6861 6e67 6520 7468 6520 7669 6577 2074 hange the view t\n+00015050: 7261 6e73 666f 726d 0a74 6f0a 2020 7075 ransform.to. pu\n+00015060: 7420 7b20 7669 6577 2828 6579 6529 2c20 t { view((eye), \n+00015070: 286c 6f6f 6b5f 6174 2929 2074 6865 6e20 (look_at)) then \n+00015080: 7065 7273 7065 6374 6976 6528 3929 207d perspective(9) }\n+00015090: 207b 202e 2e2e 0a61 6e64 2070 726f 6475 { ....and produ\n+000150a0: 6365 2074 6869 732e 0a0a 0008 5b69 6d61 ce this.....[ima\n+000150b0: 6765 2073 7263 3d22 6578 3139 302e 706e ge src=\"ex190.pn\n+000150c0: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n+000150d0: 7831 3930 206f 6d69 7474 6564 2069 6e20 x190 omitted in \n+000150e0: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n+000150f0: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n+00015100: 085d 0a0a 1f0a 4669 6c65 3a20 736b 6574 .]....File: sket\n+00015110: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n+00015120: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n+00015130: 696e 672c 2020 4e65 7874 3a20 4120 6869 ing, Next: A hi\n+00015140: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n+00015150: 2c20 2050 7265 763a 204f 7665 7276 6965 , Prev: Overvie\n+00015160: 772c 2020 5570 3a20 4275 696c 6469 6e67 w, Up: Building\n+00015170: 2061 2064 7261 7769 6e67 0a0a 342e 3220 a drawing..4.2 \n+00015180: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n+00015190: 696e 670a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ing.============\n+000151a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a4c 6574 ===========..Let\n+000151b0: 2773 206c 6f6f 6b20 6174 2061 2064 7261 's look at a dra\n+000151c0: 7769 6e67 2074 6861 7420 7265 7072 6573 wing that repres\n+000151d0: 656e 7473 2074 6865 206b 696e 6420 6f66 ents the kind of\n+000151e0: 2070 726f 626c 656d 20e2 8098 736b 6574 problem ...sket\n+000151f0: 6368 e280 9920 7761 730a 6d65 616e 7420 ch... was.meant \n+00015200: 746f 2073 6f6c 7665 2d2d 6120 7061 6972 to solve--a pair\n+00015210: 206f 6620 7465 7874 626f 6f6b 2066 6967 of textbook fig\n+00015220: 7572 6573 2072 6567 6172 6469 6e67 2061 ures regarding a\n+00015230: 2070 6f6c 7967 6f6e 616c 0a61 7070 726f polygonal.appro\n+00015240: 7869 6d61 7469 6f6e 206f 6620 6120 7472 ximation of a tr\n+00015250: 756e 6361 7465 6420 636f 6e65 2e20 2048 uncated cone. H\n+00015260: 6572 6520 6172 6520 7468 6520 7069 6374 ere are the pict\n+00015270: 7572 6573 2077 6520 7769 6c6c 0a70 726f ures we will.pro\n+00015280: 6475 6365 2e0a 0a00 085b 696d 6167 6520 duce.....[image \n+00015290: 7372 633d 2265 7832 3530 2e70 6e67 2220 src=\"ex250.png\" \n+000152a0: 7465 7874 3d22 496d 6167 6520 6578 3235 text=\"Image ex25\n+000152b0: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex\n+000152c0: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi\n+000152d0: 7320 646f 6375 6d65 6e74 2e22 0008 5d20 s document.\"..] \n+000152e0: 2020 2020 0008 5b69 6d61 6765 2073 7263 ..[image src\n+000152f0: 3d22 6578 3236 302e 706e 6722 2074 6578 =\"ex260.png\" tex\n+00015300: 743d 2249 6d61 6765 2065 7832 3630 206f t=\"Image ex260 o\n+00015310: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n+00015320: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n+00015330: 6f63 756d 656e 742e 2200 085d 0a0a 2020 ocument.\"..].. \n+00015340: 2054 6865 2063 6f6e 6520 7368 6170 6520 The cone shape \n+00015350: 6973 206a 7573 7420 6120 7377 6570 7420 is just a swept \n+00015360: 6c69 6e65 2077 6974 6820 6e6f 2063 6c6f line with no clo\n+00015370: 7375 7265 2074 6167 2061 6e64 2063 756c sure tag and cul\n+00015380: 6c69 6e67 0a74 7572 6e65 6420 6f66 662e ling.turned off.\n+00015390: 2020 4265 6769 6e20 6279 2073 6574 7469 Begin by setti\n+000153a0: 6e67 2075 7020 736f 6d65 2075 7365 6675 ng up some usefu\n+000153b0: 6c20 636f 6e73 7461 6e74 732e 0a20 2064 l constants.. d\n+000153c0: 6566 204f 2028 302c 302c 3029 2064 6566 ef O (0,0,0) def\n+000153d0: 2049 205b 312c 302c 305d 2064 6566 204a I [1,0,0] def J\n+000153e0: 205b 302c 312c 305d 2064 6566 204b 205b [0,1,0] def K [\n+000153f0: 302c 302c 315d 0a20 2064 6566 2070 3020 0,0,1]. def p0 \n+00015400: 2831 2c32 2920 6465 6620 7031 2028 312e (1,2) def p1 (1.\n+00015410: 352c 3029 2064 6566 204e 2038 0a20 2064 5,0) def N 8. d\n+00015420: 6566 2073 6567 5f72 6f74 2072 6f74 6174 ef seg_rot rotat\n+00015430: 6528 3336 3020 2f20 4e2c 205b 4a5d 290a e(360 / N, [J]).\n+00015440: 5468 6520 706f 696e 7473 20e2 8098 7030 The points ...p0\n+00015450: e280 9920 616e 6420 e280 9870 31e2 8099 ... and ...p1...\n+00015460: 2061 7265 2074 6865 2065 6e64 2070 6f69 are the end poi\n+00015470: 6e74 7320 6f66 2074 6865 206c 696e 6520 nts of the line \n+00015480: 746f 2062 6520 7377 6570 742e 0a54 6865 to be swept..The\n+00015490: 2064 6566 696e 6974 696f 6e20 e280 9873 definition ...s\n+000154a0: 6567 5f72 6f74 e280 9920 6973 2074 6865 eg_rot... is the\n+000154b0: 2073 7765 6570 2074 7261 6e73 666f 726d sweep transform\n+000154c0: 6174 696f 6e2e 2020 5769 7468 2074 6865 ation. With the\n+000154d0: 7365 2c20 7468 650a 636f 6e65 2069 7473 se, the.cone its\n+000154e0: 656c 6620 6973 2073 696d 706c 652e 0a20 elf is simple.. \n+000154f0: 2073 7765 6570 5b63 756c 6c3d 6661 6c73 sweep[cull=fals\n+00015500: 655d 207b 204e 2c20 5b5b 7365 675f 726f e] { N, [[seg_ro\n+00015510: 745d 5d20 7d20 6c69 6e65 2870 3029 2870 t]] } line(p0)(p\n+00015520: 3129 0a0a 2020 2054 6865 2061 7865 7320 1).. The axes \n+00015530: 6172 6520 6e65 7874 2061 6e64 2069 6e63 are next and inc\n+00015540: 6c75 6465 2061 6e20 696e 7465 7265 7369 lude an interesi\n+00015550: 6e67 2074 7269 636b 2074 6861 7420 7368 ng trick that sh\n+00015560: 6f77 7320 7468 650a 6869 6464 656e 2070 ows the.hidden p\n+00015570: 6172 7473 2061 7320 646f 7474 6564 206c arts as dotted l\n+00015580: 696e 6573 2e20 2054 6865 2073 6563 7265 ines. The secre\n+00015590: 7420 6973 2064 7261 7720 7468 6520 6178 t is draw the ax\n+000155a0: 6573 2074 7769 6365 2d2d 736f 6c69 640a es twice--solid.\n+000155b0: 6c69 6e65 7320 7769 7468 2074 6865 206e lines with the n\n+000155c0: 6f72 6d61 6c20 6869 6464 656e 2073 7572 ormal hidden sur\n+000155d0: 6661 6365 2061 6c67 6f72 6974 686d 2069 face algorithm i\n+000155e0: 6e20 6566 6665 6374 2c20 616e 6420 7468 n effect, and th\n+000155f0: 656e 0a64 6f74 7465 6420 7769 7468 2074 en.dotted with t\n+00015600: 6865 206f 7074 696f 6e20 e280 986c 6179 he option ...lay\n+00015610: 3d6f 7665 72e2 8099 2073 6f20 7468 6174 =over... so that\n+00015620: 206e 6f20 706f 6c79 676f 6e73 2063 616e no polygons can\n+00015630: 2068 6964 6520 7468 656d 2e0a 2020 6465 hide them.. de\n+00015640: 6620 6178 2028 6478 2c30 2c30 2920 2520 f ax (dx,0,0) % \n+00015650: 7469 7073 206f 6620 7468 6520 6178 6573 tips of the axes\n+00015660: 0a20 2064 6566 2061 7920 2830 2c64 792c . def ay (0,dy,\n+00015670: 3029 0a20 2064 6566 2061 7a20 2830 2c30 0). def az (0,0\n+00015680: 2c64 7a29 0a20 206c 696e 655b 6172 726f ,dz). line[arro\n+00015690: 7773 3d3c 2d3e 2c6c 696e 6577 6964 7468 ws=<->,linewidth\n+000156a0: 3d2e 3470 745d 2861 7829 284f 2928 6179 =.4pt](ax)(O)(ay\n+000156b0: 290a 2020 6c69 6e65 5b61 7272 6f77 733d ). line[arrows=\n+000156c0: 2d3e 2c6c 696e 6577 6964 7468 3d2e 3470 ->,linewidth=.4p\n+000156d0: 745d 284f 2928 617a 290a 2020 2520 7265 t](O)(az). % re\n+000156e0: 7065 6174 2064 6f74 7465 6420 6173 2061 peat dotted as a\n+000156f0: 6e20 6f76 6572 6c61 7920 746f 2068 696e n overlay to hin\n+00015700: 7420 6174 2074 6865 2068 6964 6465 6e20 t at the hidden \n+00015710: 6c69 6e65 730a 2020 6c69 6e65 5b6c 6179 lines. line[lay\n+00015720: 3d6f 7665 722c 6c69 6e65 7374 796c 653d =over,linestyle=\n+00015730: 646f 7474 6564 2c6c 696e 6577 6964 7468 dotted,linewidth\n+00015740: 3d2e 3470 745d 2861 7829 284f 2928 6179 =.4pt](ax)(O)(ay\n+00015750: 290a 2020 6c69 6e65 5b6c 6179 3d6f 7665 ). line[lay=ove\n+00015760: 722c 6c69 6e65 7374 796c 653d 646f 7474 r,linestyle=dott\n+00015770: 6564 2c6c 696e 6577 6964 7468 3d2e 3470 ed,linewidth=.4p\n+00015780: 745d 284f 2928 617a 290a 2020 7370 6563 t](O)(az). spec\n+00015790: 6961 6c7c 5c66 6f6f 746e 6f74 6573 697a ial|\\footnotesiz\n+000157a0: 650a 2020 2020 2020 2020 2020 5c75 7075 e. \\upu\n+000157b0: 745b 645d 2331 7b24 7824 7d5c 7570 7574 t[d]#1{$x$}\\uput\n+000157c0: 5b75 5d23 327b 2479 247d 5c75 7075 745b [u]#2{$y$}\\uput[\n+000157d0: 6c5d 2333 7b24 7a24 7d7c 0a20 2020 2028 l]#3{$z$}|. (\n+000157e0: 6178 2928 6179 2928 617a 290a 5468 6520 ax)(ay)(az).The \n+000157f0: 6c61 6265 6c73 2061 7265 2061 7070 6c69 labels are appli\n+00015800: 6564 2077 6974 6820 e280 9850 5354 7269 ed with ...PSTri\n+00015810: 636b 73e2 8099 2073 7065 6369 616c 206f cks... special o\n+00015820: 626a 6563 7473 2061 7320 7573 7561 6c2e bjects as usual.\n+00015830: 0a0a 2020 2046 6f72 2074 6865 2068 6569 .. For the hei\n+00015840: 6768 7420 6469 6d65 6e73 696f 6e20 6d61 ght dimension ma\n+00015850: 726b 2c20 7468 6520 706f 7765 7220 6f66 rk, the power of\n+00015860: 2061 6666 696e 6520 6172 6974 6865 7469 affine aritheti\n+00015870: 6320 6973 2076 6572 790a 6865 6c70 6675 c is very.helpfu\n+00015880: 6c2e 0a20 2064 6566 2068 6469 6d5f 7265 l.. def hdim_re\n+00015890: 6620 756e 6974 2828 7031 2920 2d20 284f f unit((p1) - (O\n+000158a0: 2929 2074 6865 6e20 5b5b 7365 675f 726f )) then [[seg_ro\n+000158b0: 745d 5d5e 320a 2020 6465 6620 6330 2028 t]]^2. def c0 (\n+000158c0: 7030 2920 7468 656e 2073 6361 6c65 285b p0) then scale([\n+000158d0: 4a5d 290a 2020 6465 6620 6830 3020 2863 J]). def h00 (c\n+000158e0: 3029 202b 2031 2e31 202a 205b 6864 696d 0) + 1.1 * [hdim\n+000158f0: 5f72 6566 5d0a 2020 6465 6620 6830 3120 _ref]. def h01 \n+00015900: 2863 3029 202b 2031 2e39 202a 205b 6864 (c0) + 1.9 * [hd\n+00015910: 696d 5f72 6566 5d0a 2020 6465 6620 6830 im_ref]. def h0\n+00015920: 3220 2863 3029 202b 2031 2e38 202a 205b 2 (c0) + 1.8 * [\n+00015930: 6864 696d 5f72 6566 5d0a 2020 6c69 6e65 hdim_ref]. line\n+00015940: 2868 3030 2928 6830 3129 0a20 2064 6566 (h00)(h01). def\n+00015950: 2068 3130 2028 4f29 202b 2031 2e36 202a h10 (O) + 1.6 *\n+00015960: 205b 6864 696d 5f72 6566 5d0a 2020 6465 [hdim_ref]. de\n+00015970: 6620 6831 3120 284f 2920 2b20 312e 3920 f h11 (O) + 1.9 \n+00015980: 2a20 5b68 6469 6d5f 7265 665d 0a20 2064 * [hdim_ref]. d\n+00015990: 6566 2068 3132 2028 4f29 202b 2031 2e38 ef h12 (O) + 1.8\n+000159a0: 202a 205b 6864 696d 5f72 6566 5d0a 2020 * [hdim_ref]. \n+000159b0: 6c69 6e65 2868 3130 2928 6831 3129 0a20 line(h10)(h11). \n+000159c0: 206c 696e 655b 6172 726f 7773 3d3c 2d3e line[arrows=<->\n+000159d0: 5d28 6830 3229 2868 3132 290a 2020 6465 ](h02)(h12). de\n+000159e0: 6620 686d 3220 2828 6830 3229 202d 2028 f hm2 ((h02) - (\n+000159f0: 4f29 202b 2028 6831 3229 202d 2028 4f29 O) + (h12) - (O)\n+00015a00: 2920 2f20 3220 2b20 284f 290a 2020 7370 ) / 2 + (O). sp\n+00015a10: 6563 6961 6c7c 5c66 6f6f 746e 6f74 6573 ecial|\\footnotes\n+00015a20: 697a 655c 7270 7574 2a23 317b 2468 247d ize\\rput*#1{$h$}\n+00015a30: 7c28 686d 3229 0a20 2020 5468 6520 6765 |(hm2). The ge\n+00015a40: 6e65 7261 6c20 6964 6561 2065 6d70 6c6f neral idea emplo\n+00015a50: 7965 6420 6865 7265 2069 7320 746f 2063 yed here is to c\n+00015a60: 6f6d 7075 7465 2061 2075 6e69 7420 2272 ompute a unit \"r\n+00015a70: 6566 6572 656e 6365 0a76 6563 746f 7222 eference.vector\"\n+00015a80: 2070 6172 616c 6c65 6c20 746f 2074 6865 parallel to the\n+00015a90: 2078 7a2d 706c 616e 6520 696e 2074 6865 xz-plane in the\n+00015aa0: 2064 6573 6972 6564 2064 6972 6563 7469 desired directi\n+00015ab0: 6f6e 206f 6620 7468 650a 6469 6d65 6e73 on of the.dimens\n+00015ac0: 696f 6e20 6672 6f6d 2074 6865 206f 7269 ion from the ori\n+00015ad0: 6769 6e2e 2020 5468 6520 7472 616e 7366 gin. The transf\n+00015ae0: 6f72 6d61 7469 6f6e 20e2 8098 5b5b 7365 ormation ...[[se\n+00015af0: 675f 726f 745d 5d5e 32e2 8099 2072 6f74 g_rot]]^2... rot\n+00015b00: 6174 6573 0a74 776f 2073 6567 6d65 6e74 ates.two segment\n+00015b10: 7320 6162 6f75 7420 7468 6520 792d 6178 s about the y-ax\n+00015b20: 6973 2e20 2057 6865 6e20 6170 706c 6965 is. When applie\n+00015b30: 6420 746f 20e2 8098 2870 3129 202d 2028 d to ...(p1) - (\n+00015b40: 4f29 e280 992c 2074 6865 0a72 6573 756c O)..., the.resul\n+00015b50: 7469 6e67 2076 6563 746f 7220 706f 696e ting vector poin\n+00015b60: 7473 2074 6f20 7468 6520 7269 6768 7420 ts to the right \n+00015b70: 6173 2073 686f 776e 2e20 2049 6e20 7468 as shown. In th\n+00015b80: 6973 206d 616e 6e65 722c 2077 6520 6361 is manner, we ca\n+00015b90: 6e0a 7069 636b 2061 6e79 2076 6572 7465 n.pick any verte\n+00015ba0: 7820 6173 2074 6865 206c 6f63 6174 696f x as the locatio\n+00015bb0: 6e20 6f66 2074 6865 2068 6569 6768 7420 n of the height \n+00015bc0: 6469 6d65 6e73 696f 6e20 6c69 6e65 7320 dimension lines \n+00015bd0: 6279 2076 6172 7969 6e67 0a74 6865 2065 by varying.the e\n+00015be0: 7870 6f6e 656e 7420 6f66 20e2 8098 5b5b xponent of ...[[\n+00015bf0: 7365 675f 726f 745d 5de2 8099 2e20 2054 seg_rot]].... T\n+00015c00: 6869 7320 6973 206f 6e6c 7920 6f6e 6520 his is only one \n+00015c10: 6f66 206d 616e 7920 706f 7373 6962 6c65 of many possible\n+00015c20: 0a73 7472 6174 6567 6965 732e 0a0a 2020 .strategies... \n+00015c30: 2054 6865 2063 6f6d 7075 7461 7469 6f6e The computation\n+00015c40: 206f 6620 e280 9868 6d32 e280 9920 6973 of ...hm2... is\n+00015c50: 2061 2075 7365 6675 6c20 6964 696f 6d20 a useful idiom \n+00015c60: 666f 7220 6669 6e64 696e 6720 7468 6520 for finding the \n+00015c70: 6365 6e74 726f 6964 0a6f 6620 6120 7365 centroid.of a se\n+00015c80: 7420 6f66 2070 6f69 6e74 732e 0a0a 2020 t of points... \n+00015c90: 2054 6865 2074 776f 2072 6164 6975 7320 The two radius \n+00015ca0: 6d61 726b 7320 6172 6520 646f 6e65 2073 marks are done s\n+00015cb0: 696d 696c 6172 6c79 2c20 736f 2077 6520 imilarly, so we \n+00015cc0: 7072 6573 656e 7420 7468 6520 636f 6465 present the code\n+00015cd0: 0a77 6974 686f 7574 2063 6f6d 6d65 6e74 .without comment\n+00015ce0: 2e0a 2020 2520 7261 6469 7573 206d 6561 .. % radius mea\n+00015cf0: 7375 7265 6d65 6e74 206d 6172 6b73 0a20 surement marks. \n+00015d00: 2064 6566 2067 6170 205b 302c 2e32 2c30 def gap [0,.2,0\n+00015d10: 5d20 2025 2075 7365 6420 746f 2063 7265 ] % used to cre\n+00015d20: 6174 6520 736d 616c 6c20 7665 7274 6963 ate small vertic\n+00015d30: 616c 2067 6170 730a 0a20 2025 2066 6972 al gaps.. % fir\n+00015d40: 7374 2072 310a 2020 6465 6620 7570 3120 st r1. def up1 \n+00015d50: 5b30 2c33 2e31 2c30 5d20 2520 7469 636b [0,3.1,0] % tick\n+00015d60: 2072 6973 6573 2061 626f 7665 2064 696d rises above dim\n+00015d70: 656e 7369 6f6e 2061 206c 6974 746c 650a ension a little.\n+00015d80: 2020 6465 6620 7231 2028 2870 3129 2074 def r1 ((p1) t\n+00015d90: 6865 6e20 5b5b 7365 675f 726f 745d 5d5e hen [[seg_rot]]^\n+00015da0: 2d32 2920 2b20 5b75 7031 5d0a 2020 6465 -2) + [up1]. de\n+00015db0: 6620 7231 6320 2872 3129 2074 6865 6e20 f r1c (r1) then \n+00015dc0: 7363 616c 6528 5b4a 5d29 0a20 2064 6566 scale([J]). def\n+00015dd0: 2072 3174 2028 7231 2920 2b20 5b67 6170 r1t (r1) + [gap\n+00015de0: 5d0a 2020 6465 6620 7231 6220 2828 7231 ]. def r1b ((r1\n+00015df0: 7429 2074 6865 6e20 7363 616c 6528 5b31 t) then scale([1\n+00015e00: 2c30 2c31 5d29 2920 2b20 5b67 6170 5d0a ,0,1])) + [gap].\n+00015e10: 2020 6c69 6e65 5b61 7272 6f77 733d 3c2d line[arrows=<-\n+00015e20: 3e5d 2872 3163 2928 7231 2920 2025 2064 >](r1c)(r1) % d\n+00015e30: 696d 656e 7369 6f6e 206c 696e 650a 2020 imension line. \n+00015e40: 6c69 6e65 2872 3162 2928 7231 7429 2020 line(r1b)(r1t) \n+00015e50: 2020 2020 2020 2020 2020 2025 2074 6963 % tic\n+00015e60: 6b0a 2020 6465 6620 7231 6d20 2828 7231 k. def r1m ((r1\n+00015e70: 2920 2d20 284f 2920 2b20 2872 3163 2920 ) - (O) + (r1c) \n+00015e80: 2d20 284f 2929 202f 2032 202b 2028 4f29 - (O)) / 2 + (O)\n+00015e90: 2025 206c 6162 656c 2070 6f73 6974 696f % label positio\n+00015ea0: 6e0a 2020 7370 6563 6961 6c20 7c5c 666f n. special |\\fo\n+00015eb0: 6f74 6e6f 7465 7369 7a65 5c72 7075 742a otnotesize\\rput*\n+00015ec0: 2331 7b24 725f 3124 7d7c 2872 316d 2920 #1{$r_1$}|(r1m) \n+00015ed0: 2025 206c 6162 656c 0a0a 2020 2520 7361 % label.. % sa\n+00015ee0: 6d65 2064 7269 6c6c 2066 6f72 2072 302c me drill for r0,\n+00015ef0: 2062 7574 206d 7573 7420 7072 6f6a 6563 but must projec\n+00015f00: 7420 646f 776e 2066 6972 7374 0a20 2064 t down first. d\n+00015f10: 6566 2075 7030 205b 302c 322e 372c 305d ef up0 [0,2.7,0]\n+00015f20: 0a20 2064 6566 2072 3020 2828 7030 2920 . def r0 ((p0) \n+00015f30: 7468 656e 2073 6361 6c65 285b 312c 302c then scale([1,0,\n+00015f40: 315d 2920 7468 656e 205b 5b73 6567 5f72 1]) then [[seg_r\n+00015f50: 6f74 5d5d 5e2d 3229 202b 205b 7570 305d ot]]^-2) + [up0]\n+00015f60: 0a20 2064 6566 2072 3063 2028 7230 2920 . def r0c (r0) \n+00015f70: 7468 656e 2073 6361 6c65 285b 4a5d 290a then scale([J]).\n+00015f80: 2020 6465 6620 7230 7420 2872 3029 202b def r0t (r0) +\n+00015f90: 205b 6761 705d 0a20 2064 6566 2072 3062 [gap]. def r0b\n+00015fa0: 2028 2870 3029 2074 6865 6e20 5b5b 7365 ((p0) then [[se\n+00015fb0: 675f 726f 745d 5d5e 2d32 2920 2b20 5b67 g_rot]]^-2) + [g\n+00015fc0: 6170 5d0a 2020 6c69 6e65 5b61 7272 6f77 ap]. line[arrow\n+00015fd0: 733d 3c2d 3e5d 2872 3063 2928 7230 290a s=<->](r0c)(r0).\n+00015fe0: 2020 6c69 6e65 2872 3062 2928 7230 7429 line(r0b)(r0t)\n+00015ff0: 0a20 2064 6566 2072 306d 2028 2872 3029 . def r0m ((r0)\n+00016000: 202d 2028 4f29 202b 2028 7230 6329 202d - (O) + (r0c) -\n+00016010: 2028 4f29 2920 2f20 3220 2b20 284f 290a (O)) / 2 + (O).\n+00016020: 2020 7370 6563 6961 6c20 7c5c 666f 6f74 special |\\foot\n+00016030: 6e6f 7465 7369 7a65 5c72 7075 742a 2331 notesize\\rput*#1\n+00016040: 7b24 725f 3024 7d7c 2872 306d 290a 0a20 {$r_0$}|(r0m).. \n+00016050: 2020 5468 6520 7365 636f 6e64 2064 7261 The second dra\n+00016060: 7769 6e67 2075 7365 7320 7468 6520 7361 wing uses the sa\n+00016070: 6d65 2074 6563 686e 6971 7565 732e 2020 me techniques. \n+00016080: 4f6e 6c79 2074 6865 206d 6574 686f 6420 Only the method \n+00016090: 666f 720a 6472 6177 696e 6720 7468 6520 for.drawing the \n+000160a0: 656c 6c69 7074 6963 616c 2061 7263 2069 elliptical arc i\n+000160b0: 7320 6e65 772e 2020 4865 7265 2069 7320 s new. Here is \n+000160c0: 7468 6520 636f 6465 2e0a 2020 6465 6620 the code.. def \n+000160d0: 6d69 6420 2828 7030 3029 2d28 4f29 2b28 mid ((p00)-(O)+(\n+000160e0: 7031 3029 2d28 4f29 2b28 7031 3129 2d28 p10)-(O)+(p11)-(\n+000160f0: 4f29 2b28 7030 3129 2d28 4f29 292f 342b O)+(p01)-(O))/4+\n+00016100: 284f 290a 2020 7370 6563 6961 6c7c 5c72 (O). special|\\r\n+00016110: 7075 7423 317b 5c70 7363 7573 746f 6d7b put#1{\\pscustom{\n+00016120: 0a20 2020 205c 7363 616c 657b 3120 312e . \\scale{1 1.\n+00016130: 337d 0a20 2020 205c 7073 6172 635b 6172 3}. \\psarc[ar\n+00016140: 726f 776c 656e 6774 683d 2e35 5d7b 2d3e rowlength=.5]{->\n+00016150: 7d7b 2e32 357d 7b2d 3630 7d7b 3234 307d }{.25}{-60}{240}\n+00016160: 7d7d 7c0a 2020 2020 5b6c 6179 3d6f 7665 }}|. [lay=ove\n+00016170: 725d 286d 6964 290a 5765 2063 6f75 6c64 r](mid).We could\n+00016180: 2068 6176 6520 7377 6570 7420 6120 706f have swept a po\n+00016190: 696e 7420 746f 206d 616b 6520 7468 6520 int to make the \n+000161a0: 6172 6320 7769 7468 20e2 8098 736b 6574 arc with ...sket\n+000161b0: 6368 e280 992c 2062 7574 2075 7369 6e67 ch..., but using\n+000161c0: 2061 0ae2 8098 5053 5472 6963 6b73 e280 a....PSTricks..\n+000161d0: 9920 6375 7374 6f6d 2067 7261 7068 6963 . custom graphic\n+000161e0: 2077 6173 2073 696d 706c 6572 2e20 2041 was simpler. A\n+000161f0: 6761 696e 2077 6520 636f 6d70 7574 6564 gain we computed\n+00016200: 2074 6865 2063 656e 7472 6f69 640a 6f66 the centroid.of\n+00016210: 2074 6865 2071 7561 6472 696c 6174 6572 the quadrilater\n+00016220: 616c 2062 7920 6176 6572 6167 696e 6720 al by averaging \n+00016230: 706f 696e 7473 2e20 204e 6f74 6520 7468 points. Note th\n+00016240: 6174 2073 6361 6c69 6e67 2069 6e0a 506f at scaling in.Po\n+00016250: 7374 7363 7269 7074 2064 6973 746f 7274 stscript distort\n+00016260: 7320 7468 6520 6172 726f 7768 6561 642c s the arrowhead,\n+00016270: 2062 7574 2069 6e20 7468 6973 2063 6173 but in this cas\n+00016280: 6520 7468 6520 6469 7374 6f72 7469 6f6e e the distortion\n+00016290: 0a61 6374 7561 6c6c 7920 6c6f 6f6b 7320 .actually looks \n+000162a0: 6265 7474 6572 2069 6e20 7468 6520 7072 better in the pr\n+000162b0: 6f6a 6563 7469 6f6e 206f 6620 7468 6520 ojection of the \n+000162c0: 736c 616e 7465 6420 6661 6365 2e20 2041 slanted face. A\n+000162d0: 20e2 8098 736b 6574 6368 e280 990a 6172 ...sketch....ar\n+000162e0: 726f 7768 6561 6420 776f 756c 6420 6e6f rowhead would no\n+000162f0: 7420 6861 7665 2062 6565 6e20 6469 7374 t have been dist\n+00016300: 6f72 7465 642e 0a0a 2020 2054 6865 2063 orted... The c\n+00016310: 6f6d 706c 6574 6520 636f 6465 2066 6f72 omplete code for\n+00016320: 2074 6869 7320 6578 616d 706c 652c 2077 this example, w\n+00016330: 6869 6368 2064 7261 7773 2065 6974 6865 hich draws eithe\n+00016340: 7220 6669 6775 7265 0a64 6570 656e 6469 r figure.dependi\n+00016350: 6e67 206f 6e20 7468 6520 6465 6669 6e69 ng on the defini\n+00016360: 7469 6f6e 206f 6620 7468 6520 7461 6720 tion of the tag \n+00016370: e280 983c 6c61 6265 6c65 643e e280 992c ......,\n+00016380: 2069 7320 696e 636c 7564 6564 2069 6e20 is included in \n+00016390: 7468 650a e280 9873 6b65 7463 68e2 8099 the....sketch...\n+000163a0: 2064 6973 7472 6962 7574 696f 6e20 696e distribution in\n+000163b0: 2074 6865 2066 696c 6520 e280 9874 7275 the file ...tru\n+000163c0: 6e63 6174 6564 636f 6e65 2e73 6be2 8099 ncatedcone.sk...\n+000163d0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+000163e0: 682e 696e 666f 2c20 204e 6f64 653a 2041 h.info, Node: A\n+000163f0: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n+00016400: 6465 6c2c 2020 4e65 7874 3a20 4361 7665 del, Next: Cave\n+00016410: 6174 732c 2020 5072 6576 3a20 4120 7465 ats, Prev: A te\n+00016420: 6368 6e69 6361 6c20 6472 6177 696e 672c chnical drawing,\n+00016430: 2020 5570 3a20 4275 696c 6469 6e67 2061 Up: Building a\n+00016440: 2064 7261 7769 6e67 0a0a 342e 3320 4120 drawing..4.3 A \n+00016450: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod\n+00016460: 656c 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d el.=============\n+00016470: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a57 6869 ===========..Whi\n+00016480: 6c65 20e2 8098 736b 6574 6368 e280 9920 le ...sketch... \n+00016490: 7761 7320 6e65 7665 7220 6d65 616e 7420 was never meant \n+000164a0: 746f 2062 6520 6120 6765 6f6d 6574 7269 to be a geometri\n+000164b0: 6320 6d6f 6465 6c69 6e67 206c 616e 6775 c modeling langu\n+000164c0: 6167 652c 2069 740a 636f 6d65 7320 6661 age, it.comes fa\n+000164d0: 6972 6c79 2063 6c6f 7365 2e20 2054 6865 irly close. The\n+000164e0: 2066 6f6c 6c6f 7769 6e67 2065 7861 6d70 following examp\n+000164f0: 6c65 2070 7574 7320 616c 6c20 7765 2068 le puts all we h\n+00016500: 6176 6520 7365 656e 2074 6f20 776f 726b ave seen to work\n+00016510: 0a69 6e20 6120 7665 7279 2073 696d 706c .in a very simpl\n+00016520: 6520 6d6f 6465 6c20 6f66 2074 6865 2068 e model of the h\n+00016530: 756d 616e 2068 616e 642e 2020 5374 6172 uman hand. Star\n+00016540: 7420 6279 2073 7765 6570 696e 6720 6120 t by sweeping a \n+00016550: 6c69 6e65 2074 6f0a 6d61 6b65 2061 2074 line to.make a t\n+00016560: 7275 6e63 6174 6564 2063 6f6e 652c 2077 runcated cone, w\n+00016570: 6869 6368 2077 696c 6c20 6265 2063 6f70 hich will be cop\n+00016580: 6965 6420 6f76 6572 2061 6e64 206f 7665 ied over and ove\n+00016590: 7220 6167 6169 6e20 746f 206d 616b 650a r again to make.\n+000165a0: 7468 6520 7365 676d 656e 7473 206f 6620 the segments of \n+000165b0: 6669 6e67 6572 732e 0a20 2064 6566 204f fingers.. def O\n+000165c0: 2028 302c 302c 3029 2025 206f 7269 6769 (0,0,0) % origi\n+000165d0: 6e0a 2020 6465 6620 4920 5b31 2c30 2c30 n. def I [1,0,0\n+000165e0: 5d20 6465 6620 4a20 5b30 2c31 2c30 5d20 ] def J [0,1,0] \n+000165f0: 6465 6620 4b20 5b30 2c30 2c31 5d20 2520 def K [0,0,1] % \n+00016600: 6361 6e6f 6e69 6361 6c20 756e 6974 2076 canonical unit v\n+00016610: 6563 746f 7273 0a20 2064 6566 2073 6567 ectors. def seg\n+00016620: 6d65 6e74 207b 0a20 2020 2064 6566 206e ment {. def n\n+00016630: 5f66 6163 6573 2038 0a20 2020 2073 7765 _faces 8. swe\n+00016640: 6570 207b 206e 5f66 6163 6573 3c3e 2c20 ep { n_faces<>, \n+00016650: 726f 7461 7465 2833 3630 202f 206e 5f66 rotate(360 / n_f\n+00016660: 6163 6573 2c20 5b4a 5d29 207d 200a 2020 aces, [J]) } . \n+00016670: 2020 2020 6c69 6e65 2870 726f 7869 6d61 line(proxima\n+00016680: 6c5f 7261 642c 2030 2928 6469 7374 616c l_rad, 0)(distal\n+00016690: 5f72 6164 2c20 6469 7374 616c 5f6c 656e _rad, distal_len\n+000166a0: 290a 2020 7d0a 496e 2068 616e 6420 616e ). }.In hand an\n+000166b0: 6174 6f6d 792c 205f 6469 7374 616c 5f20 atomy, _distal_ \n+000166c0: 6973 2022 6174 2074 6865 2074 6970 2220 is \"at the tip\" \n+000166d0: 616e 6420 5f70 726f 7869 6d61 6c5f 2069 and _proximal_ i\n+000166e0: 7320 2269 6e20 7468 6520 6172 6561 0a6f s \"in the area.o\n+000166f0: 6620 7468 6520 7061 6c6d 2e22 2020 5765 f the palm.\" We\n+00016700: 2068 6176 6520 6f6d 6974 7465 6420 616c have omitted al\n+00016710: 6c20 7468 6520 7363 616c 6172 2063 6f6e l the scalar con\n+00016720: 7374 616e 7473 2e20 2059 6f75 2063 616e stants. You can\n+00016730: 2066 696e 640a 7468 656d 2069 6e20 e280 find.them in ..\n+00016740: 9868 616e 642e 736b e280 992c 2077 6869 .hand.sk..., whi\n+00016750: 6368 2069 7320 7072 6f76 6964 6564 2069 ch is provided i\n+00016760: 6e20 7468 6520 e280 9873 6b65 7463 68e2 n the ...sketch.\n+00016770: 8099 2064 6973 7472 6962 7574 696f 6e2e .. distribution.\n+00016780: 0a0a 2020 2057 6520 616c 736f 206e 6565 .. We also nee\n+00016790: 6420 6120 7072 6f74 6f74 7970 6963 616c d a prototypical\n+000167a0: 2073 7068 6572 6520 746f 2075 7365 2066 sphere to use f\n+000167b0: 6f72 2074 6865 206a 6f69 6e74 7320 7468 or the joints th\n+000167c0: 656d 7365 6c76 6573 2e0a 2020 6465 6620 emselves.. def \n+000167d0: 6a6f 696e 745f 7370 6865 7265 207b 0a20 joint_sphere {. \n+000167e0: 2020 2064 6566 206e 5f6a 6f69 6e74 5f66 def n_joint_f\n+000167f0: 6163 6573 2038 0a20 2020 2073 7765 6570 aces 8. sweep\n+00016800: 205b 6669 6c6c 636f 6c6f 723d 7265 645d [fillcolor=red]\n+00016810: 207b 206e 5f6a 6f69 6e74 5f66 6163 6573 { n_joint_faces\n+00016820: 2c20 726f 7461 7465 2833 3630 202f 206e , rotate(360 / n\n+00016830: 5f6a 6f69 6e74 5f66 6163 6573 2c20 5b4a _joint_faces, [J\n+00016840: 5d29 207d 0a20 2020 2020 2073 7765 6570 ]) }. sweep\n+00016850: 207b 206e 5f6a 6f69 6e74 5f66 6163 6573 { n_joint_faces\n+00016860: 2c20 726f 7461 7465 2831 3830 202f 206e , rotate(180 / n\n+00016870: 5f6a 6f69 6e74 5f66 6163 6573 2920 7d20 _joint_faces) } \n+00016880: 0a20 2020 2020 2020 2028 302c 202d 6a6f . (0, -jo\n+00016890: 696e 745f 7261 6429 0a20 207d 0a0a 2020 int_rad). }.. \n+000168a0: 2057 6527 6c6c 206e 6f77 2064 6573 6967 We'll now desig\n+000168b0: 6e20 7468 6520 696e 6465 7820 6669 6e67 n the index fing\n+000168c0: 6572 2028 6e75 6d62 6572 2031 2069 6e20 er (number 1 in \n+000168d0: 6f75 7220 6e6f 7461 7469 6f6e 616c 0a63 our notational.c\n+000168e0: 6f6e 7665 6e74 696f 6e3b 2066 696e 6765 onvention; finge\n+000168f0: 7220 3020 6973 2074 6865 2074 6875 6d62 r 0 is the thumb\n+00016900: 292e 2020 5468 6520 6469 7374 616c 2072 ). The distal r\n+00016910: 6f74 6174 696f 6e20 666f 7220 7468 6520 otation for the \n+00016920: 6669 6e67 6572 0a61 7070 6c69 6573 206f finger.applies o\n+00016930: 6e6c 7920 746f 2074 6865 2074 6970 2c20 nly to the tip, \n+00016940: 736f 2077 6520 6465 6669 6e65 2074 6865 so we define the\n+00016950: 2066 6f6c 6c6f 7769 6e67 2e0a 2020 6465 following.. de\n+00016960: 6620 6469 7374 616c 5f31 207b 0a20 2020 f distal_1 {. \n+00016970: 2070 7574 207b 2074 7261 6e73 6c61 7465 put { translate\n+00016980: 286a 6f69 6e74 5f67 6170 202a 206a 6f69 (joint_gap * joi\n+00016990: 6e74 5f72 6164 202a 205b 4a5d 2920 0a20 nt_rad * [J]) . \n+000169a0: 2020 2020 2020 2020 2074 6865 6e20 726f then ro\n+000169b0: 7461 7465 2864 6973 7461 6c5f 315f 726f tate(distal_1_ro\n+000169c0: 742c 205b 495d 2920 0a20 2020 2020 2020 t, [I]) . \n+000169d0: 2020 2074 6865 6e20 7472 616e 736c 6174 then translat\n+000169e0: 6528 2864 6973 7461 6c5f 6c65 6e20 2b20 e((distal_len + \n+000169f0: 6a6f 696e 745f 6761 7020 2a20 6a6f 696e joint_gap * join\n+00016a00: 745f 7261 6429 202a 205b 4a5d 2920 7d0a t_rad) * [J]) }.\n+00016a10: 2020 2020 2020 7b73 6567 6d65 6e74 7d0a {segment}.\n+00016a20: 2020 2020 7075 7420 7b20 726f 7461 7465 put { rotate\n+00016a30: 2864 6973 7461 6c5f 315f 726f 7420 2f20 (distal_1_rot / \n+00016a40: 322c 205b 495d 290a 2020 2020 2020 2020 2, [I]). \n+00016a50: 2020 7468 656e 2074 7261 6e73 6c61 7465 then translate\n+00016a60: 2828 6469 7374 616c 5f6c 656e 202b 206a ((distal_len + j\n+00016a70: 6f69 6e74 5f67 6170 202a 206a 6f69 6e74 oint_gap * joint\n+00016a80: 5f72 6164 2920 2a20 5b4a 5d29 207d 200a _rad) * [J]) } .\n+00016a90: 2020 2020 2020 7b6a 6f69 6e74 5f73 7068 {joint_sph\n+00016aa0: 6572 657d 0a20 2020 2070 7574 207b 2073 ere}. put { s\n+00016ab0: 6361 6c65 2820 5b4a 5d20 2b20 7072 6f78 cale( [J] + prox\n+00016ac0: 696d 616c 5f64 6973 7461 6c5f 7261 7469 imal_distal_rati\n+00016ad0: 6f20 2a20 285b 495d 2b5b 4b5d 2920 2920 o * ([I]+[K]) ) \n+00016ae0: 7d0a 2020 2020 2020 7b73 6567 6d65 6e74 }. {segment\n+00016af0: 7d0a 2020 7d20 200a 5468 6520 6964 656e }. } .The iden\n+00016b00: 7469 6669 6572 7320 6865 7265 2061 7265 tifiers here are\n+00016b10: 2066 6f72 2073 697a 6520 616e 6420 6c6f for size and lo\n+00016b20: 6361 7469 6f6e 2063 6f6e 7374 616e 7473 cation constants\n+00016b30: 2e20 2054 6865 2065 7863 6570 7469 6f6e . The exception\n+00016b40: 0a69 7320 e280 9864 6973 7461 6c5f 726f .is ...distal_ro\n+00016b50: 745f 31e2 8099 2e20 2054 6869 7320 726f t_1.... This ro\n+00016b60: 7461 7469 6f6e 2070 6172 616d 6574 6572 tation parameter\n+00016b70: 206d 6f64 656c 7320 7468 6520 666c 6578 models the flex\n+00016b80: 696e 6720 6f66 2074 6865 0a66 696e 6765 ing of the.finge\n+00016b90: 7220 7469 702e 2020 5468 6520 6669 7273 r tip. The firs\n+00016ba0: 7420 e280 9870 7574 e280 9920 6d61 6b65 t ...put... make\n+00016bb0: 7320 6120 636f 7079 206f 6620 7468 6520 s a copy of the \n+00016bc0: 6669 6e67 6572 2073 6567 6d65 6e74 2074 finger segment t\n+00016bd0: 6861 7420 6973 0a74 7261 6e73 6c61 7465 hat is.translate\n+00016be0: 6420 7570 7761 7264 206a 7573 7420 6661 d upward just fa\n+00016bf0: 7220 656e 6f75 6768 2074 6f20 6d61 6b65 r enough to make\n+00016c00: 2072 6f6f 6d20 666f 7220 7468 6520 7370 room for the sp\n+00016c10: 6865 7269 6361 6c20 6a6f 696e 742e 0a54 herical joint..T\n+00016c20: 6865 6e20 6974 2061 7070 6c69 6573 2074 hen it applies t\n+00016c30: 6865 2064 6973 7461 6c20 726f 7461 7469 he distal rotati\n+00016c40: 6f6e 2e20 2046 696e 616c 6c79 2069 7420 on. Finally it \n+00016c50: 7472 616e 736c 6174 6573 2074 6865 2077 translates the w\n+00016c60: 686f 6c65 0a61 7373 656d 626c 7920 7570 hole.assembly up\n+00016c70: 7761 7264 2061 6761 696e 2074 6f20 6d61 ward again to ma\n+00016c80: 6b65 2072 6f6f 6d20 666f 7220 7468 6520 ke room for the \n+00016c90: 6d69 6464 6c65 2070 686c 616e 6765 7320 middle phlanges \n+00016ca0: 2874 6865 206e 6578 740a 626f 6e65 2074 (the next.bone t\n+00016cb0: 6f77 6172 6420 7468 6520 7061 6c6d 292e oward the palm).\n+00016cc0: 2020 5468 6520 7365 636f 6e64 20e2 8098 The second ...\n+00016cd0: 7075 74e2 8099 2070 6f73 6974 696f 6e73 put... positions\n+00016ce0: 2074 6865 2073 7068 6572 652e 2020 5468 the sphere. Th\n+00016cf0: 6572 6520 6973 0a61 2072 6f74 6174 696f ere is.a rotatio\n+00016d00: 6e20 746f 2070 6c61 6365 2074 6865 2067 n to place the g\n+00016d10: 7269 6420 6f6e 2074 6865 2073 7068 6572 rid on the spher\n+00016d20: 6520 7375 7266 6163 6520 6174 2061 6e20 e surface at an \n+00016d30: 6e69 6365 2061 6e67 6c65 2c0a 7468 656e nice angle,.then\n+00016d40: 2061 2074 7261 6e73 6c61 7469 6f6e 2074 a translation t\n+00016d50: 6f20 7468 6520 6261 7365 206f 6620 7468 o the base of th\n+00016d60: 6520 6469 7374 616c 2070 686c 616e 6765 e distal phlange\n+00016d70: 732c 2077 6869 6368 2069 7320 616c 736f s, which is also\n+00016d80: 0a63 656e 7465 7220 6f66 2069 7473 2072 .center of its r\n+00016d90: 6f74 6174 696f 6e2e 2020 4669 6e61 6c6c otation. Finall\n+00016da0: 792c 2074 6865 206c 6173 7420 e280 9870 y, the last ...p\n+00016db0: 7574 e280 9920 706f 7369 7469 6f6e 7320 ut... positions \n+00016dc0: 7468 6520 6d69 6464 6c65 0a73 6567 6d65 the middle.segme\n+00016dd0: 6e74 2069 7473 656c 662e 0a0a 2020 2054 nt itself... T\n+00016de0: 6865 206d 6964 646c 6520 6a6f 696e 7420 he middle joint \n+00016df0: 6973 2074 6865 206e 6578 7420 6f6e 6520 is the next one \n+00016e00: 646f 776e 2c20 7769 7468 2072 6f74 6174 down, with rotat\n+00016e10: 696f 6e20 616e 676c 650a e280 986d 6964 ion angle....mid\n+00016e20: 646c 655f 726f 745f 31e2 8099 2e20 2057 dle_rot_1.... W\n+00016e30: 6865 6e20 7468 6973 2061 6e67 6c65 2063 hen this angle c\n+00016e40: 6861 6e67 6573 2c20 7765 206e 6565 6420 hanges, we need \n+00016e50: 616c 6c20 7468 6520 6f62 6a65 6374 7320 all the objects \n+00016e60: 696e 0ae2 8098 6469 7374 616c 5f31 e280 in....distal_1..\n+00016e70: 9920 746f 2072 6f74 6174 6520 6173 2061 . to rotate as a\n+00016e80: 2075 6e69 742e 2020 5468 6973 2069 7320 unit. This is \n+00016e90: 7468 6520 7265 6173 6f6e 696e 6720 6265 the reasoning be\n+00016ea0: 6869 6e64 2074 6865 206e 6578 740a 6465 hind the next.de\n+00016eb0: 6669 6e69 7469 6f6e 2e0a 2020 6465 6620 finition.. def \n+00016ec0: 6669 6e67 6572 5f31 207b 0a20 2020 2070 finger_1 {. p\n+00016ed0: 7574 207b 2074 7261 6e73 6c61 7465 286a ut { translate(j\n+00016ee0: 6f69 6e74 5f67 6170 202a 206a 6f69 6e74 oint_gap * joint\n+00016ef0: 5f72 6164 202a 205b 4a5d 290a 2020 2020 _rad * [J]). \n+00016f00: 2020 2020 2020 7468 656e 2072 6f74 6174 then rotat\n+00016f10: 6528 6d69 6464 6c65 5f31 5f72 6f74 2c20 e(middle_1_rot, \n+00016f20: 5b49 5d29 0a20 2020 2020 2020 2020 2074 [I]). t\n+00016f30: 6865 6e20 7472 616e 736c 6174 6528 286d hen translate((m\n+00016f40: 6964 646c 655f 7261 7469 6f20 2a20 6469 iddle_ratio * di\n+00016f50: 7374 616c 5f6c 656e 202b 200a 2020 2020 stal_len + . \n+00016f60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00016f70: 2020 2020 2020 6a6f 696e 745f 6761 7020 joint_gap \n+00016f80: 2a20 6a6f 696e 745f 7261 6429 202a 205b * joint_rad) * [\n+00016f90: 4a5d 2920 7d0a 2020 2020 2020 7b64 6973 J]) }. {dis\n+00016fa0: 7461 6c5f 317d 0a20 2020 2070 7574 207b tal_1}. put {\n+00016fb0: 2073 6361 6c65 2870 726f 7869 6d61 6c5f scale(proximal_\n+00016fc0: 6469 7374 616c 5f72 6174 696f 290a 2020 distal_ratio). \n+00016fd0: 2020 2020 2020 2020 7468 656e 2072 6f74 then rot\n+00016fe0: 6174 6528 6d69 6464 6c65 5f31 5f72 6f74 ate(middle_1_rot\n+00016ff0: 202f 2032 2c20 5b49 5d29 0a20 2020 2020 / 2, [I]). \n+00017000: 2020 2020 2074 6865 6e20 7472 616e 736c then transl\n+00017010: 6174 6528 286d 6964 646c 655f 7261 7469 ate((middle_rati\n+00017020: 6f20 2a20 6469 7374 616c 5f6c 656e 202b o * distal_len +\n+00017030: 200a 2020 2020 2020 2020 2020 2020 2020 . \n+00017040: 2020 2020 2020 2020 2020 2020 6a6f 696e join\n+00017050: 745f 6761 7020 2a20 6a6f 696e 745f 7261 t_gap * joint_ra\n+00017060: 6429 202a 205b 4a5d 2920 7d20 0a20 2020 d) * [J]) } . \n+00017070: 2020 207b 6a6f 696e 745f 7370 6865 7265 {joint_sphere\n+00017080: 7d0a 2020 2020 7075 7420 7b20 7363 616c }. put { scal\n+00017090: 6528 206d 6964 646c 655f 7261 7469 6f20 e( middle_ratio \n+000170a0: 2a20 5b4a 5d20 2b20 0a20 2020 2020 2020 * [J] + . \n+000170b0: 2020 2020 2020 2020 2020 7072 6f78 696d proxim\n+000170c0: 616c 5f64 6973 7461 6c5f 7261 7469 6f5e al_distal_ratio^\n+000170d0: 3220 2a20 285b 495d 2b5b 4b5d 2920 2920 2 * ([I]+[K]) ) \n+000170e0: 7d0a 2020 2020 2020 7b73 6567 6d65 6e74 }. {segment\n+000170f0: 7d0a 2020 7d0a 5468 6973 206c 6f6f 6b73 }. }.This looks\n+00017100: 2076 6572 7920 7369 6d69 6c61 7220 746f very similar to\n+00017110: 2074 6865 2070 7265 7669 6f75 7320 6465 the previous de\n+00017120: 6669 6e69 7469 6f6e 2c20 616e 6420 6974 finition, and it\n+00017130: 2069 732e 2020 5468 650a 696d 706f 7274 is. The.import\n+00017140: 616e 7420 6469 6666 6572 656e 6365 2069 ant difference i\n+00017150: 7320 7468 6174 2072 6174 6865 7220 7468 s that rather th\n+00017160: 616e 2070 6f73 6974 696f 6e69 6e67 2061 an positioning a\n+00017170: 6e64 2072 6f74 6174 696e 6720 610a 7369 nd rotating a.si\n+00017180: 6e67 6c65 2073 6567 6d65 6e74 2c20 7765 ngle segment, we\n+00017190: 2070 6f73 6974 696f 6e20 616e 6420 726f position and ro\n+000171a0: 7461 7465 2074 6865 2065 6e74 6972 6520 tate the entire \n+000171b0: 2261 7373 656d 626c 7922 2064 6566 696e \"assembly\" defin\n+000171c0: 6564 2061 730a e280 9864 6973 7461 6c5f ed as....distal_\n+000171d0: 31e2 8099 2e20 2054 6865 2072 6573 7420 1.... The rest \n+000171e0: 6973 206a 7573 7420 6172 6974 686d 6574 is just arithmet\n+000171f0: 6963 2074 6f20 636f 6d70 7574 6520 7369 ic to compute si\n+00017200: 7a65 7320 616e 6420 706f 7369 7469 6f6e zes and position\n+00017210: 730a 7468 6174 206c 6f6f 6b20 6e69 6365 s.that look nice\n+00017220: 2e20 2054 6865 206c 6173 7420 e280 9870 . The last ...p\n+00017230: 7574 e280 9920 706c 6163 6573 2061 6e20 ut... places an \n+00017240: 6170 7072 6f70 7269 6174 656c 7920 7368 appropriately sh\n+00017250: 6170 6564 2073 6567 6d65 6e74 0a74 6861 aped segment.tha\n+00017260: 7420 6973 2074 6865 205f 7072 6f78 696d t is the _proxim\n+00017270: 616c 2070 686c 616e 6765 735f 2c20 7468 al phlanges_, th\n+00017280: 6520 626f 6e65 2074 6861 7420 6a6f 696e e bone that join\n+00017290: 7320 7468 6520 7061 6c6d 206f 6620 7468 s the palm of th\n+000172a0: 650a 6861 6e64 2e20 2054 6869 7320 636f e.hand. This co\n+000172b0: 6d70 6c65 7465 7320 7468 6520 6669 6e67 mpletes the fing\n+000172c0: 6572 2069 7473 656c 662e 0a0a 2020 2041 er itself... A\n+000172d0: 6c6c 2074 6865 206f 7468 6572 2066 696e ll the other fin\n+000172e0: 6765 7273 2061 7265 2064 6573 6372 6962 gers are describ\n+000172f0: 6564 2069 6465 6e74 6963 616c 6c79 2074 ed identically t\n+00017300: 6f20 7468 6973 206f 6e65 2e20 2057 650a o this one. We.\n+00017310: 6163 636f 756e 7420 666f 7220 7468 6520 account for the \n+00017320: 6661 6374 2074 6861 7420 7265 616c 2066 fact that real f\n+00017330: 696e 6765 7273 2061 7265 2064 6966 6665 ingers are diffe\n+00017340: 7265 6e74 2073 697a 6573 2069 6e20 7468 rent sizes in th\n+00017350: 6520 6e65 7874 0a73 7465 702c 2077 6869 e next.step, whi\n+00017360: 6368 2069 7320 746f 2062 7569 6c64 2074 ch is to build t\n+00017370: 6865 2065 6e74 6972 6520 6861 6e64 2e0a he entire hand..\n+00017380: 0a20 2020 5468 6520 e280 9868 616e 64e2 . The ...hand.\n+00017390: 8099 2064 6566 696e 6974 696f 6e20 7468 .. definition th\n+000173a0: 6174 2066 6f6c 6c6f 7773 2069 6e63 6c75 at follows inclu\n+000173b0: 6465 7320 6120 7365 6374 696f 6e20 666f des a section fo\n+000173c0: 7220 6561 6368 0a66 696e 6765 722e 2020 r each.finger. \n+000173d0: 5765 276c 6c20 636f 6e74 696e 7565 2077 We'll continue w\n+000173e0: 6974 6820 6669 6e67 6572 2031 2061 6e64 ith finger 1 and\n+000173f0: 206f 6d69 7420 616c 6c20 7468 6520 6f74 omit all the ot\n+00017400: 6865 7273 2e20 2028 4f66 206e 6f74 650a hers. (Of note.\n+00017410: 6973 2074 6861 7420 7468 6520 7468 756d is that the thum\n+00017420: 6220 6e65 6564 7320 736c 6967 6874 6c79 b needs slightly\n+00017430: 2073 7065 6369 616c 2074 7265 6174 6d65 special treatme\n+00017440: 6e74 2d2d 616e 2065 7874 7261 2072 6f74 nt--an extra rot\n+00017450: 6174 696f 6e20 746f 0a61 6363 6f75 6e74 ation to.account\n+00017460: 2066 6f72 2069 7473 206f 7070 6f73 696e for its opposin\n+00017470: 6720 616e 676c 652e 2020 5468 6973 2069 g angle. This i\n+00017480: 7320 636c 6561 7220 696e 2074 6865 2066 s clear in the f\n+00017490: 756c 6c20 736f 7572 6365 2063 6f64 652e ull source code.\n+000174a0: 290a 4e6f 7420 7375 7270 7269 7369 6e67 ).Not surprising\n+000174b0: 6c79 2c20 7468 6520 e280 9868 616e 64e2 ly, the ...hand.\n+000174c0: 8099 2064 6566 696e 6974 696f 6e20 6c6f .. definition lo\n+000174d0: 6f6b 7320 7665 7279 206d 7563 6820 6c69 oks very much li\n+000174e0: 6b65 2074 6865 0a70 7265 7669 6f75 7320 ke the.previous \n+000174f0: 7477 6f2e 2020 4974 2073 686f 756c 6420 two. It should \n+00017500: 6265 206e 6f20 7375 7270 7269 7365 2074 be no surprise t\n+00017510: 6861 7420 7768 656e 2074 6865 2072 6f74 hat when the rot\n+00017520: 6174 696f 6e20 7061 7261 6d65 7465 720a ation parameter.\n+00017530: e280 986d 6574 615f 315f 726f 74e2 8099 ...meta_1_rot...\n+00017540: 2063 6861 6e67 6573 2c20 7468 6520 656e changes, the en\n+00017550: 7469 7265 2066 696e 6765 7220 726f 7461 tire finger rota\n+00017560: 7465 7321 2020 5468 6572 6520 6973 2061 tes! There is a\n+00017570: 6e20 6164 6469 7469 6f6e 616c 0a72 6f74 n additional.rot\n+00017580: 6174 696f 6e20 7468 6174 2061 6c6c 6f77 ation that allow\n+00017590: 7320 7468 6520 6669 6e67 6572 7320 746f s the fingers to\n+000175a0: 2073 7072 6561 6420 6c61 7465 7261 6c6c spread laterall\n+000175b0: 792e 2020 5765 2073 6179 2074 6865 7365 y. We say these\n+000175c0: 0a6a 6f69 6e74 7320 6f66 2074 6865 2070 .joints of the p\n+000175d0: 726f 7869 6d61 6c20 7068 6c61 6e67 6573 roximal phlanges\n+000175e0: 2068 6176 6520 7477 6f20 5f64 6567 7265 have two _degre\n+000175f0: 6573 206f 6620 6672 6565 646f 6d5f 2e20 es of freedom_. \n+00017600: 2054 6865 0a6a 6f69 6e74 7320 6869 6768 The.joints high\n+00017610: 6572 206f 6e20 7468 6520 6669 6e67 6572 er on the finger\n+00017620: 2068 6176 6520 6f6e 6c79 206f 6e65 2e20 have only one. \n+00017630: 2046 696e 616c 6c79 2c20 6561 6368 2066 Finally, each f\n+00017640: 696e 6765 7220 6973 0a73 6361 6c65 6420 inger is.scaled \n+00017650: 6279 2061 2066 6163 746f 7220 746f 206c by a factor to l\n+00017660: 656e 6420 6974 2070 726f 706f 7274 696f end it proportio\n+00017670: 6e2e 0a20 2064 6566 2068 616e 6420 7b0a n.. def hand {.\n+00017680: 2020 2020 2520 6669 6e67 6572 2031 205b % finger 1 [\n+00017690: 616c 6c20 6f74 6865 7220 6669 6e67 6572 all other finger\n+000176a0: 7320 6f6d 6974 7465 645d 0a20 2020 2064 s omitted]. d\n+000176b0: 6566 2073 6361 6c65 5f31 202e 3835 0a20 ef scale_1 .85. \n+000176c0: 2020 2070 7574 207b 2073 6361 6c65 2873 put { scale(s\n+000176d0: 6361 6c65 5f31 2920 0a20 2020 2020 2020 cale_1) . \n+000176e0: 2020 2074 6865 6e20 7472 616e 736c 6174 then translat\n+000176f0: 6528 286a 6f69 6e74 5f67 6170 202a 206a e((joint_gap * j\n+00017700: 6f69 6e74 5f72 6164 2920 2a20 5b4a 5d29 oint_rad) * [J])\n+00017710: 0a09 2020 7468 656e 2072 6f74 6174 6528 .. then rotate(\n+00017720: 6d65 7461 5f31 5f72 6f74 2c20 5b49 5d29 meta_1_rot, [I])\n+00017730: 0a20 2020 2020 2020 2020 2074 6865 6e20 . then \n+00017740: 726f 7461 7465 282d 7370 7265 6164 5f72 rotate(-spread_r\n+00017750: 6f74 2c20 5b4b 5d29 0a20 2020 2020 2020 ot, [K]). \n+00017760: 2020 2074 6865 6e20 7472 616e 736c 6174 then translat\n+00017770: 6528 2870 726f 7869 6d61 6c5f 315f 6c6f e((proximal_1_lo\n+00017780: 6329 202d 2028 4f29 2920 7d20 0a20 2020 c) - (O)) } . \n+00017790: 2020 207b 6669 6e67 6572 5f31 7d0a 2020 {finger_1}. \n+000177a0: 2020 7075 7420 7b20 7363 616c 6528 7363 put { scale(sc\n+000177b0: 616c 655f 3120 2a20 7072 6f78 696d 616c ale_1 * proximal\n+000177c0: 5f64 6973 7461 6c5f 7261 7469 6f5e 3229 _distal_ratio^2)\n+000177d0: 0a20 2020 2020 2020 2020 2074 6865 6e20 . then \n+000177e0: 726f 7461 7465 286d 6574 615f 315f 726f rotate(meta_1_ro\n+000177f0: 7420 2f20 322c 205b 495d 290a 2020 2020 t / 2, [I]). \n+00017800: 2020 2020 2020 7468 656e 2072 6f74 6174 then rotat\n+00017810: 6528 2d73 7072 6561 645f 726f 742c 205b e(-spread_rot, [\n+00017820: 4b5d 290a 2020 2020 2020 2020 2020 7468 K]). th\n+00017830: 656e 2074 7261 6e73 6c61 7465 2828 7072 en translate((pr\n+00017840: 6f78 696d 616c 5f31 5f6c 6f63 2920 2d20 oximal_1_loc) - \n+00017850: 284f 2929 207d 200a 2020 2020 2020 7b6a (O)) } . {j\n+00017860: 6f69 6e74 5f73 7068 6572 657d 0a0a 2020 oint_sphere}.. \n+00017870: 2020 2520 7061 6c6d 0a20 2020 2073 7765 % palm. swe\n+00017880: 6570 207b 2031 2c20 726f 7461 7465 2836 ep { 1, rotate(6\n+00017890: 2c20 2830 2c31 352c 3029 2c20 5b49 5d29 , (0,15,0), [I])\n+000178a0: 207d 0a20 2020 2020 2070 7574 207b 2072 }. put { r\n+000178b0: 6f74 6174 6528 2d33 2c20 2830 2c31 352c otate(-3, (0,15,\n+000178c0: 3029 2c20 5b49 5d29 207d 207b 0a20 2020 0), [I]) } {. \n+000178d0: 2020 2020 2070 6f6c 7967 6f6e 2870 726f polygon(pro\n+000178e0: 7869 6d61 6c5f 315f 6c6f 6329 2870 726f ximal_1_loc)(pro\n+000178f0: 7869 6d61 6c5f 325f 6c6f 6329 0a20 2020 ximal_2_loc). \n+00017900: 2020 2020 2020 2020 2020 2020 2870 726f (pro\n+00017910: 7869 6d61 6c5f 335f 6c6f 6329 2870 726f ximal_3_loc)(pro\n+00017920: 7869 6d61 6c5f 345f 6c6f 6329 0a20 2020 ximal_4_loc). \n+00017930: 2020 2020 2020 2020 2020 2020 2868 3529 (h5)\n+00017940: 2868 3629 2868 3661 2928 6839 2928 6831 (h6)(h6a)(h9)(h1\n+00017950: 3029 0a20 2020 2020 2020 2070 6f6c 7967 0). polyg\n+00017960: 6f6e 2868 3661 2928 6837 2928 6838 2928 on(h6a)(h7)(h8)(\n+00017970: 6839 290a 2020 207d 2020 7d0a 5468 6520 h9). } }.The \n+00017980: 6c61 7374 2073 6563 7469 6f6e 206f 6620 last section of \n+00017990: 7468 6520 6465 6669 6e69 7469 6f6e 2063 the definition c\n+000179a0: 7265 6174 6573 2074 6865 2070 6f6c 7974 reates the polyt\n+000179b0: 6f70 6520 666f 7220 7468 6520 7061 6c6d ope for the palm\n+000179c0: 206f 660a 7468 6520 6861 6e64 2062 7920 of.the hand by \n+000179d0: e280 9873 7765 6570 e280 9969 6e67 2061 ...sweep...ing a\n+000179e0: 2031 302d 7369 6465 6420 706f 6c79 676f 10-sided polygo\n+000179f0: 6e20 7468 726f 7567 6820 6120 7665 7279 n through a very\n+00017a00: 2073 686f 7274 2061 7263 0a28 3920 6465 short arc.(9 de\n+00017a10: 6772 6565 7329 2e20 2054 6869 7320 7072 grees). This pr\n+00017a20: 6f76 6964 6573 2061 2077 6564 6765 2d73 ovides a wedge-s\n+00017a30: 6861 7065 6420 7072 6f66 696c 6520 7768 haped profile wh\n+00017a40: 656e 2076 6965 7765 6420 6672 6f6d 2074 en viewed from t\n+00017a50: 6865 0a73 6964 652e 2020 5468 6520 7468 he.side. The th\n+00017a60: 6963 6b20 656e 6420 6f66 2074 6865 2077 ick end of the w\n+00017a70: 6564 6765 2069 7320 7468 6520 7772 6973 edge is the wris\n+00017a80: 742e 2020 4265 6361 7573 6520 7468 6520 t. Because the \n+00017a90: 706f 6c79 676f 6e20 6973 0a63 6f6e 6361 polygon is.conca\n+00017aa0: 7665 2c20 6974 2069 7320 7370 6c69 7420 ve, it is split \n+00017ab0: 696e 746f 2069 6e74 6f20 7477 6f20 636f into into two co\n+00017ac0: 6e76 6578 2073 6861 7065 7320 7769 7468 nvex shapes with\n+00017ad0: 206e 696e 6520 616e 6420 666f 7572 0a76 nine and four.v\n+00017ae0: 6572 7469 6365 732e 0a0a 2020 2057 6520 ertices... We \n+00017af0: 6361 6e20 6e6f 7720 6861 7665 2066 756e can now have fun\n+00017b00: 2070 6f73 6974 696f 6e69 6e67 2074 6865 positioning the\n+00017b10: 2068 616e 6420 6279 2061 646a 7573 7469 hand by adjusti\n+00017b20: 6e67 2074 6865 2076 6172 696f 7573 0a72 ng the various.r\n+00017b30: 6f74 6174 696f 6e20 616e 676c 6573 2e20 otation angles. \n+00017b40: 2054 6865 2063 6f6d 706c 6574 6520 736f The complete so\n+00017b50: 7572 6365 2069 6e63 6c75 6465 7320 6465 urce includes de\n+00017b60: 6669 6e69 7469 6f6e 7320 7769 7468 0a61 finitions with.a\n+00017b70: 6c74 6572 6e61 7469 7665 7320 7468 6174 lternatives that\n+00017b80: 2069 6e63 6c75 6465 2074 6865 2066 6f6c include the fol\n+00017b90: 6c6f 7769 6e67 2076 6965 7773 2061 6e64 lowing views and\n+00017ba0: 206d 6f72 652e 0a0a 0008 5b69 6d61 6765 more.....[image\n+00017bb0: 2073 7263 3d22 6578 3231 302e 706e 6722 src=\"ex210.png\"\n+00017bc0: 2074 6578 743d 2249 6d61 6765 2065 7832 text=\"Image ex2\n+00017bd0: 3130 206f 6d69 7474 6564 2069 6e20 7465 10 omitted in te\n+00017be0: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th\n+00017bf0: 6973 2064 6f63 756d 656e 742e 2200 085d is document.\"..]\n+00017c00: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n+00017c10: 3232 302e 706e 6722 2074 6578 743d 2249 220.png\" text=\"I\n+00017c20: 6d61 6765 2065 7832 3230 206f 6d69 7474 mage ex220 omitt\n+00017c30: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n+00017c40: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n+00017c50: 656e 742e 2200 085d 0008 5b69 6d61 6765 ent.\"..]..[image\n+00017c60: 2073 7263 3d22 6578 3233 302e 706e 6722 src=\"ex230.png\"\n+00017c70: 2074 6578 743d 2249 6d61 6765 2065 7832 text=\"Image ex2\n+00017c80: 3330 206f 6d69 7474 6564 2069 6e20 7465 30 omitted in te\n+00017c90: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th\n+00017ca0: 6973 2064 6f63 756d 656e 742e 2200 085d is document.\"..]\n+00017cb0: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n+00017cc0: 3234 302e 706e 6722 2074 6578 743d 2249 240.png\" text=\"I\n+00017cd0: 6d61 6765 2065 7832 3430 206f 6d69 7474 mage ex240 omitt\n+00017ce0: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n+00017cf0: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n+00017d00: 656e 742e 2200 085d 0a0a 1f0a 4669 6c65 ent.\"..]....File\n+00017d10: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+00017d20: 4e6f 6465 3a20 4361 7665 6174 732c 2020 Node: Caveats, \n+00017d30: 5072 6576 3a20 4120 6869 6572 6172 6368 Prev: A hierarch\n+00017d40: 6963 616c 206d 6f64 656c 2c20 2055 703a ical model, Up:\n+00017d50: 2042 7569 6c64 696e 6720 6120 6472 6177 Building a draw\n+00017d60: 696e 670a 0a34 2e34 2043 6176 6561 7473 ing..4.4 Caveats\n+00017d70: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a e280 .===========....\n+00017d80: 9853 6b65 7463 68e2 8099 2069 7320 6120 .Sketch... is a \n+00017d90: 6661 6972 6c79 2070 6f77 6572 6675 6c20 fairly powerful \n+00017da0: 746f 6f6c 2066 6f72 2064 7261 7769 6e67 tool for drawing\n+00017db0: 2c20 6275 742c 206a 7573 7420 6173 2077 , but, just as w\n+00017dc0: 6974 6820 5465 582c 0a74 6865 2070 6f77 ith TeX,.the pow\n+00017dd0: 6572 2074 6f20 6372 6561 7465 2062 6561 er to create bea\n+00017de0: 7574 6966 756c 2072 6573 756c 7473 2063 utiful results c\n+00017df0: 6f6d 6573 2061 6c6f 6e67 2077 6974 6820 omes along with \n+00017e00: 7468 6520 706f 7765 7220 746f 206d 616b the power to mak\n+00017e10: 650a 6d69 7374 616b 6573 2e20 2054 6865 e.mistakes. The\n+00017e20: 2066 6f6c 6c6f 7769 6e67 2061 7265 2073 following are s\n+00017e30: 6f6d 6520 706f 696e 7473 2077 6865 7265 ome points where\n+00017e40: 2063 6172 6520 6973 206e 6563 6573 7361 care is necessa\n+00017e50: 7279 2061 6e64 0a77 6865 7265 2074 6865 ry and.where the\n+00017e60: 2063 7572 7265 6e74 2076 6572 7369 6f6e current version\n+00017e70: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch...\n+00017e80: 2069 7320 6c69 6d69 7465 6420 6f72 2068 is limited or h\n+00017e90: 6173 206b 6e6f 776e 2062 7567 732e 0a0a as known bugs...\n+00017ea0: 2a20 4d65 6e75 3a0a 0a2a 204c 696d 6974 * Menu:..* Limit\n+00017eb0: 7320 6f6e 2065 7272 6f72 2064 6574 6563 s on error detec\n+00017ec0: 7469 6f6e 3a3a 2020 2057 6861 7420 736b tion:: What sk\n+00017ed0: 6574 6368 2064 6f65 736e 2774 2064 6f2e etch doesn't do.\n+00017ee0: 0a2a 2043 6c69 7070 696e 673a 3a20 2020 .* Clipping:: \n+00017ef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00017f00: 204e 6f20 636c 6970 7069 6e67 2061 7420 No clipping at \n+00017f10: 7072 6573 656e 742e 0a2a 2048 6964 6465 present..* Hidde\n+00017f20: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova\n+00017f30: 6c3a 3a20 2020 2020 2049 6d70 6572 6665 l:: Imperfe\n+00017f40: 6374 696f 6e73 2074 6f20 6669 782e 0a0a ctions to fix...\n+00017f50: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+00017f60: 6e66 6f2c 2020 4e6f 6465 3a20 4c69 6d69 nfo, Node: Limi\n+00017f70: 7473 206f 6e20 6572 726f 7220 6465 7465 ts on error dete\n+00017f80: 6374 696f 6e2c 2020 4e65 7874 3a20 436c ction, Next: Cl\n+00017f90: 6970 7069 6e67 2c20 2050 7265 763a 2043 ipping, Prev: C\n+00017fa0: 6176 6561 7473 2c20 2055 703a 2043 6176 aveats, Up: Cav\n+00017fb0: 6561 7473 0a0a 342e 342e 3120 4c69 6d69 eats..4.4.1 Limi\n+00017fc0: 7473 206f 6e20 e280 9873 6b65 7463 68e2 ts on ...sketch.\n+00017fd0: 8099 2065 7272 6f72 2064 6574 6563 7469 .. error detecti\n+00017fe0: 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on.-------------\n 00017ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00018000: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00018010: 2d0a 0ae2 8098 536b 6574 6368 e280 9920 -.....Sketch... \n-00018020: 6361 7463 6865 7320 6d61 6e79 206b 696e catches many kin\n-00018030: 6473 206f 6620 6572 726f 7273 2c20 6275 ds of errors, bu\n-00018040: 7420 6e6f 7420 616c 6c2e 2020 466f 7220 t not all. For \n-00018050: 6578 616d 706c 652c 0a6f 7074 696f 6e73 example,.options\n-00018060: 2074 6861 7420 736b 6574 6368 2064 6f65 that sketch doe\n-00018070: 7320 6e6f 7420 7265 636f 676e 697a 652c s not recognize,\n-00018080: 2065 7665 6e20 696e 636f 7272 6563 7420 even incorrect \n-00018090: 6f6e 6573 2c20 6172 6520 7175 6965 746c ones, are quietl\n-000180a0: 790a 636f 7069 6564 2074 6f20 e280 9850 y.copied to ...P\n-000180b0: 5354 7269 636b 73e2 8099 2063 6f6d 6d61 STricks... comma\n-000180c0: 6e64 7320 696e 2074 6865 206f 7574 7075 nds in the outpu\n-000180d0: 742e 2020 4974 2069 7320 616c 736f 2075 t. It is also u\n-000180e0: 6e66 6f72 7475 6e61 7465 6c79 0a65 6173 nfortunately.eas\n-000180f0: 7920 746f 2070 726f 6475 6365 20e2 8098 y to produce ...\n-00018100: 736b 6574 6368 e280 9920 696e 7075 7473 sketch... inputs\n-00018110: 2074 6861 7420 6c65 6164 2074 6f20 6e6f that lead to no\n-00018120: 2070 6963 7475 7265 2061 7420 616c 6c20 picture at all \n-00018130: 2869 6d70 726f 7065 720a 7665 7274 6578 (improper.vertex\n-00018140: 206f 7264 6572 696e 6720 6361 7573 6573 ordering causes\n-00018150: 2065 7665 7279 7468 696e 6720 746f 2062 everything to b\n-00018160: 6520 6375 6c6c 6564 292c 2074 6f20 7069 e culled), to pi\n-00018170: 6374 7572 6573 2074 6861 7420 6172 650a ctures that are.\n-00018180: 746f 6f20 6269 6720 6f72 2074 6f6f 2073 too big or too s\n-00018190: 6d61 6c6c 2066 6f72 20e2 8098 5053 5472 mall for ...PSTr\n-000181a0: 6963 6b73 e280 9920 746f 2064 7261 7720 icks... to draw \n-000181b0: 2864 7565 2074 6f20 6c69 6d69 7473 206f (due to limits o\n-000181c0: 6620 5465 5820 6d61 7468 292c 0a61 6e64 f TeX math),.and\n-000181d0: 2070 6963 7475 7265 7320 7468 6174 206c pictures that l\n-000181e0: 6f6f 6b20 6e6f 7468 696e 6720 6c69 6b65 ook nothing like\n-000181f0: 2077 6861 7420 7761 7320 696e 7465 6e64 what was intend\n-00018200: 6564 2e20 2041 2070 6963 7475 7265 2077 ed. A picture w\n-00018210: 6974 680a 6f6e 6520 6f66 2074 6865 7365 ith.one of these\n-00018220: 2070 726f 626c 656d 7320 6361 6e20 6265 problems can be\n-00018230: 2064 6966 6669 6375 6c74 2074 6f20 2264 difficult to \"d\n-00018240: 6562 7567 2e22 2020 5765 206f 6666 6572 ebug.\" We offer\n-00018250: 2074 6865 0a66 6f6c 6c6f 7769 6e67 2073 the.following s\n-00018260: 7567 6765 7374 696f 6e73 2e0a 2020 20e2 uggestions.. .\n-00018270: 80a2 2046 6f6c 6c6f 7720 7468 6520 7375 .. Follow the su\n-00018280: 6767 6573 7465 6420 696e 6372 656d 656e ggested incremen\n-00018290: 7461 6c20 6465 7665 6c6f 706d 656e 7420 tal development \n-000182a0: 6d65 7468 6f64 2064 6573 6372 6962 6564 method described\n-000182b0: 2069 6e0a 2020 2020 202a 6e6f 7465 204f in. *note O\n-000182c0: 7665 7276 6965 773a 3a2e 0a20 2020 e280 verview::.. ..\n-000182d0: a220 416c 7761 7973 206d 6169 6e74 6169 . Always maintai\n-000182e0: 6e20 6f6e 6520 6f72 2074 776f 2062 6163 n one or two bac\n-000182f0: 6b2d 7665 7273 696f 6e73 206f 6620 6120 k-versions of a \n-00018300: 6472 6177 696e 6720 736f 2074 6861 7420 drawing so that \n-00018310: 6974 2069 730a 2020 2020 2065 6173 7920 it is. easy \n-00018320: 746f 2066 616c 6c20 6261 636b 2074 6f20 to fall back to \n-00018330: 6120 6b6e 6f77 6e2d 676f 6f64 2069 6e63 a known-good inc\n-00018340: 7265 6d65 6e74 2e0a 2020 20e2 80a2 2057 rement.. ... W\n-00018350: 6865 6e20 7573 696e 6720 e280 9870 6572 hen using ...per\n-00018360: 7370 6563 7469 7665 e280 992c 2065 6e73 spective..., ens\n-00018370: 7572 6520 616c 6c20 6669 6e61 6c6c 7920 ure all finally \n-00018380: 7472 616e 7366 6f72 6d65 6420 6f62 6a65 transformed obje\n-00018390: 6374 730a 2020 2020 2073 6174 6973 6679 cts. satisfy\n-000183a0: 207a 3c30 2061 6e64 2c20 696e 2066 6163 z<0 and, in fac\n-000183b0: 742c 2064 6f20 6e6f 7420 636f 6d65 2076 t, do not come v\n-000183c0: 6572 7920 636c 6f73 6520 746f 2074 6865 ery close to the\n-000183d0: 206f 7269 6769 6e20 6174 0a20 2020 2020 origin at. \n-000183e0: 616c 6c2e 0a20 2020 e280 a220 5465 6d70 all.. ... Temp\n-000183f0: 6f72 6172 696c 7920 7573 6520 e280 9863 orarily use ...c\n-00018400: 756c 6c3d 6661 6c73 65e2 8099 2074 6f20 ull=false... to \n-00018410: 7365 6520 7768 6572 6520 7665 7274 6578 see where vertex\n-00018420: 206f 7264 6572 696e 6720 7072 6f62 6c65 ordering proble\n-00018430: 6d73 0a20 2020 2020 6c69 652e 0a20 2020 ms. lie.. \n-00018440: e280 a220 5573 6520 7465 6d70 6f72 6172 ... Use temporar\n-00018450: 7920 6368 616e 6765 7320 6f66 2063 6f6c y changes of col\n-00018460: 6f72 206f 6620 6f6e 6520 6f72 206d 6f72 or of one or mor\n-00018470: 6520 6f62 6a65 6374 7320 746f 2065 6e73 e objects to ens\n-00018480: 7572 650a 2020 2020 2074 6861 7420 796f ure. that yo\n-00018490: 7572 2075 6e64 6572 7374 616e 6469 6e67 ur understanding\n-000184a0: 206f 6620 7468 6520 7363 656e 6520 6765 of the scene ge\n-000184b0: 6f6d 6574 7279 2069 7320 636f 7272 6563 ometry is correc\n-000184c0: 742e 0a20 2020 e280 a220 4966 20e2 8098 t.. ... If ...\n-000184d0: 5053 5472 6963 6b73 e280 9920 636f 6d70 PSTricks... comp\n-000184e0: 6c61 696e 7320 6162 6f75 7420 736f 6d65 lains about some\n-000184f0: 7468 696e 672c 2069 6e73 7065 6374 2074 thing, inspect t\n-00018500: 6865 206f 7574 7075 740a 2020 2020 2064 he output. d\n-00018510: 6972 6563 746c 7920 666f 7220 636c 7565 irectly for clue\n-00018520: 732e 0a0a 1f0a 4669 6c65 3a20 736b 6574 s.....File: sket\n-00018530: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-00018540: 436c 6970 7069 6e67 2c20 204e 6578 743a Clipping, Next:\n-00018550: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface \n-00018560: 7265 6d6f 7661 6c2c 2020 5072 6576 3a20 removal, Prev: \n-00018570: 4c69 6d69 7473 206f 6e20 6572 726f 7220 Limits on error \n-00018580: 6465 7465 6374 696f 6e2c 2020 5570 3a20 detection, Up: \n-00018590: 4361 7665 6174 730a 0a34 2e34 2e32 2043 Caveats..4.4.2 C\n-000185a0: 6c69 7070 696e 670a 2d2d 2d2d 2d2d 2d2d lipping.--------\n-000185b0: 2d2d 2d2d 2d2d 0a0a 5468 6520 6375 7272 ------..The curr\n-000185c0: 656e 7420 7665 7273 696f 6e20 6f66 20e2 ent version of .\n-000185d0: 8098 736b 6574 6368 e280 9920 6861 7320 ..sketch... has \n-000185e0: 6e6f 2063 6c69 7070 696e 6720 6f70 6572 no clipping oper\n-000185f0: 6174 696f 6e73 2e20 2054 6865 2065 6e74 ations. The ent\n-00018600: 6972 650a 7363 656e 6520 6973 2061 6c77 ire.scene is alw\n-00018610: 6179 7320 6472 6177 6e2e 2020 5468 6973 ays drawn. This\n-00018620: 206d 6561 6e73 2074 6861 7420 7768 656e means that when\n-00018630: 2061 2070 6572 7370 6563 7469 7665 2074 a perspective t\n-00018640: 7261 6e73 666f 726d 2069 730a 656d 706c ransform is.empl\n-00018650: 6f79 6564 2c20 6974 2069 7320 7468 6520 oyed, it is the \n-00018660: 7573 6572 2773 2072 6573 706f 6e73 6962 user's responsib\n-00018670: 696c 6974 7920 746f 206d 616b 6520 7375 ility to make su\n-00018680: 7265 2074 6865 2065 6e74 6972 6520 7363 re the entire sc\n-00018690: 656e 650a 7265 6d61 696e 7320 696e 2066 ene.remains in f\n-000186a0: 726f 6e74 206f 6620 7468 6520 7669 6577 ront of the view\n-000186b0: 6572 2c20 7468 6520 7265 6769 6f6e 207a er, the region z\n-000186c0: 3c30 2e0a 0a1f 0a46 696c 653a 2073 6b65 <0.....File: ske\n-000186d0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n-000186e0: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface \n-000186f0: 7265 6d6f 7661 6c2c 2020 5072 6576 3a20 removal, Prev: \n-00018700: 436c 6970 7069 6e67 2c20 2055 703a 2043 Clipping, Up: C\n-00018710: 6176 6561 7473 0a0a 342e 342e 3320 4869 aveats..4.4.3 Hi\n-00018720: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem\n-00018730: 6f76 616c 2061 6e64 2070 6f6c 7967 6f6e oval and polygon\n-00018740: 2073 706c 6974 7469 6e67 0a2d 2d2d 2d2d splitting.-----\n+00018000: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0ae2 8098 -----------.....\n+00018010: 536b 6574 6368 e280 9920 6361 7463 6865 Sketch... catche\n+00018020: 7320 6d61 6e79 206b 696e 6473 206f 6620 s many kinds of \n+00018030: 6572 726f 7273 2c20 6275 7420 6e6f 7420 errors, but not \n+00018040: 616c 6c2e 2020 466f 7220 6578 616d 706c all. For exampl\n+00018050: 652c 0a6f 7074 696f 6e73 2074 6861 7420 e,.options that \n+00018060: 736b 6574 6368 2064 6f65 7320 6e6f 7420 sketch does not \n+00018070: 7265 636f 676e 697a 652c 2065 7665 6e20 recognize, even \n+00018080: 696e 636f 7272 6563 7420 6f6e 6573 2c20 incorrect ones, \n+00018090: 6172 6520 7175 6965 746c 790a 636f 7069 are quietly.copi\n+000180a0: 6564 2074 6f20 e280 9850 5354 7269 636b ed to ...PSTrick\n+000180b0: 73e2 8099 2063 6f6d 6d61 6e64 7320 696e s... commands in\n+000180c0: 2074 6865 206f 7574 7075 742e 2020 4974 the output. It\n+000180d0: 2069 7320 616c 736f 2075 6e66 6f72 7475 is also unfortu\n+000180e0: 6e61 7465 6c79 0a65 6173 7920 746f 2070 nately.easy to p\n+000180f0: 726f 6475 6365 20e2 8098 736b 6574 6368 roduce ...sketch\n+00018100: e280 9920 696e 7075 7473 2074 6861 7420 ... inputs that \n+00018110: 6c65 6164 2074 6f20 6e6f 2070 6963 7475 lead to no pictu\n+00018120: 7265 2061 7420 616c 6c20 2869 6d70 726f re at all (impro\n+00018130: 7065 720a 7665 7274 6578 206f 7264 6572 per.vertex order\n+00018140: 696e 6720 6361 7573 6573 2065 7665 7279 ing causes every\n+00018150: 7468 696e 6720 746f 2062 6520 6375 6c6c thing to be cull\n+00018160: 6564 292c 2074 6f20 7069 6374 7572 6573 ed), to pictures\n+00018170: 2074 6861 7420 6172 650a 746f 6f20 6269 that are.too bi\n+00018180: 6720 6f72 2074 6f6f 2073 6d61 6c6c 2066 g or too small f\n+00018190: 6f72 20e2 8098 5053 5472 6963 6b73 e280 or ...PSTricks..\n+000181a0: 9920 746f 2064 7261 7720 2864 7565 2074 . to draw (due t\n+000181b0: 6f20 6c69 6d69 7473 206f 6620 5465 5820 o limits of TeX \n+000181c0: 6d61 7468 292c 0a61 6e64 2070 6963 7475 math),.and pictu\n+000181d0: 7265 7320 7468 6174 206c 6f6f 6b20 6e6f res that look no\n+000181e0: 7468 696e 6720 6c69 6b65 2077 6861 7420 thing like what \n+000181f0: 7761 7320 696e 7465 6e64 6564 2e20 2041 was intended. A\n+00018200: 2070 6963 7475 7265 2077 6974 680a 6f6e picture with.on\n+00018210: 6520 6f66 2074 6865 7365 2070 726f 626c e of these probl\n+00018220: 656d 7320 6361 6e20 6265 2064 6966 6669 ems can be diffi\n+00018230: 6375 6c74 2074 6f20 2264 6562 7567 2e22 cult to \"debug.\"\n+00018240: 2020 5765 206f 6666 6572 2074 6865 0a66 We offer the.f\n+00018250: 6f6c 6c6f 7769 6e67 2073 7567 6765 7374 ollowing suggest\n+00018260: 696f 6e73 2e0a 2020 20e2 80a2 2046 6f6c ions.. ... Fol\n+00018270: 6c6f 7720 7468 6520 7375 6767 6573 7465 low the suggeste\n+00018280: 6420 696e 6372 656d 656e 7461 6c20 6465 d incremental de\n+00018290: 7665 6c6f 706d 656e 7420 6d65 7468 6f64 velopment method\n+000182a0: 2064 6573 6372 6962 6564 2069 6e0a 2020 described in. \n+000182b0: 2020 202a 6e6f 7465 204f 7665 7276 6965 *note Overvie\n+000182c0: 773a 3a2e 0a20 2020 e280 a220 416c 7761 w::.. ... Alwa\n+000182d0: 7973 206d 6169 6e74 6169 6e20 6f6e 6520 ys maintain one \n+000182e0: 6f72 2074 776f 2062 6163 6b2d 7665 7273 or two back-vers\n+000182f0: 696f 6e73 206f 6620 6120 6472 6177 696e ions of a drawin\n+00018300: 6720 736f 2074 6861 7420 6974 2069 730a g so that it is.\n+00018310: 2020 2020 2065 6173 7920 746f 2066 616c easy to fal\n+00018320: 6c20 6261 636b 2074 6f20 6120 6b6e 6f77 l back to a know\n+00018330: 6e2d 676f 6f64 2069 6e63 7265 6d65 6e74 n-good increment\n+00018340: 2e0a 2020 20e2 80a2 2057 6865 6e20 7573 .. ... When us\n+00018350: 696e 6720 e280 9870 6572 7370 6563 7469 ing ...perspecti\n+00018360: 7665 e280 992c 2065 6e73 7572 6520 616c ve..., ensure al\n+00018370: 6c20 6669 6e61 6c6c 7920 7472 616e 7366 l finally transf\n+00018380: 6f72 6d65 6420 6f62 6a65 6374 730a 2020 ormed objects. \n+00018390: 2020 2073 6174 6973 6679 207a 3c30 2061 satisfy z<0 a\n+000183a0: 6e64 2c20 696e 2066 6163 742c 2064 6f20 nd, in fact, do \n+000183b0: 6e6f 7420 636f 6d65 2076 6572 7920 636c not come very cl\n+000183c0: 6f73 6520 746f 2074 6865 206f 7269 6769 ose to the origi\n+000183d0: 6e20 6174 0a20 2020 2020 616c 6c2e 0a20 n at. all.. \n+000183e0: 2020 e280 a220 5465 6d70 6f72 6172 696c ... Temporaril\n+000183f0: 7920 7573 6520 e280 9863 756c 6c3d 6661 y use ...cull=fa\n+00018400: 6c73 65e2 8099 2074 6f20 7365 6520 7768 lse... to see wh\n+00018410: 6572 6520 7665 7274 6578 206f 7264 6572 ere vertex order\n+00018420: 696e 6720 7072 6f62 6c65 6d73 0a20 2020 ing problems. \n+00018430: 2020 6c69 652e 0a20 2020 e280 a220 5573 lie.. ... Us\n+00018440: 6520 7465 6d70 6f72 6172 7920 6368 616e e temporary chan\n+00018450: 6765 7320 6f66 2063 6f6c 6f72 206f 6620 ges of color of \n+00018460: 6f6e 6520 6f72 206d 6f72 6520 6f62 6a65 one or more obje\n+00018470: 6374 7320 746f 2065 6e73 7572 650a 2020 cts to ensure. \n+00018480: 2020 2074 6861 7420 796f 7572 2075 6e64 that your und\n+00018490: 6572 7374 616e 6469 6e67 206f 6620 7468 erstanding of th\n+000184a0: 6520 7363 656e 6520 6765 6f6d 6574 7279 e scene geometry\n+000184b0: 2069 7320 636f 7272 6563 742e 0a20 2020 is correct.. \n+000184c0: e280 a220 4966 20e2 8098 5053 5472 6963 ... If ...PSTric\n+000184d0: 6b73 e280 9920 636f 6d70 6c61 696e 7320 ks... complains \n+000184e0: 6162 6f75 7420 736f 6d65 7468 696e 672c about something,\n+000184f0: 2069 6e73 7065 6374 2074 6865 206f 7574 inspect the out\n+00018500: 7075 740a 2020 2020 2064 6972 6563 746c put. directl\n+00018510: 7920 666f 7220 636c 7565 732e 0a0a 1f0a y for clues.....\n+00018520: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+00018530: 6f2c 2020 4e6f 6465 3a20 436c 6970 7069 o, Node: Clippi\n+00018540: 6e67 2c20 204e 6578 743a 2048 6964 6465 ng, Next: Hidde\n+00018550: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova\n+00018560: 6c2c 2020 5072 6576 3a20 4c69 6d69 7473 l, Prev: Limits\n+00018570: 206f 6e20 6572 726f 7220 6465 7465 6374 on error detect\n+00018580: 696f 6e2c 2020 5570 3a20 4361 7665 6174 ion, Up: Caveat\n+00018590: 730a 0a34 2e34 2e32 2043 6c69 7070 696e s..4.4.2 Clippin\n+000185a0: 670a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d g.--------------\n+000185b0: 0a0a 5468 6520 6375 7272 656e 7420 7665 ..The current ve\n+000185c0: 7273 696f 6e20 6f66 20e2 8098 736b 6574 rsion of ...sket\n+000185d0: 6368 e280 9920 6861 7320 6e6f 2063 6c69 ch... has no cli\n+000185e0: 7070 696e 6720 6f70 6572 6174 696f 6e73 pping operations\n+000185f0: 2e20 2054 6865 2065 6e74 6972 650a 7363 . The entire.sc\n+00018600: 656e 6520 6973 2061 6c77 6179 7320 6472 ene is always dr\n+00018610: 6177 6e2e 2020 5468 6973 206d 6561 6e73 awn. This means\n+00018620: 2074 6861 7420 7768 656e 2061 2070 6572 that when a per\n+00018630: 7370 6563 7469 7665 2074 7261 6e73 666f spective transfo\n+00018640: 726d 2069 730a 656d 706c 6f79 6564 2c20 rm is.employed, \n+00018650: 6974 2069 7320 7468 6520 7573 6572 2773 it is the user's\n+00018660: 2072 6573 706f 6e73 6962 696c 6974 7920 responsibility \n+00018670: 746f 206d 616b 6520 7375 7265 2074 6865 to make sure the\n+00018680: 2065 6e74 6972 6520 7363 656e 650a 7265 entire scene.re\n+00018690: 6d61 696e 7320 696e 2066 726f 6e74 206f mains in front o\n+000186a0: 6620 7468 6520 7669 6577 6572 2c20 7468 f the viewer, th\n+000186b0: 6520 7265 6769 6f6e 207a 3c30 2e0a 0a1f e region z<0....\n+000186c0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n+000186d0: 666f 2c20 204e 6f64 653a 2048 6964 6465 fo, Node: Hidde\n+000186e0: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova\n+000186f0: 6c2c 2020 5072 6576 3a20 436c 6970 7069 l, Prev: Clippi\n+00018700: 6e67 2c20 2055 703a 2043 6176 6561 7473 ng, Up: Caveats\n+00018710: 0a0a 342e 342e 3320 4869 6464 656e 2073 ..4.4.3 Hidden s\n+00018720: 7572 6661 6365 2072 656d 6f76 616c 2061 urface removal a\n+00018730: 6e64 2070 6f6c 7967 6f6e 2073 706c 6974 nd polygon split\n+00018740: 7469 6e67 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ting.-----------\n 00018750: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 00018760: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00018770: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0ae2 -------------...\n-00018780: 8098 536b 6574 6368 e280 9920 7573 6573 ..Sketch... uses\n-00018790: 2074 6865 20e2 809c 6465 7074 6820 736f the ...depth so\n-000187a0: 7274 2061 6c67 6f72 6974 686d e280 9d20 rt algorithm... \n-000187b0: 666f 7220 6869 6464 656e 2073 7572 6661 for hidden surfa\n-000187c0: 6365 2072 656d 6f76 616c 2e0a 5468 6973 ce removal..This\n-000187d0: 2069 7320 6120 7665 7279 206f 6c64 2074 is a very old t\n-000187e0: 6563 686e 6971 7565 2064 7565 2074 6f20 echnique due to \n-000187f0: 4e65 7765 6c6c 2e28 3129 2020 4974 2069 Newell.(1) It i\n-00018800: 7320 6765 6e65 7261 6c6c 7920 7265 6761 s generally rega\n-00018810: 7264 6564 0a61 7320 746f 6f20 736c 6f77 rded.as too slow\n-00018820: 2066 6f72 2072 6561 6c20 7469 6d65 2067 for real time g\n-00018830: 7261 7068 6963 732c 2062 7574 2069 7420 raphics, but it \n-00018840: 6973 2069 6465 616c 2066 6f72 206f 7572 is ideal for our\n-00018850: 2070 7572 706f 7365 0a77 6865 7265 2073 purpose.where s\n-00018860: 7065 6564 2069 7320 6e6f 7420 7665 7279 peed is not very\n-00018870: 2069 6d70 6f72 7461 6e74 2e28 3229 0a0a important.(2)..\n-00018880: 2020 2054 6865 2064 6570 7468 2073 6f72 The depth sor\n-00018890: 7420 616c 676f 7269 7468 6d20 6d65 7265 t algorithm mere\n-000188a0: 6c79 2073 6f72 7473 206f 626a 6563 7473 ly sorts objects\n-000188b0: 206f 6e20 6120 6b65 7920 6f66 2069 6e63 on a key of inc\n-000188c0: 7265 6173 696e 670a 7a2d 636f 6f72 6469 reasing.z-coordi\n-000188d0: 6e61 7465 2c20 6571 7569 7661 6c65 6e74 nate, equivalent\n-000188e0: 2074 6f20 6465 6372 6561 7369 6e67 2064 to decreasing d\n-000188f0: 6570 7468 2e20 204f 626a 6563 7473 2061 epth. Objects a\n-00018900: 7265 2074 6865 6e20 6472 6177 6e20 696e re then drawn in\n-00018910: 0a74 6865 2073 6f72 7465 6420 7365 7175 .the sorted sequ\n-00018920: 656e 6365 2073 6f20 7468 6174 2074 686f ence so that tho\n-00018930: 7365 2061 7420 7468 6520 7265 6172 206f se at the rear o\n-00018940: 6620 7468 6520 7363 656e 6520 6172 650a f the scene are.\n-00018950: 6f76 6572 7772 6974 7465 6e20 6279 2074 overwritten by t\n-00018960: 686f 7365 2063 6c6f 7365 7220 746f 2074 hose closer to t\n-00018970: 6865 2076 6965 7765 722e 2020 5369 6e63 he viewer. Sinc\n-00018980: 6520 7468 6973 2069 7320 616c 736f 2068 e this is also h\n-00018990: 6f77 206f 696c 0a70 6169 6e74 6572 7320 ow oil.painters \n-000189a0: 7072 6163 7469 6365 2074 6865 6972 2061 practice their a\n-000189b0: 7274 2c20 6465 7074 6820 736f 7274 2069 rt, depth sort i\n-000189c0: 7320 736f 6d65 7469 6d65 7320 6361 6c6c s sometimes call\n-000189d0: 6564 2022 7468 650a 7061 696e 7465 7227 ed \"the.painter'\n-000189e0: 7320 616c 676f 7269 7468 6d2e 220a 0a20 s algorithm.\".. \n-000189f0: 2020 496e 2073 6f6d 6520 6361 7365 7320 In some cases \n-00018a00: 6974 2069 7320 696d 706f 7373 6962 6c65 it is impossible\n-00018a10: 2074 6f20 7374 7269 6374 6c79 206f 7264 to strictly ord\n-00018a20: 6572 2070 6f6c 7967 6f6e 7320 6163 636f er polygons acco\n-00018a30: 7264 696e 670a 746f 2064 6570 7468 2e20 rding.to depth. \n-00018a40: 204d 6f72 656f 7665 722c 2065 7665 6e20 Moreover, even \n-00018a50: 6966 2061 2063 6f72 7265 6374 2064 6570 if a correct dep\n-00018a60: 7468 206f 7264 6572 696e 6720 6578 6973 th ordering exis\n-00018a70: 7473 2c20 7468 650a 636f 6d70 7574 6174 ts, the.computat\n-00018a80: 696f 6e20 6e65 6564 6564 2074 6f20 6669 ion needed to fi\n-00018a90: 6e64 2069 7420 6d61 7920 6265 2074 6f6f nd it may be too\n-00018aa0: 2063 6f6d 706c 6578 2061 6e64 2073 6c6f complex and slo\n-00018ab0: 772e 2020 496e 2074 6865 7365 0a63 6173 w. In these.cas\n-00018ac0: 6573 2c20 e280 9873 6b65 7463 68e2 8099 es, ...sketch...\n-00018ad0: 2073 706c 6974 7320 6f6e 6520 6f72 206d splits one or m\n-00018ae0: 6f72 6520 706f 6c79 676f 6e73 2069 6e74 ore polygons int\n-00018af0: 6f20 7069 6563 6573 2e20 2054 6865 0a65 o pieces. The.e\n-00018b00: 7870 6563 7461 7469 6f6e 2069 7320 7468 xpectation is th\n-00018b10: 6174 2074 6865 206e 6577 2c20 736d 616c at the new, smal\n-00018b20: 6c65 7220 706f 6c79 676f 6e73 2077 696c ler polygons wil\n-00018b30: 6c20 6265 2073 696d 706c 6572 2074 6f20 l be simpler to \n-00018b40: 6f72 6465 722e 0ae2 8098 536b 6574 6368 order.....Sketch\n-00018b50: e280 9920 7573 6573 2061 2042 5350 2028 ... uses a BSP (\n-00018b60: 6269 6e61 7279 2073 7061 6365 2070 6172 binary space par\n-00018b70: 7469 7469 6f6e 2920 746f 2068 616e 646c tition) to handl\n-00018b80: 6520 7468 6520 7370 6c69 7474 696e 670a e the splitting.\n-00018b90: 6f70 6572 6174 696f 6e2e 0a0a 2a20 4d65 operation...* Me\n-00018ba0: 6e75 3a0a 0a2a 2053 7461 7469 7374 6963 nu:..* Statistic\n-00018bb0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n-00018bc0: 2020 2020 2050 6572 666f 726d 616e 6365 Performance\n-00018bd0: 206e 756d 6265 7273 206f 6e20 6465 7074 numbers on dept\n-00018be0: 6820 736f 7274 2e0a 2a20 4275 6773 2061 h sort..* Bugs a\n-00018bf0: 6e64 2061 6e6f 6d61 6c69 6573 3a3a 2020 nd anomalies:: \n-00018c00: 2020 2020 2020 2020 496d 7065 7266 6563 Imperfec\n-00018c10: 7469 6f6e 7320 696e 2074 6869 7320 696d tions in this im\n-00018c20: 706c 656d 656e 7461 7469 6f6e 2e0a 0a20 plementation... \n-00018c30: 2020 2d2d 2d2d 2d2d 2d2d 2d2d 2046 6f6f ---------- Foo\n-00018c40: 746e 6f74 6573 202d 2d2d 2d2d 2d2d 2d2d tnotes ---------\n-00018c50: 2d0a 0a20 2020 2831 2920 4e65 7765 6c6c -.. (1) Newell\n-00018c60: 2c20 4d2e 452e 2c20 522e 472e 204e 6577 , M.E., R.G. New\n-00018c70: 656c 6c2c 2061 6e64 2054 2e4c 2e20 5361 ell, and T.L. Sa\n-00018c80: 6e63 6861 2c20 4120 736f 6c75 7469 6f6e ncha, A solution\n-00018c90: 2074 6f20 7468 650a 6869 6464 656e 2073 to the.hidden s\n-00018ca0: 7572 6661 6365 2070 726f 626c 656d 2e20 urface problem. \n-00018cb0: 2050 726f 6365 6564 696e 6773 206f 6620 Proceedings of \n-00018cc0: 7468 6520 4143 4d20 616e 6e75 616c 2063 the ACM annual c\n-00018cd0: 6f6e 6665 7265 6e63 6520 2d0a 566f 6c75 onference -.Volu\n-00018ce0: 6d65 2031 2c20 7061 6765 2034 3433 2d34 me 1, page 443-4\n-00018cf0: 3530 2c20 4143 4d20 5072 6573 732c 2031 50, ACM Press, 1\n-00018d00: 3937 322e 0a0a 2020 2028 3229 2057 6520 972... (2) We \n-00018d10: 6861 7665 2072 756e 20e2 8098 736b 6574 have run ...sket\n-00018d20: 6368 e280 9920 6f6e 2074 6865 2066 616d ch... on the fam\n-00018d30: 6f75 7320 5374 616e 666f 7264 2042 756e ous Stanford Bun\n-00018d40: 6e79 2c20 7768 6963 6820 636f 6e73 6973 ny, which consis\n-00018d50: 7473 0a6f 6620 6e65 6172 6c79 2037 302c ts.of nearly 70,\n-00018d60: 3030 3020 7472 6961 6e67 6c65 732e 2020 000 triangles. \n-00018d70: 5275 6e20 7469 6d65 2077 6173 2061 626f Run time was abo\n-00018d80: 7574 2036 2073 6563 6f6e 6473 2e20 204d ut 6 seconds. M\n-00018d90: 6f73 7420 6f66 2074 6869 730a 7761 7320 ost of this.was \n-00018da0: 7370 656e 7420 7772 6974 696e 6720 7468 spent writing th\n-00018db0: 6520 6f75 7470 7574 2066 696c 6520 7261 e output file ra\n-00018dc0: 7468 6572 2074 6861 6e20 696e 2074 6865 ther than in the\n-00018dd0: 2068 6964 6465 6e20 7375 7266 6163 650a hidden surface.\n-00018de0: 616c 676f 7269 7468 6d2e 2020 4c61 5465 algorithm. LaTe\n-00018df0: 5820 746f 6f6b 206d 7563 6820 6c6f 6e67 X took much long\n-00018e00: 6572 2074 6f20 7072 6f63 6573 7320 7468 er to process th\n-00018e10: 6520 7265 7375 6c74 696e 6720 e280 9850 e resulting ...P\n-00018e20: 5354 7269 636b 73e2 8099 0a63 6f64 652e STricks....code.\n-00018e30: 2020 5468 6520 6f62 7669 6f75 7320 636f The obvious co\n-00018e40: 6e63 6c75 7369 6f6e 2069 7320 7468 6174 nclusion is that\n-00018e50: 2074 6865 2073 7065 6564 206f 6620 7468 the speed of th\n-00018e60: 6520 6465 7074 6820 736f 7274 0a61 6c67 e depth sort.alg\n-00018e70: 6f72 6974 686d 2069 7320 6e6f 7420 6120 orithm is not a \n-00018e80: 776f 7272 792e 0a0a 1f0a 4669 6c65 3a20 worry.....File: \n-00018e90: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-00018ea0: 6465 3a20 5374 6174 6973 7469 6373 2c20 de: Statistics, \n-00018eb0: 204e 6578 743a 2042 7567 7320 616e 6420 Next: Bugs and \n-00018ec0: 616e 6f6d 616c 6965 732c 2020 5072 6576 anomalies, Prev\n-00018ed0: 3a20 4869 6464 656e 2073 7572 6661 6365 : Hidden surface\n-00018ee0: 2072 656d 6f76 616c 2c20 2055 703a 2048 removal, Up: H\n-00018ef0: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re\n-00018f00: 6d6f 7661 6c0a 0a34 2e34 2e33 2e31 2053 moval..4.4.3.1 S\n-00018f10: 7461 7469 7374 6963 730a 2e2e 2e2e 2e2e tatistics.......\n-00018f20: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 466f ..............Fo\n-00018f30: 7220 7468 6520 6375 7269 6f75 732c 20e2 r the curious, .\n-00018f40: 8098 736b 6574 6368 e280 9920 7772 6974 ..sketch... writ\n-00018f50: 6573 206f 6e65 206c 696e 6520 6f66 2064 es one line of d\n-00018f60: 6570 7468 2073 6f72 7420 7374 6174 6973 epth sort statis\n-00018f70: 7469 6373 2e0a 4865 7265 2069 7320 616e tics..Here is an\n-00018f80: 2065 7861 6d70 6c65 2066 6f72 2061 206c example for a l\n-00018f90: 6172 6765 2063 6f6c 6c65 6374 696f 6e20 arge collection \n-00018fa0: 6f66 2074 7269 616e 676c 6573 2e0a 2020 of triangles.. \n-00018fb0: 7265 6d61 726b 2c20 6e6f 6465 3d33 3438 remark, node=348\n-00018fc0: 3234 2070 726f 6265 3d35 3831 2e39 2073 24 probe=581.9 s\n-00018fd0: 7761 703d 3520 7370 6c69 743d 3220 2869 wap=5 split=2 (i\n-00018fe0: 6e3d 3420 6f75 743d 3629 206f 6c73 3d32 n=4 out=6) ols=2\n-00018ff0: 3438 3531 2f30 0a49 7420 6d65 616e 7320 4851/0.It means \n-00019000: 7468 6174 2033 342c 3832 3420 6f62 6a65 that 34,824 obje\n-00019010: 6374 7320 7765 7265 2064 6570 7468 2073 cts were depth s\n-00019020: 6f72 7465 6420 6166 7465 7220 6375 6c6c orted after cull\n-00019030: 696e 672e 2020 466f 7220 6561 6368 2c0a ing. For each,.\n-00019040: 616e 2061 7665 7261 6765 206f 6620 3538 an average of 58\n-00019050: 312e 3920 6f74 6865 7273 2068 6164 2074 1.9 others had t\n-00019060: 6f20 6265 2063 6865 636b 6564 2074 6f20 o be checked to \n-00019070: 656e 7375 7265 2074 6861 7420 7468 6520 ensure that the \n-00019080: 696e 6974 6961 6c2c 0a61 7070 726f 7869 initial,.approxi\n-00019090: 6d61 7465 206f 7264 6572 696e 6720 7761 mate ordering wa\n-000190a0: 7320 636f 7272 6563 742e 2020 416d 6f6e s correct. Amon\n-000190b0: 6720 616c 6c20 7468 6573 6520 6368 6563 g all these chec\n-000190c0: 6b73 2c20 6f6e 6c79 2035 0a72 6573 756c ks, only 5.resul\n-000190d0: 7465 6420 696e 2073 7761 7073 2074 6f20 ted in swaps to \n-000190e0: 7265 6f72 6465 7220 7468 6520 696e 6974 reorder the init\n-000190f0: 6961 6c20 736f 7274 2e20 2049 6e20 7477 ial sort. In tw\n-00019100: 6f20 6361 7365 732c 2061 2063 6f72 7265 o cases, a corre\n-00019110: 6374 0a6f 7264 6572 696e 6720 636f 756c ct.ordering coul\n-00019120: 6420 6e6f 7420 6265 2064 6574 6572 6d69 d not be determi\n-00019130: 6e65 642c 2073 6f20 6269 6e61 7279 2073 ned, so binary s\n-00019140: 7061 6365 2070 6172 7469 7469 6f6e 7320 pace partitions \n-00019150: 7765 7265 0a63 6f6e 7374 7275 6374 6564 were.constructed\n-00019160: 2066 6f72 2073 706c 6974 7469 6e67 2e20 for splitting. \n-00019170: 2041 2074 6f74 616c 206f 6620 3420 6f62 A total of 4 ob\n-00019180: 6a65 6374 7320 2874 7269 616e 676c 6573 jects (triangles\n-00019190: 2069 6e20 7468 6973 0a63 6173 6529 2077 in this.case) w\n-000191a0: 6572 6520 696e 7365 7274 6564 2069 6e20 ere inserted in \n-000191b0: 7468 6520 7061 7274 6974 696f 6e73 2c20 the partitions, \n-000191c0: 616e 6420 3620 706f 6c79 676f 6e73 2077 and 6 polygons w\n-000191d0: 6572 6520 7072 6f64 7563 6564 2e0a 4669 ere produced..Fi\n-000191e0: 6e61 6c6c 792c 2032 342c 3835 3120 226c nally, 24,851 \"l\n-000191f0: 6173 7420 7265 736f 7274 2220 706f 6c79 ast resort\" poly\n-00019200: 676f 6e20 6f76 6572 6c61 7020 6368 6563 gon overlap chec\n-00019210: 6b73 2077 6572 6520 7065 7266 6f72 6d65 ks were performe\n-00019220: 640a 6166 7465 7220 7369 6d70 6c65 722c d.after simpler,\n-00019230: 2066 6173 7465 7220 6368 6563 6b73 2066 faster checks f\n-00019240: 6169 6c65 6420 746f 2079 6965 6c64 2063 ailed to yield c\n-00019250: 6f6e 636c 7573 6976 6520 7265 7375 6c74 onclusive result\n-00019260: 732e 2020 5468 650a 6669 6e61 6c20 2f30 s. The.final /0\n-00019270: 2069 7320 666f 7220 6c69 6e65 2d70 6f6c is for line-pol\n-00019280: 7967 6f6e 206f 7665 726c 6170 2063 6865 ygon overlap che\n-00019290: 636b 732e 2020 466f 7220 636f 6d70 6172 cks. For compar\n-000192a0: 6973 6f6e 2c20 7468 650a 7374 6174 6973 ison, the.statis\n-000192b0: 7469 6373 2066 6f72 2074 6865 206c 6173 tics for the las\n-000192c0: 7420 6669 6775 7265 2069 6e20 2a6e 6f74 t figure in *not\n-000192d0: 6520 4f76 6572 7669 6577 3a3a 2066 6f6c e Overview:: fol\n-000192e0: 6c6f 772e 0a20 2072 656d 6172 6b2c 206e low.. remark, n\n-000192f0: 6f64 653d 3237 2070 726f 6265 3d31 342e ode=27 probe=14.\n-00019300: 3620 7377 6170 3d33 3620 7370 6c69 743d 6 swap=36 split=\n-00019310: 3135 2028 696e 3d33 3020 6f75 743d 3435 15 (in=30 out=45\n-00019320: 2920 6f6c 733d 302f 3639 0a4e 6f74 6520 ) ols=0/69.Note \n-00019330: 7468 6174 2074 6865 7265 2077 6173 2070 that there was p\n-00019340: 726f 706f 7274 696f 6e61 6c6c 7920 6d75 roportionally mu\n-00019350: 6368 206d 6f72 6520 7377 6170 7069 6e67 ch more swapping\n-00019360: 2061 6e64 2073 706c 6974 7469 6e67 0a61 and splitting.a\n-00019370: 6374 6976 6974 7920 696e 2074 6869 7320 ctivity in this \n-00019380: 6869 6768 6c79 2063 6f6e 6e65 6374 6564 highly connected\n-00019390: 2073 6365 6e65 2e0a 0a1f 0a46 696c 653a scene.....File:\n-000193a0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-000193b0: 6f64 653a 2042 7567 7320 616e 6420 616e ode: Bugs and an\n-000193c0: 6f6d 616c 6965 732c 2020 5072 6576 3a20 omalies, Prev: \n-000193d0: 5374 6174 6973 7469 6373 2c20 2055 703a Statistics, Up:\n-000193e0: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface \n-000193f0: 7265 6d6f 7661 6c0a 0a34 2e34 2e33 2e32 removal..4.4.3.2\n-00019400: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal\n-00019410: 6965 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ies.............\n-00019420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................\n-00019430: 506f 6c79 676f 6e20 616e 6420 6c69 6e65 Polygon and line\n-00019440: 2073 706c 6974 7469 6e67 2063 616e 2062 splitting can b\n-00019450: 6f74 6820 6361 7573 6520 616e 6f6d 616c oth cause anomal\n-00019460: 6965 7320 696e 2074 6865 206f 7574 7075 ies in the outpu\n-00019470: 742e 0ae2 8098 5053 5472 6963 6b73 e280 t.....PSTricks..\n-00019480: 9920 6461 7368 2070 6174 7465 726e 732c . dash patterns,\n-00019490: 2073 7065 6369 6669 6564 2077 6974 6820 specified with \n-000194a0: e280 986c 696e 6573 7479 6c65 3d64 6173 ...linestyle=das\n-000194b0: 6865 64e2 8099 2c20 6361 6e20 6265 0a64 hed..., can be.d\n-000194c0: 6973 7275 7074 6564 2062 7920 7370 6c69 isrupted by spli\n-000194d0: 7474 696e 672e 2020 5468 6973 206f 6363 tting. This occ\n-000194e0: 7572 7320 7768 656e 2074 6865 2064 6570 urs when the dep\n-000194f0: 7468 2073 6f72 7420 6769 7665 7320 7570 th sort gives up\n-00019500: 2074 6f6f 0a65 6172 6c79 2061 6e64 2073 too.early and s\n-00019510: 706c 6974 7320 6120 6c69 6e65 2077 6865 plits a line whe\n-00019520: 7265 2069 7420 6973 206e 6f74 2072 6561 re it is not rea\n-00019530: 6c6c 7920 6e65 6365 7373 6172 792e 2020 lly necessary. \n-00019540: 4120 776f 726b 6172 6f75 6e64 0a69 7320 A workaround.is \n-00019550: 746f 2075 7365 2067 7261 7920 6f72 2066 to use gray or f\n-00019560: 696e 656c 7920 646f 7474 6564 206c 696e inely dotted lin\n-00019570: 6573 2069 6e73 7465 6164 2e20 2049 6620 es instead. If \n-00019580: 796f 7572 2064 7261 7769 6e67 2069 730a your drawing is.\n-00019590: 736d 616c 6c2c 2079 6f75 2063 616e 2061 small, you can a\n-000195a0: 6c73 6f20 6564 6974 2074 6865 20e2 8098 lso edit the ...\n-000195b0: 736b 6574 6368 e280 9920 6f75 7470 7574 sketch... output\n-000195c0: 2062 7920 6861 6e64 2074 6f20 6d65 7267 by hand to merg\n-000195d0: 6520 7468 6520 7069 6563 6573 0a6f 6620 e the pieces.of \n-000195e0: 7468 6520 6f66 6665 6e64 696e 6720 6c69 the offending li\n-000195f0: 6e65 2e0a 0a20 2020 416e 6f74 6865 7220 ne... Another \n-00019600: 616e 6f6d 616c 7920 6973 2074 696e 7920 anomaly is tiny \n-00019610: 286f 7220 696e 2064 6567 656e 6572 6174 (or in degenerat\n-00019620: 6520 6361 7365 7320 6e6f 742d 736f 2d74 e cases not-so-t\n-00019630: 696e 7929 206e 6f74 6368 6573 0a69 6e20 iny) notches.in \n-00019640: 7468 6520 6c69 6e65 7320 7468 6174 2062 the lines that b\n-00019650: 6f72 6465 7220 7370 6c69 7420 706f 6c79 order split poly\n-00019660: 676f 6e73 2e20 2054 6865 7365 2064 6572 gons. These der\n-00019670: 6976 6520 6672 6f6d 2074 6865 2077 6179 ive from the way\n-00019680: 2065 6163 680a 706f 6c79 676f 6e20 6973 each.polygon is\n-00019690: 2070 6169 6e74 6564 3a20 6669 7273 742c painted: first,\n-000196a0: 2061 6c6c 2070 6978 656c 7320 7769 7468 all pixels with\n-000196b0: 696e 2074 6865 2062 6f75 6e64 6172 7920 in the boundary \n-000196c0: 6172 6520 e280 9c66 696c 6c65 64e2 809d are ...filled...\n-000196d0: 0a77 6974 6820 636f 6c6f 7220 2870 6572 .with color (per\n-000196e0: 6861 7073 2077 6869 7465 292c 2074 6865 haps white), the\n-000196f0: 6e20 7468 6520 7361 6d65 2062 6f75 6e64 n the same bound\n-00019700: 6172 7920 6973 20e2 809c 7374 726f 6b65 ary is ...stroke\n-00019710: 64e2 809d 2028 610a 506f 7374 7363 7269 d... (a.Postscri\n-00019720: 7074 2074 6572 6d29 2077 6974 6820 6120 pt term) with a \n-00019730: 6c69 6e65 2e20 2054 6865 2072 6573 756c line. The resul\n-00019740: 7420 6973 2074 6861 7420 6861 6c66 2074 t is that half t\n-00019750: 6865 206c 696e 6520 6c69 6573 0a69 6e73 he line lies.ins\n-00019760: 6964 6520 7468 6520 626f 756e 6461 7279 ide the boundary\n-00019770: 2061 6e64 2068 616c 6620 6f75 7473 6964 and half outsid\n-00019780: 652c 2077 6869 6c65 2074 6865 2050 6169 e, while the Pai\n-00019790: 6e74 6572 2773 2061 6c67 6f72 6974 686d nter's algorithm\n-000197a0: 0a61 7373 756d 6573 2074 6865 2070 6f6c .assumes the pol\n-000197b0: 7967 6f6e 206c 6965 7320 656e 7469 7265 ygon lies entire\n-000197c0: 6c79 2077 6974 6869 6e20 6974 7320 626f ly within its bo\n-000197d0: 756e 6461 7279 2e20 2054 6865 206e 6f74 undary. The not\n-000197e0: 6368 6573 2061 7265 0a64 7565 2074 6f20 ches are.due to \n-000197f0: 6f6e 6520 706f 6c79 676f 6e20 6669 6c6c one polygon fill\n-00019800: 206f 7065 7261 7469 6f6e 206f 7665 7277 operation overw\n-00019810: 7269 7469 6e67 2074 6865 2061 6c72 6561 riting the alrea\n-00019820: 6479 2d64 7261 776e 2069 6e73 6964 650a dy-drawn inside.\n-00019830: 6f66 2074 6865 2062 6f72 6465 7220 6f66 of the border of\n-00019840: 2061 6e6f 7468 6572 2070 6f6c 7967 6f6e another polygon\n-00019850: 2e28 3129 2020 4f6e 6520 776f 726b 6172 .(1) One workar\n-00019860: 6f75 6e64 2069 7320 746f 206d 616b 6520 ound is to make \n-00019870: 626f 7264 6572 0a6c 696e 6573 2076 6572 border.lines ver\n-00019880: 7920 7468 696e 2e20 2049 6e20 6661 6374 y thin. In fact\n-00019890: 20e2 8098 6c69 6e65 7769 6474 683d 3070 ...linewidth=0p\n-000198a0: 74e2 8099 2069 7320 6775 6172 616e 7465 t... is guarante\n-000198b0: 6564 2074 6f20 656c 696d 696e 6174 650a ed to eliminate.\n-000198c0: 7468 6973 2070 726f 626c 656d 2c20 7468 this problem, th\n-000198d0: 6f75 6768 2074 6869 7320 7265 7375 6c74 ough this result\n-000198e0: 7320 696e 2074 6865 2074 6869 6e6e 6573 s in the thinnes\n-000198f0: 7420 6c69 6e65 2079 6f75 7220 6f75 7470 t line your outp\n-00019900: 7574 0a64 6576 6963 6520 6361 6e20 6472 ut.device can dr\n-00019910: 6177 2c20 7768 6963 6820 6973 2075 7375 aw, which is usu\n-00019920: 616c 6c79 2074 6f6f 2074 6869 6e2e 2020 ally too thin. \n-00019930: 596f 7520 6d69 6768 7420 6765 7420 6c75 You might get lu\n-00019940: 636b 7920 6279 0a6d 6572 656c 7920 7265 cky by.merely re\n-00019950: 6f72 6465 7269 6e67 2074 6869 6e67 7320 ordering things \n-00019960: 696e 2074 6865 2069 6e70 7574 2066 696c in the input fil\n-00019970: 652c 2077 6869 6368 2069 7320 6c69 6b65 e, which is like\n-00019980: 6c79 2074 6f20 6d6f 7665 2074 6865 0a73 ly to move the.s\n-00019990: 706c 6974 7320 746f 2064 6966 6665 7265 plits to differe\n-000199a0: 6e74 2070 6c61 6365 732e 2020 5468 6520 nt places. The \n-000199b0: 6f6e 6c79 2073 7572 652d 6669 7265 2073 only sure-fire s\n-000199c0: 6f6c 7574 696f 6e20 6973 2070 7265 7474 olution is prett\n-000199d0: 790a 7465 7272 6962 6c65 3a20 6375 7374 y.terrible: cust\n-000199e0: 6f6d 2066 6974 20e2 8098 7370 6563 6961 om fit ...specia\n-000199f0: 6ce2 8099 206f 7665 726c 6179 206c 696e l... overlay lin\n-00019a00: 6573 2028 7769 7468 20e2 8098 5c70 736c es (with ...\\psl\n-00019a10: 696e 65e2 8099 2920 746f 2063 6f76 6572 ine...) to cover\n-00019a20: 0a74 6865 206e 6f74 6368 6573 2e0a 0a20 .the notches... \n-00019a30: 2020 506f 6c79 676f 6e20 7370 6c69 7474 Polygon splitt\n-00019a40: 696e 6720 616c 736f 2062 7265 616b 7320 ing also breaks \n-00019a50: e280 9850 5354 7269 636b 73e2 8099 2068 ...PSTricks... h\n-00019a60: 6174 6368 2070 6174 7465 726e 732e 2020 atch patterns. \n-00019a70: 5468 6520 6f6e 6c79 0a6b 6e6f 776e 2077 The only.known w\n-00019a80: 6f72 6b61 726f 756e 6420 6973 2074 6f20 orkaround is to \n-00019a90: 7375 6273 7469 7475 7465 2061 2073 6f6c substitute a sol\n-00019aa0: 6964 2066 696c 6c20 666f 7220 7468 6520 id fill for the \n-00019ab0: 6861 7463 682e 0a0a 2020 202d 2d2d 2d2d hatch... -----\n-00019ac0: 2d2d 2d2d 2d20 466f 6f74 6e6f 7465 7320 ----- Footnotes \n-00019ad0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2020 2028 ----------.. (\n-00019ae0: 3129 2049 206b 6e6f 7720 686f 7720 746f 1) I know how to\n-00019af0: 2066 6978 2074 6869 7320 7072 6f62 6c65 fix this proble\n-00019b00: 6d2c 2062 7574 2049 2064 6f6e 2774 206c m, but I don't l\n-00019b10: 696b 6520 6d79 2073 6f6c 7574 696f 6e2c ike my solution,\n-00019b20: 2061 6e64 0a49 276d 2069 6e74 6572 6573 and.I'm interes\n-00019b30: 7465 6420 696e 2079 6f75 7273 2e0a 0a1f ted in yours....\n-00019b40: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00019b50: 666f 2c20 204e 6f64 653a 2043 6f6d 6d61 fo, Node: Comma\n-00019b60: 6e64 206c 696e 652c 2020 4e65 7874 3a20 nd line, Next: \n-00019b70: 496e 7374 616c 6c69 6e67 2073 6b65 7463 Installing sketc\n-00019b80: 682c 2020 5072 6576 3a20 4275 696c 6469 h, Prev: Buildi\n-00019b90: 6e67 2061 2064 7261 7769 6e67 2c20 2055 ng a drawing, U\n-00019ba0: 703a 2054 6f70 0a0a 3520 436f 6d6d 616e p: Top..5 Comman\n-00019bb0: 6420 6c69 6e65 0a2a 2a2a 2a2a 2a2a 2a2a d line.*********\n-00019bc0: 2a2a 2a2a 2a0a 0a2a 5379 6e6f 7073 6973 *****..*Synopsis\n-00019bd0: 3a2a 0a20 2020 2020 736b 6574 6368 205b :*. sketch [\n-00019be0: 2d68 5d5b 2d56 2078 2e79 5d5b 2d76 5d5b -h][-V x.y][-v][\n-00019bf0: 2d62 5d5b 2d64 5d5b 7420 646f 6374 6d70 -b][-d][t doctmp\n-00019c00: 5d5b 2d54 5b75 7c65 5d5b 705b 507c 545d ][-T[u|e][p[P|T]\n-00019c10: 5b4c 7c43 5d5d 5d5b 2d6f 206f 7574 7075 [L|C]]][-o outpu\n-00019c20: 742e 7465 785d 0a20 2020 2020 2020 5b2d t.tex]. [-\n-00019c30: 4420 5441 4720 2e2e 2e5d 2069 6e70 7574 D TAG ...] input\n-00019c40: 312e 736b 205b 2d55 2054 4147 202e 2e2e 1.sk [-U TAG ...\n-00019c50: 5d20 696e 7075 7432 2e73 6b20 2e2e 2e0a ] input2.sk ....\n-00019c60: 0a2a 4465 7363 7269 7074 696f 6e2a 2050 .*Description* P\n-00019c70: 726f 6365 7373 6573 2074 6865 20e2 8098 rocesses the ...\n-00019c80: 736b 6574 6368 e280 9920 696e 7075 7420 sketch... input \n-00019c90: 6669 6c65 7320 696e 206f 7264 6572 2074 files in order t\n-00019ca0: 6f20 7072 6f64 7563 650a e280 9850 5354 o produce....PST\n-00019cb0: 7269 636b 73e2 8099 206f 7574 7075 7420 ricks... output \n-00019cc0: 636f 6465 2073 7569 7461 626c 6520 666f code suitable fo\n-00019cd0: 7220 696e 636c 7573 696f 6e20 696e 2061 r inclusion in a\n-00019ce0: 2054 6558 206f 7220 4c61 5465 580a 646f TeX or LaTeX.do\n-00019cf0: 6375 6d65 6e74 2e0a 0a2a 4f70 7469 6f6e cument...*Option\n-00019d00: 733a 2a0a e280 982d 68e2 8099 0a20 2020 s:*....-h.... \n-00019d10: 2020 5072 696e 7420 6120 7368 6f72 7420 Print a short \n-00019d20: 6361 7461 6c6f 6720 6f66 206f 7074 696f catalog of optio\n-00019d30: 6e73 2e0a e280 982d 56e2 8099 0a20 2020 ns.....-V.... \n-00019d40: 2020 5365 7420 7468 6520 e280 9850 5354 Set the ...PST\n-00019d50: 7269 636b 73e2 8099 2076 6572 7369 6f6e ricks... version\n-00019d60: 2061 7373 756d 6564 2066 6f72 206f 7574 assumed for out\n-00019d70: 7075 7420 7075 7270 6f73 6573 2074 6f20 put purposes to \n-00019d80: e280 9878 2e79 e280 992c 0a20 2020 2020 ...x.y...,. \n-00019d90: 666f 7220 6578 616d 706c 6520 312e 3139 for example 1.19\n-00019da0: 2e20 2055 7375 616c 6c79 206e 6565 6465 . Usually neede\n-00019db0: 6420 6f6e 6c79 2069 6620 796f 7572 20e2 d only if your .\n-00019dc0: 8098 5053 5472 6963 6b73 e280 9920 6973 ..PSTricks... is\n-00019dd0: 206f 6c64 0a20 2020 2020 636f 6d70 6172 old. compar\n-00019de0: 6564 2074 6f20 796f 7572 20e2 8098 736b ed to your ...sk\n-00019df0: 6574 6368 e280 992e 2020 5573 6520 e280 etch.... Use ..\n-00019e00: 982d 76e2 8099 2074 6f20 7365 6520 7768 .-v... to see wh\n-00019e10: 6174 20e2 8098 736b 6574 6368 e280 9920 at ...sketch... \n-00019e20: 6173 7375 6d65 730a 2020 2020 2062 7920 assumes. by \n-00019e30: 6465 6661 756c 742e 0ae2 8098 2d76 e280 default.....-v..\n-00019e40: 990a 2020 2020 2050 7269 6e74 2076 6572 .. Print ver\n-00019e50: 7369 6f6e 2069 6e66 6f72 6d61 7469 6f6e sion information\n-00019e60: 2074 6f20 7374 616e 6461 7264 206f 7574 to standard out\n-00019e70: 7075 742c 2069 6e63 6c75 6469 6e67 2074 put, including t\n-00019e80: 6865 2076 6572 7369 6f6e 0a20 2020 2020 he version. \n-00019e90: 6f66 20e2 8098 5053 5472 6963 6b73 e280 of ...PSTricks..\n-00019ea0: 9920 6173 7375 6d65 6420 666f 7220 6f75 . assumed for ou\n-00019eb0: 7470 7574 2028 6361 6e20 6265 2063 6861 tput (can be cha\n-00019ec0: 6e67 6564 2077 6974 6820 e280 982d 56e2 nged with ...-V.\n-00019ed0: 8099 2061 626f 7665 292e 0ae2 8098 2d62 .. above).....-b\n-00019ee0: e280 990a 2020 2020 2055 7365 2061 2042 .... Use a B\n-00019ef0: 5350 2028 2a4e 6f74 6520 4869 6464 656e SP (*Note Hidden\n-00019f00: 2073 7572 6661 6365 2072 656d 6f76 616c surface removal\n-00019f10: 3a3a 2e29 2020 666f 7220 5f61 6c6c 5f20 ::.) for _all_ \n-00019f20: 6869 6464 656e 0a20 2020 2020 7375 7266 hidden. surf\n-00019f30: 6163 6520 7265 6d6f 7661 6c20 7261 7468 ace removal rath\n-00019f40: 6572 2074 6861 6e20 7468 6520 6465 6661 er than the defa\n-00019f50: 756c 742c 2077 6869 6368 2069 7320 7468 ult, which is th\n-00019f60: 6520 6465 7074 6820 736f 7274 0a20 2020 e depth sort. \n-00019f70: 2020 616c 676f 7269 7468 6d20 7769 7468 algorithm with\n-00019f80: 2042 5350 7320 7573 6564 206f 6e6c 7920 BSPs used only \n-00019f90: 666f 7220 6379 636c 6520 7265 736f 6c75 for cycle resolu\n-00019fa0: 7469 6f6e 2e20 2054 6869 7320 6d61 790a tion. This may.\n-00019fb0: 2020 2020 2070 726f 6475 6365 2063 6f72 produce cor\n-00019fc0: 7265 6374 206f 7574 7075 7420 696e 2063 rect output in c\n-00019fd0: 6572 7461 696e 2064 6567 656e 6572 6174 ertain degenerat\n-00019fe0: 6520 6361 7365 7320 7768 6572 6520 7468 e cases where th\n-00019ff0: 6520 6465 7074 680a 2020 2020 2073 6f72 e depth. sor\n-0001a000: 7420 6361 6e6e 6f74 2c20 6275 7420 6974 t cannot, but it\n-0001a010: 2061 6c73 6f20 6c65 6164 7320 746f 206d also leads to m\n-0001a020: 616e 7920 6772 6174 7569 746f 7573 2073 any gratuitous s\n-0001a030: 706c 6974 732c 2068 656e 6365 0a20 2020 plits, hence. \n-0001a040: 2020 6d6f 7265 2061 6e6f 6d61 6c69 6573 more anomalies\n-0001a050: 202a 6e6f 7465 2042 7567 7320 616e 6420 *note Bugs and \n-0001a060: 616e 6f6d 616c 6965 733a 3a20 616e 6420 anomalies:: and \n-0001a070: 6269 6720 6f75 7470 7574 2066 696c 6573 big output files\n-0001a080: 2e0a e280 982d 64e2 8099 0a20 2020 2020 .....-d.... \n-0001a090: 5275 6e20 e280 9873 6b65 7463 68e2 8099 Run ...sketch...\n-0001a0a0: 2773 2070 6172 7365 7220 696e 2064 6562 's parser in deb\n-0001a0b0: 7567 6769 6e67 206d 6f64 652e 2020 5468 ugging mode. Th\n-0001a0c0: 6973 2069 7320 7072 696d 6172 696c 7920 is is primarily \n-0001a0d0: 666f 720a 2020 2020 2064 6576 656c 6f70 for. develop\n-0001a0e0: 6d65 6e74 2e0a e280 982d 74e2 8099 0a20 ment.....-t.... \n-0001a0f0: 2020 2020 5573 6520 636f 6e74 656e 7473 Use contents\n-0001a100: 206f 6620 6669 6c65 20e2 8098 646f 6374 of file ...doct\n-0001a110: 6d70 e280 9920 6173 2061 2064 6f63 756d mp... as a docum\n-0001a120: 656e 7420 7465 6d70 6c61 7465 2069 6e20 ent template in \n-0001a130: 7768 6963 6820 746f 0a20 2020 2020 656e which to. en\n-0001a140: 636c 6f73 6520 e280 9850 5354 7269 636b close ...PSTrick\n-0001a150: 73e2 8099 206f 7574 7075 7420 636f 6465 s... output code\n-0001a160: 2e20 2054 6865 2063 6f64 6520 6973 2069 . The code is i\n-0001a170: 6e73 6572 7465 6420 696e 2070 6c61 6365 nserted in place\n-0001a180: 206f 660a 2020 2020 2074 6865 2066 6972 of. the fir\n-0001a190: 7374 2069 6e73 7461 6e63 6520 6f66 2074 st instance of t\n-0001a1a0: 6865 2065 7363 6170 6520 7374 7269 6e67 he escape string\n-0001a1b0: 2025 2553 4b45 5443 485f 4f55 5450 5554 %%SKETCH_OUTPUT\n-0001a1c0: 2525 2e0a e280 982d 54e2 8099 0a20 2020 %%.....-T.... \n-0001a1d0: 2020 4361 7573 6573 20e2 8098 5053 5472 Causes ...PSTr\n-0001a1e0: 6963 6b73 e280 9920 6f75 7470 7574 2074 icks... output t\n-0001a1f0: 6f20 6265 2065 6e63 6c6f 7365 6420 696e o be enclosed in\n-0001a200: 2064 6566 6175 6c74 2055 5320 646f 6375 default US docu\n-0001a210: 6d65 6e74 0a20 2020 2020 7465 6d70 6c61 ment. templa\n-0001a220: 7465 2074 6578 742e 2020 4f70 7469 6f6e te text. Option\n-0001a230: 20e2 8098 2d54 75e2 8099 2069 7320 6120 ...-Tu... is a \n-0001a240: 7379 6e6f 6e79 6d2e 2020 4f70 7469 6f6e synonym. Option\n-0001a250: 20e2 8098 2d54 65e2 8099 2063 6175 7365 ...-Te... cause\n-0001a260: 7320 7468 650a 2020 2020 2045 7572 6f20 s the. Euro \n-0001a270: 7374 616e 6461 7264 2064 6f63 756d 656e standard documen\n-0001a280: 7420 7465 6d70 6c61 7465 2074 6f20 6265 t template to be\n-0001a290: 2075 7365 642e 2020 4120 e280 9870 e280 used. A ...p..\n-0001a2a0: 9920 6170 7065 6e64 6564 2074 6f20 616e . appended to an\n-0001a2b0: 790a 2020 2020 206f 6620 7468 6573 6520 y. of these \n-0001a2c0: 6f70 7469 6f6e 7320 6361 7573 6573 2074 options causes t\n-0001a2d0: 6865 2072 6573 7065 6374 6976 6520 6465 he respective de\n-0001a2e0: 6661 756c 7420 e280 9850 5354 7269 636b fault ...PSTrick\n-0001a2f0: 73e2 8099 2064 6f63 756d 656e 740a 2020 s... document. \n-0001a300: 2020 2074 656d 706c 6174 6520 746f 2062 template to b\n-0001a310: 6520 7072 696e 7465 6420 746f 2073 7461 e printed to sta\n-0001a320: 6e64 6172 6420 6f75 7470 7574 2e20 2041 ndard output. A\n-0001a330: 6e20 6170 7065 6e64 6564 20e2 8098 50e2 n appended ...P.\n-0001a340: 8099 2069 7320 610a 2020 2020 2073 796e .. is a. syn\n-0001a350: 6f6e 796d 2e20 2041 6e20 6170 7065 6e64 onym. An append\n-0001a360: 6564 20e2 8098 54e2 8099 2063 6175 7365 ed ...T... cause\n-0001a370: 7320 7468 6520 7468 6520 e280 9854 696b s the the ...Tik\n-0001a380: 5a2f 5047 46e2 8099 2074 656d 706c 6174 Z/PGF... templat\n-0001a390: 6520 746f 2062 650a 2020 2020 2070 7269 e to be. pri\n-0001a3a0: 6e74 6564 2e20 2041 6e20 6170 7065 6e64 nted. An append\n-0001a3b0: 6564 20e2 8098 4ce2 8099 2070 7269 6e74 ed ...L... print\n-0001a3c0: 7320 7468 6520 4c61 5465 5820 7665 7273 s the LaTeX vers\n-0001a3d0: 696f 6e20 6f66 2074 6865 2064 6f63 756d ion of the docum\n-0001a3e0: 656e 740a 2020 2020 2074 656d 706c 6174 ent. templat\n-0001a3f0: 652c 2061 2073 796e 6f6e 796d 2066 6f72 e, a synonym for\n-0001a400: 2074 6865 2064 6566 6175 6c74 2e20 2041 the default. A\n-0001a410: 20e2 8098 43e2 8099 2070 7269 6e74 7320 ...C... prints \n-0001a420: 7468 6520 e280 9843 6f6e 5465 5874 e280 the ...ConTeXt..\n-0001a430: 990a 2020 2020 2074 656d 706c 6174 652e .. template.\n-0001a440: 0ae2 8098 2d6f e280 990a 2020 2020 2055 ....-o.... U\n-0001a450: 7365 20e2 8098 6f75 7470 7574 2e74 6578 se ...output.tex\n-0001a460: e280 9920 6173 2074 6865 206f 7574 7075 ... as the outpu\n-0001a470: 7420 6669 6c65 2e20 2054 6865 2064 6566 t file. The def\n-0001a480: 6175 6c74 2069 7320 7374 616e 6461 7264 ault is standard\n-0001a490: 0a20 2020 2020 6f75 7470 7574 2e0a e280 . output....\n-0001a4a0: 982d 44e2 8099 0a20 2020 2020 4465 6669 .-D.... Defi\n-0001a4b0: 6e65 2061 2074 6167 2066 6f72 2070 7572 ne a tag for pur\n-0001a4c0: 706f 7365 7320 6f66 2073 656c 6563 7469 poses of selecti\n-0001a4d0: 6e67 2064 6566 696e 6974 696f 6e20 616c ng definition al\n-0001a4e0: 7465 726e 6174 6976 6573 2e0a 2020 2020 ternatives.. \n-0001a4f0: 202a 4e6f 7465 2044 6566 696e 6974 696f *Note Definitio\n-0001a500: 6e73 3a3a 2e20 2054 6865 2064 6566 696e ns::. The defin\n-0001a510: 6974 696f 6e20 6170 706c 6965 7320 666f ition applies fo\n-0001a520: 7220 616c 6c20 696e 7075 7420 6669 6c65 r all input file\n-0001a530: 730a 2020 2020 2074 6861 7420 666f 6c6c s. that foll\n-0001a540: 6f77 2075 6e6c 6573 7320 7468 6520 7461 ow unless the ta\n-0001a550: 6720 6973 2075 6e64 6566 696e 6564 2077 g is undefined w\n-0001a560: 6974 6820 e280 982d 55e2 8099 2e0a e280 ith ...-U.......\n-0001a570: 9869 6e70 7574 692e 736b e280 990a 2020 .inputi.sk.... \n-0001a580: 2020 2049 6e70 7574 2066 696c 6573 2c20 Input files, \n-0001a590: 7265 6164 2069 6e20 7468 6520 7365 7175 read in the sequ\n-0001a5a0: 656e 6365 2074 6865 7920 6172 6520 6769 ence they are gi\n-0001a5b0: 7665 6e2e 0ae2 8098 2d55 e280 990a 2020 ven.....-U.... \n-0001a5c0: 2020 2055 6e2d 6465 6669 6e65 2061 2074 Un-define a t\n-0001a5d0: 6167 2066 6f72 2070 7572 706f 7365 7320 ag for purposes \n-0001a5e0: 6f66 2073 656c 6563 7469 6e67 2064 6566 of selecting def\n-0001a5f0: 696e 6974 696f 6e20 616c 7465 726e 6174 inition alternat\n-0001a600: 6976 6573 2e0a 0a1f 0a46 696c 653a 2073 ives.....File: s\n-0001a610: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-0001a620: 653a 2049 6e73 7461 6c6c 696e 6720 736b e: Installing sk\n-0001a630: 6574 6368 2c20 204e 6578 743a 2049 6e64 etch, Next: Ind\n-0001a640: 6578 206f 6620 7379 6e74 6178 2c20 2050 ex of syntax, P\n-0001a650: 7265 763a 2043 6f6d 6d61 6e64 206c 696e rev: Command lin\n-0001a660: 652c 2020 5570 3a20 546f 700a 0a36 2042 e, Up: Top..6 B\n-0001a670: 7569 6c64 696e 6720 616e 6420 696e 7374 uilding and inst\n-0001a680: 616c 6c69 6e67 20e2 8098 736b 6574 6368 alling ...sketch\n-0001a690: e280 990a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ....************\n+00018770: 2d2d 2d2d 2d2d 2d0a 0ae2 8098 536b 6574 -------.....Sket\n+00018780: 6368 e280 9920 7573 6573 2074 6865 20e2 ch... uses the .\n+00018790: 809c 6465 7074 6820 736f 7274 2061 6c67 ..depth sort alg\n+000187a0: 6f72 6974 686d e280 9d20 666f 7220 6869 orithm... for hi\n+000187b0: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem\n+000187c0: 6f76 616c 2e0a 5468 6973 2069 7320 6120 oval..This is a \n+000187d0: 7665 7279 206f 6c64 2074 6563 686e 6971 very old techniq\n+000187e0: 7565 2064 7565 2074 6f20 4e65 7765 6c6c ue due to Newell\n+000187f0: 2e28 3129 2020 4974 2069 7320 6765 6e65 .(1) It is gene\n+00018800: 7261 6c6c 7920 7265 6761 7264 6564 0a61 rally regarded.a\n+00018810: 7320 746f 6f20 736c 6f77 2066 6f72 2072 s too slow for r\n+00018820: 6561 6c20 7469 6d65 2067 7261 7068 6963 eal time graphic\n+00018830: 732c 2062 7574 2069 7420 6973 2069 6465 s, but it is ide\n+00018840: 616c 2066 6f72 206f 7572 2070 7572 706f al for our purpo\n+00018850: 7365 0a77 6865 7265 2073 7065 6564 2069 se.where speed i\n+00018860: 7320 6e6f 7420 7665 7279 2069 6d70 6f72 s not very impor\n+00018870: 7461 6e74 2e28 3229 0a0a 2020 2054 6865 tant.(2).. The\n+00018880: 2064 6570 7468 2073 6f72 7420 616c 676f depth sort algo\n+00018890: 7269 7468 6d20 6d65 7265 6c79 2073 6f72 rithm merely sor\n+000188a0: 7473 206f 626a 6563 7473 206f 6e20 6120 ts objects on a \n+000188b0: 6b65 7920 6f66 2069 6e63 7265 6173 696e key of increasin\n+000188c0: 670a 7a2d 636f 6f72 6469 6e61 7465 2c20 g.z-coordinate, \n+000188d0: 6571 7569 7661 6c65 6e74 2074 6f20 6465 equivalent to de\n+000188e0: 6372 6561 7369 6e67 2064 6570 7468 2e20 creasing depth. \n+000188f0: 204f 626a 6563 7473 2061 7265 2074 6865 Objects are the\n+00018900: 6e20 6472 6177 6e20 696e 0a74 6865 2073 n drawn in.the s\n+00018910: 6f72 7465 6420 7365 7175 656e 6365 2073 orted sequence s\n+00018920: 6f20 7468 6174 2074 686f 7365 2061 7420 o that those at \n+00018930: 7468 6520 7265 6172 206f 6620 7468 6520 the rear of the \n+00018940: 7363 656e 6520 6172 650a 6f76 6572 7772 scene are.overwr\n+00018950: 6974 7465 6e20 6279 2074 686f 7365 2063 itten by those c\n+00018960: 6c6f 7365 7220 746f 2074 6865 2076 6965 loser to the vie\n+00018970: 7765 722e 2020 5369 6e63 6520 7468 6973 wer. Since this\n+00018980: 2069 7320 616c 736f 2068 6f77 206f 696c is also how oil\n+00018990: 0a70 6169 6e74 6572 7320 7072 6163 7469 .painters practi\n+000189a0: 6365 2074 6865 6972 2061 7274 2c20 6465 ce their art, de\n+000189b0: 7074 6820 736f 7274 2069 7320 736f 6d65 pth sort is some\n+000189c0: 7469 6d65 7320 6361 6c6c 6564 2022 7468 times called \"th\n+000189d0: 650a 7061 696e 7465 7227 7320 616c 676f e.painter's algo\n+000189e0: 7269 7468 6d2e 220a 0a20 2020 496e 2073 rithm.\".. In s\n+000189f0: 6f6d 6520 6361 7365 7320 6974 2069 7320 ome cases it is \n+00018a00: 696d 706f 7373 6962 6c65 2074 6f20 7374 impossible to st\n+00018a10: 7269 6374 6c79 206f 7264 6572 2070 6f6c rictly order pol\n+00018a20: 7967 6f6e 7320 6163 636f 7264 696e 670a ygons according.\n+00018a30: 746f 2064 6570 7468 2e20 204d 6f72 656f to depth. Moreo\n+00018a40: 7665 722c 2065 7665 6e20 6966 2061 2063 ver, even if a c\n+00018a50: 6f72 7265 6374 2064 6570 7468 206f 7264 orrect depth ord\n+00018a60: 6572 696e 6720 6578 6973 7473 2c20 7468 ering exists, th\n+00018a70: 650a 636f 6d70 7574 6174 696f 6e20 6e65 e.computation ne\n+00018a80: 6564 6564 2074 6f20 6669 6e64 2069 7420 eded to find it \n+00018a90: 6d61 7920 6265 2074 6f6f 2063 6f6d 706c may be too compl\n+00018aa0: 6578 2061 6e64 2073 6c6f 772e 2020 496e ex and slow. In\n+00018ab0: 2074 6865 7365 0a63 6173 6573 2c20 e280 these.cases, ..\n+00018ac0: 9873 6b65 7463 68e2 8099 2073 706c 6974 .sketch... split\n+00018ad0: 7320 6f6e 6520 6f72 206d 6f72 6520 706f s one or more po\n+00018ae0: 6c79 676f 6e73 2069 6e74 6f20 7069 6563 lygons into piec\n+00018af0: 6573 2e20 2054 6865 0a65 7870 6563 7461 es. The.expecta\n+00018b00: 7469 6f6e 2069 7320 7468 6174 2074 6865 tion is that the\n+00018b10: 206e 6577 2c20 736d 616c 6c65 7220 706f new, smaller po\n+00018b20: 6c79 676f 6e73 2077 696c 6c20 6265 2073 lygons will be s\n+00018b30: 696d 706c 6572 2074 6f20 6f72 6465 722e impler to order.\n+00018b40: 0ae2 8098 536b 6574 6368 e280 9920 7573 ....Sketch... us\n+00018b50: 6573 2061 2042 5350 2028 6269 6e61 7279 es a BSP (binary\n+00018b60: 2073 7061 6365 2070 6172 7469 7469 6f6e space partition\n+00018b70: 2920 746f 2068 616e 646c 6520 7468 6520 ) to handle the \n+00018b80: 7370 6c69 7474 696e 670a 6f70 6572 6174 splitting.operat\n+00018b90: 696f 6e2e 0a0a 2a20 4d65 6e75 3a0a 0a2a ion...* Menu:..*\n+00018ba0: 2053 7461 7469 7374 6963 733a 3a20 2020 Statistics:: \n+00018bb0: 2020 2020 2020 2020 2020 2020 2020 2050 P\n+00018bc0: 6572 666f 726d 616e 6365 206e 756d 6265 erformance numbe\n+00018bd0: 7273 206f 6e20 6465 7074 6820 736f 7274 rs on depth sort\n+00018be0: 2e0a 2a20 4275 6773 2061 6e64 2061 6e6f ..* Bugs and ano\n+00018bf0: 6d61 6c69 6573 3a3a 2020 2020 2020 2020 malies:: \n+00018c00: 2020 496d 7065 7266 6563 7469 6f6e 7320 Imperfections \n+00018c10: 696e 2074 6869 7320 696d 706c 656d 656e in this implemen\n+00018c20: 7461 7469 6f6e 2e0a 0a20 2020 2d2d 2d2d tation... ----\n+00018c30: 2d2d 2d2d 2d2d 2046 6f6f 746e 6f74 6573 ------ Footnotes\n+00018c40: 202d 2d2d 2d2d 2d2d 2d2d 2d0a 0a20 2020 ----------.. \n+00018c50: 2831 2920 4e65 7765 6c6c 2c20 4d2e 452e (1) Newell, M.E.\n+00018c60: 2c20 522e 472e 204e 6577 656c 6c2c 2061 , R.G. Newell, a\n+00018c70: 6e64 2054 2e4c 2e20 5361 6e63 6861 2c20 nd T.L. Sancha, \n+00018c80: 4120 736f 6c75 7469 6f6e 2074 6f20 7468 A solution to th\n+00018c90: 650a 6869 6464 656e 2073 7572 6661 6365 e.hidden surface\n+00018ca0: 2070 726f 626c 656d 2e20 2050 726f 6365 problem. Proce\n+00018cb0: 6564 696e 6773 206f 6620 7468 6520 4143 edings of the AC\n+00018cc0: 4d20 616e 6e75 616c 2063 6f6e 6665 7265 M annual confere\n+00018cd0: 6e63 6520 2d0a 566f 6c75 6d65 2031 2c20 nce -.Volume 1, \n+00018ce0: 7061 6765 2034 3433 2d34 3530 2c20 4143 page 443-450, AC\n+00018cf0: 4d20 5072 6573 732c 2031 3937 322e 0a0a M Press, 1972...\n+00018d00: 2020 2028 3229 2057 6520 6861 7665 2072 (2) We have r\n+00018d10: 756e 20e2 8098 736b 6574 6368 e280 9920 un ...sketch... \n+00018d20: 6f6e 2074 6865 2066 616d 6f75 7320 5374 on the famous St\n+00018d30: 616e 666f 7264 2042 756e 6e79 2c20 7768 anford Bunny, wh\n+00018d40: 6963 6820 636f 6e73 6973 7473 0a6f 6620 ich consists.of \n+00018d50: 6e65 6172 6c79 2037 302c 3030 3020 7472 nearly 70,000 tr\n+00018d60: 6961 6e67 6c65 732e 2020 5275 6e20 7469 iangles. Run ti\n+00018d70: 6d65 2077 6173 2061 626f 7574 2036 2073 me was about 6 s\n+00018d80: 6563 6f6e 6473 2e20 204d 6f73 7420 6f66 econds. Most of\n+00018d90: 2074 6869 730a 7761 7320 7370 656e 7420 this.was spent \n+00018da0: 7772 6974 696e 6720 7468 6520 6f75 7470 writing the outp\n+00018db0: 7574 2066 696c 6520 7261 7468 6572 2074 ut file rather t\n+00018dc0: 6861 6e20 696e 2074 6865 2068 6964 6465 han in the hidde\n+00018dd0: 6e20 7375 7266 6163 650a 616c 676f 7269 n surface.algori\n+00018de0: 7468 6d2e 2020 4c61 5465 5820 746f 6f6b thm. LaTeX took\n+00018df0: 206d 7563 6820 6c6f 6e67 6572 2074 6f20 much longer to \n+00018e00: 7072 6f63 6573 7320 7468 6520 7265 7375 process the resu\n+00018e10: 6c74 696e 6720 e280 9850 5354 7269 636b lting ...PSTrick\n+00018e20: 73e2 8099 0a63 6f64 652e 2020 5468 6520 s....code. The \n+00018e30: 6f62 7669 6f75 7320 636f 6e63 6c75 7369 obvious conclusi\n+00018e40: 6f6e 2069 7320 7468 6174 2074 6865 2073 on is that the s\n+00018e50: 7065 6564 206f 6620 7468 6520 6465 7074 peed of the dept\n+00018e60: 6820 736f 7274 0a61 6c67 6f72 6974 686d h sort.algorithm\n+00018e70: 2069 7320 6e6f 7420 6120 776f 7272 792e is not a worry.\n+00018e80: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+00018e90: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5374 .info, Node: St\n+00018ea0: 6174 6973 7469 6373 2c20 204e 6578 743a atistics, Next:\n+00018eb0: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal\n+00018ec0: 6965 732c 2020 5072 6576 3a20 4869 6464 ies, Prev: Hidd\n+00018ed0: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov\n+00018ee0: 616c 2c20 2055 703a 2048 6964 6465 6e20 al, Up: Hidden \n+00018ef0: 7375 7266 6163 6520 7265 6d6f 7661 6c0a surface removal.\n+00018f00: 0a34 2e34 2e33 2e31 2053 7461 7469 7374 .4.4.3.1 Statist\n+00018f10: 6963 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ics.............\n+00018f20: 2e2e 2e2e 2e2e 0a0a 466f 7220 7468 6520 ........For the \n+00018f30: 6375 7269 6f75 732c 20e2 8098 736b 6574 curious, ...sket\n+00018f40: 6368 e280 9920 7772 6974 6573 206f 6e65 ch... writes one\n+00018f50: 206c 696e 6520 6f66 2064 6570 7468 2073 line of depth s\n+00018f60: 6f72 7420 7374 6174 6973 7469 6373 2e0a ort statistics..\n+00018f70: 4865 7265 2069 7320 616e 2065 7861 6d70 Here is an examp\n+00018f80: 6c65 2066 6f72 2061 206c 6172 6765 2063 le for a large c\n+00018f90: 6f6c 6c65 6374 696f 6e20 6f66 2074 7269 ollection of tri\n+00018fa0: 616e 676c 6573 2e0a 2020 7265 6d61 726b angles.. remark\n+00018fb0: 2c20 6e6f 6465 3d33 3438 3234 2070 726f , node=34824 pro\n+00018fc0: 6265 3d35 3831 2e39 2073 7761 703d 3520 be=581.9 swap=5 \n+00018fd0: 7370 6c69 743d 3220 2869 6e3d 3420 6f75 split=2 (in=4 ou\n+00018fe0: 743d 3629 206f 6c73 3d32 3438 3531 2f30 t=6) ols=24851/0\n+00018ff0: 0a49 7420 6d65 616e 7320 7468 6174 2033 .It means that 3\n+00019000: 342c 3832 3420 6f62 6a65 6374 7320 7765 4,824 objects we\n+00019010: 7265 2064 6570 7468 2073 6f72 7465 6420 re depth sorted \n+00019020: 6166 7465 7220 6375 6c6c 696e 672e 2020 after culling. \n+00019030: 466f 7220 6561 6368 2c0a 616e 2061 7665 For each,.an ave\n+00019040: 7261 6765 206f 6620 3538 312e 3920 6f74 rage of 581.9 ot\n+00019050: 6865 7273 2068 6164 2074 6f20 6265 2063 hers had to be c\n+00019060: 6865 636b 6564 2074 6f20 656e 7375 7265 hecked to ensure\n+00019070: 2074 6861 7420 7468 6520 696e 6974 6961 that the initia\n+00019080: 6c2c 0a61 7070 726f 7869 6d61 7465 206f l,.approximate o\n+00019090: 7264 6572 696e 6720 7761 7320 636f 7272 rdering was corr\n+000190a0: 6563 742e 2020 416d 6f6e 6720 616c 6c20 ect. Among all \n+000190b0: 7468 6573 6520 6368 6563 6b73 2c20 6f6e these checks, on\n+000190c0: 6c79 2035 0a72 6573 756c 7465 6420 696e ly 5.resulted in\n+000190d0: 2073 7761 7073 2074 6f20 7265 6f72 6465 swaps to reorde\n+000190e0: 7220 7468 6520 696e 6974 6961 6c20 736f r the initial so\n+000190f0: 7274 2e20 2049 6e20 7477 6f20 6361 7365 rt. In two case\n+00019100: 732c 2061 2063 6f72 7265 6374 0a6f 7264 s, a correct.ord\n+00019110: 6572 696e 6720 636f 756c 6420 6e6f 7420 ering could not \n+00019120: 6265 2064 6574 6572 6d69 6e65 642c 2073 be determined, s\n+00019130: 6f20 6269 6e61 7279 2073 7061 6365 2070 o binary space p\n+00019140: 6172 7469 7469 6f6e 7320 7765 7265 0a63 artitions were.c\n+00019150: 6f6e 7374 7275 6374 6564 2066 6f72 2073 onstructed for s\n+00019160: 706c 6974 7469 6e67 2e20 2041 2074 6f74 plitting. A tot\n+00019170: 616c 206f 6620 3420 6f62 6a65 6374 7320 al of 4 objects \n+00019180: 2874 7269 616e 676c 6573 2069 6e20 7468 (triangles in th\n+00019190: 6973 0a63 6173 6529 2077 6572 6520 696e is.case) were in\n+000191a0: 7365 7274 6564 2069 6e20 7468 6520 7061 serted in the pa\n+000191b0: 7274 6974 696f 6e73 2c20 616e 6420 3620 rtitions, and 6 \n+000191c0: 706f 6c79 676f 6e73 2077 6572 6520 7072 polygons were pr\n+000191d0: 6f64 7563 6564 2e0a 4669 6e61 6c6c 792c oduced..Finally,\n+000191e0: 2032 342c 3835 3120 226c 6173 7420 7265 24,851 \"last re\n+000191f0: 736f 7274 2220 706f 6c79 676f 6e20 6f76 sort\" polygon ov\n+00019200: 6572 6c61 7020 6368 6563 6b73 2077 6572 erlap checks wer\n+00019210: 6520 7065 7266 6f72 6d65 640a 6166 7465 e performed.afte\n+00019220: 7220 7369 6d70 6c65 722c 2066 6173 7465 r simpler, faste\n+00019230: 7220 6368 6563 6b73 2066 6169 6c65 6420 r checks failed \n+00019240: 746f 2079 6965 6c64 2063 6f6e 636c 7573 to yield conclus\n+00019250: 6976 6520 7265 7375 6c74 732e 2020 5468 ive results. Th\n+00019260: 650a 6669 6e61 6c20 2f30 2069 7320 666f e.final /0 is fo\n+00019270: 7220 6c69 6e65 2d70 6f6c 7967 6f6e 206f r line-polygon o\n+00019280: 7665 726c 6170 2063 6865 636b 732e 2020 verlap checks. \n+00019290: 466f 7220 636f 6d70 6172 6973 6f6e 2c20 For comparison, \n+000192a0: 7468 650a 7374 6174 6973 7469 6373 2066 the.statistics f\n+000192b0: 6f72 2074 6865 206c 6173 7420 6669 6775 or the last figu\n+000192c0: 7265 2069 6e20 2a6e 6f74 6520 4f76 6572 re in *note Over\n+000192d0: 7669 6577 3a3a 2066 6f6c 6c6f 772e 0a20 view:: follow.. \n+000192e0: 2072 656d 6172 6b2c 206e 6f64 653d 3237 remark, node=27\n+000192f0: 2070 726f 6265 3d31 342e 3620 7377 6170 probe=14.6 swap\n+00019300: 3d33 3620 7370 6c69 743d 3135 2028 696e =36 split=15 (in\n+00019310: 3d33 3020 6f75 743d 3435 2920 6f6c 733d =30 out=45) ols=\n+00019320: 302f 3639 0a4e 6f74 6520 7468 6174 2074 0/69.Note that t\n+00019330: 6865 7265 2077 6173 2070 726f 706f 7274 here was proport\n+00019340: 696f 6e61 6c6c 7920 6d75 6368 206d 6f72 ionally much mor\n+00019350: 6520 7377 6170 7069 6e67 2061 6e64 2073 e swapping and s\n+00019360: 706c 6974 7469 6e67 0a61 6374 6976 6974 plitting.activit\n+00019370: 7920 696e 2074 6869 7320 6869 6768 6c79 y in this highly\n+00019380: 2063 6f6e 6e65 6374 6564 2073 6365 6e65 connected scene\n+00019390: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+000193a0: 682e 696e 666f 2c20 204e 6f64 653a 2042 h.info, Node: B\n+000193b0: 7567 7320 616e 6420 616e 6f6d 616c 6965 ugs and anomalie\n+000193c0: 732c 2020 5072 6576 3a20 5374 6174 6973 s, Prev: Statis\n+000193d0: 7469 6373 2c20 2055 703a 2048 6964 6465 tics, Up: Hidde\n+000193e0: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova\n+000193f0: 6c0a 0a34 2e34 2e33 2e32 2042 7567 7320 l..4.4.3.2 Bugs \n+00019400: 616e 6420 616e 6f6d 616c 6965 730a 2e2e and anomalies...\n+00019410: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+00019420: 2e2e 2e2e 2e2e 2e2e 0a0a 506f 6c79 676f ..........Polygo\n+00019430: 6e20 616e 6420 6c69 6e65 2073 706c 6974 n and line split\n+00019440: 7469 6e67 2063 616e 2062 6f74 6820 6361 ting can both ca\n+00019450: 7573 6520 616e 6f6d 616c 6965 7320 696e use anomalies in\n+00019460: 2074 6865 206f 7574 7075 742e 0ae2 8098 the output.....\n+00019470: 5053 5472 6963 6b73 e280 9920 6461 7368 PSTricks... dash\n+00019480: 2070 6174 7465 726e 732c 2073 7065 6369 patterns, speci\n+00019490: 6669 6564 2077 6974 6820 e280 986c 696e fied with ...lin\n+000194a0: 6573 7479 6c65 3d64 6173 6865 64e2 8099 estyle=dashed...\n+000194b0: 2c20 6361 6e20 6265 0a64 6973 7275 7074 , can be.disrupt\n+000194c0: 6564 2062 7920 7370 6c69 7474 696e 672e ed by splitting.\n+000194d0: 2020 5468 6973 206f 6363 7572 7320 7768 This occurs wh\n+000194e0: 656e 2074 6865 2064 6570 7468 2073 6f72 en the depth sor\n+000194f0: 7420 6769 7665 7320 7570 2074 6f6f 0a65 t gives up too.e\n+00019500: 6172 6c79 2061 6e64 2073 706c 6974 7320 arly and splits \n+00019510: 6120 6c69 6e65 2077 6865 7265 2069 7420 a line where it \n+00019520: 6973 206e 6f74 2072 6561 6c6c 7920 6e65 is not really ne\n+00019530: 6365 7373 6172 792e 2020 4120 776f 726b cessary. A work\n+00019540: 6172 6f75 6e64 0a69 7320 746f 2075 7365 around.is to use\n+00019550: 2067 7261 7920 6f72 2066 696e 656c 7920 gray or finely \n+00019560: 646f 7474 6564 206c 696e 6573 2069 6e73 dotted lines ins\n+00019570: 7465 6164 2e20 2049 6620 796f 7572 2064 tead. If your d\n+00019580: 7261 7769 6e67 2069 730a 736d 616c 6c2c rawing is.small,\n+00019590: 2079 6f75 2063 616e 2061 6c73 6f20 6564 you can also ed\n+000195a0: 6974 2074 6865 20e2 8098 736b 6574 6368 it the ...sketch\n+000195b0: e280 9920 6f75 7470 7574 2062 7920 6861 ... output by ha\n+000195c0: 6e64 2074 6f20 6d65 7267 6520 7468 6520 nd to merge the \n+000195d0: 7069 6563 6573 0a6f 6620 7468 6520 6f66 pieces.of the of\n+000195e0: 6665 6e64 696e 6720 6c69 6e65 2e0a 0a20 fending line... \n+000195f0: 2020 416e 6f74 6865 7220 616e 6f6d 616c Another anomal\n+00019600: 7920 6973 2074 696e 7920 286f 7220 696e y is tiny (or in\n+00019610: 2064 6567 656e 6572 6174 6520 6361 7365 degenerate case\n+00019620: 7320 6e6f 742d 736f 2d74 696e 7929 206e s not-so-tiny) n\n+00019630: 6f74 6368 6573 0a69 6e20 7468 6520 6c69 otches.in the li\n+00019640: 6e65 7320 7468 6174 2062 6f72 6465 7220 nes that border \n+00019650: 7370 6c69 7420 706f 6c79 676f 6e73 2e20 split polygons. \n+00019660: 2054 6865 7365 2064 6572 6976 6520 6672 These derive fr\n+00019670: 6f6d 2074 6865 2077 6179 2065 6163 680a om the way each.\n+00019680: 706f 6c79 676f 6e20 6973 2070 6169 6e74 polygon is paint\n+00019690: 6564 3a20 6669 7273 742c 2061 6c6c 2070 ed: first, all p\n+000196a0: 6978 656c 7320 7769 7468 696e 2074 6865 ixels within the\n+000196b0: 2062 6f75 6e64 6172 7920 6172 6520 e280 boundary are ..\n+000196c0: 9c66 696c 6c65 64e2 809d 0a77 6974 6820 .filled....with \n+000196d0: 636f 6c6f 7220 2870 6572 6861 7073 2077 color (perhaps w\n+000196e0: 6869 7465 292c 2074 6865 6e20 7468 6520 hite), then the \n+000196f0: 7361 6d65 2062 6f75 6e64 6172 7920 6973 same boundary is\n+00019700: 20e2 809c 7374 726f 6b65 64e2 809d 2028 ...stroked... (\n+00019710: 610a 506f 7374 7363 7269 7074 2074 6572 a.Postscript ter\n+00019720: 6d29 2077 6974 6820 6120 6c69 6e65 2e20 m) with a line. \n+00019730: 2054 6865 2072 6573 756c 7420 6973 2074 The result is t\n+00019740: 6861 7420 6861 6c66 2074 6865 206c 696e hat half the lin\n+00019750: 6520 6c69 6573 0a69 6e73 6964 6520 7468 e lies.inside th\n+00019760: 6520 626f 756e 6461 7279 2061 6e64 2068 e boundary and h\n+00019770: 616c 6620 6f75 7473 6964 652c 2077 6869 alf outside, whi\n+00019780: 6c65 2074 6865 2050 6169 6e74 6572 2773 le the Painter's\n+00019790: 2061 6c67 6f72 6974 686d 0a61 7373 756d algorithm.assum\n+000197a0: 6573 2074 6865 2070 6f6c 7967 6f6e 206c es the polygon l\n+000197b0: 6965 7320 656e 7469 7265 6c79 2077 6974 ies entirely wit\n+000197c0: 6869 6e20 6974 7320 626f 756e 6461 7279 hin its boundary\n+000197d0: 2e20 2054 6865 206e 6f74 6368 6573 2061 . The notches a\n+000197e0: 7265 0a64 7565 2074 6f20 6f6e 6520 706f re.due to one po\n+000197f0: 6c79 676f 6e20 6669 6c6c 206f 7065 7261 lygon fill opera\n+00019800: 7469 6f6e 206f 7665 7277 7269 7469 6e67 tion overwriting\n+00019810: 2074 6865 2061 6c72 6561 6479 2d64 7261 the already-dra\n+00019820: 776e 2069 6e73 6964 650a 6f66 2074 6865 wn inside.of the\n+00019830: 2062 6f72 6465 7220 6f66 2061 6e6f 7468 border of anoth\n+00019840: 6572 2070 6f6c 7967 6f6e 2e28 3129 2020 er polygon.(1) \n+00019850: 4f6e 6520 776f 726b 6172 6f75 6e64 2069 One workaround i\n+00019860: 7320 746f 206d 616b 6520 626f 7264 6572 s to make border\n+00019870: 0a6c 696e 6573 2076 6572 7920 7468 696e .lines very thin\n+00019880: 2e20 2049 6e20 6661 6374 20e2 8098 6c69 . In fact ...li\n+00019890: 6e65 7769 6474 683d 3070 74e2 8099 2069 newidth=0pt... i\n+000198a0: 7320 6775 6172 616e 7465 6564 2074 6f20 s guaranteed to \n+000198b0: 656c 696d 696e 6174 650a 7468 6973 2070 eliminate.this p\n+000198c0: 726f 626c 656d 2c20 7468 6f75 6768 2074 roblem, though t\n+000198d0: 6869 7320 7265 7375 6c74 7320 696e 2074 his results in t\n+000198e0: 6865 2074 6869 6e6e 6573 7420 6c69 6e65 he thinnest line\n+000198f0: 2079 6f75 7220 6f75 7470 7574 0a64 6576 your output.dev\n+00019900: 6963 6520 6361 6e20 6472 6177 2c20 7768 ice can draw, wh\n+00019910: 6963 6820 6973 2075 7375 616c 6c79 2074 ich is usually t\n+00019920: 6f6f 2074 6869 6e2e 2020 596f 7520 6d69 oo thin. You mi\n+00019930: 6768 7420 6765 7420 6c75 636b 7920 6279 ght get lucky by\n+00019940: 0a6d 6572 656c 7920 7265 6f72 6465 7269 .merely reorderi\n+00019950: 6e67 2074 6869 6e67 7320 696e 2074 6865 ng things in the\n+00019960: 2069 6e70 7574 2066 696c 652c 2077 6869 input file, whi\n+00019970: 6368 2069 7320 6c69 6b65 6c79 2074 6f20 ch is likely to \n+00019980: 6d6f 7665 2074 6865 0a73 706c 6974 7320 move the.splits \n+00019990: 746f 2064 6966 6665 7265 6e74 2070 6c61 to different pla\n+000199a0: 6365 732e 2020 5468 6520 6f6e 6c79 2073 ces. The only s\n+000199b0: 7572 652d 6669 7265 2073 6f6c 7574 696f ure-fire solutio\n+000199c0: 6e20 6973 2070 7265 7474 790a 7465 7272 n is pretty.terr\n+000199d0: 6962 6c65 3a20 6375 7374 6f6d 2066 6974 ible: custom fit\n+000199e0: 20e2 8098 7370 6563 6961 6ce2 8099 206f ...special... o\n+000199f0: 7665 726c 6179 206c 696e 6573 2028 7769 verlay lines (wi\n+00019a00: 7468 20e2 8098 5c70 736c 696e 65e2 8099 th ...\\psline...\n+00019a10: 2920 746f 2063 6f76 6572 0a74 6865 206e ) to cover.the n\n+00019a20: 6f74 6368 6573 2e0a 0a20 2020 506f 6c79 otches... Poly\n+00019a30: 676f 6e20 7370 6c69 7474 696e 6720 616c gon splitting al\n+00019a40: 736f 2062 7265 616b 7320 e280 9850 5354 so breaks ...PST\n+00019a50: 7269 636b 73e2 8099 2068 6174 6368 2070 ricks... hatch p\n+00019a60: 6174 7465 726e 732e 2020 5468 6520 6f6e atterns. The on\n+00019a70: 6c79 0a6b 6e6f 776e 2077 6f72 6b61 726f ly.known workaro\n+00019a80: 756e 6420 6973 2074 6f20 7375 6273 7469 und is to substi\n+00019a90: 7475 7465 2061 2073 6f6c 6964 2066 696c tute a solid fil\n+00019aa0: 6c20 666f 7220 7468 6520 6861 7463 682e l for the hatch.\n+00019ab0: 0a0a 2020 202d 2d2d 2d2d 2d2d 2d2d 2d20 .. ---------- \n+00019ac0: 466f 6f74 6e6f 7465 7320 2d2d 2d2d 2d2d Footnotes ------\n+00019ad0: 2d2d 2d2d 0a0a 2020 2028 3129 2049 206b ----.. (1) I k\n+00019ae0: 6e6f 7720 686f 7720 746f 2066 6978 2074 now how to fix t\n+00019af0: 6869 7320 7072 6f62 6c65 6d2c 2062 7574 his problem, but\n+00019b00: 2049 2064 6f6e 2774 206c 696b 6520 6d79 I don't like my\n+00019b10: 2073 6f6c 7574 696f 6e2c 2061 6e64 0a49 solution, and.I\n+00019b20: 276d 2069 6e74 6572 6573 7465 6420 696e 'm interested in\n+00019b30: 2079 6f75 7273 2e0a 0a1f 0a46 696c 653a yours.....File:\n+00019b40: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+00019b50: 6f64 653a 2043 6f6d 6d61 6e64 206c 696e ode: Command lin\n+00019b60: 652c 2020 4e65 7874 3a20 496e 7374 616c e, Next: Instal\n+00019b70: 6c69 6e67 2073 6b65 7463 682c 2020 5072 ling sketch, Pr\n+00019b80: 6576 3a20 4275 696c 6469 6e67 2061 2064 ev: Building a d\n+00019b90: 7261 7769 6e67 2c20 2055 703a 2054 6f70 rawing, Up: Top\n+00019ba0: 0a0a 3520 436f 6d6d 616e 6420 6c69 6e65 ..5 Command line\n+00019bb0: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a .**************.\n+00019bc0: 0a2a 5379 6e6f 7073 6973 3a2a 0a20 2020 .*Synopsis:*. \n+00019bd0: 2020 736b 6574 6368 205b 2d68 5d5b 2d56 sketch [-h][-V\n+00019be0: 2078 2e79 5d5b 2d76 5d5b 2d62 5d5b 2d64 x.y][-v][-b][-d\n+00019bf0: 5d5b 7420 646f 6374 6d70 5d5b 2d54 5b75 ][t doctmp][-T[u\n+00019c00: 7c65 5d5b 705b 507c 545d 5b4c 7c43 5d5d |e][p[P|T][L|C]]\n+00019c10: 5d5b 2d6f 206f 7574 7075 742e 7465 785d ][-o output.tex]\n+00019c20: 0a20 2020 2020 2020 5b2d 4420 5441 4720 . [-D TAG \n+00019c30: 2e2e 2e5d 2069 6e70 7574 312e 736b 205b ...] input1.sk [\n+00019c40: 2d55 2054 4147 202e 2e2e 5d20 696e 7075 -U TAG ...] inpu\n+00019c50: 7432 2e73 6b20 2e2e 2e0a 0a2a 4465 7363 t2.sk .....*Desc\n+00019c60: 7269 7074 696f 6e2a 2050 726f 6365 7373 ription* Process\n+00019c70: 6573 2074 6865 20e2 8098 736b 6574 6368 es the ...sketch\n+00019c80: e280 9920 696e 7075 7420 6669 6c65 7320 ... input files \n+00019c90: 696e 206f 7264 6572 2074 6f20 7072 6f64 in order to prod\n+00019ca0: 7563 650a e280 9850 5354 7269 636b 73e2 uce....PSTricks.\n+00019cb0: 8099 206f 7574 7075 7420 636f 6465 2073 .. output code s\n+00019cc0: 7569 7461 626c 6520 666f 7220 696e 636c uitable for incl\n+00019cd0: 7573 696f 6e20 696e 2061 2054 6558 206f usion in a TeX o\n+00019ce0: 7220 4c61 5465 580a 646f 6375 6d65 6e74 r LaTeX.document\n+00019cf0: 2e0a 0a2a 4f70 7469 6f6e 733a 2a0a e280 ...*Options:*...\n+00019d00: 982d 68e2 8099 0a20 2020 2020 5072 696e .-h.... Prin\n+00019d10: 7420 6120 7368 6f72 7420 6361 7461 6c6f t a short catalo\n+00019d20: 6720 6f66 206f 7074 696f 6e73 2e0a e280 g of options....\n+00019d30: 982d 56e2 8099 0a20 2020 2020 5365 7420 .-V.... Set \n+00019d40: 7468 6520 e280 9850 5354 7269 636b 73e2 the ...PSTricks.\n+00019d50: 8099 2076 6572 7369 6f6e 2061 7373 756d .. version assum\n+00019d60: 6564 2066 6f72 206f 7574 7075 7420 7075 ed for output pu\n+00019d70: 7270 6f73 6573 2074 6f20 e280 9878 2e79 rposes to ...x.y\n+00019d80: e280 992c 0a20 2020 2020 666f 7220 6578 ...,. for ex\n+00019d90: 616d 706c 6520 312e 3139 2e20 2055 7375 ample 1.19. Usu\n+00019da0: 616c 6c79 206e 6565 6465 6420 6f6e 6c79 ally needed only\n+00019db0: 2069 6620 796f 7572 20e2 8098 5053 5472 if your ...PSTr\n+00019dc0: 6963 6b73 e280 9920 6973 206f 6c64 0a20 icks... is old. \n+00019dd0: 2020 2020 636f 6d70 6172 6564 2074 6f20 compared to \n+00019de0: 796f 7572 20e2 8098 736b 6574 6368 e280 your ...sketch..\n+00019df0: 992e 2020 5573 6520 e280 982d 76e2 8099 .. Use ...-v...\n+00019e00: 2074 6f20 7365 6520 7768 6174 20e2 8098 to see what ...\n+00019e10: 736b 6574 6368 e280 9920 6173 7375 6d65 sketch... assume\n+00019e20: 730a 2020 2020 2062 7920 6465 6661 756c s. by defaul\n+00019e30: 742e 0ae2 8098 2d76 e280 990a 2020 2020 t.....-v.... \n+00019e40: 2050 7269 6e74 2076 6572 7369 6f6e 2069 Print version i\n+00019e50: 6e66 6f72 6d61 7469 6f6e 2074 6f20 7374 nformation to st\n+00019e60: 616e 6461 7264 206f 7574 7075 742c 2069 andard output, i\n+00019e70: 6e63 6c75 6469 6e67 2074 6865 2076 6572 ncluding the ver\n+00019e80: 7369 6f6e 0a20 2020 2020 6f66 20e2 8098 sion. of ...\n+00019e90: 5053 5472 6963 6b73 e280 9920 6173 7375 PSTricks... assu\n+00019ea0: 6d65 6420 666f 7220 6f75 7470 7574 2028 med for output (\n+00019eb0: 6361 6e20 6265 2063 6861 6e67 6564 2077 can be changed w\n+00019ec0: 6974 6820 e280 982d 56e2 8099 2061 626f ith ...-V... abo\n+00019ed0: 7665 292e 0ae2 8098 2d62 e280 990a 2020 ve).....-b.... \n+00019ee0: 2020 2055 7365 2061 2042 5350 2028 2a4e Use a BSP (*N\n+00019ef0: 6f74 6520 4869 6464 656e 2073 7572 6661 ote Hidden surfa\n+00019f00: 6365 2072 656d 6f76 616c 3a3a 2e29 2020 ce removal::.) \n+00019f10: 666f 7220 5f61 6c6c 5f20 6869 6464 656e for _all_ hidden\n+00019f20: 0a20 2020 2020 7375 7266 6163 6520 7265 . surface re\n+00019f30: 6d6f 7661 6c20 7261 7468 6572 2074 6861 moval rather tha\n+00019f40: 6e20 7468 6520 6465 6661 756c 742c 2077 n the default, w\n+00019f50: 6869 6368 2069 7320 7468 6520 6465 7074 hich is the dept\n+00019f60: 6820 736f 7274 0a20 2020 2020 616c 676f h sort. algo\n+00019f70: 7269 7468 6d20 7769 7468 2042 5350 7320 rithm with BSPs \n+00019f80: 7573 6564 206f 6e6c 7920 666f 7220 6379 used only for cy\n+00019f90: 636c 6520 7265 736f 6c75 7469 6f6e 2e20 cle resolution. \n+00019fa0: 2054 6869 7320 6d61 790a 2020 2020 2070 This may. p\n+00019fb0: 726f 6475 6365 2063 6f72 7265 6374 206f roduce correct o\n+00019fc0: 7574 7075 7420 696e 2063 6572 7461 696e utput in certain\n+00019fd0: 2064 6567 656e 6572 6174 6520 6361 7365 degenerate case\n+00019fe0: 7320 7768 6572 6520 7468 6520 6465 7074 s where the dept\n+00019ff0: 680a 2020 2020 2073 6f72 7420 6361 6e6e h. sort cann\n+0001a000: 6f74 2c20 6275 7420 6974 2061 6c73 6f20 ot, but it also \n+0001a010: 6c65 6164 7320 746f 206d 616e 7920 6772 leads to many gr\n+0001a020: 6174 7569 746f 7573 2073 706c 6974 732c atuitous splits,\n+0001a030: 2068 656e 6365 0a20 2020 2020 6d6f 7265 hence. more\n+0001a040: 2061 6e6f 6d61 6c69 6573 202a 6e6f 7465 anomalies *note\n+0001a050: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal\n+0001a060: 6965 733a 3a20 616e 6420 6269 6720 6f75 ies:: and big ou\n+0001a070: 7470 7574 2066 696c 6573 2e0a e280 982d tput files.....-\n+0001a080: 64e2 8099 0a20 2020 2020 5275 6e20 e280 d.... Run ..\n+0001a090: 9873 6b65 7463 68e2 8099 2773 2070 6172 .sketch...'s par\n+0001a0a0: 7365 7220 696e 2064 6562 7567 6769 6e67 ser in debugging\n+0001a0b0: 206d 6f64 652e 2020 5468 6973 2069 7320 mode. This is \n+0001a0c0: 7072 696d 6172 696c 7920 666f 720a 2020 primarily for. \n+0001a0d0: 2020 2064 6576 656c 6f70 6d65 6e74 2e0a development..\n+0001a0e0: e280 982d 74e2 8099 0a20 2020 2020 5573 ...-t.... Us\n+0001a0f0: 6520 636f 6e74 656e 7473 206f 6620 6669 e contents of fi\n+0001a100: 6c65 20e2 8098 646f 6374 6d70 e280 9920 le ...doctmp... \n+0001a110: 6173 2061 2064 6f63 756d 656e 7420 7465 as a document te\n+0001a120: 6d70 6c61 7465 2069 6e20 7768 6963 6820 mplate in which \n+0001a130: 746f 0a20 2020 2020 656e 636c 6f73 6520 to. enclose \n+0001a140: e280 9850 5354 7269 636b 73e2 8099 206f ...PSTricks... o\n+0001a150: 7574 7075 7420 636f 6465 2e20 2054 6865 utput code. The\n+0001a160: 2063 6f64 6520 6973 2069 6e73 6572 7465 code is inserte\n+0001a170: 6420 696e 2070 6c61 6365 206f 660a 2020 d in place of. \n+0001a180: 2020 2074 6865 2066 6972 7374 2069 6e73 the first ins\n+0001a190: 7461 6e63 6520 6f66 2074 6865 2065 7363 tance of the esc\n+0001a1a0: 6170 6520 7374 7269 6e67 2025 2553 4b45 ape string %%SKE\n+0001a1b0: 5443 485f 4f55 5450 5554 2525 2e0a e280 TCH_OUTPUT%%....\n+0001a1c0: 982d 54e2 8099 0a20 2020 2020 4361 7573 .-T.... Caus\n+0001a1d0: 6573 20e2 8098 5053 5472 6963 6b73 e280 es ...PSTricks..\n+0001a1e0: 9920 6f75 7470 7574 2074 6f20 6265 2065 . output to be e\n+0001a1f0: 6e63 6c6f 7365 6420 696e 2064 6566 6175 nclosed in defau\n+0001a200: 6c74 2055 5320 646f 6375 6d65 6e74 0a20 lt US document. \n+0001a210: 2020 2020 7465 6d70 6c61 7465 2074 6578 template tex\n+0001a220: 742e 2020 4f70 7469 6f6e 20e2 8098 2d54 t. Option ...-T\n+0001a230: 75e2 8099 2069 7320 6120 7379 6e6f 6e79 u... is a synony\n+0001a240: 6d2e 2020 4f70 7469 6f6e 20e2 8098 2d54 m. Option ...-T\n+0001a250: 65e2 8099 2063 6175 7365 7320 7468 650a e... causes the.\n+0001a260: 2020 2020 2045 7572 6f20 7374 616e 6461 Euro standa\n+0001a270: 7264 2064 6f63 756d 656e 7420 7465 6d70 rd document temp\n+0001a280: 6c61 7465 2074 6f20 6265 2075 7365 642e late to be used.\n+0001a290: 2020 4120 e280 9870 e280 9920 6170 7065 A ...p... appe\n+0001a2a0: 6e64 6564 2074 6f20 616e 790a 2020 2020 nded to any. \n+0001a2b0: 206f 6620 7468 6573 6520 6f70 7469 6f6e of these option\n+0001a2c0: 7320 6361 7573 6573 2074 6865 2072 6573 s causes the res\n+0001a2d0: 7065 6374 6976 6520 6465 6661 756c 7420 pective default \n+0001a2e0: e280 9850 5354 7269 636b 73e2 8099 2064 ...PSTricks... d\n+0001a2f0: 6f63 756d 656e 740a 2020 2020 2074 656d ocument. tem\n+0001a300: 706c 6174 6520 746f 2062 6520 7072 696e plate to be prin\n+0001a310: 7465 6420 746f 2073 7461 6e64 6172 6420 ted to standard \n+0001a320: 6f75 7470 7574 2e20 2041 6e20 6170 7065 output. An appe\n+0001a330: 6e64 6564 20e2 8098 50e2 8099 2069 7320 nded ...P... is \n+0001a340: 610a 2020 2020 2073 796e 6f6e 796d 2e20 a. synonym. \n+0001a350: 2041 6e20 6170 7065 6e64 6564 20e2 8098 An appended ...\n+0001a360: 54e2 8099 2063 6175 7365 7320 7468 6520 T... causes the \n+0001a370: 7468 6520 e280 9854 696b 5a2f 5047 46e2 the ...TikZ/PGF.\n+0001a380: 8099 2074 656d 706c 6174 6520 746f 2062 .. template to b\n+0001a390: 650a 2020 2020 2070 7269 6e74 6564 2e20 e. printed. \n+0001a3a0: 2041 6e20 6170 7065 6e64 6564 20e2 8098 An appended ...\n+0001a3b0: 4ce2 8099 2070 7269 6e74 7320 7468 6520 L... prints the \n+0001a3c0: 4c61 5465 5820 7665 7273 696f 6e20 6f66 LaTeX version of\n+0001a3d0: 2074 6865 2064 6f63 756d 656e 740a 2020 the document. \n+0001a3e0: 2020 2074 656d 706c 6174 652c 2061 2073 template, a s\n+0001a3f0: 796e 6f6e 796d 2066 6f72 2074 6865 2064 ynonym for the d\n+0001a400: 6566 6175 6c74 2e20 2041 20e2 8098 43e2 efault. A ...C.\n+0001a410: 8099 2070 7269 6e74 7320 7468 6520 e280 .. prints the ..\n+0001a420: 9843 6f6e 5465 5874 e280 990a 2020 2020 .ConTeXt.... \n+0001a430: 2074 656d 706c 6174 652e 0ae2 8098 2d6f template.....-o\n+0001a440: e280 990a 2020 2020 2055 7365 20e2 8098 .... Use ...\n+0001a450: 6f75 7470 7574 2e74 6578 e280 9920 6173 output.tex... as\n+0001a460: 2074 6865 206f 7574 7075 7420 6669 6c65 the output file\n+0001a470: 2e20 2054 6865 2064 6566 6175 6c74 2069 . The default i\n+0001a480: 7320 7374 616e 6461 7264 0a20 2020 2020 s standard. \n+0001a490: 6f75 7470 7574 2e0a e280 982d 44e2 8099 output.....-D...\n+0001a4a0: 0a20 2020 2020 4465 6669 6e65 2061 2074 . Define a t\n+0001a4b0: 6167 2066 6f72 2070 7572 706f 7365 7320 ag for purposes \n+0001a4c0: 6f66 2073 656c 6563 7469 6e67 2064 6566 of selecting def\n+0001a4d0: 696e 6974 696f 6e20 616c 7465 726e 6174 inition alternat\n+0001a4e0: 6976 6573 2e0a 2020 2020 202a 4e6f 7465 ives.. *Note\n+0001a4f0: 2044 6566 696e 6974 696f 6e73 3a3a 2e20 Definitions::. \n+0001a500: 2054 6865 2064 6566 696e 6974 696f 6e20 The definition \n+0001a510: 6170 706c 6965 7320 666f 7220 616c 6c20 applies for all \n+0001a520: 696e 7075 7420 6669 6c65 730a 2020 2020 input files. \n+0001a530: 2074 6861 7420 666f 6c6c 6f77 2075 6e6c that follow unl\n+0001a540: 6573 7320 7468 6520 7461 6720 6973 2075 ess the tag is u\n+0001a550: 6e64 6566 696e 6564 2077 6974 6820 e280 ndefined with ..\n+0001a560: 982d 55e2 8099 2e0a e280 9869 6e70 7574 .-U........input\n+0001a570: 692e 736b e280 990a 2020 2020 2049 6e70 i.sk.... Inp\n+0001a580: 7574 2066 696c 6573 2c20 7265 6164 2069 ut files, read i\n+0001a590: 6e20 7468 6520 7365 7175 656e 6365 2074 n the sequence t\n+0001a5a0: 6865 7920 6172 6520 6769 7665 6e2e 0ae2 hey are given...\n+0001a5b0: 8098 2d55 e280 990a 2020 2020 2055 6e2d ..-U.... Un-\n+0001a5c0: 6465 6669 6e65 2061 2074 6167 2066 6f72 define a tag for\n+0001a5d0: 2070 7572 706f 7365 7320 6f66 2073 656c purposes of sel\n+0001a5e0: 6563 7469 6e67 2064 6566 696e 6974 696f ecting definitio\n+0001a5f0: 6e20 616c 7465 726e 6174 6976 6573 2e0a n alternatives..\n+0001a600: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+0001a610: 696e 666f 2c20 204e 6f64 653a 2049 6e73 info, Node: Ins\n+0001a620: 7461 6c6c 696e 6720 736b 6574 6368 2c20 talling sketch, \n+0001a630: 204e 6578 743a 2049 6e64 6578 206f 6620 Next: Index of \n+0001a640: 7379 6e74 6178 2c20 2050 7265 763a 2043 syntax, Prev: C\n+0001a650: 6f6d 6d61 6e64 206c 696e 652c 2020 5570 ommand line, Up\n+0001a660: 3a20 546f 700a 0a36 2042 7569 6c64 696e : Top..6 Buildin\n+0001a670: 6720 616e 6420 696e 7374 616c 6c69 6e67 g and installing\n+0001a680: 20e2 8098 736b 6574 6368 e280 990a 2a2a ...sketch....**\n+0001a690: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n 0001a6a0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-0001a6b0: 2a2a 2a2a 2a2a 0a0a e280 9853 6b65 7463 ******.....Sketc\n-0001a6c0: 68e2 8099 2069 7320 736f 2073 6d61 6c6c h... is so small\n-0001a6d0: 2074 6861 7420 636f 6d70 696c 696e 6720 that compiling \n-0001a6e0: 6279 2062 7275 7465 2066 6f72 6365 2069 by brute force i\n-0001a6f0: 7320 7072 6f62 6162 6c79 2062 6573 742e s probably best.\n-0001a700: 0a54 6865 2066 6f6c 6c6f 7769 6e67 2063 .The following c\n-0001a710: 6f6d 6d61 6e64 206f 7567 6874 2074 6f20 ommand ought to \n-0001a720: 646f 2074 6865 2074 7269 636b 206f 6e20 do the trick on \n-0001a730: 616e 7920 7379 7374 656d 7320 7768 6572 any systems wher\n-0001a740: 6520 e280 9867 6363 e280 990a 6973 2069 e ...gcc....is i\n-0001a750: 6e73 7461 6c6c 6564 2e20 204d 616b 6520 nstalled. Make \n-0001a760: 7375 7265 2074 6f20 6669 7273 7420 6368 sure to first ch\n-0001a770: 616e 6765 2063 7572 7265 6e74 2064 6972 ange current dir\n-0001a780: 6563 746f 7269 6573 2074 6f20 7468 650a ectories to the.\n-0001a790: 706c 6163 6520 7768 6572 6520 796f 7520 place where you \n-0001a7a0: 6861 7665 2075 6e70 6163 6b65 6420 7468 have unpacked th\n-0001a7b0: 6520 736f 7572 6365 732e 0a20 2020 2020 e sources.. \n-0001a7c0: 6763 6320 2a2e 6320 2d6f 2073 6b65 7463 gcc *.c -o sketc\n-0001a7d0: 682e 6578 6520 2d6c 6d0a 5468 6520 e280 h.exe -lm.The ..\n-0001a7e0: 982e 6578 65e2 8099 2061 7420 7468 6520 ..exe... at the \n-0001a7f0: 656e 6420 6973 206e 6563 6573 7361 7279 end is necessary\n-0001a800: 2066 6f72 2057 696e 646f 7773 2073 7973 for Windows sys\n-0001a810: 7465 6d73 2e20 2044 726f 7020 6974 2069 tems. Drop it i\n-0001a820: 6620 796f 7572 0a73 7973 7465 6d20 6973 f your.system is\n-0001a830: 2073 6f6d 6520 7665 7273 696f 6e20 6f66 some version of\n-0001a840: 2055 6e69 782e 2020 4f74 6865 7220 4320 Unix. Other C \n-0001a850: 636f 6d70 696c 6572 7320 6f75 6768 7420 compilers ought \n-0001a860: 746f 2077 6f72 6b20 6173 206a 7573 740a to work as just.\n-0001a870: 6173 2077 656c 6c2e 2020 466f 7220 6578 as well. For ex\n-0001a880: 616d 706c 652c 0a20 2020 2020 636c 202a ample,. cl *\n-0001a890: 2e63 202d 6f20 736b 6574 6368 2e65 7865 .c -o sketch.exe\n-0001a8a0: 0a69 7320 7468 6520 636f 7272 6563 7420 .is the correct \n-0001a8b0: 636f 6d6d 616e 6420 666f 7220 6d61 6e79 command for many\n-0001a8c0: 2076 6572 7369 6f6e 7320 6f66 204d 5320 versions of MS \n-0001a8d0: 5669 7375 616c 2043 2e20 496e 2074 6865 Visual C. In the\n-0001a8e0: 206c 6174 6573 740a 7665 7273 696f 6e73 latest.versions\n-0001a8f0: 2c20 4d69 6372 6f73 6f66 7420 6861 7320 , Microsoft has \n-0001a900: 6465 7072 6563 6174 6564 2074 6865 20e2 deprecated the .\n-0001a910: 8098 2d6f e280 9920 6f70 7469 6f6e 2061 ..-o... option a\n-0001a920: 6e64 2c20 6279 2064 6566 6175 6c74 2c20 nd, by default, \n-0001a930: 646f 6573 0a6e 6f74 2064 6566 696e 6520 does.not define \n-0001a940: 7468 6520 e280 985f 5f53 5444 435f 5fe2 the ...__STDC__.\n-0001a950: 8099 206d 6163 726f 2e20 2054 6869 7320 .. macro. This \n-0001a960: 6361 7573 6573 2070 726f 626c 656d 7320 causes problems \n-0001a970: 7769 7468 2073 6f6d 650a 7665 7273 696f with some.versio\n-0001a980: 6e73 206f 6620 e280 9866 6c65 78e2 8099 ns of ...flex...\n-0001a990: 2c20 e280 9862 6973 6f6e e280 992c 20e2 , ...bison..., .\n-0001a9a0: 8098 6c65 78e2 8099 2c20 616e 6420 e280 ..lex..., and ..\n-0001a9b0: 9879 6163 63e2 8099 2c20 7768 6963 6820 .yacc..., which \n-0001a9c0: 6172 6520 7573 6564 2074 6f20 6372 6561 are used to crea\n-0001a9d0: 7465 0a74 6865 20e2 8098 736b 6574 6368 te.the ...sketch\n-0001a9e0: e280 9920 7363 616e 6e65 7220 616e 6420 ... scanner and \n-0001a9f0: 7061 7273 6572 2e20 2049 7427 7320 6e65 parser. It's ne\n-0001aa00: 6172 6c79 2061 6c77 6179 7320 706f 7373 arly always poss\n-0001aa10: 6962 6c65 2074 6f20 6669 6e64 2061 0a73 ible to find a.s\n-0001aa20: 6574 206f 6620 6f70 7469 6f6e 7320 7468 et of options th\n-0001aa30: 6174 2063 6f6d 7069 6c65 7320 7769 7468 at compiles with\n-0001aa40: 206e 6f20 6572 726f 7273 206f 7220 7761 no errors or wa\n-0001aa50: 726e 696e 6773 2c20 616e 6420 7468 6973 rnings, and this\n-0001aa60: 206d 6561 6e73 0ae2 8098 736b 6574 6368 means....sketch\n-0001aa70: e280 9920 6973 205f 7665 7279 5f20 6c69 ... is _very_ li\n-0001aa80: 6b65 6c79 2074 6f20 776f 726b 2063 6f72 kely to work cor\n-0001aa90: 7265 6374 6c79 2e20 2046 6f72 2065 7861 rectly. For exa\n-0001aaa0: 6d70 6c65 2c20 7468 6520 5669 7375 616c mple, the Visual\n-0001aab0: 0a43 2b2b 2032 3030 3520 4578 7072 6573 .C++ 2005 Expres\n-0001aac0: 7320 4564 6974 696f 6e20 636f 6d70 696c s Edition compil\n-0001aad0: 6572 2028 6176 6169 6c61 626c 6520 6672 er (available fr\n-0001aae0: 6565 206f 6620 6368 6172 6765 2066 726f ee of charge fro\n-0001aaf0: 6d20 7468 650a 4d69 6372 6f73 6f66 7420 m the.Microsoft \n-0001ab00: 7765 6220 7369 7465 292c 20e2 8098 666c web site), ...fl\n-0001ab10: 6578 e280 9920 7665 7273 696f 6e20 322e ex... version 2.\n-0001ab20: 352e 342c 2061 6e64 20e2 8098 6269 736f 5.4, and ...biso\n-0001ab30: 6ee2 8099 2076 6572 7369 6f6e 2032 2e31 n... version 2.1\n-0001ab40: 2062 7569 6c64 0a65 7272 6f72 2d66 7265 build.error-fre\n-0001ab50: 6520 7769 7468 0a20 2020 2020 636c 202d e with. cl -\n-0001ab60: 4459 595f 4e45 5645 525f 494e 5445 5241 DYY_NEVER_INTERA\n-0001ab70: 4354 4956 453d 3120 2d5a 6120 2d4f 7820 CTIVE=1 -Za -Ox \n-0001ab80: 2d46 6573 6b65 7463 682e 6578 6520 2a2e -Fesketch.exe *.\n-0001ab90: 630a 0a20 2020 466f 7220 7075 7269 7374 c.. For purist\n-0001aba0: 732c 2074 6865 7265 2069 7320 616c 736f s, there is also\n-0001abb0: 2061 20e2 8098 6d61 6b65 6669 6c65 e280 a ...makefile..\n-0001abc0: 9920 636f 6d70 6174 6962 6c65 2077 6974 . compatible wit\n-0001abd0: 6820 474e 5520 e280 986d 616b 65e2 8099 h GNU ...make...\n-0001abe0: 0a61 6e64 20e2 8098 6763 63e2 8099 2e20 .and ...gcc.... \n-0001abf0: 2054 6865 2063 6f6d 6d61 6e64 0a20 2020 The command. \n-0001ac00: 2020 6d61 6b65 0a77 696c 6c20 6275 696c make.will buil\n-0001ac10: 6420 7468 6520 6578 6563 7574 6162 6c65 d the executable\n-0001ac20: 2c20 696e 636c 7564 696e 6720 7468 6520 , including the \n-0001ac30: 7265 6275 696c 6469 6e67 206f 6620 7468 rebuilding of th\n-0001ac40: 6520 7363 616e 6e65 7220 616e 640a 7061 e scanner and.pa\n-0001ac50: 7273 6572 2077 6974 6820 e280 9866 6c65 rser with ...fle\n-0001ac60: 78e2 8099 2061 6e64 20e2 8098 6269 736f x... and ...biso\n-0001ac70: 6ee2 8099 2069 6620 796f 7520 6861 7665 n... if you have\n-0001ac80: 2063 6861 6e67 6564 20e2 8098 736b 6574 changed ...sket\n-0001ac90: 6368 2e6c e280 9920 6f72 0ae2 8098 736b ch.l... or....sk\n-0001aca0: 6574 6368 2e79 e280 9920 7265 7370 6563 etch.y... respec\n-0001acb0: 7469 7665 6c79 2e0a 0a20 2020 5768 696c tively... Whil\n-0001acc0: 6520 6e6f 7420 6573 7365 6e74 6961 6c2c e not essential,\n-0001acd0: 2062 7569 6c64 696e 6720 7468 6520 6d61 building the ma\n-0001ace0: 6e75 616c 2069 7320 616e 2065 7863 656c nual is an excel\n-0001acf0: 6c65 6e74 2074 6573 7420 6f66 2079 6f75 lent test of you\n-0001ad00: 720a e280 9873 6b65 7463 68e2 8099 2069 r....sketch... i\n-0001ad10: 6e73 7461 6c6c 6174 696f 6e2e 2020 546f nstallation. To\n-0001ad20: 2062 7569 6c64 2074 6869 7320 646f 6375 build this docu\n-0001ad30: 6d65 6e74 2069 6e20 616c 6c20 6974 7320 ment in all its \n-0001ad40: 6d79 7269 6164 2066 6f72 6d73 0a28 6173 myriad forms.(as\n-0001ad50: 7375 6d69 6e67 2079 6f75 2068 6176 6520 suming you have \n-0001ad60: 7468 6520 6e65 6365 7373 6172 7920 636f the necessary co\n-0001ad70: 6e76 6572 7369 6f6e 2070 726f 6772 616d nversion program\n-0001ad80: 7320 6f6e 2079 6f75 7220 7379 7374 656d s on your system\n-0001ad90: 292c 0a75 7365 0a20 2020 2020 6d61 6b65 ),.use. make\n-0001ada0: 2064 6f63 730a 5468 6520 706f 7373 6962 docs.The possib\n-0001adb0: 696c 6974 6965 7320 6172 6520 6c69 7374 ilities are list\n-0001adc0: 6564 2069 6e20 7468 6973 2066 6f6c 6c6f ed in this follo\n-0001add0: 7769 6e67 2074 6162 6c65 2e0a 466f 726d wing table..Form\n-0001ade0: 6174 2020 2020 2020 2020 2020 2020 2020 at \n-0001adf0: 2020 436f 6e76 6572 7465 7220 2020 2020 Converter \n-0001ae00: 2020 2050 6963 7475 7265 7320 2020 4465 Pictures De\n-0001ae10: 7363 7269 7074 696f 6e0a 2d2d 2d2d 2d2d scription.------\n+0001a6b0: 0a0a e280 9853 6b65 7463 68e2 8099 2069 .....Sketch... i\n+0001a6c0: 7320 736f 2073 6d61 6c6c 2074 6861 7420 s so small that \n+0001a6d0: 636f 6d70 696c 696e 6720 6279 2062 7275 compiling by bru\n+0001a6e0: 7465 2066 6f72 6365 2069 7320 7072 6f62 te force is prob\n+0001a6f0: 6162 6c79 2062 6573 742e 0a54 6865 2066 ably best..The f\n+0001a700: 6f6c 6c6f 7769 6e67 2063 6f6d 6d61 6e64 ollowing command\n+0001a710: 206f 7567 6874 2074 6f20 646f 2074 6865 ought to do the\n+0001a720: 2074 7269 636b 206f 6e20 616e 7920 7379 trick on any sy\n+0001a730: 7374 656d 7320 7768 6572 6520 e280 9867 stems where ...g\n+0001a740: 6363 e280 990a 6973 2069 6e73 7461 6c6c cc....is install\n+0001a750: 6564 2e20 204d 616b 6520 7375 7265 2074 ed. Make sure t\n+0001a760: 6f20 6669 7273 7420 6368 616e 6765 2063 o first change c\n+0001a770: 7572 7265 6e74 2064 6972 6563 746f 7269 urrent directori\n+0001a780: 6573 2074 6f20 7468 650a 706c 6163 6520 es to the.place \n+0001a790: 7768 6572 6520 796f 7520 6861 7665 2075 where you have u\n+0001a7a0: 6e70 6163 6b65 6420 7468 6520 736f 7572 npacked the sour\n+0001a7b0: 6365 732e 0a20 2020 2020 6763 6320 2a2e ces.. gcc *.\n+0001a7c0: 6320 2d6f 2073 6b65 7463 682e 6578 6520 c -o sketch.exe \n+0001a7d0: 2d6c 6d0a 5468 6520 e280 982e 6578 65e2 -lm.The ....exe.\n+0001a7e0: 8099 2061 7420 7468 6520 656e 6420 6973 .. at the end is\n+0001a7f0: 206e 6563 6573 7361 7279 2066 6f72 2057 necessary for W\n+0001a800: 696e 646f 7773 2073 7973 7465 6d73 2e20 indows systems. \n+0001a810: 2044 726f 7020 6974 2069 6620 796f 7572 Drop it if your\n+0001a820: 0a73 7973 7465 6d20 6973 2073 6f6d 6520 .system is some \n+0001a830: 7665 7273 696f 6e20 6f66 2055 6e69 782e version of Unix.\n+0001a840: 2020 4f74 6865 7220 4320 636f 6d70 696c Other C compil\n+0001a850: 6572 7320 6f75 6768 7420 746f 2077 6f72 ers ought to wor\n+0001a860: 6b20 6173 206a 7573 740a 6173 2077 656c k as just.as wel\n+0001a870: 6c2e 2020 466f 7220 6578 616d 706c 652c l. For example,\n+0001a880: 0a20 2020 2020 636c 202a 2e63 202d 6f20 . cl *.c -o \n+0001a890: 736b 6574 6368 2e65 7865 0a69 7320 7468 sketch.exe.is th\n+0001a8a0: 6520 636f 7272 6563 7420 636f 6d6d 616e e correct comman\n+0001a8b0: 6420 666f 7220 6d61 6e79 2076 6572 7369 d for many versi\n+0001a8c0: 6f6e 7320 6f66 204d 5320 5669 7375 616c ons of MS Visual\n+0001a8d0: 2043 2e20 496e 2074 6865 206c 6174 6573 C. In the lates\n+0001a8e0: 740a 7665 7273 696f 6e73 2c20 4d69 6372 t.versions, Micr\n+0001a8f0: 6f73 6f66 7420 6861 7320 6465 7072 6563 osoft has deprec\n+0001a900: 6174 6564 2074 6865 20e2 8098 2d6f e280 ated the ...-o..\n+0001a910: 9920 6f70 7469 6f6e 2061 6e64 2c20 6279 . option and, by\n+0001a920: 2064 6566 6175 6c74 2c20 646f 6573 0a6e default, does.n\n+0001a930: 6f74 2064 6566 696e 6520 7468 6520 e280 ot define the ..\n+0001a940: 985f 5f53 5444 435f 5fe2 8099 206d 6163 .__STDC__... mac\n+0001a950: 726f 2e20 2054 6869 7320 6361 7573 6573 ro. This causes\n+0001a960: 2070 726f 626c 656d 7320 7769 7468 2073 problems with s\n+0001a970: 6f6d 650a 7665 7273 696f 6e73 206f 6620 ome.versions of \n+0001a980: e280 9866 6c65 78e2 8099 2c20 e280 9862 ...flex..., ...b\n+0001a990: 6973 6f6e e280 992c 20e2 8098 6c65 78e2 ison..., ...lex.\n+0001a9a0: 8099 2c20 616e 6420 e280 9879 6163 63e2 .., and ...yacc.\n+0001a9b0: 8099 2c20 7768 6963 6820 6172 6520 7573 .., which are us\n+0001a9c0: 6564 2074 6f20 6372 6561 7465 0a74 6865 ed to create.the\n+0001a9d0: 20e2 8098 736b 6574 6368 e280 9920 7363 ...sketch... sc\n+0001a9e0: 616e 6e65 7220 616e 6420 7061 7273 6572 anner and parser\n+0001a9f0: 2e20 2049 7427 7320 6e65 6172 6c79 2061 . It's nearly a\n+0001aa00: 6c77 6179 7320 706f 7373 6962 6c65 2074 lways possible t\n+0001aa10: 6f20 6669 6e64 2061 0a73 6574 206f 6620 o find a.set of \n+0001aa20: 6f70 7469 6f6e 7320 7468 6174 2063 6f6d options that com\n+0001aa30: 7069 6c65 7320 7769 7468 206e 6f20 6572 piles with no er\n+0001aa40: 726f 7273 206f 7220 7761 726e 696e 6773 rors or warnings\n+0001aa50: 2c20 616e 6420 7468 6973 206d 6561 6e73 , and this means\n+0001aa60: 0ae2 8098 736b 6574 6368 e280 9920 6973 ....sketch... is\n+0001aa70: 205f 7665 7279 5f20 6c69 6b65 6c79 2074 _very_ likely t\n+0001aa80: 6f20 776f 726b 2063 6f72 7265 6374 6c79 o work correctly\n+0001aa90: 2e20 2046 6f72 2065 7861 6d70 6c65 2c20 . For example, \n+0001aaa0: 7468 6520 5669 7375 616c 0a43 2b2b 2032 the Visual.C++ 2\n+0001aab0: 3030 3520 4578 7072 6573 7320 4564 6974 005 Express Edit\n+0001aac0: 696f 6e20 636f 6d70 696c 6572 2028 6176 ion compiler (av\n+0001aad0: 6169 6c61 626c 6520 6672 6565 206f 6620 ailable free of \n+0001aae0: 6368 6172 6765 2066 726f 6d20 7468 650a charge from the.\n+0001aaf0: 4d69 6372 6f73 6f66 7420 7765 6220 7369 Microsoft web si\n+0001ab00: 7465 292c 20e2 8098 666c 6578 e280 9920 te), ...flex... \n+0001ab10: 7665 7273 696f 6e20 322e 352e 342c 2061 version 2.5.4, a\n+0001ab20: 6e64 20e2 8098 6269 736f 6ee2 8099 2076 nd ...bison... v\n+0001ab30: 6572 7369 6f6e 2032 2e31 2062 7569 6c64 ersion 2.1 build\n+0001ab40: 0a65 7272 6f72 2d66 7265 6520 7769 7468 .error-free with\n+0001ab50: 0a20 2020 2020 636c 202d 4459 595f 4e45 . cl -DYY_NE\n+0001ab60: 5645 525f 494e 5445 5241 4354 4956 453d VER_INTERACTIVE=\n+0001ab70: 3120 2d5a 6120 2d4f 7820 2d46 6573 6b65 1 -Za -Ox -Feske\n+0001ab80: 7463 682e 6578 6520 2a2e 630a 0a20 2020 tch.exe *.c.. \n+0001ab90: 466f 7220 7075 7269 7374 732c 2074 6865 For purists, the\n+0001aba0: 7265 2069 7320 616c 736f 2061 20e2 8098 re is also a ...\n+0001abb0: 6d61 6b65 6669 6c65 e280 9920 636f 6d70 makefile... comp\n+0001abc0: 6174 6962 6c65 2077 6974 6820 474e 5520 atible with GNU \n+0001abd0: e280 986d 616b 65e2 8099 0a61 6e64 20e2 ...make....and .\n+0001abe0: 8098 6763 63e2 8099 2e20 2054 6865 2063 ..gcc.... The c\n+0001abf0: 6f6d 6d61 6e64 0a20 2020 2020 6d61 6b65 ommand. make\n+0001ac00: 0a77 696c 6c20 6275 696c 6420 7468 6520 .will build the \n+0001ac10: 6578 6563 7574 6162 6c65 2c20 696e 636c executable, incl\n+0001ac20: 7564 696e 6720 7468 6520 7265 6275 696c uding the rebuil\n+0001ac30: 6469 6e67 206f 6620 7468 6520 7363 616e ding of the scan\n+0001ac40: 6e65 7220 616e 640a 7061 7273 6572 2077 ner and.parser w\n+0001ac50: 6974 6820 e280 9866 6c65 78e2 8099 2061 ith ...flex... a\n+0001ac60: 6e64 20e2 8098 6269 736f 6ee2 8099 2069 nd ...bison... i\n+0001ac70: 6620 796f 7520 6861 7665 2063 6861 6e67 f you have chang\n+0001ac80: 6564 20e2 8098 736b 6574 6368 2e6c e280 ed ...sketch.l..\n+0001ac90: 9920 6f72 0ae2 8098 736b 6574 6368 2e79 . or....sketch.y\n+0001aca0: e280 9920 7265 7370 6563 7469 7665 6c79 ... respectively\n+0001acb0: 2e0a 0a20 2020 5768 696c 6520 6e6f 7420 ... While not \n+0001acc0: 6573 7365 6e74 6961 6c2c 2062 7569 6c64 essential, build\n+0001acd0: 696e 6720 7468 6520 6d61 6e75 616c 2069 ing the manual i\n+0001ace0: 7320 616e 2065 7863 656c 6c65 6e74 2074 s an excellent t\n+0001acf0: 6573 7420 6f66 2079 6f75 720a e280 9873 est of your....s\n+0001ad00: 6b65 7463 68e2 8099 2069 6e73 7461 6c6c ketch... install\n+0001ad10: 6174 696f 6e2e 2020 546f 2062 7569 6c64 ation. To build\n+0001ad20: 2074 6869 7320 646f 6375 6d65 6e74 2069 this document i\n+0001ad30: 6e20 616c 6c20 6974 7320 6d79 7269 6164 n all its myriad\n+0001ad40: 2066 6f72 6d73 0a28 6173 7375 6d69 6e67 forms.(assuming\n+0001ad50: 2079 6f75 2068 6176 6520 7468 6520 6e65 you have the ne\n+0001ad60: 6365 7373 6172 7920 636f 6e76 6572 7369 cessary conversi\n+0001ad70: 6f6e 2070 726f 6772 616d 7320 6f6e 2079 on programs on y\n+0001ad80: 6f75 7220 7379 7374 656d 292c 0a75 7365 our system),.use\n+0001ad90: 0a20 2020 2020 6d61 6b65 2064 6f63 730a . make docs.\n+0001ada0: 5468 6520 706f 7373 6962 696c 6974 6965 The possibilitie\n+0001adb0: 7320 6172 6520 6c69 7374 6564 2069 6e20 s are listed in \n+0001adc0: 7468 6973 2066 6f6c 6c6f 7769 6e67 2074 this following t\n+0001add0: 6162 6c65 2e0a 466f 726d 6174 2020 2020 able..Format \n+0001ade0: 2020 2020 2020 2020 2020 2020 436f 6e76 Conv\n+0001adf0: 6572 7465 7220 2020 2020 2020 2050 6963 erter Pic\n+0001ae00: 7475 7265 7320 2020 4465 7363 7269 7074 tures Descript\n+0001ae10: 696f 6e0a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ion.------------\n 0001ae20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0001ae30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0001ae40: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0001ae50: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 0001ae60: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0001ae70: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0001ae80: 2d2d 2d2d 2d0a 6d61 6e75 616c 2e69 6e66 -----.manual.inf\n-0001ae90: 6f20 2020 2020 2020 2020 2020 6d61 6b65 o make\n-0001aea0: 696e 666f 2020 2020 2020 2020 20e2 8098 info ...\n-0001aeb0: 2e74 7874 e280 9920 2020 2020 474e 5520 .txt... GNU \n-0001aec0: 496e 666f 2e0a 6d61 6e75 616c 2e64 7669 Info..manual.dvi\n-0001aed0: 2020 2020 2020 2020 2020 2020 7465 7869 texi\n-0001aee0: 3264 7669 2020 2020 2020 2020 20e2 8098 2dvi ...\n-0001aef0: 2e65 7073 e280 9920 2020 2020 5465 5820 .eps... TeX \n-0001af00: 7479 7065 7365 7420 6f75 7470 7574 2e0a typeset output..\n-0001af10: 6d61 6e75 616c 2e70 7320 2020 2020 2020 manual.ps \n-0001af20: 2020 2020 2020 7465 7869 3264 7669 2c64 texi2dvi,d\n-0001af30: 7669 7073 2020 20e2 8098 2e65 7073 e280 vips ....eps..\n-0001af40: 9920 2020 2020 506f 7374 7363 7269 7074 . Postscript\n-0001af50: 2e0a 6d61 6e75 616c 2e70 6466 2020 2020 ..manual.pdf \n-0001af60: 2020 2020 2020 2020 7465 7869 3264 7669 texi2dvi\n-0001af70: 2020 2020 2020 2020 20e2 8098 2e70 6466 ....pdf\n-0001af80: e280 9920 2020 2020 4164 6f62 6520 5044 ... Adobe PD\n-0001af90: 462e 0a6d 616e 7561 6c2e 6874 6d6c 2020 F..manual.html \n-0001afa0: 2020 2020 2020 2020 206d 616b 6569 6e66 makeinf\n-0001afb0: 6f20 2020 2020 2020 2020 e280 982e 706e o ....pn\n-0001afc0: 67e2 8099 2020 2020 2041 2073 696e 676c g... A singl\n-0001afd0: 6520 7765 6220 7061 6765 2e0a 6d61 6e75 e web page..manu\n-0001afe0: 616c 2f69 6e64 6578 2e68 746d 6c20 2020 al/index.html \n-0001aff0: 2020 6d61 6b65 696e 666f 2020 2020 2020 makeinfo \n-0001b000: 2020 20e2 8098 2e70 6e67 e280 9920 2020 ....png... \n-0001b010: 2020 4c69 6e6b 6564 2077 6562 2070 6167 Linked web pag\n-0001b020: 6573 2c20 6f6e 6520 7065 7220 6e6f 6465 es, one per node\n-0001b030: 2e0a 2020 2041 6c6c 2074 6865 2072 6571 .. All the req\n-0001b040: 7569 7265 6420 746f 6f6c 7320 6172 6520 uired tools are \n-0001b050: 696e 636c 7564 6564 2069 6e20 7468 6520 included in the \n-0001b060: 7374 616e 6461 7264 20e2 8098 5465 5820 standard ...TeX \n-0001b070: 4c69 7665 e280 990a 6469 7374 7269 6275 Live....distribu\n-0001b080: 7469 6f6e 2065 7863 6570 7420 7468 6174 tion except that\n-0001b090: 2061 6e20 6164 6469 7469 6f6e 616c 206f an additional o\n-0001b0a0: 7065 6e20 736f 7572 6365 2070 726f 6772 pen source progr\n-0001b0b0: 616d 20e2 8098 6570 7374 6f6f 6ce2 8099 am ...epstool...\n-0001b0c0: 2069 730a 6e65 6564 6564 2074 6f20 7265 is.needed to re\n-0001b0d0: 6669 6e65 2074 6865 2045 6e63 6170 7375 fine the Encapsu\n-0001b0e0: 6c61 7465 6420 506f 7374 7363 7269 7074 lated Postscript\n-0001b0f0: 2062 6f75 6e64 696e 6720 626f 7865 7320 bounding boxes \n-0001b100: 6f66 0ae2 8098 736b 6574 6368 e280 992d of....sketch...-\n-0001b110: 6765 6e65 7261 7465 6420 6669 6775 7265 generated figure\n-0001b120: 7320 696e 2074 6865 206d 616e 7561 6c2e s in the manual.\n-0001b130: 2020 5468 6973 2074 6f6f 6c20 6973 2061 This tool is a\n-0001b140: 7661 696c 6162 6c65 2069 6e0a 6269 6e61 vailable in.bina\n-0001b150: 7279 2066 6f72 6d20 666f 7220 5769 6e64 ry form for Wind\n-0001b160: 6f77 732c 2061 6e64 2069 7420 6275 696c ows, and it buil\n-0001b170: 6473 2065 6173 696c 7920 7769 7468 2061 ds easily with a\n-0001b180: 2073 696d 706c 6520 e280 986d 616b 65e2 simple ...make.\n-0001b190: 8099 2075 6e64 6572 0a6c 696e 7578 206f .. under.linux o\n-0001b1a0: 7220 4379 6777 696e 2069 6e73 7461 6c6c r Cygwin install\n-0001b1b0: 6174 696f 6e73 2074 6861 7420 6861 7665 ations that have\n-0001b1c0: 2064 6576 656c 6f70 6d65 6e74 2074 6f6f development too\n-0001b1d0: 6c73 2069 6e73 7461 6c6c 6564 206f 720a ls installed or.\n-0001b1e0: 756e 6465 7220 e280 984d 6163 204f 5320 under ...Mac OS \n-0001b1f0: 58e2 8099 2077 6974 6820 e280 9858 436f X... with ...XCo\n-0001b200: 6465 e280 9920 696e 7374 616c 6c65 642e de... installed.\n-0001b210: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-0001b220: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 496e .info, Node: In\n-0001b230: 6465 7820 6f66 2073 796e 7461 782c 2020 dex of syntax, \n-0001b240: 4e65 7874 3a20 496e 6465 782c 2020 5072 Next: Index, Pr\n-0001b250: 6576 3a20 496e 7374 616c 6c69 6e67 2073 ev: Installing s\n-0001b260: 6b65 7463 682c 2020 5570 3a20 546f 700a ketch, Up: Top.\n-0001b270: 0a49 6e64 6578 206f 6620 7379 6e74 6178 .Index of syntax\n-0001b280: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a .***************\n-0001b290: 0a0a 0008 5b69 6e64 6578 0008 5d0a 2a20 ....[index..].* \n-0001b2a0: 4d65 6e75 3a0a 0a2a 202d 2c20 6d69 6e75 Menu:..* -, minu\n-0001b2b0: 7320 6f70 6572 6174 6f72 3a20 2020 2020 s operator: \n-0001b2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b2d0: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin\n-0001b2e0: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. \n+0001ae70: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+0001ae80: 6d61 6e75 616c 2e69 6e66 6f20 2020 2020 manual.info \n+0001ae90: 2020 2020 2020 6d61 6b65 696e 666f 2020 makeinfo \n+0001aea0: 2020 2020 2020 20e2 8098 2e74 7874 e280 ....txt..\n+0001aeb0: 9920 2020 2020 474e 5520 496e 666f 2e0a . GNU Info..\n+0001aec0: 6d61 6e75 616c 2e64 7669 2020 2020 2020 manual.dvi \n+0001aed0: 2020 2020 2020 7465 7869 3264 7669 2020 texi2dvi \n+0001aee0: 2020 2020 2020 20e2 8098 2e65 7073 e280 ....eps..\n+0001aef0: 9920 2020 2020 5465 5820 7479 7065 7365 . TeX typese\n+0001af00: 7420 6f75 7470 7574 2e0a 6d61 6e75 616c t output..manual\n+0001af10: 2e70 7320 2020 2020 2020 2020 2020 2020 .ps \n+0001af20: 7465 7869 3264 7669 2c64 7669 7073 2020 texi2dvi,dvips \n+0001af30: 20e2 8098 2e65 7073 e280 9920 2020 2020 ....eps... \n+0001af40: 506f 7374 7363 7269 7074 2e0a 6d61 6e75 Postscript..manu\n+0001af50: 616c 2e70 6466 2020 2020 2020 2020 2020 al.pdf \n+0001af60: 2020 7465 7869 3264 7669 2020 2020 2020 texi2dvi \n+0001af70: 2020 20e2 8098 2e70 6466 e280 9920 2020 ....pdf... \n+0001af80: 2020 4164 6f62 6520 5044 462e 0a6d 616e Adobe PDF..man\n+0001af90: 7561 6c2e 6874 6d6c 2020 2020 2020 2020 ual.html \n+0001afa0: 2020 206d 616b 6569 6e66 6f20 2020 2020 makeinfo \n+0001afb0: 2020 2020 e280 982e 706e 67e2 8099 2020 ....png... \n+0001afc0: 2020 2041 2073 696e 676c 6520 7765 6220 A single web \n+0001afd0: 7061 6765 2e0a 6d61 6e75 616c 2f69 6e64 page..manual/ind\n+0001afe0: 6578 2e68 746d 6c20 2020 2020 6d61 6b65 ex.html make\n+0001aff0: 696e 666f 2020 2020 2020 2020 20e2 8098 info ...\n+0001b000: 2e70 6e67 e280 9920 2020 2020 4c69 6e6b .png... Link\n+0001b010: 6564 2077 6562 2070 6167 6573 2c20 6f6e ed web pages, on\n+0001b020: 6520 7065 7220 6e6f 6465 2e0a 2020 2041 e per node.. A\n+0001b030: 6c6c 2074 6865 2072 6571 7569 7265 6420 ll the required \n+0001b040: 746f 6f6c 7320 6172 6520 696e 636c 7564 tools are includ\n+0001b050: 6564 2069 6e20 7468 6520 7374 616e 6461 ed in the standa\n+0001b060: 7264 20e2 8098 5465 5820 4c69 7665 e280 rd ...TeX Live..\n+0001b070: 990a 6469 7374 7269 6275 7469 6f6e 2065 ..distribution e\n+0001b080: 7863 6570 7420 7468 6174 2061 6e20 6164 xcept that an ad\n+0001b090: 6469 7469 6f6e 616c 206f 7065 6e20 736f ditional open so\n+0001b0a0: 7572 6365 2070 726f 6772 616d 20e2 8098 urce program ...\n+0001b0b0: 6570 7374 6f6f 6ce2 8099 2069 730a 6e65 epstool... is.ne\n+0001b0c0: 6564 6564 2074 6f20 7265 6669 6e65 2074 eded to refine t\n+0001b0d0: 6865 2045 6e63 6170 7375 6c61 7465 6420 he Encapsulated \n+0001b0e0: 506f 7374 7363 7269 7074 2062 6f75 6e64 Postscript bound\n+0001b0f0: 696e 6720 626f 7865 7320 6f66 0ae2 8098 ing boxes of....\n+0001b100: 736b 6574 6368 e280 992d 6765 6e65 7261 sketch...-genera\n+0001b110: 7465 6420 6669 6775 7265 7320 696e 2074 ted figures in t\n+0001b120: 6865 206d 616e 7561 6c2e 2020 5468 6973 he manual. This\n+0001b130: 2074 6f6f 6c20 6973 2061 7661 696c 6162 tool is availab\n+0001b140: 6c65 2069 6e0a 6269 6e61 7279 2066 6f72 le in.binary for\n+0001b150: 6d20 666f 7220 5769 6e64 6f77 732c 2061 m for Windows, a\n+0001b160: 6e64 2069 7420 6275 696c 6473 2065 6173 nd it builds eas\n+0001b170: 696c 7920 7769 7468 2061 2073 696d 706c ily with a simpl\n+0001b180: 6520 e280 986d 616b 65e2 8099 2075 6e64 e ...make... und\n+0001b190: 6572 0a6c 696e 7578 206f 7220 4379 6777 er.linux or Cygw\n+0001b1a0: 696e 2069 6e73 7461 6c6c 6174 696f 6e73 in installations\n+0001b1b0: 2074 6861 7420 6861 7665 2064 6576 656c that have devel\n+0001b1c0: 6f70 6d65 6e74 2074 6f6f 6c73 2069 6e73 opment tools ins\n+0001b1d0: 7461 6c6c 6564 206f 720a 756e 6465 7220 talled or.under \n+0001b1e0: e280 984d 6163 204f 5320 58e2 8099 2077 ...Mac OS X... w\n+0001b1f0: 6974 6820 e280 9858 436f 6465 e280 9920 ith ...XCode... \n+0001b200: 696e 7374 616c 6c65 642e 0a0a 1f0a 4669 installed.....Fi\n+0001b210: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+0001b220: 2020 4e6f 6465 3a20 496e 6465 7820 6f66 Node: Index of\n+0001b230: 2073 796e 7461 782c 2020 4e65 7874 3a20 syntax, Next: \n+0001b240: 496e 6465 782c 2020 5072 6576 3a20 496e Index, Prev: In\n+0001b250: 7374 616c 6c69 6e67 2073 6b65 7463 682c stalling sketch,\n+0001b260: 2020 5570 3a20 546f 700a 0a49 6e64 6578 Up: Top..Index\n+0001b270: 206f 6620 7379 6e74 6178 0a2a 2a2a 2a2a of syntax.*****\n+0001b280: 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 0008 5b69 **********....[i\n+0001b290: 6e64 6578 0008 5d0a 2a20 4d65 6e75 3a0a ndex..].* Menu:.\n+0001b2a0: 0a2a 202d 2c20 6d69 6e75 7320 6f70 6572 .* -, minus oper\n+0001b2b0: 6174 6f72 3a20 2020 2020 2020 2020 2020 ator: \n+0001b2c0: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op\n+0001b2d0: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n+0001b2e0: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. \n 0001b2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b300: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b320: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0001b330: 2031 3529 0a2a 202d 2c20 756e 6172 7920 15).* -, unary \n-0001b340: 6d69 6e75 7320 6f70 6572 6174 6f72 3a20 minus operator: \n-0001b350: 2020 2020 2020 2020 2020 2020 2020 556e Un\n-0001b360: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. \n-0001b370: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n-0001b380: 2e2c 2064 6f74 206f 7065 7261 746f 723a ., dot operator:\n+0001b320: 2020 2020 2028 6c69 6e65 2031 3529 0a2a (line 15).*\n+0001b330: 202d 2c20 756e 6172 7920 6d69 6e75 7320 -, unary minus \n+0001b340: 6f70 6572 6174 6f72 3a20 2020 2020 2020 operator: \n+0001b350: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo\n+0001b360: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l\n+0001b370: 696e 6520 3130 290a 2a20 2e2c 2064 6f74 ine 10).* ., dot\n+0001b380: 206f 7065 7261 746f 723a 2020 2020 2020 operator: \n 0001b390: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b3a0: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera\n-0001b3b0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n-0001b3c0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+0001b3a0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi\n+0001b3b0: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) forms.. \n+0001b3c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b3d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b3e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b400: 2020 286c 696e 6520 3139 290a 2a20 2e2c (line 19).* .,\n-0001b410: 2064 6f74 206f 7065 7261 746f 7220 3c31 dot operator <1\n-0001b420: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001b430: 2020 2020 2054 776f 2d6f 7065 7261 6e64 Two-operand\n-0001b440: 2028 6269 6e61 7279 2920 666f 726d 732e (binary) forms.\n-0001b450: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0001b3f0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001b400: 6520 3139 290a 2a20 2e2c 2064 6f74 206f e 19).* ., dot o\n+0001b410: 7065 7261 746f 7220 3c31 3e3a 2020 2020 perator <1>: \n+0001b420: 2020 2020 2020 2020 2020 2020 2020 2054 T\n+0001b430: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina\n+0001b440: 7279 2920 666f 726d 732e 0a20 2020 2020 ry) forms.. \n+0001b450: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b460: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b490: 286c 696e 6520 3631 290a 2a20 2778 2c20 (line 61).* 'x, \n-0001b4a0: 2779 2c20 616e 6420 277a 3a20 2020 2020 'y, and 'z: \n-0001b4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b4c0: 2020 2041 6666 696e 6520 6172 6974 686d Affine arithm\n-0001b4d0: 6574 6963 2e20 2020 2028 6c69 6e65 2033 etic. (line 3\n-0001b4e0: 3729 0a2a 2027 782c 2027 792c 2061 6e64 7).* 'x, 'y, and\n-0001b4f0: 2027 7a20 3c31 3e3a 2020 2020 2020 2020 'z <1>: \n-0001b500: 2020 2020 2020 2020 2020 2020 5477 6f2d Two-\n-0001b510: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary)\n-0001b520: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. \n+0001b480: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0001b490: 3631 290a 2a20 2778 2c20 2779 2c20 616e 61).* 'x, 'y, an\n+0001b4a0: 6420 277a 3a20 2020 2020 2020 2020 2020 d 'z: \n+0001b4b0: 2020 2020 2020 2020 2020 2020 2041 6666 Aff\n+0001b4c0: 696e 6520 6172 6974 686d 6574 6963 2e20 ine arithmetic. \n+0001b4d0: 2020 2028 6c69 6e65 2033 3729 0a2a 2027 (line 37).* '\n+0001b4e0: 782c 2027 792c 2061 6e64 2027 7a20 3c31 x, 'y, and 'z <1\n+0001b4f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001b500: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan\n+0001b510: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms\n+0001b520: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 0001b530: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b540: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b560: 2020 2020 2020 2028 6c69 6e65 2034 3129 (line 41)\n-0001b570: 0a2a 2028 2029 2c20 6772 6f75 7069 6e67 .* ( ), grouping\n-0001b580: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001b590: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op\n-0001b5a0: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n-0001b5b0: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. \n+0001b560: 2028 6c69 6e65 2034 3129 0a2a 2028 2029 (line 41).* ( )\n+0001b570: 2c20 6772 6f75 7069 6e67 3a20 2020 2020 , grouping: \n+0001b580: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b590: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand \n+0001b5a0: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms..\n+0001b5b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b5c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b5e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b5f0: 2020 2020 2028 6c69 6e65 2035 3829 0a2a (line 58).*\n-0001b600: 2028 666f 6f29 2c20 706f 696e 7420 7265 (foo), point re\n-0001b610: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: \n-0001b620: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n-0001b630: 6120 736f 6c69 642e 2020 2020 2020 286c a solid. (l\n-0001b640: 696e 6520 3234 290a 2a20 2866 6f6f 292c ine 24).* (foo),\n-0001b650: 2070 6f69 6e74 2072 6566 6572 656e 6365 point reference\n-0001b660: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-0001b670: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere\n-0001b680: 6e63 6573 2e20 2028 6c69 6e65 2031 3429 nces. (line 14)\n-0001b690: 0a2a 205b 5b20 5d5b 205d 5b20 5d5b 205d .* [[ ][ ][ ][ ]\n-0001b6a0: 5d2c 2074 7261 6e73 666f 726d 206c 6974 ], transform lit\n-0001b6b0: 6572 616c 3a20 2020 2020 5472 616e 7366 eral: Transf\n-0001b6c0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2020 orm literals. \n-0001b6d0: 286c 696e 6520 3437 290a 2a20 5b5b 205d (line 47).* [[ ]\n-0001b6e0: 5b20 5d5b 205d 5b20 5d5d 2c20 7472 616e [ ][ ][ ]], tran\n-0001b6f0: 7366 6f72 6d20 6c69 7465 7261 6c20 3c31 sform literal <1\n-0001b700: 3e3a 2054 7261 6e73 666f 726d 206c 6974 >: Transform lit\n-0001b710: 6572 616c 732e 2020 2028 6c69 6e65 2035 erals. (line 5\n-0001b720: 3329 0a2a 205b 5b66 6f6f 5d5d 2c20 7472 3).* [[foo]], tr\n-0001b730: 616e 7366 6f72 6d20 7265 6665 7265 6e63 ansform referenc\n-0001b740: 653a 2020 2020 2020 2020 2020 466f 726d e: Form\n-0001b750: 7320 6f66 2072 6566 6572 656e 6365 732e s of references.\n-0001b760: 2020 286c 696e 6520 3136 290a 2a20 5b5b (line 16).* [[\n-0001b770: 666f 6f5d 5d2c 2074 7261 6e73 666f 726d foo]], transform\n-0001b780: 2072 6566 6572 656e 6365 203c 313e 3a20 reference <1>: \n-0001b790: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n-0001b7a0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0001b7b0: 2033 3529 0a2a 205b 5b66 6f6f 5d5d 2c20 35).* [[foo]], \n-0001b7c0: 7472 616e 7366 6f72 6d20 7265 6665 7265 transform refere\n-0001b7d0: 6e63 6520 3c32 3e3a 2020 2020 2020 4f76 nce <2>: Ov\n-0001b7e0: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. \n-0001b7f0: 2020 2020 286c 696e 6520 3335 290a 2a20 (line 35).* \n-0001b800: 5b66 6f6f 2c2e 2e2e 2c62 6172 5d2c 206d [foo,...,bar], m\n-0001b810: 756c 7469 706c 6520 6f70 7469 6f6e 7320 ultiple options \n-0001b820: 7265 6665 7265 6e63 653a 2046 6f72 6d73 reference: Forms\n-0001b830: 206f 6620 7265 6665 7265 6e63 6573 2e0a of references..\n+0001b5e0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0001b5f0: 6c69 6e65 2035 3829 0a2a 2028 666f 6f29 line 58).* (foo)\n+0001b600: 2c20 706f 696e 7420 7265 6665 7265 6e63 , point referenc\n+0001b610: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+0001b620: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli\n+0001b630: 642e 2020 2020 2020 286c 696e 6520 3234 d. (line 24\n+0001b640: 290a 2a20 2866 6f6f 292c 2070 6f69 6e74 ).* (foo), point\n+0001b650: 2072 6566 6572 656e 6365 203c 313e 3a20 reference <1>: \n+0001b660: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms\n+0001b670: 206f 6620 7265 6665 7265 6e63 6573 2e20 of references. \n+0001b680: 2028 6c69 6e65 2031 3429 0a2a 205b 5b20 (line 14).* [[ \n+0001b690: 5d5b 205d 5b20 5d5b 205d 5d2c 2074 7261 ][ ][ ][ ]], tra\n+0001b6a0: 6e73 666f 726d 206c 6974 6572 616c 3a20 nsform literal: \n+0001b6b0: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n+0001b6c0: 7465 7261 6c73 2e20 2020 286c 696e 6520 terals. (line \n+0001b6d0: 3437 290a 2a20 5b5b 205d 5b20 5d5b 205d 47).* [[ ][ ][ ]\n+0001b6e0: 5b20 5d5d 2c20 7472 616e 7366 6f72 6d20 [ ]], transform \n+0001b6f0: 6c69 7465 7261 6c20 3c31 3e3a 2054 7261 literal <1>: Tra\n+0001b700: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n+0001b710: 2020 2028 6c69 6e65 2035 3329 0a2a 205b (line 53).* [\n+0001b720: 5b66 6f6f 5d5d 2c20 7472 616e 7366 6f72 [foo]], transfor\n+0001b730: 6d20 7265 6665 7265 6e63 653a 2020 2020 m reference: \n+0001b740: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r\n+0001b750: 6566 6572 656e 6365 732e 2020 286c 696e eferences. (lin\n+0001b760: 6520 3136 290a 2a20 5b5b 666f 6f5d 5d2c e 16).* [[foo]],\n+0001b770: 2074 7261 6e73 666f 726d 2072 6566 6572 transform refer\n+0001b780: 656e 6365 203c 313e 3a20 2020 2020 204f ence <1>: O\n+0001b790: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n+0001b7a0: 2020 2020 2028 6c69 6e65 2033 3529 0a2a (line 35).*\n+0001b7b0: 205b 5b66 6f6f 5d5d 2c20 7472 616e 7366 [[foo]], transf\n+0001b7c0: 6f72 6d20 7265 6665 7265 6e63 6520 3c32 orm reference <2\n+0001b7d0: 3e3a 2020 2020 2020 4f76 6572 7669 6577 >: Overview\n+0001b7e0: 2e20 2020 2020 2020 2020 2020 2020 286c . (l\n+0001b7f0: 696e 6520 3335 290a 2a20 5b66 6f6f 2c2e ine 35).* [foo,.\n+0001b800: 2e2e 2c62 6172 5d2c 206d 756c 7469 706c ..,bar], multipl\n+0001b810: 6520 6f70 7469 6f6e 7320 7265 6665 7265 e options refere\n+0001b820: 6e63 653a 2046 6f72 6d73 206f 6620 7265 nce: Forms of re\n+0001b830: 6665 7265 6e63 6573 2e0a 2020 2020 2020 ferences.. \n 0001b840: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b850: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b870: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0001b880: 6c69 6e65 2031 3829 0a2a 205b 666f 6f5d line 18).* [foo]\n-0001b890: 2c20 6f70 7469 6f6e 7320 7265 6665 7265 , options refere\n-0001b8a0: 6e63 653a 2020 2020 2020 2020 2020 2020 nce: \n-0001b8b0: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n-0001b8c0: 7320 7769 7468 2063 6c6f 7375 7265 2e0a s with closure..\n+0001b870: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n+0001b880: 3829 0a2a 205b 666f 6f5d 2c20 6f70 7469 8).* [foo], opti\n+0001b890: 6f6e 7320 7265 6665 7265 6e63 653a 2020 ons reference: \n+0001b8a0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n+0001b8b0: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with\n+0001b8c0: 2063 6c6f 7375 7265 2e0a 2020 2020 2020 closure.. \n 0001b8d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b8e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001b8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b900: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-0001b910: 6c69 6e65 2032 3429 0a2a 205b 666f 6f5d line 24).* [foo]\n-0001b920: 2c20 6f70 7469 6f6e 7320 7265 6665 7265 , options refere\n-0001b930: 6e63 6520 3c31 3e3a 2020 2020 2020 2020 nce <1>: \n-0001b940: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer\n-0001b950: 656e 6365 732e 2020 286c 696e 6520 3138 ences. (line 18\n-0001b960: 290a 2a20 5b66 6f6f 5d2c 2076 6563 746f ).* [foo], vecto\n-0001b970: 7220 7265 6665 7265 6e63 653a 2020 2020 r reference: \n-0001b980: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl\n-0001b990: 696e 6520 7377 6565 7073 2e20 2020 2020 ine sweeps. \n-0001b9a0: 2028 6c69 6e65 2032 3029 0a2a 205b 666f (line 20).* [fo\n-0001b9b0: 6f5d 2c20 7665 6374 6f72 2072 6566 6572 o], vector refer\n-0001b9c0: 656e 6365 203c 313e 3a20 2020 2020 2020 ence <1>: \n-0001b9d0: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref\n-0001b9e0: 6572 656e 6365 732e 2020 286c 696e 6520 erences. (line \n-0001b9f0: 3135 290a 2a20 7b20 7d2c 2062 6c6f 636b 15).* { }, block\n-0001ba00: 2064 7261 7761 626c 653a 2020 2020 2020 drawable: \n-0001ba10: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n-0001ba20: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n-0001ba30: 2020 2028 6c69 6e65 2032 3429 0a2a 207b (line 24).* {\n-0001ba40: 207d 2c20 626c 6f63 6b20 6472 6177 6162 }, block drawab\n-0001ba50: 6c65 203c 313e 3a20 2020 2020 2020 2020 le <1>: \n-0001ba60: 2020 2020 2020 4e65 7374 6564 2073 7765 Nested swe\n-0001ba70: 6570 732e 2020 2020 2020 2020 286c 696e eps. (lin\n-0001ba80: 6520 3235 290a 2a20 7b20 7d2c 2062 6c6f e 25).* { }, blo\n-0001ba90: 636b 2064 7261 7761 626c 6520 3c32 3e3a ck drawable <2>:\n-0001baa0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0001bab0: 7765 7074 2062 6c6f 636b 732e 2020 2020 wept blocks. \n-0001bac0: 2020 2020 2028 6c69 6e65 2020 3729 0a2a (line 7).*\n-0001bad0: 207b 207d 2c20 626c 6f63 6b20 6472 6177 { }, block draw\n-0001bae0: 6162 6c65 203c 333e 3a20 2020 2020 2020 able <3>: \n-0001baf0: 2020 2020 2020 2020 426c 6f63 6b73 2e20 Blocks. \n-0001bb00: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0001bb10: 696e 6520 2036 290a 2a20 7b20 7d2c 2062 ine 6).* { }, b\n-0001bb20: 6c6f 636b 2064 7261 7761 626c 6520 3c34 lock drawable <4\n-0001bb30: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001bb40: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. \n-0001bb50: 2020 2020 2020 2028 6c69 6e65 2033 3729 (line 37)\n-0001bb60: 0a2a 207b 666f 6f7d 2c20 6472 6177 6162 .* {foo}, drawab\n-0001bb70: 6c65 2072 6566 6572 656e 6365 3a20 2020 le reference: \n-0001bb80: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object\n-0001bb90: 2074 7261 6e73 666f 726d 732e 2020 2020 transforms. \n-0001bba0: 286c 696e 6520 3333 290a 2a20 7b66 6f6f (line 33).* {foo\n-0001bbb0: 7d2c 2064 7261 7761 626c 6520 7265 6665 }, drawable refe\n-0001bbc0: 7265 6e63 6520 3c31 3e3a 2020 2020 2020 rence <1>: \n-0001bbd0: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe\n-0001bbe0: 7265 6e63 6573 2e20 2028 6c69 6e65 2031 rences. (line 1\n-0001bbf0: 3729 0a2a 207b 666f 6f7d 2c20 6472 6177 7).* {foo}, draw\n-0001bc00: 6162 6c65 2072 6566 6572 656e 6365 203c able reference <\n-0001bc10: 323e 3a20 2020 2020 2020 2020 4f76 6572 2>: Over\n-0001bc20: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n-0001bc30: 2020 286c 696e 6520 3437 290a 2a20 7b66 (line 47).* {f\n-0001bc40: 6f6f 7d2c 2064 7261 7761 626c 6520 7265 oo}, drawable re\n-0001bc50: 6665 7265 6e63 6520 3c33 3e3a 2020 2020 ference <3>: \n-0001bc60: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n-0001bc70: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0001bc80: 2035 3729 0a2a 202a 2c20 6d75 6c74 6970 57).* *, multip\n-0001bc90: 6c69 6361 7469 6f6e 206f 7065 7261 746f lication operato\n-0001bca0: 723a 2020 2020 2020 2020 2020 2020 5477 r: Tw\n-0001bcb0: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar\n-0001bcc0: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. \n+0001b900: 2020 2020 2020 2020 2028 6c69 6e65 2032 (line 2\n+0001b910: 3429 0a2a 205b 666f 6f5d 2c20 6f70 7469 4).* [foo], opti\n+0001b920: 6f6e 7320 7265 6665 7265 6e63 6520 3c31 ons reference <1\n+0001b930: 3e3a 2020 2020 2020 2020 2020 466f 726d >: Form\n+0001b940: 7320 6f66 2072 6566 6572 656e 6365 732e s of references.\n+0001b950: 2020 286c 696e 6520 3138 290a 2a20 5b66 (line 18).* [f\n+0001b960: 6f6f 5d2c 2076 6563 746f 7220 7265 6665 oo], vector refe\n+0001b970: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: \n+0001b980: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw\n+0001b990: 6565 7073 2e20 2020 2020 2028 6c69 6e65 eeps. (line\n+0001b9a0: 2032 3029 0a2a 205b 666f 6f5d 2c20 7665 20).* [foo], ve\n+0001b9b0: 6374 6f72 2072 6566 6572 656e 6365 203c ctor reference <\n+0001b9c0: 313e 3a20 2020 2020 2020 2020 2020 466f 1>: Fo\n+0001b9d0: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference\n+0001b9e0: 732e 2020 286c 696e 6520 3135 290a 2a20 s. (line 15).* \n+0001b9f0: 7b20 7d2c 2062 6c6f 636b 2064 7261 7761 { }, block drawa\n+0001ba00: 626c 653a 2020 2020 2020 2020 2020 2020 ble: \n+0001ba10: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n+0001ba20: 616e 7366 6f72 6d73 2e20 2020 2028 6c69 ansforms. (li\n+0001ba30: 6e65 2032 3429 0a2a 207b 207d 2c20 626c ne 24).* { }, bl\n+0001ba40: 6f63 6b20 6472 6177 6162 6c65 203c 313e ock drawable <1>\n+0001ba50: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001ba60: 4e65 7374 6564 2073 7765 6570 732e 2020 Nested sweeps. \n+0001ba70: 2020 2020 2020 286c 696e 6520 3235 290a (line 25).\n+0001ba80: 2a20 7b20 7d2c 2062 6c6f 636b 2064 7261 * { }, block dra\n+0001ba90: 7761 626c 6520 3c32 3e3a 2020 2020 2020 wable <2>: \n+0001baa0: 2020 2020 2020 2020 2053 7765 7074 2062 Swept b\n+0001bab0: 6c6f 636b 732e 2020 2020 2020 2020 2028 locks. (\n+0001bac0: 6c69 6e65 2020 3729 0a2a 207b 207d 2c20 line 7).* { }, \n+0001bad0: 626c 6f63 6b20 6472 6177 6162 6c65 203c block drawable <\n+0001bae0: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: \n+0001baf0: 2020 426c 6f63 6b73 2e20 2020 2020 2020 Blocks. \n+0001bb00: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+0001bb10: 290a 2a20 7b20 7d2c 2062 6c6f 636b 2064 ).* { }, block d\n+0001bb20: 7261 7761 626c 6520 3c34 3e3a 2020 2020 rawable <4>: \n+0001bb30: 2020 2020 2020 2020 2020 204f 7665 7276 Overv\n+0001bb40: 6965 772e 2020 2020 2020 2020 2020 2020 iew. \n+0001bb50: 2028 6c69 6e65 2033 3729 0a2a 207b 666f (line 37).* {fo\n+0001bb60: 6f7d 2c20 6472 6177 6162 6c65 2072 6566 o}, drawable ref\n+0001bb70: 6572 656e 6365 3a20 2020 2020 2020 2020 erence: \n+0001bb80: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n+0001bb90: 666f 726d 732e 2020 2020 286c 696e 6520 forms. (line \n+0001bba0: 3333 290a 2a20 7b66 6f6f 7d2c 2064 7261 33).* {foo}, dra\n+0001bbb0: 7761 626c 6520 7265 6665 7265 6e63 6520 wable reference \n+0001bbc0: 3c31 3e3a 2020 2020 2020 2020 2046 6f72 <1>: For\n+0001bbd0: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n+0001bbe0: 2e20 2028 6c69 6e65 2031 3729 0a2a 207b . (line 17).* {\n+0001bbf0: 666f 6f7d 2c20 6472 6177 6162 6c65 2072 foo}, drawable r\n+0001bc00: 6566 6572 656e 6365 203c 323e 3a20 2020 eference <2>: \n+0001bc10: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n+0001bc20: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001bc30: 6520 3437 290a 2a20 7b66 6f6f 7d2c 2064 e 47).* {foo}, d\n+0001bc40: 7261 7761 626c 6520 7265 6665 7265 6e63 rawable referenc\n+0001bc50: 6520 3c33 3e3a 2020 2020 2020 2020 204f e <3>: O\n+0001bc60: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n+0001bc70: 2020 2020 2028 6c69 6e65 2035 3729 0a2a (line 57).*\n+0001bc80: 202a 2c20 6d75 6c74 6970 6c69 6361 7469 *, multiplicati\n+0001bc90: 6f6e 206f 7065 7261 746f 723a 2020 2020 on operator: \n+0001bca0: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper\n+0001bcb0: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for\n+0001bcc0: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. \n 0001bcd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001bce0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001bcf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001bd00: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-0001bd10: 3929 0a2a 202a 2c20 6d75 6c74 6970 6c69 9).* *, multipli\n-0001bd20: 6361 7469 6f6e 206f 7065 7261 746f 7220 cation operator \n-0001bd30: 3c31 3e3a 2020 2020 2020 2020 5477 6f2d <1>: Two-\n-0001bd40: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary)\n-0001bd50: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. \n+0001bd00: 2020 2028 6c69 6e65 2031 3929 0a2a 202a (line 19).* *\n+0001bd10: 2c20 6d75 6c74 6970 6c69 6361 7469 6f6e , multiplication\n+0001bd20: 206f 7065 7261 746f 7220 3c31 3e3a 2020 operator <1>: \n+0001bd30: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan\n+0001bd40: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms\n+0001bd50: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 0001bd60: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001bd70: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001bd80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001bd90: 2020 2020 2020 2028 6c69 6e65 2036 3829 (line 68)\n-0001bda0: 0a2a 202f 2c20 6469 7669 7369 6f6e 206f .* /, division o\n-0001bdb0: 7065 7261 746f 723a 2020 2020 2020 2020 perator: \n-0001bdc0: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op\n-0001bdd0: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n-0001bde0: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. \n+0001bd90: 2028 6c69 6e65 2036 3829 0a2a 202f 2c20 (line 68).* /, \n+0001bda0: 6469 7669 7369 6f6e 206f 7065 7261 746f division operato\n+0001bdb0: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n+0001bdc0: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand \n+0001bdd0: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms..\n+0001bde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001bdf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001be00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001be10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001be20: 2020 2020 2028 6c69 6e65 2033 3829 0a2a (line 38).*\n-0001be30: 205e 2c20 6578 706f 6e65 6e74 6961 7469 ^, exponentiati\n-0001be40: 6f6e 206f 7065 7261 746f 723a 2020 2020 on operator: \n-0001be50: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper\n-0001be60: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for\n-0001be70: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. \n+0001be10: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0001be20: 6c69 6e65 2033 3829 0a2a 205e 2c20 6578 line 38).* ^, ex\n+0001be30: 706f 6e65 6e74 6961 7469 6f6e 206f 7065 ponentiation ope\n+0001be40: 7261 746f 723a 2020 2020 2020 2020 2020 rator: \n+0001be50: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b\n+0001be60: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. \n+0001be70: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001be80: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001be90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001bea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001beb0: 2020 2028 6c69 6e65 2032 3729 0a2a 202b (line 27).* +\n-0001bec0: 2c20 706c 7573 206f 7065 7261 746f 723a , plus operator:\n+0001bea0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001beb0: 6e65 2032 3729 0a2a 202b 2c20 706c 7573 ne 27).* +, plus\n+0001bec0: 206f 7065 7261 746f 723a 2020 2020 2020 operator: \n 0001bed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001bee0: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan\n-0001bef0: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms\n-0001bf00: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0001bee0: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin\n+0001bef0: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. \n+0001bf00: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001bf10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001bf20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001bf30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001bf40: 2028 6c69 6e65 2031 3129 0a2a 203c 3e2c (line 11).* <>,\n-0001bf50: 2063 6c6f 7375 7265 2074 6167 3a20 2020 closure tag: \n-0001bf60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001bf70: 2020 2020 506f 696e 7420 7377 6565 7073 Point sweeps\n-0001bf80: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n-0001bf90: 3138 290a 2a20 3c3e 2c20 636c 6f73 7572 18).* <>, closur\n-0001bfa0: 6520 7461 6720 3c31 3e3a 2020 2020 2020 e tag <1>: \n-0001bfb0: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol\n-0001bfc0: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit\n-0001bfd0: 6820 636c 6f73 7572 652e 0a20 2020 2020 h closure.. \n+0001bf30: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001bf40: 2031 3129 0a2a 203c 3e2c 2063 6c6f 7375 11).* <>, closu\n+0001bf50: 7265 2074 6167 3a20 2020 2020 2020 2020 re tag: \n+0001bf60: 2020 2020 2020 2020 2020 2020 2020 506f Po\n+0001bf70: 696e 7420 7377 6565 7073 2e20 2020 2020 int sweeps. \n+0001bf80: 2020 2020 286c 696e 6520 3138 290a 2a20 (line 18).* \n+0001bf90: 3c3e 2c20 636c 6f73 7572 6520 7461 6720 <>, closure tag \n+0001bfa0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+0001bfb0: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n+0001bfc0: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n+0001bfd0: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. \n 0001bfe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001bff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001c000: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c010: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001c020: 2036 290a 2a20 3c3e 2c20 636c 6f73 7572 6).* <>, closur\n-0001c030: 6520 7461 6720 3c32 3e3a 2020 2020 2020 e tag <2>: \n-0001c040: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-0001c050: 6570 732e 2020 2020 2020 2020 2020 2020 eps. \n-0001c060: 2020 2028 6c69 6e65 2031 3929 0a2a 203c (line 19).* <\n-0001c070: 3e2c 2063 6c6f 7375 7265 2074 6167 203c >, closure tag <\n-0001c080: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: \n-0001c090: 2020 2020 2020 5377 6570 7420 706f 696e Swept poin\n-0001c0a0: 7473 2e20 2020 2020 2020 2020 286c 696e ts. (lin\n-0001c0b0: 6520 2036 290a 2a20 3c3e 2c20 636c 6f73 e 6).* <>, clos\n-0001c0c0: 7572 6520 7461 6720 3c34 3e3a 2020 2020 ure tag <4>: \n-0001c0d0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0001c0e0: 7765 7074 2070 6f69 6e74 732e 2020 2020 wept points. \n-0001c0f0: 2020 2020 2028 6c69 6e65 2031 3329 0a2a (line 13).*\n-0001c100: 203c 3e2c 2063 6c6f 7375 7265 2074 6167 <>, closure tag\n-0001c110: 203c 353e 3a20 2020 2020 2020 2020 2020 <5>: \n-0001c120: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li\n-0001c130: 6e65 732e 2020 2020 2020 2020 2020 286c nes. (l\n-0001c140: 696e 6520 2036 290a 2a20 3c3e 2c20 636c ine 6).* <>, cl\n-0001c150: 6f73 7572 6520 7461 6720 3c36 3e3a 2020 osure tag <6>: \n-0001c160: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c170: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. \n-0001c180: 2020 2020 2020 2028 6c69 6e65 2032 3829 (line 28)\n-0001c190: 0a2a 203c 3e2c 2063 6c6f 7375 7265 2074 .* <>, closure t\n-0001c1a0: 6167 203c 373e 3a20 2020 2020 2020 2020 ag <7>: \n-0001c1b0: 2020 2020 2020 2020 2020 5377 6565 7020 Sweep \n-0001c1c0: 6661 6365 2073 706c 6974 7469 6e67 2e20 face splitting. \n-0001c1d0: 286c 696e 6520 3131 290a 2a20 3c66 6f6f (line 11).* , tag reference\n-0001c1f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001c200: 2020 2046 6f72 6d73 206f 6620 6465 6669 Forms of defi\n-0001c210: 6e69 7469 6f6e 732e 2028 6c69 6e65 2032 nitions. (line 2\n-0001c220: 3029 0a2a 203c 666f 6f3e 2c20 7461 6720 0).* , tag \n-0001c230: 7265 6665 7265 6e63 6520 3c31 3e3a 2020 reference <1>: \n-0001c240: 2020 2020 2020 2020 2020 2020 466f 726d Form\n-0001c250: 7320 6f66 2072 6566 6572 656e 6365 732e s of references.\n-0001c260: 2020 286c 696e 6520 3139 290a 2a20 7c58 (line 19).* |X\n-0001c270: 7c2c 206d 6167 6e69 7475 6465 206f 7065 |, magnitude ope\n-0001c280: 7261 746f 723a 2020 2020 2020 2020 2020 rator: \n-0001c290: 2020 2020 2055 6e61 7279 2066 6f72 6d73 Unary forms\n-0001c2a0: 2e20 2020 2020 2020 2020 2028 6c69 6e65 . (line\n-0001c2b0: 2031 3229 0a2a 2061 636f 733a 2020 2020 12).* acos: \n+0001c010: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0001c020: 3c3e 2c20 636c 6f73 7572 6520 7461 6720 <>, closure tag \n+0001c030: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n+0001c040: 2020 2020 2020 2053 7765 6570 732e 2020 Sweeps. \n+0001c050: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001c060: 6e65 2031 3929 0a2a 203c 3e2c 2063 6c6f ne 19).* <>, clo\n+0001c070: 7375 7265 2074 6167 203c 333e 3a20 2020 sure tag <3>: \n+0001c080: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c090: 5377 6570 7420 706f 696e 7473 2e20 2020 Swept points. \n+0001c0a0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0001c0b0: 2a20 3c3e 2c20 636c 6f73 7572 6520 7461 * <>, closure ta\n+0001c0c0: 6720 3c34 3e3a 2020 2020 2020 2020 2020 g <4>: \n+0001c0d0: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p\n+0001c0e0: 6f69 6e74 732e 2020 2020 2020 2020 2028 oints. (\n+0001c0f0: 6c69 6e65 2031 3329 0a2a 203c 3e2c 2063 line 13).* <>, c\n+0001c100: 6c6f 7375 7265 2074 6167 203c 353e 3a20 losure tag <5>: \n+0001c110: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c120: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. \n+0001c130: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+0001c140: 290a 2a20 3c3e 2c20 636c 6f73 7572 6520 ).* <>, closure \n+0001c150: 7461 6720 3c36 3e3a 2020 2020 2020 2020 tag <6>: \n+0001c160: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n+0001c170: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. \n+0001c180: 2028 6c69 6e65 2032 3829 0a2a 203c 3e2c (line 28).* <>,\n+0001c190: 2063 6c6f 7375 7265 2074 6167 203c 373e closure tag <7>\n+0001c1a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001c1b0: 2020 2020 5377 6565 7020 6661 6365 2073 Sweep face s\n+0001c1c0: 706c 6974 7469 6e67 2e20 286c 696e 6520 plitting. (line \n+0001c1d0: 3131 290a 2a20 3c66 6f6f 3e2c 2074 6167 11).* , tag\n+0001c1e0: 2072 6566 6572 656e 6365 3a20 2020 2020 reference: \n+0001c1f0: 2020 2020 2020 2020 2020 2020 2046 6f72 For\n+0001c200: 6d73 206f 6620 6465 6669 6e69 7469 6f6e ms of definition\n+0001c210: 732e 2028 6c69 6e65 2032 3029 0a2a 203c s. (line 20).* <\n+0001c220: 666f 6f3e 2c20 7461 6720 7265 6665 7265 foo>, tag refere\n+0001c230: 6e63 6520 3c31 3e3a 2020 2020 2020 2020 nce <1>: \n+0001c240: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r\n+0001c250: 6566 6572 656e 6365 732e 2020 286c 696e eferences. (lin\n+0001c260: 6520 3139 290a 2a20 7c58 7c2c 206d 6167 e 19).* |X|, mag\n+0001c270: 6e69 7475 6465 206f 7065 7261 746f 723a nitude operator:\n+0001c280: 2020 2020 2020 2020 2020 2020 2020 2055 U\n+0001c290: 6e61 7279 2066 6f72 6d73 2e20 2020 2020 nary forms. \n+0001c2a0: 2020 2020 2028 6c69 6e65 2031 3229 0a2a (line 12).*\n+0001c2b0: 2061 636f 733a 2020 2020 2020 2020 2020 acos: \n 0001c2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c2d0: 2020 2020 2020 2020 2020 2020 2020 556e Un\n-0001c2e0: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. \n-0001c2f0: 2020 2020 286c 696e 6520 3138 290a 2a20 (line 18).* \n-0001c300: 6172 726f 7773 3a20 2020 2020 2020 2020 arrows: \n+0001c2d0: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo\n+0001c2e0: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l\n+0001c2f0: 696e 6520 3138 290a 2a20 6172 726f 7773 ine 18).* arrows\n+0001c300: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n 0001c310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c320: 2020 2020 2020 2041 6666 696e 6520 6172 Affine ar\n-0001c330: 6974 686d 6574 6963 2e20 2020 2028 6c69 ithmetic. (li\n-0001c340: 6e65 2031 3129 0a2a 2061 7272 6f77 7320 ne 11).* arrows \n-0001c350: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-0001c360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c370: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti\n-0001c380: 632e 2020 2020 286c 696e 6520 3238 290a c. (line 28).\n-0001c390: 2a20 6172 726f 7773 203c 323e 3a20 2020 * arrows <2>: \n+0001c320: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet\n+0001c330: 6963 2e20 2020 2028 6c69 6e65 2031 3129 ic. (line 11)\n+0001c340: 0a2a 2061 7272 6f77 7320 3c31 3e3a 2020 .* arrows <1>: \n+0001c350: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c360: 2020 2020 2020 2020 2020 4166 6669 6e65 Affine\n+0001c370: 2061 7269 7468 6d65 7469 632e 2020 2020 arithmetic. \n+0001c380: 286c 696e 6520 3238 290a 2a20 6172 726f (line 28).* arro\n+0001c390: 7773 203c 323e 3a20 2020 2020 2020 2020 ws <2>: \n 0001c3a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c3b0: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n-0001c3c0: 772e 2020 2020 2020 2020 2020 2020 2028 w. (\n-0001c3d0: 6c69 6e65 2036 3929 0a2a 2061 7272 6f77 line 69).* arrow\n-0001c3e0: 7320 3c33 3e3a 2020 2020 2020 2020 2020 s <3>: \n-0001c3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c400: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr\n-0001c410: 6177 696e 672e 2020 286c 696e 6520 3236 awing. (line 26\n-0001c420: 290a 2a20 6172 726f 7773 203c 343e 3a20 ).* arrows <4>: \n+0001c3b0: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n+0001c3c0: 2020 2020 2020 2020 2028 6c69 6e65 2036 (line 6\n+0001c3d0: 3929 0a2a 2061 7272 6f77 7320 3c33 3e3a 9).* arrows <3>:\n+0001c3e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c3f0: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n+0001c400: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n+0001c410: 2020 286c 696e 6520 3236 290a 2a20 6172 (line 26).* ar\n+0001c420: 726f 7773 203c 343e 3a20 2020 2020 2020 rows <4>: \n 0001c430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c440: 2020 2020 2020 2020 2020 2041 2074 6563 A tec\n-0001c450: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. \n-0001c460: 2028 6c69 6e65 2036 3829 0a2a 2061 7369 (line 68).* asi\n-0001c470: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n-0001c480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c490: 2020 2020 556e 6172 7920 666f 726d 732e Unary forms.\n-0001c4a0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001c4b0: 3137 290a 2a20 6174 616e 323a 2020 2020 17).* atan2: \n+0001c440: 2020 2020 2041 2074 6563 686e 6963 616c A technical\n+0001c450: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line\n+0001c460: 2036 3829 0a2a 2061 7369 6e3a 2020 2020 68).* asin: \n+0001c470: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c480: 2020 2020 2020 2020 2020 2020 2020 556e Un\n+0001c490: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. \n+0001c4a0: 2020 2020 286c 696e 6520 3137 290a 2a20 (line 17).* \n+0001c4b0: 6174 616e 323a 2020 2020 2020 2020 2020 atan2: \n 0001c4c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c4d0: 2020 2020 2020 2020 2020 2020 2055 6e61 Una\n-0001c4e0: 7279 2066 6f72 6d73 2e20 2020 2020 2020 ry forms. \n-0001c4f0: 2020 2028 6c69 6e65 2031 3929 0a2a 2063 (line 19).* c\n-0001c500: 616d 6572 613a 2020 2020 2020 2020 2020 amera: \n+0001c4d0: 2020 2020 2020 2055 6e61 7279 2066 6f72 Unary for\n+0001c4e0: 6d73 2e20 2020 2020 2020 2020 2028 6c69 ms. (li\n+0001c4f0: 6e65 2031 3929 0a2a 2063 616d 6572 613a ne 19).* camera:\n+0001c500: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001c510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c520: 2020 2020 2020 4361 6d65 7261 2e20 2020 Camera. \n-0001c530: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0001c540: 6520 2036 290a 2a20 636f 6e74 6578 743a e 6).* context:\n+0001c520: 4361 6d65 7261 2e20 2020 2020 2020 2020 Camera. \n+0001c530: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0001c540: 2a20 636f 6e74 6578 743a 2020 2020 2020 * context: \n 0001c550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c560: 2020 2020 2020 2020 2020 2020 2020 204c L\n-0001c570: 616e 6775 6167 652e 2020 2020 2020 2020 anguage. \n-0001c580: 2020 2020 2028 6c69 6e65 2031 3729 0a2a (line 17).*\n-0001c590: 2063 6f73 3a20 2020 2020 2020 2020 2020 cos: \n+0001c560: 2020 2020 2020 2020 204c 616e 6775 6167 Languag\n+0001c570: 652e 2020 2020 2020 2020 2020 2020 2028 e. (\n+0001c580: 6c69 6e65 2031 3729 0a2a 2063 6f73 3a20 line 17).* cos: \n+0001c590: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001c5a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c5b0: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo\n-0001c5c0: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l\n-0001c5d0: 696e 6520 3136 290a 2a20 6375 6c6c 3a20 ine 16).* cull: \n+0001c5b0: 2020 556e 6172 7920 666f 726d 732e 2020 Unary forms. \n+0001c5c0: 2020 2020 2020 2020 286c 696e 6520 3136 (line 16\n+0001c5d0: 290a 2a20 6375 6c6c 3a20 2020 2020 2020 ).* cull: \n 0001c5e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c600: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid\n-0001c610: 2e20 2020 2020 2028 6c69 6e65 2034 3529 . (line 45)\n-0001c620: 0a2a 2063 756c 6c20 3c31 3e3a 2020 2020 .* cull <1>: \n+0001c5f0: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi\n+0001c600: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. \n+0001c610: 2028 6c69 6e65 2034 3529 0a2a 2063 756c (line 45).* cul\n+0001c620: 6c20 3c31 3e3a 2020 2020 2020 2020 2020 l <1>: \n 0001c630: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c640: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli\n-0001c650: 6e65 2073 7765 6570 732e 2020 2020 2020 ne sweeps. \n-0001c660: 286c 696e 6520 2039 290a 2a20 6375 6c6c (line 9).* cull\n-0001c670: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-0001c680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c690: 2020 2054 7261 6e73 7061 7265 6e63 792e Transparency.\n-0001c6a0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-0001c6b0: 3529 0a2a 2063 756c 6c20 3c33 3e3a 2020 5).* cull <3>: \n+0001c640: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n+0001c650: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line \n+0001c660: 2039 290a 2a20 6375 6c6c 203c 323e 3a20 9).* cull <2>: \n+0001c670: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c680: 2020 2020 2020 2020 2020 2020 2054 7261 Tra\n+0001c690: 6e73 7061 7265 6e63 792e 2020 2020 2020 nsparency. \n+0001c6a0: 2020 2028 6c69 6e65 2031 3529 0a2a 2063 (line 15).* c\n+0001c6b0: 756c 6c20 3c33 3e3a 2020 2020 2020 2020 ull <3>: \n 0001c6c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c6d0: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n-0001c6e0: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n-0001c6f0: 2020 286c 696e 6520 3230 290a 2a20 6375 (line 20).* cu\n-0001c700: 6c6c 203c 343e 3a20 2020 2020 2020 2020 ll <4>: \n-0001c710: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c720: 2020 2020 2049 6e74 6572 6e61 6c20 6f70 Internal op\n-0001c730: 7469 6f6e 732e 2020 2020 2028 6c69 6e65 tions. (line\n-0001c740: 2020 3729 0a2a 2063 756c 6c20 3c35 3e3a 7).* cull <5>:\n+0001c6d0: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica\n+0001c6e0: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin\n+0001c6f0: 6520 3230 290a 2a20 6375 6c6c 203c 343e e 20).* cull <4>\n+0001c700: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001c710: 2020 2020 2020 2020 2020 2020 2020 2049 I\n+0001c720: 6e74 6572 6e61 6c20 6f70 7469 6f6e 732e nternal options.\n+0001c730: 2020 2020 2028 6c69 6e65 2020 3729 0a2a (line 7).*\n+0001c740: 2063 756c 6c20 3c35 3e3a 2020 2020 2020 cull <5>: \n 0001c750: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c760: 2020 2020 2020 2020 2020 2020 2020 476c Gl\n-0001c770: 6f62 616c 206f 7074 696f 6e73 2e20 2020 obal options. \n-0001c780: 2020 2020 286c 696e 6520 3133 290a 2a20 (line 13).* \n-0001c790: 6375 7276 653a 2020 2020 2020 2020 2020 curve: \n+0001c760: 2020 2020 2020 2020 476c 6f62 616c 206f Global o\n+0001c770: 7074 696f 6e73 2e20 2020 2020 2020 286c ptions. (l\n+0001c780: 696e 6520 3133 290a 2a20 6375 7276 653a ine 13).* curve:\n+0001c790: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001c7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c7b0: 2020 2020 2020 2043 7572 7665 732e 2020 Curves. \n-0001c7c0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0001c7d0: 6e65 2020 3629 0a2a 2064 6566 3a20 2020 ne 6).* def: \n+0001c7b0: 2043 7572 7665 732e 2020 2020 2020 2020 Curves. \n+0001c7c0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+0001c7d0: 0a2a 2064 6566 3a20 2020 2020 2020 2020 .* def: \n 0001c7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c7f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c800: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid.\n-0001c810: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n-0001c820: 2a20 6465 6620 3c31 3e3a 2020 2020 2020 * def <1>: \n+0001c7f0: 2020 2020 2020 2020 2020 4472 6177 696e Drawin\n+0001c800: 6720 6120 736f 6c69 642e 2020 2020 2020 g a solid. \n+0001c810: 286c 696e 6520 2039 290a 2a20 6465 6620 (line 9).* def \n+0001c820: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n 0001c830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c840: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing\n-0001c850: 2061 2073 6f6c 6964 2e20 2020 2020 2028 a solid. (\n-0001c860: 6c69 6e65 2032 3229 0a2a 2064 6566 203c line 22).* def <\n-0001c870: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n-0001c880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c890: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n-0001c8a0: 726d 732e 2020 2020 286c 696e 6520 3130 rms. (line 10\n-0001c8b0: 290a 2a20 6465 6620 3c33 3e3a 2020 2020 ).* def <3>: \n+0001c840: 2020 2044 7261 7769 6e67 2061 2073 6f6c Drawing a sol\n+0001c850: 6964 2e20 2020 2020 2028 6c69 6e65 2032 id. (line 2\n+0001c860: 3229 0a2a 2064 6566 203c 323e 3a20 2020 2).* def <2>: \n+0001c870: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c880: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje\n+0001c890: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. \n+0001c8a0: 2020 286c 696e 6520 3130 290a 2a20 6465 (line 10).* de\n+0001c8b0: 6620 3c33 3e3a 2020 2020 2020 2020 2020 f <3>: \n 0001c8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c8d0: 2020 2020 2020 2020 2020 2050 6f69 6e74 Point\n-0001c8e0: 2073 7765 6570 732e 2020 2020 2020 2020 sweeps. \n-0001c8f0: 2028 6c69 6e65 2031 3929 0a2a 2064 6566 (line 19).* def\n-0001c900: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n-0001c910: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c920: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n-0001c930: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line \n-0001c940: 2039 290a 2a20 6465 6620 3c35 3e3a 2020 9).* def <5>: \n+0001c8d0: 2020 2020 2050 6f69 6e74 2073 7765 6570 Point sweep\n+0001c8e0: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line\n+0001c8f0: 2031 3929 0a2a 2064 6566 203c 343e 3a20 19).* def <4>: \n+0001c900: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c910: 2020 2020 2020 2020 2020 2020 2020 506f Po\n+0001c920: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. \n+0001c930: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n+0001c940: 6465 6620 3c35 3e3a 2020 2020 2020 2020 def <5>: \n 0001c950: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c960: 2020 2020 2020 2020 2020 2020 204e 6573 Nes\n-0001c970: 7465 6420 7377 6565 7073 2e20 2020 2020 ted sweeps. \n-0001c980: 2020 2028 6c69 6e65 2020 3829 0a2a 2064 (line 8).* d\n-0001c990: 6566 203c 363e 3a20 2020 2020 2020 2020 ef <6>: \n+0001c960: 2020 2020 2020 204e 6573 7465 6420 7377 Nested sw\n+0001c970: 6565 7073 2e20 2020 2020 2020 2028 6c69 eeps. (li\n+0001c980: 6e65 2020 3829 0a2a 2064 6566 203c 363e ne 8).* def <6>\n+0001c990: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n 0001c9a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c9b0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n-0001c9c0: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu\n-0001c9d0: 7265 2e0a 2020 2020 2020 2020 2020 2020 re.. \n+0001c9b0: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps \n+0001c9c0: 7769 7468 2063 6c6f 7375 7265 2e0a 2020 with closure.. \n+0001c9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001c9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001c9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ca00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ca10: 2020 2028 6c69 6e65 2031 3029 0a2a 2064 (line 10).* d\n-0001ca20: 6566 203c 373e 3a20 2020 2020 2020 2020 ef <7>: \n+0001ca00: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001ca10: 6e65 2031 3029 0a2a 2064 6566 203c 373e ne 10).* def <7>\n+0001ca20: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n 0001ca30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ca40: 2020 2020 2020 4166 6669 6e65 2061 7269 Affine ari\n-0001ca50: 7468 6d65 7469 632e 2020 2020 286c 696e thmetic. (lin\n-0001ca60: 6520 3131 290a 2a20 6465 6620 3c38 3e3a e 11).* def <8>:\n+0001ca40: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti\n+0001ca50: 632e 2020 2020 286c 696e 6520 3131 290a c. (line 11).\n+0001ca60: 2a20 6465 6620 3c38 3e3a 2020 2020 2020 * def <8>: \n 0001ca70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ca80: 2020 2020 2020 2020 2020 2020 2020 204f O\n-0001ca90: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n-0001caa0: 2020 2020 2028 6c69 6e65 2031 3229 0a2a (line 12).*\n-0001cab0: 2064 6566 203c 393e 3a20 2020 2020 2020 def <9>: \n+0001ca80: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n+0001ca90: 772e 2020 2020 2020 2020 2020 2020 2028 w. (\n+0001caa0: 6c69 6e65 2031 3229 0a2a 2064 6566 203c line 12).* def <\n+0001cab0: 393e 3a20 2020 2020 2020 2020 2020 2020 9>: \n 0001cac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cad0: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview\n-0001cae0: 2e20 2020 2020 2020 2020 2020 2020 286c . (l\n-0001caf0: 696e 6520 3337 290a 2a20 6465 6620 3c31 ine 37).* def <1\n-0001cb00: 303e 3a20 2020 2020 2020 2020 2020 2020 0>: \n-0001cb10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cb20: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. \n-0001cb30: 2020 2020 2020 2028 6c69 6e65 2036 3929 (line 69)\n-0001cb40: 0a2a 2064 6566 203c 3131 3e3a 2020 2020 .* def <11>: \n+0001cad0: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n+0001cae0: 2020 2020 2020 2020 286c 696e 6520 3337 (line 37\n+0001caf0: 290a 2a20 6465 6620 3c31 303e 3a20 2020 ).* def <10>: \n+0001cb00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cb10: 2020 2020 2020 2020 2020 204f 7665 7276 Overv\n+0001cb20: 6965 772e 2020 2020 2020 2020 2020 2020 iew. \n+0001cb30: 2028 6c69 6e65 2036 3929 0a2a 2064 6566 (line 69).* def\n+0001cb40: 203c 3131 3e3a 2020 2020 2020 2020 2020 <11>: \n 0001cb50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cb60: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n-0001cb70: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. \n-0001cb80: 286c 696e 6520 3134 290a 2a20 6465 6620 (line 14).* def \n-0001cb90: 3c31 323e 3a20 2020 2020 2020 2020 2020 <12>: \n-0001cba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cbb0: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n-0001cbc0: 7261 7769 6e67 2e20 2028 6c69 6e65 2032 rawing. (line 2\n-0001cbd0: 3629 0a2a 2064 6566 203c 3133 3e3a 2020 6).* def <13>: \n+0001cb60: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n+0001cb70: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n+0001cb80: 3134 290a 2a20 6465 6620 3c31 323e 3a20 14).* def <12>: \n+0001cb90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cba0: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n+0001cbb0: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n+0001cbc0: 2e20 2028 6c69 6e65 2032 3629 0a2a 2064 . (line 26).* d\n+0001cbd0: 6566 203c 3133 3e3a 2020 2020 2020 2020 ef <13>: \n 0001cbe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cbf0: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n-0001cc00: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n-0001cc10: 2020 286c 696e 6520 3431 290a 2a20 6465 (line 41).* de\n-0001cc20: 6620 3c31 343e 3a20 2020 2020 2020 2020 f <14>: \n-0001cc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cc40: 2020 2020 2041 2074 6563 686e 6963 616c A technical\n-0001cc50: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line\n-0001cc60: 2036 3829 0a2a 2064 6566 203c 3135 3e3a 68).* def <15>:\n+0001cbf0: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica\n+0001cc00: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin\n+0001cc10: 6520 3431 290a 2a20 6465 6620 3c31 343e e 41).* def <14>\n+0001cc20: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001cc30: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0001cc40: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi\n+0001cc50: 6e67 2e20 2028 6c69 6e65 2036 3829 0a2a ng. (line 68).*\n+0001cc60: 2064 6566 203c 3135 3e3a 2020 2020 2020 def <15>: \n 0001cc70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cc80: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-0001cc90: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n-0001cca0: 672e 2020 286c 696e 6520 3935 290a 2a20 g. (line 95).* \n-0001ccb0: 6465 6620 3c31 363e 3a20 2020 2020 2020 def <16>: \n+0001cc80: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni\n+0001cc90: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l\n+0001cca0: 696e 6520 3935 290a 2a20 6465 6620 3c31 ine 95).* def <1\n+0001ccb0: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: \n 0001ccc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ccd0: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc\n-0001cce0: 6869 6361 6c20 6d6f 6465 6c2e 2028 6c69 hical model. (li\n-0001ccf0: 6e65 2031 3029 0a2a 2064 6566 203c 3137 ne 10).* def <17\n-0001cd00: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001cd10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cd20: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m\n-0001cd30: 6f64 656c 2e20 286c 696e 6520 3233 290a odel. (line 23).\n-0001cd40: 2a20 6465 6620 3c31 383e 3a20 2020 2020 * def <18>: \n+0001ccd0: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical \n+0001cce0: 6d6f 6465 6c2e 2028 6c69 6e65 2031 3029 model. (line 10)\n+0001ccf0: 0a2a 2064 6566 203c 3137 3e3a 2020 2020 .* def <17>: \n+0001cd00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cd10: 2020 2020 2020 2020 2020 4120 6869 6572 A hier\n+0001cd20: 6172 6368 6963 616c 206d 6f64 656c 2e20 archical model. \n+0001cd30: 286c 696e 6520 3233 290a 2a20 6465 6620 (line 23).* def \n+0001cd40: 3c31 383e 3a20 2020 2020 2020 2020 2020 <18>: \n 0001cd50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cd60: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n-0001cd70: 7263 6869 6361 6c20 6d6f 6465 6c2e 2028 rchical model. (\n-0001cd80: 6c69 6e65 2033 3229 0a2a 2064 6f74 733a line 32).* dots:\n+0001cd60: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica\n+0001cd70: 6c20 6d6f 6465 6c2e 2028 6c69 6e65 2033 l model. (line 3\n+0001cd80: 3229 0a2a 2064 6f74 733a 2020 2020 2020 2).* dots: \n 0001cd90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cdb0: 2020 446f 7473 2e20 2020 2020 2020 2020 Dots. \n-0001cdc0: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0001cdd0: 290a 2a20 6669 6c6c 206f 7061 6369 7479 ).* fill opacity\n-0001cde0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001cdf0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n-0001ce00: 7061 7265 6e63 792e 2020 2020 2020 2020 parency. \n-0001ce10: 2028 6c69 6e65 2031 3029 0a2a 2066 696c (line 10).* fil\n-0001ce20: 6c20 7374 796c 653a 2020 2020 2020 2020 l style: \n-0001ce30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ce40: 2020 2020 5469 6b5a 2f50 4746 2075 7365 TikZ/PGF use\n-0001ce50: 722d 6465 6669 6e65 6420 7374 796c 6573 r-defined styles\n-0001ce60: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+0001cda0: 2020 2020 2020 2020 2020 2020 446f 7473 Dots\n+0001cdb0: 2e20 2020 2020 2020 2020 2020 2020 2020 . \n+0001cdc0: 2020 286c 696e 6520 2036 290a 2a20 6669 (line 6).* fi\n+0001cdd0: 6c6c 206f 7061 6369 7479 3a20 2020 2020 ll opacity: \n+0001cde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cdf0: 2020 2020 2054 7261 6e73 7061 7265 6e63 Transparenc\n+0001ce00: 792e 2020 2020 2020 2020 2028 6c69 6e65 y. (line\n+0001ce10: 2031 3029 0a2a 2066 696c 6c20 7374 796c 10).* fill styl\n+0001ce20: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+0001ce30: 2020 2020 2020 2020 2020 2020 2020 5469 Ti\n+0001ce40: 6b5a 2f50 4746 2075 7365 722d 6465 6669 kZ/PGF user-defi\n+0001ce50: 6e65 6420 7374 796c 6573 2e0a 2020 2020 ned styles.. \n+0001ce60: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001ce70: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001ce80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ce90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cea0: 2028 6c69 6e65 2032 3529 0a2a 2066 696c (line 25).* fil\n-0001ceb0: 6c63 6f6c 6f72 3a20 2020 2020 2020 2020 lcolor: \n-0001cec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ced0: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n-0001cee0: 666f 726d 732e 2020 2020 286c 696e 6520 forms. (line \n-0001cef0: 3130 290a 2a20 6669 6c6c 636f 6c6f 7220 10).* fillcolor \n-0001cf00: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-0001cf10: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol\n-0001cf20: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit\n-0001cf30: 6820 636c 6f73 7572 652e 0a20 2020 2020 h closure.. \n+0001ce90: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001cea0: 2032 3529 0a2a 2066 696c 6c63 6f6c 6f72 25).* fillcolor\n+0001ceb0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001cec0: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n+0001ced0: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n+0001cee0: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n+0001cef0: 6669 6c6c 636f 6c6f 7220 3c31 3e3a 2020 fillcolor <1>: \n+0001cf00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cf10: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n+0001cf20: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n+0001cf30: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. \n 0001cf40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001cf50: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001cf60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cf70: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001cf80: 3130 290a 2a20 6669 6c6c 636f 6c6f 7220 10).* fillcolor \n-0001cf90: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n-0001cfa0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n-0001cfb0: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n-0001cfc0: 2020 2028 6c69 6e65 2033 3729 0a2a 2066 (line 37).* f\n-0001cfd0: 7261 6d65 3a20 2020 2020 2020 2020 2020 rame: \n+0001cf70: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n+0001cf80: 6669 6c6c 636f 6c6f 7220 3c32 3e3a 2020 fillcolor <2>: \n+0001cf90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cfa0: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n+0001cfb0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001cfc0: 6e65 2033 3729 0a2a 2066 7261 6d65 3a20 ne 37).* frame: \n+0001cfd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001cfe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cff0: 2020 2020 2020 4672 616d 652e 2020 2020 Frame. \n-0001d000: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0001d010: 6520 2036 290a 2a20 6672 616d 6573 6570 e 6).* framesep\n-0001d020: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001d030: 2020 2020 2020 2020 2020 2020 2020 2046 F\n-0001d040: 7261 6d65 2e20 2020 2020 2020 2020 2020 rame. \n-0001d050: 2020 2020 2028 6c69 6e65 2031 3129 0a2a (line 11).*\n-0001d060: 2067 6c6f 6261 6c3a 2020 2020 2020 2020 global: \n+0001cff0: 4672 616d 652e 2020 2020 2020 2020 2020 Frame. \n+0001d000: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0001d010: 2a20 6672 616d 6573 6570 3a20 2020 2020 * framesep: \n+0001d020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d030: 2020 2020 2020 2020 2046 7261 6d65 2e20 Frame. \n+0001d040: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0001d050: 6c69 6e65 2031 3129 0a2a 2067 6c6f 6261 line 11).* globa\n+0001d060: 6c3a 2020 2020 2020 2020 2020 2020 2020 l: \n 0001d070: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d080: 2020 2020 2020 2020 476c 6f62 616c 2065 Global e\n-0001d090: 6e76 6972 6f6e 6d65 6e74 2e20 2020 286c nvironment. (l\n-0001d0a0: 696e 6520 3132 290a 2a20 696e 7075 743a ine 12).* input:\n+0001d080: 2020 476c 6f62 616c 2065 6e76 6972 6f6e Global environ\n+0001d090: 6d65 6e74 2e20 2020 286c 696e 6520 3132 ment. (line 12\n+0001d0a0: 290a 2a20 696e 7075 743a 2020 2020 2020 ).* input: \n 0001d0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d0c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d0d0: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics\n-0001d0e0: 2e20 2020 2020 2028 6c69 6e65 2031 3929 . (line 19)\n-0001d0f0: 0a2a 2069 6e76 6572 7365 3a20 2020 2020 .* inverse: \n+0001d0c0: 2020 2020 2020 2020 2020 204c 616e 6775 Langu\n+0001d0d0: 6167 6520 6261 7369 6373 2e20 2020 2020 age basics. \n+0001d0e0: 2028 6c69 6e65 2031 3929 0a2a 2069 6e76 (line 19).* inv\n+0001d0f0: 6572 7365 3a20 2020 2020 2020 2020 2020 erse: \n 0001d100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d110: 2020 2020 2020 2020 2020 556e 6172 7920 Unary \n-0001d120: 666f 726d 732e 2020 2020 2020 2020 2020 forms. \n-0001d130: 286c 696e 6520 3231 290a 2a20 6c61 6e67 (line 21).* lang\n-0001d140: 7561 6765 3a20 2020 2020 2020 2020 2020 uage: \n-0001d150: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d160: 2020 204c 616e 6775 6167 652e 2020 2020 Language. \n-0001d170: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0001d180: 3629 0a2a 206c 6174 6578 3a20 2020 2020 6).* latex: \n+0001d110: 2020 2020 556e 6172 7920 666f 726d 732e Unary forms.\n+0001d120: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0001d130: 3231 290a 2a20 6c61 6e67 7561 6765 3a20 21).* language: \n+0001d140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d150: 2020 2020 2020 2020 2020 2020 204c 616e Lan\n+0001d160: 6775 6167 652e 2020 2020 2020 2020 2020 guage. \n+0001d170: 2020 2028 6c69 6e65 2020 3629 0a2a 206c (line 6).* l\n+0001d180: 6174 6578 3a20 2020 2020 2020 2020 2020 atex: \n 0001d190: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d1a0: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang\n-0001d1b0: 7561 6765 2e20 2020 2020 2020 2020 2020 uage. \n-0001d1c0: 2020 286c 696e 6520 3137 290a 2a20 6c61 (line 17).* la\n-0001d1d0: 793a 2020 2020 2020 2020 2020 2020 2020 y: \n-0001d1e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d1f0: 2020 2020 2053 7065 6369 616c 206f 626a Special obj\n-0001d200: 6563 7473 2e20 2020 2020 2028 6c69 6e65 ects. (line\n-0001d210: 2034 3829 0a2a 206c 6179 203c 313e 3a20 48).* lay <1>: \n+0001d1a0: 2020 2020 2020 4c61 6e67 7561 6765 2e20 Language. \n+0001d1b0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001d1c0: 6520 3137 290a 2a20 6c61 793a 2020 2020 e 17).* lay: \n+0001d1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d1e0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0001d1f0: 7065 6369 616c 206f 626a 6563 7473 2e20 pecial objects. \n+0001d200: 2020 2020 2028 6c69 6e65 2034 3829 0a2a (line 48).*\n+0001d210: 206c 6179 203c 313e 3a20 2020 2020 2020 lay <1>: \n 0001d220: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d230: 2020 2020 2020 2020 2020 2020 2020 5469 Ti\n-0001d240: 6b5a 2f50 4746 2075 7365 722d 6465 6669 kZ/PGF user-defi\n-0001d250: 6e65 6420 7374 796c 6573 2e0a 2020 2020 ned styles.. \n+0001d230: 2020 2020 2020 2020 5469 6b5a 2f50 4746 TikZ/PGF\n+0001d240: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st\n+0001d250: 796c 6573 2e0a 2020 2020 2020 2020 2020 yles.. \n 0001d260: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001d270: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001d280: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d290: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0001d2a0: 2033 3629 0a2a 206c 6179 203c 323e 3a20 36).* lay <2>: \n+0001d290: 2020 2020 2028 6c69 6e65 2033 3629 0a2a (line 36).*\n+0001d2a0: 206c 6179 203c 323e 3a20 2020 2020 2020 lay <2>: \n 0001d2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d2c0: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-0001d2d0: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n-0001d2e0: 672e 2020 286c 696e 6520 3236 290a 2a20 g. (line 26).* \n-0001d2f0: 6c61 7920 3c33 3e3a 2020 2020 2020 2020 lay <3>: \n+0001d2c0: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni\n+0001d2d0: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l\n+0001d2e0: 696e 6520 3236 290a 2a20 6c61 7920 3c33 ine 26).* lay <3\n+0001d2f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n 0001d300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d310: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n-0001d320: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li\n-0001d330: 6e65 2032 3629 0a2a 206c 6179 203c 343e ne 26).* lay <4>\n-0001d340: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001d350: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d360: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n-0001d370: 696e 672e 2020 286c 696e 6520 3935 290a ing. (line 95).\n-0001d380: 2a20 6c61 7920 3c35 3e3a 2020 2020 2020 * lay <5>: \n+0001d310: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n+0001d320: 7769 6e67 2e20 2028 6c69 6e65 2032 3629 wing. (line 26)\n+0001d330: 0a2a 206c 6179 203c 343e 3a20 2020 2020 .* lay <4>: \n+0001d340: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d350: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n+0001d360: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. \n+0001d370: 286c 696e 6520 3935 290a 2a20 6c61 7920 (line 95).* lay \n+0001d380: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n 0001d390: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d3a0: 2020 2020 2020 2020 2049 6e74 6572 6e61 Interna\n-0001d3b0: 6c20 6f70 7469 6f6e 732e 2020 2020 2028 l options. (\n-0001d3c0: 6c69 6e65 2020 3729 0a2a 206c 6179 203c line 7).* lay <\n-0001d3d0: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: \n-0001d3e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d3f0: 2020 5370 6563 6961 6c73 2e20 2020 2020 Specials. \n-0001d400: 2020 2020 2020 2020 286c 696e 6520 3432 (line 42\n-0001d410: 290a 2a20 6c61 7920 3c37 3e3a 2020 2020 ).* lay <7>: \n+0001d3a0: 2020 2049 6e74 6572 6e61 6c20 6f70 7469 Internal opti\n+0001d3b0: 6f6e 732e 2020 2020 2028 6c69 6e65 2020 ons. (line \n+0001d3c0: 3729 0a2a 206c 6179 203c 363e 3a20 2020 7).* lay <6>: \n+0001d3d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d3e0: 2020 2020 2020 2020 2020 2020 5370 6563 Spec\n+0001d3f0: 6961 6c73 2e20 2020 2020 2020 2020 2020 ials. \n+0001d400: 2020 286c 696e 6520 3432 290a 2a20 6c61 (line 42).* la\n+0001d410: 7920 3c37 3e3a 2020 2020 2020 2020 2020 y <7>: \n 0001d420: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d430: 2020 2020 2020 2020 2020 2047 6c6f 6261 Globa\n-0001d440: 6c20 6f70 7469 6f6e 732e 2020 2020 2020 l options. \n-0001d450: 2028 6c69 6e65 2031 3329 0a2a 206c 696e (line 13).* lin\n-0001d460: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-0001d470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d480: 2020 2020 4472 6177 696e 6720 6f70 7469 Drawing opti\n-0001d490: 6f6e 732e 2020 2020 2020 286c 696e 6520 ons. (line \n-0001d4a0: 2037 290a 2a20 6c69 6e65 203c 313e 3a20 7).* line <1>: \n+0001d430: 2020 2020 2047 6c6f 6261 6c20 6f70 7469 Global opti\n+0001d440: 6f6e 732e 2020 2020 2020 2028 6c69 6e65 ons. (line\n+0001d450: 2031 3329 0a2a 206c 696e 653a 2020 2020 13).* line: \n+0001d460: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d470: 2020 2020 2020 2020 2020 2020 2020 4472 Dr\n+0001d480: 6177 696e 6720 6f70 7469 6f6e 732e 2020 awing options. \n+0001d490: 2020 2020 286c 696e 6520 2037 290a 2a20 (line 7).* \n+0001d4a0: 6c69 6e65 203c 313e 3a20 2020 2020 2020 line <1>: \n 0001d4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d4c0: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n-0001d4d0: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n-0001d4e0: 2020 2028 6c69 6e65 2031 3029 0a2a 206c (line 10).* l\n-0001d4f0: 696e 6520 3c32 3e3a 2020 2020 2020 2020 ine <2>: \n+0001d4c0: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n+0001d4d0: 616e 7366 6f72 6d73 2e20 2020 2028 6c69 ansforms. (li\n+0001d4e0: 6e65 2031 3029 0a2a 206c 696e 6520 3c32 ne 10).* line <2\n+0001d4f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n 0001d500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d510: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n-0001d520: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu\n-0001d530: 7265 2e0a 2020 2020 2020 2020 2020 2020 re.. \n+0001d510: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps \n+0001d520: 7769 7468 2063 6c6f 7375 7265 2e0a 2020 with closure.. \n+0001d530: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001d540: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001d550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d570: 2020 2028 6c69 6e65 2031 3029 0a2a 206c (line 10).* l\n-0001d580: 696e 6520 3c33 3e3a 2020 2020 2020 2020 ine <3>: \n+0001d560: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001d570: 6e65 2031 3029 0a2a 206c 696e 6520 3c33 ne 10).* line <3\n+0001d580: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n 0001d590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d5a0: 2020 2020 2020 4166 6669 6e65 2061 7269 Affine ari\n-0001d5b0: 7468 6d65 7469 632e 2020 2020 286c 696e thmetic. (lin\n-0001d5c0: 6520 3131 290a 2a20 6c69 6e65 203c 343e e 11).* line <4>\n-0001d5d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001d5e0: 2020 2020 2020 2020 2020 2020 2020 204c L\n-0001d5f0: 696e 6573 2e20 2020 2020 2020 2020 2020 ines. \n-0001d600: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0001d610: 206c 696e 6520 3c35 3e3a 2020 2020 2020 line <5>: \n+0001d5a0: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti\n+0001d5b0: 632e 2020 2020 286c 696e 6520 3131 290a c. (line 11).\n+0001d5c0: 2a20 6c69 6e65 203c 343e 3a20 2020 2020 * line <4>: \n+0001d5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d5e0: 2020 2020 2020 2020 204c 696e 6573 2e20 Lines. \n+0001d5f0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0001d600: 6c69 6e65 2020 3629 0a2a 206c 696e 6520 line 6).* line \n+0001d610: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n 0001d620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d630: 2020 2020 2020 2020 5377 6570 7420 626c Swept bl\n-0001d640: 6f63 6b73 2e20 2020 2020 2020 2020 286c ocks. (l\n-0001d650: 696e 6520 2037 290a 2a20 6c69 6e65 203c ine 7).* line <\n-0001d660: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: \n-0001d670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d680: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. \n-0001d690: 2020 2020 2020 2028 6c69 6e65 2036 3929 (line 69)\n-0001d6a0: 0a2a 206c 696e 6520 3c37 3e3a 2020 2020 .* line <7>: \n+0001d630: 2020 5377 6570 7420 626c 6f63 6b73 2e20 Swept blocks. \n+0001d640: 2020 2020 2020 2020 286c 696e 6520 2037 (line 7\n+0001d650: 290a 2a20 6c69 6e65 203c 363e 3a20 2020 ).* line <6>: \n+0001d660: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d670: 2020 2020 2020 2020 2020 204f 7665 7276 Overv\n+0001d680: 6965 772e 2020 2020 2020 2020 2020 2020 iew. \n+0001d690: 2028 6c69 6e65 2036 3929 0a2a 206c 696e (line 69).* lin\n+0001d6a0: 6520 3c37 3e3a 2020 2020 2020 2020 2020 e <7>: \n 0001d6b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d6c0: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n-0001d6d0: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. \n-0001d6e0: 286c 696e 6520 3230 290a 2a20 6c69 6e65 (line 20).* line\n-0001d6f0: 203c 383e 3a20 2020 2020 2020 2020 2020 <8>: \n-0001d700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d710: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n-0001d720: 7261 7769 6e67 2e20 2028 6c69 6e65 2032 rawing. (line 2\n-0001d730: 3629 0a2a 206c 696e 6520 3c39 3e3a 2020 6).* line <9>: \n+0001d6c0: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n+0001d6d0: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n+0001d6e0: 3230 290a 2a20 6c69 6e65 203c 383e 3a20 20).* line <8>: \n+0001d6f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d700: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n+0001d710: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n+0001d720: 2e20 2028 6c69 6e65 2032 3629 0a2a 206c . (line 26).* l\n+0001d730: 696e 6520 3c39 3e3a 2020 2020 2020 2020 ine <9>: \n 0001d740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d750: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n-0001d760: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n-0001d770: 2020 286c 696e 6520 3431 290a 2a20 6c69 (line 41).* li\n-0001d780: 6e65 203c 3130 3e3a 2020 2020 2020 2020 ne <10>: \n-0001d790: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d7a0: 2020 2020 2041 2074 6563 686e 6963 616c A technical\n-0001d7b0: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line\n-0001d7c0: 2036 3829 0a2a 206c 696e 6520 3c31 313e 68).* line <11>\n-0001d7d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001d7e0: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-0001d7f0: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod\n-0001d800: 656c 2e20 286c 696e 6520 3130 290a 2a20 el. (line 10).* \n-0001d810: 6c69 6e65 2073 7479 6c65 3a20 2020 2020 line style: \n+0001d750: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica\n+0001d760: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin\n+0001d770: 6520 3431 290a 2a20 6c69 6e65 203c 3130 e 41).* line <10\n+0001d780: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001d790: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0001d7a0: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi\n+0001d7b0: 6e67 2e20 2028 6c69 6e65 2036 3829 0a2a ng. (line 68).*\n+0001d7c0: 206c 696e 6520 3c31 313e 3a20 2020 2020 line <11>: \n+0001d7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d7e0: 2020 2020 2020 2020 4120 6869 6572 6172 A hierar\n+0001d7f0: 6368 6963 616c 206d 6f64 656c 2e20 286c chical model. (l\n+0001d800: 696e 6520 3130 290a 2a20 6c69 6e65 2073 ine 10).* line s\n+0001d810: 7479 6c65 3a20 2020 2020 2020 2020 2020 tyle: \n 0001d820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d830: 2020 2020 2020 2054 696b 5a2f 5047 4620 TikZ/PGF \n-0001d840: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty\n-0001d850: 6c65 732e 0a20 2020 2020 2020 2020 2020 les.. \n+0001d830: 2054 696b 5a2f 5047 4620 7573 6572 2d64 TikZ/PGF user-d\n+0001d840: 6566 696e 6564 2073 7479 6c65 732e 0a20 efined styles.. \n+0001d850: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001d860: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001d870: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d890: 2020 2020 286c 696e 6520 3235 290a 2a20 (line 25).* \n-0001d8a0: 6c69 6e65 636f 6c6f 723a 2020 2020 2020 linecolor: \n+0001d880: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0001d890: 696e 6520 3235 290a 2a20 6c69 6e65 636f ine 25).* lineco\n+0001d8a0: 6c6f 723a 2020 2020 2020 2020 2020 2020 lor: \n 0001d8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d8c0: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n-0001d8d0: 616e 7366 6f72 6d73 2e20 2020 2028 6c69 ansforms. (li\n-0001d8e0: 6e65 2031 3029 0a2a 206c 696e 6563 6f6c ne 10).* linecol\n-0001d8f0: 6f72 203c 313e 3a20 2020 2020 2020 2020 or <1>: \n-0001d900: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d910: 4672 616d 652e 2020 2020 2020 2020 2020 Frame. \n-0001d920: 2020 2020 2020 286c 696e 6520 3130 290a (line 10).\n-0001d930: 2a20 6c69 6e65 636f 6c6f 7220 3c32 3e3a * linecolor <2>:\n+0001d8c0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n+0001d8d0: 6d73 2e20 2020 2028 6c69 6e65 2031 3029 ms. (line 10)\n+0001d8e0: 0a2a 206c 696e 6563 6f6c 6f72 203c 313e .* linecolor <1>\n+0001d8f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001d900: 2020 2020 2020 2020 2020 4672 616d 652e Frame.\n+0001d910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d920: 286c 696e 6520 3130 290a 2a20 6c69 6e65 (line 10).* line\n+0001d930: 636f 6c6f 7220 3c32 3e3a 2020 2020 2020 color <2>: \n 0001d940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d950: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n-0001d960: 772e 2020 2020 2020 2020 2020 2020 2028 w. (\n-0001d970: 6c69 6e65 2036 3929 0a2a 206c 696e 6573 line 69).* lines\n-0001d980: 7479 6c65 3a20 2020 2020 2020 2020 2020 tyle: \n-0001d990: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d9a0: 2020 4672 616d 652e 2020 2020 2020 2020 Frame. \n-0001d9b0: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10\n-0001d9c0: 290a 2a20 6c69 6e65 7374 796c 6520 3c31 ).* linestyle <1\n-0001d9d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001d9e0: 2020 2020 2020 2020 2020 204f 7665 7276 Overv\n-0001d9f0: 6965 772e 2020 2020 2020 2020 2020 2020 iew. \n-0001da00: 2028 6c69 6e65 2036 3929 0a2a 206c 696e (line 69).* lin\n-0001da10: 6573 7479 6c65 203c 323e 3a20 2020 2020 estyle <2>: \n-0001da20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001da30: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n-0001da40: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n-0001da50: 3236 290a 2a20 6c69 6e65 7374 796c 6520 26).* linestyle \n-0001da60: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: \n-0001da70: 2020 2020 2020 2020 2020 2020 2042 7567 Bug\n-0001da80: 7320 616e 6420 616e 6f6d 616c 6965 732e s and anomalies.\n-0001da90: 2020 2028 6c69 6e65 2020 3729 0a2a 206c (line 7).* l\n-0001daa0: 696e 6577 6964 7468 3a20 2020 2020 2020 inewidth: \n+0001d950: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n+0001d960: 2020 2020 2020 2020 2028 6c69 6e65 2036 (line 6\n+0001d970: 3929 0a2a 206c 696e 6573 7479 6c65 3a20 9).* linestyle: \n+0001d980: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d990: 2020 2020 2020 2020 2020 2020 4672 616d Fram\n+0001d9a0: 652e 2020 2020 2020 2020 2020 2020 2020 e. \n+0001d9b0: 2020 286c 696e 6520 3130 290a 2a20 6c69 (line 10).* li\n+0001d9c0: 6e65 7374 796c 6520 3c31 3e3a 2020 2020 nestyle <1>: \n+0001d9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d9e0: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n+0001d9f0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001da00: 2036 3929 0a2a 206c 696e 6573 7479 6c65 69).* linestyle\n+0001da10: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+0001da20: 2020 2020 2020 2020 2020 2020 2020 4120 A \n+0001da30: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n+0001da40: 672e 2020 286c 696e 6520 3236 290a 2a20 g. (line 26).* \n+0001da50: 6c69 6e65 7374 796c 6520 3c33 3e3a 2020 linestyle <3>: \n+0001da60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001da70: 2020 2020 2020 2042 7567 7320 616e 6420 Bugs and \n+0001da80: 616e 6f6d 616c 6965 732e 2020 2028 6c69 anomalies. (li\n+0001da90: 6e65 2020 3729 0a2a 206c 696e 6577 6964 ne 7).* linewid\n+0001daa0: 7468 3a20 2020 2020 2020 2020 2020 2020 th: \n 0001dab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dac0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n-0001dad0: 7765 6570 732e 2020 2020 2020 286c 696e weeps. (lin\n-0001dae0: 6520 2039 290a 2a20 6c69 6e65 7769 6474 e 9).* linewidt\n-0001daf0: 6820 3c31 3e3a 2020 2020 2020 2020 2020 h <1>: \n-0001db00: 2020 2020 2020 2020 2020 2020 2020 2046 F\n-0001db10: 7261 6d65 2e20 2020 2020 2020 2020 2020 rame. \n-0001db20: 2020 2020 2028 6c69 6e65 2031 3029 0a2a (line 10).*\n-0001db30: 206c 696e 6577 6964 7468 203c 323e 3a20 linewidth <2>: \n+0001dac0: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps.\n+0001dad0: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n+0001dae0: 2a20 6c69 6e65 7769 6474 6820 3c31 3e3a * linewidth <1>:\n+0001daf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001db00: 2020 2020 2020 2020 2046 7261 6d65 2e20 Frame. \n+0001db10: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0001db20: 6c69 6e65 2031 3029 0a2a 206c 696e 6577 line 10).* linew\n+0001db30: 6964 7468 203c 323e 3a20 2020 2020 2020 idth <2>: \n 0001db40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001db50: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview\n-0001db60: 2e20 2020 2020 2020 2020 2020 2020 286c . (l\n-0001db70: 696e 6520 3639 290a 2a20 6c69 6e65 7769 ine 69).* linewi\n-0001db80: 6474 6820 3c33 3e3a 2020 2020 2020 2020 dth <3>: \n-0001db90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dba0: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n-0001dbb0: 7769 6e67 2e20 2028 6c69 6e65 2032 3629 wing. (line 26)\n-0001dbc0: 0a2a 206f 7061 6369 7479 3a20 2020 2020 .* opacity: \n+0001db50: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n+0001db60: 2020 2020 2020 2020 286c 696e 6520 3639 (line 69\n+0001db70: 290a 2a20 6c69 6e65 7769 6474 6820 3c33 ).* linewidth <3\n+0001db80: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001db90: 2020 2020 2020 2020 2020 2041 2074 6563 A tec\n+0001dba0: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. \n+0001dbb0: 2028 6c69 6e65 2032 3629 0a2a 206f 7061 (line 26).* opa\n+0001dbc0: 6369 7479 3a20 2020 2020 2020 2020 2020 city: \n 0001dbd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dbe0: 2020 2020 2020 2020 2020 5472 616e 7370 Transp\n-0001dbf0: 6172 656e 6379 2e20 2020 2020 2020 2020 arency. \n-0001dc00: 286c 696e 6520 3130 290a 2a20 7065 7273 (line 10).* pers\n-0001dc10: 7065 6374 6976 653a 2020 2020 2020 2020 pective: \n-0001dc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dc30: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n-0001dc40: 6572 616c 732e 2020 2028 6c69 6e65 2032 erals. (line 2\n-0001dc50: 3129 0a2a 2070 6963 7475 7265 626f 783a 1).* picturebox:\n+0001dbe0: 2020 2020 5472 616e 7370 6172 656e 6379 Transparency\n+0001dbf0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n+0001dc00: 3130 290a 2a20 7065 7273 7065 6374 6976 10).* perspectiv\n+0001dc10: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+0001dc20: 2020 2020 2020 2020 2020 2020 2054 7261 Tra\n+0001dc30: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n+0001dc40: 2020 2028 6c69 6e65 2032 3129 0a2a 2070 (line 21).* p\n+0001dc50: 6963 7475 7265 626f 783a 2020 2020 2020 icturebox: \n 0001dc60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dc70: 2020 2020 2020 2020 2020 2020 5069 6374 Pict\n-0001dc80: 7572 6520 626f 782e 2020 2020 2020 2020 ure box. \n-0001dc90: 2020 286c 696e 6520 2036 290a 2a20 706f (line 6).* po\n-0001dca0: 696e 7420 6c69 7374 3a20 2020 2020 2020 int list: \n-0001dcb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dcc0: 2020 2020 2049 6e74 6572 6e61 6c20 6f70 Internal op\n-0001dcd0: 7469 6f6e 732e 2020 2020 2028 6c69 6e65 tions. (line\n-0001dce0: 2032 3429 0a2a 2070 6f6c 7967 6f6e 3a20 24).* polygon: \n+0001dc70: 2020 2020 2020 5069 6374 7572 6520 626f Picture bo\n+0001dc80: 782e 2020 2020 2020 2020 2020 286c 696e x. (lin\n+0001dc90: 6520 2036 290a 2a20 706f 696e 7420 6c69 e 6).* point li\n+0001dca0: 7374 3a20 2020 2020 2020 2020 2020 2020 st: \n+0001dcb0: 2020 2020 2020 2020 2020 2020 2020 2049 I\n+0001dcc0: 6e74 6572 6e61 6c20 6f70 7469 6f6e 732e nternal options.\n+0001dcd0: 2020 2020 2028 6c69 6e65 2032 3429 0a2a (line 24).*\n+0001dce0: 2070 6f6c 7967 6f6e 3a20 2020 2020 2020 polygon: \n 0001dcf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dd00: 2020 2020 2020 2020 2020 2020 2020 4865 He\n-0001dd10: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. \n-0001dd20: 2020 2020 286c 696e 6520 3338 290a 2a20 (line 38).* \n-0001dd30: 706f 6c79 676f 6e20 3c31 3e3a 2020 2020 polygon <1>: \n+0001dd00: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo\n+0001dd10: 726c 642e 2020 2020 2020 2020 2020 286c rld. (l\n+0001dd20: 696e 6520 3338 290a 2a20 706f 6c79 676f ine 38).* polygo\n+0001dd30: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: \n 0001dd40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dd50: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a\n-0001dd60: 2073 6f6c 6964 2e20 2020 2020 2028 6c69 solid. (li\n-0001dd70: 6e65 2020 3929 0a2a 2070 6f6c 7967 6f6e ne 9).* polygon\n-0001dd80: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-0001dd90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dda0: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform\n-0001ddb0: 732e 2020 2020 286c 696e 6520 3130 290a s. (line 10).\n-0001ddc0: 2a20 706f 6c79 676f 6e20 3c33 3e3a 2020 * polygon <3>: \n+0001dd50: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid\n+0001dd60: 2e20 2020 2020 2028 6c69 6e65 2020 3929 . (line 9)\n+0001dd70: 0a2a 2070 6f6c 7967 6f6e 203c 323e 3a20 .* polygon <2>: \n+0001dd80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001dd90: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object\n+0001dda0: 2074 7261 6e73 666f 726d 732e 2020 2020 transforms. \n+0001ddb0: 286c 696e 6520 3130 290a 2a20 706f 6c79 (line 10).* poly\n+0001ddc0: 676f 6e20 3c33 3e3a 2020 2020 2020 2020 gon <3>: \n 0001ddd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dde0: 2020 2020 2020 2020 2041 6666 696e 6520 Affine \n-0001ddf0: 6172 6974 686d 6574 6963 2e20 2020 2028 arithmetic. (\n-0001de00: 6c69 6e65 2031 3129 0a2a 2070 6f6c 7967 line 11).* polyg\n-0001de10: 6f6e 203c 343e 3a20 2020 2020 2020 2020 on <4>: \n-0001de20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001de30: 2020 506f 6c79 676f 6e73 2e20 2020 2020 Polygons. \n-0001de40: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0001de50: 290a 2a20 706f 6c79 676f 6e20 3c35 3e3a ).* polygon <5>:\n+0001dde0: 2020 2041 6666 696e 6520 6172 6974 686d Affine arithm\n+0001ddf0: 6574 6963 2e20 2020 2028 6c69 6e65 2031 etic. (line 1\n+0001de00: 3129 0a2a 2070 6f6c 7967 6f6e 203c 343e 1).* polygon <4>\n+0001de10: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001de20: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n+0001de30: 676f 6e73 2e20 2020 2020 2020 2020 2020 gons. \n+0001de40: 2020 286c 696e 6520 2036 290a 2a20 706f (line 6).* po\n+0001de50: 6c79 676f 6e20 3c35 3e3a 2020 2020 2020 lygon <5>: \n 0001de60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001de70: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-0001de80: 2062 6c6f 636b 732e 2020 2020 2020 2020 blocks. \n-0001de90: 2028 6c69 6e65 2020 3729 0a2a 2070 6f6c (line 7).* pol\n-0001dea0: 7967 6f6e 203c 363e 3a20 2020 2020 2020 ygon <6>: \n-0001deb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dec0: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. \n-0001ded0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001dee0: 3337 290a 2a20 7072 6f6a 6563 743a 2020 37).* project: \n+0001de70: 2020 2020 2053 7765 7074 2062 6c6f 636b Swept block\n+0001de80: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line\n+0001de90: 2020 3729 0a2a 2070 6f6c 7967 6f6e 203c 7).* polygon <\n+0001dea0: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: \n+0001deb0: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov\n+0001dec0: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. \n+0001ded0: 2020 2020 286c 696e 6520 3337 290a 2a20 (line 37).* \n+0001dee0: 7072 6f6a 6563 743a 2020 2020 2020 2020 project: \n 0001def0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001df00: 2020 2020 2020 2020 2020 2020 2054 7261 Tra\n-0001df10: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n-0001df20: 2020 2028 6c69 6e65 2031 3829 0a2a 2070 (line 18).* p\n-0001df30: 726f 6a65 6374 203c 313e 3a20 2020 2020 roject <1>: \n+0001df00: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n+0001df10: 206c 6974 6572 616c 732e 2020 2028 6c69 literals. (li\n+0001df20: 6e65 2031 3829 0a2a 2070 726f 6a65 6374 ne 18).* project\n+0001df30: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n 0001df40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001df50: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n-0001df60: 6c69 7465 7261 6c73 2e20 2020 286c 696e literals. (lin\n-0001df70: 6520 3139 290a 2a20 7072 6f6a 6563 7420 e 19).* project \n-0001df80: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n-0001df90: 2020 2020 2020 2020 2020 2020 2020 2054 T\n-0001dfa0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n-0001dfb0: 732e 2020 2028 6c69 6e65 2034 3729 0a2a s. (line 47).*\n-0001dfc0: 2070 7374 7269 636b 733a 2020 2020 2020 pstricks: \n+0001df50: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n+0001df60: 6c73 2e20 2020 286c 696e 6520 3139 290a ls. (line 19).\n+0001df70: 2a20 7072 6f6a 6563 7420 3c32 3e3a 2020 * project <2>: \n+0001df80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001df90: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo\n+0001dfa0: 726d 206c 6974 6572 616c 732e 2020 2028 rm literals. (\n+0001dfb0: 6c69 6e65 2034 3729 0a2a 2070 7374 7269 line 47).* pstri\n+0001dfc0: 636b 733a 2020 2020 2020 2020 2020 2020 cks: \n 0001dfd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dfe0: 2020 2020 2020 2020 4c61 6e67 7561 6765 Language\n-0001dff0: 2e20 2020 2020 2020 2020 2020 2020 286c . (l\n-0001e000: 696e 6520 3130 290a 2a20 7075 743a 2020 ine 10).* put: \n+0001dfe0: 2020 4c61 6e67 7561 6765 2e20 2020 2020 Language. \n+0001dff0: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10\n+0001e000: 290a 2a20 7075 743a 2020 2020 2020 2020 ).* put: \n 0001e010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e020: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e030: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n-0001e040: 6d73 2e20 2020 2028 6c69 6e65 2031 3029 ms. (line 10)\n-0001e050: 0a2a 2070 7574 203c 313e 3a20 2020 2020 .* put <1>: \n+0001e020: 2020 2020 2020 2020 2020 204f 626a 6563 Objec\n+0001e030: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. \n+0001e040: 2028 6c69 6e65 2031 3029 0a2a 2070 7574 (line 10).* put\n+0001e050: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n 0001e060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e070: 2020 2020 2020 2020 2020 4e65 7374 6564 Nested\n-0001e080: 2073 7765 6570 732e 2020 2020 2020 2020 sweeps. \n-0001e090: 286c 696e 6520 3235 290a 2a20 7075 7420 (line 25).* put \n-0001e0a0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n-0001e0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e0c0: 2020 2050 7574 732e 2020 2020 2020 2020 Puts. \n-0001e0d0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0001e0e0: 3629 0a2a 2070 7574 203c 333e 3a20 2020 6).* put <3>: \n+0001e070: 2020 2020 4e65 7374 6564 2073 7765 6570 Nested sweep\n+0001e080: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line \n+0001e090: 3235 290a 2a20 7075 7420 3c32 3e3a 2020 25).* put <2>: \n+0001e0a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e0b0: 2020 2020 2020 2020 2020 2020 2050 7574 Put\n+0001e0c0: 732e 2020 2020 2020 2020 2020 2020 2020 s. \n+0001e0d0: 2020 2028 6c69 6e65 2020 3629 0a2a 2070 (line 6).* p\n+0001e0e0: 7574 203c 333e 3a20 2020 2020 2020 2020 ut <3>: \n 0001e0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e100: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n-0001e110: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n-0001e120: 2e20 286c 696e 6520 3332 290a 2a20 7265 . (line 32).* re\n-0001e130: 7065 6174 3a20 2020 2020 2020 2020 2020 peat: \n-0001e140: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e150: 2020 2020 2052 6570 6561 7465 6420 6f62 Repeated ob\n-0001e160: 6a65 6374 732e 2020 2020 2028 6c69 6e65 jects. (line\n-0001e170: 2020 3829 0a2a 2072 6570 6561 7420 3c31 8).* repeat <1\n-0001e180: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001e190: 2020 2020 2020 2020 2020 2020 2020 4e65 Ne\n-0001e1a0: 7374 6564 2073 7765 6570 732e 2020 2020 sted sweeps. \n-0001e1b0: 2020 2020 286c 696e 6520 3235 290a 2a20 (line 25).* \n-0001e1c0: 7265 7065 6174 203c 323e 3a20 2020 2020 repeat <2>: \n+0001e100: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch\n+0001e110: 6963 616c 206d 6f64 656c 2e20 286c 696e ical model. (lin\n+0001e120: 6520 3332 290a 2a20 7265 7065 6174 3a20 e 32).* repeat: \n+0001e130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e140: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+0001e150: 6570 6561 7465 6420 6f62 6a65 6374 732e epeated objects.\n+0001e160: 2020 2020 2028 6c69 6e65 2020 3829 0a2a (line 8).*\n+0001e170: 2072 6570 6561 7420 3c31 3e3a 2020 2020 repeat <1>: \n+0001e180: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e190: 2020 2020 2020 2020 4e65 7374 6564 2073 Nested s\n+0001e1a0: 7765 6570 732e 2020 2020 2020 2020 286c weeps. (l\n+0001e1b0: 696e 6520 3235 290a 2a20 7265 7065 6174 ine 25).* repeat\n+0001e1c0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n 0001e1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e1e0: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n-0001e1f0: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n-0001e200: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. \n+0001e1e0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n+0001e1f0: 2077 6974 6820 636c 6f73 7572 652e 0a20 with closure.. \n+0001e200: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001e210: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001e220: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e230: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e240: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n-0001e250: 7265 7065 6174 203c 333e 3a20 2020 2020 repeat <3>: \n+0001e230: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0001e240: 696e 6520 3130 290a 2a20 7265 7065 6174 ine 10).* repeat\n+0001e250: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: \n 0001e260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e270: 2020 2020 2020 2052 6570 6561 7473 2e20 Repeats. \n-0001e280: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0001e290: 6e65 2020 3629 0a2a 2072 6570 6561 7420 ne 6).* repeat \n-0001e2a0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: \n-0001e2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e2c0: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. \n-0001e2d0: 2020 2020 2020 286c 696e 6520 3537 290a (line 57).\n-0001e2e0: 2a20 726f 7461 7465 3a20 2020 2020 2020 * rotate: \n+0001e270: 2052 6570 6561 7473 2e20 2020 2020 2020 Repeats. \n+0001e280: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+0001e290: 0a2a 2072 6570 6561 7420 3c34 3e3a 2020 .* repeat <4>: \n+0001e2a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e2b0: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi\n+0001e2c0: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. \n+0001e2d0: 286c 696e 6520 3537 290a 2a20 726f 7461 (line 57).* rota\n+0001e2e0: 7465 3a20 2020 2020 2020 2020 2020 2020 te: \n 0001e2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e300: 2020 2020 2020 2020 204f 626a 6563 7420 Object \n-0001e310: 7472 616e 7366 6f72 6d73 2e20 2020 2028 transforms. (\n-0001e320: 6c69 6e65 2031 3029 0a2a 2072 6f74 6174 line 10).* rotat\n-0001e330: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: \n-0001e340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e350: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n-0001e360: 726d 732e 2020 2020 286c 696e 6520 3339 rms. (line 39\n-0001e370: 290a 2a20 726f 7461 7465 203c 323e 3a20 ).* rotate <2>: \n+0001e300: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n+0001e310: 6f72 6d73 2e20 2020 2028 6c69 6e65 2031 orms. (line 1\n+0001e320: 3029 0a2a 2072 6f74 6174 6520 3c31 3e3a 0).* rotate <1>:\n+0001e330: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e340: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje\n+0001e350: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. \n+0001e360: 2020 286c 696e 6520 3339 290a 2a20 726f (line 39).* ro\n+0001e370: 7461 7465 203c 323e 3a20 2020 2020 2020 tate <2>: \n 0001e380: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e390: 2020 2020 2020 2020 2020 2052 6570 6561 Repea\n-0001e3a0: 7465 6420 6f62 6a65 6374 732e 2020 2020 ted objects. \n-0001e3b0: 2028 6c69 6e65 2020 3829 0a2a 2072 6f74 (line 8).* rot\n-0001e3c0: 6174 6520 3c33 3e3a 2020 2020 2020 2020 ate <3>: \n-0001e3d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e3e0: 2020 2020 5377 6570 7420 6f62 6a65 6374 Swept object\n-0001e3f0: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line \n-0001e400: 2038 290a 2a20 726f 7461 7465 203c 343e 8).* rotate <4>\n-0001e410: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001e420: 2020 2020 2020 2020 2020 2020 2050 6f69 Poi\n-0001e430: 6e74 2073 7765 6570 732e 2020 2020 2020 nt sweeps. \n-0001e440: 2020 2028 6c69 6e65 2031 3929 0a2a 2072 (line 19).* r\n-0001e450: 6f74 6174 6520 3c35 3e3a 2020 2020 2020 otate <5>: \n+0001e390: 2020 2020 2052 6570 6561 7465 6420 6f62 Repeated ob\n+0001e3a0: 6a65 6374 732e 2020 2020 2028 6c69 6e65 jects. (line\n+0001e3b0: 2020 3829 0a2a 2072 6f74 6174 6520 3c33 8).* rotate <3\n+0001e3c0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001e3d0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n+0001e3e0: 6570 7420 6f62 6a65 6374 732e 2020 2020 ept objects. \n+0001e3f0: 2020 2020 286c 696e 6520 2038 290a 2a20 (line 8).* \n+0001e400: 726f 7461 7465 203c 343e 3a20 2020 2020 rotate <4>: \n+0001e410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e420: 2020 2020 2020 2050 6f69 6e74 2073 7765 Point swe\n+0001e430: 6570 732e 2020 2020 2020 2020 2028 6c69 eps. (li\n+0001e440: 6e65 2031 3929 0a2a 2072 6f74 6174 6520 ne 19).* rotate \n+0001e450: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n 0001e460: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e470: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n-0001e480: 7765 6570 732e 2020 2020 2020 286c 696e weeps. (lin\n-0001e490: 6520 2039 290a 2a20 726f 7461 7465 203c e 9).* rotate <\n-0001e4a0: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: \n-0001e4b0: 2020 2020 2020 2020 2020 2020 2020 204e N\n-0001e4c0: 6573 7465 6420 7377 6565 7073 2e20 2020 ested sweeps. \n-0001e4d0: 2020 2020 2028 6c69 6e65 2020 3829 0a2a (line 8).*\n-0001e4e0: 2072 6f74 6174 6520 3c37 3e3a 2020 2020 rotate <7>: \n+0001e470: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps.\n+0001e480: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n+0001e490: 2a20 726f 7461 7465 203c 363e 3a20 2020 * rotate <6>: \n+0001e4a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e4b0: 2020 2020 2020 2020 204e 6573 7465 6420 Nested \n+0001e4c0: 7377 6565 7073 2e20 2020 2020 2020 2028 sweeps. (\n+0001e4d0: 6c69 6e65 2020 3829 0a2a 2072 6f74 6174 line 8).* rotat\n+0001e4e0: 6520 3c37 3e3a 2020 2020 2020 2020 2020 e <7>: \n 0001e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e500: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n-0001e510: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n-0001e520: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. \n+0001e500: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n+0001e510: 7320 7769 7468 2063 6c6f 7375 7265 2e0a s with closure..\n+0001e520: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001e530: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001e540: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e560: 2020 2020 2028 6c69 6e65 2031 3029 0a2a (line 10).*\n-0001e570: 2072 6f74 6174 6520 3c38 3e3a 2020 2020 rotate <8>: \n+0001e550: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0001e560: 6c69 6e65 2031 3029 0a2a 2072 6f74 6174 line 10).* rotat\n+0001e570: 6520 3c38 3e3a 2020 2020 2020 2020 2020 e <8>: \n 0001e580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e590: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor\n-0001e5a0: 6d20 6c69 7465 7261 6c73 2e20 2020 286c m literals. (l\n-0001e5b0: 696e 6520 3130 290a 2a20 726f 7461 7465 ine 10).* rotate\n-0001e5c0: 203c 393e 3a20 2020 2020 2020 2020 2020 <9>: \n-0001e5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e5e0: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. \n-0001e5f0: 2020 2020 2020 2028 6c69 6e65 2035 3729 (line 57)\n-0001e600: 0a2a 2072 6f74 6174 6520 3c31 303e 3a20 .* rotate <10>: \n+0001e590: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n+0001e5a0: 7261 6c73 2e20 2020 286c 696e 6520 3130 rals. (line 10\n+0001e5b0: 290a 2a20 726f 7461 7465 203c 393e 3a20 ).* rotate <9>: \n+0001e5c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e5d0: 2020 2020 2020 2020 2020 204f 7665 7276 Overv\n+0001e5e0: 6965 772e 2020 2020 2020 2020 2020 2020 iew. \n+0001e5f0: 2028 6c69 6e65 2035 3729 0a2a 2072 6f74 (line 57).* rot\n+0001e600: 6174 6520 3c31 303e 3a20 2020 2020 2020 ate <10>: \n 0001e610: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e620: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi\n-0001e630: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. \n-0001e640: 286c 696e 6520 3639 290a 2a20 726f 7461 (line 69).* rota\n-0001e650: 7465 203c 3131 3e3a 2020 2020 2020 2020 te <11>: \n-0001e660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e670: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n-0001e680: 7261 7769 6e67 2e20 2028 6c69 6e65 2031 rawing. (line 1\n-0001e690: 3429 0a2a 2072 6f74 6174 6520 3c31 323e 4).* rotate <12>\n-0001e6a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001e6b0: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n-0001e6c0: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n-0001e6d0: 2e20 286c 696e 6520 3130 290a 2a20 726f . (line 10).* ro\n-0001e6e0: 7461 7465 203c 3133 3e3a 2020 2020 2020 tate <13>: \n-0001e6f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e700: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi\n-0001e710: 6361 6c20 6d6f 6465 6c2e 2028 6c69 6e65 cal model. (line\n-0001e720: 2032 3329 0a2a 2072 6f74 6174 6520 3c31 23).* rotate <1\n-0001e730: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: \n-0001e740: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-0001e750: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod\n-0001e760: 656c 2e20 286c 696e 6520 3332 290a 2a20 el. (line 32).* \n-0001e770: 7363 616c 653a 2020 2020 2020 2020 2020 scale: \n+0001e620: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. \n+0001e630: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0001e640: 3639 290a 2a20 726f 7461 7465 203c 3131 69).* rotate <11\n+0001e650: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001e660: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n+0001e670: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n+0001e680: 2e20 2028 6c69 6e65 2031 3429 0a2a 2072 . (line 14).* r\n+0001e690: 6f74 6174 6520 3c31 323e 3a20 2020 2020 otate <12>: \n+0001e6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e6b0: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch\n+0001e6c0: 6963 616c 206d 6f64 656c 2e20 286c 696e ical model. (lin\n+0001e6d0: 6520 3130 290a 2a20 726f 7461 7465 203c e 10).* rotate <\n+0001e6e0: 3133 3e3a 2020 2020 2020 2020 2020 2020 13>: \n+0001e6f0: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0001e700: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n+0001e710: 6465 6c2e 2028 6c69 6e65 2032 3329 0a2a del. (line 23).*\n+0001e720: 2072 6f74 6174 6520 3c31 343e 3a20 2020 rotate <14>: \n+0001e730: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e740: 2020 2020 2020 2020 4120 6869 6572 6172 A hierar\n+0001e750: 6368 6963 616c 206d 6f64 656c 2e20 286c chical model. (l\n+0001e760: 696e 6520 3332 290a 2a20 7363 616c 653a ine 32).* scale:\n+0001e770: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001e780: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e790: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n-0001e7a0: 206c 6974 6572 616c 732e 2020 2028 6c69 literals. (li\n-0001e7b0: 6e65 2031 3629 0a2a 2073 6361 6c65 203c ne 16).* scale <\n-0001e7c0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0001e7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e7e0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n-0001e7f0: 6c73 2e20 2020 286c 696e 6520 3137 290a ls. (line 17).\n-0001e800: 2a20 7363 616c 6520 3c32 3e3a 2020 2020 * scale <2>: \n+0001e790: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n+0001e7a0: 616c 732e 2020 2028 6c69 6e65 2031 3629 als. (line 16)\n+0001e7b0: 0a2a 2073 6361 6c65 203c 313e 3a20 2020 .* scale <1>: \n+0001e7c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e7d0: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n+0001e7e0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2020 orm literals. \n+0001e7f0: 286c 696e 6520 3137 290a 2a20 7363 616c (line 17).* scal\n+0001e800: 6520 3c32 3e3a 2020 2020 2020 2020 2020 e <2>: \n 0001e810: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e820: 2020 2020 2020 2020 2041 2074 6563 686e A techn\n-0001e830: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. (\n-0001e840: 6c69 6e65 2034 3129 0a2a 2073 6361 6c65 line 41).* scale\n-0001e850: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: \n-0001e860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e870: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr\n-0001e880: 6177 696e 672e 2020 286c 696e 6520 3638 awing. (line 68\n-0001e890: 290a 2a20 7363 616c 6520 3c34 3e3a 2020 ).* scale <4>: \n+0001e820: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n+0001e830: 7261 7769 6e67 2e20 2028 6c69 6e65 2034 rawing. (line 4\n+0001e840: 3129 0a2a 2073 6361 6c65 203c 333e 3a20 1).* scale <3>: \n+0001e850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e860: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n+0001e870: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n+0001e880: 2020 286c 696e 6520 3638 290a 2a20 7363 (line 68).* sc\n+0001e890: 616c 6520 3c34 3e3a 2020 2020 2020 2020 ale <4>: \n 0001e8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e8b0: 2020 2020 2020 2020 2020 2041 2068 6965 A hie\n-0001e8c0: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model.\n-0001e8d0: 2028 6c69 6e65 2033 3229 0a2a 2073 6574 (line 32).* set\n-0001e8e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001e8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e900: 2020 2020 476c 6f62 616c 206f 7074 696f Global optio\n-0001e910: 6e73 2e20 2020 2020 2020 286c 696e 6520 ns. (line \n-0001e920: 2036 290a 2a20 7369 6e3a 2020 2020 2020 6).* sin: \n+0001e8b0: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi\n+0001e8c0: 6361 6c20 6d6f 6465 6c2e 2028 6c69 6e65 cal model. (line\n+0001e8d0: 2033 3229 0a2a 2073 6574 3a20 2020 2020 32).* set: \n+0001e8e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e8f0: 2020 2020 2020 2020 2020 2020 2020 476c Gl\n+0001e900: 6f62 616c 206f 7074 696f 6e73 2e20 2020 obal options. \n+0001e910: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0001e920: 7369 6e3a 2020 2020 2020 2020 2020 2020 sin: \n 0001e930: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e940: 2020 2020 2020 2020 2020 2020 2055 6e61 Una\n-0001e950: 7279 2066 6f72 6d73 2e20 2020 2020 2020 ry forms. \n-0001e960: 2020 2028 6c69 6e65 2031 3529 0a2a 2073 (line 15).* s\n-0001e970: 7065 6369 616c 3a20 2020 2020 2020 2020 pecial: \n+0001e940: 2020 2020 2020 2055 6e61 7279 2066 6f72 Unary for\n+0001e950: 6d73 2e20 2020 2020 2020 2020 2028 6c69 ms. (li\n+0001e960: 6e65 2031 3529 0a2a 2073 7065 6369 616c ne 15).* special\n+0001e970: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n 0001e980: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e990: 2020 2020 2020 5370 6563 6961 6c20 6f62 Special ob\n-0001e9a0: 6a65 6374 732e 2020 2020 2020 286c 696e jects. (lin\n-0001e9b0: 6520 2036 290a 2a20 7370 6563 6961 6c20 e 6).* special \n-0001e9c0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-0001e9d0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0001e9e0: 7065 6369 616c 732e 2020 2020 2020 2020 pecials. \n-0001e9f0: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0001ea00: 2073 7065 6369 616c 203c 323e 3a20 2020 special <2>: \n+0001e990: 5370 6563 6961 6c20 6f62 6a65 6374 732e Special objects.\n+0001e9a0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0001e9b0: 2a20 7370 6563 6961 6c20 3c31 3e3a 2020 * special <1>: \n+0001e9c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e9d0: 2020 2020 2020 2020 2053 7065 6369 616c Special\n+0001e9e0: 732e 2020 2020 2020 2020 2020 2020 2028 s. (\n+0001e9f0: 6c69 6e65 2020 3629 0a2a 2073 7065 6369 line 6).* speci\n+0001ea00: 616c 203c 323e 3a20 2020 2020 2020 2020 al <2>: \n 0001ea10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ea20: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview\n-0001ea30: 2e20 2020 2020 2020 2020 2020 2020 286c . (l\n-0001ea40: 696e 6520 3639 290a 2a20 7370 6563 6961 ine 69).* specia\n-0001ea50: 6c20 3c33 3e3a 2020 2020 2020 2020 2020 l <3>: \n-0001ea60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ea70: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n-0001ea80: 7769 6e67 2e20 2028 6c69 6e65 2032 3629 wing. (line 26)\n-0001ea90: 0a2a 2073 7065 6369 616c 203c 343e 3a20 .* special <4>: \n+0001ea20: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n+0001ea30: 2020 2020 2020 2020 286c 696e 6520 3639 (line 69\n+0001ea40: 290a 2a20 7370 6563 6961 6c20 3c33 3e3a ).* special <3>:\n+0001ea50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ea60: 2020 2020 2020 2020 2020 2041 2074 6563 A tec\n+0001ea70: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. \n+0001ea80: 2028 6c69 6e65 2032 3629 0a2a 2073 7065 (line 26).* spe\n+0001ea90: 6369 616c 203c 343e 3a20 2020 2020 2020 cial <4>: \n 0001eaa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eab0: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n-0001eac0: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. \n-0001ead0: 286c 696e 6520 3431 290a 2a20 7370 6563 (line 41).* spec\n-0001eae0: 6961 6c20 3c35 3e3a 2020 2020 2020 2020 ial <5>: \n-0001eaf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eb00: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n-0001eb10: 7261 7769 6e67 2e20 2028 6c69 6e65 2036 rawing. (line 6\n-0001eb20: 3829 0a2a 2073 7065 6369 616c 203c 363e 8).* special <6>\n-0001eb30: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001eb40: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n-0001eb50: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n-0001eb60: 2020 286c 696e 6520 3935 290a 2a20 7370 (line 95).* sp\n-0001eb70: 6c69 743a 2020 2020 2020 2020 2020 2020 lit: \n-0001eb80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eb90: 2020 2020 2049 6e74 6572 6e61 6c20 6f70 Internal op\n-0001eba0: 7469 6f6e 732e 2020 2020 2028 6c69 6e65 tions. (line\n-0001ebb0: 2020 3729 0a2a 2073 706c 6974 203c 313e 7).* split <1>\n-0001ebc0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001ebd0: 2020 2020 2020 2020 2020 2020 2020 476c Gl\n-0001ebe0: 6f62 616c 206f 7074 696f 6e73 2e20 2020 obal options. \n-0001ebf0: 2020 2020 286c 696e 6520 3133 290a 2a20 (line 13).* \n-0001ec00: 7371 7274 3a20 2020 2020 2020 2020 2020 sqrt: \n+0001eab0: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n+0001eac0: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n+0001ead0: 3431 290a 2a20 7370 6563 6961 6c20 3c35 41).* special <5\n+0001eae0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001eaf0: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n+0001eb00: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n+0001eb10: 2e20 2028 6c69 6e65 2036 3829 0a2a 2073 . (line 68).* s\n+0001eb20: 7065 6369 616c 203c 363e 3a20 2020 2020 pecial <6>: \n+0001eb30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001eb40: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica\n+0001eb50: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin\n+0001eb60: 6520 3935 290a 2a20 7370 6c69 743a 2020 e 95).* split: \n+0001eb70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001eb80: 2020 2020 2020 2020 2020 2020 2020 2049 I\n+0001eb90: 6e74 6572 6e61 6c20 6f70 7469 6f6e 732e nternal options.\n+0001eba0: 2020 2020 2028 6c69 6e65 2020 3729 0a2a (line 7).*\n+0001ebb0: 2073 706c 6974 203c 313e 3a20 2020 2020 split <1>: \n+0001ebc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ebd0: 2020 2020 2020 2020 476c 6f62 616c 206f Global o\n+0001ebe0: 7074 696f 6e73 2e20 2020 2020 2020 286c ptions. (l\n+0001ebf0: 696e 6520 3133 290a 2a20 7371 7274 3a20 ine 13).* sqrt: \n+0001ec00: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001ec10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ec20: 2020 2020 2020 2055 6e61 7279 2066 6f72 Unary for\n-0001ec30: 6d73 2e20 2020 2020 2020 2020 2028 6c69 ms. (li\n-0001ec40: 6e65 2031 3429 0a2a 2073 7765 6570 3a20 ne 14).* sweep: \n+0001ec20: 2055 6e61 7279 2066 6f72 6d73 2e20 2020 Unary forms. \n+0001ec30: 2020 2020 2020 2028 6c69 6e65 2031 3429 (line 14)\n+0001ec40: 0a2a 2073 7765 6570 3a20 2020 2020 2020 .* sweep: \n 0001ec50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ec60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ec70: 5377 6570 7420 6f62 6a65 6374 732e 2020 Swept objects. \n-0001ec80: 2020 2020 2020 286c 696e 6520 2038 290a (line 8).\n-0001ec90: 2a20 7377 6565 7020 3c31 3e3a 2020 2020 * sweep <1>: \n+0001ec60: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+0001ec70: 6f62 6a65 6374 732e 2020 2020 2020 2020 objects. \n+0001ec80: 286c 696e 6520 2038 290a 2a20 7377 6565 (line 8).* swee\n+0001ec90: 7020 3c31 3e3a 2020 2020 2020 2020 2020 p <1>: \n 0001eca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ecb0: 2020 2020 2020 2020 2050 6f69 6e74 2073 Point s\n-0001ecc0: 7765 6570 732e 2020 2020 2020 2020 2028 weeps. (\n-0001ecd0: 6c69 6e65 2031 3929 0a2a 2073 7765 6570 line 19).* sweep\n-0001ece0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-0001ecf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ed00: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n-0001ed10: 732e 2020 2020 2020 286c 696e 6520 2039 s. (line 9\n-0001ed20: 290a 2a20 7377 6565 7020 3c33 3e3a 2020 ).* sweep <3>: \n+0001ecb0: 2020 2050 6f69 6e74 2073 7765 6570 732e Point sweeps.\n+0001ecc0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n+0001ecd0: 3929 0a2a 2073 7765 6570 203c 323e 3a20 9).* sweep <2>: \n+0001ece0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ecf0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n+0001ed00: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. \n+0001ed10: 2020 286c 696e 6520 2039 290a 2a20 7377 (line 9).* sw\n+0001ed20: 6565 7020 3c33 3e3a 2020 2020 2020 2020 eep <3>: \n 0001ed30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ed40: 2020 2020 2020 2020 2020 204e 6573 7465 Neste\n-0001ed50: 6420 7377 6565 7073 2e20 2020 2020 2020 d sweeps. \n-0001ed60: 2028 6c69 6e65 2020 3829 0a2a 2073 7765 (line 8).* swe\n-0001ed70: 6570 203c 343e 3a20 2020 2020 2020 2020 ep <4>: \n-0001ed80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ed90: 2020 2020 4e65 7374 6564 2073 7765 6570 Nested sweep\n-0001eda0: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line \n-0001edb0: 3232 290a 2a20 7377 6565 7020 3c35 3e3a 22).* sweep <5>:\n+0001ed40: 2020 2020 204e 6573 7465 6420 7377 6565 Nested swee\n+0001ed50: 7073 2e20 2020 2020 2020 2028 6c69 6e65 ps. (line\n+0001ed60: 2020 3829 0a2a 2073 7765 6570 203c 343e 8).* sweep <4>\n+0001ed70: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001ed80: 2020 2020 2020 2020 2020 2020 2020 4e65 Ne\n+0001ed90: 7374 6564 2073 7765 6570 732e 2020 2020 sted sweeps. \n+0001eda0: 2020 2020 286c 696e 6520 3232 290a 2a20 (line 22).* \n+0001edb0: 7377 6565 7020 3c35 3e3a 2020 2020 2020 sweep <5>: \n 0001edc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001edd0: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol\n-0001ede0: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit\n-0001edf0: 6820 636c 6f73 7572 652e 0a20 2020 2020 h closure.. \n+0001edd0: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n+0001ede0: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n+0001edf0: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. \n 0001ee00: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001ee10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001ee20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ee30: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001ee40: 3130 290a 2a20 7377 6565 7020 3c36 3e3a 10).* sweep <6>:\n+0001ee30: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n+0001ee40: 7377 6565 7020 3c36 3e3a 2020 2020 2020 sweep <6>: \n 0001ee50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ee60: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-0001ee70: 6570 732e 2020 2020 2020 2020 2020 2020 eps. \n-0001ee80: 2020 2028 6c69 6e65 2020 3629 0a2a 2073 (line 6).* s\n-0001ee90: 7765 6570 203c 373e 3a20 2020 2020 2020 weep <7>: \n+0001ee60: 2020 2020 2020 2053 7765 6570 732e 2020 Sweeps. \n+0001ee70: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001ee80: 6e65 2020 3629 0a2a 2073 7765 6570 203c ne 6).* sweep <\n+0001ee90: 373e 3a20 2020 2020 2020 2020 2020 2020 7>: \n 0001eea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eeb0: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica\n-0001eec0: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin\n-0001eed0: 6520 3230 290a 2a20 7377 6565 7020 3c38 e 20).* sweep <8\n-0001eee0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001eef0: 2020 2020 2020 2020 2020 2020 2020 2041 A\n-0001ef00: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n-0001ef10: 6465 6c2e 2028 6c69 6e65 2031 3029 0a2a del. (line 10).*\n-0001ef20: 2073 7765 6570 203c 393e 3a20 2020 2020 sweep <9>: \n+0001eeb0: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n+0001eec0: 696e 672e 2020 286c 696e 6520 3230 290a ing. (line 20).\n+0001eed0: 2a20 7377 6565 7020 3c38 3e3a 2020 2020 * sweep <8>: \n+0001eee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001eef0: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n+0001ef00: 7263 6869 6361 6c20 6d6f 6465 6c2e 2028 rchical model. (\n+0001ef10: 6c69 6e65 2031 3029 0a2a 2073 7765 6570 line 10).* sweep\n+0001ef20: 203c 393e 3a20 2020 2020 2020 2020 2020 <9>: \n 0001ef30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ef40: 2020 2020 2020 2020 4120 6869 6572 6172 A hierar\n-0001ef50: 6368 6963 616c 206d 6f64 656c 2e20 286c chical model. (l\n-0001ef60: 696e 6520 3233 290a 2a20 7468 656e 3a20 ine 23).* then: \n+0001ef40: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical\n+0001ef50: 206d 6f64 656c 2e20 286c 696e 6520 3233 model. (line 23\n+0001ef60: 290a 2a20 7468 656e 3a20 2020 2020 2020 ).* then: \n 0001ef70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ef80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ef90: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n-0001efa0: 6d73 2e20 2020 2028 6c69 6e65 2031 3029 ms. (line 10)\n-0001efb0: 0a2a 2074 6865 6e20 3c31 3e3a 2020 2020 .* then <1>: \n+0001ef80: 2020 2020 2020 2020 2020 204f 626a 6563 Objec\n+0001ef90: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. \n+0001efa0: 2028 6c69 6e65 2031 3029 0a2a 2074 6865 (line 10).* the\n+0001efb0: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: \n 0001efc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001efd0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli\n-0001efe0: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c\n-0001eff0: 6c6f 7375 7265 2e0a 2020 2020 2020 2020 losure.. \n+0001efd0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n+0001efe0: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure\n+0001eff0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 0001f000: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f010: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f020: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f030: 2020 2020 2020 2028 6c69 6e65 2031 3029 (line 10)\n-0001f040: 0a2a 2074 6865 6e20 3c32 3e3a 2020 2020 .* then <2>: \n+0001f030: 2028 6c69 6e65 2031 3029 0a2a 2074 6865 (line 10).* the\n+0001f040: 6e20 3c32 3e3a 2020 2020 2020 2020 2020 n <2>: \n 0001f050: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f060: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op\n-0001f070: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n-0001f080: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. \n+0001f060: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand \n+0001f070: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms..\n+0001f080: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f090: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f0a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f0c0: 2020 2020 2028 6c69 6e65 2033 3629 0a2a (line 36).*\n-0001f0d0: 2074 6865 6e20 3c33 3e3a 2020 2020 2020 then <3>: \n+0001f0b0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0001f0c0: 6c69 6e65 2033 3629 0a2a 2074 6865 6e20 line 36).* then \n+0001f0d0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: \n 0001f0e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f0f0: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper\n-0001f100: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for\n-0001f110: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. \n+0001f0f0: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b\n+0001f100: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. \n+0001f110: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f120: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f130: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f140: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f150: 2020 2028 6c69 6e65 2036 3329 0a2a 2074 (line 63).* t\n-0001f160: 696b 7a3a 2020 2020 2020 2020 2020 2020 ikz: \n+0001f140: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001f150: 6e65 2036 3329 0a2a 2074 696b 7a3a 2020 ne 63).* tikz: \n+0001f160: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f180: 2020 2020 2020 4c61 6e67 7561 6765 2e20 Language. \n-0001f190: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0001f1a0: 6520 3130 290a 2a20 7472 616e 736c 6174 e 10).* translat\n-0001f1b0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-0001f1c0: 2020 2020 2020 2020 2020 2020 2020 204f O\n-0001f1d0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n-0001f1e0: 2e20 2020 2028 6c69 6e65 2031 3029 0a2a . (line 10).*\n-0001f1f0: 2074 7261 6e73 6c61 7465 203c 313e 3a20 translate <1>: \n+0001f180: 4c61 6e67 7561 6765 2e20 2020 2020 2020 Language. \n+0001f190: 2020 2020 2020 286c 696e 6520 3130 290a (line 10).\n+0001f1a0: 2a20 7472 616e 736c 6174 653a 2020 2020 * translate: \n+0001f1b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f1c0: 2020 2020 2020 2020 204f 626a 6563 7420 Object \n+0001f1d0: 7472 616e 7366 6f72 6d73 2e20 2020 2028 transforms. (\n+0001f1e0: 6c69 6e65 2031 3029 0a2a 2074 7261 6e73 line 10).* trans\n+0001f1f0: 6c61 7465 203c 313e 3a20 2020 2020 2020 late <1>: \n 0001f200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f210: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t\n-0001f220: 7261 6e73 666f 726d 732e 2020 2020 286c ransforms. (l\n-0001f230: 696e 6520 3437 290a 2a20 7472 616e 736c ine 47).* transl\n-0001f240: 6174 6520 3c32 3e3a 2020 2020 2020 2020 ate <2>: \n-0001f250: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f260: 2052 6570 6561 7465 6420 6f62 6a65 6374 Repeated object\n-0001f270: 732e 2020 2020 2028 6c69 6e65 2020 3829 s. (line 8)\n-0001f280: 0a2a 2074 7261 6e73 6c61 7465 203c 333e .* translate <3>\n-0001f290: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001f2a0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli\n-0001f2b0: 6e65 2073 7765 6570 732e 2020 2020 2020 ne sweeps. \n-0001f2c0: 286c 696e 6520 2039 290a 2a20 7472 616e (line 9).* tran\n-0001f2d0: 736c 6174 6520 3c34 3e3a 2020 2020 2020 slate <4>: \n-0001f2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f2f0: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee\n-0001f300: 7073 2077 6974 6820 636c 6f73 7572 652e ps with closure.\n-0001f310: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0001f210: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n+0001f220: 726d 732e 2020 2020 286c 696e 6520 3437 rms. (line 47\n+0001f230: 290a 2a20 7472 616e 736c 6174 6520 3c32 ).* translate <2\n+0001f240: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001f250: 2020 2020 2020 2020 2020 2052 6570 6561 Repea\n+0001f260: 7465 6420 6f62 6a65 6374 732e 2020 2020 ted objects. \n+0001f270: 2028 6c69 6e65 2020 3829 0a2a 2074 7261 (line 8).* tra\n+0001f280: 6e73 6c61 7465 203c 333e 3a20 2020 2020 nslate <3>: \n+0001f290: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f2a0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n+0001f2b0: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line \n+0001f2c0: 2039 290a 2a20 7472 616e 736c 6174 6520 9).* translate \n+0001f2d0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: \n+0001f2e0: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol\n+0001f2f0: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit\n+0001f300: 6820 636c 6f73 7572 652e 0a20 2020 2020 h closure.. \n+0001f310: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f320: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f330: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f350: 286c 696e 6520 3130 290a 2a20 7472 616e (line 10).* tran\n-0001f360: 736c 6174 6520 3c35 3e3a 2020 2020 2020 slate <5>: \n-0001f370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f380: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n-0001f390: 6572 616c 732e 2020 2028 6c69 6e65 2031 erals. (line 1\n-0001f3a0: 3529 0a2a 2074 7261 6e73 6c61 7465 203c 5).* translate <\n-0001f3b0: 363e 3a20 2020 2020 2020 2020 2020 2020 6>: \n-0001f3c0: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n-0001f3d0: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n-0001f3e0: 2020 286c 696e 6520 3537 290a 2a20 7472 (line 57).* tr\n-0001f3f0: 616e 736c 6174 6520 3c37 3e3a 2020 2020 anslate <7>: \n-0001f400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f410: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n-0001f420: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0001f430: 2036 3929 0a2a 2074 7261 6e73 6c61 7465 69).* translate\n-0001f440: 203c 383e 3a20 2020 2020 2020 2020 2020 <8>: \n-0001f450: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-0001f460: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod\n-0001f470: 656c 2e20 286c 696e 6520 3332 290a 2a20 el. (line 32).* \n-0001f480: 7472 616e 7370 616c 7068 613a 2020 2020 transpalpha: \n+0001f340: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0001f350: 3130 290a 2a20 7472 616e 736c 6174 6520 10).* translate \n+0001f360: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n+0001f370: 2020 2020 2020 2020 2020 2020 2054 7261 Tra\n+0001f380: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n+0001f390: 2020 2028 6c69 6e65 2031 3529 0a2a 2074 (line 15).* t\n+0001f3a0: 7261 6e73 6c61 7465 203c 363e 3a20 2020 ranslate <6>: \n+0001f3b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f3c0: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n+0001f3d0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001f3e0: 6520 3537 290a 2a20 7472 616e 736c 6174 e 57).* translat\n+0001f3f0: 6520 3c37 3e3a 2020 2020 2020 2020 2020 e <7>: \n+0001f400: 2020 2020 2020 2020 2020 2020 2020 204f O\n+0001f410: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n+0001f420: 2020 2020 2028 6c69 6e65 2036 3929 0a2a (line 69).*\n+0001f430: 2074 7261 6e73 6c61 7465 203c 383e 3a20 translate <8>: \n+0001f440: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f450: 2020 2020 2020 2020 4120 6869 6572 6172 A hierar\n+0001f460: 6368 6963 616c 206d 6f64 656c 2e20 286c chical model. (l\n+0001f470: 696e 6520 3332 290a 2a20 7472 616e 7370 ine 32).* transp\n+0001f480: 616c 7068 613a 2020 2020 2020 2020 2020 alpha: \n 0001f490: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f4a0: 2020 2020 2020 2054 7261 6e73 7061 7265 Transpare\n-0001f4b0: 6e63 792e 2020 2020 2020 2020 2028 6c69 ncy. (li\n-0001f4c0: 6e65 2031 3029 0a2a 2075 6e69 743a 2020 ne 10).* unit: \n+0001f4a0: 2054 7261 6e73 7061 7265 6e63 792e 2020 Transparency. \n+0001f4b0: 2020 2020 2020 2028 6c69 6e65 2031 3029 (line 10)\n+0001f4c0: 0a2a 2075 6e69 743a 2020 2020 2020 2020 .* unit: \n 0001f4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f4e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f4f0: 556e 6172 7920 666f 726d 732e 2020 2020 Unary forms. \n-0001f500: 2020 2020 2020 286c 696e 6520 3133 290a (line 13).\n-0001f510: 2a20 756e 6974 203c 313e 3a20 2020 2020 * unit <1>: \n+0001f4e0: 2020 2020 2020 2020 2020 556e 6172 7920 Unary \n+0001f4f0: 666f 726d 732e 2020 2020 2020 2020 2020 forms. \n+0001f500: 286c 696e 6520 3133 290a 2a20 756e 6974 (line 13).* unit\n+0001f510: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n 0001f520: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f530: 2020 2020 2020 2020 2041 2074 6563 686e A techn\n-0001f540: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. (\n-0001f550: 6c69 6e65 2034 3129 0a2a 2076 6965 773a line 41).* view:\n+0001f530: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n+0001f540: 7261 7769 6e67 2e20 2028 6c69 6e65 2034 rawing. (line 4\n+0001f550: 3129 0a2a 2076 6965 773a 2020 2020 2020 1).* view: \n 0001f560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f570: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f580: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n-0001f590: 7261 6c73 2e20 2020 286c 696e 6520 3235 rals. (line 25\n-0001f5a0: 290a 2a20 7669 6577 203c 313e 3a20 2020 ).* view <1>: \n+0001f570: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n+0001f580: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n+0001f590: 2020 286c 696e 6520 3235 290a 2a20 7669 (line 25).* vi\n+0001f5a0: 6577 203c 313e 3a20 2020 2020 2020 2020 ew <1>: \n 0001f5b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f5c0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n-0001f5d0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n-0001f5e0: 2028 6c69 6e65 2033 3529 0a0a 1f0a 4669 (line 35)....Fi\n-0001f5f0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-0001f600: 2020 4e6f 6465 3a20 496e 6465 782c 2020 Node: Index, \n-0001f610: 5072 6576 3a20 496e 6465 7820 6f66 2073 Prev: Index of s\n-0001f620: 796e 7461 782c 2020 5570 3a20 546f 700a yntax, Up: Top.\n-0001f630: 0a49 6e64 6578 206f 6620 636f 6e63 6570 .Index of concep\n-0001f640: 7473 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ts.*************\n-0001f650: 2a2a 2a2a 0a0a 0008 5b69 6e64 6578 0008 ****....[index..\n-0001f660: 5d0a 2a20 4d65 6e75 3a0a 0a2a 2061 6666 ].* Menu:..* aff\n-0001f670: 696e 6520 6172 6974 686d 6574 6963 3a20 ine arithmetic: \n-0001f680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f690: 2020 2020 4166 6669 6e65 2061 7269 7468 Affine arith\n-0001f6a0: 6d65 7469 632e 2020 2028 6c69 6e65 2020 metic. (line \n-0001f6b0: 2038 290a 2a20 6166 6669 6e65 2061 7269 8).* affine ari\n-0001f6c0: 7468 6d65 7469 6320 3c31 3e3a 2020 2020 thmetic <1>: \n-0001f6d0: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n-0001f6e0: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n-0001f6f0: 2e20 286c 696e 6520 2034 3029 0a2a 2061 . (line 40).* a\n-0001f700: 6c74 6572 6e61 7469 7665 732c 2064 6566 lternatives, def\n-0001f710: 696e 6974 696f 6e3a 2020 2020 2020 2020 inition: \n-0001f720: 2020 2020 2020 466f 726d 7320 6f66 2064 Forms of d\n-0001f730: 6566 696e 6974 696f 6e73 2e0a 2020 2020 efinitions.. \n+0001f5c0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n+0001f5d0: 6974 6572 616c 732e 2020 2028 6c69 6e65 iterals. (line\n+0001f5e0: 2033 3529 0a0a 1f0a 4669 6c65 3a20 736b 35)....File: sk\n+0001f5f0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+0001f600: 3a20 496e 6465 782c 2020 5072 6576 3a20 : Index, Prev: \n+0001f610: 496e 6465 7820 6f66 2073 796e 7461 782c Index of syntax,\n+0001f620: 2020 5570 3a20 546f 700a 0a49 6e64 6578 Up: Top..Index\n+0001f630: 206f 6620 636f 6e63 6570 7473 0a2a 2a2a of concepts.***\n+0001f640: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a **************..\n+0001f650: 0008 5b69 6e64 6578 0008 5d0a 2a20 4d65 ..[index..].* Me\n+0001f660: 6e75 3a0a 0a2a 2061 6666 696e 6520 6172 nu:..* affine ar\n+0001f670: 6974 686d 6574 6963 3a20 2020 2020 2020 ithmetic: \n+0001f680: 2020 2020 2020 2020 2020 2020 2020 4166 Af\n+0001f690: 6669 6e65 2061 7269 7468 6d65 7469 632e fine arithmetic.\n+0001f6a0: 2020 2028 6c69 6e65 2020 2038 290a 2a20 (line 8).* \n+0001f6b0: 6166 6669 6e65 2061 7269 7468 6d65 7469 affine arithmeti\n+0001f6c0: 6320 3c31 3e3a 2020 2020 2020 2020 2020 c <1>: \n+0001f6d0: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n+0001f6e0: 616c 2064 7261 7769 6e67 2e20 286c 696e al drawing. (lin\n+0001f6f0: 6520 2034 3029 0a2a 2061 6c74 6572 6e61 e 40).* alterna\n+0001f700: 7469 7665 732c 2064 6566 696e 6974 696f tives, definitio\n+0001f710: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n+0001f720: 466f 726d 7320 6f66 2064 6566 696e 6974 Forms of definit\n+0001f730: 696f 6e73 2e0a 2020 2020 2020 2020 2020 ions.. \n 0001f740: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f750: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f770: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001f780: 2020 3629 0a2a 2061 7267 756d 656e 742c 6).* argument,\n-0001f790: 2073 7065 6369 616c 3a20 2020 2020 2020 special: \n-0001f7a0: 2020 2020 2020 2020 2020 2020 2020 5370 Sp\n-0001f7b0: 6563 6961 6c20 6f62 6a65 6374 732e 2020 ecial objects. \n-0001f7c0: 2020 2028 6c69 6e65 2020 3235 290a 2a20 (line 25).* \n-0001f7d0: 6172 6775 6d65 6e74 2c20 7370 6563 6961 argument, specia\n-0001f7e0: 6c20 3c31 3e3a 2020 2020 2020 2020 2020 l <1>: \n-0001f7f0: 2020 2020 2020 2053 7065 6369 616c 732e Specials.\n-0001f800: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0001f810: 6520 2031 3029 0a2a 2061 7373 6f63 6961 e 10).* associa\n-0001f820: 7469 7669 7479 2c20 6f70 6572 6174 6f72 tivity, operator\n-0001f830: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001f840: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin\n-0001f850: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. \n+0001f770: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+0001f780: 2061 7267 756d 656e 742c 2073 7065 6369 argument, speci\n+0001f790: 616c 3a20 2020 2020 2020 2020 2020 2020 al: \n+0001f7a0: 2020 2020 2020 2020 5370 6563 6961 6c20 Special \n+0001f7b0: 6f62 6a65 6374 732e 2020 2020 2028 6c69 objects. (li\n+0001f7c0: 6e65 2020 3235 290a 2a20 6172 6775 6d65 ne 25).* argume\n+0001f7d0: 6e74 2c20 7370 6563 6961 6c20 3c31 3e3a nt, special <1>:\n+0001f7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f7f0: 2053 7065 6369 616c 732e 2020 2020 2020 Specials. \n+0001f800: 2020 2020 2020 286c 696e 6520 2031 3029 (line 10)\n+0001f810: 0a2a 2061 7373 6f63 6961 7469 7669 7479 .* associativity\n+0001f820: 2c20 6f70 6572 6174 6f72 3a20 2020 2020 , operator: \n+0001f830: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op\n+0001f840: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n+0001f850: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. \n 0001f860: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f870: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f890: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001f8a0: 2035 3829 0a2a 2061 7869 732c 2072 6f74 58).* axis, rot\n-0001f8b0: 6174 696f 6e3a 2020 2020 2020 2020 2020 ation: \n-0001f8c0: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n-0001f8d0: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n-0001f8e0: 2020 2028 6c69 6e65 2020 3430 290a 2a20 (line 40).* \n-0001f8f0: 6261 636b 2066 6163 653a 2020 2020 2020 back face: \n+0001f890: 2020 2020 286c 696e 6520 2035 3829 0a2a (line 58).*\n+0001f8a0: 2061 7869 732c 2072 6f74 6174 696f 6e3a axis, rotation:\n+0001f8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f8c0: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t\n+0001f8d0: 7261 6e73 666f 726d 732e 2020 2028 6c69 ransforms. (li\n+0001f8e0: 6e65 2020 3430 290a 2a20 6261 636b 2066 ne 40).* back f\n+0001f8f0: 6163 653a 2020 2020 2020 2020 2020 2020 ace: \n 0001f900: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f910: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a\n-0001f920: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin\n-0001f930: 6520 2033 3529 0a2a 2062 6173 656c 696e e 35).* baselin\n-0001f940: 6520 6672 6163 7469 6f6e 3a20 2020 2020 e fraction: \n-0001f950: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f960: 5069 6374 7572 6520 626f 782e 2020 2020 Picture box. \n-0001f970: 2020 2020 2028 6c69 6e65 2020 3130 290a (line 10).\n-0001f980: 2a20 6269 6e61 7279 2066 6f72 6d3a 2020 * binary form: \n+0001f910: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid\n+0001f920: 2e20 2020 2020 286c 696e 6520 2033 3529 . (line 35)\n+0001f930: 0a2a 2062 6173 656c 696e 6520 6672 6163 .* baseline frac\n+0001f940: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n+0001f950: 2020 2020 2020 2020 2020 5069 6374 7572 Pictur\n+0001f960: 6520 626f 782e 2020 2020 2020 2020 2028 e box. (\n+0001f970: 6c69 6e65 2020 3130 290a 2a20 6269 6e61 line 10).* bina\n+0001f980: 7279 2066 6f72 6d3a 2020 2020 2020 2020 ry form: \n 0001f990: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f9a0: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope\n-0001f9b0: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo\n-0001f9c0: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. \n+0001f9a0: 2020 2054 776f 2d6f 7065 7261 6e64 2028 Two-operand (\n+0001f9b0: 6269 6e61 7279 2920 666f 726d 732e 0a20 binary) forms.. \n+0001f9c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f9e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fa00: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n-0001fa10: 6269 6e61 7279 2073 7061 6365 2070 6172 binary space par\n-0001fa20: 7469 7469 6f6e 3a20 2020 2020 2020 2020 tition: \n-0001fa30: 2020 2020 2020 2048 6964 6465 6e20 7375 Hidden su\n-0001fa40: 7266 6163 6520 7265 6d6f 7661 6c2e 0a20 rface removal.. \n+0001f9f0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001fa00: 6e65 2020 2036 290a 2a20 6269 6e61 7279 ne 6).* binary\n+0001fa10: 2073 7061 6365 2070 6172 7469 7469 6f6e space partition\n+0001fa20: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001fa30: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface \n+0001fa40: 7265 6d6f 7661 6c2e 0a20 2020 2020 2020 removal.. \n 0001fa50: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001fa60: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001fa70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fa80: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0001fa90: 6e65 2020 3233 290a 2a20 6269 6e61 7279 ne 23).* binary\n-0001faa0: 2073 7061 6365 2070 6172 7469 7469 6f6e space partition\n-0001fab0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-0001fac0: 2053 7461 7469 7374 6963 732e 2020 2020 Statistics. \n-0001fad0: 2020 2020 2020 286c 696e 6520 2031 3329 (line 13)\n-0001fae0: 0a2a 2062 696e 6172 7920 7370 6163 6520 .* binary space \n-0001faf0: 7061 7274 6974 696f 6e20 3c32 3e3a 2020 partition <2>: \n-0001fb00: 2020 2020 2020 2020 2020 436f 6d6d 616e Comman\n-0001fb10: 6420 6c69 6e65 2e20 2020 2020 2020 2028 d line. (\n-0001fb20: 6c69 6e65 2020 3236 290a 2a20 626c 6f63 line 26).* bloc\n-0001fb30: 6b3a 2020 2020 2020 2020 2020 2020 2020 k: \n-0001fb40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fb50: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n-0001fb60: 6f72 6d73 2e20 2020 286c 696e 6520 2032 orms. (line 2\n-0001fb70: 3429 0a2a 2062 6c6f 636b 203c 313e 3a20 4).* block <1>: \n+0001fa80: 2020 2020 2020 2028 6c69 6e65 2020 3233 (line 23\n+0001fa90: 290a 2a20 6269 6e61 7279 2073 7061 6365 ).* binary space\n+0001faa0: 2070 6172 7469 7469 6f6e 203c 313e 3a20 partition <1>: \n+0001fab0: 2020 2020 2020 2020 2020 2053 7461 7469 Stati\n+0001fac0: 7374 6963 732e 2020 2020 2020 2020 2020 stics. \n+0001fad0: 286c 696e 6520 2031 3329 0a2a 2062 696e (line 13).* bin\n+0001fae0: 6172 7920 7370 6163 6520 7061 7274 6974 ary space partit\n+0001faf0: 696f 6e20 3c32 3e3a 2020 2020 2020 2020 ion <2>: \n+0001fb00: 2020 2020 436f 6d6d 616e 6420 6c69 6e65 Command line\n+0001fb10: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line \n+0001fb20: 3236 290a 2a20 626c 6f63 6b3a 2020 2020 26).* block: \n+0001fb30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001fb40: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n+0001fb50: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n+0001fb60: 2020 286c 696e 6520 2032 3429 0a2a 2062 (line 24).* b\n+0001fb70: 6c6f 636b 203c 313e 3a20 2020 2020 2020 lock <1>: \n 0001fb80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fb90: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-0001fba0: 7420 626c 6f63 6b73 2e20 2020 2020 2020 t blocks. \n-0001fbb0: 2028 6c69 6e65 2020 2037 290a 2a20 626c (line 7).* bl\n-0001fbc0: 6f63 6b20 3c32 3e3a 2020 2020 2020 2020 ock <2>: \n-0001fbd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fbe0: 2020 2020 2042 6c6f 636b 732e 2020 2020 Blocks. \n-0001fbf0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001fc00: 2020 3629 0a2a 2062 6c6f 636b 2073 7765 6).* block swe\n-0001fc10: 6570 3a20 2020 2020 2020 2020 2020 2020 ep: \n-0001fc20: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-0001fc30: 6570 7420 626c 6f63 6b73 2e20 2020 2020 ept blocks. \n-0001fc40: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n-0001fc50: 626f 6479 2070 6f6c 7967 6f6e 3a20 2020 body polygon: \n+0001fb90: 2020 2020 2020 5377 6570 7420 626c 6f63 Swept bloc\n+0001fba0: 6b73 2e20 2020 2020 2020 2028 6c69 6e65 ks. (line\n+0001fbb0: 2020 2037 290a 2a20 626c 6f63 6b20 3c32 7).* block <2\n+0001fbc0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001fbd0: 2020 2020 2020 2020 2020 2020 2020 2042 B\n+0001fbe0: 6c6f 636b 732e 2020 2020 2020 2020 2020 locks. \n+0001fbf0: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+0001fc00: 2062 6c6f 636b 2073 7765 6570 3a20 2020 block sweep: \n+0001fc10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001fc20: 2020 2020 2020 2020 5377 6570 7420 626c Swept bl\n+0001fc30: 6f63 6b73 2e20 2020 2020 2020 2028 6c69 ocks. (li\n+0001fc40: 6e65 2020 2036 290a 2a20 626f 6479 2070 ne 6).* body p\n+0001fc50: 6f6c 7967 6f6e 3a20 2020 2020 2020 2020 olygon: \n 0001fc60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fc70: 2020 2020 2020 2049 6e74 6572 6e61 6c20 Internal \n-0001fc80: 6f70 7469 6f6e 732e 2020 2020 286c 696e options. (lin\n-0001fc90: 6520 2031 3629 0a2a 2062 6f64 7920 706f e 16).* body po\n-0001fca0: 6c79 676f 6e20 3c31 3e3a 2020 2020 2020 lygon <1>: \n-0001fcb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fcc0: 5377 6570 7420 6c69 6e65 732e 2020 2020 Swept lines. \n-0001fcd0: 2020 2020 2028 6c69 6e65 2020 3130 290a (line 10).\n-0001fce0: 2a20 626f 6479 2070 6f6c 7967 6f6e 203c * body polygon <\n-0001fcf0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n-0001fd00: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p\n-0001fd10: 6f6c 7967 6f6e 732e 2020 2020 2020 286c olygons. (l\n-0001fd20: 696e 6520 2020 3929 0a2a 2062 6f75 6e64 ine 9).* bound\n-0001fd30: 696e 6720 626f 783a 2020 2020 2020 2020 ing box: \n-0001fd40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fd50: 2020 5069 6374 7572 6520 626f 782e 2020 Picture box. \n-0001fd60: 2020 2020 2020 2028 6c69 6e65 2020 3135 (line 15\n-0001fd70: 290a 2a20 4253 502c 2062 696e 6172 7920 ).* BSP, binary \n-0001fd80: 7370 6163 6520 7061 7274 6974 696f 6e3a space partition:\n-0001fd90: 2020 2020 2020 2020 2020 2048 6964 6465 Hidde\n-0001fda0: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova\n-0001fdb0: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. \n+0001fc70: 2049 6e74 6572 6e61 6c20 6f70 7469 6f6e Internal option\n+0001fc80: 732e 2020 2020 286c 696e 6520 2031 3629 s. (line 16)\n+0001fc90: 0a2a 2062 6f64 7920 706f 6c79 676f 6e20 .* body polygon \n+0001fca0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+0001fcb0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+0001fcc0: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. (\n+0001fcd0: 6c69 6e65 2020 3130 290a 2a20 626f 6479 line 10).* body\n+0001fce0: 2070 6f6c 7967 6f6e 203c 323e 3a20 2020 polygon <2>: \n+0001fcf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001fd00: 2020 2053 7765 7074 2070 6f6c 7967 6f6e Swept polygon\n+0001fd10: 732e 2020 2020 2020 286c 696e 6520 2020 s. (line \n+0001fd20: 3929 0a2a 2062 6f75 6e64 696e 6720 626f 9).* bounding bo\n+0001fd30: 783a 2020 2020 2020 2020 2020 2020 2020 x: \n+0001fd40: 2020 2020 2020 2020 2020 2020 5069 6374 Pict\n+0001fd50: 7572 6520 626f 782e 2020 2020 2020 2020 ure box. \n+0001fd60: 2028 6c69 6e65 2020 3135 290a 2a20 4253 (line 15).* BS\n+0001fd70: 502c 2062 696e 6172 7920 7370 6163 6520 P, binary space \n+0001fd80: 7061 7274 6974 696f 6e3a 2020 2020 2020 partition: \n+0001fd90: 2020 2020 2048 6964 6465 6e20 7375 7266 Hidden surf\n+0001fda0: 6163 6520 7265 6d6f 7661 6c2e 0a20 2020 ace removal.. \n+0001fdb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001fdc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001fdd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fdf0: 2028 6c69 6e65 2020 3233 290a 2a20 4253 (line 23).* BS\n-0001fe00: 502c 2062 696e 6172 7920 7370 6163 6520 P, binary space \n-0001fe10: 7061 7274 6974 696f 6e20 3c31 3e3a 2020 partition <1>: \n-0001fe20: 2020 2020 2043 6f6d 6d61 6e64 206c 696e Command lin\n-0001fe30: 652e 2020 2020 2020 2020 286c 696e 6520 e. (line \n-0001fe40: 2032 3629 0a2a 2063 616d 6572 613a 2020 26).* camera: \n+0001fde0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001fdf0: 2020 3233 290a 2a20 4253 502c 2062 696e 23).* BSP, bin\n+0001fe00: 6172 7920 7370 6163 6520 7061 7274 6974 ary space partit\n+0001fe10: 696f 6e20 3c31 3e3a 2020 2020 2020 2043 ion <1>: C\n+0001fe20: 6f6d 6d61 6e64 206c 696e 652e 2020 2020 ommand line. \n+0001fe30: 2020 2020 286c 696e 6520 2032 3629 0a2a (line 26).*\n+0001fe40: 2063 616d 6572 613a 2020 2020 2020 2020 camera: \n 0001fe50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fe60: 2020 2020 2020 2020 2020 2020 2020 4361 Ca\n-0001fe70: 6d65 7261 2e20 2020 2020 2020 2020 2020 mera. \n-0001fe80: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n-0001fe90: 6365 6e74 6572 206f 6620 726f 7461 7469 center of rotati\n-0001fea0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n-0001feb0: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n-0001fec0: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin\n-0001fed0: 6520 2020 3829 0a2a 2063 656e 7465 7220 e 8).* center \n-0001fee0: 6f66 2072 6f74 6174 696f 6e20 3c31 3e3a of rotation <1>:\n-0001fef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ff00: 4e65 7374 6564 2073 7765 6570 732e 2020 Nested sweeps. \n-0001ff10: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-0001ff20: 2a20 6365 6e74 726f 6964 3a20 2020 2020 * centroid: \n+0001fe60: 2020 2020 2020 2020 4361 6d65 7261 2e20 Camera. \n+0001fe70: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001fe80: 6e65 2020 2036 290a 2a20 6365 6e74 6572 ne 6).* center\n+0001fe90: 206f 6620 726f 7461 7469 6f6e 3a20 2020 of rotation: \n+0001fea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001feb0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n+0001fec0: 6d73 2e20 2020 286c 696e 6520 2020 3829 ms. (line 8)\n+0001fed0: 0a2a 2063 656e 7465 7220 6f66 2072 6f74 .* center of rot\n+0001fee0: 6174 696f 6e20 3c31 3e3a 2020 2020 2020 ation <1>: \n+0001fef0: 2020 2020 2020 2020 2020 4e65 7374 6564 Nested\n+0001ff00: 2073 7765 6570 732e 2020 2020 2020 2028 sweeps. (\n+0001ff10: 6c69 6e65 2020 2036 290a 2a20 6365 6e74 line 6).* cent\n+0001ff20: 726f 6964 3a20 2020 2020 2020 2020 2020 roid: \n 0001ff30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ff40: 2020 2020 2020 2020 2041 2074 6563 686e A techn\n-0001ff50: 6963 616c 2064 7261 7769 6e67 2e20 286c ical drawing. (l\n-0001ff60: 696e 6520 2036 3429 0a2a 2063 656e 7472 ine 64).* centr\n-0001ff70: 6f69 6420 3c31 3e3a 2020 2020 2020 2020 oid <1>: \n-0001ff80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ff90: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr\n-0001ffa0: 6177 696e 672e 2028 6c69 6e65 2031 3032 awing. (line 102\n-0001ffb0: 290a 2a20 636c 6970 7069 6e67 3a20 2020 ).* clipping: \n+0001ff40: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n+0001ff50: 7261 7769 6e67 2e20 286c 696e 6520 2036 rawing. (line 6\n+0001ff60: 3429 0a2a 2063 656e 7472 6f69 6420 3c31 4).* centroid <1\n+0001ff70: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001ff80: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n+0001ff90: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n+0001ffa0: 2028 6c69 6e65 2031 3032 290a 2a20 636c (line 102).* cl\n+0001ffb0: 6970 7069 6e67 3a20 2020 2020 2020 2020 ipping: \n 0001ffc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ffd0: 2020 2020 2020 2020 2020 2050 6963 7475 Pictu\n-0001ffe0: 7265 2062 6f78 2e20 2020 2020 2020 2020 re box. \n-0001fff0: 286c 696e 6520 2031 3729 0a2a 2063 6c69 (line 17).* cli\n-00020000: 7070 696e 6720 3c31 3e3a 2020 2020 2020 pping <1>: \n-00020010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020020: 2020 2020 436c 6970 7069 6e67 2e20 2020 Clipping. \n-00020030: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00020040: 2036 290a 2a20 636c 6f73 7572 6520 7461 6).* closure ta\n-00020050: 672c 203c 3e3a 2020 2020 2020 2020 2020 g, <>: \n-00020060: 2020 2020 2020 2020 2020 2020 2050 6f69 Poi\n-00020070: 6e74 2073 7765 6570 732e 2020 2020 2020 nt sweeps. \n-00020080: 2020 286c 696e 6520 2031 3829 0a2a 2063 (line 18).* c\n-00020090: 6c6f 7375 7265 2074 6167 2c20 3c3e 203c losure tag, <> <\n-000200a0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-000200b0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n-000200c0: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu\n-000200d0: 7265 2e0a 2020 2020 2020 2020 2020 2020 re.. \n+0001ffd0: 2020 2020 2050 6963 7475 7265 2062 6f78 Picture box\n+0001ffe0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n+0001fff0: 2031 3729 0a2a 2063 6c69 7070 696e 6720 17).* clipping \n+00020000: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00020010: 2020 2020 2020 2020 2020 2020 2020 436c Cl\n+00020020: 6970 7069 6e67 2e20 2020 2020 2020 2020 ipping. \n+00020030: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00020040: 636c 6f73 7572 6520 7461 672c 203c 3e3a closure tag, <>:\n+00020050: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020060: 2020 2020 2020 2050 6f69 6e74 2073 7765 Point swe\n+00020070: 6570 732e 2020 2020 2020 2020 286c 696e eps. (lin\n+00020080: 6520 2031 3829 0a2a 2063 6c6f 7375 7265 e 18).* closure\n+00020090: 2074 6167 2c20 3c3e 203c 313e 3a20 2020 tag, <> <1>: \n+000200a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000200b0: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps \n+000200c0: 7769 7468 2063 6c6f 7375 7265 2e0a 2020 with closure.. \n+000200d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000200e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000200f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020110: 2020 286c 696e 6520 2020 3629 0a2a 2063 (line 6).* c\n-00020120: 6c6f 7375 7265 2074 6167 2c20 3c3e 203c losure tag, <> <\n-00020130: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n-00020140: 2020 2020 2020 5377 6565 7073 2e20 2020 Sweeps. \n-00020150: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00020160: 2020 3139 290a 2a20 636c 6f73 7572 6520 19).* closure \n-00020170: 7461 672c 203c 3e20 3c33 3e3a 2020 2020 tag, <> <3>: \n-00020180: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00020190: 7765 7074 2070 6f69 6e74 732e 2020 2020 wept points. \n-000201a0: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n-000201b0: 2063 6c6f 7375 7265 2074 6167 2c20 3c3e closure tag, <>\n-000201c0: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n-000201d0: 2020 2020 2020 2020 5377 6570 7420 706f Swept po\n-000201e0: 696e 7473 2e20 2020 2020 2020 2028 6c69 ints. (li\n-000201f0: 6e65 2020 3133 290a 2a20 636c 6f73 7572 ne 13).* closur\n-00020200: 6520 7461 672c 203c 3e20 3c35 3e3a 2020 e tag, <> <5>: \n-00020210: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020220: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. \n-00020230: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n-00020240: 0a2a 2063 6c6f 7375 7265 2074 6167 2c20 .* closure tag, \n-00020250: 3c3e 203c 363e 3a20 2020 2020 2020 2020 <> <6>: \n-00020260: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-00020270: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. (\n-00020280: 6c69 6e65 2020 3238 290a 2a20 636c 6f73 line 28).* clos\n-00020290: 7572 6520 7461 672c 203c 3e20 3c37 3e3a ure tag, <> <7>:\n-000202a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000202b0: 2020 2053 7765 6570 2066 6163 6520 7370 Sweep face sp\n-000202c0: 6c69 7474 696e 672e 0a20 2020 2020 2020 litting.. \n+00020100: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00020110: 6520 2020 3629 0a2a 2063 6c6f 7375 7265 e 6).* closure\n+00020120: 2074 6167 2c20 3c3e 203c 323e 3a20 2020 tag, <> <2>: \n+00020130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020140: 5377 6565 7073 2e20 2020 2020 2020 2020 Sweeps. \n+00020150: 2020 2020 2028 6c69 6e65 2020 3139 290a (line 19).\n+00020160: 2a20 636c 6f73 7572 6520 7461 672c 203c * closure tag, <\n+00020170: 3e20 3c33 3e3a 2020 2020 2020 2020 2020 > <3>: \n+00020180: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p\n+00020190: 6f69 6e74 732e 2020 2020 2020 2020 286c oints. (l\n+000201a0: 696e 6520 2020 3629 0a2a 2063 6c6f 7375 ine 6).* closu\n+000201b0: 7265 2074 6167 2c20 3c3e 203c 343e 3a20 re tag, <> <4>: \n+000201c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000201d0: 2020 5377 6570 7420 706f 696e 7473 2e20 Swept points. \n+000201e0: 2020 2020 2020 2028 6c69 6e65 2020 3133 (line 13\n+000201f0: 290a 2a20 636c 6f73 7572 6520 7461 672c ).* closure tag,\n+00020200: 203c 3e20 3c35 3e3a 2020 2020 2020 2020 <> <5>: \n+00020210: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n+00020220: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. \n+00020230: 286c 696e 6520 2020 3629 0a2a 2063 6c6f (line 6).* clo\n+00020240: 7375 7265 2074 6167 2c20 3c3e 203c 363e sure tag, <> <6>\n+00020250: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00020260: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines.\n+00020270: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00020280: 3238 290a 2a20 636c 6f73 7572 6520 7461 28).* closure ta\n+00020290: 672c 203c 3e20 3c37 3e3a 2020 2020 2020 g, <> <7>: \n+000202a0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+000202b0: 6570 2066 6163 6520 7370 6c69 7474 696e ep face splittin\n+000202c0: 672e 0a20 2020 2020 2020 2020 2020 2020 g.. \n 000202d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000202e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000202f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020300: 2020 2020 2020 2028 6c69 6e65 2020 3131 (line 11\n-00020310: 290a 2a20 636f 6d6d 616e 6420 6c69 6e65 ).* command line\n-00020320: 206f 7074 696f 6e3a 2020 2020 2020 2020 option: \n-00020330: 2020 2020 2020 2020 2020 2048 656c 6c6f Hello\n-00020340: 2077 6f72 6c64 2e20 2020 2020 2020 2020 world. \n-00020350: 286c 696e 6520 2033 3029 0a2a 2063 6f6d (line 30).* com\n-00020360: 6d61 6e64 206c 696e 6520 6f70 7469 6f6e mand line option\n-00020370: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n-00020380: 2020 2020 436f 6d6d 616e 6420 6c69 6e65 Command line\n-00020390: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line \n-000203a0: 3134 290a 2a20 636f 6d6d 616e 6420 6c69 14).* command li\n-000203b0: 6e65 2c20 736b 6574 6368 3a20 2020 2020 ne, sketch: \n-000203c0: 2020 2020 2020 2020 2020 2020 2048 656c Hel\n-000203d0: 6c6f 2077 6f72 6c64 2e20 2020 2020 2020 lo world. \n-000203e0: 2020 286c 696e 6520 2020 3929 0a2a 2063 (line 9).* c\n-000203f0: 6f6d 6d61 6e64 206c 696e 652c 2073 6b65 ommand line, ske\n-00020400: 7463 6820 3c31 3e3a 2020 2020 2020 2020 tch <1>: \n-00020410: 2020 2020 2020 436f 6d6d 616e 6420 6c69 Command li\n-00020420: 6e65 2e20 2020 2020 2020 2028 6c69 6e65 ne. (line\n-00020430: 2020 2036 290a 2a20 636f 6d6d 656e 7473 6).* comments\n-00020440: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00020450: 2020 2020 2020 2020 2020 2020 2020 2044 D\n-00020460: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. \n-00020470: 2020 2020 286c 696e 6520 2032 3829 0a2a (line 28).*\n-00020480: 2063 6f6d 6d65 6e74 7320 3c31 3e3a 2020 comments <1>: \n+00020300: 2028 6c69 6e65 2020 3131 290a 2a20 636f (line 11).* co\n+00020310: 6d6d 616e 6420 6c69 6e65 206f 7074 696f mmand line optio\n+00020320: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n+00020330: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world\n+00020340: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n+00020350: 2033 3029 0a2a 2063 6f6d 6d61 6e64 206c 30).* command l\n+00020360: 696e 6520 6f70 7469 6f6e 733a 2020 2020 ine options: \n+00020370: 2020 2020 2020 2020 2020 2020 2020 436f Co\n+00020380: 6d6d 616e 6420 6c69 6e65 2e20 2020 2020 mmand line. \n+00020390: 2020 2028 6c69 6e65 2020 3134 290a 2a20 (line 14).* \n+000203a0: 636f 6d6d 616e 6420 6c69 6e65 2c20 736b command line, sk\n+000203b0: 6574 6368 3a20 2020 2020 2020 2020 2020 etch: \n+000203c0: 2020 2020 2020 2048 656c 6c6f 2077 6f72 Hello wor\n+000203d0: 6c64 2e20 2020 2020 2020 2020 286c 696e ld. (lin\n+000203e0: 6520 2020 3929 0a2a 2063 6f6d 6d61 6e64 e 9).* command\n+000203f0: 206c 696e 652c 2073 6b65 7463 6820 3c31 line, sketch <1\n+00020400: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00020410: 436f 6d6d 616e 6420 6c69 6e65 2e20 2020 Command line. \n+00020420: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n+00020430: 2a20 636f 6d6d 656e 7473 3a20 2020 2020 * comments: \n+00020440: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020450: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing\n+00020460: 2061 2073 6f6c 6964 2e20 2020 2020 286c a solid. (l\n+00020470: 696e 6520 2032 3829 0a2a 2063 6f6d 6d65 ine 28).* comme\n+00020480: 6e74 7320 3c31 3e3a 2020 2020 2020 2020 nts <1>: \n 00020490: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000204a0: 2020 2020 2020 2020 4c61 6e67 7561 6765 Language\n-000204b0: 2062 6173 6963 732e 2020 2020 2028 6c69 basics. (li\n-000204c0: 6e65 2020 3138 290a 2a20 636f 6e73 7472 ne 18).* constr\n-000204d0: 7563 746f 723a 2020 2020 2020 2020 2020 uctor: \n-000204e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000204f0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-00020500: 616c 732e 2020 286c 696e 6520 2020 3629 als. (line 6)\n-00020510: 0a2a 2063 6f6f 7264 696e 6174 6520 7379 .* coordinate sy\n-00020520: 7374 656d 2c20 7269 6768 742d 6861 6e64 stem, right-hand\n-00020530: 6564 3a20 2020 2020 2020 496e 7472 6f64 ed: Introd\n-00020540: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl\n-00020550: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. \n+000204a0: 2020 4c61 6e67 7561 6765 2062 6173 6963 Language basic\n+000204b0: 732e 2020 2020 2028 6c69 6e65 2020 3138 s. (line 18\n+000204c0: 290a 2a20 636f 6e73 7472 7563 746f 723a ).* constructor:\n+000204d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000204e0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n+000204f0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n+00020500: 286c 696e 6520 2020 3629 0a2a 2063 6f6f (line 6).* coo\n+00020510: 7264 696e 6174 6520 7379 7374 656d 2c20 rdinate system, \n+00020520: 7269 6768 742d 6861 6e64 6564 3a20 2020 right-handed: \n+00020530: 2020 2020 496e 7472 6f64 7563 7469 6f6e Introduction\n+00020540: 2062 7920 6578 616d 706c 652e 0a20 2020 by example.. \n+00020550: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00020560: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00020570: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020590: 2028 6c69 6e65 2020 3131 290a 2a20 636f (line 11).* co\n-000205a0: 756e 7465 722d 636c 6f63 6b77 6973 6520 unter-clockwise \n-000205b0: 706f 6c79 676f 6e20 7665 7274 6578 206f polygon vertex o\n-000205c0: 7264 6572 3a20 4865 6c6c 6f20 776f 726c rder: Hello worl\n-000205d0: 642e 2020 2020 2020 2020 286c 696e 6520 d. (line \n-000205e0: 2033 3929 0a2a 2063 756c 6c69 6e67 3a20 39).* culling: \n+00020580: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00020590: 2020 3131 290a 2a20 636f 756e 7465 722d 11).* counter-\n+000205a0: 636c 6f63 6b77 6973 6520 706f 6c79 676f clockwise polygo\n+000205b0: 6e20 7665 7274 6578 206f 7264 6572 3a20 n vertex order: \n+000205c0: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. \n+000205d0: 2020 2020 286c 696e 6520 2033 3929 0a2a (line 39).*\n+000205e0: 2063 756c 6c69 6e67 3a20 2020 2020 2020 culling: \n 000205f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020600: 2020 2020 2020 2020 2020 2020 2020 4865 He\n-00020610: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. \n-00020620: 2020 2028 6c69 6e65 2020 3433 290a 2a20 (line 43).* \n-00020630: 6375 6c6c 696e 6720 3c31 3e3a 2020 2020 culling <1>: \n+00020600: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo\n+00020610: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li\n+00020620: 6e65 2020 3433 290a 2a20 6375 6c6c 696e ne 43).* cullin\n+00020630: 6720 3c31 3e3a 2020 2020 2020 2020 2020 g <1>: \n 00020640: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020650: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a\n-00020660: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin\n-00020670: 6520 2033 3529 0a2a 2063 756c 6c69 6e67 e 35).* culling\n-00020680: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-00020690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000206a0: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid.\n-000206b0: 2020 2020 2028 6c69 6e65 2020 3431 290a (line 41).\n-000206c0: 2a20 6375 6c6c 696e 6720 3c33 3e3a 2020 * culling <3>: \n+00020650: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid\n+00020660: 2e20 2020 2020 286c 696e 6520 2033 3529 . (line 35)\n+00020670: 0a2a 2063 756c 6c69 6e67 203c 323e 3a20 .* culling <2>: \n+00020680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020690: 2020 2020 2020 2020 2020 4472 6177 696e Drawin\n+000206a0: 6720 6120 736f 6c69 642e 2020 2020 2028 g a solid. (\n+000206b0: 6c69 6e65 2020 3431 290a 2a20 6375 6c6c line 41).* cull\n+000206c0: 696e 6720 3c33 3e3a 2020 2020 2020 2020 ing <3>: \n 000206d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000206e0: 2020 2020 2020 2020 2053 7765 7074 206c Swept l\n-000206f0: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l\n-00020700: 696e 6520 2031 3629 0a2a 2064 6563 6c61 ine 16).* decla\n-00020710: 7261 7469 7665 206c 616e 6775 6167 653a rative language:\n-00020720: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020730: 2020 4c61 6e67 7561 6765 2062 6173 6963 Language basic\n-00020740: 732e 2020 2020 2028 6c69 6e65 2020 2038 s. (line 8\n-00020750: 290a 2a20 6465 6669 6e69 7469 6f6e 3a20 ).* definition: \n+000206e0: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. \n+000206f0: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1\n+00020700: 3629 0a2a 2064 6563 6c61 7261 7469 7665 6).* declarative\n+00020710: 206c 616e 6775 6167 653a 2020 2020 2020 language: \n+00020720: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang\n+00020730: 7561 6765 2062 6173 6963 732e 2020 2020 uage basics. \n+00020740: 2028 6c69 6e65 2020 2038 290a 2a20 6465 (line 8).* de\n+00020750: 6669 6e69 7469 6f6e 3a20 2020 2020 2020 finition: \n 00020760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020770: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi\n-00020780: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. \n-00020790: 286c 696e 6520 2032 3229 0a2a 2064 6566 (line 22).* def\n-000207a0: 696e 6974 696f 6e20 3c31 3e3a 2020 2020 inition <1>: \n-000207b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000207c0: 2020 2020 4465 6669 6e69 7469 6f6e 732e Definitions.\n-000207d0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-000207e0: 2036 290a 2a20 6465 6669 6e69 7469 6f6e 6).* definition\n-000207f0: 2077 6974 6820 616c 7465 726e 6174 6976 with alternativ\n-00020800: 6573 3a20 2020 2020 2020 2020 2046 6f72 es: For\n-00020810: 6d73 206f 6620 6465 6669 6e69 7469 6f6e ms of definition\n-00020820: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+00020770: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s\n+00020780: 6f6c 6964 2e20 2020 2020 286c 696e 6520 olid. (line \n+00020790: 2032 3229 0a2a 2064 6566 696e 6974 696f 22).* definitio\n+000207a0: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: \n+000207b0: 2020 2020 2020 2020 2020 2020 2020 4465 De\n+000207c0: 6669 6e69 7469 6f6e 732e 2020 2020 2020 finitions. \n+000207d0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+000207e0: 6465 6669 6e69 7469 6f6e 2077 6974 6820 definition with \n+000207f0: 616c 7465 726e 6174 6976 6573 3a20 2020 alternatives: \n+00020800: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of \n+00020810: 6465 6669 6e69 7469 6f6e 732e 0a20 2020 definitions.. \n+00020820: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00020830: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00020840: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020850: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020860: 2028 6c69 6e65 2020 2036 290a 2a20 6465 (line 6).* de\n-00020870: 6669 6e69 7469 6f6e 2c20 6472 6177 6162 finition, drawab\n-00020880: 6c65 3a20 2020 2020 2020 2020 2020 2020 le: \n-00020890: 2020 2020 204f 626a 6563 7420 7472 616e Object tran\n-000208a0: 7366 6f72 6d73 2e20 2020 286c 696e 6520 sforms. (line \n-000208b0: 2032 3729 0a2a 2064 6566 696e 6974 696f 27).* definitio\n-000208c0: 6e2c 206f 7074 696f 6e73 3a20 2020 2020 n, options: \n-000208d0: 2020 2020 2020 2020 2020 2020 2020 506f Po\n-000208e0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi\n-000208f0: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. \n+00020850: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00020860: 2020 2036 290a 2a20 6465 6669 6e69 7469 6).* definiti\n+00020870: 6f6e 2c20 6472 6177 6162 6c65 3a20 2020 on, drawable: \n+00020880: 2020 2020 2020 2020 2020 2020 2020 204f O\n+00020890: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n+000208a0: 2e20 2020 286c 696e 6520 2032 3729 0a2a . (line 27).*\n+000208b0: 2064 6566 696e 6974 696f 6e2c 206f 7074 definition, opt\n+000208c0: 696f 6e73 3a20 2020 2020 2020 2020 2020 ions: \n+000208d0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n+000208e0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n+000208f0: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. \n 00020900: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00020910: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00020920: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020930: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00020940: 2032 3329 0a2a 2064 6566 696e 6974 696f 23).* definitio\n-00020950: 6e2c 2070 6f69 6e74 3a20 2020 2020 2020 n, point: \n-00020960: 2020 2020 2020 2020 2020 2020 2020 4472 Dr\n-00020970: 6177 696e 6720 6120 736f 6c69 642e 2020 awing a solid. \n-00020980: 2020 2028 6c69 6e65 2020 3233 290a 2a20 (line 23).* \n-00020990: 6465 6669 6e69 7469 6f6e 2c20 7363 616c definition, scal\n-000209a0: 6172 3a20 2020 2020 2020 2020 2020 2020 ar: \n-000209b0: 2020 2020 2020 2053 7765 7074 206f 626a Swept obj\n-000209c0: 6563 7473 2e20 2020 2020 2020 286c 696e ects. (lin\n-000209d0: 6520 2031 3329 0a2a 2064 6566 696e 6974 e 13).* definit\n-000209e0: 696f 6e2c 2073 696d 706c 653a 2020 2020 ion, simple: \n-000209f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020a00: 466f 726d 7320 6f66 2064 6566 696e 6974 Forms of definit\n-00020a10: 696f 6e73 2e0a 2020 2020 2020 2020 2020 ions.. \n+00020930: 2020 2020 286c 696e 6520 2032 3329 0a2a (line 23).*\n+00020940: 2064 6566 696e 6974 696f 6e2c 2070 6f69 definition, poi\n+00020950: 6e74 3a20 2020 2020 2020 2020 2020 2020 nt: \n+00020960: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n+00020970: 6120 736f 6c69 642e 2020 2020 2028 6c69 a solid. (li\n+00020980: 6e65 2020 3233 290a 2a20 6465 6669 6e69 ne 23).* defini\n+00020990: 7469 6f6e 2c20 7363 616c 6172 3a20 2020 tion, scalar: \n+000209a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000209b0: 2053 7765 7074 206f 626a 6563 7473 2e20 Swept objects. \n+000209c0: 2020 2020 2020 286c 696e 6520 2031 3329 (line 13)\n+000209d0: 0a2a 2064 6566 696e 6974 696f 6e2c 2073 .* definition, s\n+000209e0: 696d 706c 653a 2020 2020 2020 2020 2020 imple: \n+000209f0: 2020 2020 2020 2020 2020 466f 726d 7320 Forms \n+00020a00: 6f66 2064 6566 696e 6974 696f 6e73 2e0a of definitions..\n+00020a10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00020a20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00020a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020a50: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n-00020a60: 2064 6566 696e 6974 696f 6e2c 2074 6167 definition, tag\n-00020a70: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00020a80: 2020 2020 2020 2020 4465 6669 6e69 7469 Definiti\n-00020a90: 6f6e 732e 2020 2020 2020 2020 2028 6c69 ons. (li\n-00020aa0: 6e65 2020 3138 290a 2a20 6465 6669 6e69 ne 18).* defini\n-00020ab0: 7469 6f6e 2c20 7461 6720 3c31 3e3a 2020 tion, tag <1>: \n-00020ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020ad0: 2046 6f72 6d73 206f 6620 6465 6669 6e69 Forms of defini\n-00020ae0: 7469 6f6e 732e 0a20 2020 2020 2020 2020 tions.. \n+00020a40: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00020a50: 696e 6520 2020 3629 0a2a 2064 6566 696e ine 6).* defin\n+00020a60: 6974 696f 6e2c 2074 6167 3a20 2020 2020 ition, tag: \n+00020a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020a80: 2020 4465 6669 6e69 7469 6f6e 732e 2020 Definitions. \n+00020a90: 2020 2020 2020 2028 6c69 6e65 2020 3138 (line 18\n+00020aa0: 290a 2a20 6465 6669 6e69 7469 6f6e 2c20 ).* definition, \n+00020ab0: 7461 6720 3c31 3e3a 2020 2020 2020 2020 tag <1>: \n+00020ac0: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms\n+00020ad0: 206f 6620 6465 6669 6e69 7469 6f6e 732e of definitions.\n+00020ae0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00020af0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00020b00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020b10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020b20: 2020 2020 2028 6c69 6e65 2020 2037 290a (line 7).\n-00020b30: 2a20 6465 6669 6e69 7469 6f6e 2c20 7461 * definition, ta\n-00020b40: 6720 3c32 3e3a 2020 2020 2020 2020 2020 g <2>: \n-00020b50: 2020 2020 2020 2020 2043 6f6d 6d61 6e64 Command\n-00020b60: 206c 696e 652e 2020 2020 2020 2020 286c line. (l\n-00020b70: 696e 6520 2035 3329 0a2a 2064 6566 696e ine 53).* defin\n-00020b80: 6974 696f 6e2c 2074 7261 6e73 666f 726d ition, transform\n-00020b90: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00020ba0: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n-00020bb0: 2020 2020 2020 2028 6c69 6e65 2020 3335 (line 35\n-00020bc0: 290a 2a20 6465 6669 6e69 7469 6f6e 2c20 ).* definition, \n-00020bd0: 7665 6374 6f72 3a20 2020 2020 2020 2020 vector: \n-00020be0: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl\n-00020bf0: 696e 6520 7377 6565 7073 2e20 2020 2020 ine sweeps. \n-00020c00: 286c 696e 6520 2031 3929 0a2a 2064 6570 (line 19).* dep\n-00020c10: 7468 2073 6f72 743a 2020 2020 2020 2020 th sort: \n-00020c20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020c30: 2020 2020 496e 7465 726e 616c 206f 7074 Internal opt\n-00020c40: 696f 6e73 2e20 2020 2028 6c69 6e65 2020 ions. (line \n-00020c50: 3133 290a 2a20 6465 7074 6820 736f 7274 13).* depth sort\n-00020c60: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00020c70: 2020 2020 2020 2020 2020 2020 2048 6964 Hid\n-00020c80: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo\n-00020c90: 7661 6c2e 0a20 2020 2020 2020 2020 2020 val.. \n+00020b10: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00020b20: 6c69 6e65 2020 2037 290a 2a20 6465 6669 line 7).* defi\n+00020b30: 6e69 7469 6f6e 2c20 7461 6720 3c32 3e3a nition, tag <2>:\n+00020b40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020b50: 2020 2043 6f6d 6d61 6e64 206c 696e 652e Command line.\n+00020b60: 2020 2020 2020 2020 286c 696e 6520 2035 (line 5\n+00020b70: 3329 0a2a 2064 6566 696e 6974 696f 6e2c 3).* definition,\n+00020b80: 2074 7261 6e73 666f 726d 3a20 2020 2020 transform: \n+00020b90: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n+00020ba0: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n+00020bb0: 2028 6c69 6e65 2020 3335 290a 2a20 6465 (line 35).* de\n+00020bc0: 6669 6e69 7469 6f6e 2c20 7665 6374 6f72 finition, vector\n+00020bd0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00020be0: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw\n+00020bf0: 6565 7073 2e20 2020 2020 286c 696e 6520 eeps. (line \n+00020c00: 2031 3929 0a2a 2064 6570 7468 2073 6f72 19).* depth sor\n+00020c10: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+00020c20: 2020 2020 2020 2020 2020 2020 2020 496e In\n+00020c30: 7465 726e 616c 206f 7074 696f 6e73 2e20 ternal options. \n+00020c40: 2020 2028 6c69 6e65 2020 3133 290a 2a20 (line 13).* \n+00020c50: 6465 7074 6820 736f 7274 203c 313e 3a20 depth sort <1>: \n+00020c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020c70: 2020 2020 2020 2048 6964 6465 6e20 7375 Hidden su\n+00020c80: 7266 6163 6520 7265 6d6f 7661 6c2e 0a20 rface removal.. \n+00020c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00020ca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00020cb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020cc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020cd0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n-00020ce0: 6465 7074 6820 736f 7274 203c 323e 3a20 depth sort <2>: \n+00020cc0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00020cd0: 6e65 2020 2036 290a 2a20 6465 7074 6820 ne 6).* depth \n+00020ce0: 736f 7274 203c 323e 3a20 2020 2020 2020 sort <2>: \n 00020cf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020d00: 2020 2020 2020 2042 7567 7320 616e 6420 Bugs and \n-00020d10: 616e 6f6d 616c 6965 732e 2020 286c 696e anomalies. (lin\n-00020d20: 6520 2020 3829 0a2a 2064 6972 6563 7420 e 8).* direct \n-00020d30: 7472 616e 7366 6f72 6d3a 2020 2020 2020 transform: \n-00020d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020d50: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n-00020d60: 6c73 2e20 2028 6c69 6e65 2020 3437 290a ls. (line 47).\n-00020d70: 2a20 6469 7265 6374 2074 7261 6e73 666f * direct transfo\n-00020d80: 726d 203c 313e 3a20 2020 2020 2020 2020 rm <1>: \n-00020d90: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo\n-00020da0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l\n-00020db0: 696e 6520 2035 3329 0a2a 2064 6f63 756d ine 53).* docum\n-00020dc0: 656e 7420 7465 6d70 6c61 7465 3a20 2020 ent template: \n-00020dd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020de0: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. \n-00020df0: 2020 2020 2020 2028 6c69 6e65 2020 3332 (line 32\n-00020e00: 290a 2a20 646f 6375 6d65 6e74 2074 656d ).* document tem\n-00020e10: 706c 6174 6520 3c31 3e3a 2020 2020 2020 plate <1>: \n-00020e20: 2020 2020 2020 2020 2020 2043 6f6d 6d61 Comma\n-00020e30: 6e64 206c 696e 652e 2020 2020 2020 2020 nd line. \n-00020e40: 286c 696e 6520 2033 3629 0a2a 2064 7261 (line 36).* dra\n-00020e50: 7761 626c 653a 2020 2020 2020 2020 2020 wable: \n-00020e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020e70: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n-00020e80: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line \n-00020e90: 3237 290a 2a20 6472 6177 6162 6c65 203c 27).* drawable <\n-00020ea0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-00020eb0: 2020 2020 2020 2020 2020 2020 2044 7261 Dra\n-00020ec0: 7761 626c 6573 2e20 2020 2020 2020 2020 wables. \n-00020ed0: 2020 286c 696e 6520 2020 3629 0a2a 2064 (line 6).* d\n-00020ee0: 7261 7761 626c 6520 6465 6669 6e69 7469 rawable definiti\n-00020ef0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n-00020f00: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra\n-00020f10: 6e73 666f 726d 732e 2020 2028 6c69 6e65 nsforms. (line\n-00020f20: 2020 3237 290a 2a20 6472 6177 6162 6c65 27).* drawable\n-00020f30: 2072 6566 6572 656e 6365 3a20 2020 2020 reference: \n-00020f40: 2020 2020 2020 2020 2020 2020 2020 2046 F\n-00020f50: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc\n-00020f60: 6573 2e20 286c 696e 6520 2031 3729 0a2a es. (line 17).*\n-00020f70: 2065 6e64 2070 6f6c 7967 6f6e 3a20 2020 end polygon: \n+00020d00: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal\n+00020d10: 6965 732e 2020 286c 696e 6520 2020 3829 ies. (line 8)\n+00020d20: 0a2a 2064 6972 6563 7420 7472 616e 7366 .* direct transf\n+00020d30: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: \n+00020d40: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n+00020d50: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n+00020d60: 6c69 6e65 2020 3437 290a 2a20 6469 7265 line 47).* dire\n+00020d70: 6374 2074 7261 6e73 666f 726d 203c 313e ct transform <1>\n+00020d80: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00020d90: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n+00020da0: 6572 616c 732e 2020 286c 696e 6520 2035 erals. (line 5\n+00020db0: 3329 0a2a 2064 6f63 756d 656e 7420 7465 3).* document te\n+00020dc0: 6d70 6c61 7465 3a20 2020 2020 2020 2020 mplate: \n+00020dd0: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell\n+00020de0: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. \n+00020df0: 2028 6c69 6e65 2020 3332 290a 2a20 646f (line 32).* do\n+00020e00: 6375 6d65 6e74 2074 656d 706c 6174 6520 cument template \n+00020e10: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00020e20: 2020 2020 2043 6f6d 6d61 6e64 206c 696e Command lin\n+00020e30: 652e 2020 2020 2020 2020 286c 696e 6520 e. (line \n+00020e40: 2033 3629 0a2a 2064 7261 7761 626c 653a 36).* drawable:\n+00020e50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020e60: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n+00020e70: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n+00020e80: 2020 2028 6c69 6e65 2020 3237 290a 2a20 (line 27).* \n+00020e90: 6472 6177 6162 6c65 203c 313e 3a20 2020 drawable <1>: \n+00020ea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020eb0: 2020 2020 2020 2044 7261 7761 626c 6573 Drawables\n+00020ec0: 2e20 2020 2020 2020 2020 2020 286c 696e . (lin\n+00020ed0: 6520 2020 3629 0a2a 2064 7261 7761 626c e 6).* drawabl\n+00020ee0: 6520 6465 6669 6e69 7469 6f6e 3a20 2020 e definition: \n+00020ef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020f00: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform\n+00020f10: 732e 2020 2028 6c69 6e65 2020 3237 290a s. (line 27).\n+00020f20: 2a20 6472 6177 6162 6c65 2072 6566 6572 * drawable refer\n+00020f30: 656e 6365 3a20 2020 2020 2020 2020 2020 ence: \n+00020f40: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o\n+00020f50: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l\n+00020f60: 696e 6520 2031 3729 0a2a 2065 6e64 2070 ine 17).* end p\n+00020f70: 6f6c 7967 6f6e 3a20 2020 2020 2020 2020 olygon: \n 00020f80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020f90: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li\n-00020fa0: 6e65 732e 2020 2020 2020 2020 2028 6c69 nes. (li\n-00020fb0: 6e65 2020 3338 290a 2a20 656e 6420 706f ne 38).* end po\n-00020fc0: 6c79 676f 6e20 3c31 3e3a 2020 2020 2020 lygon <1>: \n-00020fd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020fe0: 2053 7765 7074 2070 6f6c 7967 6f6e 732e Swept polygons.\n-00020ff0: 2020 2020 2020 286c 696e 6520 2031 3529 (line 15)\n-00021000: 0a2a 2066 6163 6573 3a20 2020 2020 2020 .* faces: \n+00020f90: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. \n+00020fa0: 2020 2020 2020 2028 6c69 6e65 2020 3338 (line 38\n+00020fb0: 290a 2a20 656e 6420 706f 6c79 676f 6e20 ).* end polygon \n+00020fc0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00020fd0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n+00020fe0: 2070 6f6c 7967 6f6e 732e 2020 2020 2020 polygons. \n+00020ff0: 286c 696e 6520 2031 3529 0a2a 2066 6163 (line 15).* fac\n+00021000: 6573 3a20 2020 2020 2020 2020 2020 2020 es: \n 00021010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021020: 2020 2020 2020 2020 2020 4472 6177 696e Drawin\n-00021030: 6720 6120 736f 6c69 642e 2020 2020 2028 g a solid. (\n-00021040: 6c69 6e65 2020 2037 290a 2a20 6661 6365 line 7).* face\n-00021050: 7320 3c31 3e3a 2020 2020 2020 2020 2020 s <1>: \n-00021060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021070: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee\n-00021080: 7073 2e20 2020 2020 286c 696e 6520 2020 ps. (line \n-00021090: 3629 0a2a 2066 696c 652c 2069 6e63 6c75 6).* file, inclu\n-000210a0: 6465 3a20 2020 2020 2020 2020 2020 2020 de: \n-000210b0: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang\n-000210c0: 7561 6765 2062 6173 6963 732e 2020 2020 uage basics. \n-000210d0: 2028 6c69 6e65 2020 3139 290a 2a20 6669 (line 19).* fi\n-000210e0: 6c65 2c20 696e 7075 743a 2020 2020 2020 le, input: \n-000210f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021100: 2020 2020 204c 616e 6775 6167 6520 6261 Language ba\n-00021110: 7369 6373 2e20 2020 2020 286c 696e 6520 sics. (line \n-00021120: 2020 3629 0a2a 2066 7261 6d65 2062 6f78 6).* frame box\n-00021130: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00021140: 2020 2020 2020 2020 2020 2020 2020 4672 Fr\n-00021150: 616d 652e 2020 2020 2020 2020 2020 2020 ame. \n-00021160: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n-00021170: 676c 6f62 616c 206f 7074 696f 6e73 3a20 global options: \n+00021020: 2020 2020 4472 6177 696e 6720 6120 736f Drawing a so\n+00021030: 6c69 642e 2020 2020 2028 6c69 6e65 2020 lid. (line \n+00021040: 2037 290a 2a20 6661 6365 7320 3c31 3e3a 7).* faces <1>:\n+00021050: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021060: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol\n+00021070: 796c 696e 6520 7377 6565 7073 2e20 2020 yline sweeps. \n+00021080: 2020 286c 696e 6520 2020 3629 0a2a 2066 (line 6).* f\n+00021090: 696c 652c 2069 6e63 6c75 6465 3a20 2020 ile, include: \n+000210a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000210b0: 2020 2020 2020 4c61 6e67 7561 6765 2062 Language b\n+000210c0: 6173 6963 732e 2020 2020 2028 6c69 6e65 asics. (line\n+000210d0: 2020 3139 290a 2a20 6669 6c65 2c20 696e 19).* file, in\n+000210e0: 7075 743a 2020 2020 2020 2020 2020 2020 put: \n+000210f0: 2020 2020 2020 2020 2020 2020 2020 204c L\n+00021100: 616e 6775 6167 6520 6261 7369 6373 2e20 anguage basics. \n+00021110: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+00021120: 2066 7261 6d65 2062 6f78 3a20 2020 2020 frame box: \n+00021130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021140: 2020 2020 2020 2020 4672 616d 652e 2020 Frame. \n+00021150: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00021160: 6e65 2020 2036 290a 2a20 676c 6f62 616c ne 6).* global\n+00021170: 206f 7074 696f 6e73 3a20 2020 2020 2020 options: \n 00021180: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021190: 2020 2020 2020 2044 7261 7769 6e67 206f Drawing o\n-000211a0: 7074 696f 6e73 2e20 2020 2020 286c 696e ptions. (lin\n-000211b0: 6520 2031 3829 0a2a 2067 6c6f 6261 6c20 e 18).* global \n-000211c0: 6f70 7469 6f6e 7320 3c31 3e3a 2020 2020 options <1>: \n-000211d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000211e0: 476c 6f62 616c 206f 7074 696f 6e73 2e20 Global options. \n-000211f0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-00021200: 2a20 6865 6c69 783a 2020 2020 2020 2020 * helix: \n+00021190: 2044 7261 7769 6e67 206f 7074 696f 6e73 Drawing options\n+000211a0: 2e20 2020 2020 286c 696e 6520 2031 3829 . (line 18)\n+000211b0: 0a2a 2067 6c6f 6261 6c20 6f70 7469 6f6e .* global option\n+000211c0: 7320 3c31 3e3a 2020 2020 2020 2020 2020 s <1>: \n+000211d0: 2020 2020 2020 2020 2020 476c 6f62 616c Global\n+000211e0: 206f 7074 696f 6e73 2e20 2020 2020 2028 options. (\n+000211f0: 6c69 6e65 2020 2036 290a 2a20 6865 6c69 line 6).* heli\n+00021200: 783a 2020 2020 2020 2020 2020 2020 2020 x: \n 00021210: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021220: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing\n-00021230: 2061 2073 6f6c 6964 2e20 2020 2020 286c a solid. (l\n-00021240: 696e 6520 2034 3729 0a2a 2068 656c 6978 ine 47).* helix\n-00021250: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00021260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021270: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n-00021280: 732e 2020 2020 2028 6c69 6e65 2020 3135 s. (line 15\n-00021290: 290a 2a20 6865 6c6c 6f20 776f 726c 643a ).* hello world:\n+00021220: 2020 2044 7261 7769 6e67 2061 2073 6f6c Drawing a sol\n+00021230: 6964 2e20 2020 2020 286c 696e 6520 2034 id. (line 4\n+00021240: 3729 0a2a 2068 656c 6978 203c 313e 3a20 7).* helix <1>: \n+00021250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021260: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n+00021270: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. \n+00021280: 2028 6c69 6e65 2020 3135 290a 2a20 6865 (line 15).* he\n+00021290: 6c6c 6f20 776f 726c 643a 2020 2020 2020 llo world: \n 000212a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000212b0: 2020 2020 2020 2020 2020 2048 656c 6c6f Hello\n-000212c0: 2077 6f72 6c64 2e20 2020 2020 2020 2020 world. \n-000212d0: 286c 696e 6520 2020 3729 0a2a 2068 6964 (line 7).* hid\n-000212e0: 6465 6e20 7375 7266 6163 6520 616c 676f den surface algo\n-000212f0: 7269 7468 6d3a 2020 2020 2020 2020 2020 rithm: \n-00021300: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world.\n-00021310: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00021320: 3139 290a 2a20 6869 6464 656e 2073 7572 19).* hidden sur\n-00021330: 6661 6365 2061 6c67 6f72 6974 686d 203c face algorithm <\n-00021340: 313e 3a20 2020 2020 2020 2020 2053 7065 1>: Spe\n-00021350: 6369 616c 206f 626a 6563 7473 2e20 2020 cial objects. \n-00021360: 2020 286c 696e 6520 2034 3829 0a2a 2068 (line 48).* h\n-00021370: 6964 6465 6e20 7375 7266 6163 6520 616c idden surface al\n-00021380: 676f 7269 7468 6d20 3c32 3e3a 2020 2020 gorithm <2>: \n-00021390: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n-000213a0: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line\n-000213b0: 2020 3234 290a 2a20 6869 6464 656e 2073 24).* hidden s\n-000213c0: 7572 6661 6365 2061 6c67 6f72 6974 686d urface algorithm\n-000213d0: 203c 333e 3a20 2020 2020 2020 2020 2041 <3>: A\n-000213e0: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi\n-000213f0: 6e67 2e20 286c 696e 6520 2032 3529 0a2a ng. (line 25).*\n-00021400: 2068 6964 6465 6e20 7375 7266 6163 6520 hidden surface \n-00021410: 616c 676f 7269 7468 6d20 3c34 3e3a 2020 algorithm <4>: \n-00021420: 2020 2020 2020 2020 4869 6464 656e 2073 Hidden s\n-00021430: 7572 6661 6365 2072 656d 6f76 616c 2e0a urface removal..\n+000212b0: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world\n+000212c0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n+000212d0: 2020 3729 0a2a 2068 6964 6465 6e20 7375 7).* hidden su\n+000212e0: 7266 6163 6520 616c 676f 7269 7468 6d3a rface algorithm:\n+000212f0: 2020 2020 2020 2020 2020 2020 2020 4865 He\n+00021300: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. \n+00021310: 2020 2028 6c69 6e65 2020 3139 290a 2a20 (line 19).* \n+00021320: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a\n+00021330: 6c67 6f72 6974 686d 203c 313e 3a20 2020 lgorithm <1>: \n+00021340: 2020 2020 2020 2053 7065 6369 616c 206f Special o\n+00021350: 626a 6563 7473 2e20 2020 2020 286c 696e bjects. (lin\n+00021360: 6520 2034 3829 0a2a 2068 6964 6465 6e20 e 48).* hidden \n+00021370: 7375 7266 6163 6520 616c 676f 7269 7468 surface algorith\n+00021380: 6d20 3c32 3e3a 2020 2020 2020 2020 2020 m <2>: \n+00021390: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n+000213a0: 6c73 2e20 2028 6c69 6e65 2020 3234 290a ls. (line 24).\n+000213b0: 2a20 6869 6464 656e 2073 7572 6661 6365 * hidden surface\n+000213c0: 2061 6c67 6f72 6974 686d 203c 333e 3a20 algorithm <3>: \n+000213d0: 2020 2020 2020 2020 2041 2074 6563 686e A techn\n+000213e0: 6963 616c 2064 7261 7769 6e67 2e20 286c ical drawing. (l\n+000213f0: 696e 6520 2032 3529 0a2a 2068 6964 6465 ine 25).* hidde\n+00021400: 6e20 7375 7266 6163 6520 616c 676f 7269 n surface algori\n+00021410: 7468 6d20 3c34 3e3a 2020 2020 2020 2020 thm <4>: \n+00021420: 2020 4869 6464 656e 2073 7572 6661 6365 Hidden surface\n+00021430: 2072 656d 6f76 616c 2e0a 2020 2020 2020 removal.. \n 00021440: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021450: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021460: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021470: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00021480: 696e 6520 2020 3629 0a2a 2068 6965 7261 ine 6).* hiera\n-00021490: 7263 6869 6361 6c20 6d6f 6465 6c3a 2020 rchical model: \n-000214a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000214b0: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical\n-000214c0: 206d 6f64 656c 2e0a 2020 2020 2020 2020 model.. \n+00021470: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n+00021480: 3629 0a2a 2068 6965 7261 7263 6869 6361 6).* hierarchica\n+00021490: 6c20 6d6f 6465 6c3a 2020 2020 2020 2020 l model: \n+000214a0: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n+000214b0: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n+000214c0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 000214d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000214e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000214f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021500: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n-00021510: 0a2a 2069 6465 6e74 6966 6965 7273 3a20 .* identifiers: \n+00021500: 286c 696e 6520 2020 3629 0a2a 2069 6465 (line 6).* ide\n+00021510: 6e74 6966 6965 7273 3a20 2020 2020 2020 ntifiers: \n 00021520: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021530: 2020 2020 2020 2020 2020 4964 656e 7469 Identi\n-00021540: 6669 6572 732e 2020 2020 2020 2020 2028 fiers. (\n-00021550: 6c69 6e65 2020 2037 290a 2a20 696e 636c line 7).* incl\n-00021560: 7564 6520 6669 6c65 3a20 2020 2020 2020 ude file: \n-00021570: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021580: 2020 204c 616e 6775 6167 6520 6261 7369 Language basi\n-00021590: 6373 2e20 2020 2020 286c 696e 6520 2031 cs. (line 1\n-000215a0: 3929 0a2a 2069 6e70 7574 2066 696c 653a 9).* input file:\n+00021530: 2020 2020 4964 656e 7469 6669 6572 732e Identifiers.\n+00021540: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00021550: 2037 290a 2a20 696e 636c 7564 6520 6669 7).* include fi\n+00021560: 6c65 3a20 2020 2020 2020 2020 2020 2020 le: \n+00021570: 2020 2020 2020 2020 2020 2020 204c 616e Lan\n+00021580: 6775 6167 6520 6261 7369 6373 2e20 2020 guage basics. \n+00021590: 2020 286c 696e 6520 2031 3929 0a2a 2069 (line 19).* i\n+000215a0: 6e70 7574 2066 696c 653a 2020 2020 2020 nput file: \n 000215b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000215c0: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang\n-000215d0: 7561 6765 2062 6173 6963 732e 2020 2020 uage basics. \n-000215e0: 2028 6c69 6e65 2020 2036 290a 2a20 696e (line 6).* in\n-000215f0: 7465 726e 616c 206f 7074 696f 6e3a 2020 ternal option: \n-00021600: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021610: 2020 2020 2053 7065 6369 616c 206f 626a Special obj\n-00021620: 6563 7473 2e20 2020 2020 286c 696e 6520 ects. (line \n-00021630: 2034 3729 0a2a 2069 6e74 6572 6e61 6c20 47).* internal \n-00021640: 6f70 7469 6f6e 733a 2020 2020 2020 2020 options: \n-00021650: 2020 2020 2020 2020 2020 2020 2020 496e In\n-00021660: 7465 726e 616c 206f 7074 696f 6e73 2e20 ternal options. \n-00021670: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n-00021680: 696e 7465 726e 616c 206f 7074 696f 6e73 internal options\n-00021690: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-000216a0: 2020 2020 2020 2047 6c6f 6261 6c20 6f70 Global op\n-000216b0: 7469 6f6e 732e 2020 2020 2020 286c 696e tions. (lin\n-000216c0: 6520 2031 3229 0a2a 206b 6579 776f 7264 e 12).* keyword\n-000216d0: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n-000216e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000216f0: 4b65 7920 616e 6420 7265 7365 7276 6564 Key and reserved\n-00021700: 2077 6f72 6473 2e0a 2020 2020 2020 2020 words.. \n+000215c0: 2020 2020 2020 4c61 6e67 7561 6765 2062 Language b\n+000215d0: 6173 6963 732e 2020 2020 2028 6c69 6e65 asics. (line\n+000215e0: 2020 2036 290a 2a20 696e 7465 726e 616c 6).* internal\n+000215f0: 206f 7074 696f 6e3a 2020 2020 2020 2020 option: \n+00021600: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00021610: 7065 6369 616c 206f 626a 6563 7473 2e20 pecial objects. \n+00021620: 2020 2020 286c 696e 6520 2034 3729 0a2a (line 47).*\n+00021630: 2069 6e74 6572 6e61 6c20 6f70 7469 6f6e internal option\n+00021640: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n+00021650: 2020 2020 2020 2020 496e 7465 726e 616c Internal\n+00021660: 206f 7074 696f 6e73 2e20 2020 2028 6c69 options. (li\n+00021670: 6e65 2020 2036 290a 2a20 696e 7465 726e ne 6).* intern\n+00021680: 616c 206f 7074 696f 6e73 203c 313e 3a20 al options <1>: \n+00021690: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000216a0: 2047 6c6f 6261 6c20 6f70 7469 6f6e 732e Global options.\n+000216b0: 2020 2020 2020 286c 696e 6520 2031 3229 (line 12)\n+000216c0: 0a2a 206b 6579 776f 7264 733a 2020 2020 .* keywords: \n+000216d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000216e0: 2020 2020 2020 2020 2020 4b65 7920 616e Key an\n+000216f0: 6420 7265 7365 7276 6564 2077 6f72 6473 d reserved words\n+00021700: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 00021710: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021720: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021730: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021740: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n-00021750: 0a2a 206c 6162 656c 733a 2020 2020 2020 .* labels: \n+00021740: 286c 696e 6520 2020 3629 0a2a 206c 6162 (line 6).* lab\n+00021750: 656c 733a 2020 2020 2020 2020 2020 2020 els: \n 00021760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021770: 2020 2020 2020 2020 2020 5370 6563 6961 Specia\n-00021780: 6c20 6f62 6a65 6374 732e 2020 2020 2028 l objects. (\n-00021790: 6c69 6e65 2020 2036 290a 2a20 6c61 6e67 line 6).* lang\n-000217a0: 7561 6765 2c20 6465 636c 6172 6174 6976 uage, declarativ\n-000217b0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-000217c0: 2020 204c 616e 6775 6167 6520 6261 7369 Language basi\n-000217d0: 6373 2e20 2020 2020 286c 696e 6520 2020 cs. (line \n-000217e0: 3829 0a2a 206c 616e 6775 6167 652c 206f 8).* language, o\n-000217f0: 7574 7075 743a 2020 2020 2020 2020 2020 utput: \n-00021800: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang\n-00021810: 7561 6765 2e20 2020 2020 2020 2020 2020 uage. \n-00021820: 2028 6c69 6e65 2020 2036 290a 2a20 6c61 (line 6).* la\n-00021830: 6e67 7561 6765 2c20 7363 656e 6520 6465 nguage, scene de\n-00021840: 7363 7269 7074 696f 6e3a 2020 2020 2020 scription: \n-00021850: 2020 2020 204c 616e 6775 6167 6520 6261 Language ba\n-00021860: 7369 6373 2e20 2020 2020 286c 696e 6520 sics. (line \n-00021870: 2020 3829 0a2a 206c 6578 6963 616c 2073 8).* lexical s\n-00021880: 636f 7065 3a20 2020 2020 2020 2020 2020 cope: \n-00021890: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n-000218a0: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n-000218b0: 2020 2028 6c69 6e65 2020 3236 290a 2a20 (line 26).* \n-000218c0: 6c65 7869 6361 6c20 7363 6f70 6520 3c31 lexical scope <1\n-000218d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-000218e0: 2020 2020 2020 2042 6c6f 636b 732e 2020 Blocks. \n-000218f0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00021900: 6520 2031 3329 0a2a 206c 696e 6520 7377 e 13).* line sw\n-00021910: 6565 703a 2020 2020 2020 2020 2020 2020 eep: \n-00021920: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021930: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps.\n-00021940: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-00021950: 2a20 6c69 6e65 2073 7765 6570 203c 313e * line sweep <1>\n-00021960: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00021970: 2020 2020 2020 2020 2053 7765 7074 206c Swept l\n-00021980: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l\n-00021990: 696e 6520 2020 3629 0a2a 206c 696e 6520 ine 6).* line \n-000219a0: 7377 6565 7020 3c32 3e3a 2020 2020 2020 sweep <2>: \n-000219b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000219c0: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr\n-000219d0: 6177 696e 672e 2028 6c69 6e65 2020 3230 awing. (line 20\n-000219e0: 290a 2a20 6c69 7465 7261 6c2c 2070 6f69 ).* literal, poi\n-000219f0: 6e74 3a20 2020 2020 2020 2020 2020 2020 nt: \n-00021a00: 2020 2020 2020 2020 2020 2050 6f69 6e74 Point\n-00021a10: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite\n-00021a20: 7261 6c73 2e0a 2020 2020 2020 2020 2020 rals.. \n+00021770: 2020 2020 5370 6563 6961 6c20 6f62 6a65 Special obje\n+00021780: 6374 732e 2020 2020 2028 6c69 6e65 2020 cts. (line \n+00021790: 2036 290a 2a20 6c61 6e67 7561 6765 2c20 6).* language, \n+000217a0: 6465 636c 6172 6174 6976 653a 2020 2020 declarative: \n+000217b0: 2020 2020 2020 2020 2020 2020 204c 616e Lan\n+000217c0: 6775 6167 6520 6261 7369 6373 2e20 2020 guage basics. \n+000217d0: 2020 286c 696e 6520 2020 3829 0a2a 206c (line 8).* l\n+000217e0: 616e 6775 6167 652c 206f 7574 7075 743a anguage, output:\n+000217f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021800: 2020 2020 2020 4c61 6e67 7561 6765 2e20 Language. \n+00021810: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00021820: 2020 2036 290a 2a20 6c61 6e67 7561 6765 6).* language\n+00021830: 2c20 7363 656e 6520 6465 7363 7269 7074 , scene descript\n+00021840: 696f 6e3a 2020 2020 2020 2020 2020 204c ion: L\n+00021850: 616e 6775 6167 6520 6261 7369 6373 2e20 anguage basics. \n+00021860: 2020 2020 286c 696e 6520 2020 3829 0a2a (line 8).*\n+00021870: 206c 6578 6963 616c 2073 636f 7065 3a20 lexical scope: \n+00021880: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021890: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t\n+000218a0: 7261 6e73 666f 726d 732e 2020 2028 6c69 ransforms. (li\n+000218b0: 6e65 2020 3236 290a 2a20 6c65 7869 6361 ne 26).* lexica\n+000218c0: 6c20 7363 6f70 6520 3c31 3e3a 2020 2020 l scope <1>: \n+000218d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000218e0: 2042 6c6f 636b 732e 2020 2020 2020 2020 Blocks. \n+000218f0: 2020 2020 2020 286c 696e 6520 2031 3329 (line 13)\n+00021900: 0a2a 206c 696e 6520 7377 6565 703a 2020 .* line sweep: \n+00021910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021920: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli\n+00021930: 6e65 2073 7765 6570 732e 2020 2020 2028 ne sweeps. (\n+00021940: 6c69 6e65 2020 2036 290a 2a20 6c69 6e65 line 6).* line\n+00021950: 2073 7765 6570 203c 313e 3a20 2020 2020 sweep <1>: \n+00021960: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021970: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. \n+00021980: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n+00021990: 3629 0a2a 206c 696e 6520 7377 6565 7020 6).* line sweep \n+000219a0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n+000219b0: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n+000219c0: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n+000219d0: 2028 6c69 6e65 2020 3230 290a 2a20 6c69 (line 20).* li\n+000219e0: 7465 7261 6c2c 2070 6f69 6e74 3a20 2020 teral, point: \n+000219f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021a00: 2020 2020 2050 6f69 6e74 2061 6e64 2076 Point and v\n+00021a10: 6563 746f 7220 6c69 7465 7261 6c73 2e0a ector literals..\n+00021a20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021a60: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n-00021a70: 206c 6974 6572 616c 2c20 7363 616c 6172 literal, scalar\n-00021a80: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00021a90: 2020 2020 2020 2020 5363 616c 6172 206c Scalar l\n-00021aa0: 6974 6572 616c 732e 2020 2020 2028 6c69 iterals. (li\n-00021ab0: 6e65 2020 2036 290a 2a20 6c69 7465 7261 ne 6).* litera\n-00021ac0: 6c2c 2074 7261 6e73 666f 726d 3a20 2020 l, transform: \n-00021ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021ae0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-00021af0: 616c 732e 2020 286c 696e 6520 2020 3629 als. (line 6)\n-00021b00: 0a2a 206c 6974 6572 616c 2c20 7665 6374 .* literal, vect\n-00021b10: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: \n-00021b20: 2020 2020 2020 2020 2020 506f 696e 7420 Point \n-00021b30: 616e 6420 7665 6374 6f72 206c 6974 6572 and vector liter\n-00021b40: 616c 732e 0a20 2020 2020 2020 2020 2020 als.. \n+00021a50: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00021a60: 696e 6520 2020 3629 0a2a 206c 6974 6572 ine 6).* liter\n+00021a70: 616c 2c20 7363 616c 6172 3a20 2020 2020 al, scalar: \n+00021a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021a90: 2020 5363 616c 6172 206c 6974 6572 616c Scalar literal\n+00021aa0: 732e 2020 2020 2028 6c69 6e65 2020 2036 s. (line 6\n+00021ab0: 290a 2a20 6c69 7465 7261 6c2c 2074 7261 ).* literal, tra\n+00021ac0: 6e73 666f 726d 3a20 2020 2020 2020 2020 nsform: \n+00021ad0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n+00021ae0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n+00021af0: 286c 696e 6520 2020 3629 0a2a 206c 6974 (line 6).* lit\n+00021b00: 6572 616c 2c20 7665 6374 6f72 3a20 2020 eral, vector: \n+00021b10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021b20: 2020 2020 506f 696e 7420 616e 6420 7665 Point and ve\n+00021b30: 6374 6f72 206c 6974 6572 616c 732e 0a20 ctor literals.. \n+00021b40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021b50: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021b60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021b70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021b80: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n-00021b90: 6e65 7374 696e 672c 2073 7765 7074 206f nesting, swept o\n-00021ba0: 626a 6563 743a 2020 2020 2020 2020 2020 bject: \n-00021bb0: 2020 2020 2020 204e 6573 7465 6420 7377 Nested sw\n-00021bc0: 6565 7073 2e20 2020 2020 2020 286c 696e eeps. (lin\n-00021bd0: 6520 2032 3229 0a2a 206f 6e65 2d6f 7065 e 22).* one-ope\n-00021be0: 7261 6e64 2066 6f72 6d3a 2020 2020 2020 rand form: \n-00021bf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021c00: 556e 6172 7920 666f 726d 732e 2020 2020 Unary forms. \n-00021c10: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-00021c20: 2a20 6f70 6572 6174 6f72 2061 7373 6f63 * operator assoc\n-00021c30: 6961 7469 7669 7479 3a20 2020 2020 2020 iativity: \n-00021c40: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope\n-00021c50: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo\n-00021c60: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. \n+00021b70: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00021b80: 6e65 2020 2036 290a 2a20 6e65 7374 696e ne 6).* nestin\n+00021b90: 672c 2073 7765 7074 206f 626a 6563 743a g, swept object:\n+00021ba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021bb0: 204e 6573 7465 6420 7377 6565 7073 2e20 Nested sweeps. \n+00021bc0: 2020 2020 2020 286c 696e 6520 2032 3229 (line 22)\n+00021bd0: 0a2a 206f 6e65 2d6f 7065 7261 6e64 2066 .* one-operand f\n+00021be0: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: \n+00021bf0: 2020 2020 2020 2020 2020 556e 6172 7920 Unary \n+00021c00: 666f 726d 732e 2020 2020 2020 2020 2028 forms. (\n+00021c10: 6c69 6e65 2020 2036 290a 2a20 6f70 6572 line 6).* oper\n+00021c20: 6174 6f72 2061 7373 6f63 6961 7469 7669 ator associativi\n+00021c30: 7479 3a20 2020 2020 2020 2020 2020 2020 ty: \n+00021c40: 2020 2054 776f 2d6f 7065 7261 6e64 2028 Two-operand (\n+00021c50: 6269 6e61 7279 2920 666f 726d 732e 0a20 binary) forms.. \n+00021c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021c70: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021c80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021ca0: 2020 2028 6c69 6e65 2020 3538 290a 2a20 (line 58).* \n-00021cb0: 6f70 6572 6174 6f72 2070 7265 6365 6465 operator precede\n-00021cc0: 6e63 653a 2020 2020 2020 2020 2020 2020 nce: \n-00021cd0: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera\n-00021ce0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n-00021cf0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+00021c90: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00021ca0: 6e65 2020 3538 290a 2a20 6f70 6572 6174 ne 58).* operat\n+00021cb0: 6f72 2070 7265 6365 6465 6e63 653a 2020 or precedence: \n+00021cc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021cd0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi\n+00021ce0: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) forms.. \n+00021cf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021d00: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021d10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021d30: 2028 6c69 6e65 2020 3435 290a 2a20 6f70 (line 45).* op\n-00021d40: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n-00021d50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021d60: 2020 2020 2044 7261 7769 6e67 206f 7074 Drawing opt\n-00021d70: 696f 6e73 2e20 2020 2020 286c 696e 6520 ions. (line \n-00021d80: 2020 3629 0a2a 206f 7074 696f 6e2c 2063 6).* option, c\n-00021d90: 6f6d 6d61 6e64 206c 696e 653a 2020 2020 ommand line: \n-00021da0: 2020 2020 2020 2020 2020 2020 2020 4865 He\n-00021db0: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. \n-00021dc0: 2020 2028 6c69 6e65 2020 3330 290a 2a20 (line 30).* \n-00021dd0: 6f70 7469 6f6e 2c20 696e 7465 726e 616c option, internal\n-00021de0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00021df0: 2020 2020 2020 2053 7065 6369 616c 206f Special o\n-00021e00: 626a 6563 7473 2e20 2020 2020 286c 696e bjects. (lin\n-00021e10: 6520 2034 3729 0a2a 206f 7074 696f 6e73 e 47).* options\n-00021e20: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00021e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021e40: 4f70 7469 6f6e 732e 2020 2020 2020 2020 Options. \n-00021e50: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-00021e60: 2a20 6f70 7469 6f6e 7320 6465 6669 6e69 * options defini\n-00021e70: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n-00021e80: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin\n-00021e90: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl\n-00021ea0: 6f73 7572 652e 0a20 2020 2020 2020 2020 osure.. \n+00021d20: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00021d30: 2020 3435 290a 2a20 6f70 7469 6f6e 3a20 45).* option: \n+00021d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021d50: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+00021d60: 7261 7769 6e67 206f 7074 696f 6e73 2e20 rawing options. \n+00021d70: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+00021d80: 206f 7074 696f 6e2c 2063 6f6d 6d61 6e64 option, command\n+00021d90: 206c 696e 653a 2020 2020 2020 2020 2020 line: \n+00021da0: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo\n+00021db0: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li\n+00021dc0: 6e65 2020 3330 290a 2a20 6f70 7469 6f6e ne 30).* option\n+00021dd0: 2c20 696e 7465 726e 616c 3a20 2020 2020 , internal: \n+00021de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021df0: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects\n+00021e00: 2e20 2020 2020 286c 696e 6520 2034 3729 . (line 47)\n+00021e10: 0a2a 206f 7074 696f 6e73 3a20 2020 2020 .* options: \n+00021e20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021e30: 2020 2020 2020 2020 2020 4f70 7469 6f6e Option\n+00021e40: 732e 2020 2020 2020 2020 2020 2020 2028 s. (\n+00021e50: 6c69 6e65 2020 2036 290a 2a20 6f70 7469 line 6).* opti\n+00021e60: 6f6e 7320 6465 6669 6e69 7469 6f6e 3a20 ons definition: \n+00021e70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021e80: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee\n+00021e90: 7073 2077 6974 6820 636c 6f73 7572 652e ps with closure.\n+00021ea0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00021eb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00021ec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021ed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021ee0: 2020 2020 2028 6c69 6e65 2020 3233 290a (line 23).\n-00021ef0: 2a20 6f70 7469 6f6e 7320 6d75 6c74 6970 * options multip\n-00021f00: 6c65 2072 6566 6572 656e 6365 3a20 2020 le reference: \n-00021f10: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o\n-00021f20: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l\n-00021f30: 696e 6520 2031 3829 0a2a 206f 7074 696f ine 18).* optio\n-00021f40: 6e73 2072 6566 6572 656e 6365 3a20 2020 ns reference: \n-00021f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021f60: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer\n-00021f70: 656e 6365 732e 2028 6c69 6e65 2020 3138 ences. (line 18\n-00021f80: 290a 2a20 6f70 7469 6f6e 732c 2063 6f6d ).* options, com\n-00021f90: 6d61 6e64 206c 696e 653a 2020 2020 2020 mand line: \n-00021fa0: 2020 2020 2020 2020 2020 2043 6f6d 6d61 Comma\n-00021fb0: 6e64 206c 696e 652e 2020 2020 2020 2020 nd line. \n-00021fc0: 286c 696e 6520 2031 3429 0a2a 206f 7074 (line 14).* opt\n-00021fd0: 696f 6e73 2c20 676c 6f62 616c 3a20 2020 ions, global: \n-00021fe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021ff0: 2020 2020 4472 6177 696e 6720 6f70 7469 Drawing opti\n-00022000: 6f6e 732e 2020 2020 2028 6c69 6e65 2020 ons. (line \n-00022010: 3138 290a 2a20 6f70 7469 6f6e 732c 2067 18).* options, g\n-00022020: 6c6f 6261 6c20 3c31 3e3a 2020 2020 2020 lobal <1>: \n-00022030: 2020 2020 2020 2020 2020 2020 2047 6c6f Glo\n-00022040: 6261 6c20 6f70 7469 6f6e 732e 2020 2020 bal options. \n-00022050: 2020 286c 696e 6520 2020 3629 0a2a 206f (line 6).* o\n-00022060: 7074 696f 6e73 2c20 696e 7465 726e 616c ptions, internal\n-00022070: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00022080: 2020 2020 2020 496e 7465 726e 616c 206f Internal o\n-00022090: 7074 696f 6e73 2e20 2020 2028 6c69 6e65 ptions. (line\n-000220a0: 2020 2036 290a 2a20 6f70 7469 6f6e 732c 6).* options,\n-000220b0: 2069 6e74 6572 6e61 6c20 3c31 3e3a 2020 internal <1>: \n-000220c0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-000220d0: 6c6f 6261 6c20 6f70 7469 6f6e 732e 2020 lobal options. \n-000220e0: 2020 2020 286c 696e 6520 2031 3229 0a2a (line 12).*\n-000220f0: 206f 7074 696f 6e73 2c20 7377 6565 703a options, sweep:\n+00021ed0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00021ee0: 6c69 6e65 2020 3233 290a 2a20 6f70 7469 line 23).* opti\n+00021ef0: 6f6e 7320 6d75 6c74 6970 6c65 2072 6566 ons multiple ref\n+00021f00: 6572 656e 6365 3a20 2020 2020 2020 2020 erence: \n+00021f10: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe\n+00021f20: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1\n+00021f30: 3829 0a2a 206f 7074 696f 6e73 2072 6566 8).* options ref\n+00021f40: 6572 656e 6365 3a20 2020 2020 2020 2020 erence: \n+00021f50: 2020 2020 2020 2020 2020 2020 466f 726d Form\n+00021f60: 7320 6f66 2072 6566 6572 656e 6365 732e s of references.\n+00021f70: 2028 6c69 6e65 2020 3138 290a 2a20 6f70 (line 18).* op\n+00021f80: 7469 6f6e 732c 2063 6f6d 6d61 6e64 206c tions, command l\n+00021f90: 696e 653a 2020 2020 2020 2020 2020 2020 ine: \n+00021fa0: 2020 2020 2043 6f6d 6d61 6e64 206c 696e Command lin\n+00021fb0: 652e 2020 2020 2020 2020 286c 696e 6520 e. (line \n+00021fc0: 2031 3429 0a2a 206f 7074 696f 6e73 2c20 14).* options, \n+00021fd0: 676c 6f62 616c 3a20 2020 2020 2020 2020 global: \n+00021fe0: 2020 2020 2020 2020 2020 2020 2020 4472 Dr\n+00021ff0: 6177 696e 6720 6f70 7469 6f6e 732e 2020 awing options. \n+00022000: 2020 2028 6c69 6e65 2020 3138 290a 2a20 (line 18).* \n+00022010: 6f70 7469 6f6e 732c 2067 6c6f 6261 6c20 options, global \n+00022020: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00022030: 2020 2020 2020 2047 6c6f 6261 6c20 6f70 Global op\n+00022040: 7469 6f6e 732e 2020 2020 2020 286c 696e tions. (lin\n+00022050: 6520 2020 3629 0a2a 206f 7074 696f 6e73 e 6).* options\n+00022060: 2c20 696e 7465 726e 616c 3a20 2020 2020 , internal: \n+00022070: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022080: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options\n+00022090: 2e20 2020 2028 6c69 6e65 2020 2036 290a . (line 6).\n+000220a0: 2a20 6f70 7469 6f6e 732c 2069 6e74 6572 * options, inter\n+000220b0: 6e61 6c20 3c31 3e3a 2020 2020 2020 2020 nal <1>: \n+000220c0: 2020 2020 2020 2020 2047 6c6f 6261 6c20 Global \n+000220d0: 6f70 7469 6f6e 732e 2020 2020 2020 286c options. (l\n+000220e0: 696e 6520 2031 3229 0a2a 206f 7074 696f ine 12).* optio\n+000220f0: 6e73 2c20 7377 6565 703a 2020 2020 2020 ns, sweep: \n 00022100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022110: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n-00022120: 2073 7765 6570 732e 2020 2020 2028 6c69 sweeps. (li\n-00022130: 6e65 2020 3136 290a 2a20 6f70 7469 6f6e ne 16).* option\n-00022140: 732c 2073 7765 6570 203c 313e 3a20 2020 s, sweep <1>: \n-00022150: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022160: 2050 6f6c 7967 6f6e 2073 7765 6570 732e Polygon sweeps.\n-00022170: 2020 2020 2020 286c 696e 6520 2020 3929 (line 9)\n-00022180: 0a2a 206f 7074 696f 6e73 2c20 7377 6565 .* options, swee\n-00022190: 7020 3c32 3e3a 2020 2020 2020 2020 2020 p <2>: \n-000221a0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-000221b0: 706f 696e 7473 2e20 2020 2020 2020 2028 points. (\n-000221c0: 6c69 6e65 2020 3231 290a 2a20 6f70 7469 line 21).* opti\n-000221d0: 6f6e 732c 2073 7765 6570 203c 333e 3a20 ons, sweep <3>: \n-000221e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000221f0: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. \n-00022200: 2020 2020 2020 2020 286c 696e 6520 2032 (line 2\n-00022210: 3529 0a2a 206f 7074 696f 6e73 2c20 7377 5).* options, sw\n-00022220: 6565 7020 3c34 3e3a 2020 2020 2020 2020 eep <4>: \n-00022230: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-00022240: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. \n-00022250: 2028 6c69 6e65 2020 3438 290a 2a20 6f70 (line 48).* op\n-00022260: 7469 6f6e 732c 2073 7765 7074 206f 626a tions, swept obj\n-00022270: 6563 743a 2020 2020 2020 2020 2020 2020 ect: \n-00022280: 2020 2020 2050 6f6c 7967 6f6e 2073 7765 Polygon swe\n-00022290: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line \n-000222a0: 2020 3829 0a2a 206f 7074 696f 6e73 2c20 8).* options, \n-000222b0: 7377 6570 7420 6f62 6a65 6374 203c 313e swept object <1>\n-000222c0: 3a20 2020 2020 2020 2020 2020 2020 506f : Po\n-000222d0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi\n-000222e0: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. \n+00022110: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n+00022120: 732e 2020 2020 2028 6c69 6e65 2020 3136 s. (line 16\n+00022130: 290a 2a20 6f70 7469 6f6e 732c 2073 7765 ).* options, swe\n+00022140: 6570 203c 313e 3a20 2020 2020 2020 2020 ep <1>: \n+00022150: 2020 2020 2020 2020 2020 2050 6f6c 7967 Polyg\n+00022160: 6f6e 2073 7765 6570 732e 2020 2020 2020 on sweeps. \n+00022170: 286c 696e 6520 2020 3929 0a2a 206f 7074 (line 9).* opt\n+00022180: 696f 6e73 2c20 7377 6565 7020 3c32 3e3a ions, sweep <2>:\n+00022190: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000221a0: 2020 2020 5377 6570 7420 706f 696e 7473 Swept points\n+000221b0: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line \n+000221c0: 3231 290a 2a20 6f70 7469 6f6e 732c 2073 21).* options, s\n+000221d0: 7765 6570 203c 333e 3a20 2020 2020 2020 weep <3>: \n+000221e0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+000221f0: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. \n+00022200: 2020 286c 696e 6520 2032 3529 0a2a 206f (line 25).* o\n+00022210: 7074 696f 6e73 2c20 7377 6565 7020 3c34 ptions, sweep <4\n+00022220: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00022230: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line\n+00022240: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line\n+00022250: 2020 3438 290a 2a20 6f70 7469 6f6e 732c 48).* options,\n+00022260: 2073 7765 7074 206f 626a 6563 743a 2020 swept object: \n+00022270: 2020 2020 2020 2020 2020 2020 2020 2050 P\n+00022280: 6f6c 7967 6f6e 2073 7765 6570 732e 2020 olygon sweeps. \n+00022290: 2020 2020 286c 696e 6520 2020 3829 0a2a (line 8).*\n+000222a0: 206f 7074 696f 6e73 2c20 7377 6570 7420 options, swept \n+000222b0: 6f62 6a65 6374 203c 313e 3a20 2020 2020 object <1>: \n+000222c0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n+000222d0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n+000222e0: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. \n 000222f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00022300: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00022310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022320: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00022330: 2032 3229 0a2a 206f 7074 696f 6e73 2c20 22).* options, \n-00022340: 7377 6570 7420 6f62 6a65 6374 203c 323e swept object <2>\n-00022350: 3a20 2020 2020 2020 2020 2020 2020 5377 : Sw\n-00022360: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. \n-00022370: 2020 2028 6c69 6e65 2020 3236 290a 2a20 (line 26).* \n-00022380: 6f70 7469 6f6e 732c 2073 7765 7074 206f options, swept o\n-00022390: 626a 6563 7420 3c33 3e3a 2020 2020 2020 bject <3>: \n-000223a0: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin\n-000223b0: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin\n-000223c0: 6520 2034 3829 0a2a 206f 7264 6572 2c20 e 48).* order, \n-000223d0: 706f 6c79 676f 6e20 7665 7274 6578 3a20 polygon vertex: \n-000223e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000223f0: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. \n-00022400: 2020 2020 2028 6c69 6e65 2020 3339 290a (line 39).\n-00022410: 2a20 6f72 6465 722c 2070 6f6c 7967 6f6e * order, polygon\n-00022420: 2076 6572 7465 7820 3c31 3e3a 2020 2020 vertex <1>: \n-00022430: 2020 2020 2020 2020 2053 7765 7074 206c Swept l\n-00022440: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l\n-00022450: 696e 6520 2031 3429 0a2a 206f 7264 6572 ine 14).* order\n-00022460: 2c20 706f 6c79 676f 6e20 7665 7274 6578 , polygon vertex\n-00022470: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-00022480: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. \n-00022490: 2020 2020 2020 2028 6c69 6e65 2020 3430 (line 40\n-000224a0: 290a 2a20 6f72 6465 722c 2070 6f6c 7967 ).* order, polyg\n-000224b0: 6f6e 2076 6572 7465 7820 3c33 3e3a 2020 on vertex <3>: \n-000224c0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-000224d0: 2070 6f6c 7967 6f6e 732e 2020 2020 2020 polygons. \n-000224e0: 286c 696e 6520 2031 3929 0a2a 206f 7264 (line 19).* ord\n-000224f0: 6572 2c20 706f 6c79 676f 6e20 7665 7274 er, polygon vert\n-00022500: 6578 203c 343e 3a20 2020 2020 2020 2020 ex <4>: \n-00022510: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. \n-00022520: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00022530: 3337 290a 2a20 6f72 6465 722c 2070 6f6c 37).* order, pol\n-00022540: 7967 6f6e 2076 6572 7465 7820 3c35 3e3a ygon vertex <5>:\n-00022550: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n-00022560: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n-00022570: 2020 286c 696e 6520 2035 3529 0a2a 206f (line 55).* o\n-00022580: 7574 7075 7420 6c61 6e67 7561 6765 3a20 utput language: \n+00022320: 2020 2020 286c 696e 6520 2032 3229 0a2a (line 22).*\n+00022330: 206f 7074 696f 6e73 2c20 7377 6570 7420 options, swept \n+00022340: 6f62 6a65 6374 203c 323e 3a20 2020 2020 object <2>: \n+00022350: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li\n+00022360: 6e65 732e 2020 2020 2020 2020 2028 6c69 nes. (li\n+00022370: 6e65 2020 3236 290a 2a20 6f70 7469 6f6e ne 26).* option\n+00022380: 732c 2073 7765 7074 206f 626a 6563 7420 s, swept object \n+00022390: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: \n+000223a0: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. \n+000223b0: 2020 2020 2020 286c 696e 6520 2034 3829 (line 48)\n+000223c0: 0a2a 206f 7264 6572 2c20 706f 6c79 676f .* order, polygo\n+000223d0: 6e20 7665 7274 6578 3a20 2020 2020 2020 n vertex: \n+000223e0: 2020 2020 2020 2020 2020 4865 6c6c 6f20 Hello \n+000223f0: 776f 726c 642e 2020 2020 2020 2020 2028 world. (\n+00022400: 6c69 6e65 2020 3339 290a 2a20 6f72 6465 line 39).* orde\n+00022410: 722c 2070 6f6c 7967 6f6e 2076 6572 7465 r, polygon verte\n+00022420: 7820 3c31 3e3a 2020 2020 2020 2020 2020 x <1>: \n+00022430: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. \n+00022440: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1\n+00022450: 3429 0a2a 206f 7264 6572 2c20 706f 6c79 4).* order, poly\n+00022460: 676f 6e20 7665 7274 6578 203c 323e 3a20 gon vertex <2>: \n+00022470: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n+00022480: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. \n+00022490: 2028 6c69 6e65 2020 3430 290a 2a20 6f72 (line 40).* or\n+000224a0: 6465 722c 2070 6f6c 7967 6f6e 2076 6572 der, polygon ver\n+000224b0: 7465 7820 3c33 3e3a 2020 2020 2020 2020 tex <3>: \n+000224c0: 2020 2020 2053 7765 7074 2070 6f6c 7967 Swept polyg\n+000224d0: 6f6e 732e 2020 2020 2020 286c 696e 6520 ons. (line \n+000224e0: 2031 3929 0a2a 206f 7264 6572 2c20 706f 19).* order, po\n+000224f0: 6c79 676f 6e20 7665 7274 6578 203c 343e lygon vertex <4>\n+00022500: 3a20 2020 2020 2020 2020 2020 2020 4f76 : Ov\n+00022510: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. \n+00022520: 2020 2028 6c69 6e65 2020 3337 290a 2a20 (line 37).* \n+00022530: 6f72 6465 722c 2070 6f6c 7967 6f6e 2076 order, polygon v\n+00022540: 6572 7465 7820 3c35 3e3a 2020 2020 2020 ertex <5>: \n+00022550: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n+00022560: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00022570: 6520 2035 3529 0a2a 206f 7574 7075 7420 e 55).* output \n+00022580: 6c61 6e67 7561 6765 3a20 2020 2020 2020 language: \n 00022590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000225a0: 2020 2020 2020 4c61 6e67 7561 6765 2e20 Language. \n-000225b0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-000225c0: 2020 2036 290a 2a20 6f75 7473 6964 6520 6).* outside \n-000225d0: 6f66 2061 2070 6f6c 7967 6f6e 3a20 2020 of a polygon: \n-000225e0: 2020 2020 2020 2020 2020 2020 2020 2048 H\n-000225f0: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. \n-00022600: 2020 2020 286c 696e 6520 2033 3729 0a2a (line 37).*\n-00022610: 2070 6172 616c 6c65 6c20 7072 6f6a 6563 parallel projec\n-00022620: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n-00022630: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo\n-00022640: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li\n-00022650: 6e65 2020 3236 290a 2a20 7061 7261 6c6c ne 26).* parall\n-00022660: 656c 2070 726f 6a65 6374 696f 6e20 3c31 el projection <1\n-00022670: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00022680: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-00022690: 616c 732e 2020 286c 696e 6520 2031 3829 als. (line 18)\n-000226a0: 0a2a 2070 6172 616c 6c65 6c20 7072 6f6a .* parallel proj\n-000226b0: 6563 7469 6f6e 203c 323e 3a20 2020 2020 ection <2>: \n-000226c0: 2020 2020 2020 2020 2020 5069 6374 7572 Pictur\n-000226d0: 6520 626f 782e 2020 2020 2020 2020 2028 e box. (\n-000226e0: 6c69 6e65 2020 3135 290a 2a20 7061 7265 line 15).* pare\n-000226f0: 6e74 6865 7365 733a 2020 2020 2020 2020 ntheses: \n-00022700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022710: 2020 2054 776f 2d6f 7065 7261 6e64 2028 Two-operand (\n-00022720: 6269 6e61 7279 2920 666f 726d 732e 0a20 binary) forms.. \n+000225a0: 4c61 6e67 7561 6765 2e20 2020 2020 2020 Language. \n+000225b0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n+000225c0: 2a20 6f75 7473 6964 6520 6f66 2061 2070 * outside of a p\n+000225d0: 6f6c 7967 6f6e 3a20 2020 2020 2020 2020 olygon: \n+000225e0: 2020 2020 2020 2020 2048 656c 6c6f 2077 Hello w\n+000225f0: 6f72 6c64 2e20 2020 2020 2020 2020 286c orld. (l\n+00022600: 696e 6520 2033 3729 0a2a 2070 6172 616c ine 37).* paral\n+00022610: 6c65 6c20 7072 6f6a 6563 7469 6f6e 3a20 lel projection: \n+00022620: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022630: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. \n+00022640: 2020 2020 2020 2028 6c69 6e65 2020 3236 (line 26\n+00022650: 290a 2a20 7061 7261 6c6c 656c 2070 726f ).* parallel pro\n+00022660: 6a65 6374 696f 6e20 3c31 3e3a 2020 2020 jection <1>: \n+00022670: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n+00022680: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n+00022690: 286c 696e 6520 2031 3829 0a2a 2070 6172 (line 18).* par\n+000226a0: 616c 6c65 6c20 7072 6f6a 6563 7469 6f6e allel projection\n+000226b0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+000226c0: 2020 2020 5069 6374 7572 6520 626f 782e Picture box.\n+000226d0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+000226e0: 3135 290a 2a20 7061 7265 6e74 6865 7365 15).* parenthese\n+000226f0: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n+00022700: 2020 2020 2020 2020 2020 2020 2054 776f Two\n+00022710: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary\n+00022720: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. \n 00022730: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00022740: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00022750: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022760: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00022770: 6e65 2020 3538 290a 2a20 7065 7273 7065 ne 58).* perspe\n-00022780: 6374 6976 6520 7072 6f6a 6563 7469 6f6e ctive projection\n-00022790: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000227a0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-000227b0: 616c 732e 2020 286c 696e 6520 2031 3929 als. (line 19)\n-000227c0: 0a2a 2070 6572 7370 6563 7469 7665 2070 .* perspective p\n-000227d0: 726f 6a65 6374 696f 6e20 3c31 3e3a 2020 rojection <1>: \n-000227e0: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n-000227f0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n-00022800: 6c69 6e65 2020 3231 290a 2a20 7065 7273 line 21).* pers\n-00022810: 7065 6374 6976 6520 7072 6f6a 6563 7469 pective projecti\n-00022820: 6f6e 203c 323e 3a20 2020 2020 2020 2020 on <2>: \n-00022830: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n-00022840: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n-00022850: 3729 0a2a 2070 6963 7475 7265 2062 6f78 7).* picture box\n-00022860: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00022870: 2020 2020 2020 2020 2020 2020 5069 6374 Pict\n-00022880: 7572 6520 626f 782e 2020 2020 2020 2020 ure box. \n-00022890: 2028 6c69 6e65 2020 2036 290a 2a20 706c (line 6).* pl\n-000228a0: 616e 6172 6974 7920 6f66 2070 6f6c 7967 anarity of polyg\n-000228b0: 6f6e 733a 2020 2020 2020 2020 2020 2020 ons: \n-000228c0: 2020 2020 2050 6f6c 7967 6f6e 732e 2020 Polygons. \n-000228d0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-000228e0: 2031 3029 0a2a 2070 6c61 6e61 7269 7479 10).* planarity\n-000228f0: 206f 6620 706f 6c79 676f 6e73 203c 313e of polygons <1>\n-00022900: 3a20 2020 2020 2020 2020 2020 2020 5377 : Sw\n-00022910: 6565 7020 6661 6365 2073 706c 6974 7469 eep face splitti\n-00022920: 6e67 2e0a 2020 2020 2020 2020 2020 2020 ng.. \n+00022760: 2020 2020 2020 2028 6c69 6e65 2020 3538 (line 58\n+00022770: 290a 2a20 7065 7273 7065 6374 6976 6520 ).* perspective \n+00022780: 7072 6f6a 6563 7469 6f6e 3a20 2020 2020 projection: \n+00022790: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n+000227a0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n+000227b0: 286c 696e 6520 2031 3929 0a2a 2070 6572 (line 19).* per\n+000227c0: 7370 6563 7469 7665 2070 726f 6a65 6374 spective project\n+000227d0: 696f 6e20 3c31 3e3a 2020 2020 2020 2020 ion <1>: \n+000227e0: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n+000227f0: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line \n+00022800: 3231 290a 2a20 7065 7273 7065 6374 6976 21).* perspectiv\n+00022810: 6520 7072 6f6a 6563 7469 6f6e 203c 323e e projection <2>\n+00022820: 3a20 2020 2020 2020 2020 2020 204f 7665 : Ove\n+00022830: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n+00022840: 2020 286c 696e 6520 2020 3729 0a2a 2070 (line 7).* p\n+00022850: 6963 7475 7265 2062 6f78 3a20 2020 2020 icture box: \n+00022860: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022870: 2020 2020 2020 5069 6374 7572 6520 626f Picture bo\n+00022880: 782e 2020 2020 2020 2020 2028 6c69 6e65 x. (line\n+00022890: 2020 2036 290a 2a20 706c 616e 6172 6974 6).* planarit\n+000228a0: 7920 6f66 2070 6f6c 7967 6f6e 733a 2020 y of polygons: \n+000228b0: 2020 2020 2020 2020 2020 2020 2020 2050 P\n+000228c0: 6f6c 7967 6f6e 732e 2020 2020 2020 2020 olygons. \n+000228d0: 2020 2020 286c 696e 6520 2031 3029 0a2a (line 10).*\n+000228e0: 2070 6c61 6e61 7269 7479 206f 6620 706f planarity of po\n+000228f0: 6c79 676f 6e73 203c 313e 3a20 2020 2020 lygons <1>: \n+00022900: 2020 2020 2020 2020 5377 6565 7020 6661 Sweep fa\n+00022910: 6365 2073 706c 6974 7469 6e67 2e0a 2020 ce splitting.. \n+00022920: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00022930: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00022940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022950: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022960: 2020 286c 696e 6520 2020 3729 0a2a 2070 (line 7).* p\n-00022970: 6f69 6e74 2064 6566 696e 6974 696f 6e3a oint definition:\n+00022950: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00022960: 6520 2020 3729 0a2a 2070 6f69 6e74 2064 e 7).* point d\n+00022970: 6566 696e 6974 696f 6e3a 2020 2020 2020 efinition: \n 00022980: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022990: 2020 2020 2020 4472 6177 696e 6720 6120 Drawing a \n-000229a0: 736f 6c69 642e 2020 2020 2028 6c69 6e65 solid. (line\n-000229b0: 2020 3233 290a 2a20 706f 696e 7420 6c69 23).* point li\n-000229c0: 7374 3a20 2020 2020 2020 2020 2020 2020 st: \n-000229d0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-000229e0: 7765 7074 2070 6f69 6e74 732e 2020 2020 wept points. \n-000229f0: 2020 2020 286c 696e 6520 2020 3929 0a2a (line 9).*\n-00022a00: 2070 6f69 6e74 206c 6974 6572 616c 3a20 point literal: \n+00022990: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid.\n+000229a0: 2020 2020 2028 6c69 6e65 2020 3233 290a (line 23).\n+000229b0: 2a20 706f 696e 7420 6c69 7374 3a20 2020 * point list: \n+000229c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000229d0: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p\n+000229e0: 6f69 6e74 732e 2020 2020 2020 2020 286c oints. (l\n+000229f0: 696e 6520 2020 3929 0a2a 2070 6f69 6e74 ine 9).* point\n+00022a00: 206c 6974 6572 616c 3a20 2020 2020 2020 literal: \n 00022a10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022a20: 2020 2020 2020 2020 506f 696e 7420 616e Point an\n-00022a30: 6420 7665 6374 6f72 206c 6974 6572 616c d vector literal\n-00022a40: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+00022a20: 2020 506f 696e 7420 616e 6420 7665 6374 Point and vect\n+00022a30: 6f72 206c 6974 6572 616c 732e 0a20 2020 or literals.. \n+00022a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00022a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00022a60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022a80: 2028 6c69 6e65 2020 2036 290a 2a20 706f (line 6).* po\n-00022a90: 696e 7420 7265 6665 7265 6e63 653a 2020 int reference: \n-00022aa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022ab0: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re\n-00022ac0: 6665 7265 6e63 6573 2e20 286c 696e 6520 ferences. (line \n-00022ad0: 2031 3429 0a2a 2070 6f69 6e74 2073 7765 14).* point swe\n-00022ae0: 6570 3a20 2020 2020 2020 2020 2020 2020 ep: \n-00022af0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-00022b00: 6570 7420 6f62 6a65 6374 732e 2020 2020 ept objects. \n-00022b10: 2020 2028 6c69 6e65 2020 3131 290a 2a20 (line 11).* \n-00022b20: 706f 696e 7420 7377 6565 7020 3c31 3e3a point sweep <1>:\n+00022a70: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00022a80: 2020 2036 290a 2a20 706f 696e 7420 7265 6).* point re\n+00022a90: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: \n+00022aa0: 2020 2020 2020 2020 2020 2020 2020 2046 F\n+00022ab0: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc\n+00022ac0: 6573 2e20 286c 696e 6520 2031 3429 0a2a es. (line 14).*\n+00022ad0: 2070 6f69 6e74 2073 7765 6570 3a20 2020 point sweep: \n+00022ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022af0: 2020 2020 2020 2020 5377 6570 7420 6f62 Swept ob\n+00022b00: 6a65 6374 732e 2020 2020 2020 2028 6c69 jects. (li\n+00022b10: 6e65 2020 3131 290a 2a20 706f 696e 7420 ne 11).* point \n+00022b20: 7377 6565 7020 3c31 3e3a 2020 2020 2020 sweep <1>: \n 00022b30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022b40: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi\n-00022b50: 6e74 732e 2020 2020 2020 2020 286c 696e nts. (lin\n-00022b60: 6520 2020 3629 0a2a 2070 6f6c 7967 6f6e e 6).* polygon\n-00022b70: 2073 7765 6570 3a20 2020 2020 2020 2020 sweep: \n-00022b80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022b90: 506f 6c79 676f 6e20 7377 6565 7073 2e20 Polygon sweeps. \n-00022ba0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-00022bb0: 2a20 706f 6c79 676f 6e20 7377 6565 7020 * polygon sweep \n-00022bc0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-00022bd0: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p\n-00022be0: 6f6c 7967 6f6e 732e 2020 2020 2020 286c olygons. (l\n-00022bf0: 696e 6520 2020 3629 0a2a 2070 6f6c 7967 ine 6).* polyg\n-00022c00: 6f6e 2073 7765 6570 203c 323e 3a20 2020 on sweep <2>: \n-00022c10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022c20: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical\n-00022c30: 206d 6f64 656c 2e0a 2020 2020 2020 2020 model.. \n+00022b40: 2053 7765 7074 2070 6f69 6e74 732e 2020 Swept points. \n+00022b50: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n+00022b60: 0a2a 2070 6f6c 7967 6f6e 2073 7765 6570 .* polygon sweep\n+00022b70: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00022b80: 2020 2020 2020 2020 2020 506f 6c79 676f Polygo\n+00022b90: 6e20 7377 6565 7073 2e20 2020 2020 2028 n sweeps. (\n+00022ba0: 6c69 6e65 2020 2036 290a 2a20 706f 6c79 line 6).* poly\n+00022bb0: 676f 6e20 7377 6565 7020 3c31 3e3a 2020 gon sweep <1>: \n+00022bc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022bd0: 2020 2053 7765 7074 2070 6f6c 7967 6f6e Swept polygon\n+00022be0: 732e 2020 2020 2020 286c 696e 6520 2020 s. (line \n+00022bf0: 3629 0a2a 2070 6f6c 7967 6f6e 2073 7765 6).* polygon swe\n+00022c00: 6570 203c 323e 3a20 2020 2020 2020 2020 ep <2>: \n+00022c10: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n+00022c20: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n+00022c30: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n 00022c40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00022c50: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00022c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022c70: 2020 2020 2020 286c 696e 6520 3132 3229 (line 122)\n-00022c80: 0a2a 2070 6f6c 7967 6f6e 2076 6572 7465 .* polygon verte\n-00022c90: 7820 6f72 6465 723a 2020 2020 2020 2020 x order: \n-00022ca0: 2020 2020 2020 2020 2020 4865 6c6c 6f20 Hello \n-00022cb0: 776f 726c 642e 2020 2020 2020 2020 2028 world. (\n-00022cc0: 6c69 6e65 2020 3339 290a 2a20 706f 6c79 line 39).* poly\n-00022cd0: 676f 6e20 7665 7274 6578 206f 7264 6572 gon vertex order\n-00022ce0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00022cf0: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. \n-00022d00: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1\n-00022d10: 3429 0a2a 2070 6f6c 7967 6f6e 2076 6572 4).* polygon ver\n-00022d20: 7465 7820 6f72 6465 7220 3c32 3e3a 2020 tex order <2>: \n-00022d30: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-00022d40: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. \n-00022d50: 2028 6c69 6e65 2020 3430 290a 2a20 706f (line 40).* po\n-00022d60: 6c79 676f 6e20 7665 7274 6578 206f 7264 lygon vertex ord\n-00022d70: 6572 203c 333e 3a20 2020 2020 2020 2020 er <3>: \n-00022d80: 2020 2020 2053 7765 7074 2070 6f6c 7967 Swept polyg\n-00022d90: 6f6e 732e 2020 2020 2020 286c 696e 6520 ons. (line \n-00022da0: 2031 3929 0a2a 2070 6f6c 7967 6f6e 2076 19).* polygon v\n-00022db0: 6572 7465 7820 6f72 6465 7220 3c34 3e3a ertex order <4>:\n-00022dc0: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov\n-00022dd0: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. \n-00022de0: 2020 2028 6c69 6e65 2020 3337 290a 2a20 (line 37).* \n-00022df0: 706f 6c79 676f 6e20 7665 7274 6578 206f polygon vertex o\n-00022e00: 7264 6572 203c 353e 3a20 2020 2020 2020 rder <5>: \n-00022e10: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n-00022e20: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00022e30: 6520 2035 3529 0a2a 2070 6f6c 7967 6f6e e 55).* polygon\n-00022e40: 2c20 626f 6479 3a20 2020 2020 2020 2020 , body: \n-00022e50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022e60: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options\n-00022e70: 2e20 2020 2028 6c69 6e65 2020 3136 290a . (line 16).\n-00022e80: 2a20 706f 6c79 676f 6e2c 2062 6f64 7920 * polygon, body \n-00022e90: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-00022ea0: 2020 2020 2020 2020 2053 7765 7074 206c Swept l\n-00022eb0: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l\n-00022ec0: 696e 6520 2031 3029 0a2a 2070 6f6c 7967 ine 10).* polyg\n-00022ed0: 6f6e 2c20 626f 6479 203c 323e 3a20 2020 on, body <2>: \n-00022ee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022ef0: 2020 5377 6570 7420 706f 6c79 676f 6e73 Swept polygons\n-00022f00: 2e20 2020 2020 2028 6c69 6e65 2020 2039 . (line 9\n-00022f10: 290a 2a20 706f 6c79 676f 6e2c 2065 6e64 ).* polygon, end\n-00022f20: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00022f30: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-00022f40: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. \n-00022f50: 286c 696e 6520 2033 3829 0a2a 2070 6f6c (line 38).* pol\n-00022f60: 7967 6f6e 2c20 656e 6420 3c31 3e3a 2020 ygon, end <1>: \n-00022f70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022f80: 2020 2020 5377 6570 7420 706f 6c79 676f Swept polygo\n-00022f90: 6e73 2e20 2020 2020 2028 6c69 6e65 2020 ns. (line \n-00022fa0: 3135 290a 2a20 706f 6c79 676f 6e2c 206f 15).* polygon, o\n-00022fb0: 7574 7369 6465 206f 663a 2020 2020 2020 utside of: \n-00022fc0: 2020 2020 2020 2020 2020 2020 2048 656c Hel\n-00022fd0: 6c6f 2077 6f72 6c64 2e20 2020 2020 2020 lo world. \n-00022fe0: 2020 286c 696e 6520 2033 3729 0a2a 2070 (line 37).* p\n-00022ff0: 6f6c 7967 6f6e 2c20 706c 616e 6172 3a20 olygon, planar: \n+00022c70: 286c 696e 6520 3132 3229 0a2a 2070 6f6c (line 122).* pol\n+00022c80: 7967 6f6e 2076 6572 7465 7820 6f72 6465 ygon vertex orde\n+00022c90: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n+00022ca0: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world.\n+00022cb0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00022cc0: 3339 290a 2a20 706f 6c79 676f 6e20 7665 39).* polygon ve\n+00022cd0: 7274 6578 206f 7264 6572 203c 313e 3a20 rtex order <1>: \n+00022ce0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+00022cf0: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. \n+00022d00: 2020 286c 696e 6520 2031 3429 0a2a 2070 (line 14).* p\n+00022d10: 6f6c 7967 6f6e 2076 6572 7465 7820 6f72 olygon vertex or\n+00022d20: 6465 7220 3c32 3e3a 2020 2020 2020 2020 der <2>: \n+00022d30: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line\n+00022d40: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line\n+00022d50: 2020 3430 290a 2a20 706f 6c79 676f 6e20 40).* polygon \n+00022d60: 7665 7274 6578 206f 7264 6572 203c 333e vertex order <3>\n+00022d70: 3a20 2020 2020 2020 2020 2020 2020 2053 : S\n+00022d80: 7765 7074 2070 6f6c 7967 6f6e 732e 2020 wept polygons. \n+00022d90: 2020 2020 286c 696e 6520 2031 3929 0a2a (line 19).*\n+00022da0: 2070 6f6c 7967 6f6e 2076 6572 7465 7820 polygon vertex \n+00022db0: 6f72 6465 7220 3c34 3e3a 2020 2020 2020 order <4>: \n+00022dc0: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview\n+00022dd0: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li\n+00022de0: 6e65 2020 3337 290a 2a20 706f 6c79 676f ne 37).* polygo\n+00022df0: 6e20 7665 7274 6578 206f 7264 6572 203c n vertex order <\n+00022e00: 353e 3a20 2020 2020 2020 2020 2020 2020 5>: \n+00022e10: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. \n+00022e20: 2020 2020 2020 286c 696e 6520 2035 3529 (line 55)\n+00022e30: 0a2a 2070 6f6c 7967 6f6e 2c20 626f 6479 .* polygon, body\n+00022e40: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00022e50: 2020 2020 2020 2020 2020 496e 7465 726e Intern\n+00022e60: 616c 206f 7074 696f 6e73 2e20 2020 2028 al options. (\n+00022e70: 6c69 6e65 2020 3136 290a 2a20 706f 6c79 line 16).* poly\n+00022e80: 676f 6e2c 2062 6f64 7920 3c31 3e3a 2020 gon, body <1>: \n+00022e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022ea0: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. \n+00022eb0: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1\n+00022ec0: 3029 0a2a 2070 6f6c 7967 6f6e 2c20 626f 0).* polygon, bo\n+00022ed0: 6479 203c 323e 3a20 2020 2020 2020 2020 dy <2>: \n+00022ee0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n+00022ef0: 7420 706f 6c79 676f 6e73 2e20 2020 2020 t polygons. \n+00022f00: 2028 6c69 6e65 2020 2039 290a 2a20 706f (line 9).* po\n+00022f10: 6c79 676f 6e2c 2065 6e64 3a20 2020 2020 lygon, end: \n+00022f20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022f30: 2020 2020 2053 7765 7074 206c 696e 6573 Swept lines\n+00022f40: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n+00022f50: 2033 3829 0a2a 2070 6f6c 7967 6f6e 2c20 38).* polygon, \n+00022f60: 656e 6420 3c31 3e3a 2020 2020 2020 2020 end <1>: \n+00022f70: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n+00022f80: 6570 7420 706f 6c79 676f 6e73 2e20 2020 ept polygons. \n+00022f90: 2020 2028 6c69 6e65 2020 3135 290a 2a20 (line 15).* \n+00022fa0: 706f 6c79 676f 6e2c 206f 7574 7369 6465 polygon, outside\n+00022fb0: 206f 663a 2020 2020 2020 2020 2020 2020 of: \n+00022fc0: 2020 2020 2020 2048 656c 6c6f 2077 6f72 Hello wor\n+00022fd0: 6c64 2e20 2020 2020 2020 2020 286c 696e ld. (lin\n+00022fe0: 6520 2033 3729 0a2a 2070 6f6c 7967 6f6e e 37).* polygon\n+00022ff0: 2c20 706c 616e 6172 3a20 2020 2020 2020 , planar: \n 00023000: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023010: 2020 2020 2020 506f 6c79 676f 6e73 2e20 Polygons. \n-00023020: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00023030: 2020 3130 290a 2a20 706f 6c79 676f 6e2c 10).* polygon,\n-00023040: 2070 6c61 6e61 7220 3c31 3e3a 2020 2020 planar <1>: \n-00023050: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00023060: 7765 6570 2066 6163 6520 7370 6c69 7474 weep face splitt\n-00023070: 696e 672e 0a20 2020 2020 2020 2020 2020 ing.. \n+00023010: 506f 6c79 676f 6e73 2e20 2020 2020 2020 Polygons. \n+00023020: 2020 2020 2028 6c69 6e65 2020 3130 290a (line 10).\n+00023030: 2a20 706f 6c79 676f 6e2c 2070 6c61 6e61 * polygon, plana\n+00023040: 7220 3c31 3e3a 2020 2020 2020 2020 2020 r <1>: \n+00023050: 2020 2020 2020 2020 2053 7765 6570 2066 Sweep f\n+00023060: 6163 6520 7370 6c69 7474 696e 672e 0a20 ace splitting.. \n+00023070: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023080: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023090: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000230a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000230b0: 2020 2028 6c69 6e65 2020 2037 290a 2a20 (line 7).* \n-000230c0: 7072 6563 6564 656e 6365 2c20 6f70 6572 precedence, oper\n-000230d0: 6174 6f72 3a20 2020 2020 2020 2020 2020 ator: \n-000230e0: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera\n-000230f0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n-00023100: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+000230a0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+000230b0: 6e65 2020 2037 290a 2a20 7072 6563 6564 ne 7).* preced\n+000230c0: 656e 6365 2c20 6f70 6572 6174 6f72 3a20 ence, operator: \n+000230d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000230e0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi\n+000230f0: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) forms.. \n+00023100: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023110: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023120: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023130: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023140: 2028 6c69 6e65 2020 3435 290a 2a20 7072 (line 45).* pr\n-00023150: 6f67 7261 6d2c 2068 656c 6c6f 2077 6f72 ogram, hello wor\n-00023160: 6c64 3a20 2020 2020 2020 2020 2020 2020 ld: \n-00023170: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world\n-00023180: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n-00023190: 2020 3729 0a2a 2070 726f 6a65 6374 696f 7).* projectio\n-000231a0: 6e2c 2070 6172 616c 6c65 6c3a 2020 2020 n, parallel: \n-000231b0: 2020 2020 2020 2020 2020 2020 2020 4865 He\n-000231c0: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. \n-000231d0: 2020 2028 6c69 6e65 2020 3236 290a 2a20 (line 26).* \n-000231e0: 7072 6f6a 6563 7469 6f6e 2c20 7061 7261 projection, para\n-000231f0: 6c6c 656c 203c 313e 3a20 2020 2020 2020 llel <1>: \n-00023200: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n-00023210: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin\n-00023220: 6520 2031 3829 0a2a 2070 726f 6a65 6374 e 18).* project\n-00023230: 696f 6e2c 2070 6172 616c 6c65 6c20 3c32 ion, parallel <2\n-00023240: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00023250: 5069 6374 7572 6520 626f 782e 2020 2020 Picture box. \n-00023260: 2020 2020 2028 6c69 6e65 2020 3135 290a (line 15).\n-00023270: 2a20 7072 6f6a 6563 7469 6f6e 2c20 7065 * projection, pe\n-00023280: 7273 7065 6374 6976 653a 2020 2020 2020 rspective: \n-00023290: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo\n-000232a0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l\n-000232b0: 696e 6520 2031 3929 0a2a 2070 726f 6a65 ine 19).* proje\n-000232c0: 6374 696f 6e2c 2070 6572 7370 6563 7469 ction, perspecti\n-000232d0: 7665 203c 313e 3a20 2020 2020 2020 2020 ve <1>: \n-000232e0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n-000232f0: 7261 6c73 2e20 2028 6c69 6e65 2020 3231 rals. (line 21\n-00023300: 290a 2a20 7072 6f6a 6563 7469 6f6e 2c20 ).* projection, \n-00023310: 7065 7273 7065 6374 6976 6520 3c32 3e3a perspective <2>:\n-00023320: 2020 2020 2020 2020 2020 204f 7665 7276 Overv\n-00023330: 6965 772e 2020 2020 2020 2020 2020 2020 iew. \n-00023340: 286c 696e 6520 2020 3729 0a2a 2070 7365 (line 7).* pse\n-00023350: 7564 6f2d 6f70 7469 6f6e 733a 2020 2020 udo-options: \n-00023360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023370: 2020 2020 5469 6b5a 2f50 4746 2075 7365 TikZ/PGF use\n-00023380: 722d 6465 6669 6e65 6420 7374 796c 6573 r-defined styles\n-00023390: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00023130: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00023140: 2020 3435 290a 2a20 7072 6f67 7261 6d2c 45).* program,\n+00023150: 2068 656c 6c6f 2077 6f72 6c64 3a20 2020 hello world: \n+00023160: 2020 2020 2020 2020 2020 2020 2020 2048 H\n+00023170: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. \n+00023180: 2020 2020 286c 696e 6520 2020 3729 0a2a (line 7).*\n+00023190: 2070 726f 6a65 6374 696f 6e2c 2070 6172 projection, par\n+000231a0: 616c 6c65 6c3a 2020 2020 2020 2020 2020 allel: \n+000231b0: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo\n+000231c0: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li\n+000231d0: 6e65 2020 3236 290a 2a20 7072 6f6a 6563 ne 26).* projec\n+000231e0: 7469 6f6e 2c20 7061 7261 6c6c 656c 203c tion, parallel <\n+000231f0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00023200: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n+00023210: 616c 732e 2020 286c 696e 6520 2031 3829 als. (line 18)\n+00023220: 0a2a 2070 726f 6a65 6374 696f 6e2c 2070 .* projection, p\n+00023230: 6172 616c 6c65 6c20 3c32 3e3a 2020 2020 arallel <2>: \n+00023240: 2020 2020 2020 2020 2020 5069 6374 7572 Pictur\n+00023250: 6520 626f 782e 2020 2020 2020 2020 2028 e box. (\n+00023260: 6c69 6e65 2020 3135 290a 2a20 7072 6f6a line 15).* proj\n+00023270: 6563 7469 6f6e 2c20 7065 7273 7065 6374 ection, perspect\n+00023280: 6976 653a 2020 2020 2020 2020 2020 2020 ive: \n+00023290: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n+000232a0: 6572 616c 732e 2020 286c 696e 6520 2031 erals. (line 1\n+000232b0: 3929 0a2a 2070 726f 6a65 6374 696f 6e2c 9).* projection,\n+000232c0: 2070 6572 7370 6563 7469 7665 203c 313e perspective <1>\n+000232d0: 3a20 2020 2020 2020 2020 2020 5472 616e : Tran\n+000232e0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n+000232f0: 2028 6c69 6e65 2020 3231 290a 2a20 7072 (line 21).* pr\n+00023300: 6f6a 6563 7469 6f6e 2c20 7065 7273 7065 ojection, perspe\n+00023310: 6374 6976 6520 3c32 3e3a 2020 2020 2020 ctive <2>: \n+00023320: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n+00023330: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00023340: 2020 3729 0a2a 2070 7365 7564 6f2d 6f70 7).* pseudo-op\n+00023350: 7469 6f6e 733a 2020 2020 2020 2020 2020 tions: \n+00023360: 2020 2020 2020 2020 2020 2020 2020 5469 Ti\n+00023370: 6b5a 2f50 4746 2075 7365 722d 6465 6669 kZ/PGF user-defi\n+00023380: 6e65 6420 7374 796c 6573 2e0a 2020 2020 ned styles.. \n+00023390: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000233a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000233b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000233c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000233d0: 286c 696e 6520 2032 3529 0a2a 2070 7366 (line 25).* psf\n-000233e0: 7261 6d65 626f 783a 2020 2020 2020 2020 ramebox: \n-000233f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023400: 2020 2020 4672 616d 652e 2020 2020 2020 Frame. \n-00023410: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00023420: 2038 290a 2a20 7073 7069 6374 7572 653a 8).* pspicture:\n+000233c0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+000233d0: 2032 3529 0a2a 2070 7366 7261 6d65 626f 25).* psframebo\n+000233e0: 783a 2020 2020 2020 2020 2020 2020 2020 x: \n+000233f0: 2020 2020 2020 2020 2020 2020 2020 4672 Fr\n+00023400: 616d 652e 2020 2020 2020 2020 2020 2020 ame. \n+00023410: 2020 2028 6c69 6e65 2020 2038 290a 2a20 (line 8).* \n+00023420: 7073 7069 6374 7572 653a 2020 2020 2020 pspicture: \n 00023430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023440: 2020 2020 2020 2020 2020 2020 2050 6963 Pic\n-00023450: 7475 7265 2062 6f78 2e20 2020 2020 2020 ture box. \n-00023460: 2020 286c 696e 6520 2031 3029 0a2a 2050 (line 10).* P\n-00023470: 5354 7269 636b 733a 2020 2020 2020 2020 STricks: \n+00023440: 2020 2020 2020 2050 6963 7475 7265 2062 Picture b\n+00023450: 6f78 2e20 2020 2020 2020 2020 286c 696e ox. (lin\n+00023460: 6520 2031 3029 0a2a 2050 5354 7269 636b e 10).* PSTrick\n+00023470: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n 00023480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023490: 2020 2020 2020 4162 6f75 7420 736b 6574 About sket\n-000234a0: 6368 2e20 2020 2020 2020 2028 6c69 6e65 ch. (line\n-000234b0: 2020 3231 290a 2a20 7175 6f74 696e 672c 21).* quoting,\n-000234c0: 2073 7065 6369 616c 3a20 2020 2020 2020 special: \n-000234d0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-000234e0: 7065 6369 616c 206f 626a 6563 7473 2e20 pecial objects. \n-000234f0: 2020 2020 286c 696e 6520 2032 3029 0a2a (line 20).*\n-00023500: 2071 756f 7469 6e67 2c20 7370 6563 6961 quoting, specia\n-00023510: 6c20 3c31 3e3a 2020 2020 2020 2020 2020 l <1>: \n-00023520: 2020 2020 2020 2020 5370 6563 6961 6c73 Specials\n-00023530: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li\n-00023540: 6e65 2020 2038 290a 2a20 7265 6665 7265 ne 8).* refere\n-00023550: 6e63 652c 2064 7261 7761 626c 653a 2020 nce, drawable: \n-00023560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023570: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n-00023580: 6d73 2e20 2020 286c 696e 6520 2033 3329 ms. (line 33)\n-00023590: 0a2a 2072 6566 6572 656e 6365 2c20 6472 .* reference, dr\n-000235a0: 6177 6162 6c65 203c 313e 3a20 2020 2020 awable <1>: \n-000235b0: 2020 2020 2020 2020 2020 466f 726d 7320 Forms \n-000235c0: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. (\n-000235d0: 6c69 6e65 2020 3137 290a 2a20 7265 6665 line 17).* refe\n-000235e0: 7265 6e63 652c 2064 7261 7761 626c 6520 rence, drawable \n-000235f0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n-00023600: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n-00023610: 2020 2020 2020 2020 286c 696e 6520 2034 (line 4\n-00023620: 3729 0a2a 2072 6566 6572 656e 6365 2c20 7).* reference, \n-00023630: 6472 6177 6162 6c65 203c 333e 3a20 2020 drawable <3>: \n-00023640: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n-00023650: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n-00023660: 2028 6c69 6e65 2020 3537 290a 2a20 7265 (line 57).* re\n-00023670: 6665 7265 6e63 652c 206d 756c 7469 706c ference, multipl\n-00023680: 6520 6f70 7469 6f6e 733a 2020 2020 2020 e options: \n-00023690: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re\n-000236a0: 6665 7265 6e63 6573 2e20 286c 696e 6520 ferences. (line \n-000236b0: 2031 3829 0a2a 2072 6566 6572 656e 6365 18).* reference\n-000236c0: 2c20 6f70 7469 6f6e 733a 2020 2020 2020 , options: \n-000236d0: 2020 2020 2020 2020 2020 2020 2020 506f Po\n-000236e0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi\n-000236f0: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. \n+00023490: 4162 6f75 7420 736b 6574 6368 2e20 2020 About sketch. \n+000234a0: 2020 2020 2028 6c69 6e65 2020 3231 290a (line 21).\n+000234b0: 2a20 7175 6f74 696e 672c 2073 7065 6369 * quoting, speci\n+000234c0: 616c 3a20 2020 2020 2020 2020 2020 2020 al: \n+000234d0: 2020 2020 2020 2020 2053 7065 6369 616c Special\n+000234e0: 206f 626a 6563 7473 2e20 2020 2020 286c objects. (l\n+000234f0: 696e 6520 2032 3029 0a2a 2071 756f 7469 ine 20).* quoti\n+00023500: 6e67 2c20 7370 6563 6961 6c20 3c31 3e3a ng, special <1>:\n+00023510: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023520: 2020 5370 6563 6961 6c73 2e20 2020 2020 Specials. \n+00023530: 2020 2020 2020 2028 6c69 6e65 2020 2038 (line 8\n+00023540: 290a 2a20 7265 6665 7265 6e63 652c 2064 ).* reference, d\n+00023550: 7261 7761 626c 653a 2020 2020 2020 2020 rawable: \n+00023560: 2020 2020 2020 2020 2020 204f 626a 6563 Objec\n+00023570: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. \n+00023580: 286c 696e 6520 2033 3329 0a2a 2072 6566 (line 33).* ref\n+00023590: 6572 656e 6365 2c20 6472 6177 6162 6c65 erence, drawable\n+000235a0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+000235b0: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref\n+000235c0: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line \n+000235d0: 3137 290a 2a20 7265 6665 7265 6e63 652c 17).* reference,\n+000235e0: 2064 7261 7761 626c 6520 3c32 3e3a 2020 drawable <2>: \n+000235f0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n+00023600: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n+00023610: 2020 286c 696e 6520 2034 3729 0a2a 2072 (line 47).* r\n+00023620: 6566 6572 656e 6365 2c20 6472 6177 6162 eference, drawab\n+00023630: 6c65 203c 333e 3a20 2020 2020 2020 2020 le <3>: \n+00023640: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n+00023650: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00023660: 2020 3537 290a 2a20 7265 6665 7265 6e63 57).* referenc\n+00023670: 652c 206d 756c 7469 706c 6520 6f70 7469 e, multiple opti\n+00023680: 6f6e 733a 2020 2020 2020 2020 2020 2046 ons: F\n+00023690: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc\n+000236a0: 6573 2e20 286c 696e 6520 2031 3829 0a2a es. (line 18).*\n+000236b0: 2072 6566 6572 656e 6365 2c20 6f70 7469 reference, opti\n+000236c0: 6f6e 733a 2020 2020 2020 2020 2020 2020 ons: \n+000236d0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n+000236e0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n+000236f0: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. \n 00023700: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023710: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023720: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023730: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00023740: 2032 3429 0a2a 2072 6566 6572 656e 6365 24).* reference\n-00023750: 2c20 6f70 7469 6f6e 7320 3c31 3e3a 2020 , options <1>: \n-00023760: 2020 2020 2020 2020 2020 2020 2020 466f Fo\n-00023770: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference\n-00023780: 732e 2028 6c69 6e65 2020 3138 290a 2a20 s. (line 18).* \n-00023790: 7265 6665 7265 6e63 652c 2070 6f69 6e74 reference, point\n-000237a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000237b0: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a\n-000237c0: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin\n-000237d0: 6520 2032 3329 0a2a 2072 6566 6572 656e e 23).* referen\n-000237e0: 6365 2c20 706f 696e 7420 3c31 3e3a 2020 ce, point <1>: \n-000237f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023800: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n-00023810: 6365 732e 2028 6c69 6e65 2020 3134 290a ces. (line 14).\n-00023820: 2a20 7265 6665 7265 6e63 652c 2073 6361 * reference, sca\n-00023830: 6c61 723a 2020 2020 2020 2020 2020 2020 lar: \n-00023840: 2020 2020 2020 2020 2053 7765 7074 206f Swept o\n-00023850: 626a 6563 7473 2e20 2020 2020 2020 286c bjects. (l\n-00023860: 696e 6520 2031 3329 0a2a 2072 6566 6572 ine 13).* refer\n-00023870: 656e 6365 2c20 7363 616c 6172 203c 313e ence, scalar <1>\n-00023880: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00023890: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer\n-000238a0: 656e 6365 732e 2028 6c69 6e65 2020 3133 ences. (line 13\n-000238b0: 290a 2a20 7265 6665 7265 6e63 652c 2074 ).* reference, t\n-000238c0: 6167 3a20 2020 2020 2020 2020 2020 2020 ag: \n-000238d0: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms\n-000238e0: 206f 6620 6465 6669 6e69 7469 6f6e 732e of definitions.\n-000238f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00023730: 2020 2020 286c 696e 6520 2032 3429 0a2a (line 24).*\n+00023740: 2072 6566 6572 656e 6365 2c20 6f70 7469 reference, opti\n+00023750: 6f6e 7320 3c31 3e3a 2020 2020 2020 2020 ons <1>: \n+00023760: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of\n+00023770: 2072 6566 6572 656e 6365 732e 2028 6c69 references. (li\n+00023780: 6e65 2020 3138 290a 2a20 7265 6665 7265 ne 18).* refere\n+00023790: 6e63 652c 2070 6f69 6e74 3a20 2020 2020 nce, point: \n+000237a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000237b0: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid\n+000237c0: 2e20 2020 2020 286c 696e 6520 2032 3329 . (line 23)\n+000237d0: 0a2a 2072 6566 6572 656e 6365 2c20 706f .* reference, po\n+000237e0: 696e 7420 3c31 3e3a 2020 2020 2020 2020 int <1>: \n+000237f0: 2020 2020 2020 2020 2020 466f 726d 7320 Forms \n+00023800: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. (\n+00023810: 6c69 6e65 2020 3134 290a 2a20 7265 6665 line 14).* refe\n+00023820: 7265 6e63 652c 2073 6361 6c61 723a 2020 rence, scalar: \n+00023830: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023840: 2020 2053 7765 7074 206f 626a 6563 7473 Swept objects\n+00023850: 2e20 2020 2020 2020 286c 696e 6520 2031 . (line 1\n+00023860: 3329 0a2a 2072 6566 6572 656e 6365 2c20 3).* reference, \n+00023870: 7363 616c 6172 203c 313e 3a20 2020 2020 scalar <1>: \n+00023880: 2020 2020 2020 2020 2020 2020 466f 726d Form\n+00023890: 7320 6f66 2072 6566 6572 656e 6365 732e s of references.\n+000238a0: 2028 6c69 6e65 2020 3133 290a 2a20 7265 (line 13).* re\n+000238b0: 6665 7265 6e63 652c 2074 6167 3a20 2020 ference, tag: \n+000238c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000238d0: 2020 2020 2046 6f72 6d73 206f 6620 6465 Forms of de\n+000238e0: 6669 6e69 7469 6f6e 732e 0a20 2020 2020 finitions.. \n+000238f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023900: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023910: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023920: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-00023930: 6c69 6e65 2020 3230 290a 2a20 7265 6665 line 20).* refe\n-00023940: 7265 6e63 652c 2074 6167 203c 313e 3a20 rence, tag <1>: \n-00023950: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023960: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe\n-00023970: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1\n-00023980: 3929 0a2a 2072 6566 6572 656e 6365 2c20 9).* reference, \n-00023990: 7472 616e 7366 6f72 6d3a 2020 2020 2020 transform: \n-000239a0: 2020 2020 2020 2020 2020 2020 466f 726d Form\n-000239b0: 7320 6f66 2072 6566 6572 656e 6365 732e s of references.\n-000239c0: 2028 6c69 6e65 2020 3136 290a 2a20 7265 (line 16).* re\n-000239d0: 6665 7265 6e63 652c 2074 7261 6e73 666f ference, transfo\n-000239e0: 726d 203c 313e 3a20 2020 2020 2020 2020 rm <1>: \n-000239f0: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n-00023a00: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00023a10: 2033 3529 0a2a 2072 6566 6572 656e 6365 35).* reference\n-00023a20: 2c20 7665 6374 6f72 3a20 2020 2020 2020 , vector: \n-00023a30: 2020 2020 2020 2020 2020 2020 2020 506f Po\n-00023a40: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. \n-00023a50: 2020 2028 6c69 6e65 2020 3230 290a 2a20 (line 20).* \n-00023a60: 7265 6665 7265 6e63 652c 2076 6563 746f reference, vecto\n-00023a70: 7220 3c31 3e3a 2020 2020 2020 2020 2020 r <1>: \n-00023a80: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of \n-00023a90: 7265 6665 7265 6e63 6573 2e20 286c 696e references. (lin\n-00023aa0: 6520 2031 3529 0a2a 2072 6570 6561 7465 e 15).* repeate\n-00023ab0: 6420 6f62 6a65 6374 3a20 2020 2020 2020 d object: \n-00023ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023ad0: 5265 7065 6174 732e 2020 2020 2020 2020 Repeats. \n-00023ae0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-00023af0: 2a20 7265 7365 7276 6564 2077 6f72 6473 * reserved words\n-00023b00: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00023b10: 2020 2020 2020 2020 204b 6579 2061 6e64 Key and\n-00023b20: 2072 6573 6572 7665 6420 776f 7264 732e reserved words.\n-00023b30: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00023920: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00023930: 3230 290a 2a20 7265 6665 7265 6e63 652c 20).* reference,\n+00023940: 2074 6167 203c 313e 3a20 2020 2020 2020 tag <1>: \n+00023950: 2020 2020 2020 2020 2020 2020 2046 6f72 For\n+00023960: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n+00023970: 2e20 286c 696e 6520 2031 3929 0a2a 2072 . (line 19).* r\n+00023980: 6566 6572 656e 6365 2c20 7472 616e 7366 eference, transf\n+00023990: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: \n+000239a0: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r\n+000239b0: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line\n+000239c0: 2020 3136 290a 2a20 7265 6665 7265 6e63 16).* referenc\n+000239d0: 652c 2074 7261 6e73 666f 726d 203c 313e e, transform <1>\n+000239e0: 3a20 2020 2020 2020 2020 2020 2020 204f : O\n+000239f0: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n+00023a00: 2020 2020 286c 696e 6520 2033 3529 0a2a (line 35).*\n+00023a10: 2072 6566 6572 656e 6365 2c20 7665 6374 reference, vect\n+00023a20: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: \n+00023a30: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n+00023a40: 2073 7765 6570 732e 2020 2020 2028 6c69 sweeps. (li\n+00023a50: 6e65 2020 3230 290a 2a20 7265 6665 7265 ne 20).* refere\n+00023a60: 6e63 652c 2076 6563 746f 7220 3c31 3e3a nce, vector <1>:\n+00023a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023a80: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere\n+00023a90: 6e63 6573 2e20 286c 696e 6520 2031 3529 nces. (line 15)\n+00023aa0: 0a2a 2072 6570 6561 7465 6420 6f62 6a65 .* repeated obje\n+00023ab0: 6374 3a20 2020 2020 2020 2020 2020 2020 ct: \n+00023ac0: 2020 2020 2020 2020 2020 5265 7065 6174 Repeat\n+00023ad0: 732e 2020 2020 2020 2020 2020 2020 2028 s. (\n+00023ae0: 6c69 6e65 2020 2036 290a 2a20 7265 7365 line 6).* rese\n+00023af0: 7276 6564 2077 6f72 6473 3a20 2020 2020 rved words: \n+00023b00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023b10: 2020 204b 6579 2061 6e64 2072 6573 6572 Key and reser\n+00023b20: 7665 6420 776f 7264 732e 0a20 2020 2020 ved words.. \n+00023b30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023b40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023b50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023b60: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-00023b70: 6c69 6e65 2020 3131 290a 2a20 7269 6768 line 11).* righ\n-00023b80: 7420 6861 6e64 2072 756c 653a 2020 2020 t hand rule: \n-00023b90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023ba0: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n-00023bb0: 6f72 6d73 2e20 2020 286c 696e 6520 2034 orms. (line 4\n-00023bc0: 3129 0a2a 2072 6967 6874 2d68 616e 6420 1).* right-hand \n-00023bd0: 636f 6f72 6469 6e61 7465 2073 7973 7465 coordinate syste\n-00023be0: 6d3a 2020 2020 2020 2020 2020 496e 7472 m: Intr\n-00023bf0: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam\n-00023c00: 706c 652e 0a20 2020 2020 2020 2020 2020 ple.. \n+00023b60: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00023b70: 3131 290a 2a20 7269 6768 7420 6861 6e64 11).* right hand\n+00023b80: 2072 756c 653a 2020 2020 2020 2020 2020 rule: \n+00023b90: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n+00023ba0: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n+00023bb0: 2020 286c 696e 6520 2034 3129 0a2a 2072 (line 41).* r\n+00023bc0: 6967 6874 2d68 616e 6420 636f 6f72 6469 ight-hand coordi\n+00023bd0: 6e61 7465 2073 7973 7465 6d3a 2020 2020 nate system: \n+00023be0: 2020 2020 2020 496e 7472 6f64 7563 7469 Introducti\n+00023bf0: 6f6e 2062 7920 6578 616d 706c 652e 0a20 on by example.. \n+00023c00: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023c10: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023c20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023c30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023c40: 2020 2028 6c69 6e65 2020 3131 290a 2a20 (line 11).* \n-00023c50: 726f 7461 7469 6f6e 3a20 2020 2020 2020 rotation: \n+00023c30: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00023c40: 6e65 2020 3131 290a 2a20 726f 7461 7469 ne 11).* rotati\n+00023c50: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n 00023c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023c70: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n-00023c80: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin\n-00023c90: 6520 2033 3929 0a2a 2072 6f74 6174 696f e 39).* rotatio\n-00023ca0: 6e20 7472 616e 7366 6f72 6d3a 2020 2020 n transform: \n-00023cb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023cc0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n-00023cd0: 6c73 2e20 2028 6c69 6e65 2020 3130 290a ls. (line 10).\n-00023ce0: 2a20 726f 7461 7469 6f6e 2074 7261 6e73 * rotation trans\n-00023cf0: 666f 726d 203c 313e 3a20 2020 2020 2020 form <1>: \n-00023d00: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n-00023d10: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. \n+00023c70: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n+00023c80: 6d73 2e20 2020 286c 696e 6520 2033 3929 ms. (line 39)\n+00023c90: 0a2a 2072 6f74 6174 696f 6e20 7472 616e .* rotation tran\n+00023ca0: 7366 6f72 6d3a 2020 2020 2020 2020 2020 sform: \n+00023cb0: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n+00023cc0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n+00023cd0: 6c69 6e65 2020 3130 290a 2a20 726f 7461 line 10).* rota\n+00023ce0: 7469 6f6e 2074 7261 6e73 666f 726d 203c tion transform <\n+00023cf0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00023d00: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica\n+00023d10: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. \n 00023d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023d30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023d50: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00023d60: 6e65 2020 3438 290a 2a20 726f 7461 7469 ne 48).* rotati\n-00023d70: 6f6e 2074 7261 6e73 666f 726d 203c 323e on transform <2>\n-00023d80: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00023d90: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical \n-00023da0: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. \n+00023d50: 2020 2020 2020 2028 6c69 6e65 2020 3438 (line 48\n+00023d60: 290a 2a20 726f 7461 7469 6f6e 2074 7261 ).* rotation tra\n+00023d70: 6e73 666f 726d 203c 323e 3a20 2020 2020 nsform <2>: \n+00023d80: 2020 2020 2020 2020 2020 2041 2068 6965 A hie\n+00023d90: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model.\n+00023da0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00023db0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023dc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023dd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023de0: 2020 2020 2028 6c69 6e65 2020 3538 290a (line 58).\n-00023df0: 2a20 726f 7461 7469 6f6e 2074 7261 6e73 * rotation trans\n-00023e00: 666f 726d 203c 333e 3a20 2020 2020 2020 form <3>: \n-00023e10: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n-00023e20: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. \n+00023dd0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00023de0: 6c69 6e65 2020 3538 290a 2a20 726f 7461 line 58).* rota\n+00023df0: 7469 6f6e 2074 7261 6e73 666f 726d 203c tion transform <\n+00023e00: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: \n+00023e10: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica\n+00023e20: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. \n 00023e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023e50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023e60: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00023e70: 6e65 2020 3738 290a 2a20 726f 7461 7469 ne 78).* rotati\n-00023e80: 6f6e 2074 7261 6e73 666f 726d 203c 343e on transform <4>\n-00023e90: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00023ea0: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical \n-00023eb0: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. \n+00023e60: 2020 2020 2020 2028 6c69 6e65 2020 3738 (line 78\n+00023e70: 290a 2a20 726f 7461 7469 6f6e 2074 7261 ).* rotation tra\n+00023e80: 6e73 666f 726d 203c 343e 3a20 2020 2020 nsform <4>: \n+00023e90: 2020 2020 2020 2020 2020 2041 2068 6965 A hie\n+00023ea0: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model.\n+00023eb0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00023ec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00023ed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023ee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023ef0: 2020 2020 2028 6c69 6e65 2020 3933 290a (line 93).\n-00023f00: 2a20 726f 7461 7469 6f6e 2c20 6365 6e74 * rotation, cent\n-00023f10: 6572 206f 663a 2020 2020 2020 2020 2020 er of: \n-00023f20: 2020 2020 2020 2020 204f 626a 6563 7420 Object \n-00023f30: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l\n-00023f40: 696e 6520 2020 3829 0a2a 2072 6f74 6174 ine 8).* rotat\n-00023f50: 696f 6e2c 2063 656e 7465 7220 6f66 203c ion, center of <\n-00023f60: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-00023f70: 2020 4e65 7374 6564 2073 7765 6570 732e Nested sweeps.\n-00023f80: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n-00023f90: 290a 2a20 7275 6e6e 696e 6720 736b 6574 ).* running sket\n-00023fa0: 6368 3a20 2020 2020 2020 2020 2020 2020 ch: \n-00023fb0: 2020 2020 2020 2020 2020 2048 656c 6c6f Hello\n-00023fc0: 2077 6f72 6c64 2e20 2020 2020 2020 2020 world. \n-00023fd0: 286c 696e 6520 2020 3929 0a2a 2073 6361 (line 9).* sca\n-00023fe0: 6c61 7220 6465 6669 6e69 7469 6f6e 3a20 lar definition: \n-00023ff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024000: 2020 2020 5377 6570 7420 6f62 6a65 6374 Swept object\n-00024010: 732e 2020 2020 2020 2028 6c69 6e65 2020 s. (line \n-00024020: 3133 290a 2a20 7363 616c 6172 206c 6974 13).* scalar lit\n-00024030: 6572 616c 3a20 2020 2020 2020 2020 2020 eral: \n-00024040: 2020 2020 2020 2020 2020 2020 2053 6361 Sca\n-00024050: 6c61 7220 6c69 7465 7261 6c73 2e20 2020 lar literals. \n-00024060: 2020 286c 696e 6520 2020 3629 0a2a 2073 (line 6).* s\n-00024070: 6361 6c61 7220 7265 6665 7265 6e63 653a calar reference:\n+00023ee0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00023ef0: 6c69 6e65 2020 3933 290a 2a20 726f 7461 line 93).* rota\n+00023f00: 7469 6f6e 2c20 6365 6e74 6572 206f 663a tion, center of:\n+00023f10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023f20: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n+00023f30: 6f72 6d73 2e20 2020 286c 696e 6520 2020 orms. (line \n+00023f40: 3829 0a2a 2072 6f74 6174 696f 6e2c 2063 8).* rotation, c\n+00023f50: 656e 7465 7220 6f66 203c 313e 3a20 2020 enter of <1>: \n+00023f60: 2020 2020 2020 2020 2020 2020 4e65 7374 Nest\n+00023f70: 6564 2073 7765 6570 732e 2020 2020 2020 ed sweeps. \n+00023f80: 2028 6c69 6e65 2020 2036 290a 2a20 7275 (line 6).* ru\n+00023f90: 6e6e 696e 6720 736b 6574 6368 3a20 2020 nning sketch: \n+00023fa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023fb0: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world\n+00023fc0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n+00023fd0: 2020 3929 0a2a 2073 6361 6c61 7220 6465 9).* scalar de\n+00023fe0: 6669 6e69 7469 6f6e 3a20 2020 2020 2020 finition: \n+00023ff0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n+00024000: 6570 7420 6f62 6a65 6374 732e 2020 2020 ept objects. \n+00024010: 2020 2028 6c69 6e65 2020 3133 290a 2a20 (line 13).* \n+00024020: 7363 616c 6172 206c 6974 6572 616c 3a20 scalar literal: \n+00024030: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024040: 2020 2020 2020 2053 6361 6c61 7220 6c69 Scalar li\n+00024050: 7465 7261 6c73 2e20 2020 2020 286c 696e terals. (lin\n+00024060: 6520 2020 3629 0a2a 2073 6361 6c61 7220 e 6).* scalar \n+00024070: 7265 6665 7265 6e63 653a 2020 2020 2020 reference: \n 00024080: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024090: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r\n-000240a0: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line\n-000240b0: 2020 3133 290a 2a20 7363 616c 6520 7472 13).* scale tr\n-000240c0: 616e 7366 6f72 6d3a 2020 2020 2020 2020 ansform: \n-000240d0: 2020 2020 2020 2020 2020 2020 2020 2054 T\n-000240e0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n-000240f0: 732e 2020 286c 696e 6520 2031 3629 0a2a s. (line 16).*\n-00024100: 2073 6361 6c65 2074 7261 6e73 666f 726d scale transform\n-00024110: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00024120: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor\n-00024130: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li\n-00024140: 6e65 2020 3137 290a 2a20 7363 656e 6520 ne 17).* scene \n-00024150: 6465 7363 7269 7074 696f 6e20 6c61 6e67 description lang\n-00024160: 7561 6765 3a20 2020 2020 2020 2020 2020 uage: \n-00024170: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics\n-00024180: 2e20 2020 2020 286c 696e 6520 2020 3829 . (line 8)\n-00024190: 0a2a 2073 6365 6e65 2064 6573 6372 6970 .* scene descrip\n-000241a0: 7469 6f6e 206c 616e 6775 6167 6520 3c31 tion language <1\n-000241b0: 3e3a 2020 2020 2020 2020 4275 696c 6469 >: Buildi\n-000241c0: 6e67 2061 2064 7261 7769 6e67 2e20 2028 ng a drawing. (\n-000241d0: 6c69 6e65 2020 2037 290a 2a20 7363 6f70 line 7).* scop\n-000241e0: 652c 2069 6465 6e74 6966 6965 723a 2020 e, identifier: \n-000241f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024200: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n-00024210: 6f72 6d73 2e20 2020 286c 696e 6520 2032 orms. (line 2\n-00024220: 3629 0a2a 2073 636f 7065 2c20 6964 656e 6).* scope, iden\n-00024230: 7469 6669 6572 203c 313e 3a20 2020 2020 tifier <1>: \n-00024240: 2020 2020 2020 2020 2020 2020 426c 6f63 Bloc\n-00024250: 6b73 2e20 2020 2020 2020 2020 2020 2020 ks. \n-00024260: 2028 6c69 6e65 2020 3133 290a 2a20 7369 (line 13).* si\n-00024270: 6d70 6c65 2064 6566 696e 6974 696f 6e3a mple definition:\n-00024280: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024290: 2020 2020 2046 6f72 6d73 206f 6620 6465 Forms of de\n-000242a0: 6669 6e69 7469 6f6e 732e 0a20 2020 2020 finitions.. \n+00024090: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n+000240a0: 6365 732e 2028 6c69 6e65 2020 3133 290a ces. (line 13).\n+000240b0: 2a20 7363 616c 6520 7472 616e 7366 6f72 * scale transfor\n+000240c0: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: \n+000240d0: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo\n+000240e0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l\n+000240f0: 696e 6520 2031 3629 0a2a 2073 6361 6c65 ine 16).* scale\n+00024100: 2074 7261 6e73 666f 726d 203c 313e 3a20 transform <1>: \n+00024110: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024120: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n+00024130: 7261 6c73 2e20 2028 6c69 6e65 2020 3137 rals. (line 17\n+00024140: 290a 2a20 7363 656e 6520 6465 7363 7269 ).* scene descri\n+00024150: 7074 696f 6e20 6c61 6e67 7561 6765 3a20 ption language: \n+00024160: 2020 2020 2020 2020 2020 204c 616e 6775 Langu\n+00024170: 6167 6520 6261 7369 6373 2e20 2020 2020 age basics. \n+00024180: 286c 696e 6520 2020 3829 0a2a 2073 6365 (line 8).* sce\n+00024190: 6e65 2064 6573 6372 6970 7469 6f6e 206c ne description l\n+000241a0: 616e 6775 6167 6520 3c31 3e3a 2020 2020 anguage <1>: \n+000241b0: 2020 2020 4275 696c 6469 6e67 2061 2064 Building a d\n+000241c0: 7261 7769 6e67 2e20 2028 6c69 6e65 2020 rawing. (line \n+000241d0: 2037 290a 2a20 7363 6f70 652c 2069 6465 7).* scope, ide\n+000241e0: 6e74 6966 6965 723a 2020 2020 2020 2020 ntifier: \n+000241f0: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n+00024200: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n+00024210: 2020 286c 696e 6520 2032 3629 0a2a 2073 (line 26).* s\n+00024220: 636f 7065 2c20 6964 656e 7469 6669 6572 cope, identifier\n+00024230: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+00024240: 2020 2020 2020 426c 6f63 6b73 2e20 2020 Blocks. \n+00024250: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00024260: 2020 3133 290a 2a20 7369 6d70 6c65 2064 13).* simple d\n+00024270: 6566 696e 6974 696f 6e3a 2020 2020 2020 efinition: \n+00024280: 2020 2020 2020 2020 2020 2020 2020 2046 F\n+00024290: 6f72 6d73 206f 6620 6465 6669 6e69 7469 orms of definiti\n+000242a0: 6f6e 732e 0a20 2020 2020 2020 2020 2020 ons.. \n 000242b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000242c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000242d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000242e0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-000242f0: 2036 290a 2a20 736f 6c69 643a 2020 2020 6).* solid: \n+000242e0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+000242f0: 736f 6c69 643a 2020 2020 2020 2020 2020 solid: \n 00024300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024310: 2020 2020 2020 2020 2020 2020 2044 7261 Dra\n-00024320: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. \n-00024330: 2020 286c 696e 6520 2020 3629 0a2a 2073 (line 6).* s\n-00024340: 7065 6369 616c 2061 7267 756d 656e 7420 pecial argument \n-00024350: 7375 6273 7469 7475 7469 6f6e 3a20 2020 substitution: \n-00024360: 2020 2020 2020 5370 6563 6961 6c20 6f62 Special ob\n-00024370: 6a65 6374 732e 2020 2020 2028 6c69 6e65 jects. (line\n-00024380: 2020 3238 290a 2a20 7370 6563 6961 6c20 28).* special \n-00024390: 6172 6775 6d65 6e74 2073 7562 7374 6974 argument substit\n-000243a0: 7574 696f 6e20 3c31 3e3a 2020 2020 2053 ution <1>: S\n-000243b0: 7065 6369 616c 732e 2020 2020 2020 2020 pecials. \n-000243c0: 2020 2020 286c 696e 6520 2031 3029 0a2a (line 10).*\n-000243d0: 2073 7065 6369 616c 206f 626a 6563 743a special object:\n+00024310: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a\n+00024320: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin\n+00024330: 6520 2020 3629 0a2a 2073 7065 6369 616c e 6).* special\n+00024340: 2061 7267 756d 656e 7420 7375 6273 7469 argument substi\n+00024350: 7475 7469 6f6e 3a20 2020 2020 2020 2020 tution: \n+00024360: 5370 6563 6961 6c20 6f62 6a65 6374 732e Special objects.\n+00024370: 2020 2020 2028 6c69 6e65 2020 3238 290a (line 28).\n+00024380: 2a20 7370 6563 6961 6c20 6172 6775 6d65 * special argume\n+00024390: 6e74 2073 7562 7374 6974 7574 696f 6e20 nt substitution \n+000243a0: 3c31 3e3a 2020 2020 2053 7065 6369 616c <1>: Special\n+000243b0: 732e 2020 2020 2020 2020 2020 2020 286c s. (l\n+000243c0: 696e 6520 2031 3029 0a2a 2073 7065 6369 ine 10).* speci\n+000243d0: 616c 206f 626a 6563 743a 2020 2020 2020 al object: \n 000243e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000243f0: 2020 2020 2020 2020 5370 6563 6961 6c20 Special \n-00024400: 6f62 6a65 6374 732e 2020 2020 2028 6c69 objects. (li\n-00024410: 6e65 2020 2036 290a 2a20 7370 6563 6961 ne 6).* specia\n-00024420: 6c20 6f62 6a65 6374 733a 2020 2020 2020 l objects: \n-00024430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024440: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n-00024450: 7769 6e67 2e20 286c 696e 6520 2033 3829 wing. (line 38)\n-00024460: 0a2a 2073 706c 6974 7469 6e67 2c20 6c69 .* splitting, li\n-00024470: 6e65 2061 6e64 2073 7572 6661 6365 3a20 ne and surface: \n-00024480: 2020 2020 2020 2020 2020 4865 6c6c 6f20 Hello \n-00024490: 776f 726c 642e 2020 2020 2020 2020 2028 world. (\n-000244a0: 6c69 6e65 2020 3139 290a 2a20 7370 6c69 line 19).* spli\n-000244b0: 7474 696e 672c 206c 696e 6520 616e 6420 tting, line and \n-000244c0: 7375 7266 6163 6520 3c31 3e3a 2020 2020 surface <1>: \n-000244d0: 2020 2048 6964 6465 6e20 7375 7266 6163 Hidden surfac\n-000244e0: 6520 7265 6d6f 7661 6c2e 0a20 2020 2020 e removal.. \n+000243f0: 2020 5370 6563 6961 6c20 6f62 6a65 6374 Special object\n+00024400: 732e 2020 2020 2028 6c69 6e65 2020 2036 s. (line 6\n+00024410: 290a 2a20 7370 6563 6961 6c20 6f62 6a65 ).* special obje\n+00024420: 6374 733a 2020 2020 2020 2020 2020 2020 cts: \n+00024430: 2020 2020 2020 2020 2020 2041 2074 6563 A tec\n+00024440: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. \n+00024450: 286c 696e 6520 2033 3829 0a2a 2073 706c (line 38).* spl\n+00024460: 6974 7469 6e67 2c20 6c69 6e65 2061 6e64 itting, line and\n+00024470: 2073 7572 6661 6365 3a20 2020 2020 2020 surface: \n+00024480: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world.\n+00024490: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+000244a0: 3139 290a 2a20 7370 6c69 7474 696e 672c 19).* splitting,\n+000244b0: 206c 696e 6520 616e 6420 7375 7266 6163 line and surfac\n+000244c0: 6520 3c31 3e3a 2020 2020 2020 2048 6964 e <1>: Hid\n+000244d0: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo\n+000244e0: 7661 6c2e 0a20 2020 2020 2020 2020 2020 val.. \n 000244f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00024500: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00024510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024520: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00024530: 3231 290a 2a20 7375 6273 7469 7475 7469 21).* substituti\n-00024540: 6f6e 2c20 7370 6563 6961 6c3a 2020 2020 on, special: \n-00024550: 2020 2020 2020 2020 2020 2020 2053 7065 Spe\n-00024560: 6369 616c 206f 626a 6563 7473 2e20 2020 cial objects. \n-00024570: 2020 286c 696e 6520 2032 3829 0a2a 2073 (line 28).* s\n-00024580: 7572 6661 6365 3a20 2020 2020 2020 2020 urface: \n+00024520: 2020 2028 6c69 6e65 2020 3231 290a 2a20 (line 21).* \n+00024530: 7375 6273 7469 7475 7469 6f6e 2c20 7370 substitution, sp\n+00024540: 6563 6961 6c3a 2020 2020 2020 2020 2020 ecial: \n+00024550: 2020 2020 2020 2053 7065 6369 616c 206f Special o\n+00024560: 626a 6563 7473 2e20 2020 2020 286c 696e bjects. (lin\n+00024570: 6520 2032 3829 0a2a 2073 7572 6661 6365 e 28).* surface\n+00024580: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n 00024590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000245a0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n-000245b0: 7765 6570 732e 2020 2020 2028 6c69 6e65 weeps. (line\n-000245c0: 2020 2036 290a 2a20 7377 6565 703a 2020 6).* sweep: \n+000245a0: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps.\n+000245b0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n+000245c0: 2a20 7377 6565 703a 2020 2020 2020 2020 * sweep: \n 000245d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000245e0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-000245f0: 7765 7074 206f 626a 6563 7473 2e20 2020 wept objects. \n-00024600: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n-00024610: 2073 7765 7074 2062 6f63 6b3a 2020 2020 swept bock: \n+000245e0: 2020 2020 2020 2020 2053 7765 7074 206f Swept o\n+000245f0: 626a 6563 7473 2e20 2020 2020 2020 286c bjects. (l\n+00024600: 696e 6520 2020 3629 0a2a 2073 7765 7074 ine 6).* swept\n+00024610: 2062 6f63 6b3a 2020 2020 2020 2020 2020 bock: \n 00024620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024630: 2020 2020 2020 2020 5377 6570 7420 626c Swept bl\n-00024640: 6f63 6b73 2e20 2020 2020 2020 2028 6c69 ocks. (li\n-00024650: 6e65 2020 2036 290a 2a20 7377 6570 7420 ne 6).* swept \n-00024660: 6c69 6e65 3a20 2020 2020 2020 2020 2020 line: \n-00024670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024680: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-00024690: 2e20 2020 2020 286c 696e 6520 2020 3629 . (line 6)\n-000246a0: 0a2a 2073 7765 7074 206c 696e 6520 3c31 .* swept line <1\n-000246b0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-000246c0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-000246d0: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. (\n-000246e0: 6c69 6e65 2020 2036 290a 2a20 7377 6570 line 6).* swep\n-000246f0: 7420 6c69 6e65 203c 323e 3a20 2020 2020 t line <2>: \n-00024700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024710: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n-00024720: 7261 7769 6e67 2e20 286c 696e 6520 2032 rawing. (line 2\n-00024730: 3029 0a2a 2073 7765 7074 206f 626a 6563 0).* swept objec\n-00024740: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n-00024750: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-00024760: 7420 6f62 6a65 6374 732e 2020 2020 2020 t objects. \n-00024770: 2028 6c69 6e65 2020 2036 290a 2a20 7377 (line 6).* sw\n-00024780: 6570 7420 6f62 6a65 6374 203c 313e 3a20 ept object <1>: \n-00024790: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000247a0: 2020 2020 2053 7765 6570 732e 2020 2020 Sweeps. \n-000247b0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-000247c0: 2020 3929 0a2a 2073 7765 7074 2070 6f69 9).* swept poi\n-000247d0: 6e74 3a20 2020 2020 2020 2020 2020 2020 nt: \n-000247e0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-000247f0: 6570 7420 6f62 6a65 6374 732e 2020 2020 ept objects. \n-00024800: 2020 2028 6c69 6e65 2020 3131 290a 2a20 (line 11).* \n-00024810: 7377 6570 7420 706f 696e 7420 3c31 3e3a swept point <1>:\n+00024630: 2020 5377 6570 7420 626c 6f63 6b73 2e20 Swept blocks. \n+00024640: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n+00024650: 290a 2a20 7377 6570 7420 6c69 6e65 3a20 ).* swept line: \n+00024660: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024670: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl\n+00024680: 696e 6520 7377 6565 7073 2e20 2020 2020 ine sweeps. \n+00024690: 286c 696e 6520 2020 3629 0a2a 2073 7765 (line 6).* swe\n+000246a0: 7074 206c 696e 6520 3c31 3e3a 2020 2020 pt line <1>: \n+000246b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000246c0: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines.\n+000246d0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+000246e0: 2036 290a 2a20 7377 6570 7420 6c69 6e65 6).* swept line\n+000246f0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+00024700: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n+00024710: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n+00024720: 2e20 286c 696e 6520 2032 3029 0a2a 2073 . (line 20).* s\n+00024730: 7765 7074 206f 626a 6563 743a 2020 2020 wept object: \n+00024740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024750: 2020 2020 2020 5377 6570 7420 6f62 6a65 Swept obje\n+00024760: 6374 732e 2020 2020 2020 2028 6c69 6e65 cts. (line\n+00024770: 2020 2036 290a 2a20 7377 6570 7420 6f62 6).* swept ob\n+00024780: 6a65 6374 203c 313e 3a20 2020 2020 2020 ject <1>: \n+00024790: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+000247a0: 7765 6570 732e 2020 2020 2020 2020 2020 weeps. \n+000247b0: 2020 2020 286c 696e 6520 2020 3929 0a2a (line 9).*\n+000247c0: 2073 7765 7074 2070 6f69 6e74 3a20 2020 swept point: \n+000247d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000247e0: 2020 2020 2020 2020 5377 6570 7420 6f62 Swept ob\n+000247f0: 6a65 6374 732e 2020 2020 2020 2028 6c69 jects. (li\n+00024800: 6e65 2020 3131 290a 2a20 7377 6570 7420 ne 11).* swept \n+00024810: 706f 696e 7420 3c31 3e3a 2020 2020 2020 point <1>: \n 00024820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024830: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi\n-00024840: 6e74 732e 2020 2020 2020 2020 286c 696e nts. (lin\n-00024850: 6520 2020 3629 0a2a 2073 7765 7074 2070 e 6).* swept p\n-00024860: 6f6c 7967 6f6e 3a20 2020 2020 2020 2020 olygon: \n-00024870: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024880: 506f 6c79 676f 6e20 7377 6565 7073 2e20 Polygon sweeps. \n-00024890: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-000248a0: 2a20 7377 6570 7420 706f 6c79 676f 6e20 * swept polygon \n-000248b0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-000248c0: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n-000248d0: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. \n+00024830: 2053 7765 7074 2070 6f69 6e74 732e 2020 Swept points. \n+00024840: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n+00024850: 0a2a 2073 7765 7074 2070 6f6c 7967 6f6e .* swept polygon\n+00024860: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00024870: 2020 2020 2020 2020 2020 506f 6c79 676f Polygo\n+00024880: 6e20 7377 6565 7073 2e20 2020 2020 2028 n sweeps. (\n+00024890: 6c69 6e65 2020 2036 290a 2a20 7377 6570 line 6).* swep\n+000248a0: 7420 706f 6c79 676f 6e20 3c31 3e3a 2020 t polygon <1>: \n+000248b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000248c0: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica\n+000248d0: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. \n 000248e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000248f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00024900: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024910: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00024920: 6e65 2031 3232 290a 2a20 7461 6720 6465 ne 122).* tag de\n-00024930: 6669 6e69 7469 6f6e 3a20 2020 2020 2020 finition: \n-00024940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024950: 2044 6566 696e 6974 696f 6e73 2e20 2020 Definitions. \n-00024960: 2020 2020 2020 286c 696e 6520 2031 3829 (line 18)\n-00024970: 0a2a 2074 6167 2064 6566 696e 6974 696f .* tag definitio\n-00024980: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: \n-00024990: 2020 2020 2020 2020 2020 466f 726d 7320 Forms \n-000249a0: 6f66 2064 6566 696e 6974 696f 6e73 2e0a of definitions..\n+00024910: 2020 2020 2020 2028 6c69 6e65 2031 3232 (line 122\n+00024920: 290a 2a20 7461 6720 6465 6669 6e69 7469 ).* tag definiti\n+00024930: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n+00024940: 2020 2020 2020 2020 2020 2044 6566 696e Defin\n+00024950: 6974 696f 6e73 2e20 2020 2020 2020 2020 itions. \n+00024960: 286c 696e 6520 2031 3829 0a2a 2074 6167 (line 18).* tag\n+00024970: 2064 6566 696e 6974 696f 6e20 3c31 3e3a definition <1>:\n+00024980: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024990: 2020 2020 466f 726d 7320 6f66 2064 6566 Forms of def\n+000249a0: 696e 6974 696f 6e73 2e0a 2020 2020 2020 initions.. \n 000249b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000249c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000249d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000249e0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-000249f0: 696e 6520 2020 3729 0a2a 2074 6167 2064 ine 7).* tag d\n-00024a00: 6566 696e 6974 696f 6e20 3c32 3e3a 2020 efinition <2>: \n-00024a10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024a20: 2020 436f 6d6d 616e 6420 6c69 6e65 2e20 Command line. \n-00024a30: 2020 2020 2020 2028 6c69 6e65 2020 3533 (line 53\n-00024a40: 290a 2a20 7461 6720 7265 6665 7265 6e63 ).* tag referenc\n-00024a50: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-00024a60: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms\n-00024a70: 206f 6620 6465 6669 6e69 7469 6f6e 732e of definitions.\n-00024a80: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000249e0: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n+000249f0: 3729 0a2a 2074 6167 2064 6566 696e 6974 7).* tag definit\n+00024a00: 696f 6e20 3c32 3e3a 2020 2020 2020 2020 ion <2>: \n+00024a10: 2020 2020 2020 2020 2020 2020 436f 6d6d Comm\n+00024a20: 616e 6420 6c69 6e65 2e20 2020 2020 2020 and line. \n+00024a30: 2028 6c69 6e65 2020 3533 290a 2a20 7461 (line 53).* ta\n+00024a40: 6720 7265 6665 7265 6e63 653a 2020 2020 g reference: \n+00024a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024a60: 2020 2020 2046 6f72 6d73 206f 6620 6465 Forms of de\n+00024a70: 6669 6e69 7469 6f6e 732e 0a20 2020 2020 finitions.. \n+00024a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00024a90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00024aa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024ab0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n-00024ac0: 6c69 6e65 2020 3230 290a 2a20 7461 6720 line 20).* tag \n-00024ad0: 7265 6665 7265 6e63 6520 3c31 3e3a 2020 reference <1>: \n-00024ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024af0: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe\n-00024b00: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1\n-00024b10: 3929 0a2a 2074 656d 706c 6174 652c 2064 9).* template, d\n-00024b20: 6f63 756d 656e 743a 2020 2020 2020 2020 ocument: \n-00024b30: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell\n-00024b40: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. \n-00024b50: 2028 6c69 6e65 2020 3332 290a 2a20 7465 (line 32).* te\n-00024b60: 6d70 6c61 7465 2c20 646f 6375 6d65 6e74 mplate, document\n-00024b70: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00024b80: 2020 2020 2043 6f6d 6d61 6e64 206c 696e Command lin\n-00024b90: 652e 2020 2020 2020 2020 286c 696e 6520 e. (line \n-00024ba0: 2033 3629 0a2a 2074 6574 7261 6865 6472 36).* tetrahedr\n-00024bb0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n-00024bc0: 2020 2020 2020 2020 2020 2020 2020 4472 Dr\n-00024bd0: 6177 696e 6720 6120 736f 6c69 642e 2020 awing a solid. \n-00024be0: 2020 2028 6c69 6e65 2020 2039 290a 2a20 (line 9).* \n-00024bf0: 7469 636b 206f 7065 7261 746f 7220 2827 tick operator ('\n-00024c00: 293a 2020 2020 2020 2020 2020 2020 2020 ): \n-00024c10: 2020 2020 2020 2041 6666 696e 6520 6172 Affine ar\n-00024c20: 6974 686d 6574 6963 2e20 2020 286c 696e ithmetic. (lin\n-00024c30: 6520 2033 3729 0a2a 2074 6963 6b20 6f70 e 37).* tick op\n-00024c40: 6572 6174 6f72 2028 2729 203c 313e 3a20 erator (') <1>: \n-00024c50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024c60: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin\n-00024c70: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. \n+00024ab0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00024ac0: 3230 290a 2a20 7461 6720 7265 6665 7265 20).* tag refere\n+00024ad0: 6e63 6520 3c31 3e3a 2020 2020 2020 2020 nce <1>: \n+00024ae0: 2020 2020 2020 2020 2020 2020 2046 6f72 For\n+00024af0: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n+00024b00: 2e20 286c 696e 6520 2031 3929 0a2a 2074 . (line 19).* t\n+00024b10: 656d 706c 6174 652c 2064 6f63 756d 656e emplate, documen\n+00024b20: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+00024b30: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl\n+00024b40: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line\n+00024b50: 2020 3332 290a 2a20 7465 6d70 6c61 7465 32).* template\n+00024b60: 2c20 646f 6375 6d65 6e74 203c 313e 3a20 , document <1>: \n+00024b70: 2020 2020 2020 2020 2020 2020 2020 2043 C\n+00024b80: 6f6d 6d61 6e64 206c 696e 652e 2020 2020 ommand line. \n+00024b90: 2020 2020 286c 696e 6520 2033 3629 0a2a (line 36).*\n+00024ba0: 2074 6574 7261 6865 6472 6f6e 3a20 2020 tetrahedron: \n+00024bb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024bc0: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n+00024bd0: 6120 736f 6c69 642e 2020 2020 2028 6c69 a solid. (li\n+00024be0: 6e65 2020 2039 290a 2a20 7469 636b 206f ne 9).* tick o\n+00024bf0: 7065 7261 746f 7220 2827 293a 2020 2020 perator ('): \n+00024c00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024c10: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet\n+00024c20: 6963 2e20 2020 286c 696e 6520 2033 3729 ic. (line 37)\n+00024c30: 0a2a 2074 6963 6b20 6f70 6572 6174 6f72 .* tick operator\n+00024c40: 2028 2729 203c 313e 3a20 2020 2020 2020 (') <1>: \n+00024c50: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op\n+00024c60: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n+00024c70: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. \n 00024c80: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00024c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00024ca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024cb0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-00024cc0: 2034 3129 0a2a 2054 696b 5a2f 5047 463a 41).* TikZ/PGF:\n+00024cb0: 2020 2020 286c 696e 6520 2034 3129 0a2a (line 41).*\n+00024cc0: 2054 696b 5a2f 5047 463a 2020 2020 2020 TikZ/PGF: \n 00024cd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024ce0: 2020 2020 2020 2020 2020 2020 2020 4162 Ab\n-00024cf0: 6f75 7420 736b 6574 6368 2e20 2020 2020 out sketch. \n-00024d00: 2020 2028 6c69 6e65 2020 3232 290a 2a20 (line 22).* \n-00024d10: 746f 726f 6964 3a20 2020 2020 2020 2020 toroid: \n+00024ce0: 2020 2020 2020 2020 4162 6f75 7420 736b About sk\n+00024cf0: 6574 6368 2e20 2020 2020 2020 2028 6c69 etch. (li\n+00024d00: 6e65 2020 3232 290a 2a20 746f 726f 6964 ne 22).* toroid\n+00024d10: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n 00024d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024d30: 2020 2020 2020 204e 6573 7465 6420 7377 Nested sw\n-00024d40: 6565 7073 2e20 2020 2020 2020 286c 696e eeps. (lin\n-00024d50: 6520 2020 3829 0a2a 2074 7261 6e73 666f e 8).* transfo\n-00024d60: 726d 3a20 2020 2020 2020 2020 2020 2020 rm: \n-00024d70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024d80: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform\n-00024d90: 732e 2020 2028 6c69 6e65 2020 2036 290a s. (line 6).\n-00024da0: 2a20 7472 616e 7366 6f72 6d20 3c31 3e3a * transform <1>:\n+00024d30: 204e 6573 7465 6420 7377 6565 7073 2e20 Nested sweeps. \n+00024d40: 2020 2020 2020 286c 696e 6520 2020 3829 (line 8)\n+00024d50: 0a2a 2074 7261 6e73 666f 726d 3a20 2020 .* transform: \n+00024d60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024d70: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object\n+00024d80: 2074 7261 6e73 666f 726d 732e 2020 2028 transforms. (\n+00024d90: 6c69 6e65 2020 2036 290a 2a20 7472 616e line 6).* tran\n+00024da0: 7366 6f72 6d20 3c31 3e3a 2020 2020 2020 sform <1>: \n 00024db0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024dc0: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope\n-00024dd0: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo\n-00024de0: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. \n+00024dc0: 2020 2054 776f 2d6f 7065 7261 6e64 2028 Two-operand (\n+00024dd0: 6269 6e61 7279 2920 666f 726d 732e 0a20 binary) forms.. \n+00024de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00024df0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00024e00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024e10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024e20: 2020 2028 6c69 6e65 2020 3238 290a 2a20 (line 28).* \n-00024e30: 7472 616e 7366 6f72 6d20 3c32 3e3a 2020 transform <2>: \n+00024e10: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00024e20: 6e65 2020 3238 290a 2a20 7472 616e 7366 ne 28).* transf\n+00024e30: 6f72 6d20 3c32 3e3a 2020 2020 2020 2020 orm <2>: \n 00024e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024e50: 2020 2020 2020 2053 7765 6570 732e 2020 Sweeps. \n-00024e60: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00024e70: 6520 2031 3129 0a2a 2074 7261 6e73 666f e 11).* transfo\n-00024e80: 726d 203c 333e 3a20 2020 2020 2020 2020 rm <3>: \n-00024e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024ea0: 5265 7065 6174 732e 2020 2020 2020 2020 Repeats. \n-00024eb0: 2020 2020 2028 6c69 6e65 2020 2039 290a (line 9).\n-00024ec0: 2a20 7472 616e 7366 6f72 6d20 3c34 3e3a * transform <4>:\n+00024e50: 2053 7765 6570 732e 2020 2020 2020 2020 Sweeps. \n+00024e60: 2020 2020 2020 286c 696e 6520 2031 3129 (line 11)\n+00024e70: 0a2a 2074 7261 6e73 666f 726d 203c 333e .* transform <3>\n+00024e80: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00024e90: 2020 2020 2020 2020 2020 5265 7065 6174 Repeat\n+00024ea0: 732e 2020 2020 2020 2020 2020 2020 2028 s. (\n+00024eb0: 6c69 6e65 2020 2039 290a 2a20 7472 616e line 9).* tran\n+00024ec0: 7366 6f72 6d20 3c34 3e3a 2020 2020 2020 sform <4>: \n 00024ed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024ee0: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n-00024ef0: 772e 2020 2020 2020 2020 2020 2020 286c w. (l\n-00024f00: 696e 6520 2020 3729 0a2a 2074 7261 6e73 ine 7).* trans\n-00024f10: 666f 726d 2064 6566 696e 6974 696f 6e3a form definition:\n-00024f20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024f30: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n-00024f40: 2020 2020 2020 2028 6c69 6e65 2020 3335 (line 35\n-00024f50: 290a 2a20 7472 616e 7366 6f72 6d20 6c69 ).* transform li\n-00024f60: 7465 7261 6c3a 2020 2020 2020 2020 2020 teral: \n-00024f70: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n-00024f80: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n-00024f90: 286c 696e 6520 2020 3629 0a2a 2074 7261 (line 6).* tra\n-00024fa0: 6e73 666f 726d 2072 6566 6572 656e 6365 nsform reference\n-00024fb0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00024fc0: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref\n-00024fd0: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line \n-00024fe0: 3136 290a 2a20 7472 616e 7366 6f72 6d20 16).* transform \n-00024ff0: 7265 6665 7265 6e63 6520 3c31 3e3a 2020 reference <1>: \n-00025000: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n-00025010: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n-00025020: 2020 286c 696e 6520 2033 3529 0a2a 2074 (line 35).* t\n-00025030: 7261 6e73 666f 726d 2c20 6469 7265 6374 ransform, direct\n-00025040: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00025050: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n-00025060: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line\n-00025070: 2020 3437 290a 2a20 7472 616e 7366 6f72 47).* transfor\n-00025080: 6d2c 2064 6972 6563 7420 3c31 3e3a 2020 m, direct <1>: \n-00025090: 2020 2020 2020 2020 2020 2020 2020 2054 T\n-000250a0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n-000250b0: 732e 2020 286c 696e 6520 2035 3329 0a2a s. (line 53).*\n-000250c0: 2074 7261 6e73 666f 726d 2c20 726f 7461 transform, rota\n-000250d0: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n-000250e0: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor\n-000250f0: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li\n-00025100: 6e65 2020 3130 290a 2a20 7472 616e 7366 ne 10).* transf\n-00025110: 6f72 6d2c 2072 6f74 6174 696f 6e20 3c31 orm, rotation <1\n-00025120: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00025130: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical \n-00025140: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. \n+00024ee0: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n+00024ef0: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n+00024f00: 3729 0a2a 2074 7261 6e73 666f 726d 2064 7).* transform d\n+00024f10: 6566 696e 6974 696f 6e3a 2020 2020 2020 efinition: \n+00024f20: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n+00024f30: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n+00024f40: 2028 6c69 6e65 2020 3335 290a 2a20 7472 (line 35).* tr\n+00024f50: 616e 7366 6f72 6d20 6c69 7465 7261 6c3a ansform literal:\n+00024f60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024f70: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n+00024f80: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line \n+00024f90: 2020 3629 0a2a 2074 7261 6e73 666f 726d 6).* transform\n+00024fa0: 2072 6566 6572 656e 6365 3a20 2020 2020 reference: \n+00024fb0: 2020 2020 2020 2020 2020 2020 2020 466f Fo\n+00024fc0: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference\n+00024fd0: 732e 2028 6c69 6e65 2020 3136 290a 2a20 s. (line 16).* \n+00024fe0: 7472 616e 7366 6f72 6d20 7265 6665 7265 transform refere\n+00024ff0: 6e63 6520 3c31 3e3a 2020 2020 2020 2020 nce <1>: \n+00025000: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n+00025010: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00025020: 6520 2033 3529 0a2a 2074 7261 6e73 666f e 35).* transfo\n+00025030: 726d 2c20 6469 7265 6374 3a20 2020 2020 rm, direct: \n+00025040: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025050: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n+00025060: 6c73 2e20 2028 6c69 6e65 2020 3437 290a ls. (line 47).\n+00025070: 2a20 7472 616e 7366 6f72 6d2c 2064 6972 * transform, dir\n+00025080: 6563 7420 3c31 3e3a 2020 2020 2020 2020 ect <1>: \n+00025090: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo\n+000250a0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l\n+000250b0: 696e 6520 2035 3329 0a2a 2074 7261 6e73 ine 53).* trans\n+000250c0: 666f 726d 2c20 726f 7461 7469 6f6e 3a20 form, rotation: \n+000250d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000250e0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n+000250f0: 7261 6c73 2e20 2028 6c69 6e65 2020 3130 rals. (line 10\n+00025100: 290a 2a20 7472 616e 7366 6f72 6d2c 2072 ).* transform, r\n+00025110: 6f74 6174 696f 6e20 3c31 3e3a 2020 2020 otation <1>: \n+00025120: 2020 2020 2020 2020 2020 2041 2068 6965 A hie\n+00025130: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model.\n+00025140: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00025150: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00025160: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025180: 2020 2020 2028 6c69 6e65 2020 3438 290a (line 48).\n-00025190: 2a20 7472 616e 7366 6f72 6d2c 2072 6f74 * transform, rot\n-000251a0: 6174 696f 6e20 3c32 3e3a 2020 2020 2020 ation <2>: \n-000251b0: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n-000251c0: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. \n+00025170: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00025180: 6c69 6e65 2020 3438 290a 2a20 7472 616e line 48).* tran\n+00025190: 7366 6f72 6d2c 2072 6f74 6174 696f 6e20 sform, rotation \n+000251a0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n+000251b0: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica\n+000251c0: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. \n 000251d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000251e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000251f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025200: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00025210: 6e65 2020 3538 290a 2a20 7472 616e 7366 ne 58).* transf\n-00025220: 6f72 6d2c 2072 6f74 6174 696f 6e20 3c33 orm, rotation <3\n-00025230: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00025240: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical \n-00025250: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. \n+00025200: 2020 2020 2020 2028 6c69 6e65 2020 3538 (line 58\n+00025210: 290a 2a20 7472 616e 7366 6f72 6d2c 2072 ).* transform, r\n+00025220: 6f74 6174 696f 6e20 3c33 3e3a 2020 2020 otation <3>: \n+00025230: 2020 2020 2020 2020 2020 2041 2068 6965 A hie\n+00025240: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model.\n+00025250: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00025260: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00025270: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025280: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025290: 2020 2020 2028 6c69 6e65 2020 3738 290a (line 78).\n-000252a0: 2a20 7472 616e 7366 6f72 6d2c 2072 6f74 * transform, rot\n-000252b0: 6174 696f 6e20 3c34 3e3a 2020 2020 2020 ation <4>: \n-000252c0: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n-000252d0: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. \n+00025280: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00025290: 6c69 6e65 2020 3738 290a 2a20 7472 616e line 78).* tran\n+000252a0: 7366 6f72 6d2c 2072 6f74 6174 696f 6e20 sform, rotation \n+000252b0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: \n+000252c0: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica\n+000252d0: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. \n 000252e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000252f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00025300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025310: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00025320: 6e65 2020 3933 290a 2a20 7472 616e 7366 ne 93).* transf\n-00025330: 6f72 6d2c 2073 6361 6c65 3a20 2020 2020 orm, scale: \n-00025340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025350: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-00025360: 616c 732e 2020 286c 696e 6520 2031 3629 als. (line 16)\n-00025370: 0a2a 2074 7261 6e73 666f 726d 2c20 7363 .* transform, sc\n-00025380: 616c 6520 3c31 3e3a 2020 2020 2020 2020 ale <1>: \n-00025390: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n-000253a0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n-000253b0: 6c69 6e65 2020 3137 290a 2a20 7472 616e line 17).* tran\n-000253c0: 7366 6f72 6d2c 2074 7261 6e73 6c61 7469 sform, translati\n-000253d0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n-000253e0: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n-000253f0: 6f72 6d73 2e20 2020 286c 696e 6520 2034 orms. (line 4\n-00025400: 3729 0a2a 2074 7261 6e73 666f 726d 2c20 7).* transform, \n-00025410: 7472 616e 736c 6174 696f 6e20 3c31 3e3a translation <1>:\n-00025420: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n-00025430: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n-00025440: 2028 6c69 6e65 2020 3135 290a 2a20 7472 (line 15).* tr\n-00025450: 616e 7366 6f72 6d2c 2074 7261 6e73 6c61 ansform, transla\n-00025460: 7469 6f6e 203c 323e 3a20 2020 2020 2020 tion <2>: \n-00025470: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi\n-00025480: 6361 6c20 6d6f 6465 6c2e 0a20 2020 2020 cal model.. \n+00025310: 2020 2020 2020 2028 6c69 6e65 2020 3933 (line 93\n+00025320: 290a 2a20 7472 616e 7366 6f72 6d2c 2073 ).* transform, s\n+00025330: 6361 6c65 3a20 2020 2020 2020 2020 2020 cale: \n+00025340: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n+00025350: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n+00025360: 286c 696e 6520 2031 3629 0a2a 2074 7261 (line 16).* tra\n+00025370: 6e73 666f 726d 2c20 7363 616c 6520 3c31 nsform, scale <1\n+00025380: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00025390: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n+000253a0: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line \n+000253b0: 3137 290a 2a20 7472 616e 7366 6f72 6d2c 17).* transform,\n+000253c0: 2074 7261 6e73 6c61 7469 6f6e 3a20 2020 translation: \n+000253d0: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n+000253e0: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n+000253f0: 2020 286c 696e 6520 2034 3729 0a2a 2074 (line 47).* t\n+00025400: 7261 6e73 666f 726d 2c20 7472 616e 736c ransform, transl\n+00025410: 6174 696f 6e20 3c31 3e3a 2020 2020 2020 ation <1>: \n+00025420: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n+00025430: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line\n+00025440: 2020 3135 290a 2a20 7472 616e 7366 6f72 15).* transfor\n+00025450: 6d2c 2074 7261 6e73 6c61 7469 6f6e 203c m, translation <\n+00025460: 323e 3a20 2020 2020 2020 2020 2020 2041 2>: A\n+00025470: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n+00025480: 6465 6c2e 0a20 2020 2020 2020 2020 2020 del.. \n 00025490: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000254a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 000254b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000254c0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-000254d0: 3437 290a 2a20 7472 616e 7366 6f72 6d2c 47).* transform,\n-000254e0: 2076 6965 773a 2020 2020 2020 2020 2020 view: \n-000254f0: 2020 2020 2020 2020 2020 2020 2054 7261 Tra\n-00025500: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n-00025510: 2020 286c 696e 6520 2032 3529 0a2a 2074 (line 25).* t\n-00025520: 7261 6e73 666f 726d 2c20 7669 6577 203c ransform, view <\n-00025530: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-00025540: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n-00025550: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line\n-00025560: 2020 3335 290a 2a20 7472 616e 736c 6174 35).* translat\n-00025570: 696f 6e20 7472 616e 7366 6f72 6d3a 2020 ion transform: \n-00025580: 2020 2020 2020 2020 2020 2020 2020 204f O\n-00025590: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n-000255a0: 2e20 2020 286c 696e 6520 2034 3729 0a2a . (line 47).*\n-000255b0: 2074 7261 6e73 6c61 7469 6f6e 2074 7261 translation tra\n-000255c0: 6e73 666f 726d 203c 313e 3a20 2020 2020 nsform <1>: \n-000255d0: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor\n-000255e0: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li\n-000255f0: 6e65 2020 3135 290a 2a20 7472 616e 736c ne 15).* transl\n-00025600: 6174 696f 6e20 7472 616e 7366 6f72 6d20 ation transform \n-00025610: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n-00025620: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical \n-00025630: 6d6f 6465 6c2e 0a20 2020 2020 2020 2020 model.. \n+000254c0: 2020 2028 6c69 6e65 2020 3437 290a 2a20 (line 47).* \n+000254d0: 7472 616e 7366 6f72 6d2c 2076 6965 773a transform, view:\n+000254e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000254f0: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n+00025500: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin\n+00025510: 6520 2032 3529 0a2a 2074 7261 6e73 666f e 25).* transfo\n+00025520: 726d 2c20 7669 6577 203c 313e 3a20 2020 rm, view <1>: \n+00025530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025540: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n+00025550: 6c73 2e20 2028 6c69 6e65 2020 3335 290a ls. (line 35).\n+00025560: 2a20 7472 616e 736c 6174 696f 6e20 7472 * translation tr\n+00025570: 616e 7366 6f72 6d3a 2020 2020 2020 2020 ansform: \n+00025580: 2020 2020 2020 2020 204f 626a 6563 7420 Object \n+00025590: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l\n+000255a0: 696e 6520 2034 3729 0a2a 2074 7261 6e73 ine 47).* trans\n+000255b0: 6c61 7469 6f6e 2074 7261 6e73 666f 726d lation transform\n+000255c0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+000255d0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n+000255e0: 7261 6c73 2e20 2028 6c69 6e65 2020 3135 rals. (line 15\n+000255f0: 290a 2a20 7472 616e 736c 6174 696f 6e20 ).* translation \n+00025600: 7472 616e 7366 6f72 6d20 3c32 3e3a 2020 transform <2>: \n+00025610: 2020 2020 2020 2020 2020 2041 2068 6965 A hie\n+00025620: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model.\n+00025630: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 00025640: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00025650: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025670: 2020 2020 2028 6c69 6e65 2020 3437 290a (line 47).\n-00025680: 2a20 7472 616e 7370 6172 656e 6379 3a20 * transparency: \n+00025660: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00025670: 6c69 6e65 2020 3437 290a 2a20 7472 616e line 47).* tran\n+00025680: 7370 6172 656e 6379 3a20 2020 2020 2020 sparency: \n 00025690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000256a0: 2020 2020 2020 2020 2054 7261 6e73 7061 Transpa\n-000256b0: 7265 6e63 792e 2020 2020 2020 2020 286c rency. (l\n-000256c0: 696e 6520 2020 3629 0a2a 2074 776f 2d6f ine 6).* two-o\n-000256d0: 7065 7261 6e64 2066 6f72 6d3a 2020 2020 perand form: \n-000256e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000256f0: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b\n-00025700: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. \n+000256a0: 2020 2054 7261 6e73 7061 7265 6e63 792e Transparency.\n+000256b0: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n+000256c0: 3629 0a2a 2074 776f 2d6f 7065 7261 6e64 6).* two-operand\n+000256d0: 2066 6f72 6d3a 2020 2020 2020 2020 2020 form: \n+000256e0: 2020 2020 2020 2020 2020 2020 5477 6f2d Two-\n+000256f0: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary)\n+00025700: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. \n 00025710: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00025720: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00025730: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025740: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00025750: 6520 2020 3629 0a2a 2075 6e61 7279 2066 e 6).* unary f\n-00025760: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: \n-00025770: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025780: 556e 6172 7920 666f 726d 732e 2020 2020 Unary forms. \n-00025790: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-000257a0: 2a20 7665 6374 6f72 3a20 2020 2020 2020 * vector: \n+00025740: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n+00025750: 0a2a 2075 6e61 7279 2066 6f72 6d3a 2020 .* unary form: \n+00025760: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025770: 2020 2020 2020 2020 2020 556e 6172 7920 Unary \n+00025780: 666f 726d 732e 2020 2020 2020 2020 2028 forms. (\n+00025790: 6c69 6e65 2020 2036 290a 2a20 7665 6374 line 6).* vect\n+000257a0: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: \n 000257b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000257c0: 2020 2020 2020 2020 204f 626a 6563 7420 Object \n-000257d0: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l\n-000257e0: 696e 6520 2034 3829 0a2a 2076 6563 746f ine 48).* vecto\n-000257f0: 7220 6465 6669 6e69 7469 6f6e 3a20 2020 r definition: \n-00025800: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025810: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n-00025820: 732e 2020 2020 2028 6c69 6e65 2020 3139 s. (line 19\n-00025830: 290a 2a20 7665 6374 6f72 206c 6974 6572 ).* vector liter\n-00025840: 616c 3a20 2020 2020 2020 2020 2020 2020 al: \n-00025850: 2020 2020 2020 2020 2020 2050 6f69 6e74 Point\n-00025860: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite\n-00025870: 7261 6c73 2e0a 2020 2020 2020 2020 2020 rals.. \n+000257c0: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n+000257d0: 6f72 6d73 2e20 2020 286c 696e 6520 2034 orms. (line 4\n+000257e0: 3829 0a2a 2076 6563 746f 7220 6465 6669 8).* vector defi\n+000257f0: 6e69 7469 6f6e 3a20 2020 2020 2020 2020 nition: \n+00025800: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n+00025810: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. \n+00025820: 2028 6c69 6e65 2020 3139 290a 2a20 7665 (line 19).* ve\n+00025830: 6374 6f72 206c 6974 6572 616c 3a20 2020 ctor literal: \n+00025840: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025850: 2020 2020 2050 6f69 6e74 2061 6e64 2076 Point and v\n+00025860: 6563 746f 7220 6c69 7465 7261 6c73 2e0a ector literals..\n+00025870: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00025880: 2020 2020 2020 2020 2020 2020 2020 2020 \n 00025890: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000258a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000258b0: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n-000258c0: 2076 6563 746f 7220 7265 6665 7265 6e63 vector referenc\n-000258d0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-000258e0: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of\n-000258f0: 2072 6566 6572 656e 6365 732e 2028 6c69 references. (li\n-00025900: 6e65 2020 3135 290a 2a20 7669 6577 2074 ne 15).* view t\n-00025910: 7261 6e73 666f 726d 3a20 2020 2020 2020 ransform: \n-00025920: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025930: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-00025940: 616c 732e 2020 286c 696e 6520 2032 3529 als. (line 25)\n-00025950: 0a2a 2076 6965 7720 7472 616e 7366 6f72 .* view transfor\n-00025960: 6d20 3c31 3e3a 2020 2020 2020 2020 2020 m <1>: \n-00025970: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n-00025980: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n-00025990: 6c69 6e65 2020 3335 290a 2a20 7669 7274 line 35).* virt\n-000259a0: 7561 6c20 6361 6d65 7261 3a20 2020 2020 ual camera: \n-000259b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000259c0: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n-000259d0: 2020 2020 2020 2020 286c 696e 6520 2038 (line 8\n-000259e0: 3129 0a2a 2077 6869 7465 2073 7061 6365 1).* white space\n-000259f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00025a00: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n-00025a10: 696e 6720 6120 736f 6c69 642e 2020 2020 ing a solid. \n-00025a20: 2028 6c69 6e65 2020 3235 290a 2a20 7768 (line 25).* wh\n-00025a30: 6974 6520 7370 6163 6520 3c31 3e3a 2020 ite space <1>: \n-00025a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025a50: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s\n-00025a60: 6f6c 6964 2e20 2020 2020 286c 696e 6520 olid. (line \n-00025a70: 2032 3929 0a2a 2077 6869 7465 2073 7061 29).* white spa\n-00025a80: 6365 203c 323e 3a20 2020 2020 2020 2020 ce <2>: \n-00025a90: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n-00025aa0: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n-00025ab0: 2020 2028 6c69 6e65 2020 3332 290a 2a20 (line 32).* \n-00025ac0: 7768 6974 6520 7370 6163 6520 3c33 3e3a white space <3>:\n+000258a0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+000258b0: 696e 6520 2020 3629 0a2a 2076 6563 746f ine 6).* vecto\n+000258c0: 7220 7265 6665 7265 6e63 653a 2020 2020 r reference: \n+000258d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000258e0: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer\n+000258f0: 656e 6365 732e 2028 6c69 6e65 2020 3135 ences. (line 15\n+00025900: 290a 2a20 7669 6577 2074 7261 6e73 666f ).* view transfo\n+00025910: 726d 3a20 2020 2020 2020 2020 2020 2020 rm: \n+00025920: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n+00025930: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n+00025940: 286c 696e 6520 2032 3529 0a2a 2076 6965 (line 25).* vie\n+00025950: 7720 7472 616e 7366 6f72 6d20 3c31 3e3a w transform <1>:\n+00025960: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025970: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n+00025980: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line \n+00025990: 3335 290a 2a20 7669 7274 7561 6c20 6361 35).* virtual ca\n+000259a0: 6d65 7261 3a20 2020 2020 2020 2020 2020 mera: \n+000259b0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n+000259c0: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n+000259d0: 2020 286c 696e 6520 2038 3129 0a2a 2077 (line 81).* w\n+000259e0: 6869 7465 2073 7061 6365 3a20 2020 2020 hite space: \n+000259f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025a00: 2020 2020 2020 4472 6177 696e 6720 6120 Drawing a \n+00025a10: 736f 6c69 642e 2020 2020 2028 6c69 6e65 solid. (line\n+00025a20: 2020 3235 290a 2a20 7768 6974 6520 7370 25).* white sp\n+00025a30: 6163 6520 3c31 3e3a 2020 2020 2020 2020 ace <1>: \n+00025a40: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+00025a50: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. \n+00025a60: 2020 2020 286c 696e 6520 2032 3929 0a2a (line 29).*\n+00025a70: 2077 6869 7465 2073 7061 6365 203c 323e white space <2>\n+00025a80: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00025a90: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t\n+00025aa0: 7261 6e73 666f 726d 732e 2020 2028 6c69 ransforms. (li\n+00025ab0: 6e65 2020 3332 290a 2a20 7768 6974 6520 ne 32).* white \n+00025ac0: 7370 6163 6520 3c33 3e3a 2020 2020 2020 space <3>: \n 00025ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025ae0: 2020 2020 2020 204c 616e 6775 6167 6520 Language \n-00025af0: 6261 7369 6373 2e20 2020 2020 286c 696e basics. (lin\n-00025b00: 6520 2031 3629 0a0a 0a1f 0a54 6167 2054 e 16).....Tag T\n-00025b10: 6162 6c65 3a0a 4e6f 6465 3a20 546f 707f able:.Node: Top.\n-00025b20: 3131 3636 0a4e 6f64 653a 2041 626f 7574 1166.Node: About\n-00025b30: 2073 6b65 7463 687f 3731 3838 0a4e 6f64 sketch.7188.Nod\n-00025b40: 653a 2052 6570 6f72 7469 6e67 2062 7567 e: Reporting bug\n-00025b50: 737f 3834 3530 0a4e 6f64 653a 2043 6f6e s.8450.Node: Con\n-00025b60: 7472 6962 7574 696f 6e73 7f39 3438 390a tributions.9489.\n-00025b70: 5265 663a 2053 6f6c 6964 2063 6f69 6c20 Ref: Solid coil \n-00025b80: 6578 616d 706c 657f 3939 3037 0a4e 6f64 example.9907.Nod\n-00025b90: 653a 2049 6e74 726f 6475 6374 696f 6e20 e: Introduction \n-00025ba0: 6279 2065 7861 6d70 6c65 7f39 3930 380a by example.9908.\n-00025bb0: 4e6f 6465 3a20 4865 6c6c 6f20 776f 726c Node: Hello worl\n-00025bc0: 647f 3130 3934 320a 5265 663a 2048 656c d.10942.Ref: Hel\n-00025bd0: 6c6f 2077 6f72 6c64 2d46 6f6f 746e 6f74 lo world-Footnot\n-00025be0: 652d 317f 3133 3133 340a 4e6f 6465 3a20 e-1.13134.Node: \n-00025bf0: 4472 6177 696e 6720 6f70 7469 6f6e 737f Drawing options.\n-00025c00: 3133 3139 330a 4e6f 6465 3a20 4472 6177 13193.Node: Draw\n-00025c10: 696e 6720 6120 736f 6c69 647f 3134 3337 ing a solid.1437\n-00025c20: 390a 5265 663a 2048 656c 6978 2077 6974 9.Ref: Helix wit\n-00025c30: 6820 6375 6c6c 2073 6574 2066 616c 7365 h cull set false\n-00025c40: 2074 6865 6e20 7472 7565 7f31 3637 3532 then true.16752\n-00025c50: 0a4e 6f64 653a 2053 7065 6369 616c 206f .Node: Special o\n-00025c60: 626a 6563 7473 7f31 3732 3835 0a4e 6f64 bjects.17285.Nod\n-00025c70: 653a 204f 626a 6563 7420 7472 616e 7366 e: Object transf\n-00025c80: 6f72 6d73 7f32 3033 3833 0a52 6566 3a20 orms.20383.Ref: \n-00025c90: 5269 6768 7420 6861 6e64 2072 756c 657f Right hand rule.\n-00025ca0: 3232 3634 300a 4e6f 6465 3a20 5265 7065 22640.Node: Repe\n-00025cb0: 6174 6564 206f 626a 6563 7473 7f32 3330 ated objects.230\n-00025cc0: 3838 0a4e 6f64 653a 2053 7765 7074 206f 88.Node: Swept o\n-00025cd0: 626a 6563 7473 7f32 3336 3437 0a4e 6f64 bjects.23647.Nod\n-00025ce0: 653a 2050 6f69 6e74 2073 7765 6570 737f e: Point sweeps.\n-00025cf0: 3234 3736 300a 4e6f 6465 3a20 506f 6c79 24760.Node: Poly\n-00025d00: 6c69 6e65 2073 7765 6570 737f 3235 3737 line sweeps.2577\n-00025d10: 320a 4e6f 6465 3a20 4e65 7374 6564 2073 2.Node: Nested s\n-00025d20: 7765 6570 737f 3236 3730 380a 4e6f 6465 weeps.26708.Node\n-00025d30: 3a20 506f 6c79 676f 6e20 7377 6565 7073 : Polygon sweeps\n-00025d40: 7f32 3830 3230 0a4e 6f64 653a 2050 6f6c .28020.Node: Pol\n-00025d50: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit\n-00025d60: 6820 636c 6f73 7572 657f 3238 3437 330a h closure.28473.\n-00025d70: 4e6f 6465 3a20 4166 6669 6e65 2061 7269 Node: Affine ari\n-00025d80: 7468 6d65 7469 637f 3330 3137 320a 4e6f thmetic.30172.No\n-00025d90: 6465 3a20 4d6f 7265 2074 6f20 6c65 6172 de: More to lear\n-00025da0: 6e7f 3332 3131 300a 4e6f 6465 3a20 496e n.32110.Node: In\n-00025db0: 7075 7420 6c61 6e67 7561 6765 7f33 3235 put language.325\n-00025dc0: 3030 0a4e 6f64 653a 204c 616e 6775 6167 00.Node: Languag\n-00025dd0: 6520 6261 7369 6373 7f33 3239 3635 0a4e e basics.32965.N\n-00025de0: 6f64 653a 2049 6465 6e74 6966 6965 7273 ode: Identifiers\n-00025df0: 7f33 3434 3033 0a4e 6f64 653a 204b 6579 .34403.Node: Key\n-00025e00: 2061 6e64 2072 6573 6572 7665 6420 776f and reserved wo\n-00025e10: 7264 737f 3334 3939 340a 4e6f 6465 3a20 rds.34994.Node: \n-00025e20: 4c69 7465 7261 6c73 7f33 3538 3637 0a4e Literals.35867.N\n-00025e30: 6f64 653a 2053 6361 6c61 7220 6c69 7465 ode: Scalar lite\n-00025e40: 7261 6c73 7f33 3633 3431 0a4e 6f64 653a rals.36341.Node:\n-00025e50: 2050 6f69 6e74 2061 6e64 2076 6563 746f Point and vecto\n-00025e60: 7220 6c69 7465 7261 6c73 7f33 3637 3232 r literals.36722\n-00025e70: 0a4e 6f64 653a 2054 7261 6e73 666f 726d .Node: Transform\n-00025e80: 206c 6974 6572 616c 737f 3337 3039 390a literals.37099.\n-00025e90: 4e6f 6465 3a20 4172 6974 686d 6574 6963 Node: Arithmetic\n-00025ea0: 7f34 3231 3739 0a4e 6f64 653a 2054 776f .42179.Node: Two\n-00025eb0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary\n-00025ec0: 2920 666f 726d 737f 3432 3534 370a 4e6f ) forms.42547.No\n-00025ed0: 6465 3a20 556e 6172 7920 666f 726d 737f de: Unary forms.\n-00025ee0: 3436 3232 380a 4e6f 6465 3a20 4f70 7469 46228.Node: Opti\n-00025ef0: 6f6e 737f 3437 3537 360a 4e6f 6465 3a20 ons.47576.Node: \n-00025f00: 5053 5472 6963 6b73 206f 7074 696f 6e73 PSTricks options\n-00025f10: 7f34 3832 3935 0a4e 6f64 653a 2054 696b .48295.Node: Tik\n-00025f20: 5a2f 5047 4620 6f70 7469 6f6e 737f 3439 Z/PGF options.49\n-00025f30: 3430 370a 4e6f 6465 3a20 446f 7473 2069 407.Node: Dots i\n-00025f40: 6e20 5469 6b5a 2f50 4746 7f35 3131 3438 n TikZ/PGF.51148\n-00025f50: 0a4e 6f64 653a 2054 696b 5a2f 5047 4620 .Node: TikZ/PGF \n-00025f60: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty\n-00025f70: 6c65 737f 3531 3736 390a 5265 663a 2054 les.51769.Ref: T\n-00025f80: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def\n-00025f90: 696e 6564 2073 7479 6c65 732d 466f 6f74 ined styles-Foot\n-00025fa0: 6e6f 7465 2d31 7f35 3338 3237 0a4e 6f64 note-1.53827.Nod\n-00025fb0: 653a 2054 7261 6e73 7061 7265 6e63 797f e: Transparency.\n-00025fc0: 3533 3838 330a 4e6f 6465 3a20 496e 7465 53883.Node: Inte\n-00025fd0: 726e 616c 206f 7074 696f 6e73 7f35 3437 rnal options.547\n-00025fe0: 3331 0a4e 6f64 653a 2044 7261 7761 626c 31.Node: Drawabl\n-00025ff0: 6573 7f35 3635 3032 0a4e 6f64 653a 2044 es.56502.Node: D\n-00026000: 6f74 737f 3537 3530 310a 4e6f 6465 3a20 ots.57501.Node: \n-00026010: 4c69 6e65 737f 3537 3734 310a 4e6f 6465 Lines.57741.Node\n-00026020: 3a20 4375 7276 6573 7f35 3739 3830 0a4e : Curves.57980.N\n-00026030: 6f64 653a 2050 6f6c 7967 6f6e 737f 3538 ode: Polygons.58\n-00026040: 3239 300a 4e6f 6465 3a20 5370 6563 6961 290.Node: Specia\n-00026050: 6c73 7f35 3837 3237 0a4e 6f64 653a 2053 ls.58727.Node: S\n-00026060: 7765 6570 737f 3631 3130 320a 4e6f 6465 weeps.61102.Node\n-00026070: 3a20 5377 6570 7420 706f 696e 7473 7f36 : Swept points.6\n-00026080: 3233 3835 0a4e 6f64 653a 2053 7765 7074 2385.Node: Swept\n-00026090: 206c 696e 6573 7f36 3334 3834 0a4e 6f64 lines.63484.Nod\n-000260a0: 653a 2053 7765 7074 2070 6f6c 7967 6f6e e: Swept polygon\n-000260b0: 737f 3636 3131 300a 4e6f 6465 3a20 5377 s.66110.Node: Sw\n-000260c0: 6570 7420 626c 6f63 6b73 7f36 3736 3833 ept blocks.67683\n-000260d0: 0a4e 6f64 653a 2053 7765 6570 2066 6163 .Node: Sweep fac\n-000260e0: 6520 7370 6c69 7474 696e 677f 3638 3235 e splitting.6825\n-000260f0: 310a 4e6f 6465 3a20 426c 6f63 6b73 7f36 1.Node: Blocks.6\n-00026100: 3838 3537 0a4e 6f64 653a 2052 6570 6561 8857.Node: Repea\n-00026110: 7473 7f36 3934 3632 0a4e 6f64 653a 2050 ts.69462.Node: P\n-00026120: 7574 737f 3730 3131 320a 4e6f 6465 3a20 uts.70112.Node: \n-00026130: 4465 6669 6e69 7469 6f6e 737f 3730 3239 Definitions.7029\n-00026140: 370a 4e6f 6465 3a20 466f 726d 7320 6f66 7.Node: Forms of\n-00026150: 2064 6566 696e 6974 696f 6e73 7f37 3135 definitions.715\n-00026160: 3433 0a4e 6f64 653a 2046 6f72 6d73 206f 43.Node: Forms o\n-00026170: 6620 7265 6665 7265 6e63 6573 7f37 3234 f references.724\n-00026180: 3730 0a4e 6f64 653a 2047 6c6f 6261 6c20 70.Node: Global \n-00026190: 656e 7669 726f 6e6d 656e 747f 3733 3532 environment.7352\n-000261a0: 310a 4e6f 6465 3a20 476c 6f62 616c 206f 1.Node: Global o\n-000261b0: 7074 696f 6e73 7f37 3434 3233 0a4e 6f64 ptions.74423.Nod\n-000261c0: 653a 2043 616d 6572 617f 3734 3938 360a e: Camera.74986.\n-000261d0: 4e6f 6465 3a20 5069 6374 7572 6520 626f Node: Picture bo\n-000261e0: 787f 3735 3339 370a 4e6f 6465 3a20 4672 x.75397.Node: Fr\n-000261f0: 616d 657f 3736 3434 380a 4e6f 6465 3a20 ame.76448.Node: \n-00026200: 4c61 6e67 7561 6765 7f37 3639 3136 0a4e Language.76916.N\n-00026210: 6f64 653a 2042 7569 6c64 696e 6720 6120 ode: Building a \n-00026220: 6472 6177 696e 677f 3737 3933 390a 4e6f drawing.77939.No\n-00026230: 6465 3a20 4f76 6572 7669 6577 7f37 3837 de: Overview.787\n-00026240: 3438 0a4e 6f64 653a 2041 2074 6563 686e 48.Node: A techn\n-00026250: 6963 616c 2064 7261 7769 6e67 7f38 3632 ical drawing.862\n-00026260: 3832 0a4e 6f64 653a 2041 2068 6965 7261 82.Node: A hiera\n-00026270: 7263 6869 6361 6c20 6d6f 6465 6c7f 3931 rchical model.91\n-00026280: 3039 370a 4e6f 6465 3a20 4361 7665 6174 097.Node: Caveat\n-00026290: 737f 3937 3535 320a 4e6f 6465 3a20 4c69 s.97552.Node: Li\n-000262a0: 6d69 7473 206f 6e20 6572 726f 7220 6465 mits on error de\n-000262b0: 7465 6374 696f 6e7f 3938 3133 340a 4e6f tection.98134.No\n-000262c0: 6465 3a20 436c 6970 7069 6e67 7f39 3936 de: Clipping.996\n-000262d0: 3230 0a4e 6f64 653a 2048 6964 6465 6e20 20.Node: Hidden \n-000262e0: 7375 7266 6163 6520 7265 6d6f 7661 6c7f surface removal.\n-000262f0: 3130 3030 3337 0a52 6566 3a20 4869 6464 100037.Ref: Hidd\n-00026300: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov\n-00026310: 616c 2d46 6f6f 746e 6f74 652d 317f 3130 al-Footnote-1.10\n-00026320: 3134 3539 0a52 6566 3a20 4869 6464 656e 1459.Ref: Hidden\n-00026330: 2073 7572 6661 6365 2072 656d 6f76 616c surface removal\n-00026340: 2d46 6f6f 746e 6f74 652d 327f 3130 3136 -Footnote-2.1016\n-00026350: 3338 0a4e 6f64 653a 2053 7461 7469 7374 38.Node: Statist\n-00026360: 6963 737f 3130 3230 3234 0a4e 6f64 653a ics.102024.Node:\n-00026370: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal\n-00026380: 6965 737f 3130 3333 3231 0a52 6566 3a20 ies.103321.Ref: \n-00026390: 4275 6773 2061 6e64 2061 6e6f 6d61 6c69 Bugs and anomali\n-000263a0: 6573 2d46 6f6f 746e 6f74 652d 317f 3130 es-Footnote-1.10\n-000263b0: 3531 3830 0a4e 6f64 653a 2043 6f6d 6d61 5180.Node: Comma\n-000263c0: 6e64 206c 696e 657f 3130 3532 3739 0a4e nd line.105279.N\n-000263d0: 6f64 653a 2049 6e73 7461 6c6c 696e 6720 ode: Installing \n-000263e0: 736b 6574 6368 7f31 3038 3033 390a 4e6f sketch.108039.No\n-000263f0: 6465 3a20 496e 6465 7820 6f66 2073 796e de: Index of syn\n-00026400: 7461 787f 3131 3131 3232 0a4e 6f64 653a tax.111122.Node:\n-00026410: 2049 6e64 6578 7f31 3238 3439 320a 1f0a Index.128492...\n-00026420: 456e 6420 5461 6720 5461 626c 650a 0a1f End Tag Table...\n-00026430: 0a4c 6f63 616c 2056 6172 6961 626c 6573 .Local Variables\n-00026440: 3a0a 636f 6469 6e67 3a20 7574 662d 380a :.coding: utf-8.\n-00026450: 456e 643a 0a End:.\n+00025ae0: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics\n+00025af0: 2e20 2020 2020 286c 696e 6520 2031 3629 . (line 16)\n+00025b00: 0a0a 0a1f 0a54 6167 2054 6162 6c65 3a0a .....Tag Table:.\n+00025b10: 4e6f 6465 3a20 546f 707f 3131 3633 0a4e Node: Top.1163.N\n+00025b20: 6f64 653a 2041 626f 7574 2073 6b65 7463 ode: About sketc\n+00025b30: 687f 3731 3832 0a4e 6f64 653a 2052 6570 h.7182.Node: Rep\n+00025b40: 6f72 7469 6e67 2062 7567 737f 3834 3434 orting bugs.8444\n+00025b50: 0a4e 6f64 653a 2043 6f6e 7472 6962 7574 .Node: Contribut\n+00025b60: 696f 6e73 7f39 3438 330a 5265 663a 2053 ions.9483.Ref: S\n+00025b70: 6f6c 6964 2063 6f69 6c20 6578 616d 706c olid coil exampl\n+00025b80: 657f 3939 3031 0a4e 6f64 653a 2049 6e74 e.9901.Node: Int\n+00025b90: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa\n+00025ba0: 6d70 6c65 7f39 3930 320a 4e6f 6465 3a20 mple.9902.Node: \n+00025bb0: 4865 6c6c 6f20 776f 726c 647f 3130 3933 Hello world.1093\n+00025bc0: 360a 5265 663a 2048 656c 6c6f 2077 6f72 6.Ref: Hello wor\n+00025bd0: 6c64 2d46 6f6f 746e 6f74 652d 317f 3133 ld-Footnote-1.13\n+00025be0: 3132 380a 4e6f 6465 3a20 4472 6177 696e 128.Node: Drawin\n+00025bf0: 6720 6f70 7469 6f6e 737f 3133 3138 370a g options.13187.\n+00025c00: 4e6f 6465 3a20 4472 6177 696e 6720 6120 Node: Drawing a \n+00025c10: 736f 6c69 647f 3134 3337 330a 5265 663a solid.14373.Ref:\n+00025c20: 2048 656c 6978 2077 6974 6820 6375 6c6c Helix with cull\n+00025c30: 2073 6574 2066 616c 7365 2074 6865 6e20 set false then \n+00025c40: 7472 7565 7f31 3637 3436 0a4e 6f64 653a true.16746.Node:\n+00025c50: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects\n+00025c60: 7f31 3732 3739 0a4e 6f64 653a 204f 626a .17279.Node: Obj\n+00025c70: 6563 7420 7472 616e 7366 6f72 6d73 7f32 ect transforms.2\n+00025c80: 3033 3737 0a52 6566 3a20 5269 6768 7420 0377.Ref: Right \n+00025c90: 6861 6e64 2072 756c 657f 3232 3633 340a hand rule.22634.\n+00025ca0: 4e6f 6465 3a20 5265 7065 6174 6564 206f Node: Repeated o\n+00025cb0: 626a 6563 7473 7f32 3330 3832 0a4e 6f64 bjects.23082.Nod\n+00025cc0: 653a 2053 7765 7074 206f 626a 6563 7473 e: Swept objects\n+00025cd0: 7f32 3336 3431 0a4e 6f64 653a 2050 6f69 .23641.Node: Poi\n+00025ce0: 6e74 2073 7765 6570 737f 3234 3735 340a nt sweeps.24754.\n+00025cf0: 4e6f 6465 3a20 506f 6c79 6c69 6e65 2073 Node: Polyline s\n+00025d00: 7765 6570 737f 3235 3736 360a 4e6f 6465 weeps.25766.Node\n+00025d10: 3a20 4e65 7374 6564 2073 7765 6570 737f : Nested sweeps.\n+00025d20: 3236 3730 320a 4e6f 6465 3a20 506f 6c79 26702.Node: Poly\n+00025d30: 676f 6e20 7377 6565 7073 7f32 3830 3134 gon sweeps.28014\n+00025d40: 0a4e 6f64 653a 2050 6f6c 796c 696e 6520 .Node: Polyline \n+00025d50: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n+00025d60: 7572 657f 3238 3436 370a 4e6f 6465 3a20 ure.28467.Node: \n+00025d70: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti\n+00025d80: 637f 3330 3136 360a 4e6f 6465 3a20 4d6f c.30166.Node: Mo\n+00025d90: 7265 2074 6f20 6c65 6172 6e7f 3332 3130 re to learn.3210\n+00025da0: 340a 4e6f 6465 3a20 496e 7075 7420 6c61 4.Node: Input la\n+00025db0: 6e67 7561 6765 7f33 3234 3934 0a4e 6f64 nguage.32494.Nod\n+00025dc0: 653a 204c 616e 6775 6167 6520 6261 7369 e: Language basi\n+00025dd0: 6373 7f33 3239 3539 0a4e 6f64 653a 2049 cs.32959.Node: I\n+00025de0: 6465 6e74 6966 6965 7273 7f33 3433 3937 dentifiers.34397\n+00025df0: 0a4e 6f64 653a 204b 6579 2061 6e64 2072 .Node: Key and r\n+00025e00: 6573 6572 7665 6420 776f 7264 737f 3334 eserved words.34\n+00025e10: 3938 380a 4e6f 6465 3a20 4c69 7465 7261 988.Node: Litera\n+00025e20: 6c73 7f33 3538 3631 0a4e 6f64 653a 2053 ls.35861.Node: S\n+00025e30: 6361 6c61 7220 6c69 7465 7261 6c73 7f33 calar literals.3\n+00025e40: 3633 3335 0a4e 6f64 653a 2050 6f69 6e74 6335.Node: Point\n+00025e50: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite\n+00025e60: 7261 6c73 7f33 3637 3136 0a4e 6f64 653a rals.36716.Node:\n+00025e70: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n+00025e80: 616c 737f 3337 3039 330a 4e6f 6465 3a20 als.37093.Node: \n+00025e90: 4172 6974 686d 6574 6963 7f34 3231 3733 Arithmetic.42173\n+00025ea0: 0a4e 6f64 653a 2054 776f 2d6f 7065 7261 .Node: Two-opera\n+00025eb0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n+00025ec0: 737f 3432 3534 310a 4e6f 6465 3a20 556e s.42541.Node: Un\n+00025ed0: 6172 7920 666f 726d 737f 3436 3232 320a ary forms.46222.\n+00025ee0: 4e6f 6465 3a20 4f70 7469 6f6e 737f 3437 Node: Options.47\n+00025ef0: 3537 300a 4e6f 6465 3a20 5053 5472 6963 570.Node: PSTric\n+00025f00: 6b73 206f 7074 696f 6e73 7f34 3832 3839 ks options.48289\n+00025f10: 0a4e 6f64 653a 2054 696b 5a2f 5047 4620 .Node: TikZ/PGF \n+00025f20: 6f70 7469 6f6e 737f 3439 3430 310a 4e6f options.49401.No\n+00025f30: 6465 3a20 446f 7473 2069 6e20 5469 6b5a de: Dots in TikZ\n+00025f40: 2f50 4746 7f35 3131 3432 0a4e 6f64 653a /PGF.51142.Node:\n+00025f50: 2054 696b 5a2f 5047 4620 7573 6572 2d64 TikZ/PGF user-d\n+00025f60: 6566 696e 6564 2073 7479 6c65 737f 3531 efined styles.51\n+00025f70: 3736 330a 5265 663a 2054 696b 5a2f 5047 763.Ref: TikZ/PG\n+00025f80: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s\n+00025f90: 7479 6c65 732d 466f 6f74 6e6f 7465 2d31 tyles-Footnote-1\n+00025fa0: 7f35 3338 3231 0a4e 6f64 653a 2054 7261 .53821.Node: Tra\n+00025fb0: 6e73 7061 7265 6e63 797f 3533 3837 370a nsparency.53877.\n+00025fc0: 4e6f 6465 3a20 496e 7465 726e 616c 206f Node: Internal o\n+00025fd0: 7074 696f 6e73 7f35 3437 3235 0a4e 6f64 ptions.54725.Nod\n+00025fe0: 653a 2044 7261 7761 626c 6573 7f35 3634 e: Drawables.564\n+00025ff0: 3936 0a4e 6f64 653a 2044 6f74 737f 3537 96.Node: Dots.57\n+00026000: 3439 350a 4e6f 6465 3a20 4c69 6e65 737f 495.Node: Lines.\n+00026010: 3537 3733 350a 4e6f 6465 3a20 4375 7276 57735.Node: Curv\n+00026020: 6573 7f35 3739 3734 0a4e 6f64 653a 2050 es.57974.Node: P\n+00026030: 6f6c 7967 6f6e 737f 3538 3238 340a 4e6f olygons.58284.No\n+00026040: 6465 3a20 5370 6563 6961 6c73 7f35 3837 de: Specials.587\n+00026050: 3231 0a4e 6f64 653a 2053 7765 6570 737f 21.Node: Sweeps.\n+00026060: 3631 3039 360a 4e6f 6465 3a20 5377 6570 61096.Node: Swep\n+00026070: 7420 706f 696e 7473 7f36 3233 3739 0a4e t points.62379.N\n+00026080: 6f64 653a 2053 7765 7074 206c 696e 6573 ode: Swept lines\n+00026090: 7f36 3334 3738 0a4e 6f64 653a 2053 7765 .63478.Node: Swe\n+000260a0: 7074 2070 6f6c 7967 6f6e 737f 3636 3130 pt polygons.6610\n+000260b0: 340a 4e6f 6465 3a20 5377 6570 7420 626c 4.Node: Swept bl\n+000260c0: 6f63 6b73 7f36 3736 3737 0a4e 6f64 653a ocks.67677.Node:\n+000260d0: 2053 7765 6570 2066 6163 6520 7370 6c69 Sweep face spli\n+000260e0: 7474 696e 677f 3638 3234 350a 4e6f 6465 tting.68245.Node\n+000260f0: 3a20 426c 6f63 6b73 7f36 3838 3531 0a4e : Blocks.68851.N\n+00026100: 6f64 653a 2052 6570 6561 7473 7f36 3934 ode: Repeats.694\n+00026110: 3536 0a4e 6f64 653a 2050 7574 737f 3730 56.Node: Puts.70\n+00026120: 3130 360a 4e6f 6465 3a20 4465 6669 6e69 106.Node: Defini\n+00026130: 7469 6f6e 737f 3730 3239 310a 4e6f 6465 tions.70291.Node\n+00026140: 3a20 466f 726d 7320 6f66 2064 6566 696e : Forms of defin\n+00026150: 6974 696f 6e73 7f37 3135 3337 0a4e 6f64 itions.71537.Nod\n+00026160: 653a 2046 6f72 6d73 206f 6620 7265 6665 e: Forms of refe\n+00026170: 7265 6e63 6573 7f37 3234 3634 0a4e 6f64 rences.72464.Nod\n+00026180: 653a 2047 6c6f 6261 6c20 656e 7669 726f e: Global enviro\n+00026190: 6e6d 656e 747f 3733 3531 350a 4e6f 6465 nment.73515.Node\n+000261a0: 3a20 476c 6f62 616c 206f 7074 696f 6e73 : Global options\n+000261b0: 7f37 3434 3137 0a4e 6f64 653a 2043 616d .74417.Node: Cam\n+000261c0: 6572 617f 3734 3938 300a 4e6f 6465 3a20 era.74980.Node: \n+000261d0: 5069 6374 7572 6520 626f 787f 3735 3339 Picture box.7539\n+000261e0: 310a 4e6f 6465 3a20 4672 616d 657f 3736 1.Node: Frame.76\n+000261f0: 3434 320a 4e6f 6465 3a20 4c61 6e67 7561 442.Node: Langua\n+00026200: 6765 7f37 3639 3130 0a4e 6f64 653a 2042 ge.76910.Node: B\n+00026210: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin\n+00026220: 677f 3737 3933 330a 4e6f 6465 3a20 4f76 g.77933.Node: Ov\n+00026230: 6572 7669 6577 7f37 3837 3432 0a4e 6f64 erview.78742.Nod\n+00026240: 653a 2041 2074 6563 686e 6963 616c 2064 e: A technical d\n+00026250: 7261 7769 6e67 7f38 3632 3736 0a4e 6f64 rawing.86276.Nod\n+00026260: 653a 2041 2068 6965 7261 7263 6869 6361 e: A hierarchica\n+00026270: 6c20 6d6f 6465 6c7f 3931 3039 310a 4e6f l model.91091.No\n+00026280: 6465 3a20 4361 7665 6174 737f 3937 3534 de: Caveats.9754\n+00026290: 360a 4e6f 6465 3a20 4c69 6d69 7473 206f 6.Node: Limits o\n+000262a0: 6e20 6572 726f 7220 6465 7465 6374 696f n error detectio\n+000262b0: 6e7f 3938 3132 380a 4e6f 6465 3a20 436c n.98128.Node: Cl\n+000262c0: 6970 7069 6e67 7f39 3936 3134 0a4e 6f64 ipping.99614.Nod\n+000262d0: 653a 2048 6964 6465 6e20 7375 7266 6163 e: Hidden surfac\n+000262e0: 6520 7265 6d6f 7661 6c7f 3130 3030 3331 e removal.100031\n+000262f0: 0a52 6566 3a20 4869 6464 656e 2073 7572 .Ref: Hidden sur\n+00026300: 6661 6365 2072 656d 6f76 616c 2d46 6f6f face removal-Foo\n+00026310: 746e 6f74 652d 317f 3130 3134 3533 0a52 tnote-1.101453.R\n+00026320: 6566 3a20 4869 6464 656e 2073 7572 6661 ef: Hidden surfa\n+00026330: 6365 2072 656d 6f76 616c 2d46 6f6f 746e ce removal-Footn\n+00026340: 6f74 652d 327f 3130 3136 3332 0a4e 6f64 ote-2.101632.Nod\n+00026350: 653a 2053 7461 7469 7374 6963 737f 3130 e: Statistics.10\n+00026360: 3230 3138 0a4e 6f64 653a 2042 7567 7320 2018.Node: Bugs \n+00026370: 616e 6420 616e 6f6d 616c 6965 737f 3130 and anomalies.10\n+00026380: 3333 3135 0a52 6566 3a20 4275 6773 2061 3315.Ref: Bugs a\n+00026390: 6e64 2061 6e6f 6d61 6c69 6573 2d46 6f6f nd anomalies-Foo\n+000263a0: 746e 6f74 652d 317f 3130 3531 3734 0a4e tnote-1.105174.N\n+000263b0: 6f64 653a 2043 6f6d 6d61 6e64 206c 696e ode: Command lin\n+000263c0: 657f 3130 3532 3733 0a4e 6f64 653a 2049 e.105273.Node: I\n+000263d0: 6e73 7461 6c6c 696e 6720 736b 6574 6368 nstalling sketch\n+000263e0: 7f31 3038 3033 330a 4e6f 6465 3a20 496e .108033.Node: In\n+000263f0: 6465 7820 6f66 2073 796e 7461 787f 3131 dex of syntax.11\n+00026400: 3131 3136 0a4e 6f64 653a 2049 6e64 6578 1116.Node: Index\n+00026410: 7f31 3238 3438 360a 1f0a 456e 6420 5461 .128486...End Ta\n+00026420: 6720 5461 626c 650a 0a1f 0a4c 6f63 616c g Table....Local\n+00026430: 2056 6172 6961 626c 6573 3a0a 636f 6469 Variables:.codi\n+00026440: 6e67 3a20 7574 662d 380a 456e 643a 0a ng: utf-8.End:.\n"}]}]}]}]}, {"source1": "sketch_0.3.7-12_amd64.deb", "source2": "sketch_0.3.7-12_amd64.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2020-11-07 02:36:18.000000 debian-binary\n -rw-r--r-- 0 0 0 1040 2020-11-07 02:36:18.000000 control.tar.xz\n--rw-r--r-- 0 0 0 62060 2020-11-07 02:36:18.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 62056 2020-11-07 02:36:18.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "./usr/bin/sketch", "source2": "./usr/bin/sketch", "comments": ["File has been modified after NT_GNU_BUILD_ID has been applied."], "unified_diff": null, "details": [{"source1": "readelf --wide --notes {}", "source2": "readelf --wide --notes {}", "unified_diff": "@@ -1,12 +1,12 @@\n \n Displaying notes found in: .note.gnu.property\n Owner Data size \tDescription\n GNU 0x00000010\tNT_GNU_PROPERTY_TYPE_0\t Properties: x86 ISA needed: x86-64-baseline\n \n Displaying notes found in: .note.gnu.build-id\n Owner Data size \tDescription\n- GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\t Build ID: a246b861e12bdb344096c1789c09a47df3b2fa5b\n+ GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\t Build ID: e754a68843688423f3394e5371d11f8a7067884f\n \n Displaying notes found in: .note.ABI-tag\n Owner Data size \tDescription\n GNU 0x00000010\tNT_GNU_ABI_TAG (ABI version tag)\t OS: Linux, ABI: 3.2.0\n"}, {"source1": "strings --all --bytes=8 {}", "source2": "strings --all --bytes=8 {}", "unified_diff": "@@ -1,8 +1,8 @@\n-[/lib64/ld-linux-x86-64.so.2\n+O/lib64/ld-linux-x86-64.so.2\n _ITM_deregisterTMCloneTable\n __gmon_start__\n _ITM_registerTMCloneTable\n __strcpy_chk\n __printf_chk\n __vfprintf_chk\n __sprintf_chk\n@@ -321,15 +321,15 @@\n -U tag Undefine given tag\n missing document template file name after -t\n -tP with two graphics package specs\n -tP with two macro package specs\n unrecognized language spec after -Tp, '%c'\n unrecognized modifier of option '-T%c'\n missing PSTricks or TikZ version after -V\n-0.3 (build 7d, Sun Feb 16 23:42:11 2025)\n+0.3 (build 7d, Mon Mar 23 08:09:55 2026)\n %% assumes PSTricks version %s\n %% use -V to select earlier versions\n advance_to_next_file_name: unexpected option %c\n TikZ angle rounding error is %.2 degrees\n %% If your PSTricks is earlier than Version 1.20, it will fail here.\n %% Use sketch -V option for backward compatibility.\n \\psset{linejoin=1}\n@@ -345,15 +345,15 @@\n reference to special arg %d cannot accept a point\n reference to special arg %d cannot accept a vector\n reference to special arg %d: out of range [1-%d]\n bad tick option character in #%d'%c (try #{%d}'%c)\n unknown special arg from flatten\n use of '#' not as special arg (try ##)\n can't open document template '%s%' for input\n-%% Sketch output, version 0.3 (build 7d, Sun Feb 16 23:42:11 2025)\n+%% Sketch output, version 0.3 (build 7d, Mon Mar 23 08:09:55 2026)\n %% Output language: %s\n document template with no escape '%s' has been ignored\n more than one escape in document template; all but first ignored\n operands of + (types %s and %s) cannot be added\n operands of - (types %s and %s) cannot be subtracted\n operands of * (types %s and %s) cannot be multiplied\n operands of 'then' (types %s and %s) cannot be multiplied\n"}, {"source1": "readelf --wide --decompress --hex-dump=.rodata {}", "source2": "readelf --wide --decompress --hex-dump=.rodata {}", "unified_diff": "@@ -322,16 +322,16 @@\n 0x0001b3f0 202d5470 2c202725 63270000 00000000 -Tp, '%c'......\n 0x0001b400 756e7265 636f676e 697a6564 206d6f64 unrecognized mod\n 0x0001b410 69666965 72206f66 206f7074 696f6e20 ifier of option \n 0x0001b420 272d5425 63270000 6d697373 696e6720 '-T%c'..missing \n 0x0001b430 50535472 69636b73 206f7220 54696b5a PSTricks or TikZ\n 0x0001b440 20766572 73696f6e 20616674 6572202d version after -\n 0x0001b450 56000000 00000000 302e3320 28627569 V.......0.3 (bui\n- 0x0001b460 6c642037 642c2053 756e2046 65622031 ld 7d, Sun Feb 1\n- 0x0001b470 36203233 3a34323a 31312032 30323529 6 23:42:11 2025)\n+ 0x0001b460 6c642037 642c204d 6f6e204d 61722032 ld 7d, Mon Mar 2\n+ 0x0001b470 33203038 3a30393a 35352032 30323629 3 08:09:55 2026)\n 0x0001b480 00000000 00000000 25252061 7373756d ........%% assum\n 0x0001b490 65732050 53547269 636b7320 76657273 es PSTricks vers\n 0x0001b4a0 696f6e20 25730a00 25252075 7365202d ion %s..%% use -\n 0x0001b4b0 5620746f 2073656c 65637420 6561726c V to select earl\n 0x0001b4c0 69657220 76657273 696f6e73 0a000000 ier versions....\n 0x0001b4d0 61647661 6e63655f 746f5f6e 6578745f advance_to_next_\n 0x0001b4e0 66696c65 5f6e616d 653a2075 6e657870 file_name: unexp\n@@ -396,16 +396,16 @@\n 0x0001b890 73207370 65636961 6c206172 67202874 s special arg (t\n 0x0001b8a0 72792023 23290000 63616e27 74206f70 ry ##)..can't op\n 0x0001b8b0 656e2064 6f63756d 656e7420 74656d70 en document temp\n 0x0001b8c0 6c617465 20272573 25272066 6f722069 late '%s%' for i\n 0x0001b8d0 6e707574 0a000000 25252053 6b657463 nput....%% Sketc\n 0x0001b8e0 68206f75 74707574 2c207665 7273696f h output, versio\n 0x0001b8f0 6e20302e 33202862 75696c64 2037642c n 0.3 (build 7d,\n- 0x0001b900 2053756e 20466562 20313620 32333a34 Sun Feb 16 23:4\n- 0x0001b910 323a3131 20323032 35290a25 25204f75 2:11 2025).%% Ou\n+ 0x0001b900 204d6f6e 204d6172 20323320 30383a30 Mon Mar 23 08:0\n+ 0x0001b910 393a3535 20323032 36290a25 25204f75 9:55 2026).%% Ou\n 0x0001b920 74707574 206c616e 67756167 653a2025 tput language: %\n 0x0001b930 730a0000 00000000 646f6375 6d656e74 s.......document\n 0x0001b940 2074656d 706c6174 65207769 7468206e template with n\n 0x0001b950 6f206573 63617065 20272573 27206861 o escape '%s' ha\n 0x0001b960 73206265 656e2069 676e6f72 65640000 s been ignored..\n 0x0001b970 6d6f7265 20746861 6e206f6e 65206573 more than one es\n 0x0001b980 63617065 20696e20 646f6375 6d656e74 cape in document\n"}, {"source1": "readelf --wide --decompress --hex-dump=.gnu_debuglink {}", "source2": "readelf --wide --decompress --hex-dump=.gnu_debuglink {}", "comments": ["error from `readelf --wide --decompress --hex-dump=.gnu_debuglink {}`:", "readelf: Error: Unable to find program interpreter name", "readelf: Error: no .dynamic section in the dynamic segment"], "unified_diff": "@@ -1,7 +1,7 @@\n \n Hex dump of section '.gnu_debuglink':\n- 0x00000000 34366238 36316531 32626462 33343430 46b861e12bdb3440\n- 0x00000010 39366331 37383963 30396134 37646633 96c1789c09a47df3\n- 0x00000020 62326661 35622e64 65627567 00000000 b2fa5b.debug....\n- 0x00000030 1f92f932 ...2\n+ 0x00000000 35346136 38383433 36383834 32336633 54a68843688423f3\n+ 0x00000010 33393465 35333731 64313166 38613730 394e5371d11f8a70\n+ 0x00000020 36373838 34662e64 65627567 00000000 67884f.debug....\n+ 0x00000030 ccbcb9c1 ....\n \n"}]}]}]}]}, {"source1": "sketch-dbgsym_0.3.7-12_amd64.deb", "source2": "sketch-dbgsym_0.3.7-12_amd64.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2020-11-07 02:36:18.000000 debian-binary\n--rw-r--r-- 0 0 0 536 2020-11-07 02:36:18.000000 control.tar.xz\n--rw-r--r-- 0 0 0 200104 2020-11-07 02:36:18.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 532 2020-11-07 02:36:18.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 200108 2020-11-07 02:36:18.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -5,8 +5,8 @@\n Architecture: amd64\n Maintainer: Debian Science Maintainers \n Installed-Size: 280\n Depends: sketch (= 1:0.3.7-12)\n Section: debug\n Priority: optional\n Description: debug symbols for sketch\n-Build-Ids: a246b861e12bdb344096c1789c09a47df3b2fa5b\n+Build-Ids: e754a68843688423f3394e5371d11f8a7067884f\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}, {"source1": "line order", "source2": "line order", "unified_diff": "@@ -1 +1 @@\n-usr/lib/debug/.build-id/a2/46b861e12bdb344096c1789c09a47df3b2fa5b.debug\n+usr/lib/debug/.build-id/e7/54a68843688423f3394e5371d11f8a7067884f.debug\n"}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,10 +1,10 @@\n drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./\n drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/\n drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/\n drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/debug/\n drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/\n-drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/a2/\n--rw-r--r-- 0 root (0) root (0) 276096 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/a2/46b861e12bdb344096c1789c09a47df3b2fa5b.debug\n+drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/e7/\n+-rw-r--r-- 0 root (0) root (0) 276096 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/e7/54a68843688423f3394e5371d11f8a7067884f.debug\n drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/share/\n drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/share/doc/\n lrwxrwxrwx 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-dbgsym -> sketch\n"}, {"source1": "./usr/lib/debug/.build-id/a2/46b861e12bdb344096c1789c09a47df3b2fa5b.debug", "source2": "./usr/lib/debug/.build-id/e7/54a68843688423f3394e5371d11f8a7067884f.debug", "comments": ["File has been modified after NT_GNU_BUILD_ID has been applied.", "Files 99% similar despite different names"], "unified_diff": null, "details": [{"source1": "readelf --wide --notes {}", "source2": "readelf --wide --notes {}", "comments": ["error from `readelf --wide --notes {}`:", "readelf: Error: Unable to find program interpreter name"], "unified_diff": "@@ -1,12 +1,12 @@\n \n Displaying notes found in: .note.gnu.property\n Owner Data size \tDescription\n GNU 0x00000010\tNT_GNU_PROPERTY_TYPE_0\t Properties: x86 ISA needed: x86-64-baseline\n \n Displaying notes found in: .note.gnu.build-id\n Owner Data size \tDescription\n- GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\t Build ID: a246b861e12bdb344096c1789c09a47df3b2fa5b\n+ GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\t Build ID: e754a68843688423f3394e5371d11f8a7067884f\n \n Displaying notes found in: .note.ABI-tag\n Owner Data size \tDescription\n GNU 0x00000010\tNT_GNU_ABI_TAG (ABI version tag)\t OS: Linux, ABI: 3.2.0\n"}]}]}]}]}]}