{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.UpGFuj9H/b1/sketch_0.3.7-12_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.UpGFuj9H/b2/sketch_0.3.7-12_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- 16e9451c7eb65ccaf832c7286147a5d3 200832 debug optional sketch-dbgsym_0.3.7-12_amd64.deb\n- 061f44293bbcd67a4df12c49f62eeec2 1174424 doc optional sketch-doc_0.3.7-12_all.deb\n- 31bda221c87341fc0d398566bbb6e149 63292 graphics optional sketch_0.3.7-12_amd64.deb\n+ 59279ae0ed970fb90cca71d8833f4962 200828 debug optional sketch-dbgsym_0.3.7-12_amd64.deb\n+ a0298a4e1ef405d3421d604dece6c92c 1174404 doc optional sketch-doc_0.3.7-12_all.deb\n+ 336c4e7c5fb1c80d5477364bcd0d2916 63280 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 1169932 2020-11-07 02:36:18.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 4296 2020-11-07 02:36:18.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 1169916 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) 716833 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch.pdf.gz\n+-rw-r--r-- 0 root (0) root (0) 716862 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) 40130 2020-11-07 02:36:18.000000 ./usr/share/info/sketch.info.gz\n+-rw-r--r-- 0 root (0) root (0) 40127 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,17 +1,18 @@\n Sketch\n Simple 3D sketching\n-Version 0.3 (build 7), Saturday, February 15, 2025\n+Version 0.3 (build 7), Saturday, March 21, 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), Saturday, February 15, 2025, a program that converts descriptions of simple three-dimensional scenes into line drawings. This\n-version generates PSTricks or PGF/TikZ code suitable for use with the TEX document\n-processing system.\n+This manual is for sketch, version 0.3 (build 7), Saturday, March 21, 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 without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n You should have received a copy of the GNU General Public License along with sketch;\n see the file COPYING.txt. If not, see http://www.gnu.org/copyleft.\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,9794 @@\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 5361 7475 7264 6179 2c0a 4665 7), Saturday,.Fe\n-000000c0: 6272 7561 7279 2031 352c 2032 3032 352c bruary 15, 2025,\n-000000d0: 2061 2070 726f 6772 616d 2074 6861 7420 a program that \n-000000e0: 636f 6e76 6572 7473 2064 6573 6372 6970 converts descrip\n-000000f0: 7469 6f6e 7320 6f66 2073 696d 706c 650a tions of simple.\n-00000100: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona\n-00000110: 6c20 7363 656e 6573 2069 6e74 6f20 6c69 l scenes into li\n-00000120: 6e65 2064 7261 7769 6e67 732e 2020 5468 ne drawings. Th\n-00000130: 6973 2076 6572 7369 6f6e 2067 656e 6572 is version gener\n-00000140: 6174 6573 0ae2 8098 5053 5472 6963 6b73 ates....PSTricks\n-00000150: e280 9920 6f72 20e2 8098 5047 462f 5469 ... or ...PGF/Ti\n-00000160: 6b5a e280 9920 636f 6465 2073 7569 7461 kZ... code suita\n-00000170: 626c 6520 666f 7220 7573 6520 7769 7468 ble for use with\n-00000180: 2074 6865 2054 6558 2064 6f63 756d 656e the TeX documen\n-00000190: 740a 7072 6f63 6573 7369 6e67 2073 7973 t.processing sys\n-000001a0: 7465 6d2e 0a0a 2020 20e2 8098 536b 6574 tem... ...Sket\n-000001b0: 6368 e280 9920 6973 2066 7265 6520 736f ch... is free so\n-000001c0: 6674 7761 7265 2e20 2059 6f75 2063 616e ftware. You can\n-000001d0: 2072 6564 6973 7472 6962 7574 6520 6974 redistribute it\n-000001e0: 2061 6e64 2f6f 7220 6d6f 6469 6679 2069 and/or modify i\n-000001f0: 740a 756e 6465 7220 7468 6520 7465 726d t.under the term\n-00000200: 7320 6f66 2074 6865 2047 4e55 2047 656e s of the GNU Gen\n-00000210: 6572 616c 2050 7562 6c69 6320 4c69 6365 eral Public Lice\n-00000220: 6e73 6520 6173 2070 7562 6c69 7368 6564 nse as published\n-00000230: 2062 7920 7468 650a 4672 6565 2053 6f66 by the.Free Sof\n-00000240: 7477 6172 6520 466f 756e 6461 7469 6f6e tware Foundation\n-00000250: 3b20 6569 7468 6572 2076 6572 7369 6f6e ; either version\n-00000260: 2033 2c20 6f72 2028 6174 2079 6f75 7220 3, or (at your \n-00000270: 6f70 7469 6f6e 2920 616e 790a 6c61 7465 option) any.late\n-00000280: 7220 7665 7273 696f 6e2e 0a0a 2020 2053 r version... S\n-00000290: 6b65 7463 6820 6973 2064 6973 7472 6962 ketch is distrib\n-000002a0: 7574 6564 2069 6e20 7468 6520 686f 7065 uted in the hope\n-000002b0: 2074 6861 7420 6974 2077 696c 6c20 6265 that it will be\n-000002c0: 2075 7365 6675 6c2c 2062 7574 2057 4954 useful, but WIT\n-000002d0: 484f 5554 0a41 4e59 2057 4152 5241 4e54 HOUT.ANY WARRANT\n-000002e0: 593b 2077 6974 686f 7574 2065 7665 6e20 Y; without even \n-000002f0: 7468 6520 696d 706c 6965 6420 7761 7272 the implied warr\n-00000300: 616e 7479 206f 6620 4d45 5243 4841 4e54 anty of MERCHANT\n-00000310: 4142 494c 4954 5920 6f72 0a46 4954 4e45 ABILITY or.FITNE\n-00000320: 5353 2046 4f52 2041 2050 4152 5449 4355 SS FOR A PARTICU\n-00000330: 4c41 5220 5055 5250 4f53 452e 2053 6565 LAR PURPOSE. See\n-00000340: 2074 6865 2047 4e55 2047 656e 6572 616c the GNU General\n-00000350: 2050 7562 6c69 6320 4c69 6365 6e73 6520 Public License \n-00000360: 666f 720a 6d6f 7265 2064 6574 6169 6c73 for.more details\n-00000370: 2e0a 0a20 2020 596f 7520 7368 6f75 6c64 ... You should\n-00000380: 2068 6176 6520 7265 6365 6976 6564 2061 have received a\n-00000390: 2063 6f70 7920 6f66 2074 6865 2047 4e55 copy of the GNU\n-000003a0: 2047 656e 6572 616c 2050 7562 6c69 6320 General Public \n-000003b0: 4c69 6365 6e73 650a 616c 6f6e 6720 7769 License.along wi\n-000003c0: 7468 20e2 8098 736b 6574 6368 e280 993b th ...sketch...;\n-000003d0: 2073 6565 2074 6865 2066 696c 6520 434f see the file CO\n-000003e0: 5059 494e 472e 7478 742e 2020 4966 206e PYING.txt. If n\n-000003f0: 6f74 2c20 7365 650a 6874 7470 3a2f 2f77 ot, see.http://w\n-00000400: 7777 2e67 6e75 2e6f 7267 2f63 6f70 796c ww.gnu.org/copyl\n-00000410: 6566 742e 0a0a 494e 464f 2d44 4952 2d53 eft...INFO-DIR-S\n-00000420: 4543 5449 4f4e 2054 6558 0a53 5441 5254 ECTION TeX.START\n-00000430: 2d49 4e46 4f2d 4449 522d 454e 5452 590a -INFO-DIR-ENTRY.\n-00000440: 2a20 536b 6574 6368 3a20 2873 6b65 7463 * Sketch: (sketc\n-00000450: 6829 2e20 2020 2020 2020 2020 2020 2020 h). \n-00000460: 5369 6d70 6c65 2033 4420 736b 6574 6368 Simple 3D sketch\n-00000470: 696e 6720 666f 7220 5465 580a 454e 442d ing for TeX.END-\n-00000480: 494e 464f 2d44 4952 2d45 4e54 5259 0a0a INFO-DIR-ENTRY..\n-00000490: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-000004a0: 6e66 6f2c 2020 4e6f 6465 3a20 546f 702c nfo, Node: Top,\n-000004b0: 2020 4e65 7874 3a20 4162 6f75 7420 736b Next: About sk\n-000004c0: 6574 6368 2c20 2050 7265 763a 2028 6469 etch, Prev: (di\n-000004d0: 7229 2c20 2055 703a 2028 6469 7229 0a0a r), Up: (dir)..\n-000004e0: 536b 6574 6368 0a2a 2a2a 2a2a 2a0a 0a43 Sketch.******..C\n-000004f0: 6f70 7972 6967 6874 20c2 a920 3230 3035 opyright .. 2005\n-00000500: 2074 6f20 3230 3132 2045 7567 656e 6520 to 2012 Eugene \n-00000510: 4b2e 2052 6573 736c 6572 2e0a 0a20 2020 K. Ressler... \n-00000520: 5468 6973 206d 616e 7561 6c20 6973 2066 This manual is f\n-00000530: 6f72 20e2 8098 736b 6574 6368 e280 992c or ...sketch...,\n-00000540: 2076 6572 7369 6f6e 2030 2e33 2028 6275 version 0.3 (bu\n-00000550: 696c 6420 3729 2c20 5361 7475 7264 6179 ild 7), Saturday\n-00000560: 2c0a 4665 6272 7561 7279 2031 352c 2032 ,.February 15, 2\n-00000570: 3032 352c 2061 2070 726f 6772 616d 2074 025, a program t\n-00000580: 6861 7420 636f 6e76 6572 7473 2064 6573 hat converts des\n-00000590: 6372 6970 7469 6f6e 7320 6f66 2073 696d criptions of sim\n-000005a0: 706c 650a 7468 7265 652d 6469 6d65 6e73 ple.three-dimens\n-000005b0: 696f 6e61 6c20 7363 656e 6573 2069 6e74 ional scenes int\n-000005c0: 6f20 6c69 6e65 2064 7261 7769 6e67 732e o line drawings.\n-000005d0: 2020 5468 6973 2076 6572 7369 6f6e 2067 This version g\n-000005e0: 656e 6572 6174 6573 0ae2 8098 5053 5472 enerates....PSTr\n-000005f0: 6963 6b73 e280 9920 6f72 20e2 8098 5047 icks... or ...PG\n-00000600: 462f 5469 6b5a e280 9920 636f 6465 2073 F/TikZ... code s\n-00000610: 7569 7461 626c 6520 666f 7220 7573 6520 uitable for use \n-00000620: 7769 7468 2074 6865 2054 6558 2064 6f63 with the TeX doc\n-00000630: 756d 656e 740a 7072 6f63 6573 7369 6e67 ument.processing\n-00000640: 2073 7973 7465 6d2e 0a0a 2020 20e2 8098 system... ...\n-00000650: 536b 6574 6368 e280 9920 6973 2066 7265 Sketch... is fre\n-00000660: 6520 736f 6674 7761 7265 2e20 2059 6f75 e software. You\n-00000670: 2063 616e 2072 6564 6973 7472 6962 7574 can redistribut\n-00000680: 6520 6974 2061 6e64 2f6f 7220 6d6f 6469 e it and/or modi\n-00000690: 6679 2069 740a 756e 6465 7220 7468 6520 fy it.under the \n-000006a0: 7465 726d 7320 6f66 2074 6865 2047 4e55 terms of the GNU\n-000006b0: 2047 656e 6572 616c 2050 7562 6c69 6320 General Public \n-000006c0: 4c69 6365 6e73 6520 6173 2070 7562 6c69 License as publi\n-000006d0: 7368 6564 2062 7920 7468 650a 4672 6565 shed by the.Free\n-000006e0: 2053 6f66 7477 6172 6520 466f 756e 6461 Software Founda\n-000006f0: 7469 6f6e 3b20 6569 7468 6572 2076 6572 tion; either ver\n-00000700: 7369 6f6e 2033 2c20 6f72 2028 6174 2079 sion 3, or (at y\n-00000710: 6f75 7220 6f70 7469 6f6e 2920 616e 790a our option) any.\n-00000720: 6c61 7465 7220 7665 7273 696f 6e2e 0a0a later version...\n-00000730: 2020 2053 6b65 7463 6820 6973 2064 6973 Sketch is dis\n-00000740: 7472 6962 7574 6564 2069 6e20 7468 6520 tributed in the \n-00000750: 686f 7065 2074 6861 7420 6974 2077 696c hope that it wil\n-00000760: 6c20 6265 2075 7365 6675 6c2c 2062 7574 l be useful, but\n-00000770: 2057 4954 484f 5554 0a41 4e59 2057 4152 WITHOUT.ANY WAR\n-00000780: 5241 4e54 593b 2077 6974 686f 7574 2065 RANTY; without e\n-00000790: 7665 6e20 7468 6520 696d 706c 6965 6420 ven the implied \n-000007a0: 7761 7272 616e 7479 206f 6620 4d45 5243 warranty of MERC\n-000007b0: 4841 4e54 4142 494c 4954 5920 6f72 0a46 HANTABILITY or.F\n-000007c0: 4954 4e45 5353 2046 4f52 2041 2050 4152 ITNESS FOR A PAR\n-000007d0: 5449 4355 4c41 5220 5055 5250 4f53 452e TICULAR PURPOSE.\n-000007e0: 2053 6565 2074 6865 2047 4e55 2047 656e See the GNU Gen\n-000007f0: 6572 616c 2050 7562 6c69 6320 4c69 6365 eral Public Lice\n-00000800: 6e73 6520 666f 720a 6d6f 7265 2064 6574 nse for.more det\n-00000810: 6169 6c73 2e0a 0a20 2020 596f 7520 7368 ails... You sh\n-00000820: 6f75 6c64 2068 6176 6520 7265 6365 6976 ould have receiv\n-00000830: 6564 2061 2063 6f70 7920 6f66 2074 6865 ed a copy of the\n-00000840: 2047 4e55 2047 656e 6572 616c 2050 7562 GNU General Pub\n-00000850: 6c69 6320 4c69 6365 6e73 650a 616c 6f6e lic License.alon\n-00000860: 6720 7769 7468 20e2 8098 736b 6574 6368 g with ...sketch\n-00000870: e280 993b 2073 6565 2074 6865 2066 696c ...; see the fil\n-00000880: 6520 434f 5059 494e 472e 7478 742e 2020 e COPYING.txt. \n-00000890: 4966 206e 6f74 2c20 7365 650a 6874 7470 If not, see.http\n-000008a0: 3a2f 2f77 7777 2e67 6e75 2e6f 7267 2f63 ://www.gnu.org/c\n-000008b0: 6f70 796c 6566 742e 0a0a 2a20 4d65 6e75 opyleft...* Menu\n-000008c0: 3a0a 0a2a 2041 626f 7574 2073 6b65 7463 :..* About sketc\n-000008d0: 683a 3a20 2020 2020 2020 2020 2020 2020 h:: \n-000008e0: 2020 2057 6879 2073 6b65 7463 6820 6578 Why sketch ex\n-000008f0: 6973 7473 2061 6e64 2077 6861 7420 6974 ists and what it\n-00000900: 2064 6f65 732e 0a2a 2049 6e74 726f 6475 does..* Introdu\n-00000910: 6374 696f 6e20 6279 2065 7861 6d70 6c65 ction by example\n-00000920: 3a3a 2020 2020 204d 6f73 7420 6665 6174 :: Most feat\n-00000930: 7572 6573 2073 686f 776e 2061 7320 776f ures shown as wo\n-00000940: 726b 696e 6720 636f 6465 2e0a 2a20 496e rking code..* In\n-00000950: 7075 7420 6c61 6e67 7561 6765 3a3a 2020 put language:: \n-00000960: 2020 2020 2020 2020 2020 2020 5379 6e74 Synt\n-00000970: 6178 2061 6e64 2073 656d 616e 7469 6373 ax and semantics\n-00000980: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch...\n-00000990: 2063 6f6d 6d61 6e64 732e 0a2a 2042 7569 commands..* Bui\n-000009a0: 6c64 696e 6720 6120 6472 6177 696e 673a lding a drawing:\n-000009b0: 3a20 2020 2020 2020 2020 2048 6f77 2074 : How t\n-000009c0: 6f20 7573 6520 e280 9873 6b65 7463 68e2 o use ...sketch.\n-000009d0: 8099 2070 726f 6475 6374 6976 656c 792e .. productively.\n-000009e0: 0a2a 2043 6f6d 6d61 6e64 206c 696e 653a .* Command line:\n-000009f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00000a00: 204f 7074 696f 6e73 2061 6e64 2074 6865 Options and the\n-00000a10: 6972 2075 7361 6765 2e0a 2a20 496e 7374 ir usage..* Inst\n-00000a20: 616c 6c69 6e67 2073 6b65 7463 683a 3a20 alling sketch:: \n-00000a30: 2020 2020 2020 2020 2020 4275 696c 6469 Buildi\n-00000a40: 6e67 2061 6e64 2069 6e73 7461 6c6c 696e ng and installin\n-00000a50: 6720 6672 6f6d 2073 6f75 7263 6573 2e0a g from sources..\n-00000a60: 2a20 496e 6465 7820 6f66 2073 796e 7461 * Index of synta\n-00000a70: 783a 3a0a 2a20 496e 6465 783a 3a0a 0a20 x::.* Index::.. \n-00000a80: 2d2d 2054 6865 2044 6574 6169 6c65 6420 -- The Detailed \n-00000a90: 4e6f 6465 204c 6973 7469 6e67 202d 2d0a Node Listing --.\n-00000aa0: 0a41 626f 7574 2073 6b65 7463 680a 0a2a .About sketch..*\n-00000ab0: 2052 6570 6f72 7469 6e67 2062 7567 733a Reporting bugs:\n-00000ac0: 3a20 2020 2020 2020 2020 2020 2020 204c : L\n-00000ad0: 6574 2075 7365 206b 6e6f 7720 7768 6174 et use know what\n-00000ae0: 2773 2077 726f 6e67 210a 2a20 436f 6e74 's wrong!.* Cont\n-00000af0: 7269 6275 7469 6f6e 733a 3a20 2020 2020 ributions:: \n-00000b00: 2020 2020 2020 2020 2020 486f 7720 796f How yo\n-00000b10: 7520 6361 6e20 6865 6c70 2e2e 2e2e 0a0a u can help......\n-00000b20: 496e 7472 6f64 7563 7469 6f6e 2062 7920 Introduction by \n-00000b30: 6578 616d 706c 650a 0a2a 2048 656c 6c6f example..* Hello\n-00000b40: 2077 6f72 6c64 3a3a 2020 2020 2020 2020 world:: \n-00000b50: 2020 2020 2020 2020 2053 696d 706c 6573 Simples\n-00000b60: 7420 706f 7373 6962 6c65 20e2 8098 736b t possible ...sk\n-00000b70: 6574 6368 e280 9920 7072 6f67 7261 6d2e etch... program.\n-00000b80: 0a2a 2044 7261 7769 6e67 206f 7074 696f .* Drawing optio\n-00000b90: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: \n-00000ba0: 2043 6f6e 7472 6f6c 6c69 6e67 206f 626a Controlling obj\n-00000bb0: 6563 7420 6170 7065 6172 616e 6365 2e0a ect appearance..\n-00000bc0: 2a20 4472 6177 696e 6720 6120 736f 6c69 * Drawing a soli\n-00000bd0: 643a 3a20 2020 2020 2020 2020 2020 2020 d:: \n-00000be0: 4472 6177 696e 6720 616e 206f 626a 6563 Drawing an objec\n-00000bf0: 7420 7769 7468 2033 6420 6170 7065 6172 t with 3d appear\n-00000c00: 616e 6365 2e0a 2a20 5370 6563 6961 6c20 ance..* Special \n-00000c10: 6f62 6a65 6374 733a 3a20 2020 2020 2020 objects:: \n-00000c20: 2020 2020 2020 4c61 7969 6e67 2054 6558 Laying TeX\n-00000c30: 206f 7665 722c 2069 6e2c 206f 7220 756e over, in, or un\n-00000c40: 6465 7220 6472 6177 696e 6773 2e0a 2a20 der drawings..* \n-00000c50: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform\n-00000c60: 733a 3a20 2020 2020 2020 2020 2020 526f s:: Ro\n-00000c70: 7461 7465 2c20 7472 616e 736c 6174 652c tate, translate,\n-00000c80: 2073 6361 6c65 2c20 616e 6420 6f74 6865 scale, and othe\n-00000c90: 7273 2e0a 2a20 5265 7065 6174 6564 206f rs..* Repeated o\n-00000ca0: 626a 6563 7473 3a3a 2020 2020 2020 2020 bjects:: \n-00000cb0: 2020 2020 4d61 6b69 6e67 2074 7261 6e73 Making trans\n-00000cc0: 666f 726d 6564 2063 6f70 6965 732e 0a2a formed copies..*\n-00000cd0: 2053 7765 7074 206f 626a 6563 7473 3a3a Swept objects::\n-00000ce0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00000cf0: 7765 6570 696e 6720 6f62 6a65 6374 7320 weeping objects \n-00000d00: 696e 2073 7061 6365 2074 6f20 6d61 6b65 in space to make\n-00000d10: 206e 6577 2073 6861 7065 732e 0a0a 5377 new shapes...Sw\n-00000d20: 6570 7420 6f62 6a65 6374 730a 0a2a 2050 ept objects..* P\n-00000d30: 6f69 6e74 2073 7765 6570 733a 3a20 2020 oint sweeps:: \n-00000d40: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-00000d50: 7074 2070 6f69 6e74 7320 6d61 6b65 206c pt points make l\n-00000d60: 696e 6573 2061 6e64 2070 6f6c 7967 6f6e ines and polygon\n-00000d70: 732e 0a2a 2050 6f6c 796c 696e 6520 7377 s..* Polyline sw\n-00000d80: 6565 7073 3a3a 2020 2020 2020 2020 2020 eeps:: \n-00000d90: 2020 2053 7765 7074 206c 696e 6573 206d Swept lines m\n-00000da0: 616b 6520 7375 7266 6163 6573 2e0a 2a20 ake surfaces..* \n-00000db0: 4e65 7374 6564 2073 7765 6570 733a 3a20 Nested sweeps:: \n-00000dc0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-00000dd0: 6570 7420 7377 6565 7073 2061 7265 2075 ept sweeps are u\n-00000de0: 7365 6675 6c21 0a2a 2050 6f6c 7967 6f6e seful!.* Polygon\n-00000df0: 2073 7765 6570 733a 3a20 2020 2020 2020 sweeps:: \n-00000e00: 2020 2020 2020 2053 7765 7074 2070 6f6c Swept pol\n-00000e10: 7967 6f6e 7320 6d61 6b65 2073 6f6c 6964 ygons make solid\n-00000e20: 732e 2e2e 0a2a 2050 6f6c 796c 696e 6520 s....* Polyline \n-00000e30: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n-00000e40: 7572 653a 3a20 2061 6e64 2073 6f20 646f ure:: and so do\n-00000e50: 2063 6c6f 7365 6420 706f 6c79 6c69 6e65 closed polyline\n-00000e60: 2073 7765 6570 732e 0a2a 2041 6666 696e sweeps..* Affin\n-00000e70: 6520 6172 6974 686d 6574 6963 3a3a 2020 e arithmetic:: \n-00000e80: 2020 2020 2020 2020 2053 6b65 7463 6820 Sketch \n-00000e90: 7573 6566 756c 206d 6174 6820 6578 7072 useful math expr\n-00000ea0: 6573 7369 6f6e 2e0a 2a20 4d6f 7265 2074 ession..* More t\n-00000eb0: 6f20 6c65 6172 6e3a 3a20 2020 2020 2020 o learn:: \n-00000ec0: 2020 2020 2020 2020 4368 6563 6b20 6f75 Check ou\n-00000ed0: 7420 7468 6520 4d6f 6269 7573 2073 7472 t the Mobius str\n-00000ee0: 6970 210a 0a49 6e70 7574 206c 616e 6775 ip!..Input langu\n-00000ef0: 6167 650a 0a2a 204c 616e 6775 6167 6520 age..* Language \n-00000f00: 6261 7369 6373 3a3a 2020 2020 2020 2020 basics:: \n-00000f10: 2020 2020 2043 6173 652c 2073 7061 6365 Case, space\n-00000f20: 2c20 636f 6d6d 656e 7473 2c20 696e 636c , comments, incl\n-00000f30: 7564 6520 6669 6c65 732e 0a2a 2044 7261 ude files..* Dra\n-00000f40: 7761 626c 6573 3a3a 2020 2020 2020 2020 wables:: \n-00000f50: 2020 2020 2020 2020 2020 2054 6869 6e67 Thing\n-00000f60: 7320 7468 6174 2063 616e 2062 6520 6472 s that can be dr\n-00000f70: 6177 6e2e 0a2a 2044 6566 696e 6974 696f awn..* Definitio\n-00000f80: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: \n-00000f90: 2020 2020 2047 6976 696e 6720 7468 696e Giving thin\n-00000fa0: 6773 206e 616d 6573 2e0a 2a20 476c 6f62 gs names..* Glob\n-00000fb0: 616c 2065 6e76 6972 6f6e 6d65 6e74 3a3a al environment::\n-00000fc0: 2020 2020 2020 2020 2020 4166 6665 6374 Affect\n-00000fd0: 2074 6865 2065 6e74 6972 6520 6472 6177 the entire draw\n-00000fe0: 696e 672e 0a0a 4261 7369 6373 0a0a 2a20 ing...Basics..* \n-00000ff0: 4964 656e 7469 6669 6572 733a 3a20 2020 Identifiers:: \n-00001000: 2020 2020 2020 2020 2020 2020 2020 4e61 Na\n-00001010: 6d65 7320 666f 7220 7468 696e 6773 2e0a mes for things..\n-00001020: 2a20 4b65 7920 616e 6420 7265 7365 7276 * Key and reserv\n-00001030: 6564 2077 6f72 6473 3a3a 2020 2020 2020 ed words:: \n-00001040: 4e61 6d65 7320 796f 7520 7368 6f75 6c64 Names you should\n-00001050: 6e27 7420 7573 652e 0a2a 204c 6974 6572 n't use..* Liter\n-00001060: 616c 733a 3a20 2020 2020 2020 2020 2020 als:: \n-00001070: 2020 2020 2020 2020 2043 6f6e 7374 616e Constan\n-00001080: 7473 2061 6e64 2063 6f6e 7374 7275 6374 ts and construct\n-00001090: 6f72 732e 0a2a 2041 7269 7468 6d65 7469 ors..* Arithmeti\n-000010a0: 633a 3a20 2020 2020 2020 2020 2020 2020 c:: \n-000010b0: 2020 2020 2052 756c 6573 2066 6f72 2065 Rules for e\n-000010c0: 7870 7265 7373 696f 6e73 2e0a 2a20 4f70 xpressions..* Op\n-000010d0: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: \n-000010e0: 2020 2020 2020 2020 2020 2020 4d6f 6469 Modi\n-000010f0: 6679 696e 6720 6f62 6a65 6374 2061 7070 fying object app\n-00001100: 6561 7261 6e63 652e 0a0a 4c69 7465 7261 earance...Litera\n-00001110: 6c73 0a0a 2a20 5363 616c 6172 206c 6974 ls..* Scalar lit\n-00001120: 6572 616c 733a 3a20 2020 2020 2020 2020 erals:: \n-00001130: 2020 2020 4a75 7374 2074 6865 206e 756d Just the num\n-00001140: 6265 7273 2e0a 2a20 506f 696e 7420 616e bers..* Point an\n-00001150: 6420 7665 6374 6f72 206c 6974 6572 616c d vector literal\n-00001160: 733a 3a20 2020 3364 2071 7561 6e74 6974 s:: 3d quantit\n-00001170: 6965 732e 0a2a 2054 7261 6e73 666f 726d ies..* Transform\n-00001180: 206c 6974 6572 616c 733a 3a20 2020 2020 literals:: \n-00001190: 2020 2020 204d 6174 7269 7820 666f 726d Matrix form\n-000011a0: 2e0a 0a41 7269 7468 6d65 7469 6320 6578 ...Arithmetic ex\n-000011b0: 7072 6573 7369 6f6e 730a 0a2a 2054 776f pressions..* Two\n-000011c0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary\n-000011d0: 2920 666f 726d 733a 3a20 2041 206f 7020 ) forms:: A op \n-000011e0: 420a 2a20 556e 6172 7920 666f 726d 733a B.* Unary forms:\n-000011f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00001200: 2020 6f70 2041 2028 616e 6420 6f74 6865 op A (and othe\n-00001210: 7273 290a 0a4f 7074 696f 6e73 0a0a 2a20 rs)..Options..* \n-00001220: 5053 5472 6963 6b73 206f 7074 696f 6e73 PSTricks options\n-00001230: 3a3a 2020 2020 2020 2020 2020 2020 4f70 :: Op\n-00001240: 7469 6f6e 7320 696e 6865 7269 7465 6420 tions inherited \n-00001250: 6672 6f6d 20e2 8098 5053 5472 6963 6b73 from ...PSTricks\n-00001260: e280 992e 0a2a 2054 696b 5a2f 5047 4620 .....* TikZ/PGF \n-00001270: 6f70 7469 6f6e 733a 3a20 2020 2020 2020 options:: \n-00001280: 2020 2020 204f 7074 696f 6e73 2069 6e68 Options inh\n-00001290: 6572 6974 6564 2066 726f 6d20 e280 9854 erited from ...T\n-000012a0: 696b 5a2f 5047 46e2 8099 2e0a 2a20 446f ikZ/PGF.....* Do\n-000012b0: 7473 2069 6e20 5469 6b5a 2f50 4746 3a3a ts in TikZ/PGF::\n-000012c0: 2020 2020 2020 2020 2020 2020 536b 6574 Sket\n-000012d0: 6368 2075 7365 7320 e280 9854 696b 5a2f ch uses ...TikZ/\n-000012e0: 5047 46e2 8099 2063 6972 636c 6573 2066 PGF... circles f\n-000012f0: 6f72 2064 6f74 732e 0a2a 2054 696b 5a2f or dots..* TikZ/\n-00001300: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined\n-00001310: 2073 7479 6c65 733a 3a20 2053 7570 706f styles:: Suppo\n-00001320: 7274 2066 6f72 20e2 8098 5469 6b5a 2f50 rt for ...TikZ/P\n-00001330: 4746 e280 9920 6e61 6d65 642c 2075 7365 GF... named, use\n-00001340: 722d 6465 6669 6e65 6420 7374 796c 6573 r-defined styles\n-00001350: 2e0a 2a20 5472 616e 7370 6172 656e 6379 ..* Transparency\n-00001360: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-00001370: 2020 5365 652d 7468 726f 7567 6820 706f See-through po\n-00001380: 6c79 676f 6e73 2e0a 2a20 496e 7465 726e lygons..* Intern\n-00001390: 616c 206f 7074 696f 6e73 3a3a 2020 2020 al options:: \n-000013a0: 2020 2020 2020 2020 4f70 7469 6f6e 7320 Options \n-000013b0: 7573 6564 2062 7920 e280 9873 6b65 7463 used by ...sketc\n-000013c0: 68e2 8099 2e0a 0a50 6f69 6e74 206c 6973 h......Point lis\n-000013d0: 7473 0a0a 2a20 4472 6177 6162 6c65 733a ts..* Drawables:\n-000013e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000013f0: 2020 2020 5468 696e 6773 2074 6861 7420 Things that \n-00001400: 6172 6520 6472 6177 6e2e 0a2a 2044 6566 are drawn..* Def\n-00001410: 696e 6974 696f 6e73 3a3a 2020 2020 2020 initions:: \n-00001420: 2020 2020 2020 2020 2020 2054 6869 6e67 Thing\n-00001430: 7320 7769 7468 206e 616d 6573 2e0a 0a44 s with names...D\n-00001440: 7261 7761 626c 6573 0a0a 2a20 446f 7473 rawables..* Dots\n-00001450: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-00001460: 2020 2020 2020 2020 2020 4472 6177 2064 Draw d\n-00001470: 6f74 732e 0a2a 204c 696e 6573 3a3a 2020 ots..* Lines:: \n-00001480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001490: 2020 2020 2044 7261 7720 706f 6c79 6c69 Draw polyli\n-000014a0: 6e65 732e 0a2a 2043 7572 7665 733a 3a20 nes..* Curves:: \n-000014b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000014c0: 2020 2020 2044 7261 7720 6375 7276 6573 Draw curves\n-000014d0: 2e0a 2a20 506f 6c79 676f 6e73 3a3a 2020 ..* Polygons:: \n-000014e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000014f0: 2020 4472 6177 2070 6f6c 7967 6f6e 732e Draw polygons.\n-00001500: 0a2a 2053 7065 6369 616c 733a 3a20 2020 .* Specials:: \n-00001510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001520: 2045 6d62 6564 2072 6177 204c 6154 6558 Embed raw LaTeX\n-00001530: 2061 6e64 20e2 8098 5053 5472 6963 6b73 and ...PSTricks\n-00001540: e280 992e 0a2a 2053 7765 6570 733a 3a20 .....* Sweeps:: \n-00001550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001560: 2020 2020 2044 7261 7720 7377 6565 7073 Draw sweeps\n-00001570: 206f 6620 646f 7473 2061 6e64 2070 6f6c of dots and pol\n-00001580: 796c 696e 6573 2e0a 2a20 426c 6f63 6b73 ylines..* Blocks\n-00001590: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-000015a0: 2020 2020 2020 2020 4772 6f75 7020 6f74 Group ot\n-000015b0: 6865 7220 6472 6177 6162 6c65 732e 0a2a her drawables..*\n-000015c0: 2052 6570 6561 7473 3a3a 2020 2020 2020 Repeats:: \n-000015d0: 2020 2020 2020 2020 2020 2020 2020 2044 D\n-000015e0: 7261 7720 7472 616e 7366 6f72 6d65 6420 raw transformed \n-000015f0: 636f 7069 6573 206f 6620 6f62 6a65 6374 copies of object\n-00001600: 732e 0a2a 2050 7574 733a 3a20 2020 2020 s..* Puts:: \n-00001610: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001620: 2020 2044 7261 7720 6f6e 6520 6f62 6a65 Draw one obje\n-00001630: 6374 2074 7261 6e73 666f 726d 6564 2e0a ct transformed..\n-00001640: 0a53 7765 6570 730a 0a2a 2053 7765 7074 .Sweeps..* Swept\n-00001650: 2070 6f69 6e74 733a 3a20 2020 2020 2020 points:: \n-00001660: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p\n-00001670: 6f69 6e74 7320 6d61 6b65 206c 696e 6573 oints make lines\n-00001680: 206f 7220 706f 6c79 676f 6e73 2e0a 2a20 or polygons..* \n-00001690: 5377 6570 7420 6c69 6e65 733a 3a20 2020 Swept lines:: \n-000016a0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-000016b0: 6570 7420 6c69 6e65 7320 6d61 6b65 206f ept lines make o\n-000016c0: 7065 6e20 6f72 2063 6c6f 7365 6420 7375 pen or closed su\n-000016d0: 7266 6163 6573 2e0a 2a20 5377 6570 7420 rfaces..* Swept \n-000016e0: 706f 6c79 676f 6e73 3a3a 2020 2020 2020 polygons:: \n-000016f0: 2020 2020 2020 2020 5377 6570 7420 706f Swept po\n-00001700: 6c79 676f 6e73 206d 616b 6520 636c 6f73 lygons make clos\n-00001710: 6564 2073 7572 6661 6365 732e 0a2a 2053 ed surfaces..* S\n-00001720: 7765 7074 2062 6c6f 636b 733a 3a20 2020 wept blocks:: \n-00001730: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-00001740: 7074 2062 6c6f 636b 20e2 89a1 2062 6c6f pt block ... blo\n-00001750: 636b 206f 6620 7377 6565 7073 2e0a 2a20 ck of sweeps..* \n-00001760: 5377 6565 7020 6661 6365 2073 706c 6974 Sweep face split\n-00001770: 7469 6e67 3a3a 2020 2020 2020 2020 4669 ting:: Fi\n-00001780: 7869 6e67 2077 6172 7065 6420 6661 6365 xing warped face\n-00001790: 7320 7769 7468 2074 7269 616e 676c 6573 s with triangles\n-000017a0: 2e0a 0a44 6566 696e 6974 696f 6e73 0a0a ...Definitions..\n-000017b0: 2a20 466f 726d 7320 6f66 2064 6566 696e * Forms of defin\n-000017c0: 6974 696f 6e73 3a3a 2020 2020 2020 2020 itions:: \n-000017d0: 4469 6666 6572 656e 7420 6465 6673 2066 Different defs f\n-000017e0: 6f72 2064 6966 6665 7265 6e74 2070 7572 or different pur\n-000017f0: 706f 7365 732e 0a2a 2046 6f72 6d73 206f poses..* Forms o\n-00001800: 6620 7265 6665 7265 6e63 6573 3a3a 2020 f references:: \n-00001810: 2020 2020 2020 2048 6f77 2072 6566 6572 How refer\n-00001820: 656e 6365 7320 6465 6e6f 7465 2074 7970 ences denote typ\n-00001830: 6573 2e0a 0a47 6c6f 6261 6c20 656e 7669 es...Global envi\n-00001840: 726f 6e6d 656e 740a 0a2a 2047 6c6f 6261 ronment..* Globa\n-00001850: 6c20 6f70 7469 6f6e 733a 3a20 2020 2020 l options:: \n-00001860: 2020 2020 2020 2020 2041 7474 7269 6275 Attribu\n-00001870: 7465 7320 6f66 2074 6865 2065 6e74 6972 tes of the entir\n-00001880: 6520 6472 6177 696e 672e 0a2a 2043 616d e drawing..* Cam\n-00001890: 6572 613a 3a20 2020 2020 2020 2020 2020 era:: \n-000018a0: 2020 2020 2020 2020 2020 2041 2066 696e A fin\n-000018b0: 616c 2063 616d 6572 6120 7472 616e 7366 al camera transf\n-000018c0: 6f72 6d61 7469 6f6e 206f 6620 7468 6520 ormation of the \n-000018d0: 7363 656e 652e 0a2a 2050 6963 7475 7265 scene..* Picture\n-000018e0: 2062 6f78 3a3a 2020 2020 2020 2020 2020 box:: \n-000018f0: 2020 2020 2020 2053 6574 7469 6e67 2074 Setting t\n-00001900: 6865 2062 6f75 6e64 696e 6720 626f 7820 he bounding box \n-00001910: 616e 6420 3264 2063 6c69 7070 696e 672e and 2d clipping.\n-00001920: 0a2a 2046 7261 6d65 3a3a 2020 2020 2020 .* Frame:: \n-00001930: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001940: 2041 6464 696e 6720 6120 626f 7820 6172 Adding a box ar\n-00001950: 6f75 6e64 2074 6865 2064 7261 7769 6e67 ound the drawing\n-00001960: 2e0a 2a20 4c61 6e67 7561 6765 3a3a 2020 ..* Language:: \n-00001970: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001980: 2020 5365 7474 696e 6720 7468 6520 6f75 Setting the ou\n-00001990: 7470 7574 206c 616e 6775 6167 652e 0a0a tput language...\n-000019a0: 4275 696c 6469 6e67 2061 2064 7261 7769 Building a drawi\n-000019b0: 6e67 0a0a 2a20 4f76 6572 7669 6577 3a3a ng..* Overview::\n-000019c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000019d0: 2020 2020 4275 696c 6469 6e67 2061 2073 Building a s\n-000019e0: 7562 7374 616e 7469 616c 2064 7261 7769 ubstantial drawi\n-000019f0: 6e67 2e0a 2a20 4120 7465 6368 6e69 6361 ng..* A technica\n-00001a00: 6c20 6472 6177 696e 673a 3a20 2020 2020 l drawing:: \n-00001a10: 2020 2020 416e 2065 7861 6d70 6c65 2077 An example w\n-00001a20: 6974 6820 6669 6e65 2070 6c61 6365 6d65 ith fine placeme\n-00001a30: 6e74 2e0a 2a20 4120 6869 6572 6172 6368 nt..* A hierarch\n-00001a40: 6963 616c 206d 6f64 656c 3a3a 2020 2020 ical model:: \n-00001a50: 2020 2020 416e 2065 7861 6d70 6c65 2077 An example w\n-00001a60: 6974 6820 7377 6565 7073 2061 6e64 2070 ith sweeps and p\n-00001a70: 7574 732e 0a2a 2043 6176 6561 7473 3a3a uts..* Caveats::\n-00001a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001a90: 2020 2020 2057 6865 7265 2074 726f 7562 Where troub\n-00001aa0: 6c65 2063 616e 206f 6363 7572 2e0a 0a43 le can occur...C\n-00001ab0: 6176 6561 7473 0a0a 2a20 4c69 6d69 7473 aveats..* Limits\n-00001ac0: 206f 6e20 6572 726f 7220 6465 7465 6374 on error detect\n-00001ad0: 696f 6e3a 3a20 2020 5768 6174 2073 6b65 ion:: What ske\n-00001ae0: 7463 6820 646f 6573 6e27 7420 646f 2e0a tch doesn't do..\n-00001af0: 2a20 436c 6970 7069 6e67 3a3a 2020 2020 * Clipping:: \n-00001b00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001b10: 4e6f 2063 6c69 7070 696e 6720 6174 2070 No clipping at p\n-00001b20: 7265 7365 6e74 2e0a 2a20 4869 6464 656e resent..* Hidden\n-00001b30: 2073 7572 6661 6365 2072 656d 6f76 616c surface removal\n-00001b40: 3a3a 2020 2020 2020 496d 7065 7266 6563 :: Imperfec\n-00001b50: 7469 6f6e 7320 746f 2066 6978 2e0a 0a48 tions to fix...H\n-00001b60: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re\n-00001b70: 6d6f 7661 6c20 616e 6420 706f 6c79 676f moval and polygo\n-00001b80: 6e20 7370 6c69 7474 696e 670a 0a2a 2053 n splitting..* S\n-00001b90: 7461 7469 7374 6963 733a 3a20 2020 2020 tatistics:: \n-00001ba0: 2020 2020 2020 2020 2020 2020 2050 6572 Per\n-00001bb0: 666f 726d 616e 6365 206e 756d 6265 7273 formance numbers\n-00001bc0: 206f 6e20 6465 7074 6820 736f 7274 2e0a on depth sort..\n-00001bd0: 2a20 4275 6773 2061 6e64 2061 6e6f 6d61 * Bugs and anoma\n-00001be0: 6c69 6573 3a3a 2020 2020 2020 2020 2020 lies:: \n-00001bf0: 496d 7065 7266 6563 7469 6f6e 7320 696e Imperfections in\n-00001c00: 2074 6869 7320 696d 706c 656d 656e 7461 this implementa\n-00001c10: 7469 6f6e 2e0a 0a0a 1f0a 4669 6c65 3a20 tion......File: \n-00001c20: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-00001c30: 6465 3a20 4162 6f75 7420 736b 6574 6368 de: About sketch\n-00001c40: 2c20 204e 6578 743a 2049 6e74 726f 6475 , Next: Introdu\n-00001c50: 6374 696f 6e20 6279 2065 7861 6d70 6c65 ction by example\n-00001c60: 2c20 2050 7265 763a 2054 6f70 2c20 2055 , Prev: Top, U\n-00001c70: 703a 2054 6f70 0a0a 3120 4162 6f75 7420 p: Top..1 About \n-00001c80: 736b 6574 6368 0a2a 2a2a 2a2a 2a2a 2a2a sketch.*********\n-00001c90: 2a2a 2a2a 2a0a 0a2a 204d 656e 753a 0a0a *****..* Menu:..\n-00001ca0: 2a20 5265 706f 7274 696e 6720 6275 6773 * Reporting bugs\n-00001cb0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-00001cc0: 4c65 7420 7573 6520 6b6e 6f77 2077 6861 Let use know wha\n-00001cd0: 7427 7320 7772 6f6e 6721 0a2a 2043 6f6e t's wrong!.* Con\n-00001ce0: 7472 6962 7574 696f 6e73 3a3a 2020 2020 tributions:: \n-00001cf0: 2020 2020 2020 2020 2020 2048 6f77 2079 How y\n-00001d00: 6f75 2063 616e 2068 656c 702e 2e2e 2e0a ou can help.....\n-00001d10: 0ae2 8098 536b 6574 6368 e280 9920 6973 ....Sketch... is\n-00001d20: 2061 2073 6d61 6c6c 2c20 7369 6d70 6c65 a small, simple\n-00001d30: 2073 7973 7465 6d20 666f 7220 7072 6f64 system for prod\n-00001d40: 7563 696e 6720 6c69 6e65 2064 7261 7769 ucing line drawi\n-00001d50: 6e67 7320 6f66 2074 776f 2d0a 6f72 2074 ngs of two-.or t\n-00001d60: 6872 6565 2d64 696d 656e 7369 6f6e 616c hree-dimensional\n-00001d70: 206f 626a 6563 7473 2061 6e64 2073 6365 objects and sce\n-00001d80: 6e65 732e 2020 4974 2062 6567 616e 2061 nes. It began a\n-00001d90: 7320 6120 7761 7920 746f 206d 616b 650a s a way to make.\n-00001da0: 696c 6c75 7374 7261 7469 6f6e 7320 666f illustrations fo\n-00001db0: 7220 6120 7465 7874 626f 6f6b 2061 6674 r a textbook aft\n-00001dc0: 6572 2077 6520 636f 756c 6420 6669 6e64 er we could find\n-00001dd0: 206e 6f20 7375 6974 6162 6c65 2074 6f6f no suitable too\n-00001de0: 6c20 666f 720a 7468 6973 2070 7572 706f l for.this purpo\n-00001df0: 7365 2e20 2045 7869 7374 696e 6720 7363 se. Existing sc\n-00001e00: 656e 6520 7072 6f63 6573 736f 7273 2065 ene processors e\n-00001e10: 6d70 6861 7369 7a65 6420 4755 4973 2061 mphasized GUIs a\n-00001e20: 6e64 2f6f 720a 7068 6f74 6f2d 7265 616c nd/or.photo-real\n-00001e30: 6973 6d2c 2062 6f74 6820 756e 2d75 7365 ism, both un-use\n-00001e40: 6675 6c20 746f 2075 732e 2020 5765 2077 ful to us. We w\n-00001e50: 616e 7465 6420 746f 2070 726f 6475 6365 anted to produce\n-00001e60: 2066 696e 656c 790a 7772 6f75 6768 742c finely.wrought,\n-00001e70: 206d 6174 6865 6d61 7469 6361 6c6c 792d mathematically-\n-00001e80: 6261 7365 6420 696c 6c75 7374 7261 7469 based illustrati\n-00001e90: 6f6e 7320 7769 7468 206e 6f20 6578 7472 ons with no extr\n-00001ea0: 616e 656f 7573 2064 6574 6169 6c2e 0a0a aneous detail...\n-00001eb0: 2020 20e2 8098 536b 6574 6368 e280 9920 ...Sketch... \n-00001ec0: 6163 6365 7074 7320 6120 7469 6e79 2073 accepts a tiny s\n-00001ed0: 6365 6e65 2064 6573 6372 6970 7469 6f6e cene description\n-00001ee0: 206c 616e 6775 6167 6520 616e 6420 6765 language and ge\n-00001ef0: 6e65 7261 7465 730a e280 9850 5354 7269 nerates....PSTri\n-00001f00: 636b 73e2 8099 206f 7220 e280 9854 696b cks... or ...Tik\n-00001f10: 5a2f 5047 46e2 8099 2063 6f64 6520 666f Z/PGF... code fo\n-00001f20: 7220 4c61 5465 582e 2020 5468 6520 e280 r LaTeX. The ..\n-00001f30: 9873 6b65 7463 68e2 8099 206c 616e 6775 .sketch... langu\n-00001f40: 6167 6520 6973 0a73 696d 696c 6172 2074 age is.similar t\n-00001f50: 6f20 e280 9850 5354 7269 636b 73e2 8099 o ...PSTricks...\n-00001f60: 2c20 6d61 6b69 6e67 2069 7420 6561 7379 , making it easy\n-00001f70: 2074 6f20 6c65 6172 6e20 666f 7220 6375 to learn for cu\n-00001f80: 7272 656e 7420 e280 9850 5354 7269 636b rrent ...PSTrick\n-00001f90: 73e2 8099 0a75 7365 7273 2e20 2053 6565 s....users. See\n-00001fa0: 2077 7777 2e70 7374 7269 636b 732e 6465 www.pstricks.de\n-00001fb0: 2066 6f72 2069 6e66 6f72 6d61 7469 6f6e for information\n-00001fc0: 206f 6e20 e280 9850 5354 7269 636b 73e2 on ...PSTricks.\n-00001fd0: 8099 2e20 20e2 8098 5469 6b5a 2f50 4746 ... ...TikZ/PGF\n-00001fe0: e280 990a 6973 2073 696d 696c 6172 2e20 ....is similar. \n-00001ff0: 2053 6565 2068 7474 703a 2f2f 736f 7572 See http://sour\n-00002000: 6365 666f 7267 652e 6e65 742f 7072 6f6a ceforge.net/proj\n-00002010: 6563 7473 2f70 6766 2e20 204f 6e65 2063 ects/pgf. One c\n-00002020: 616e 2065 6173 696c 790a 696e 636c 7564 an easily.includ\n-00002030: 6520 6172 6269 7472 6172 7920 e280 9850 e arbitrary ...P\n-00002040: 5354 7269 636b 73e2 8099 206f 7220 e280 STricks... or ..\n-00002050: 9854 696b 5a2f 5047 46e2 8099 2064 7261 .TikZ/PGF... dra\n-00002060: 7769 6e67 7320 616e 6420 7465 7874 206f wings and text o\n-00002070: 7665 722c 2069 6e2c 0a6f 7220 756e 6465 ver, in,.or unde\n-00002080: 7220 e280 9873 6b65 7463 68e2 8099 2064 r ...sketch... d\n-00002090: 7261 7769 6e67 732c 2070 726f 7669 6469 rawings, providi\n-000020a0: 6e67 2061 6363 6573 7320 746f 2074 6865 ng access to the\n-000020b0: 2066 756c 6c20 706f 7765 7220 6f66 204c full power of L\n-000020c0: 6154 6558 0a74 6578 7420 616e 6420 6d61 aTeX.text and ma\n-000020d0: 7468 656d 6174 6963 7320 666f 726d 6174 thematics format\n-000020e0: 7469 6e67 2069 6e20 6120 7468 7265 652d ting in a three-\n-000020f0: 6469 6d65 6e73 696f 6e61 6c20 7365 7474 dimensional sett\n-00002100: 696e 672e 0a0a 1f0a 4669 6c65 3a20 736b ing.....File: sk\n-00002110: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-00002120: 3a20 5265 706f 7274 696e 6720 6275 6773 : Reporting bugs\n-00002130: 2c20 204e 6578 743a 2043 6f6e 7472 6962 , Next: Contrib\n-00002140: 7574 696f 6e73 2c20 2050 7265 763a 2041 utions, Prev: A\n-00002150: 626f 7574 2073 6b65 7463 682c 2020 5570 bout sketch, Up\n-00002160: 3a20 4162 6f75 7420 736b 6574 6368 0a0a : About sketch..\n-00002170: 312e 3120 5265 706f 7274 696e 6720 6275 1.1 Reporting bu\n-00002180: 6773 2061 6e64 2072 6563 6f6d 6d65 6e64 gs and recommend\n-00002190: 696e 6720 696d 7072 6f76 656d 656e 7473 ing improvements\n-000021a0: 2e0a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ..==============\n+000000b0: 3729 2c20 5361 7475 7264 6179 2c20 4d61 7), Saturday, Ma\n+000000c0: 7263 680a 3231 2c20 3230 3236 2c20 6120 rch.21, 2026, a \n+000000d0: 7072 6f67 7261 6d20 7468 6174 2063 6f6e program that con\n+000000e0: 7665 7274 7320 6465 7363 7269 7074 696f verts descriptio\n+000000f0: 6e73 206f 6620 7369 6d70 6c65 0a74 6872 ns of simple.thr\n+00000100: 6565 2d64 696d 656e 7369 6f6e 616c 2073 ee-dimensional s\n+00000110: 6365 6e65 7320 696e 746f 206c 696e 6520 cenes into line \n+00000120: 6472 6177 696e 6773 2e20 2054 6869 7320 drawings. This \n+00000130: 7665 7273 696f 6e20 6765 6e65 7261 7465 version generate\n+00000140: 730a e280 9850 5354 7269 636b 73e2 8099 s....PSTricks...\n+00000150: 206f 7220 e280 9850 4746 2f54 696b 5ae2 or ...PGF/TikZ.\n+00000160: 8099 2063 6f64 6520 7375 6974 6162 6c65 .. code suitable\n+00000170: 2066 6f72 2075 7365 2077 6974 6820 7468 for use with th\n+00000180: 6520 5465 5820 646f 6375 6d65 6e74 0a70 e TeX document.p\n+00000190: 726f 6365 7373 696e 6720 7379 7374 656d rocessing system\n+000001a0: 2e0a 0a20 2020 e280 9853 6b65 7463 68e2 ... ...Sketch.\n+000001b0: 8099 2069 7320 6672 6565 2073 6f66 7477 .. is free softw\n+000001c0: 6172 652e 2020 596f 7520 6361 6e20 7265 are. You can re\n+000001d0: 6469 7374 7269 6275 7465 2069 7420 616e distribute it an\n+000001e0: 642f 6f72 206d 6f64 6966 7920 6974 0a75 d/or modify it.u\n+000001f0: 6e64 6572 2074 6865 2074 6572 6d73 206f nder the terms o\n+00000200: 6620 7468 6520 474e 5520 4765 6e65 7261 f the GNU Genera\n+00000210: 6c20 5075 626c 6963 204c 6963 656e 7365 l Public License\n+00000220: 2061 7320 7075 626c 6973 6865 6420 6279 as published by\n+00000230: 2074 6865 0a46 7265 6520 536f 6674 7761 the.Free Softwa\n+00000240: 7265 2046 6f75 6e64 6174 696f 6e3b 2065 re Foundation; e\n+00000250: 6974 6865 7220 7665 7273 696f 6e20 332c ither version 3,\n+00000260: 206f 7220 2861 7420 796f 7572 206f 7074 or (at your opt\n+00000270: 696f 6e29 2061 6e79 0a6c 6174 6572 2076 ion) any.later v\n+00000280: 6572 7369 6f6e 2e0a 0a20 2020 536b 6574 ersion... Sket\n+00000290: 6368 2069 7320 6469 7374 7269 6275 7465 ch is distribute\n+000002a0: 6420 696e 2074 6865 2068 6f70 6520 7468 d in the hope th\n+000002b0: 6174 2069 7420 7769 6c6c 2062 6520 7573 at it will be us\n+000002c0: 6566 756c 2c20 6275 7420 5749 5448 4f55 eful, but WITHOU\n+000002d0: 540a 414e 5920 5741 5252 414e 5459 3b20 T.ANY WARRANTY; \n+000002e0: 7769 7468 6f75 7420 6576 656e 2074 6865 without even the\n+000002f0: 2069 6d70 6c69 6564 2077 6172 7261 6e74 implied warrant\n+00000300: 7920 6f66 204d 4552 4348 414e 5441 4249 y of MERCHANTABI\n+00000310: 4c49 5459 206f 720a 4649 544e 4553 5320 LITY or.FITNESS \n+00000320: 464f 5220 4120 5041 5254 4943 554c 4152 FOR A PARTICULAR\n+00000330: 2050 5552 504f 5345 2e20 5365 6520 7468 PURPOSE. See th\n+00000340: 6520 474e 5520 4765 6e65 7261 6c20 5075 e GNU General Pu\n+00000350: 626c 6963 204c 6963 656e 7365 2066 6f72 blic License for\n+00000360: 0a6d 6f72 6520 6465 7461 696c 732e 0a0a .more details...\n+00000370: 2020 2059 6f75 2073 686f 756c 6420 6861 You should ha\n+00000380: 7665 2072 6563 6569 7665 6420 6120 636f ve received a co\n+00000390: 7079 206f 6620 7468 6520 474e 5520 4765 py of the GNU Ge\n+000003a0: 6e65 7261 6c20 5075 626c 6963 204c 6963 neral Public Lic\n+000003b0: 656e 7365 0a61 6c6f 6e67 2077 6974 6820 ense.along with \n+000003c0: e280 9873 6b65 7463 68e2 8099 3b20 7365 ...sketch...; se\n+000003d0: 6520 7468 6520 6669 6c65 2043 4f50 5949 e the file COPYI\n+000003e0: 4e47 2e74 7874 2e20 2049 6620 6e6f 742c NG.txt. If not,\n+000003f0: 2073 6565 0a68 7474 703a 2f2f 7777 772e see.http://www.\n+00000400: 676e 752e 6f72 672f 636f 7079 6c65 6674 gnu.org/copyleft\n+00000410: 2e0a 0a49 4e46 4f2d 4449 522d 5345 4354 ...INFO-DIR-SECT\n+00000420: 494f 4e20 5465 580a 5354 4152 542d 494e ION TeX.START-IN\n+00000430: 464f 2d44 4952 2d45 4e54 5259 0a2a 2053 FO-DIR-ENTRY.* S\n+00000440: 6b65 7463 683a 2028 736b 6574 6368 292e ketch: (sketch).\n+00000450: 2020 2020 2020 2020 2020 2020 2053 696d Sim\n+00000460: 706c 6520 3344 2073 6b65 7463 6869 6e67 ple 3D sketching\n+00000470: 2066 6f72 2054 6558 0a45 4e44 2d49 4e46 for TeX.END-INF\n+00000480: 4f2d 4449 522d 454e 5452 590a 0a1f 0a46 O-DIR-ENTRY....F\n+00000490: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+000004a0: 2c20 204e 6f64 653a 2054 6f70 2c20 204e , Node: Top, N\n+000004b0: 6578 743a 2041 626f 7574 2073 6b65 7463 ext: About sketc\n+000004c0: 682c 2020 5072 6576 3a20 2864 6972 292c h, Prev: (dir),\n+000004d0: 2020 5570 3a20 2864 6972 290a 0a53 6b65 Up: (dir)..Ske\n+000004e0: 7463 680a 2a2a 2a2a 2a2a 0a0a 436f 7079 tch.******..Copy\n+000004f0: 7269 6768 7420 c2a9 2032 3030 3520 746f right .. 2005 to\n+00000500: 2032 3031 3220 4575 6765 6e65 204b 2e20 2012 Eugene K. \n+00000510: 5265 7373 6c65 722e 0a0a 2020 2054 6869 Ressler... Thi\n+00000520: 7320 6d61 6e75 616c 2069 7320 666f 7220 s manual is for \n+00000530: e280 9873 6b65 7463 68e2 8099 2c20 7665 ...sketch..., ve\n+00000540: 7273 696f 6e20 302e 3320 2862 7569 6c64 rsion 0.3 (build\n+00000550: 2037 292c 2053 6174 7572 6461 792c 204d 7), Saturday, M\n+00000560: 6172 6368 0a32 312c 2032 3032 362c 2061 arch.21, 2026, a\n+00000570: 2070 726f 6772 616d 2074 6861 7420 636f program that co\n+00000580: 6e76 6572 7473 2064 6573 6372 6970 7469 nverts descripti\n+00000590: 6f6e 7320 6f66 2073 696d 706c 650a 7468 ons of simple.th\n+000005a0: 7265 652d 6469 6d65 6e73 696f 6e61 6c20 ree-dimensional \n+000005b0: 7363 656e 6573 2069 6e74 6f20 6c69 6e65 scenes into line\n+000005c0: 2064 7261 7769 6e67 732e 2020 5468 6973 drawings. This\n+000005d0: 2076 6572 7369 6f6e 2067 656e 6572 6174 version generat\n+000005e0: 6573 0ae2 8098 5053 5472 6963 6b73 e280 es....PSTricks..\n+000005f0: 9920 6f72 20e2 8098 5047 462f 5469 6b5a . or ...PGF/TikZ\n+00000600: e280 9920 636f 6465 2073 7569 7461 626c ... code suitabl\n+00000610: 6520 666f 7220 7573 6520 7769 7468 2074 e for use with t\n+00000620: 6865 2054 6558 2064 6f63 756d 656e 740a he TeX document.\n+00000630: 7072 6f63 6573 7369 6e67 2073 7973 7465 processing syste\n+00000640: 6d2e 0a0a 2020 20e2 8098 536b 6574 6368 m... ...Sketch\n+00000650: e280 9920 6973 2066 7265 6520 736f 6674 ... is free soft\n+00000660: 7761 7265 2e20 2059 6f75 2063 616e 2072 ware. You can r\n+00000670: 6564 6973 7472 6962 7574 6520 6974 2061 edistribute it a\n+00000680: 6e64 2f6f 7220 6d6f 6469 6679 2069 740a nd/or modify it.\n+00000690: 756e 6465 7220 7468 6520 7465 726d 7320 under the terms \n+000006a0: 6f66 2074 6865 2047 4e55 2047 656e 6572 of the GNU Gener\n+000006b0: 616c 2050 7562 6c69 6320 4c69 6365 6e73 al Public Licens\n+000006c0: 6520 6173 2070 7562 6c69 7368 6564 2062 e as published b\n+000006d0: 7920 7468 650a 4672 6565 2053 6f66 7477 y the.Free Softw\n+000006e0: 6172 6520 466f 756e 6461 7469 6f6e 3b20 are Foundation; \n+000006f0: 6569 7468 6572 2076 6572 7369 6f6e 2033 either version 3\n+00000700: 2c20 6f72 2028 6174 2079 6f75 7220 6f70 , or (at your op\n+00000710: 7469 6f6e 2920 616e 790a 6c61 7465 7220 tion) any.later \n+00000720: 7665 7273 696f 6e2e 0a0a 2020 2053 6b65 version... Ske\n+00000730: 7463 6820 6973 2064 6973 7472 6962 7574 tch is distribut\n+00000740: 6564 2069 6e20 7468 6520 686f 7065 2074 ed in the hope t\n+00000750: 6861 7420 6974 2077 696c 6c20 6265 2075 hat it will be u\n+00000760: 7365 6675 6c2c 2062 7574 2057 4954 484f seful, but WITHO\n+00000770: 5554 0a41 4e59 2057 4152 5241 4e54 593b UT.ANY WARRANTY;\n+00000780: 2077 6974 686f 7574 2065 7665 6e20 7468 without even th\n+00000790: 6520 696d 706c 6965 6420 7761 7272 616e e implied warran\n+000007a0: 7479 206f 6620 4d45 5243 4841 4e54 4142 ty of MERCHANTAB\n+000007b0: 494c 4954 5920 6f72 0a46 4954 4e45 5353 ILITY or.FITNESS\n+000007c0: 2046 4f52 2041 2050 4152 5449 4355 4c41 FOR A PARTICULA\n+000007d0: 5220 5055 5250 4f53 452e 2053 6565 2074 R PURPOSE. See t\n+000007e0: 6865 2047 4e55 2047 656e 6572 616c 2050 he GNU General P\n+000007f0: 7562 6c69 6320 4c69 6365 6e73 6520 666f ublic License fo\n+00000800: 720a 6d6f 7265 2064 6574 6169 6c73 2e0a r.more details..\n+00000810: 0a20 2020 596f 7520 7368 6f75 6c64 2068 . You should h\n+00000820: 6176 6520 7265 6365 6976 6564 2061 2063 ave received a c\n+00000830: 6f70 7920 6f66 2074 6865 2047 4e55 2047 opy of the GNU G\n+00000840: 656e 6572 616c 2050 7562 6c69 6320 4c69 eneral Public Li\n+00000850: 6365 6e73 650a 616c 6f6e 6720 7769 7468 cense.along with\n+00000860: 20e2 8098 736b 6574 6368 e280 993b 2073 ...sketch...; s\n+00000870: 6565 2074 6865 2066 696c 6520 434f 5059 ee the file COPY\n+00000880: 494e 472e 7478 742e 2020 4966 206e 6f74 ING.txt. If not\n+00000890: 2c20 7365 650a 6874 7470 3a2f 2f77 7777 , see.http://www\n+000008a0: 2e67 6e75 2e6f 7267 2f63 6f70 796c 6566 .gnu.org/copylef\n+000008b0: 742e 0a0a 2a20 4d65 6e75 3a0a 0a2a 2041 t...* Menu:..* A\n+000008c0: 626f 7574 2073 6b65 7463 683a 3a20 2020 bout sketch:: \n+000008d0: 2020 2020 2020 2020 2020 2020 2057 6879 Why\n+000008e0: 2073 6b65 7463 6820 6578 6973 7473 2061 sketch exists a\n+000008f0: 6e64 2077 6861 7420 6974 2064 6f65 732e nd what it does.\n+00000900: 0a2a 2049 6e74 726f 6475 6374 696f 6e20 .* Introduction \n+00000910: 6279 2065 7861 6d70 6c65 3a3a 2020 2020 by example:: \n+00000920: 204d 6f73 7420 6665 6174 7572 6573 2073 Most features s\n+00000930: 686f 776e 2061 7320 776f 726b 696e 6720 hown as working \n+00000940: 636f 6465 2e0a 2a20 496e 7075 7420 6c61 code..* Input la\n+00000950: 6e67 7561 6765 3a3a 2020 2020 2020 2020 nguage:: \n+00000960: 2020 2020 2020 5379 6e74 6178 2061 6e64 Syntax and\n+00000970: 2073 656d 616e 7469 6373 206f 6620 e280 semantics of ..\n+00000980: 9873 6b65 7463 68e2 8099 2063 6f6d 6d61 .sketch... comma\n+00000990: 6e64 732e 0a2a 2042 7569 6c64 696e 6720 nds..* Building \n+000009a0: 6120 6472 6177 696e 673a 3a20 2020 2020 a drawing:: \n+000009b0: 2020 2020 2048 6f77 2074 6f20 7573 6520 How to use \n+000009c0: e280 9873 6b65 7463 68e2 8099 2070 726f ...sketch... pro\n+000009d0: 6475 6374 6976 656c 792e 0a2a 2043 6f6d ductively..* Com\n+000009e0: 6d61 6e64 206c 696e 653a 3a20 2020 2020 mand line:: \n+000009f0: 2020 2020 2020 2020 2020 204f 7074 696f Optio\n+00000a00: 6e73 2061 6e64 2074 6865 6972 2075 7361 ns and their usa\n+00000a10: 6765 2e0a 2a20 496e 7374 616c 6c69 6e67 ge..* Installing\n+00000a20: 2073 6b65 7463 683a 3a20 2020 2020 2020 sketch:: \n+00000a30: 2020 2020 4275 696c 6469 6e67 2061 6e64 Building and\n+00000a40: 2069 6e73 7461 6c6c 696e 6720 6672 6f6d installing from\n+00000a50: 2073 6f75 7263 6573 2e0a 2a20 496e 6465 sources..* Inde\n+00000a60: 7820 6f66 2073 796e 7461 783a 3a0a 2a20 x of syntax::.* \n+00000a70: 496e 6465 783a 3a0a 0a20 2d2d 2054 6865 Index::.. -- The\n+00000a80: 2044 6574 6169 6c65 6420 4e6f 6465 204c Detailed Node L\n+00000a90: 6973 7469 6e67 202d 2d0a 0a41 626f 7574 isting --..About\n+00000aa0: 2073 6b65 7463 680a 0a2a 2052 6570 6f72 sketch..* Repor\n+00000ab0: 7469 6e67 2062 7567 733a 3a20 2020 2020 ting bugs:: \n+00000ac0: 2020 2020 2020 2020 204c 6574 2075 7365 Let use\n+00000ad0: 206b 6e6f 7720 7768 6174 2773 2077 726f know what's wro\n+00000ae0: 6e67 210a 2a20 436f 6e74 7269 6275 7469 ng!.* Contributi\n+00000af0: 6f6e 733a 3a20 2020 2020 2020 2020 2020 ons:: \n+00000b00: 2020 2020 486f 7720 796f 7520 6361 6e20 How you can \n+00000b10: 6865 6c70 2e2e 2e2e 0a0a 496e 7472 6f64 help......Introd\n+00000b20: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl\n+00000b30: 650a 0a2a 2048 656c 6c6f 2077 6f72 6c64 e..* Hello world\n+00000b40: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n+00000b50: 2020 2053 696d 706c 6573 7420 706f 7373 Simplest poss\n+00000b60: 6962 6c65 20e2 8098 736b 6574 6368 e280 ible ...sketch..\n+00000b70: 9920 7072 6f67 7261 6d2e 0a2a 2044 7261 . program..* Dra\n+00000b80: 7769 6e67 206f 7074 696f 6e73 3a3a 2020 wing options:: \n+00000b90: 2020 2020 2020 2020 2020 2043 6f6e 7472 Contr\n+00000ba0: 6f6c 6c69 6e67 206f 626a 6563 7420 6170 olling object ap\n+00000bb0: 7065 6172 616e 6365 2e0a 2a20 4472 6177 pearance..* Draw\n+00000bc0: 696e 6720 6120 736f 6c69 643a 3a20 2020 ing a solid:: \n+00000bd0: 2020 2020 2020 2020 2020 4472 6177 696e Drawin\n+00000be0: 6720 616e 206f 626a 6563 7420 7769 7468 g an object with\n+00000bf0: 2033 6420 6170 7065 6172 616e 6365 2e0a 3d appearance..\n+00000c00: 2a20 5370 6563 6961 6c20 6f62 6a65 6374 * Special object\n+00000c10: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+00000c20: 4c61 7969 6e67 2054 6558 206f 7665 722c Laying TeX over,\n+00000c30: 2069 6e2c 206f 7220 756e 6465 7220 6472 in, or under dr\n+00000c40: 6177 696e 6773 2e0a 2a20 4f62 6a65 6374 awings..* Object\n+00000c50: 2074 7261 6e73 666f 726d 733a 3a20 2020 transforms:: \n+00000c60: 2020 2020 2020 2020 526f 7461 7465 2c20 Rotate, \n+00000c70: 7472 616e 736c 6174 652c 2073 6361 6c65 translate, scale\n+00000c80: 2c20 616e 6420 6f74 6865 7273 2e0a 2a20 , and others..* \n+00000c90: 5265 7065 6174 6564 206f 626a 6563 7473 Repeated objects\n+00000ca0: 3a3a 2020 2020 2020 2020 2020 2020 4d61 :: Ma\n+00000cb0: 6b69 6e67 2074 7261 6e73 666f 726d 6564 king transformed\n+00000cc0: 2063 6f70 6965 732e 0a2a 2053 7765 7074 copies..* Swept\n+00000cd0: 206f 626a 6563 7473 3a3a 2020 2020 2020 objects:: \n+00000ce0: 2020 2020 2020 2020 2053 7765 6570 696e Sweepin\n+00000cf0: 6720 6f62 6a65 6374 7320 696e 2073 7061 g objects in spa\n+00000d00: 6365 2074 6f20 6d61 6b65 206e 6577 2073 ce to make new s\n+00000d10: 6861 7065 732e 0a0a 5377 6570 7420 6f62 hapes...Swept ob\n+00000d20: 6a65 6374 730a 0a2a 2050 6f69 6e74 2073 jects..* Point s\n+00000d30: 7765 6570 733a 3a20 2020 2020 2020 2020 weeps:: \n+00000d40: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi\n+00000d50: 6e74 7320 6d61 6b65 206c 696e 6573 2061 nts make lines a\n+00000d60: 6e64 2070 6f6c 7967 6f6e 732e 0a2a 2050 nd polygons..* P\n+00000d70: 6f6c 796c 696e 6520 7377 6565 7073 3a3a olyline sweeps::\n+00000d80: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+00000d90: 7074 206c 696e 6573 206d 616b 6520 7375 pt lines make su\n+00000da0: 7266 6163 6573 2e0a 2a20 4e65 7374 6564 rfaces..* Nested\n+00000db0: 2073 7765 6570 733a 3a20 2020 2020 2020 sweeps:: \n+00000dc0: 2020 2020 2020 2020 5377 6570 7420 7377 Swept sw\n+00000dd0: 6565 7073 2061 7265 2075 7365 6675 6c21 eeps are useful!\n+00000de0: 0a2a 2050 6f6c 7967 6f6e 2073 7765 6570 .* Polygon sweep\n+00000df0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+00000e00: 2053 7765 7074 2070 6f6c 7967 6f6e 7320 Swept polygons \n+00000e10: 6d61 6b65 2073 6f6c 6964 732e 2e2e 0a2a make solids....*\n+00000e20: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n+00000e30: 2077 6974 6820 636c 6f73 7572 653a 3a20 with closure:: \n+00000e40: 2061 6e64 2073 6f20 646f 2063 6c6f 7365 and so do close\n+00000e50: 6420 706f 6c79 6c69 6e65 2073 7765 6570 d polyline sweep\n+00000e60: 732e 0a2a 2041 6666 696e 6520 6172 6974 s..* Affine arit\n+00000e70: 686d 6574 6963 3a3a 2020 2020 2020 2020 hmetic:: \n+00000e80: 2020 2053 6b65 7463 6820 7573 6566 756c Sketch useful\n+00000e90: 206d 6174 6820 6578 7072 6573 7369 6f6e math expression\n+00000ea0: 2e0a 2a20 4d6f 7265 2074 6f20 6c65 6172 ..* More to lear\n+00000eb0: 6e3a 3a20 2020 2020 2020 2020 2020 2020 n:: \n+00000ec0: 2020 4368 6563 6b20 6f75 7420 7468 6520 Check out the \n+00000ed0: 4d6f 6269 7573 2073 7472 6970 210a 0a49 Mobius strip!..I\n+00000ee0: 6e70 7574 206c 616e 6775 6167 650a 0a2a nput language..*\n+00000ef0: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics\n+00000f00: 3a3a 2020 2020 2020 2020 2020 2020 2043 :: C\n+00000f10: 6173 652c 2073 7061 6365 2c20 636f 6d6d ase, space, comm\n+00000f20: 656e 7473 2c20 696e 636c 7564 6520 6669 ents, include fi\n+00000f30: 6c65 732e 0a2a 2044 7261 7761 626c 6573 les..* Drawables\n+00000f40: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n+00000f50: 2020 2020 2054 6869 6e67 7320 7468 6174 Things that\n+00000f60: 2063 616e 2062 6520 6472 6177 6e2e 0a2a can be drawn..*\n+00000f70: 2044 6566 696e 6974 696f 6e73 3a3a 2020 Definitions:: \n+00000f80: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+00000f90: 6976 696e 6720 7468 696e 6773 206e 616d iving things nam\n+00000fa0: 6573 2e0a 2a20 476c 6f62 616c 2065 6e76 es..* Global env\n+00000fb0: 6972 6f6e 6d65 6e74 3a3a 2020 2020 2020 ironment:: \n+00000fc0: 2020 2020 4166 6665 6374 2074 6865 2065 Affect the e\n+00000fd0: 6e74 6972 6520 6472 6177 696e 672e 0a0a ntire drawing...\n+00000fe0: 4261 7369 6373 0a0a 2a20 4964 656e 7469 Basics..* Identi\n+00000ff0: 6669 6572 733a 3a20 2020 2020 2020 2020 fiers:: \n+00001000: 2020 2020 2020 2020 4e61 6d65 7320 666f Names fo\n+00001010: 7220 7468 696e 6773 2e0a 2a20 4b65 7920 r things..* Key \n+00001020: 616e 6420 7265 7365 7276 6564 2077 6f72 and reserved wor\n+00001030: 6473 3a3a 2020 2020 2020 4e61 6d65 7320 ds:: Names \n+00001040: 796f 7520 7368 6f75 6c64 6e27 7420 7573 you shouldn't us\n+00001050: 652e 0a2a 204c 6974 6572 616c 733a 3a20 e..* Literals:: \n+00001060: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00001070: 2020 2043 6f6e 7374 616e 7473 2061 6e64 Constants and\n+00001080: 2063 6f6e 7374 7275 6374 6f72 732e 0a2a constructors..*\n+00001090: 2041 7269 7468 6d65 7469 633a 3a20 2020 Arithmetic:: \n+000010a0: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+000010b0: 756c 6573 2066 6f72 2065 7870 7265 7373 ules for express\n+000010c0: 696f 6e73 2e0a 2a20 4f70 7469 6f6e 733a ions..* Options:\n+000010d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000010e0: 2020 2020 2020 4d6f 6469 6679 696e 6720 Modifying \n+000010f0: 6f62 6a65 6374 2061 7070 6561 7261 6e63 object appearanc\n+00001100: 652e 0a0a 4c69 7465 7261 6c73 0a0a 2a20 e...Literals..* \n+00001110: 5363 616c 6172 206c 6974 6572 616c 733a Scalar literals:\n+00001120: 3a20 2020 2020 2020 2020 2020 2020 4a75 : Ju\n+00001130: 7374 2074 6865 206e 756d 6265 7273 2e0a st the numbers..\n+00001140: 2a20 506f 696e 7420 616e 6420 7665 6374 * Point and vect\n+00001150: 6f72 206c 6974 6572 616c 733a 3a20 2020 or literals:: \n+00001160: 3364 2071 7561 6e74 6974 6965 732e 0a2a 3d quantities..*\n+00001170: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n+00001180: 616c 733a 3a20 2020 2020 2020 2020 204d als:: M\n+00001190: 6174 7269 7820 666f 726d 2e0a 0a41 7269 atrix form...Ari\n+000011a0: 7468 6d65 7469 6320 6578 7072 6573 7369 thmetic expressi\n+000011b0: 6f6e 730a 0a2a 2054 776f 2d6f 7065 7261 ons..* Two-opera\n+000011c0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n+000011d0: 733a 3a20 2041 206f 7020 420a 2a20 556e s:: A op B.* Un\n+000011e0: 6172 7920 666f 726d 733a 3a20 2020 2020 ary forms:: \n+000011f0: 2020 2020 2020 2020 2020 2020 6f70 2041 op A\n+00001200: 2028 616e 6420 6f74 6865 7273 290a 0a4f (and others)..O\n+00001210: 7074 696f 6e73 0a0a 2a20 5053 5472 6963 ptions..* PSTric\n+00001220: 6b73 206f 7074 696f 6e73 3a3a 2020 2020 ks options:: \n+00001230: 2020 2020 2020 2020 4f70 7469 6f6e 7320 Options \n+00001240: 696e 6865 7269 7465 6420 6672 6f6d 20e2 inherited from .\n+00001250: 8098 5053 5472 6963 6b73 e280 992e 0a2a ..PSTricks.....*\n+00001260: 2054 696b 5a2f 5047 4620 6f70 7469 6f6e TikZ/PGF option\n+00001270: 733a 3a20 2020 2020 2020 2020 2020 204f s:: O\n+00001280: 7074 696f 6e73 2069 6e68 6572 6974 6564 ptions inherited\n+00001290: 2066 726f 6d20 e280 9854 696b 5a2f 5047 from ...TikZ/PG\n+000012a0: 46e2 8099 2e0a 2a20 446f 7473 2069 6e20 F.....* Dots in \n+000012b0: 5469 6b5a 2f50 4746 3a3a 2020 2020 2020 TikZ/PGF:: \n+000012c0: 2020 2020 2020 536b 6574 6368 2075 7365 Sketch use\n+000012d0: 7320 e280 9854 696b 5a2f 5047 46e2 8099 s ...TikZ/PGF...\n+000012e0: 2063 6972 636c 6573 2066 6f72 2064 6f74 circles for dot\n+000012f0: 732e 0a2a 2054 696b 5a2f 5047 4620 7573 s..* TikZ/PGF us\n+00001300: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style\n+00001310: 733a 3a20 2053 7570 706f 7274 2066 6f72 s:: Support for\n+00001320: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... \n+00001330: 6e61 6d65 642c 2075 7365 722d 6465 6669 named, user-defi\n+00001340: 6e65 6420 7374 796c 6573 2e0a 2a20 5472 ned styles..* Tr\n+00001350: 616e 7370 6172 656e 6379 3a3a 2020 2020 ansparency:: \n+00001360: 2020 2020 2020 2020 2020 2020 5365 652d See-\n+00001370: 7468 726f 7567 6820 706f 6c79 676f 6e73 through polygons\n+00001380: 2e0a 2a20 496e 7465 726e 616c 206f 7074 ..* Internal opt\n+00001390: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: \n+000013a0: 2020 4f70 7469 6f6e 7320 7573 6564 2062 Options used b\n+000013b0: 7920 e280 9873 6b65 7463 68e2 8099 2e0a y ...sketch.....\n+000013c0: 0a50 6f69 6e74 206c 6973 7473 0a0a 2a20 .Point lists..* \n+000013d0: 4472 6177 6162 6c65 733a 3a20 2020 2020 Drawables:: \n+000013e0: 2020 2020 2020 2020 2020 2020 2020 5468 Th\n+000013f0: 696e 6773 2074 6861 7420 6172 6520 6472 ings that are dr\n+00001400: 6177 6e2e 0a2a 2044 6566 696e 6974 696f awn..* Definitio\n+00001410: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: \n+00001420: 2020 2020 2054 6869 6e67 7320 7769 7468 Things with\n+00001430: 206e 616d 6573 2e0a 0a44 7261 7761 626c names...Drawabl\n+00001440: 6573 0a0a 2a20 446f 7473 3a3a 2020 2020 es..* Dots:: \n+00001450: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00001460: 2020 2020 4472 6177 2064 6f74 732e 0a2a Draw dots..*\n+00001470: 204c 696e 6573 3a3a 2020 2020 2020 2020 Lines:: \n+00001480: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+00001490: 7261 7720 706f 6c79 6c69 6e65 732e 0a2a raw polylines..*\n+000014a0: 2043 7572 7665 733a 3a20 2020 2020 2020 Curves:: \n+000014b0: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+000014c0: 7261 7720 6375 7276 6573 2e0a 2a20 506f raw curves..* Po\n+000014d0: 6c79 676f 6e73 3a3a 2020 2020 2020 2020 lygons:: \n+000014e0: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n+000014f0: 2070 6f6c 7967 6f6e 732e 0a2a 2053 7065 polygons..* Spe\n+00001500: 6369 616c 733a 3a20 2020 2020 2020 2020 cials:: \n+00001510: 2020 2020 2020 2020 2020 2045 6d62 6564 Embed\n+00001520: 2072 6177 204c 6154 6558 2061 6e64 20e2 raw LaTeX and .\n+00001530: 8098 5053 5472 6963 6b73 e280 992e 0a2a ..PSTricks.....*\n+00001540: 2053 7765 6570 733a 3a20 2020 2020 2020 Sweeps:: \n+00001550: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+00001560: 7261 7720 7377 6565 7073 206f 6620 646f raw sweeps of do\n+00001570: 7473 2061 6e64 2070 6f6c 796c 696e 6573 ts and polylines\n+00001580: 2e0a 2a20 426c 6f63 6b73 3a3a 2020 2020 ..* Blocks:: \n+00001590: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000015a0: 2020 4772 6f75 7020 6f74 6865 7220 6472 Group other dr\n+000015b0: 6177 6162 6c65 732e 0a2a 2052 6570 6561 awables..* Repea\n+000015c0: 7473 3a3a 2020 2020 2020 2020 2020 2020 ts:: \n+000015d0: 2020 2020 2020 2020 2044 7261 7720 7472 Draw tr\n+000015e0: 616e 7366 6f72 6d65 6420 636f 7069 6573 ansformed copies\n+000015f0: 206f 6620 6f62 6a65 6374 732e 0a2a 2050 of objects..* P\n+00001600: 7574 733a 3a20 2020 2020 2020 2020 2020 uts:: \n+00001610: 2020 2020 2020 2020 2020 2020 2044 7261 Dra\n+00001620: 7720 6f6e 6520 6f62 6a65 6374 2074 7261 w one object tra\n+00001630: 6e73 666f 726d 6564 2e0a 0a53 7765 6570 nsformed...Sweep\n+00001640: 730a 0a2a 2053 7765 7074 2070 6f69 6e74 s..* Swept point\n+00001650: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+00001660: 2020 2053 7765 7074 2070 6f69 6e74 7320 Swept points \n+00001670: 6d61 6b65 206c 696e 6573 206f 7220 706f make lines or po\n+00001680: 6c79 676f 6e73 2e0a 2a20 5377 6570 7420 lygons..* Swept \n+00001690: 6c69 6e65 733a 3a20 2020 2020 2020 2020 lines:: \n+000016a0: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li\n+000016b0: 6e65 7320 6d61 6b65 206f 7065 6e20 6f72 nes make open or\n+000016c0: 2063 6c6f 7365 6420 7375 7266 6163 6573 closed surfaces\n+000016d0: 2e0a 2a20 5377 6570 7420 706f 6c79 676f ..* Swept polygo\n+000016e0: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: \n+000016f0: 2020 5377 6570 7420 706f 6c79 676f 6e73 Swept polygons\n+00001700: 206d 616b 6520 636c 6f73 6564 2073 7572 make closed sur\n+00001710: 6661 6365 732e 0a2a 2053 7765 7074 2062 faces..* Swept b\n+00001720: 6c6f 636b 733a 3a20 2020 2020 2020 2020 locks:: \n+00001730: 2020 2020 2020 2053 7765 7074 2062 6c6f Swept blo\n+00001740: 636b 20e2 89a1 2062 6c6f 636b 206f 6620 ck ... block of \n+00001750: 7377 6565 7073 2e0a 2a20 5377 6565 7020 sweeps..* Sweep \n+00001760: 6661 6365 2073 706c 6974 7469 6e67 3a3a face splitting::\n+00001770: 2020 2020 2020 2020 4669 7869 6e67 2077 Fixing w\n+00001780: 6172 7065 6420 6661 6365 7320 7769 7468 arped faces with\n+00001790: 2074 7269 616e 676c 6573 2e0a 0a44 6566 triangles...Def\n+000017a0: 696e 6974 696f 6e73 0a0a 2a20 466f 726d initions..* Form\n+000017b0: 7320 6f66 2064 6566 696e 6974 696f 6e73 s of definitions\n+000017c0: 3a3a 2020 2020 2020 2020 4469 6666 6572 :: Differ\n+000017d0: 656e 7420 6465 6673 2066 6f72 2064 6966 ent defs for dif\n+000017e0: 6665 7265 6e74 2070 7572 706f 7365 732e ferent purposes.\n+000017f0: 0a2a 2046 6f72 6d73 206f 6620 7265 6665 .* Forms of refe\n+00001800: 7265 6e63 6573 3a3a 2020 2020 2020 2020 rences:: \n+00001810: 2048 6f77 2072 6566 6572 656e 6365 7320 How references \n+00001820: 6465 6e6f 7465 2074 7970 6573 2e0a 0a47 denote types...G\n+00001830: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen\n+00001840: 740a 0a2a 2047 6c6f 6261 6c20 6f70 7469 t..* Global opti\n+00001850: 6f6e 733a 3a20 2020 2020 2020 2020 2020 ons:: \n+00001860: 2020 2041 7474 7269 6275 7465 7320 6f66 Attributes of\n+00001870: 2074 6865 2065 6e74 6972 6520 6472 6177 the entire draw\n+00001880: 696e 672e 0a2a 2043 616d 6572 613a 3a20 ing..* Camera:: \n+00001890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000018a0: 2020 2020 2041 2066 696e 616c 2063 616d A final cam\n+000018b0: 6572 6120 7472 616e 7366 6f72 6d61 7469 era transformati\n+000018c0: 6f6e 206f 6620 7468 6520 7363 656e 652e on of the scene.\n+000018d0: 0a2a 2050 6963 7475 7265 2062 6f78 3a3a .* Picture box::\n+000018e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000018f0: 2053 6574 7469 6e67 2074 6865 2062 6f75 Setting the bou\n+00001900: 6e64 696e 6720 626f 7820 616e 6420 3264 nding box and 2d\n+00001910: 2063 6c69 7070 696e 672e 0a2a 2046 7261 clipping..* Fra\n+00001920: 6d65 3a3a 2020 2020 2020 2020 2020 2020 me:: \n+00001930: 2020 2020 2020 2020 2020 2041 6464 696e Addin\n+00001940: 6720 6120 626f 7820 6172 6f75 6e64 2074 g a box around t\n+00001950: 6865 2064 7261 7769 6e67 2e0a 2a20 4c61 he drawing..* La\n+00001960: 6e67 7561 6765 3a3a 2020 2020 2020 2020 nguage:: \n+00001970: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n+00001980: 696e 6720 7468 6520 6f75 7470 7574 206c ing the output l\n+00001990: 616e 6775 6167 652e 0a0a 4275 696c 6469 anguage...Buildi\n+000019a0: 6e67 2061 2064 7261 7769 6e67 0a0a 2a20 ng a drawing..* \n+000019b0: 4f76 6572 7669 6577 3a3a 2020 2020 2020 Overview:: \n+000019c0: 2020 2020 2020 2020 2020 2020 2020 4275 Bu\n+000019d0: 696c 6469 6e67 2061 2073 7562 7374 616e ilding a substan\n+000019e0: 7469 616c 2064 7261 7769 6e67 2e0a 2a20 tial drawing..* \n+000019f0: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n+00001a00: 696e 673a 3a20 2020 2020 2020 2020 416e ing:: An\n+00001a10: 2065 7861 6d70 6c65 2077 6974 6820 6669 example with fi\n+00001a20: 6e65 2070 6c61 6365 6d65 6e74 2e0a 2a20 ne placement..* \n+00001a30: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m\n+00001a40: 6f64 656c 3a3a 2020 2020 2020 2020 416e odel:: An\n+00001a50: 2065 7861 6d70 6c65 2077 6974 6820 7377 example with sw\n+00001a60: 6565 7073 2061 6e64 2070 7574 732e 0a2a eeps and puts..*\n+00001a70: 2043 6176 6561 7473 3a3a 2020 2020 2020 Caveats:: \n+00001a80: 2020 2020 2020 2020 2020 2020 2020 2057 W\n+00001a90: 6865 7265 2074 726f 7562 6c65 2063 616e here trouble can\n+00001aa0: 206f 6363 7572 2e0a 0a43 6176 6561 7473 occur...Caveats\n+00001ab0: 0a0a 2a20 4c69 6d69 7473 206f 6e20 6572 ..* Limits on er\n+00001ac0: 726f 7220 6465 7465 6374 696f 6e3a 3a20 ror detection:: \n+00001ad0: 2020 5768 6174 2073 6b65 7463 6820 646f What sketch do\n+00001ae0: 6573 6e27 7420 646f 2e0a 2a20 436c 6970 esn't do..* Clip\n+00001af0: 7069 6e67 3a3a 2020 2020 2020 2020 2020 ping:: \n+00001b00: 2020 2020 2020 2020 2020 4e6f 2063 6c69 No cli\n+00001b10: 7070 696e 6720 6174 2070 7265 7365 6e74 pping at present\n+00001b20: 2e0a 2a20 4869 6464 656e 2073 7572 6661 ..* Hidden surfa\n+00001b30: 6365 2072 656d 6f76 616c 3a3a 2020 2020 ce removal:: \n+00001b40: 2020 496d 7065 7266 6563 7469 6f6e 7320 Imperfections \n+00001b50: 746f 2066 6978 2e0a 0a48 6964 6465 6e20 to fix...Hidden \n+00001b60: 7375 7266 6163 6520 7265 6d6f 7661 6c20 surface removal \n+00001b70: 616e 6420 706f 6c79 676f 6e20 7370 6c69 and polygon spli\n+00001b80: 7474 696e 670a 0a2a 2053 7461 7469 7374 tting..* Statist\n+00001b90: 6963 733a 3a20 2020 2020 2020 2020 2020 ics:: \n+00001ba0: 2020 2020 2020 2050 6572 666f 726d 616e Performan\n+00001bb0: 6365 206e 756d 6265 7273 206f 6e20 6465 ce numbers on de\n+00001bc0: 7074 6820 736f 7274 2e0a 2a20 4275 6773 pth sort..* Bugs\n+00001bd0: 2061 6e64 2061 6e6f 6d61 6c69 6573 3a3a and anomalies::\n+00001be0: 2020 2020 2020 2020 2020 496d 7065 7266 Imperf\n+00001bf0: 6563 7469 6f6e 7320 696e 2074 6869 7320 ections in this \n+00001c00: 696d 706c 656d 656e 7461 7469 6f6e 2e0a implementation..\n+00001c10: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+00001c20: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4162 .info, Node: Ab\n+00001c30: 6f75 7420 736b 6574 6368 2c20 204e 6578 out sketch, Nex\n+00001c40: 743a 2049 6e74 726f 6475 6374 696f 6e20 t: Introduction \n+00001c50: 6279 2065 7861 6d70 6c65 2c20 2050 7265 by example, Pre\n+00001c60: 763a 2054 6f70 2c20 2055 703a 2054 6f70 v: Top, Up: Top\n+00001c70: 0a0a 3120 4162 6f75 7420 736b 6574 6368 ..1 About sketch\n+00001c80: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a .**************.\n+00001c90: 0a2a 204d 656e 753a 0a0a 2a20 5265 706f .* Menu:..* Repo\n+00001ca0: 7274 696e 6720 6275 6773 3a3a 2020 2020 rting bugs:: \n+00001cb0: 2020 2020 2020 2020 2020 4c65 7420 7573 Let us\n+00001cc0: 6520 6b6e 6f77 2077 6861 7427 7320 7772 e know what's wr\n+00001cd0: 6f6e 6721 0a2a 2043 6f6e 7472 6962 7574 ong!.* Contribut\n+00001ce0: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: \n+00001cf0: 2020 2020 2048 6f77 2079 6f75 2063 616e How you can\n+00001d00: 2068 656c 702e 2e2e 2e0a 0ae2 8098 536b help.........Sk\n+00001d10: 6574 6368 e280 9920 6973 2061 2073 6d61 etch... is a sma\n+00001d20: 6c6c 2c20 7369 6d70 6c65 2073 7973 7465 ll, simple syste\n+00001d30: 6d20 666f 7220 7072 6f64 7563 696e 6720 m for producing \n+00001d40: 6c69 6e65 2064 7261 7769 6e67 7320 6f66 line drawings of\n+00001d50: 2074 776f 2d0a 6f72 2074 6872 6565 2d64 two-.or three-d\n+00001d60: 696d 656e 7369 6f6e 616c 206f 626a 6563 imensional objec\n+00001d70: 7473 2061 6e64 2073 6365 6e65 732e 2020 ts and scenes. \n+00001d80: 4974 2062 6567 616e 2061 7320 6120 7761 It began as a wa\n+00001d90: 7920 746f 206d 616b 650a 696c 6c75 7374 y to make.illust\n+00001da0: 7261 7469 6f6e 7320 666f 7220 6120 7465 rations for a te\n+00001db0: 7874 626f 6f6b 2061 6674 6572 2077 6520 xtbook after we \n+00001dc0: 636f 756c 6420 6669 6e64 206e 6f20 7375 could find no su\n+00001dd0: 6974 6162 6c65 2074 6f6f 6c20 666f 720a itable tool for.\n+00001de0: 7468 6973 2070 7572 706f 7365 2e20 2045 this purpose. E\n+00001df0: 7869 7374 696e 6720 7363 656e 6520 7072 xisting scene pr\n+00001e00: 6f63 6573 736f 7273 2065 6d70 6861 7369 ocessors emphasi\n+00001e10: 7a65 6420 4755 4973 2061 6e64 2f6f 720a zed GUIs and/or.\n+00001e20: 7068 6f74 6f2d 7265 616c 6973 6d2c 2062 photo-realism, b\n+00001e30: 6f74 6820 756e 2d75 7365 6675 6c20 746f oth un-useful to\n+00001e40: 2075 732e 2020 5765 2077 616e 7465 6420 us. We wanted \n+00001e50: 746f 2070 726f 6475 6365 2066 696e 656c to produce finel\n+00001e60: 790a 7772 6f75 6768 742c 206d 6174 6865 y.wrought, mathe\n+00001e70: 6d61 7469 6361 6c6c 792d 6261 7365 6420 matically-based \n+00001e80: 696c 6c75 7374 7261 7469 6f6e 7320 7769 illustrations wi\n+00001e90: 7468 206e 6f20 6578 7472 616e 656f 7573 th no extraneous\n+00001ea0: 2064 6574 6169 6c2e 0a0a 2020 20e2 8098 detail... ...\n+00001eb0: 536b 6574 6368 e280 9920 6163 6365 7074 Sketch... accept\n+00001ec0: 7320 6120 7469 6e79 2073 6365 6e65 2064 s a tiny scene d\n+00001ed0: 6573 6372 6970 7469 6f6e 206c 616e 6775 escription langu\n+00001ee0: 6167 6520 616e 6420 6765 6e65 7261 7465 age and generate\n+00001ef0: 730a e280 9850 5354 7269 636b 73e2 8099 s....PSTricks...\n+00001f00: 206f 7220 e280 9854 696b 5a2f 5047 46e2 or ...TikZ/PGF.\n+00001f10: 8099 2063 6f64 6520 666f 7220 4c61 5465 .. code for LaTe\n+00001f20: 582e 2020 5468 6520 e280 9873 6b65 7463 X. The ...sketc\n+00001f30: 68e2 8099 206c 616e 6775 6167 6520 6973 h... language is\n+00001f40: 0a73 696d 696c 6172 2074 6f20 e280 9850 .similar to ...P\n+00001f50: 5354 7269 636b 73e2 8099 2c20 6d61 6b69 STricks..., maki\n+00001f60: 6e67 2069 7420 6561 7379 2074 6f20 6c65 ng it easy to le\n+00001f70: 6172 6e20 666f 7220 6375 7272 656e 7420 arn for current \n+00001f80: e280 9850 5354 7269 636b 73e2 8099 0a75 ...PSTricks....u\n+00001f90: 7365 7273 2e20 2053 6565 2077 7777 2e70 sers. See www.p\n+00001fa0: 7374 7269 636b 732e 6465 2066 6f72 2069 stricks.de for i\n+00001fb0: 6e66 6f72 6d61 7469 6f6e 206f 6e20 e280 nformation on ..\n+00001fc0: 9850 5354 7269 636b 73e2 8099 2e20 20e2 .PSTricks.... .\n+00001fd0: 8098 5469 6b5a 2f50 4746 e280 990a 6973 ..TikZ/PGF....is\n+00001fe0: 2073 696d 696c 6172 2e20 2053 6565 2068 similar. See h\n+00001ff0: 7474 703a 2f2f 736f 7572 6365 666f 7267 ttp://sourceforg\n+00002000: 652e 6e65 742f 7072 6f6a 6563 7473 2f70 e.net/projects/p\n+00002010: 6766 2e20 204f 6e65 2063 616e 2065 6173 gf. One can eas\n+00002020: 696c 790a 696e 636c 7564 6520 6172 6269 ily.include arbi\n+00002030: 7472 6172 7920 e280 9850 5354 7269 636b trary ...PSTrick\n+00002040: 73e2 8099 206f 7220 e280 9854 696b 5a2f s... or ...TikZ/\n+00002050: 5047 46e2 8099 2064 7261 7769 6e67 7320 PGF... drawings \n+00002060: 616e 6420 7465 7874 206f 7665 722c 2069 and text over, i\n+00002070: 6e2c 0a6f 7220 756e 6465 7220 e280 9873 n,.or under ...s\n+00002080: 6b65 7463 68e2 8099 2064 7261 7769 6e67 ketch... drawing\n+00002090: 732c 2070 726f 7669 6469 6e67 2061 6363 s, providing acc\n+000020a0: 6573 7320 746f 2074 6865 2066 756c 6c20 ess to the full \n+000020b0: 706f 7765 7220 6f66 204c 6154 6558 0a74 power of LaTeX.t\n+000020c0: 6578 7420 616e 6420 6d61 7468 656d 6174 ext and mathemat\n+000020d0: 6963 7320 666f 726d 6174 7469 6e67 2069 ics formatting i\n+000020e0: 6e20 6120 7468 7265 652d 6469 6d65 6e73 n a three-dimens\n+000020f0: 696f 6e61 6c20 7365 7474 696e 672e 0a0a ional setting...\n+00002100: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+00002110: 6e66 6f2c 2020 4e6f 6465 3a20 5265 706f nfo, Node: Repo\n+00002120: 7274 696e 6720 6275 6773 2c20 204e 6578 rting bugs, Nex\n+00002130: 743a 2043 6f6e 7472 6962 7574 696f 6e73 t: Contributions\n+00002140: 2c20 2050 7265 763a 2041 626f 7574 2073 , Prev: About s\n+00002150: 6b65 7463 682c 2020 5570 3a20 4162 6f75 ketch, Up: Abou\n+00002160: 7420 736b 6574 6368 0a0a 312e 3120 5265 t sketch..1.1 Re\n+00002170: 706f 7274 696e 6720 6275 6773 2061 6e64 porting bugs and\n+00002180: 2072 6563 6f6d 6d65 6e64 696e 6720 696d recommending im\n+00002190: 7072 6f76 656d 656e 7473 2e0a 3d3d 3d3d provements..====\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 3d3d ================\n-000021d0: 3d3d 3d0a 0a54 6865 2067 726f 7570 2068 ===..The group h\n-000021e0: 7474 703a 2f2f 6772 6f75 7073 2e67 6f6f ttp://groups.goo\n-000021f0: 676c 652e 636f 6d2f 6772 6f75 702f 736b gle.com/group/sk\n-00002200: 6574 6368 2d75 7365 7273 2069 7320 7468 etch-users is th\n-00002210: 6520 6265 7374 2070 6c61 6365 0a74 6f20 e best place.to \n-00002220: 7265 706f 7274 2062 7567 7320 616e 6420 report bugs and \n-00002230: 6d61 6b65 2069 6d70 726f 7665 6d65 6e74 make improvement\n-00002240: 732e 2020 4120 7365 636f 6e64 206d 6574 s. A second met\n-00002250: 686f 6420 7468 6174 2077 696c 6c0a 7072 hod that will.pr\n-00002260: 6f62 6162 6c79 2070 726f 6475 6365 2061 obably produce a\n-00002270: 2073 6c6f 7765 7220 7265 7370 6f6e 7365 slower response\n-00002280: 2069 7320 656d 6169 6c20 746f 2073 6b65 is email to ske\n-00002290: 7463 6840 6672 6f6e 7469 6572 6e65 742e tch@frontiernet.\n-000022a0: 6e65 742e 0a57 6520 7769 6c6c 2074 7279 net..We will try\n-000022b0: 2074 6f20 7265 7370 6f6e 642c 2062 7574 to respond, but\n-000022c0: 2063 616e 2774 2070 726f 6d69 7365 2e20 can't promise. \n-000022d0: 2049 6e20 616e 7920 6576 656e 742c 2064 In any event, d\n-000022e0: 6f6e 2774 2062 650a 6f66 6665 6e64 6564 on't be.offended\n-000022f0: 2069 6620 6120 7265 706c 7920 6973 206e if a reply is n\n-00002300: 6f74 2066 6f72 7468 636f 6d69 6e67 2e20 ot forthcoming. \n-00002310: 2057 6527 7265 206a 7573 7420 6275 7379 We're just busy\n-00002320: 2061 6e64 2077 696c 6c20 6765 7420 746f and will get to\n-00002330: 0a79 6f75 7220 7375 6767 6573 7469 6f6e .your suggestion\n-00002340: 2065 7665 6e74 7561 6c6c 792e 0a0a 2020 eventually... \n-00002350: 2046 6f72 2062 7567 732c 2061 7474 6163 For bugs, attac\n-00002360: 6820 6120 e280 9873 6b65 7463 68e2 8099 h a ...sketch...\n-00002370: 2069 6e70 7574 2066 696c 6520 7468 6174 input file that\n-00002380: 2063 6175 7365 7320 7468 6520 6261 6420 causes the bad \n-00002390: 6265 6861 7669 6f72 2e0a 456d 6265 6420 behavior..Embed \n-000023a0: 636f 6d6d 656e 7473 2074 6861 7420 6578 comments that ex\n-000023b0: 706c 6169 6e20 7768 6174 2074 6f20 6c6f plain what to lo\n-000023c0: 6f6b 2066 6f72 2069 6e20 7468 6520 6265 ok for in the be\n-000023d0: 6861 7669 6f72 206f 6620 e280 9873 6b65 havior of ...ske\n-000023e0: 7463 68e2 8099 0a6f 7220 6974 7320 6f75 tch....or its ou\n-000023f0: 7470 7574 2e0a 0a20 2020 4120 7265 636f tput... A reco\n-00002400: 6d6d 656e 6461 7469 6f6e 2066 6f72 2069 mmendation for i\n-00002410: 6d70 726f 7665 6d65 6e74 2066 726f 6d20 mprovement from \n-00002420: 6f6e 6520 756e 6b6e 6f77 6e20 7065 7273 one unknown pers\n-00002430: 6f6e 2063 6f75 6e74 7320 6173 0a6f 6e65 on counts as.one\n-00002440: 2076 6f74 652e 2020 5765 2075 7365 206f vote. We use o\n-00002450: 7665 7261 6c6c 2076 6f74 6520 7461 6c6c verall vote tall\n-00002460: 6965 7320 746f 2064 6563 6964 6520 7768 ies to decide wh\n-00002470: 6174 2074 6f20 646f 206e 6578 7420 6173 at to do next as\n-00002480: 0a72 6573 6f75 7263 6573 2070 6572 6d69 .resources permi\n-00002490: 742e 2020 5765 2072 6573 6572 7665 2074 t. We reserve t\n-000024a0: 6865 2072 6967 6874 2074 6f20 6173 7369 he right to assi\n-000024b0: 676e 2061 6e79 206e 756d 6265 7220 6f66 gn any number of\n-000024c0: 2076 6f74 6573 2074 6f0a 7375 6767 6573 votes to.sugges\n-000024d0: 7469 6f6e 7320 6672 6f6d 2070 656f 706c tions from peopl\n-000024e0: 6520 7768 6f20 6861 7665 2062 6565 6e20 e who have been \n-000024f0: 6865 6c70 6675 6c20 616e 6420 7375 7070 helpful and supp\n-00002500: 6f72 7469 7665 2069 6e20 7468 650a 7061 ortive in the.pa\n-00002510: 7374 2e0a 0a1f 0a46 696c 653a 2073 6b65 st.....File: ske\n-00002520: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n-00002530: 2043 6f6e 7472 6962 7574 696f 6e73 2c20 Contributions, \n-00002540: 2050 7265 763a 2052 6570 6f72 7469 6e67 Prev: Reporting\n-00002550: 2062 7567 732c 2020 5570 3a20 4162 6f75 bugs, Up: Abou\n-00002560: 7420 736b 6574 6368 0a0a 312e 3220 436f t sketch..1.2 Co\n-00002570: 6e74 7269 6275 7469 6f6e 730a 3d3d 3d3d ntributions.====\n-00002580: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a49 =============..I\n-00002590: 6620 796f 7520 696e 7465 6e64 2074 6f20 f you intend to \n-000025a0: 696d 706c 656d 656e 7420 616e 2065 6e68 implement an enh\n-000025b0: 616e 6365 6d65 6e74 206f 6620 796f 7572 ancement of your\n-000025c0: 206f 776e 2c20 7468 6174 2773 2074 6572 own, that's ter\n-000025d0: 7269 6669 6321 0a43 6f6e 7369 6465 7220 rific!.Consider \n-000025e0: 636f 6c6c 6162 6f72 6174 696e 6720 7769 collaborating wi\n-000025f0: 7468 2075 7320 6669 7273 7420 746f 2073 th us first to s\n-00002600: 6565 2069 6620 7765 2772 6520 616c 7265 ee if we're alre\n-00002610: 6164 7920 776f 726b 696e 6720 6f6e 0a79 ady working on.y\n-00002620: 6f75 7220 6964 6561 206f 7220 6966 2077 our idea or if w\n-00002630: 6520 6361 6e20 7573 6520 796f 7572 2077 e can use your w\n-00002640: 6f72 6b20 696e 2074 6865 206f 6666 6963 ork in the offic\n-00002650: 6961 6c20 7265 6c65 6173 652e 0a0a 0008 ial release.....\n-00002660: 5b69 6d61 6765 2073 7263 3d22 6578 3030 [image src=\"ex00\n-00002670: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png\" text=\"Ima\n-00002680: 6765 2065 7830 3030 206f 6d69 7474 6564 ge ex000 omitted\n-00002690: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n-000026a0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n-000026b0: 742e 2200 085d 0a0a 1f0a 4669 6c65 3a20 t.\"..]....File: \n-000026c0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-000026d0: 6465 3a20 496e 7472 6f64 7563 7469 6f6e de: Introduction\n-000026e0: 2062 7920 6578 616d 706c 652c 2020 4e65 by example, Ne\n-000026f0: 7874 3a20 496e 7075 7420 6c61 6e67 7561 xt: Input langua\n-00002700: 6765 2c20 2050 7265 763a 2041 626f 7574 ge, Prev: About\n-00002710: 2073 6b65 7463 682c 2020 5570 3a20 546f sketch, Up: To\n-00002720: 700a 0a32 2049 6e74 726f 6475 6374 696f p..2 Introductio\n-00002730: 6e20 6279 2065 7861 6d70 6c65 0a2a 2a2a n by example.***\n+000021c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a54 =============..T\n+000021d0: 6865 2067 726f 7570 2068 7474 703a 2f2f he group http://\n+000021e0: 6772 6f75 7073 2e67 6f6f 676c 652e 636f groups.google.co\n+000021f0: 6d2f 6772 6f75 702f 736b 6574 6368 2d75 m/group/sketch-u\n+00002200: 7365 7273 2069 7320 7468 6520 6265 7374 sers is the best\n+00002210: 2070 6c61 6365 0a74 6f20 7265 706f 7274 place.to report\n+00002220: 2062 7567 7320 616e 6420 6d61 6b65 2069 bugs and make i\n+00002230: 6d70 726f 7665 6d65 6e74 732e 2020 4120 mprovements. A \n+00002240: 7365 636f 6e64 206d 6574 686f 6420 7468 second method th\n+00002250: 6174 2077 696c 6c0a 7072 6f62 6162 6c79 at will.probably\n+00002260: 2070 726f 6475 6365 2061 2073 6c6f 7765 produce a slowe\n+00002270: 7220 7265 7370 6f6e 7365 2069 7320 656d r response is em\n+00002280: 6169 6c20 746f 2073 6b65 7463 6840 6672 ail to sketch@fr\n+00002290: 6f6e 7469 6572 6e65 742e 6e65 742e 0a57 ontiernet.net..W\n+000022a0: 6520 7769 6c6c 2074 7279 2074 6f20 7265 e will try to re\n+000022b0: 7370 6f6e 642c 2062 7574 2063 616e 2774 spond, but can't\n+000022c0: 2070 726f 6d69 7365 2e20 2049 6e20 616e promise. In an\n+000022d0: 7920 6576 656e 742c 2064 6f6e 2774 2062 y event, don't b\n+000022e0: 650a 6f66 6665 6e64 6564 2069 6620 6120 e.offended if a \n+000022f0: 7265 706c 7920 6973 206e 6f74 2066 6f72 reply is not for\n+00002300: 7468 636f 6d69 6e67 2e20 2057 6527 7265 thcoming. We're\n+00002310: 206a 7573 7420 6275 7379 2061 6e64 2077 just busy and w\n+00002320: 696c 6c20 6765 7420 746f 0a79 6f75 7220 ill get to.your \n+00002330: 7375 6767 6573 7469 6f6e 2065 7665 6e74 suggestion event\n+00002340: 7561 6c6c 792e 0a0a 2020 2046 6f72 2062 ually... For b\n+00002350: 7567 732c 2061 7474 6163 6820 6120 e280 ugs, attach a ..\n+00002360: 9873 6b65 7463 68e2 8099 2069 6e70 7574 .sketch... input\n+00002370: 2066 696c 6520 7468 6174 2063 6175 7365 file that cause\n+00002380: 7320 7468 6520 6261 6420 6265 6861 7669 s the bad behavi\n+00002390: 6f72 2e0a 456d 6265 6420 636f 6d6d 656e or..Embed commen\n+000023a0: 7473 2074 6861 7420 6578 706c 6169 6e20 ts that explain \n+000023b0: 7768 6174 2074 6f20 6c6f 6f6b 2066 6f72 what to look for\n+000023c0: 2069 6e20 7468 6520 6265 6861 7669 6f72 in the behavior\n+000023d0: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch...\n+000023e0: 0a6f 7220 6974 7320 6f75 7470 7574 2e0a .or its output..\n+000023f0: 0a20 2020 4120 7265 636f 6d6d 656e 6461 . A recommenda\n+00002400: 7469 6f6e 2066 6f72 2069 6d70 726f 7665 tion for improve\n+00002410: 6d65 6e74 2066 726f 6d20 6f6e 6520 756e ment from one un\n+00002420: 6b6e 6f77 6e20 7065 7273 6f6e 2063 6f75 known person cou\n+00002430: 6e74 7320 6173 0a6f 6e65 2076 6f74 652e nts as.one vote.\n+00002440: 2020 5765 2075 7365 206f 7665 7261 6c6c We use overall\n+00002450: 2076 6f74 6520 7461 6c6c 6965 7320 746f vote tallies to\n+00002460: 2064 6563 6964 6520 7768 6174 2074 6f20 decide what to \n+00002470: 646f 206e 6578 7420 6173 0a72 6573 6f75 do next as.resou\n+00002480: 7263 6573 2070 6572 6d69 742e 2020 5765 rces permit. We\n+00002490: 2072 6573 6572 7665 2074 6865 2072 6967 reserve the rig\n+000024a0: 6874 2074 6f20 6173 7369 676e 2061 6e79 ht to assign any\n+000024b0: 206e 756d 6265 7220 6f66 2076 6f74 6573 number of votes\n+000024c0: 2074 6f0a 7375 6767 6573 7469 6f6e 7320 to.suggestions \n+000024d0: 6672 6f6d 2070 656f 706c 6520 7768 6f20 from people who \n+000024e0: 6861 7665 2062 6565 6e20 6865 6c70 6675 have been helpfu\n+000024f0: 6c20 616e 6420 7375 7070 6f72 7469 7665 l and supportive\n+00002500: 2069 6e20 7468 650a 7061 7374 2e0a 0a1f in the.past....\n+00002510: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n+00002520: 666f 2c20 204e 6f64 653a 2043 6f6e 7472 fo, Node: Contr\n+00002530: 6962 7574 696f 6e73 2c20 2050 7265 763a ibutions, Prev:\n+00002540: 2052 6570 6f72 7469 6e67 2062 7567 732c Reporting bugs,\n+00002550: 2020 5570 3a20 4162 6f75 7420 736b 6574 Up: About sket\n+00002560: 6368 0a0a 312e 3220 436f 6e74 7269 6275 ch..1.2 Contribu\n+00002570: 7469 6f6e 730a 3d3d 3d3d 3d3d 3d3d 3d3d tions.==========\n+00002580: 3d3d 3d3d 3d3d 3d0a 0a49 6620 796f 7520 =======..If you \n+00002590: 696e 7465 6e64 2074 6f20 696d 706c 656d intend to implem\n+000025a0: 656e 7420 616e 2065 6e68 616e 6365 6d65 ent an enhanceme\n+000025b0: 6e74 206f 6620 796f 7572 206f 776e 2c20 nt of your own, \n+000025c0: 7468 6174 2773 2074 6572 7269 6669 6321 that's terrific!\n+000025d0: 0a43 6f6e 7369 6465 7220 636f 6c6c 6162 .Consider collab\n+000025e0: 6f72 6174 696e 6720 7769 7468 2075 7320 orating with us \n+000025f0: 6669 7273 7420 746f 2073 6565 2069 6620 first to see if \n+00002600: 7765 2772 6520 616c 7265 6164 7920 776f we're already wo\n+00002610: 726b 696e 6720 6f6e 0a79 6f75 7220 6964 rking on.your id\n+00002620: 6561 206f 7220 6966 2077 6520 6361 6e20 ea or if we can \n+00002630: 7573 6520 796f 7572 2077 6f72 6b20 696e use your work in\n+00002640: 2074 6865 206f 6666 6963 6961 6c20 7265 the official re\n+00002650: 6c65 6173 652e 0a0a 0008 5b69 6d61 6765 lease.....[image\n+00002660: 2073 7263 3d22 6578 3030 302e 706e 6722 src=\"ex000.png\"\n+00002670: 2074 6578 743d 2249 6d61 6765 2065 7830 text=\"Image ex0\n+00002680: 3030 206f 6d69 7474 6564 2069 6e20 7465 00 omitted in te\n+00002690: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th\n+000026a0: 6973 2064 6f63 756d 656e 742e 2200 085d is document.\"..]\n+000026b0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+000026c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 496e .info, Node: In\n+000026d0: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex\n+000026e0: 616d 706c 652c 2020 4e65 7874 3a20 496e ample, Next: In\n+000026f0: 7075 7420 6c61 6e67 7561 6765 2c20 2050 put language, P\n+00002700: 7265 763a 2041 626f 7574 2073 6b65 7463 rev: About sketc\n+00002710: 682c 2020 5570 3a20 546f 700a 0a32 2049 h, Up: Top..2 I\n+00002720: 6e74 726f 6475 6374 696f 6e20 6279 2065 ntroduction by e\n+00002730: 7861 6d70 6c65 0a2a 2a2a 2a2a 2a2a 2a2a xample.*********\n 00002740: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-00002750: 2a2a 2a2a 2a2a 0a0a 5468 6520 e280 9873 ******..The ...s\n-00002760: 6b65 7463 68e2 8099 2069 6e70 7574 206c ketch... input l\n-00002770: 616e 6775 6167 6520 7769 6c6c 2073 6565 anguage will see\n-00002780: 6d20 6661 6d69 6c69 6172 2074 6f20 7573 m familiar to us\n-00002790: 6572 7320 6f66 2074 6865 0ae2 8098 5053 ers of the....PS\n-000027a0: 5472 6963 6b73 e280 9920 7061 636b 6167 Tricks... packag\n-000027b0: 6520 666f 7220 4c61 5465 582e 2020 5468 e for LaTeX. Th\n-000027c0: 6520 666f 6c6c 6f77 696e 6720 7072 6f67 e following prog\n-000027d0: 7261 6d20 6472 6177 7320 6120 7472 6961 ram draws a tria\n-000027e0: 6e67 756c 6172 0a70 6f6c 7967 6f6e 2070 ngular.polygon p\n-000027f0: 6965 7263 6564 2062 7920 6120 6c69 6e65 ierced by a line\n-00002800: 2e0a 2020 706f 6c79 676f 6e28 302c 302c .. polygon(0,0,\n-00002810: 3129 2831 2c30 2c30 2928 302c 312c 3029 1)(1,0,0)(0,1,0)\n-00002820: 0a20 206c 696e 6528 2d31 2c2d 312c 2d31 . line(-1,-1,-1\n-00002830: 2928 322c 322c 3229 0a54 6865 2063 6f6f )(2,2,2).The coo\n-00002840: 7264 696e 6174 6520 7379 7374 656d 2069 rdinate system i\n-00002850: 7320 6120 7374 616e 6461 7264 2072 6967 s a standard rig\n-00002860: 6874 2d68 616e 6465 6420 4361 7274 6573 ht-handed Cartes\n-00002870: 6961 6e20 6f6e 652e 0a0a 0008 5b69 6d61 ian one.....[ima\n-00002880: 6765 2073 7263 3d22 6578 3031 302e 706e ge src=\"ex010.pn\n-00002890: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n-000028a0: 7830 3130 206f 6d69 7474 6564 2069 6e20 x010 omitted in \n-000028b0: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n-000028c0: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n-000028d0: 085d 0a0a 2a20 4d65 6e75 3a0a 0a2a 2048 .]..* Menu:..* H\n-000028e0: 656c 6c6f 2077 6f72 6c64 3a3a 2020 2020 ello world:: \n-000028f0: 2020 2020 2020 2020 2020 2020 2053 696d Sim\n-00002900: 706c 6573 7420 706f 7373 6962 6c65 20e2 plest possible .\n-00002910: 8098 736b 6574 6368 e280 9920 7072 6f67 ..sketch... prog\n-00002920: 7261 6d2e 0a2a 2044 7261 7769 6e67 206f ram..* Drawing o\n-00002930: 7074 696f 6e73 3a3a 2020 2020 2020 2020 ptions:: \n-00002940: 2020 2020 2043 6f6e 7472 6f6c 6c69 6e67 Controlling\n-00002950: 206f 626a 6563 7420 6170 7065 6172 616e object appearan\n-00002960: 6365 2e0a 2a20 4472 6177 696e 6720 6120 ce..* Drawing a \n-00002970: 736f 6c69 643a 3a20 2020 2020 2020 2020 solid:: \n-00002980: 2020 2020 4472 6177 696e 6720 616e 206f Drawing an o\n-00002990: 626a 6563 7420 7769 7468 2033 6420 6170 bject with 3d ap\n-000029a0: 7065 6172 616e 6365 2e0a 2a20 5370 6563 pearance..* Spec\n-000029b0: 6961 6c20 6f62 6a65 6374 733a 3a20 2020 ial objects:: \n-000029c0: 2020 2020 2020 2020 2020 4c61 7969 6e67 Laying\n-000029d0: 2054 6558 206f 7665 722c 2069 6e2c 206f TeX over, in, o\n-000029e0: 7220 756e 6465 7220 6472 6177 696e 6773 r under drawings\n-000029f0: 2e0a 2a20 4f62 6a65 6374 2074 7261 6e73 ..* Object trans\n-00002a00: 666f 726d 733a 3a20 2020 2020 2020 2020 forms:: \n-00002a10: 2020 526f 7461 7465 2c20 7472 616e 736c Rotate, transl\n-00002a20: 6174 652c 2073 6361 6c65 2c20 616e 6420 ate, scale, and \n-00002a30: 6f74 6865 7273 2e0a 2a20 5265 7065 6174 others..* Repeat\n-00002a40: 6564 206f 626a 6563 7473 3a3a 2020 2020 ed objects:: \n-00002a50: 2020 2020 2020 2020 4d61 6b69 6e67 2074 Making t\n-00002a60: 7261 6e73 666f 726d 6564 2063 6f70 6965 ransformed copie\n-00002a70: 732e 0a2a 2053 7765 7074 206f 626a 6563 s..* Swept objec\n-00002a80: 7473 3a3a 2020 2020 2020 2020 2020 2020 ts:: \n-00002a90: 2020 2053 7765 6570 696e 6720 6f62 6a65 Sweeping obje\n-00002aa0: 6374 7320 696e 2073 7061 6365 2074 6f20 cts in space to \n-00002ab0: 6d61 6b65 206e 6577 2073 6861 7065 732e make new shapes.\n-00002ac0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-00002ad0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4865 .info, Node: He\n-00002ae0: 6c6c 6f20 776f 726c 642c 2020 4e65 7874 llo world, Next\n-00002af0: 3a20 4472 6177 696e 6720 6f70 7469 6f6e : Drawing option\n-00002b00: 732c 2020 5072 6576 3a20 496e 7472 6f64 s, Prev: Introd\n-00002b10: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl\n-00002b20: 652c 2020 5570 3a20 496e 7472 6f64 7563 e, Up: Introduc\n-00002b30: 7469 6f6e 2062 7920 6578 616d 706c 650a tion by example.\n-00002b40: 0a32 2e31 2048 656c 6c6f 2077 6f72 6c64 .2.1 Hello world\n-00002b50: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d .===============\n-00002b60: 0a0a 5468 6520 e280 9873 6b65 7463 68e2 ..The ...sketch.\n-00002b70: 8099 2070 726f 6772 616d 2061 626f 7665 .. program above\n-00002b80: 2069 7320 6e65 6172 6c79 2074 6865 2073 is nearly the s\n-00002b90: 696d 706c 6573 7420 6f6e 6520 706f 7373 implest one poss\n-00002ba0: 6962 6c65 2c20 7468 650a 6571 7569 7661 ible, the.equiva\n-00002bb0: 6c65 6e74 206f 6620 6120 2268 656c 6c6f lent of a \"hello\n-00002bc0: 2077 6f72 6c64 2220 7072 6f67 7261 6d20 world\" program \n-00002bd0: 796f 7520 6d69 6768 7420 6669 6e64 2061 you might find a\n-00002be0: 7420 7468 6520 7374 6172 7420 6f66 2061 t the start of a\n-00002bf0: 0a70 726f 6772 616d 6d69 6e67 206c 616e .programming lan\n-00002c00: 6775 6167 6520 7465 7874 2e20 2049 6620 guage text. If \n-00002c10: 6974 2069 7320 7361 7665 6420 696e 2074 it is saved in t\n-00002c20: 6865 2066 696c 6520 e280 9873 696d 706c he file ...simpl\n-00002c30: 652e 736b e280 992c 2074 6865 6e0a 7468 e.sk..., then.th\n-00002c40: 6520 636f 6d6d 616e 640a 2020 736b 6574 e command. sket\n-00002c50: 6368 2073 696d 706c 652e 736b 202d 6f20 ch simple.sk -o \n-00002c60: 7369 6d70 6c65 2e74 6578 0a63 7265 6174 simple.tex.creat\n-00002c70: 6573 2061 2066 696c 6520 e280 9873 696d es a file ...sim\n-00002c80: 706c 652e 7465 78e2 8099 2063 6f6e 7461 ple.tex... conta\n-00002c90: 696e 696e 6720 e280 9850 5354 7269 636b ining ...PSTrick\n-00002ca0: 73e2 8099 2063 6f6d 6d61 6e64 7320 746f s... commands to\n-00002cb0: 2064 7261 7720 7468 6573 650a 6f62 6a65 draw these.obje\n-00002cc0: 6374 7320 6f6e 2070 6170 6572 2e20 2054 cts on paper. T\n-00002cd0: 6865 2063 6f6e 7465 6e74 7320 6f66 20e2 he contents of .\n-00002ce0: 8098 7369 6d70 6c65 2e74 6578 e280 9920 ..simple.tex... \n-00002cf0: 6c6f 6f6b 206c 696b 6520 7468 6973 2e0a look like this..\n-00002d00: 2020 5c62 6567 696e 7b70 7370 6963 7475 \\begin{pspictu\n-00002d10: 7265 7d28 2d31 2c2d 3129 2832 2c32 290a re}(-1,-1)(2,2).\n-00002d20: 2020 5c70 7374 5665 7262 7b31 2073 6574 \\pstVerb{1 set\n-00002d30: 6c69 6e65 6a6f 696e 7d0a 2020 5c70 736c linejoin}. \\psl\n-00002d40: 696e 6528 2d31 2c2d 3129 282e 3333 332c ine(-1,-1)(.333,\n-00002d50: 2e33 3333 290a 2020 5c70 7370 6f6c 7967 .333). \\pspolyg\n-00002d60: 6f6e 5b66 696c 6c73 7479 6c65 3d73 6f6c on[fillstyle=sol\n-00002d70: 6964 2c66 696c 6c63 6f6c 6f72 3d77 6869 id,fillcolor=whi\n-00002d80: 7465 5d28 302c 3029 2831 2c30 2928 302c te](0,0)(1,0)(0,\n-00002d90: 3129 0a20 205c 7073 6c69 6e65 282e 3333 1). \\psline(.33\n-00002da0: 332c 2e33 3333 2928 322c 3229 0a20 205c 3,.333)(2,2). \\\n-00002db0: 656e 647b 7073 7069 6374 7572 657d 0a54 end{pspicture}.T\n-00002dc0: 6865 2068 6964 6465 6e20 7375 7266 6163 he hidden surfac\n-00002dd0: 6520 616c 676f 7269 7468 6d20 6f66 20e2 e algorithm of .\n-00002de0: 8098 736b 6574 6368 e280 9920 6861 7320 ..sketch... has \n-00002df0: 7370 6c69 7420 7468 6520 6c69 6e65 2069 split the line i\n-00002e00: 6e74 6f20 7477 6f0a 7069 6563 6573 2061 nto two.pieces a\n-00002e10: 6e64 206f 7264 6572 6564 2074 6865 2074 nd ordered the t\n-00002e20: 6872 6565 2072 6573 756c 7469 6e67 206f hree resulting o\n-00002e30: 626a 6563 7473 2073 6f20 7468 6174 2074 bjects so that t\n-00002e40: 6865 2063 6f72 7265 6374 0a70 6f72 7469 he correct.porti\n-00002e50: 6f6e 206f 6620 7468 6520 6c69 6e65 2069 on of the line i\n-00002e60: 7320 6869 6464 656e 2e0a 0a20 2020 4966 s hidden... If\n-00002e70: 2079 6f75 2776 6520 6e6f 7469 6365 6420 you've noticed \n-00002e80: 7468 6174 2074 6865 2070 726f 6a65 6374 that the project\n-00002e90: 696f 6e20 7765 2061 7265 2075 7369 6e67 ion we are using\n-00002ea0: 2073 6565 6d73 2065 7175 6976 616c 656e seems equivalen\n-00002eb0: 740a 746f 2065 7261 7369 6e67 2074 6865 t.to erasing the\n-00002ec0: 207a 2d63 6f6f 7264 696e 6174 6520 6f66 z-coordinate of\n-00002ed0: 2074 6865 2074 6872 6565 2d64 696d 656e the three-dimen\n-00002ee0: 7369 6f6e 616c 2069 6e70 7574 2070 6f69 sional input poi\n-00002ef0: 6e74 732c 2070 6174 0a79 6f75 7273 656c nts, pat.yoursel\n-00002f00: 6620 6f6e 2074 6865 2062 6163 6b2e 2020 f on the back. \n-00002f10: 596f 7520 6172 6520 636f 7272 6563 742e You are correct.\n-00002f20: 2020 5468 6973 2069 7320 6361 6c6c 6564 This is called\n-00002f30: 2061 20e2 809c 7061 7261 6c6c 656c 0a70 a ...parallel.p\n-00002f40: 726f 6a65 6374 696f 6ee2 809d 2e20 2054 rojection.... T\n-00002f50: 6865 207a 2d63 6f6f 7264 696e 6174 6520 he z-coordinate \n-00002f60: 6178 6973 2069 7320 706f 696e 7469 6e67 axis is pointing\n-00002f70: 2073 7472 6169 6768 7420 6f75 7420 6f66 straight out of\n-00002f80: 2074 6865 0a70 6170 6572 2061 7420 7573 the.paper at us\n-00002f90: 2c20 7768 696c 6520 7468 6520 782d 2061 , while the x- a\n-00002fa0: 6e64 2079 2d61 7865 7320 706f 696e 7420 nd y-axes point \n-00002fb0: 746f 2074 6865 2072 6967 6874 2061 6e64 to the right and\n-00002fc0: 2075 7020 6173 2075 7375 616c 2e0a 0a20 up as usual... \n-00002fd0: 2020 5468 6520 7265 7375 6c74 696e 6720 The resulting \n-00002fe0: 7069 6374 7572 6520 6669 6c65 2063 616e picture file can\n-00002ff0: 2062 6520 696e 636c 7564 6564 2069 6e20 be included in \n-00003000: 6120 4c61 5465 5820 646f 6375 6d65 6e74 a LaTeX document\n-00003010: 2077 6974 680a 5c69 6e70 7574 7b73 696d with.\\input{sim\n-00003020: 706c 657d 2e20 2041 6c74 6572 6e61 7465 ple}. Alternate\n-00003030: 6c79 2c20 6164 6469 6e67 2074 6865 2063 ly, adding the c\n-00003040: 6f6d 6d61 6e64 206c 696e 6520 6f70 7469 ommand line opti\n-00003050: 6f6e 20e2 8098 2d54 e280 9928 3129 0a63 on ...-T...(1).c\n-00003060: 6175 7365 7320 7468 6520 e280 9870 7370 auses the ...psp\n-00003070: 6963 7475 7265 e280 9920 746f 2062 6520 icture... to be \n-00003080: 7772 6170 7065 6420 696e 2061 2073 686f wrapped in a sho\n-00003090: 7274 2062 7574 2063 6f6d 706c 6574 6520 rt but complete \n-000030a0: 646f 6375 6d65 6e74 2c0a 7265 6164 7920 document,.ready \n-000030b0: 746f 2072 756e 2074 686f 7567 6820 4c61 to run though La\n-000030c0: 5465 582e 2020 496e 2061 2066 696e 6973 TeX. In a finis\n-000030d0: 6865 642c 2074 7970 6573 6574 2064 6f63 hed, typeset doc\n-000030e0: 756d 656e 742c 2074 6865 2070 6963 7475 ument, the pictu\n-000030f0: 7265 0a6c 6f6f 6b73 206c 696b 6520 7468 re.looks like th\n-00003100: 6973 2e20 2028 5468 6520 6178 6573 2068 is. (The axes h\n-00003110: 6176 6520 6265 656e 2061 6464 6564 2069 ave been added i\n-00003120: 6e20 6c69 6768 7420 6772 6179 2e29 0a0a n light gray.)..\n-00003130: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n-00003140: 3032 302e 706e 6722 2074 6578 743d 2249 020.png\" text=\"I\n-00003150: 6d61 6765 2065 7830 3230 206f 6d69 7474 mage ex020 omitt\n-00003160: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n-00003170: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n-00003180: 656e 742e 2200 085d 0a0a 4974 2069 7320 ent.\"..]..It is \n-00003190: 696d 706f 7274 616e 7420 746f 206b 6e6f important to kno\n-000031a0: 7720 7468 6174 206f 6e6c 7920 7468 6520 w that only the \n-000031b0: 226f 7574 7369 6465 2220 6f66 2061 2070 \"outside\" of a p\n-000031c0: 6f6c 7967 6f6e 2069 7320 6e6f 726d 616c olygon is normal\n-000031d0: 6c79 0a64 7261 776e 2e20 2054 6865 20e2 ly.drawn. The .\n-000031e0: 809c 6f75 7473 6964 65e2 809d 2069 7320 ..outside... is \n-000031f0: 7768 6572 6520 7468 6520 7665 7274 6963 where the vertic\n-00003200: 6573 2067 6976 656e 2069 6e20 7468 6520 es given in the \n-00003210: e280 9870 6f6c 7967 6f6e e280 990a 636f ...polygon....co\n-00003220: 6d6d 616e 6420 6170 7065 6172 2069 6e20 mmand appear in \n-00003230: 5f63 6f75 6e74 6572 2d63 6c6f 636b 7769 _counter-clockwi\n-00003240: 7365 5f20 6f72 6465 722e 2020 5468 7573 se_ order. Thus\n-00003250: 2c20 6966 2074 6865 2063 6f6d 6d61 6e64 , if the command\n-00003260: 2061 626f 7665 0a68 6164 2062 6565 6e0a above.had been.\n-00003270: 2020 706f 6c79 676f 6e28 302c 312c 3029 polygon(0,1,0)\n-00003280: 2831 2c30 2c30 2928 302c 302c 3129 0a74 (1,0,0)(0,0,1).t\n-00003290: 6865 2070 6f6c 7967 6f6e 2077 6f75 6c64 he polygon would\n-000032a0: 206e 6f74 2061 7070 6561 7220 696e 2074 not appear in t\n-000032b0: 6865 2070 6963 7475 7265 2061 7420 616c he picture at al\n-000032c0: 6c2e 2020 4974 2077 6f75 6c64 2068 6176 l. It would hav\n-000032d0: 6520 6265 656e 0ae2 809c 6375 6c6c 6564 e been....culled\n-000032e0: e280 9d20 6672 6f6d 2074 6865 2073 6365 ... from the sce\n-000032f0: 6e65 2e20 2054 6869 7320 6375 6c6c 696e ne. This cullin\n-00003300: 6720 6265 6861 7669 6f72 206d 6179 2073 g behavior may s\n-00003310: 6565 6d20 7374 7261 6e67 652c 2062 7574 eem strange, but\n-00003320: 0a73 7461 7920 7475 6e65 642e 0a0a 2020 .stay tuned... \n-00003330: 202d 2d2d 2d2d 2d2d 2d2d 2d20 466f 6f74 ---------- Foot\n-00003340: 6e6f 7465 7320 2d2d 2d2d 2d2d 2d2d 2d2d notes ----------\n-00003350: 0a0a 2020 2028 3129 204f 7220 666f 7220 .. (1) Or for \n-00003360: 4575 726f 7065 616e 2075 7365 7273 206f European users o\n-00003370: 6620 4134 2073 697a 6520 7061 7065 722c f A4 size paper,\n-00003380: 20e2 8098 2d54 65e2 8099 2e0a 0a1f 0a46 ...-Te........F\n-00003390: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-000033a0: 2c20 204e 6f64 653a 2044 7261 7769 6e67 , Node: Drawing\n-000033b0: 206f 7074 696f 6e73 2c20 204e 6578 743a options, Next:\n-000033c0: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid\n-000033d0: 2c20 2050 7265 763a 2048 656c 6c6f 2077 , Prev: Hello w\n-000033e0: 6f72 6c64 2c20 2055 703a 2049 6e74 726f orld, Up: Intro\n-000033f0: 6475 6374 696f 6e20 6279 2065 7861 6d70 duction by examp\n-00003400: 6c65 0a0a 322e 3220 4f70 7469 6f6e 730a le..2.2 Options.\n-00003410: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a4d 616e ===========..Man\n-00003420: 7920 e280 9850 5354 7269 636b 73e2 8099 y ...PSTricks...\n-00003430: 2061 6e64 20e2 8098 5469 6b5a 2f50 4746 and ...TikZ/PGF\n-00003440: e280 9920 6f70 7469 6f6e 7320 776f 726b ... options work\n-00003450: 206a 7573 7420 6669 6e65 2069 6e20 e280 just fine in ..\n-00003460: 9873 6b65 7463 68e2 8099 2e20 2049 660a .sketch.... If.\n-00003470: 6765 6e65 7261 7469 6e67 20e2 8098 5053 generating ...PS\n-00003480: 5472 6963 6b73 e280 992c 2074 6865 2063 Tricks..., the c\n-00003490: 6f64 650a 2020 706f 6c79 676f 6e5b 6669 ode. polygon[fi\n-000034a0: 6c6c 636f 6c6f 723d 6c69 6768 7467 7261 llcolor=lightgra\n-000034b0: 792c 6c69 6e65 7769 6474 683d 3370 745d y,linewidth=3pt]\n-000034c0: 2830 2c30 2c31 2928 312c 302c 3029 2830 (0,0,1)(1,0,0)(0\n-000034d0: 2c31 2c30 290a 2020 6c69 6e65 5b6c 696e ,1,0). line[lin\n-000034e0: 6573 7479 6c65 3d64 6f74 7465 645d 282d estyle=dotted](-\n-000034f0: 312c 2d31 2c2d 3129 2832 2c32 2c32 290a 1,-1,-1)(2,2,2).\n-00003500: 7072 6f64 7563 6573 0a0a 0008 5b69 6d61 produces....[ima\n-00003510: 6765 2073 7263 3d22 6578 3033 302e 706e ge src=\"ex030.pn\n-00003520: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n-00003530: 7830 3330 206f 6d69 7474 6564 2069 6e20 x030 omitted in \n-00003540: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n-00003550: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n-00003560: 085d 0a0a 2020 2054 6f20 7072 6f64 7563 .].. To produc\n-00003570: 6520 e280 9854 696b 5a2f 5047 46e2 8099 e ...TikZ/PGF...\n-00003580: 2c20 7468 6520 636f 7272 6573 706f 6e64 , the correspond\n-00003590: 696e 6720 636f 6465 2069 730a 2020 706f ing code is. po\n-000035a0: 6c79 676f 6e5b 6669 6c6c 3d6c 6967 6874 lygon[fill=light\n-000035b0: 6772 6179 2c6c 696e 6520 7769 6474 683d gray,line width=\n-000035c0: 3370 745d 2830 2c30 2c31 2928 312c 302c 3pt](0,0,1)(1,0,\n-000035d0: 3029 2830 2c31 2c30 290a 2020 6c69 6e65 0)(0,1,0). line\n-000035e0: 5b73 7479 6c65 3d64 6f74 7465 645d 282d [style=dotted](-\n-000035f0: 312c 2d31 2c2d 3129 2832 2c32 2c32 290a 1,-1,-1)(2,2,2).\n-00003600: 2020 676c 6f62 616c 207b 206c 616e 6775 global { langu\n-00003610: 6167 6520 7469 6b7a 207d 0a54 6865 2066 age tikz }.The f\n-00003620: 696e 616c 20e2 8098 676c 6f62 616c e280 inal ...global..\n-00003630: 9920 696e 7374 7275 6374 7320 e280 9873 . instructs ...s\n-00003640: 6b65 7463 68e2 8099 2074 6f20 7072 6f64 ketch... to prod\n-00003650: 7563 6520 e280 9854 696b 5a2f 5047 46e2 uce ...TikZ/PGF.\n-00003660: 8099 2063 6f64 6520 6173 0a6f 7574 7075 .. code as.outpu\n-00003670: 7420 7261 7468 6572 2074 6861 6e20 7468 t rather than th\n-00003680: 6520 6465 6661 756c 742c 20e2 8098 5053 e default, ...PS\n-00003690: 5472 6963 6b73 e280 992e 2020 4e6f 7465 Tricks.... Note\n-000036a0: 2074 6861 7420 e280 9870 6f6c 7967 6f6e that ...polygon\n-000036b0: e280 9920 6669 6c6c 0a63 6f6c 6f72 2061 ... fill.color a\n-000036c0: 6e64 20e2 8098 6c69 6e65 e280 9920 7374 nd ...line... st\n-000036d0: 796c 6520 6f70 7469 6f6e 7320 626f 7468 yle options both\n-000036e0: 2063 6f6e 666f 726d 2074 6f20 e280 9854 conform to ...T\n-000036f0: 696b 5ae2 8099 2073 796e 7461 7820 7275 ikZ... syntax ru\n-00003700: 6c65 732e 2020 5468 650a 7265 7375 6c74 les. The.result\n-00003710: 696e 6720 e280 9854 696b 5a2f 5047 46e2 ing ...TikZ/PGF.\n-00003720: 8099 206f 7574 7075 7420 6973 0a20 205c .. output is. \\\n-00003730: 6265 6769 6e7b 7469 6b7a 7069 6374 7572 begin{tikzpictur\n-00003740: 657d 5b6a 6f69 6e3d 726f 756e 645d 0a20 e}[join=round]. \n-00003750: 205c 6472 6177 5b64 6f74 7465 645d 282d \\draw[dotted](-\n-00003760: 312c 2d31 292d 2d28 2e33 3333 2c2e 3333 1,-1)--(.333,.33\n-00003770: 3329 3b0a 2020 5c66 696c 6c64 7261 775b 3);. \\filldraw[\n-00003780: 6669 6c6c 3d6c 6967 6874 6772 6179 2c6c fill=lightgray,l\n-00003790: 696e 6520 7769 6474 683d 3370 745d 2830 ine width=3pt](0\n-000037a0: 2c30 292d 2d28 312c 3029 2d2d 2830 2c31 ,0)--(1,0)--(0,1\n-000037b0: 292d 2d63 7963 6c65 3b0a 2020 5c64 7261 )--cycle;. \\dra\n-000037c0: 775b 646f 7474 6564 5d28 2e33 3333 2c2e w[dotted](.333,.\n-000037d0: 3333 3329 2d2d 2832 2c32 293b 0a20 205c 333)--(2,2);. \\\n-000037e0: 656e 647b 7469 6b7a 7069 6374 7572 657d end{tikzpicture}\n-000037f0: 0a54 6865 2072 656d 6169 6e69 6e67 2065 .The remaining e\n-00003800: 7861 6d70 6c65 7320 6f66 2074 6869 7320 xamples of this \n-00003810: 6d61 6e75 616c 2061 7265 2069 6e20 5053 manual are in PS\n-00003820: 5472 6963 6b73 2073 7479 6c65 2e0a 0a1f Tricks style....\n-00003830: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00003840: 666f 2c20 204e 6f64 653a 2044 7261 7769 fo, Node: Drawi\n-00003850: 6e67 2061 2073 6f6c 6964 2c20 204e 6578 ng a solid, Nex\n-00003860: 743a 2053 7065 6369 616c 206f 626a 6563 t: Special objec\n-00003870: 7473 2c20 2050 7265 763a 2044 7261 7769 ts, Prev: Drawi\n-00003880: 6e67 206f 7074 696f 6e73 2c20 2055 703a ng options, Up:\n-00003890: 2049 6e74 726f 6475 6374 696f 6e20 6279 Introduction by\n-000038a0: 2065 7861 6d70 6c65 0a0a 322e 3320 4472 example..2.3 Dr\n-000038b0: 6177 696e 6720 6120 736f 6c69 640a 3d3d awing a solid.==\n-000038c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-000038d0: 3d0a 0a4c 6574 2773 2074 7279 2073 6f6d =..Let's try som\n-000038e0: 6574 6869 6e67 206d 6f72 6520 6578 6369 ething more exci\n-000038f0: 7469 6e67 2e20 20e2 8098 536b 6574 6368 ting. ...Sketch\n-00003900: e280 9920 6861 7320 6e6f 206e 6f74 696f ... has no notio\n-00003910: 6e20 6f66 2061 2073 6f6c 6964 2c0a 6275 n of a solid,.bu\n-00003920: 7420 706f 6c79 676f 6e61 6c20 e280 9c66 t polygonal ...f\n-00003930: 6163 6573 e280 9d20 6361 6e20 6265 2075 aces... can be u\n-00003940: 7365 6420 746f 2072 6570 7265 7365 6e74 sed to represent\n-00003950: 2074 6865 2062 6f75 6e64 6172 7920 6f66 the boundary of\n-00003960: 2061 2073 6f6c 6964 2e0a 546f 2074 6865 a solid..To the\n-00003970: 2070 7265 7669 6f75 7320 6578 616d 706c previous exampl\n-00003980: 652c 206c 6574 2773 2061 6464 2074 6872 e, let's add thr\n-00003990: 6565 206d 6f72 6520 7472 6961 6e67 756c ee more triangul\n-000039a0: 6172 2070 6f6c 7967 6f6e 7320 746f 0a6d ar polygons to.m\n-000039b0: 616b 6520 7468 6520 6661 6365 7320 6f66 ake the faces of\n-000039c0: 2061 6e20 6972 7265 6775 6c61 7220 7465 an irregular te\n-000039d0: 7472 6168 6564 726f 6e2e 0a20 2025 2076 trahedron.. % v\n-000039e0: 6572 7469 6365 7320 6f66 2074 6865 2074 ertices of the t\n-000039f0: 6574 7261 6865 6472 6f6e 0a20 2064 6566 etrahedron. def\n-00003a00: 2070 3120 2830 2c30 2c31 2920 6465 6620 p1 (0,0,1) def \n-00003a10: 7032 2028 312c 302c 3029 0a20 2064 6566 p2 (1,0,0). def\n-00003a20: 2070 3320 2830 2c31 2c30 2920 6465 6620 p3 (0,1,0) def \n-00003a30: 7034 2028 2d2e 332c 2d2e 352c 2d2e 3829 p4 (-.3,-.5,-.8)\n-00003a40: 0a0a 2020 2520 6661 6365 7320 6f66 2074 .. % faces of t\n-00003a50: 6865 2074 6574 7261 6865 6472 6f6e 2e0a he tetrahedron..\n-00003a60: 2020 706f 6c79 676f 6e28 7031 2928 7032 polygon(p1)(p2\n-00003a70: 2928 7033 2920 2520 6f72 6967 696e 616c )(p3) % original\n-00003a80: 2066 726f 6e74 2070 6f6c 7967 6f6e 0a20 front polygon. \n-00003a90: 2070 6f6c 7967 6f6e 2870 3129 2870 3429 polygon(p1)(p4)\n-00003aa0: 2870 3229 2025 2062 6f74 746f 6d0a 2020 (p2) % bottom. \n-00003ab0: 706f 6c79 676f 6e28 7031 2928 7033 2928 polygon(p1)(p3)(\n-00003ac0: 7034 2920 2520 6c65 6674 0a20 2070 6f6c p4) % left. pol\n-00003ad0: 7967 6f6e 2870 3329 2870 3229 2870 3429 ygon(p3)(p2)(p4)\n-00003ae0: 2025 2072 6561 720a 0a20 2025 206c 696e % rear.. % lin\n-00003af0: 6520 746f 2070 6965 7263 6520 7468 6520 e to pierce the \n-00003b00: 7465 7472 6168 6564 726f 6e0a 2020 6c69 tetrahedron. li\n-00003b10: 6e65 5b6c 696e 6563 6f6c 6f72 3d72 6564 ne[linecolor=red\n-00003b20: 5d28 2d31 2c2d 312c 2d31 2928 322c 322c ](-1,-1,-1)(2,2,\n-00003b30: 3229 0a54 6869 7320 6578 616d 706c 6520 2).This example \n-00003b40: 7573 6573 20e2 809c 6465 6669 6e69 7469 uses ...definiti\n-00003b50: 6f6e 73e2 809d 2c20 7768 6963 6820 6265 ons..., which be\n-00003b60: 6769 6e20 7769 7468 20e2 8098 6465 66e2 gin with ...def.\n-00003b70: 8099 2e20 2054 6865 7365 20e2 809c 6465 ... These ...de\n-00003b80: 6669 6e65 e280 9d0a 6f72 2067 6976 6520 fine....or give \n-00003b90: 6e61 6d65 7320 746f 2070 6f69 6e74 732c names to points,\n-00003ba0: 2077 6869 6368 2061 7265 2074 6865 6e20 which are then \n-00003bb0: 6176 6169 6c61 626c 6520 6173 20e2 809c available as ...\n-00003bc0: 7265 6665 7265 6e63 6573 e280 9d20 6279 references... by\n-00003bd0: 0a65 6e63 6c6f 7369 6e67 2074 6865 206e .enclosing the n\n-00003be0: 616d 6573 2069 6e20 7061 7265 6e74 6865 ames in parenthe\n-00003bf0: 7365 732c 2065 2e67 2e20 2866 6f6f 292e ses, e.g. (foo).\n-00003c00: 2020 5468 6520 7061 7265 6e74 6865 7365 The parenthese\n-00003c10: 7320 6465 6e6f 7465 0a74 6861 7420 7468 s denote.that th\n-00003c20: 6520 6e61 6d65 7320 7265 6665 7220 746f e names refer to\n-00003c30: 2070 6f69 6e74 733b 2074 6865 7920 6172 points; they ar\n-00003c40: 6520 7265 7175 6972 6564 2e20 2054 6865 e required. The\n-00003c50: 7265 2063 616e 2062 6520 6e6f 0a77 6869 re can be no.whi\n-00003c60: 7465 2073 7061 6365 2062 6574 7765 656e te space between\n-00003c70: 2074 6865 6d20 616e 6420 7468 6520 6e61 them and the na\n-00003c80: 6d65 2e0a 0a20 2020 4173 2079 6f75 2063 me... As you c\n-00003c90: 616e 2073 6565 2c20 636f 6d6d 656e 7473 an see, comments\n-00003ca0: 2073 7461 7274 2077 6974 6820 2520 6173 start with % as\n-00003cb0: 2069 6e20 5465 5820 616e 6420 6578 7465 in TeX and exte\n-00003cc0: 6e64 2074 6f20 7468 6520 656e 640a 6f66 nd to the end.of\n-00003cd0: 2074 6865 206c 696e 6520 2874 686f 7567 the line (thoug\n-00003ce0: 6820 2320 7769 6c6c 2077 6f72 6b20 6173 h # will work as\n-00003cf0: 2077 656c 6c29 2e20 2057 6869 7465 2073 well). White s\n-00003d00: 7061 6365 2c20 696e 636c 7564 696e 670a pace, including.\n-00003d10: 7370 6163 6573 2c20 7461 6273 2061 6e64 spaces, tabs and\n-00003d20: 2062 6c61 6e6b 206c 696e 6573 2c20 6861 blank lines, ha\n-00003d30: 7320 6e6f 2065 6666 6563 7420 696e 2074 s no effect in t\n-00003d40: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... \n-00003d50: 6c61 6e67 7561 6765 2e0a 0a00 085b 696d language.....[im\n-00003d60: 6167 6520 7372 633d 2265 7830 3430 2e70 age src=\"ex040.p\n-00003d70: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng\" text=\"Image \n-00003d80: 6578 3034 3020 6f6d 6974 7465 6420 696e ex040 omitted in\n-00003d90: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of\n-00003da0: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document.\"\n-00003db0: 0008 5d0a 0a49 6620 7765 206c 6f6f 6b20 ..]..If we look \n-00003dc0: 696e 7369 6465 2074 6865 2054 6558 2066 inside the TeX f\n-00003dd0: 696c 6520 7072 6f64 7563 6564 2062 7920 ile produced by \n-00003de0: e280 9873 6b65 7463 68e2 8099 2c20 7468 ...sketch..., th\n-00003df0: 6572 6520 7769 6c6c 2062 6520 6f6e 6c79 ere will be only\n-00003e00: 0a74 6872 6565 2070 6f6c 7967 6f6e 732e .three polygons.\n-00003e10: 2020 5468 6520 666f 7572 7468 2068 6173 The fourth has\n-00003e20: 2062 6565 6e20 6375 6c6c 6564 2062 6563 been culled bec\n-00003e30: 6175 7365 2069 7420 6973 2061 2022 6261 ause it is a \"ba\n-00003e40: 636b 2066 6163 6522 0a6f 6620 7468 6520 ck face\".of the \n-00003e50: 7465 7472 6168 6564 726f 6e2c 2069 6e76 tetrahedron, inv\n-00003e60: 6973 6962 6c65 2074 6f20 6f75 7220 7669 isible to our vi\n-00003e70: 6577 2e20 2049 7420 6973 2075 6e6e 6563 ew. It is unnec\n-00003e80: 6573 7361 7279 2c20 616e 6420 736f 2069 essary, and so i\n-00003e90: 740a 6973 2072 656d 6f76 6564 2e0a 0a20 t.is removed... \n-00003ea0: 2020 496e 2073 6f6d 6520 6472 6177 696e In some drawin\n-00003eb0: 6773 2c20 706f 6c79 676f 6e73 2061 6374 gs, polygons act\n-00003ec0: 2061 7320 7a65 726f 2d74 6869 636b 6e65 as zero-thickne\n-00003ed0: 7373 2073 6f6c 6964 2073 7572 6661 6365 ss solid surface\n-00003ee0: 7320 7769 7468 0a62 6f74 6820 7369 6465 s with.both side\n-00003ef0: 7320 7669 7369 626c 6520 7261 7468 6572 s visible rather\n-00003f00: 2074 6861 6e20 6173 2074 6865 2066 6163 than as the fac\n-00003f10: 6573 206f 6620 736f 6c69 6420 6f62 6a65 es of solid obje\n-00003f20: 6374 732c 2077 6865 7265 2062 6163 6b0a cts, where back.\n-00003f30: 6661 6365 7320 6361 6e20 6265 2063 756c faces can be cul\n-00003f40: 6c65 642e 2020 466f 7220 7a65 726f 2d74 led. For zero-t\n-00003f50: 6869 636b 6e65 7373 2073 6f6c 6964 732c hickness solids,\n-00003f60: 2063 756c 6c69 6e67 2069 7320 6120 7072 culling is a pr\n-00003f70: 6f62 6c65 6d2e 0a4f 6e65 2073 6f6c 7574 oblem..One solut\n-00003f80: 696f 6e20 6973 2074 6f20 7573 6520 6120 ion is to use a \n-00003f90: 7061 6972 206f 6620 e280 9873 6b65 7463 pair of ...sketc\n-00003fa0: 68e2 8099 2070 6f6c 7967 6f6e 7320 666f h... polygons fo\n-00003fb0: 7220 6561 6368 0a7a 6572 6f2d 7468 6963 r each.zero-thic\n-00003fc0: 6b6e 6573 7320 6661 6365 2c20 6964 656e kness face, iden\n-00003fd0: 7469 6361 6c20 6578 6365 7074 2077 6974 tical except wit\n-00003fe0: 6820 6f70 706f 7369 7465 2076 6572 7465 h opposite verte\n-00003ff0: 7820 6f72 6465 7273 2e20 2054 6869 730a x orders. This.\n-00004000: 6973 2075 6e77 6965 6c64 7920 616e 6420 is unwieldy and \n-00004010: 6578 7065 6e73 6976 652e 2020 4120 6265 expensive. A be\n-00004020: 7474 6572 2077 6179 2069 7320 746f 2073 tter way is to s\n-00004030: 6574 2074 6865 20e2 8098 736b 6574 6368 et the ...sketch\n-00004040: e280 9920 696e 7465 726e 616c 0a6f 7074 ... internal.opt\n-00004050: 696f 6e20 e280 9863 756c 6ce2 8099 2074 ion ...cull... t\n-00004060: 6f20 e280 9866 616c 7365 e280 9920 696e o ...false... in\n-00004070: 2074 6865 2075 7375 616c 20e2 8098 5053 the usual ...PS\n-00004080: 5472 6963 6b73 e280 9920 6d61 6e6e 6572 Tricks... manner\n-00004090: 2e0a 2020 706f 6c79 676f 6e5b 6375 6c6c .. polygon[cull\n-000040a0: 3d66 616c 7365 5d28 7031 2928 7032 2928 =false](p1)(p2)(\n-000040b0: 7033 290a 5468 6520 666f 6c6c 6f77 696e p3).The followin\n-000040c0: 6720 7368 6f77 7320 7468 6520 7361 6d65 g shows the same\n-000040d0: 2068 656c 6978 2073 6861 7065 2064 7261 helix shape dra\n-000040e0: 776e 2066 6972 7374 2077 6974 6820 6375 wn first with cu\n-000040f0: 6c6c 3d74 7275 6520 2874 6865 0a64 6566 ll=true (the.def\n-00004100: 6175 6c74 2920 616e 6420 7468 656e 2063 ault) and then c\n-00004110: 756c 6c3d 6661 6c73 652e 0a0a 0008 5b69 ull=false.....[i\n-00004120: 6d61 6765 2073 7263 3d22 6578 3034 352e mage src=\"ex045.\n-00004130: 706e 6722 2074 6578 743d 2249 6d61 6765 png\" text=\"Image\n-00004140: 2065 7830 3435 206f 6d69 7474 6564 2069 ex045 omitted i\n-00004150: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o\n-00004160: 6620 7468 6973 2064 6f63 756d 656e 742e f this document.\n-00004170: 2200 085d 0a0a 5765 276c 6c20 736f 6f6e \"..]..We'll soon\n-00004180: 2073 6565 2068 6f77 2074 6f20 7072 6f64 see how to prod\n-00004190: 7563 6520 7468 6573 6520 6865 6c69 7865 uce these helixe\n-000041a0: 7320 7769 7468 2061 2066 6577 206c 696e s with a few lin\n-000041b0: 6573 206f 6620 e280 9873 6b65 7463 68e2 es of ...sketch.\n-000041c0: 8099 0a6c 616e 6775 6167 6520 636f 6465 ...language code\n-000041d0: 2e0a 0a20 2020 4974 206d 6179 2062 6520 ... It may be \n-000041e0: 7465 6d70 7469 6e67 2074 6f20 7475 726e tempting to turn\n-000041f0: 2063 756c 6c69 6e67 206f 6666 2067 7261 culling off gra\n-00004200: 7475 6974 6f75 736c 7920 736f 2074 6861 tuitously so tha\n-00004210: 7420 7665 7274 6578 0a6f 7264 6572 2063 t vertex.order c\n-00004220: 616e 2062 6520 6967 6e6f 7265 642e 2020 an be ignored. \n-00004230: 5468 6973 2069 7320 6e6f 7420 6120 676f This is not a go\n-00004240: 6f64 2069 6465 6120 6265 6361 7573 6520 od idea because \n-00004250: 6f75 7470 7574 2066 696c 6520 7369 7a65 output file size\n-00004260: 0a61 6e64 2054 6558 2061 6e64 2050 6f73 .and TeX and Pos\n-00004270: 7473 6372 6970 7420 7072 6f63 6573 7369 tscript processi\n-00004280: 6e67 2074 696d 6520 626f 7468 2064 6570 ng time both dep\n-00004290: 656e 6420 6f6e 2074 6865 206e 756d 6265 end on the numbe\n-000042a0: 7220 6f66 0a6f 7574 7075 7420 706f 6c79 r of.output poly\n-000042b0: 676f 6e73 2e20 2043 756c 6c69 6e67 2075 gons. Culling u\n-000042c0: 7375 616c 6c79 2069 6d70 726f 7665 7320 sually improves \n-000042d0: 7065 7266 6f72 6d61 6e63 6520 6279 2061 performance by a\n-000042e0: 2066 6163 746f 7220 6f66 0a74 776f 2e20 factor of.two. \n-000042f0: 204f 6e20 7468 6520 6f74 6865 7220 6861 On the other ha\n-00004300: 6e64 2c20 676c 6f62 616c 6c79 2073 6574 nd, globally set\n-00004310: 7469 6e67 20e2 8098 6375 6c6c 3d66 616c ting ...cull=fal\n-00004320: 7365 e280 9920 6973 2072 6561 736f 6e61 se... is reasona\n-00004330: 626c 650a 7768 696c 6520 6465 6275 6767 ble.while debugg\n-00004340: 696e 672e 2020 5365 6520 2a6e 6f74 6520 ing. See *note \n-00004350: 476c 6f62 616c 206f 7074 696f 6e73 3a3a Global options::\n-00004360: 2061 6e64 202a 6e6f 7465 204c 696d 6974 and *note Limit\n-00004370: 7320 6f6e 2065 7272 6f72 0a64 6574 6563 s on error.detec\n-00004380: 7469 6f6e 3a3a 2e0a 0a1f 0a46 696c 653a tion::.....File:\n-00004390: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-000043a0: 6f64 653a 2053 7065 6369 616c 206f 626a ode: Special obj\n-000043b0: 6563 7473 2c20 204e 6578 743a 204f 626a ects, Next: Obj\n-000043c0: 6563 7420 7472 616e 7366 6f72 6d73 2c20 ect transforms, \n-000043d0: 2050 7265 763a 2044 7261 7769 6e67 2061 Prev: Drawing a\n-000043e0: 2073 6f6c 6964 2c20 2055 703a 2049 6e74 solid, Up: Int\n-000043f0: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa\n-00004400: 6d70 6c65 0a0a 322e 3420 5370 6563 6961 mple..2.4 Specia\n-00004410: 6c20 6f62 6a65 6374 730a 3d3d 3d3d 3d3d l objects.======\n-00004420: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a57 =============..W\n-00004430: 6520 6361 6e20 6164 6420 6c61 6265 6c73 e can add labels\n-00004440: 2074 6f20 6120 6472 6177 696e 6720 6279 to a drawing by\n-00004450: 2075 7369 6e67 2073 7065 6369 616c 206f using special o\n-00004460: 626a 6563 7473 2c20 7768 6963 6820 7072 bjects, which pr\n-00004470: 6f76 6964 6520 610a 7761 7920 746f 2065 ovide a.way to e\n-00004480: 6d62 6564 2072 6177 204c 6154 6558 2061 mbed raw LaTeX a\n-00004490: 6e64 20e2 8098 5053 5472 6963 6b73 e280 nd ...PSTricks..\n-000044a0: 9920 636f 6465 2e20 2041 6464 696e 6720 . code. Adding \n-000044b0: 7468 6973 2074 6f20 7468 650a 7465 7472 this to the.tetr\n-000044c0: 6168 6564 726f 6e20 646f 6573 2074 6865 ahedron does the\n-000044d0: 2074 7269 636b 2e0a 2020 7370 6563 6961 trick.. specia\n-000044e0: 6c20 7c5c 666f 6f74 6e6f 7465 7369 7a65 l |\\footnotesize\n-000044f0: 0a20 2020 2020 2020 2020 2020 5c75 7075 . \\upu\n-00004500: 747b 3270 747d 5b75 725d 2331 7b24 5031 t{2pt}[ur]#1{$P1\n-00004510: 247d 0a20 2020 2020 2020 2020 2020 5c75 $}. \\u\n-00004520: 7075 745b 725d 2332 7b24 5032 247d 0a20 put[r]#2{$P2$}. \n-00004530: 2020 2020 2020 2020 2020 5c75 7075 745b \\uput[\n-00004540: 755d 2333 7b24 5033 247d 0a20 2020 2020 u]#3{$P3$}. \n-00004550: 2020 2020 2020 5c75 7075 745b 645d 2334 \\uput[d]#4\n-00004560: 7b24 5034 247d 7c0a 2020 2020 2870 3129 {$P4$}|. (p1)\n-00004570: 2870 3229 2870 3329 2870 3429 0a48 6572 (p2)(p3)(p4).Her\n-00004580: 6520 6973 2074 6865 2072 6573 756c 742e e is the result.\n-00004590: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=\"\n-000045a0: 6578 3034 322e 706e 6722 2074 6578 743d ex042.png\" text=\n-000045b0: 2249 6d61 6765 2065 7830 3432 206f 6d69 \"Image ex042 omi\n-000045c0: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver\n-000045d0: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc\n-000045e0: 756d 656e 742e 2200 085d 0a0a 2020 2054 ument.\"..].. T\n-000045f0: 6865 7265 2061 7265 2073 6576 6572 616c here are several\n-00004600: 2064 6574 6169 6c73 2074 6f20 6e6f 7465 details to note\n-00004610: 2068 6572 652e 2020 4669 7273 742c 2074 here. First, t\n-00004620: 6865 2071 756f 7469 6e67 0a63 6f6e 7665 he quoting.conve\n-00004630: 6e74 696f 6e20 666f 7220 7468 6520 7261 ntion for the ra\n-00004640: 7720 636f 6465 2069 7320 7369 6d69 6c61 w code is simila\n-00004650: 7220 746f 2074 6865 204c 6154 6558 205c r to the LaTeX \\\n-00004660: 7665 7262 2063 6f6d 6d61 6e64 2e20 2054 verb command. T\n-00004670: 6865 0a66 6972 7374 206e 6f6e 2d77 6869 he.first non-whi\n-00004680: 7465 2073 7061 6365 2063 6861 7261 6374 te space charact\n-00004690: 6572 2066 6f6c 6c6f 7769 6e67 2073 7065 er following spe\n-000046a0: 6369 616c 2069 7320 756e 6465 7273 746f cial is understo\n-000046b0: 6f64 2074 6f20 6265 0a74 6865 2071 756f od to be.the quo\n-000046c0: 7465 2063 6861 7261 6374 6572 2c20 696e te character, in\n-000046d0: 2074 6869 7320 6361 7365 20e2 8098 7ce2 this case ...|.\n-000046e0: 8099 2e20 2054 6865 2072 6177 2074 6578 ... The raw tex\n-000046f0: 7420 636f 6e74 696e 7565 7320 756e 7469 t continues unti\n-00004700: 6c0a 7468 6973 2063 6861 7261 6374 6572 l.this character\n-00004710: 2072 6563 7572 732e 0a0a 2020 2053 6563 recurs... Sec\n-00004720: 6f6e 642c 2074 6865 2061 7267 756d 656e ond, the argumen\n-00004730: 7420 7265 6665 7265 6e63 6573 2023 312c t references #1,\n-00004740: 2023 322c 2023 332c 2061 6e64 2023 3420 #2, #3, and #4 \n-00004750: 7265 6665 7220 746f 2070 6f69 6e74 2c0a refer to point,.\n-00004760: 7665 6374 6f72 2c20 6f72 2073 6361 6c61 vector, or scala\n-00004770: 7220 7661 6c75 6573 2069 6e20 7468 6520 r values in the \n-00004780: 6c69 7374 2074 6861 7420 666f 6c6c 6f77 list that follow\n-00004790: 2e20 2054 6869 7320 6973 2073 696d 696c . This is simil\n-000047a0: 6172 2074 6f0a 5465 5820 6d61 6372 6f20 ar to.TeX macro \n-000047b0: 7379 6e74 6178 2e20 2054 6865 2074 7261 syntax. The tra\n-000047c0: 6e73 666f 726d 6564 2061 6e64 2074 776f nsformed and two\n-000047d0: 2d64 696d 656e 7369 6f6e 616c 2070 726f -dimensional pro\n-000047e0: 6a65 6374 696f 6e73 206f 660a 7468 6573 jections of.thes\n-000047f0: 6520 7468 7265 652d 6469 6d65 6e73 696f e three-dimensio\n-00004800: 6e61 6c20 706f 696e 7473 2061 7265 2073 nal points are s\n-00004810: 7562 7374 6974 7574 6564 2069 6e20 7468 ubstituted in th\n-00004820: 6520 6669 6e61 6c20 6f75 7470 7574 2e20 e final output. \n-00004830: 2041 6e0a 6172 6775 6d65 6e74 2072 6566 An.argument ref\n-00004840: 6572 656e 6365 206f 6620 7468 6520 666f erence of the fo\n-00004850: 726d 2023 312d 3220 6973 2072 6570 6c61 rm #1-2 is repla\n-00004860: 6365 6420 7769 7468 2074 6865 2061 6e67 ced with the ang\n-00004870: 6c65 2069 6e0a 6465 6772 6565 7320 6f66 le in.degrees of\n-00004880: 2074 6865 2074 776f 2d64 696d 656e 7369 the two-dimensi\n-00004890: 6f6e 616c 2076 6563 746f 7220 7468 6174 onal vector that\n-000048a0: 2063 6f6e 6e65 6374 7320 7468 6520 7072 connects the pr\n-000048b0: 6f6a 6563 7469 6f6e 7320 6f66 0a74 6865 ojections of.the\n-000048c0: 2074 776f 2072 6573 7065 6374 6976 6520 two respective \n-000048d0: 6172 6775 6d65 6e74 2070 6f69 6e74 732c argument points,\n-000048e0: 2068 6572 6520 2331 2061 6e64 2023 322e here #1 and #2.\n-000048f0: 2020 5468 6520 7375 6273 7469 7475 7465 The substitute\n-00004900: 640a 616e 676c 6520 6973 2065 6e63 6c6f d.angle is enclo\n-00004910: 7365 6420 696e 2063 7572 6c79 2062 7261 sed in curly bra\n-00004920: 6365 7320 e280 987b 207d e280 992e 2020 ces ...{ }.... \n-00004930: 5768 656e 20e2 8098 5469 6b5a 2f50 4746 When ...TikZ/PGF\n-00004940: e280 9920 6f75 7470 7574 2069 730a 6265 ... output is.be\n-00004950: 696e 6720 6765 6e65 7261 7465 642c 2074 ing generated, t\n-00004960: 6865 2061 6e67 6c65 2069 7320 726f 756e he angle is roun\n-00004970: 6465 6420 746f 2074 6865 206e 6561 7265 ded to the neare\n-00004980: 7374 2064 6567 7265 6520 6265 6361 7573 st degree becaus\n-00004990: 650a 6e6f 6e2d 696e 7465 6765 7220 616e e.non-integer an\n-000049a0: 676c 6573 2061 7265 206e 6f74 2061 6c6c gles are not all\n-000049b0: 6f77 6564 2062 7920 e280 9854 696b 5a2f owed by ...TikZ/\n-000049c0: 5047 46e2 8099 2070 7269 6d69 7469 7665 PGF... primitive\n-000049d0: 732e 0a0a 2020 2041 7320 6f66 2056 6572 s... As of Ver\n-000049e0: 7369 6f6e 2030 2e33 206f 6620 e280 9873 sion 0.3 of ...s\n-000049f0: 6b65 7463 68e2 8099 2c20 7370 6563 6961 ketch..., specia\n-00004a00: 6c20 6172 6775 6d65 6e74 7320 6d61 7920 l arguments may \n-00004a10: 6265 2073 6361 6c61 7273 206f 720a 7665 be scalars or.ve\n-00004a20: 6374 6f72 7320 696e 2061 6464 6974 696f ctors in additio\n-00004a30: 6e20 746f 2070 6f69 6e74 732e 2020 5265 n to points. Re\n-00004a40: 6665 7265 6e63 6573 2074 6f20 7363 616c ferences to scal\n-00004a50: 6172 2061 7267 756d 656e 7473 2061 7265 ar arguments are\n-00004a60: 0a6d 6572 656c 7920 7265 706c 6163 6564 .merely replaced\n-00004a70: 2077 6974 6820 6120 6e75 6d62 6572 2066 with a number f\n-00004a80: 6f72 6d61 7474 6564 206a 7573 7420 6173 ormatted just as\n-00004a90: 2061 6e79 2070 6f69 6e74 2063 6f6f 7264 any point coord\n-00004aa0: 696e 6174 652e 0a52 6566 6572 656e 6365 inate..Reference\n-00004ab0: 7320 746f 2076 6563 746f 7273 2062 6563 s to vectors bec\n-00004ac0: 6f6d 6520 7477 6f2d 6469 6d65 6e73 696f ome two-dimensio\n-00004ad0: 6e61 6c20 706f 696e 7473 2e20 2054 6865 nal points. The\n-00004ae0: 2074 6963 6b20 6f70 6572 6174 6f72 0a74 tick operator.t\n-00004af0: 6861 7420 7365 6c65 6374 7320 696e 6469 hat selects indi\n-00004b00: 7669 6475 616c 2063 6f6d 706f 6e65 6e74 vidual component\n-00004b10: 7320 6f66 2070 6f69 6e74 7320 616e 6420 s of points and \n-00004b20: 7665 6374 6f72 7320 656c 7365 7768 6572 vectors elsewher\n-00004b30: 6520 696e 0ae2 8098 736b 6574 6368 e280 e in....sketch..\n-00004b40: 9920 2873 6565 2066 6f72 2065 7861 6d70 . (see for examp\n-00004b50: 6c65 202a 6e6f 7465 2041 6666 696e 6520 le *note Affine \n-00004b60: 6172 6974 686d 6574 6963 3a3a 2920 6361 arithmetic::) ca\n-00004b70: 6e20 616c 736f 2062 6520 6170 706c 6965 n also be applie\n-00004b80: 640a 746f 2070 6f69 6e74 2061 6e64 2076 d.to point and v\n-00004b90: 6563 746f 7220 6172 6775 6d65 6e74 2072 ector argument r\n-00004ba0: 6566 6572 656e 6365 732e 2020 416c 6c20 eferences. All \n-00004bb0: 7468 7265 6520 6469 6d65 6e73 696f 6e73 three dimensions\n-00004bc0: 206f 6620 610a 7472 616e 7366 6f72 6d65 of a.transforme\n-00004bd0: 6420 706f 696e 7420 6f72 2076 6563 746f d point or vecto\n-00004be0: 7220 6361 6e20 616c 736f 2062 6520 7375 r can also be su\n-00004bf0: 6273 7469 7475 6564 2077 6974 6820 e280 bstitued with ..\n-00004c00: 9827 33e2 8099 2e20 2053 6565 202a 6e6f .'3.... See *no\n-00004c10: 7465 0a53 7065 6369 616c 733a 3a20 666f te.Specials:: fo\n-00004c20: 7220 6465 7461 696c 732e 0a0a 2020 2042 r details... B\n-00004c30: 7920 6465 6661 756c 742c 20e2 8098 7370 y default, ...sp\n-00004c40: 6563 6961 6ce2 8099 206f 626a 6563 7473 ecial... objects\n-00004c50: 2061 7265 2070 7269 6e74 6564 206c 6173 are printed las\n-00004c60: 742c 206f 7665 726c 6179 696e 6720 616c t, overlaying al\n-00004c70: 6c20 6f74 6865 720a 6f62 6a65 6374 7320 l other.objects \n-00004c80: 696e 2074 6865 2073 6365 6e65 2e20 2049 in the scene. I\n-00004c90: 6620 796f 7520 7370 6563 6966 7920 7468 f you specify th\n-00004ca0: 6520 696e 7465 726e 616c 206f 7074 696f e internal optio\n-00004cb0: 6e20 e280 986c 6179 3d69 6ee2 8099 2c20 n ...lay=in..., \n-00004cc0: 7468 650a 6869 6464 656e 2073 7572 6661 the.hidden surfa\n-00004cd0: 6365 2061 6c67 6f72 6974 686d 2063 6f6e ce algorithm con\n-00004ce0: 7369 6465 7273 2074 6865 2065 6e74 6972 siders the entir\n-00004cf0: 6520 7370 6563 6961 6c20 6f62 6a65 6374 e special object\n-00004d00: 2074 6f20 6265 2074 6865 0a66 6972 7374 to be the.first\n-00004d10: 2070 6f69 6e74 2028 2331 2920 696e 2074 point (#1) in t\n-00004d20: 6865 2061 7267 756d 656e 7420 6c69 7374 he argument list\n-00004d30: 2e20 2049 6620 7468 6174 2070 6f69 6e74 . If that point\n-00004d40: 2069 7320 6265 6869 6e64 2028 6f66 0a73 is behind (of.s\n-00004d50: 6d61 6c6c 6572 207a 2d63 6f6d 706f 6e65 maller z-compone\n-00004d60: 6e74 2074 6861 6e29 2061 6e79 2064 7261 nt than) any dra\n-00004d70: 7761 626c 652c 2074 6865 6e20 7468 6520 wable, then the \n-00004d80: 656e 7469 7265 2073 7065 6369 616c 206f entire special o\n-00004d90: 626a 6563 740a 6973 2064 7261 776e 2062 bject.is drawn b\n-00004da0: 6566 6f72 6520 7468 6174 2064 7261 7761 efore that drawa\n-00004db0: 626c 652c 2073 6f20 7468 6520 6472 6177 ble, so the draw\n-00004dc0: 6162 6c65 206f 6273 6375 7265 7320 7061 able obscures pa\n-00004dd0: 7274 7320 6f66 2074 6865 0a73 7065 6369 rts of the.speci\n-00004de0: 616c 206f 626a 6563 7420 7468 6174 206f al object that o\n-00004df0: 7665 726c 6170 7320 6974 2e20 2049 6e20 verlaps it. In \n-00004e00: 6f75 7220 6578 616d 706c 652c 2070 3120 our example, p1 \n-00004e10: 6973 2074 6865 2066 726f 6e74 2d6d 6f73 is the front-mos\n-00004e20: 740a 706f 696e 7420 696e 2074 6865 2073 t.point in the s\n-00004e30: 6365 6e65 2028 6861 7320 7468 6520 6c61 cene (has the la\n-00004e40: 7267 6573 7420 7a2d 636f 6d70 6f6e 656e rgest z-componen\n-00004e50: 7429 2c20 736f 2061 6464 696e 6720 e280 t), so adding ..\n-00004e60: 986c 6179 3d69 6ee2 8099 2068 6173 0a6e .lay=in... has.n\n-00004e70: 6f20 6566 6665 6374 2e0a 0a20 2020 5769 o effect... Wi\n-00004e80: 7468 206f 7074 696f 6e20 e280 986c 6179 th option ...lay\n-00004e90: 3d75 6e64 6572 e280 992c 2061 2073 7065 =under..., a spe\n-00004ea0: 6369 616c 2069 7320 6472 6177 6e20 5f62 cial is drawn _b\n-00004eb0: 6566 6f72 655f 2c20 6865 6e63 6520 6170 efore_, hence ap\n-00004ec0: 7065 6172 730a 5f75 6e64 6572 5f20 616e pears._under_ an\n-00004ed0: 7920 6f66 2074 6865 206f 626a 6563 7473 y of the objects\n-00004ee0: 2068 616e 646c 6564 2062 7920 7468 6520 handled by the \n-00004ef0: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a\n-00004f00: 6c67 6f72 6974 686d 2e0a 5468 6973 2069 lgorithm..This i\n-00004f10: 7320 686f 7720 7468 6520 6c69 6768 7420 s how the light \n-00004f20: 6772 6179 2061 7865 7320 7765 7265 2061 gray axes were a\n-00004f30: 6464 6564 2074 6f20 7468 6520 2268 656c dded to the \"hel\n-00004f40: 6c6f 2077 6f72 6c64 2220 6578 616d 706c lo world\" exampl\n-00004f50: 650a 2a6e 6f74 6520 4865 6c6c 6f20 776f e.*note Hello wo\n-00004f60: 726c 643a 3a2e 0a0a 2020 2053 7065 6369 rld::... Speci\n-00004f70: 616c 206f 626a 6563 7473 2061 7265 2070 al objects are p\n-00004f80: 6f77 6572 6675 6c2c 2077 6974 6820 6d61 owerful, with ma\n-00004f90: 6e79 2070 6f73 7369 626c 6520 7573 6573 ny possible uses\n-00004fa0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n-00004fb0: 682e 696e 666f 2c20 204e 6f64 653a 204f h.info, Node: O\n-00004fc0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n-00004fd0: 2c20 204e 6578 743a 2052 6570 6561 7465 , Next: Repeate\n-00004fe0: 6420 6f62 6a65 6374 732c 2020 5072 6576 d objects, Prev\n-00004ff0: 3a20 5370 6563 6961 6c20 6f62 6a65 6374 : Special object\n-00005000: 732c 2020 5570 3a20 496e 7472 6f64 7563 s, Up: Introduc\n-00005010: 7469 6f6e 2062 7920 6578 616d 706c 650a tion by example.\n-00005020: 0a32 2e35 2054 7261 6e73 666f 726d 730a .2.5 Transforms.\n-00005030: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a ==============..\n-00005040: 4e6f 7720 6c65 7427 7320 6164 6420 6120 Now let's add a \n-00005050: 7365 636f 6e64 2063 6f70 7920 6f66 2074 second copy of t\n-00005060: 6865 2070 6965 7263 6564 2074 6574 7261 he pierced tetra\n-00005070: 6865 6472 6f6e 2e20 2057 6527 6c6c 2072 hedron. We'll r\n-00005080: 6f74 6174 650a 7468 6520 636f 7079 2039 otate.the copy 9\n-00005090: 3020 6465 6772 6565 7320 6162 6f75 7420 0 degrees about \n-000050a0: 7468 6520 782d 6178 6973 2077 6974 6820 the x-axis with \n-000050b0: 7468 6520 6f72 6967 696e 2061 7320 e280 the origin as ..\n-000050c0: 9c63 656e 7465 7220 6f66 0a72 6f74 6174 .center of.rotat\n-000050d0: 696f 6ee2 809d 2073 6f20 7765 2063 616e ion... so we can\n-000050e0: 2073 6565 2074 6865 2062 6163 6b2c 2074 see the back, t\n-000050f0: 6865 6e20 7472 616e 736c 6174 6520 6974 hen translate it\n-00005100: 2074 6f20 7468 6520 7269 6768 742d 2d69 to the right--i\n-00005110: 6e20 7468 650a 706f 7369 7469 7665 2078 n the.positive x\n-00005120: 2d64 6972 6563 7469 6f6e 2d2d 736f 2069 -direction--so i\n-00005130: 7420 646f 6573 6e27 7420 636f 6c6c 6964 t doesn't collid\n-00005140: 6520 7769 7468 2074 6865 206f 7269 6769 e with the origi\n-00005150: 6e61 6c2e 2020 546f 2068 656c 700a 7573 nal. To help.us\n-00005160: 2073 6565 2077 6861 7427 7320 676f 696e see what's goin\n-00005170: 6720 6f6e 2c20 6d61 6b65 2074 6865 2062 g on, make the b\n-00005180: 6163 6b20 7369 6465 2067 7261 792e 0a20 ack side gray.. \n-00005190: 2064 6566 2070 6965 7263 6564 5f74 6574 def pierced_tet\n-000051a0: 7261 6865 6472 6f6e 207b 0a20 2020 2064 rahedron {. d\n-000051b0: 6566 2070 3120 2830 2c30 2c31 2920 6465 ef p1 (0,0,1) de\n-000051c0: 6620 7032 2028 312c 302c 3029 0a20 2020 f p2 (1,0,0). \n-000051d0: 2064 6566 2070 3320 2830 2c31 2c30 2920 def p3 (0,1,0) \n-000051e0: 6465 6620 7034 2028 2d2e 332c 2d2e 352c def p4 (-.3,-.5,\n-000051f0: 2d2e 3829 0a20 2020 2070 6f6c 7967 6f6e -.8). polygon\n-00005200: 2870 3129 2870 3229 2870 3329 2020 2020 (p1)(p2)(p3) \n-00005210: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00005220: 2020 2520 6f72 6967 696e 616c 0a20 2020 % original. \n-00005230: 2070 6f6c 7967 6f6e 2870 3129 2870 3429 polygon(p1)(p4)\n-00005240: 2870 3229 2020 2020 2020 2020 2020 2020 (p2) \n-00005250: 2020 2020 2020 2020 2020 2520 626f 7474 % bott\n-00005260: 6f6d 0a20 2020 2070 6f6c 7967 6f6e 2870 om. polygon(p\n-00005270: 3129 2870 3329 2870 3429 2020 2020 2020 1)(p3)(p4) \n-00005280: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00005290: 2520 6c65 6674 0a20 2020 2070 6f6c 7967 % left. polyg\n-000052a0: 6f6e 5b66 696c 6c63 6f6c 6f72 3d6c 6967 on[fillcolor=lig\n-000052b0: 6874 6772 6179 5d28 7033 2928 7032 2928 htgray](p3)(p2)(\n-000052c0: 7034 2920 2520 7265 6172 0a20 2020 206c p4) % rear. l\n-000052d0: 696e 655b 6c69 6e65 636f 6c6f 723d 7265 ine[linecolor=re\n-000052e0: 645d 282d 312c 2d31 2c2d 3129 2832 2c32 d](-1,-1,-1)(2,2\n-000052f0: 2c32 290a 2020 7d0a 2020 7b70 6965 7263 ,2). }. {pierc\n-00005300: 6564 5f74 6574 7261 6865 6472 6f6e 7d20 ed_tetrahedron} \n-00005310: 2025 2074 6574 7261 6865 6472 6f6e 2069 % tetrahedron i\n-00005320: 6e20 6f72 6967 696e 616c 2070 6f73 6974 n original posit\n-00005330: 696f 6e0a 2020 7075 7420 7b20 726f 7461 ion. put { rota\n-00005340: 7465 2839 302c 2028 302c 302c 3029 2c20 te(90, (0,0,0), \n-00005350: 5b31 2c30 2c30 5d29 2025 2063 6f70 7920 [1,0,0]) % copy \n-00005360: 696e 206e 6577 2070 6f73 6974 696f 6e0a in new position.\n-00005370: 2020 2020 2020 2020 7468 656e 2074 7261 then tra\n-00005380: 6e73 6c61 7465 285b 322e 352c 302c 305d nslate([2.5,0,0]\n-00005390: 2920 7d20 7b70 6965 7263 6564 5f74 6574 ) } {pierced_tet\n-000053a0: 7261 6865 6472 6f6e 7d0a 4865 7265 2074 rahedron}.Here t\n-000053b0: 6865 2065 6e74 6972 6520 636f 6465 206f he entire code o\n-000053c0: 6620 7468 6520 7072 6576 696f 7573 2065 f the previous e\n-000053d0: 7861 6d70 6c65 2068 6173 2062 6565 6e20 xample has been \n-000053e0: 7772 6170 7065 6420 696e 2061 0a64 6566 wrapped in a.def\n-000053f0: 696e 6974 696f 6e20 6279 2066 6f72 6d69 inition by formi\n-00005400: 6e67 2061 20e2 809c 626c 6f63 6be2 809d ng a ...block...\n-00005410: 2077 6974 6820 6272 6163 6573 2028 6120 with braces (a \n-00005420: 7369 6e67 6c65 2069 7465 6d20 776f 756c single item woul\n-00005430: 6420 6e6f 740a 6e65 6564 2074 6865 6d29 d not.need them)\n-00005440: 2e20 2054 6865 2070 6f69 6e74 2064 6566 . The point def\n-00005450: 696e 6974 696f 6e73 206e 6573 7465 6420 initions nested \n-00005460: 696e 7369 6465 2074 6865 2062 7261 6365 inside the brace\n-00005470: 7320 6172 650a e280 9c6c 6578 6963 616c s are....lexical\n-00005480: 6c79 2073 636f 7065 64e2 809d 2e20 2054 ly scoped.... T\n-00005490: 6865 6972 206d 6561 6e69 6e67 2065 7874 heir meaning ext\n-000054a0: 656e 6473 206f 6e6c 7920 746f 2074 6865 ends only to the\n-000054b0: 2065 6e64 206f 6620 7468 6520 626c 6f63 end of the bloc\n-000054c0: 6b2e 0a54 6865 206f 7574 6572 2064 6566 k..The outer def\n-000054d0: 2069 7320 6361 6c6c 6564 2061 20e2 809c is called a ...\n-000054e0: 6472 6177 6162 6c65 e280 9d20 6465 6669 drawable... defi\n-000054f0: 6e69 7469 6f6e 2062 6563 6175 7365 2069 nition because i\n-00005500: 7420 6465 7363 7269 6265 730a 736f 6d65 t describes.some\n-00005510: 7468 696e 6720 7468 6174 2063 616e 2062 thing that can b\n-00005520: 6520 6472 6177 6e2e 0a0a 2020 2041 2064 e drawn... A d\n-00005530: 7261 7761 626c 6520 6465 6669 6e69 7469 rawable definiti\n-00005540: 6f6e 2062 7920 6974 7365 6c66 2063 6175 on by itself cau\n-00005550: 7365 7320 6e6f 7468 696e 6720 746f 2068 ses nothing to h\n-00005560: 6170 7065 6e20 756e 7469 6c20 6974 730a appen until its.\n-00005570: 6e61 6d65 2069 7320 7265 6665 7265 6e63 name is referenc\n-00005580: 6564 2e20 2044 7261 7761 626c 6520 7265 ed. Drawable re\n-00005590: 6665 7265 6e63 6573 206d 7573 7420 6265 ferences must be\n-000055a0: 2065 6e63 6c6f 7365 6420 696e 2063 7572 enclosed in cur\n-000055b0: 6c79 0a62 7261 6365 732c 2065 2e67 2e20 ly.braces, e.g. \n-000055c0: 7b66 6f6f 7d2c 2077 6974 6820 6e6f 2069 {foo}, with no i\n-000055d0: 6e74 6572 7665 6e69 6e67 2077 6869 7465 ntervening white\n-000055e0: 2073 7061 6365 2e20 2049 6e20 7468 6520 space. In the \n-000055f0: 636f 6465 2061 626f 7665 2c0a 7468 6520 code above,.the \n-00005600: 6669 7273 7420 7265 6665 7265 6e63 6520 first reference \n-00005610: 7b70 6965 7263 6564 5f74 6574 7261 6865 {pierced_tetrahe\n-00005620: 6472 6f6e 7d20 6973 2061 2070 6c61 696e dron} is a plain\n-00005630: 206f 6e65 2e20 2049 7473 2065 6666 6563 one. Its effec\n-00005640: 7420 6973 0a6d 6572 656c 7920 746f 2064 t is.merely to d\n-00005650: 7570 6c69 6361 7465 2074 6865 2065 6172 uplicate the ear\n-00005660: 6c69 6572 2064 7261 7769 6e67 2e20 2041 lier drawing. A\n-00005670: 6c6d 6f73 7420 616e 7920 7365 7269 6573 lmost any series\n-00005680: 206f 6620 e280 9873 6b65 7463 68e2 8099 of ...sketch...\n-00005690: 0a63 6f6d 6d61 6e64 7320 7374 7566 6620 .commands stuff \n-000056a0: 6d61 7920 6265 2072 6570 6c61 6365 6420 may be replaced \n-000056b0: 7769 7468 2064 6566 2066 6f6f 207b 2073 with def foo { s\n-000056c0: 7475 6666 207d 207b 666f 6f7d 2077 6974 tuff } {foo} wit\n-000056d0: 686f 7574 0a63 6861 6e67 696e 6720 6974 hout.changing it\n-000056e0: 7320 6d65 616e 696e 672e 0a0a 2020 2054 s meaning... T\n-000056f0: 6865 2070 7574 2063 6f6d 6d61 6e64 2073 he put command s\n-00005700: 7570 706c 6965 7320 6120 7365 636f 6e64 upplies a second\n-00005710: 2072 6566 6572 656e 6365 2c20 7468 6973 reference, this\n-00005720: 2074 696d 6520 7769 7468 2061 0ae2 809c time with a....\n-00005730: 7472 616e 7366 6f72 6de2 809d 2061 7070 transform... app\n-00005740: 6c69 6564 2066 6972 7374 2e20 2054 6865 lied first. The\n-00005750: 2072 6f74 6174 6520 7472 616e 7366 6f72 rotate transfor\n-00005760: 6d20 7475 726e 7320 7468 6520 7465 7472 m turns the tetr\n-00005770: 6168 6564 726f 6e0a 3930 2064 6567 7265 ahedron.90 degre\n-00005780: 6573 2061 626f 7574 2074 6865 206f 7269 es about the ori\n-00005790: 6769 6e2e 2020 5468 6520 6178 6973 206f gin. The axis o\n-000057a0: 6620 726f 7461 7469 6f6e 2069 7320 7468 f rotation is th\n-000057b0: 6520 7665 6374 6f72 0a5b 312c 302c 305d e vector.[1,0,0]\n-000057c0: 2e20 2042 7920 7468 6520 e280 9c72 6967 . By the ...rig\n-000057d0: 6874 2068 616e 6420 7275 6c65 e280 9d2c ht hand rule...,\n-000057e0: 2074 6869 7320 6361 7573 6573 2074 6865 this causes the\n-000057f0: 2074 6f70 206f 6620 7468 650a 7465 7472 top of the.tetr\n-00005800: 6168 6564 726f 6e20 746f 2072 6f74 6174 ahedron to rotat\n-00005810: 6520 746f 7761 7264 2074 6865 2076 6965 e toward the vie\n-00005820: 7765 7220 616e 6420 7468 6520 626f 7474 wer and the bott\n-00005830: 6f6d 2061 7761 792e 2020 5468 6520 7275 om away. The ru\n-00005840: 6c65 0a72 6563 6569 7665 7320 6974 7320 le.receives its \n-00005850: 6e61 6d65 2066 726f 6d20 7468 6520 666f name from the fo\n-00005860: 6c6c 6f77 696e 6720 6465 6669 6e69 7469 llowing definiti\n-00005870: 6f6e 3a0a 2020 2020 202a 5269 6768 7420 on:. *Right \n-00005880: 6861 6e64 2072 756c 652e 2a20 2049 6620 hand rule.* If \n-00005890: 7468 6520 7269 6768 7420 6861 6e64 2069 the right hand i\n-000058a0: 7320 7772 6170 7065 6420 6172 6f75 6e64 s wrapped around\n-000058b0: 2061 6e79 2061 7869 730a 2020 2020 2077 any axis. w\n-000058c0: 6974 6820 7468 6520 7468 756d 6220 706f ith the thumb po\n-000058d0: 696e 7469 6e67 2069 6e20 7468 6520 6178 inting in the ax\n-000058e0: 6973 2064 6972 6563 7469 6f6e 2c20 7468 is direction, th\n-000058f0: 656e 2074 6865 2066 696e 6765 7273 0a20 en the fingers. \n-00005900: 2020 2020 6375 726c 2069 6e20 7468 6520 curl in the \n-00005910: 6469 7265 6374 696f 6e20 6f66 2070 6f73 direction of pos\n-00005920: 6974 6976 6520 726f 7461 7469 6f6e 2061 itive rotation a\n-00005930: 626f 7574 2074 6861 7420 6178 6973 2e0a bout that axis..\n-00005940: 2020 2054 6865 2074 7261 6e73 6c61 7465 The translate\n-00005950: 2074 7261 6e73 666f 726d 206d 6f76 6573 transform moves\n-00005960: 2074 6865 2070 7972 616d 6964 206c 6174 the pyramid lat\n-00005970: 6572 616c 6c79 2074 6f20 7468 6520 7269 erally to the ri\n-00005980: 6768 7420 6279 0a61 6464 696e 6720 7468 ght by.adding th\n-00005990: 6520 7665 6374 6f72 205b 322e 352c 302c e vector [2.5,0,\n-000059a0: 305d 2074 6f20 6561 6368 2076 6572 7465 0] to each verte\n-000059b0: 7820 636f 6f72 6469 6e61 7465 2e20 2054 x coordinate. T\n-000059c0: 6865 2072 6573 756c 7420 6973 0a73 686f he result is.sho\n-000059d0: 776e 2068 6572 652e 0a0a 0008 5b69 6d61 wn here.....[ima\n-000059e0: 6765 2073 7263 3d22 6578 3035 302e 706e ge src=\"ex050.pn\n-000059f0: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n-00005a00: 7830 3530 206f 6d69 7474 6564 2069 6e20 x050 omitted in \n-00005a10: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n-00005a20: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n-00005a30: 085d 0a0a 1f0a 4669 6c65 3a20 736b 6574 .]....File: sket\n-00005a40: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-00005a50: 5265 7065 6174 6564 206f 626a 6563 7473 Repeated objects\n-00005a60: 2c20 204e 6578 743a 2053 7765 7074 206f , Next: Swept o\n-00005a70: 626a 6563 7473 2c20 2050 7265 763a 204f bjects, Prev: O\n-00005a80: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n-00005a90: 2c20 2055 703a 2049 6e74 726f 6475 6374 , Up: Introduct\n-00005aa0: 696f 6e20 6279 2065 7861 6d70 6c65 0a0a ion by example..\n-00005ab0: 322e 3620 5265 7065 6174 6564 206f 626a 2.6 Repeated obj\n-00005ac0: 6563 7473 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d ects.===========\n-00005ad0: 3d3d 3d3d 3d3d 3d3d 3d0a 0a54 6f20 6472 =========..To dr\n-00005ae0: 6177 2073 6576 656e 2069 6e73 7461 6e63 aw seven instanc\n-00005af0: 6573 206f 6620 7468 6520 7465 7472 6168 es of the tetrah\n-00005b00: 6564 726f 6e2c 2065 6163 6820 6469 6666 edron, each diff\n-00005b10: 6572 696e 6720 6672 6f6d 2074 6865 206c ering from the l\n-00005b20: 6173 740a 6279 2074 6865 2073 616d 6520 ast.by the same \n-00005b30: 7472 616e 7366 6f72 6d2c 2072 6570 6c61 transform, repla\n-00005b40: 6365 2074 6865 206c 6173 7420 7477 6f20 ce the last two \n-00005b50: 636f 6d6d 616e 6473 206f 6620 7468 6520 commands of the \n-00005b60: 7072 6576 696f 7573 0a65 7861 6d70 6c65 previous.example\n-00005b70: 2077 6974 680a 2020 7265 7065 6174 207b with. repeat {\n-00005b80: 2037 2c20 726f 7461 7465 2831 352c 2028 7, rotate(15, (\n-00005b90: 302c 302c 3029 2c20 5b31 2c30 2c30 5d29 0,0,0), [1,0,0])\n-00005ba0: 2025 2063 6f70 7920 696e 206e 6577 2070 % copy in new p\n-00005bb0: 6f73 6974 696f 6e0a 2020 2020 2020 2020 osition. \n-00005bc0: 2020 2020 2020 7468 656e 2074 7261 6e73 then trans\n-00005bd0: 6c61 7465 285b 322c 302c 305d 2920 7d20 late([2,0,0]) } \n-00005be0: 7b70 6965 7263 6564 5f74 6574 7261 6865 {pierced_tetrahe\n-00005bf0: 6472 6f6e 7d0a 416e 6420 7468 6520 7265 dron}.And the re\n-00005c00: 7375 6c74 2e2e 2e0a 0a00 085b 696d 6167 sult.......[imag\n-00005c10: 6520 7372 633d 2265 7830 3630 2e70 6e67 e src=\"ex060.png\n-00005c20: 2220 7465 7874 3d22 496d 6167 6520 6578 \" text=\"Image ex\n-00005c30: 3036 3020 6f6d 6974 7465 6420 696e 2074 060 omitted in t\n-00005c40: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t\n-00005c50: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.\"..\n-00005c60: 5d0a 0a1f 0a46 696c 653a 2073 6b65 7463 ]....File: sketc\n-00005c70: 682e 696e 666f 2c20 204e 6f64 653a 2053 h.info, Node: S\n-00005c80: 7765 7074 206f 626a 6563 7473 2c20 2050 wept objects, P\n-00005c90: 7265 763a 2052 6570 6561 7465 6420 6f62 rev: Repeated ob\n-00005ca0: 6a65 6374 732c 2020 5570 3a20 496e 7472 jects, Up: Intr\n-00005cb0: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam\n-00005cc0: 706c 650a 0a32 2e37 2053 7765 7074 206f ple..2.7 Swept o\n-00005cd0: 626a 6563 7473 0a3d 3d3d 3d3d 3d3d 3d3d bjects.=========\n-00005ce0: 3d3d 3d3d 3d3d 3d3d 0a0a 4d61 6e79 2066 ========..Many f\n-00005cf0: 616d 696c 6961 7220 7368 6170 6573 2063 amiliar shapes c\n-00005d00: 616e 2062 6520 6765 6e65 7261 7465 6420 an be generated \n-00005d10: 6279 2073 7765 6570 696e 6720 7369 6d70 by sweeping simp\n-00005d20: 6c65 7220 6f6e 6573 2074 6872 6f75 6768 ler ones through\n-00005d30: 0a73 7061 6365 2061 6e64 2063 6f6e 7369 .space and consi\n-00005d40: 6465 7269 6e67 2074 6865 2072 6573 756c dering the resul\n-00005d50: 7469 6e67 2070 6174 682c 2073 7572 6661 ting path, surfa\n-00005d60: 6365 2c20 6f72 2076 6f6c 756d 652e 2020 ce, or volume. \n-00005d70: e280 9853 6b65 7463 68e2 8099 0a69 6d70 ...Sketch....imp\n-00005d80: 6c65 6d65 6e74 7320 7468 6973 2069 6465 lements this ide\n-00005d90: 6120 696e 2074 6865 2073 7765 6570 2063 a in the sweep c\n-00005da0: 6f6d 6d61 6e64 2e0a 2020 6465 6620 6e5f ommand.. def n_\n-00005db0: 7365 6773 2038 0a20 2073 7765 6570 207b segs 8. sweep {\n-00005dc0: 206e 5f73 6567 732c 2072 6f74 6174 6528 n_segs, rotate(\n-00005dd0: 3138 3020 2f20 6e5f 7365 6773 2c20 2830 180 / n_segs, (0\n-00005de0: 2c30 2c30 292c 205b 302c 302c 315d 2920 ,0,0), [0,0,1]) \n-00005df0: 7d20 2831 2c30 2c30 290a 5468 6973 2063 } (1,0,0).This c\n-00005e00: 6f64 6520 7377 6565 7073 2074 6865 2070 ode sweeps the p\n-00005e10: 6f69 6e74 2028 312c 302c 3029 2065 6967 oint (1,0,0) eig\n-00005e20: 6874 2074 696d 6573 2062 7920 726f 7461 ht times by rota\n-00005e30: 7469 6e67 2069 7420 3138 302f 3820 3d0a ting it 180/8 =.\n-00005e40: 3232 2e35 2064 6567 7265 6573 2065 6163 22.5 degrees eac\n-00005e50: 6820 7469 6d65 2061 6e64 2063 6f6e 6e65 h time and conne\n-00005e60: 6374 696e 6720 7468 6520 7265 7375 6c74 cting the result\n-00005e70: 696e 6720 706f 696e 7473 2077 6974 6820 ing points with \n-00005e80: 6c69 6e65 0a73 6567 6d65 6e74 732e 2020 line.segments. \n-00005e90: 5468 6520 6465 6620 7573 6564 2068 6572 The def used her\n-00005ea0: 6520 6973 2061 20e2 809c 7363 616c 6172 e is a ...scalar\n-00005eb0: e280 9d20 6465 6669 6e69 7469 6f6e 2e20 ... definition. \n-00005ec0: 2052 6566 6572 656e 6365 7320 746f 0a73 References to.s\n-00005ed0: 6361 6c61 7273 2068 6176 6520 6e6f 2065 calars have no e\n-00005ee0: 6e63 6c6f 7369 6e67 2062 7261 636b 6574 nclosing bracket\n-00005ef0: 7320 6174 2061 6c6c 2e0a 0a2a 204d 656e s at all...* Men\n-00005f00: 753a 0a0a 2a20 506f 696e 7420 7377 6565 u:..* Point swee\n-00005f10: 7073 3a3a 2020 2020 2020 2020 2020 2020 ps:: \n-00005f20: 2020 2020 5377 6570 7420 706f 696e 7473 Swept points\n-00005f30: 206d 616b 6520 6c69 6e65 7320 616e 6420 make lines and \n-00005f40: 706f 6c79 676f 6e73 2e0a 2a20 506f 6c79 polygons..* Poly\n-00005f50: 6c69 6e65 2073 7765 6570 733a 3a20 2020 line sweeps:: \n-00005f60: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-00005f70: 6c69 6e65 7320 6d61 6b65 2073 7572 6661 lines make surfa\n-00005f80: 6365 732e 0a2a 204e 6573 7465 6420 7377 ces..* Nested sw\n-00005f90: 6565 7073 3a3a 2020 2020 2020 2020 2020 eeps:: \n-00005fa0: 2020 2020 2053 7765 7074 2073 7765 6570 Swept sweep\n-00005fb0: 7320 6172 6520 7573 6566 756c 210a 2a20 s are useful!.* \n-00005fc0: 506f 6c79 676f 6e20 7377 6565 7073 3a3a Polygon sweeps::\n-00005fd0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-00005fe0: 6570 7420 706f 6c79 676f 6e73 206d 616b ept polygons mak\n-00005ff0: 6520 736f 6c69 6473 2e2e 2e0a 2a20 506f e solids....* Po\n-00006000: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi\n-00006010: 7468 2063 6c6f 7375 7265 3a3a 2020 616e th closure:: an\n-00006020: 6420 736f 2064 6f20 636c 6f73 6564 2070 d so do closed p\n-00006030: 6f6c 796c 696e 6520 7377 6565 7073 2e0a olyline sweeps..\n-00006040: 2a20 4166 6669 6e65 2061 7269 7468 6d65 * Affine arithme\n-00006050: 7469 633a 3a20 2020 2020 2020 2020 2020 tic:: \n-00006060: 536b 6574 6368 2075 7365 6675 6c20 6d61 Sketch useful ma\n-00006070: 7468 2065 7870 7265 7373 696f 6e2e 0a2a th expression..*\n-00006080: 204d 6f72 6520 746f 206c 6561 726e 3a3a More to learn::\n-00006090: 2020 2020 2020 2020 2020 2020 2020 2043 C\n-000060a0: 6865 636b 206f 7574 2074 6865 204d 6f62 heck out the Mob\n-000060b0: 6975 7320 7374 7269 7021 0a0a 1f0a 4669 ius strip!....Fi\n-000060c0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-000060d0: 2020 4e6f 6465 3a20 506f 696e 7420 7377 Node: Point sw\n-000060e0: 6565 7073 2c20 204e 6578 743a 2050 6f6c eeps, Next: Pol\n-000060f0: 796c 696e 6520 7377 6565 7073 2c20 2050 yline sweeps, P\n-00006100: 7265 763a 2053 7765 7074 206f 626a 6563 rev: Swept objec\n-00006110: 7473 2c20 2055 703a 2053 7765 7074 206f ts, Up: Swept o\n-00006120: 626a 6563 7473 0a0a 322e 372e 3120 506f bjects..2.7.1 Po\n-00006130: 696e 7420 7377 6565 7073 0a2d 2d2d 2d2d int sweeps.-----\n-00006140: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a53 -------------..S\n-00006150: 7765 6570 696e 6720 6120 706f 696e 7420 weeping a point \n-00006160: 6d61 6b65 7320 6120 6f6e 652d 6469 6d65 makes a one-dime\n-00006170: 6e73 696f 6e61 6c20 7061 7468 2c20 7768 nsional path, wh\n-00006180: 6963 6820 6973 2061 2070 6f6c 796c 696e ich is a polylin\n-00006190: 652e 0a53 696e 6365 2077 6520 6861 7665 e..Since we have\n-000061a0: 2073 7765 7074 2077 6974 6820 6120 726f swept with a ro\n-000061b0: 7461 7469 6f6e 2c20 7468 6520 7265 7375 tation, the resu\n-000061c0: 6c74 2069 7320 6120 6369 7263 756c 6172 lt is a circular\n-000061d0: 2061 7263 2e20 2048 6572 650a 6973 2077 arc. Here.is w\n-000061e0: 6861 7420 6974 206c 6f6f 6b73 206c 696b hat it looks lik\n-000061f0: 652e 0a0a 0008 5b69 6d61 6765 2073 7263 e.....[image src\n-00006200: 3d22 6578 3037 302e 706e 6722 2074 6578 =\"ex070.png\" tex\n-00006210: 743d 2249 6d61 6765 2065 7830 3730 206f t=\"Image ex070 o\n-00006220: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n-00006230: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n-00006240: 6f63 756d 656e 742e 2200 085d 0a0a 2020 ocument.\"..].. \n-00006250: 2054 6869 7320 6973 2074 6865 2066 6972 This is the fir\n-00006260: 7374 2065 7861 6d70 6c65 2077 6520 6861 st example we ha\n-00006270: 7665 2073 6565 6e20 6f66 20e2 8098 736b ve seen of ...sk\n-00006280: 6574 6368 e280 9920 6172 6974 686d 6574 etch... arithmet\n-00006290: 6963 2e20 2054 6865 0a65 7870 7265 7373 ic. The.express\n-000062a0: 696f 6e20 3138 3020 2f20 6e5f 7365 6773 ion 180 / n_segs\n-000062b0: 2063 6175 7365 7320 7468 6520 6569 6768 causes the eigh\n-000062c0: 7420 726f 7461 7469 6f6e 7320 746f 2061 t rotations to a\n-000062d0: 6464 2074 6f20 3138 302e 2020 4966 0a79 dd to 180. If.y\n-000062e0: 6f75 2772 6520 7061 7969 6e67 2061 7474 ou're paying att\n-000062f0: 656e 7469 6f6e 2c20 796f 7527 6c6c 2068 ention, you'll h\n-00006300: 6176 6520 616c 7265 6164 7920 6e6f 7465 ave already note\n-00006310: 6420 7468 6174 2074 6865 7265 2061 7265 d that there are\n-00006320: 205f 6e69 6e65 5f0a 706f 696e 7473 2c20 _nine_.points, \n-00006330: 7072 6f64 7563 696e 6720 6569 6768 7420 producing eight \n-00006340: 6c69 6e65 2073 6567 6d65 6e74 732e 0a0a line segments...\n-00006350: 2020 2059 6f75 2063 616e 2063 6175 7365 You can cause\n-00006360: 2074 6865 2073 7765 7074 2070 6f69 6e74 the swept point\n-00006370: 2074 6f20 6765 6e65 7261 7465 2061 2073 to generate a s\n-00006380: 696e 676c 6520 706f 6c79 676f 6e20 7261 ingle polygon ra\n-00006390: 7468 6572 0a74 6861 6e20 6120 706f 6c79 ther.than a poly\n-000063a0: 6c69 6e65 2062 7920 7573 696e 6720 7468 line by using th\n-000063b0: 6520 e280 9c63 6c6f 7375 7265 2074 6167 e ...closure tag\n-000063c0: e280 9d20 3c3e 2061 6674 6572 2074 6865 ... <> after the\n-000063d0: 206e 756d 6265 7220 6f66 2073 7765 7074 number of swept\n-000063e0: 0a6f 626a 6563 7473 2e20 2043 6f64 6520 .objects. Code \n-000063f0: 616e 6420 7265 7375 6c74 2066 6f6c 6c6f and result follo\n-00006400: 770a 2020 6465 6620 6e5f 7365 6773 2038 w. def n_segs 8\n-00006410: 0a20 2073 7765 6570 207b 206e 5f73 6567 . sweep { n_seg\n-00006420: 733c 3e2c 2072 6f74 6174 6528 3138 3020 s<>, rotate(180 \n-00006430: 2f20 6e5f 7365 6773 2c20 2830 2c30 2c30 / n_segs, (0,0,0\n-00006440: 292c 205b 302c 302c 315d 2920 7d20 2831 ), [0,0,1]) } (1\n-00006450: 2c30 2c30 290a 0008 5b69 6d61 6765 2073 ,0,0)...[image s\n-00006460: 7263 3d22 6578 3038 302e 706e 6722 2074 rc=\"ex080.png\" t\n-00006470: 6578 743d 2249 6d61 6765 2065 7830 3830 ext=\"Image ex080\n-00006480: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text\n-00006490: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this\n-000064a0: 2064 6f63 756d 656e 742e 2200 085d 0a0a document.\"..]..\n-000064b0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-000064c0: 6e66 6f2c 2020 4e6f 6465 3a20 506f 6c79 nfo, Node: Poly\n-000064d0: 6c69 6e65 2073 7765 6570 732c 2020 4e65 line sweeps, Ne\n-000064e0: 7874 3a20 4e65 7374 6564 2073 7765 6570 xt: Nested sweep\n-000064f0: 732c 2020 5072 6576 3a20 506f 696e 7420 s, Prev: Point \n-00006500: 7377 6565 7073 2c20 2055 703a 2053 7765 sweeps, Up: Swe\n-00006510: 7074 206f 626a 6563 7473 0a0a 322e 372e pt objects..2.7.\n-00006520: 3220 506f 6c79 6c69 6e65 2073 7765 6570 2 Polyline sweep\n-00006530: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.--------------\n-00006540: 2d2d 2d2d 2d2d 2d0a 0a53 7765 6570 696e -------..Sweepin\n-00006550: 6720 6120 706f 6c79 6c69 6e65 2070 726f g a polyline pro\n-00006560: 6475 6365 7320 6120 7375 7266 6163 6520 duces a surface \n-00006570: 636f 6d70 6f73 6564 206f 6620 6d61 6e79 composed of many\n-00006580: 2066 6163 6573 2e20 2054 6865 0a75 6e62 faces. The.unb\n-00006590: 726f 6b65 6e20 6865 6c69 7820 696e 2074 roken helix in t\n-000065a0: 6865 2065 7861 6d70 6c65 202a 6e6f 7465 he example *note\n-000065b0: 2048 656c 6978 2077 6974 6820 6375 6c6c Helix with cull\n-000065c0: 2073 6574 2066 616c 7365 2074 6865 6e0a set false then.\n-000065d0: 7472 7565 3a3a 2069 7320 7072 6f64 7563 true:: is produc\n-000065e0: 6564 2062 7920 7468 6973 2063 6f64 6520 ed by this code \n-000065f0: 2870 6c75 7320 6120 7375 7272 6f75 6e64 (plus a surround\n-00006600: 696e 6720 7075 7420 726f 7461 7469 6f6e ing put rotation\n-00006610: 2074 6f20 6d61 6b65 0a61 6e20 696e 7465 to make.an inte\n-00006620: 7265 7374 696e 6720 7669 6577 3b20 7468 resting view; th\n-00006630: 6973 2068 6173 2062 6565 6e20 6f6d 6974 is has been omit\n-00006640: 7465 6429 2e0a 2020 6465 6620 4b20 5b30 ted).. def K [0\n-00006650: 2c30 2c31 5d0a 2020 7377 6565 705b 6375 ,0,1]. sweep[cu\n-00006660: 6c6c 3d66 616c 7365 5d20 7b0a 2020 2020 ll=false] {. \n-00006670: 3630 2c20 0a20 2020 2072 6f74 6174 6528 60, . rotate(\n-00006680: 3130 2c20 2830 2c30 2c30 292c 205b 4b5d 10, (0,0,0), [K]\n-00006690: 2920 7468 656e 2074 7261 6e73 6c61 7465 ) then translate\n-000066a0: 2831 2f36 202a 205b 4b5d 2920 0a20 207d (1/6 * [K]) . }\n-000066b0: 206c 696e 655b 6c69 6e65 7769 6474 683d line[linewidth=\n-000066c0: 3270 745d 282d 312c 3029 2831 2c30 290a 2pt](-1,0)(1,0).\n-000066d0: 4167 6169 6e2c 2036 3020 7365 676d 656e Again, 60 segmen\n-000066e0: 7473 206f 6620 7468 6520 6865 6c69 7820 ts of the helix \n-000066f0: 6172 6520 7072 6f64 7563 6564 2062 7920 are produced by \n-00006700: 636f 6e6e 6563 7469 6e67 2036 3120 696e connecting 61 in\n-00006710: 7374 616e 6365 730a 6f66 2074 6865 2073 stances.of the s\n-00006720: 7765 7074 206c 696e 652e 2020 4f70 7469 wept line. Opti\n-00006730: 6f6e 7320 6170 706c 6965 6420 746f 2074 ons applied to t\n-00006740: 6865 2073 7765 6570 2c20 6865 7265 2063 he sweep, here c\n-00006750: 756c 6c3d 6661 6c73 652c 2061 7265 0a74 ull=false, are.t\n-00006760: 7265 6174 6564 2061 7320 6f70 7469 6f6e reated as option\n-00006770: 7320 666f 7220 7468 6520 6765 6e65 7261 s for the genera\n-00006780: 7465 6420 706f 6c79 676f 6e20 6f72 2070 ted polygon or p\n-00006790: 6f6c 796c 696e 652e 2020 4f70 7469 6f6e olyline. Option\n-000067a0: 7320 6f66 0a74 6865 2073 7765 7074 206c s of.the swept l\n-000067b0: 696e 6520 6974 7365 6c66 2c20 6865 7265 ine itself, here\n-000067c0: 206c 696e 6577 6964 7468 3d32 7074 2c20 linewidth=2pt, \n-000067d0: 6172 6520 6967 6e6f 7265 642c 2074 686f are ignored, tho\n-000067e0: 7567 6820 7769 7468 2061 0a77 6172 6e69 ugh with a.warni\n-000067f0: 6e67 2e20 2054 6869 7320 6465 6620 6973 ng. This def is\n-00006800: 2061 20e2 809c 7665 6374 6f72 e280 9d20 a ...vector... \n-00006810: 6465 6669 6e69 7469 6f6e 2c20 7768 6963 definition, whic\n-00006820: 6820 6d75 7374 2062 6520 7265 6665 7265 h must be refere\n-00006830: 6e63 6564 0a77 6974 6820 7371 7561 7265 nced.with square\n-00006840: 2062 7261 636b 6574 732c 2065 2e67 2e20 brackets, e.g. \n-00006850: 5b66 6f6f 5d2e 0a0a 1f0a 4669 6c65 3a20 [foo].....File: \n-00006860: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-00006870: 6465 3a20 4e65 7374 6564 2073 7765 6570 de: Nested sweep\n-00006880: 732c 2020 4e65 7874 3a20 506f 6c79 676f s, Next: Polygo\n-00006890: 6e20 7377 6565 7073 2c20 2050 7265 763a n sweeps, Prev:\n-000068a0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-000068b0: 2c20 2055 703a 2053 7765 7074 206f 626a , Up: Swept obj\n-000068c0: 6563 7473 0a0a 322e 372e 3320 4e65 7374 ects..2.7.3 Nest\n-000068d0: 6564 2073 7765 6570 730a 2d2d 2d2d 2d2d ed sweeps.------\n-000068e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a57 -------------..W\n-000068f0: 6865 6e20 7468 6520 6365 6e74 6572 2070 hen the center p\n-00006900: 6f69 6e74 206f 6620 726f 7461 7469 6f6e oint of rotation\n-00006910: 2069 7320 6f6d 6974 7465 642c 2074 6865 is omitted, the\n-00006920: 206f 7269 6769 6e20 6973 2061 7373 756d origin is assum\n-00006930: 6564 2e0a 5768 656e 2061 2070 6f69 6e74 ed..When a point\n-00006940: 2068 6173 206f 6e6c 7920 7477 6f20 636f has only two co\n-00006950: 6f72 6469 6e61 7465 732c 2074 6865 7920 ordinates, they \n-00006960: 6172 6520 7461 6b65 6e20 6173 2078 2061 are taken as x a\n-00006970: 6e64 2079 2c20 7769 7468 0a7a 3d30 2061 nd y, with.z=0 a\n-00006980: 7373 756d 6564 2e20 2041 2074 6f72 6f69 ssumed. A toroi\n-00006990: 6420 6973 2074 6865 7265 666f 7265 206f d is therefore o\n-000069a0: 6274 6169 6e65 6420 7769 7468 2074 6869 btained with thi\n-000069b0: 7320 636f 6465 2e0a 2020 6465 6620 6e5f s code.. def n_\n-000069c0: 746f 726f 6964 5f73 6567 7320 3230 2020 toroid_segs 20 \n-000069d0: 2064 6566 206e 5f63 6972 636c 655f 7365 def n_circle_se\n-000069e0: 6773 2031 360a 2020 6465 6620 725f 6d69 gs 16. def r_mi\n-000069f0: 6e6f 7220 3120 2020 2020 2020 2020 2064 nor 1 d\n-00006a00: 6566 2072 5f6d 616a 6f72 2031 2e35 0a20 ef r_major 1.5. \n-00006a10: 2073 7765 6570 207b 206e 5f74 6f72 6f69 sweep { n_toroi\n-00006a20: 645f 7365 6773 2c20 726f 7461 7465 2833 d_segs, rotate(3\n-00006a30: 3630 202f 206e 5f74 6f72 6f69 645f 7365 60 / n_toroid_se\n-00006a40: 6773 2c20 5b30 2c31 2c30 5d29 207d 0a20 gs, [0,1,0]) }. \n-00006a50: 2020 2073 7765 6570 207b 206e 5f63 6972 sweep { n_cir\n-00006a60: 636c 655f 7365 6773 2c20 726f 7461 7465 cle_segs, rotate\n-00006a70: 2833 3630 202f 206e 5f63 6972 636c 655f (360 / n_circle_\n-00006a80: 7365 6773 2c20 2872 5f6d 616a 6f72 2c30 segs, (r_major,0\n-00006a90: 2c30 2929 207d 200a 2020 2020 2020 2872 ,0)) } . (r\n-00006aa0: 5f6d 616a 6f72 202b 2072 5f6d 696e 6f72 _major + r_minor\n-00006ab0: 2c20 3029 0a20 2020 466f 7220 696e 7475 , 0). For intu\n-00006ac0: 6974 696f 6e2c 2074 6865 2069 6465 6120 ition, the idea \n-00006ad0: 6f66 2074 6865 2063 6f64 6520 6973 2074 of the code is t\n-00006ae0: 6f20 736b 6574 6368 2061 2063 6972 636c o sketch a circl\n-00006af0: 6520 746f 2074 6865 0a72 6967 6874 206f e to the.right o\n-00006b00: 6620 7468 6520 6f72 6967 696e 2069 6e20 f the origin in \n-00006b10: 7468 6520 7879 2d70 6c61 6e65 2c20 7468 the xy-plane, th\n-00006b20: 656e 2072 6f74 6174 6520 7468 6174 2063 en rotate that c\n-00006b30: 6972 636c 6520 226f 7574 206f 6620 7468 ircle \"out of th\n-00006b40: 650a 706c 616e 6522 2061 626f 7574 2074 e.plane\" about t\n-00006b50: 6865 2079 2d61 7869 7320 746f 206d 616b he y-axis to mak\n-00006b60: 6520 7468 6520 6669 6e61 6c20 6669 6775 e the final figu\n-00006b70: 7265 2e20 2054 6869 7320 7072 6f64 7563 re. This produc\n-00006b80: 6573 2074 6865 0a66 6f6c 6c6f 7769 6e67 es the.following\n-00006b90: 2e20 2028 4120 7669 6577 2072 6f74 6174 . (A view rotat\n-00006ba0: 696f 6e20 616e 6420 736f 6d65 2061 7865 ion and some axe\n-00006bb0: 7320 6861 7665 2062 6565 6e20 6164 6465 s have been adde\n-00006bc0: 642e 290a 0a00 085b 696d 6167 6520 7372 d.)....[image sr\n-00006bd0: 633d 2265 7830 3930 2e70 6e67 2220 7465 c=\"ex090.png\" te\n-00006be0: 7874 3d22 496d 6167 6520 6578 3039 3020 xt=\"Image ex090 \n-00006bf0: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text \n-00006c00: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this \n-00006c10: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a20 document.\"..].. \n-00006c20: 2020 5468 6973 2065 7861 6d70 6c65 2061 This example a\n-00006c30: 6c73 6f20 7368 6f77 7320 7468 6174 2074 lso shows that t\n-00006c40: 6865 2073 7765 7074 206f 626a 6563 7420 he swept object \n-00006c50: 6d61 7920 6974 7365 6c66 2062 6520 616e may itself be an\n-00006c60: 6f74 6865 720a e280 9873 7765 6570 e280 other....sweep..\n-00006c70: 992e 2020 496e 2066 6163 742c 2069 7420 .. In fact, it \n-00006c80: 6d61 7920 6265 205f 616e 795f 20e2 8098 may be _any_ ...\n-00006c90: 736b 6574 6368 e280 9920 6578 7072 6573 sketch... expres\n-00006ca0: 7369 6f6e 2074 6861 7420 7265 7375 6c74 sion that result\n-00006cb0: 7320 696e 2061 0a6c 6973 7420 6f66 206f s in a.list of o\n-00006cc0: 6e65 206f 7220 6d6f 7265 2070 6f69 6e74 ne or more point\n-00006cd0: 7320 6f72 2c20 616c 7465 726e 6174 656c s or, alternatel\n-00006ce0: 792c 2061 206c 6973 7420 6f66 206f 6e65 y, a list of one\n-00006cf0: 206f 7220 6d6f 7265 0a70 6f6c 796c 696e or more.polylin\n-00006d00: 6573 2061 6e64 2070 6f6c 7967 6f6e 732e es and polygons.\n-00006d10: 2020 5468 6520 6c61 7474 6572 206b 696e The latter kin\n-00006d20: 6420 6f66 206c 6973 7420 6361 6e20 6265 d of list can be\n-00006d30: 2063 7265 6174 6564 2077 6974 6820 610a created with a.\n-00006d40: 7b20 7d2d 656e 636c 6f73 6564 2062 6c6f { }-enclosed blo\n-00006d50: 636b 2c20 7065 7268 6170 7320 666f 6c6c ck, perhaps foll\n-00006d60: 6f77 696e 6720 6120 7075 7420 6f72 2072 owing a put or r\n-00006d70: 6570 6561 742e 0a0a 1f0a 4669 6c65 3a20 epeat.....File: \n-00006d80: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-00006d90: 6465 3a20 506f 6c79 676f 6e20 7377 6565 de: Polygon swee\n-00006da0: 7073 2c20 204e 6578 743a 2050 6f6c 796c ps, Next: Polyl\n-00006db0: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with \n-00006dc0: 636c 6f73 7572 652c 2020 5072 6576 3a20 closure, Prev: \n-00006dd0: 4e65 7374 6564 2073 7765 6570 732c 2020 Nested sweeps, \n-00006de0: 5570 3a20 5377 6570 7420 6f62 6a65 6374 Up: Swept object\n-00006df0: 730a 0a32 2e37 2e34 2050 6f6c 7967 6f6e s..2.7.4 Polygon\n-00006e00: 2073 7765 6570 730a 2d2d 2d2d 2d2d 2d2d sweeps.--------\n-00006e10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5377 ------------..Sw\n-00006e20: 6565 7069 6e67 2061 2070 6f6c 7967 6f6e eeping a polygon\n-00006e30: 2063 7265 6174 6573 2061 2063 6c6f 7365 creates a close\n-00006e40: 6420 7375 7266 6163 6520 7769 7468 2070 d surface with p\n-00006e50: 6f6c 7967 6f6e 7320 6174 2074 6865 2065 olygons at the e\n-00006e60: 6e64 732c 0a77 6869 6368 2061 7265 206a nds,.which are j\n-00006e70: 7573 7420 636f 7069 6573 206f 6620 7468 ust copies of th\n-00006e80: 6520 6f72 6967 696e 616c 2c20 6170 7072 e original, appr\n-00006e90: 6f70 7269 6174 656c 7920 706f 7369 7469 opriately positi\n-00006ea0: 6f6e 6564 2e20 202a 4e6f 7465 0a53 6f6c oned. *Note.Sol\n-00006eb0: 6964 2063 6f69 6c20 6578 616d 706c 653a id coil example:\n-00006ec0: 3a2e 2020 4f70 7469 6f6e 7320 6f6e 2074 :. Options on t\n-00006ed0: 6865 2073 7765 7074 2070 6f6c 7967 6f6e he swept polygon\n-00006ee0: 2c20 6966 2074 6865 7920 6578 6973 742c , if they exist,\n-00006ef0: 2061 7265 0a61 7070 6c69 6564 2074 6f20 are.applied to \n-00006f00: 7468 6520 656e 6473 2e20 204f 7468 6572 the ends. Other\n-00006f10: 7769 7365 2074 6865 2073 7765 6570 206f wise the sweep o\n-00006f20: 7074 696f 6e73 2061 7265 2075 7365 6420 ptions are used \n-00006f30: 7468 726f 7567 686f 7574 2e0a 0a1f 0a46 throughout.....F\n-00006f40: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-00006f50: 2c20 204e 6f64 653a 2050 6f6c 796c 696e , Node: Polylin\n-00006f60: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl\n-00006f70: 6f73 7572 652c 2020 4e65 7874 3a20 4166 osure, Next: Af\n-00006f80: 6669 6e65 2061 7269 7468 6d65 7469 632c fine arithmetic,\n-00006f90: 2020 5072 6576 3a20 506f 6c79 676f 6e20 Prev: Polygon \n-00006fa0: 7377 6565 7073 2c20 2055 703a 2053 7765 sweeps, Up: Swe\n-00006fb0: 7074 206f 626a 6563 7473 0a0a 322e 372e pt objects..2.7.\n-00006fc0: 3520 506f 6c79 6c69 6e65 2073 7765 6570 5 Polyline sweep\n-00006fd0: 7320 7769 7468 2063 6c6f 7375 7265 0a2d s with closure.-\n+00002750: 0a0a 5468 6520 e280 9873 6b65 7463 68e2 ..The ...sketch.\n+00002760: 8099 2069 6e70 7574 206c 616e 6775 6167 .. input languag\n+00002770: 6520 7769 6c6c 2073 6565 6d20 6661 6d69 e will seem fami\n+00002780: 6c69 6172 2074 6f20 7573 6572 7320 6f66 liar to users of\n+00002790: 2074 6865 0ae2 8098 5053 5472 6963 6b73 the....PSTricks\n+000027a0: e280 9920 7061 636b 6167 6520 666f 7220 ... package for \n+000027b0: 4c61 5465 582e 2020 5468 6520 666f 6c6c LaTeX. The foll\n+000027c0: 6f77 696e 6720 7072 6f67 7261 6d20 6472 owing program dr\n+000027d0: 6177 7320 6120 7472 6961 6e67 756c 6172 aws a triangular\n+000027e0: 0a70 6f6c 7967 6f6e 2070 6965 7263 6564 .polygon pierced\n+000027f0: 2062 7920 6120 6c69 6e65 2e0a 2020 706f by a line.. po\n+00002800: 6c79 676f 6e28 302c 302c 3129 2831 2c30 lygon(0,0,1)(1,0\n+00002810: 2c30 2928 302c 312c 3029 0a20 206c 696e ,0)(0,1,0). lin\n+00002820: 6528 2d31 2c2d 312c 2d31 2928 322c 322c e(-1,-1,-1)(2,2,\n+00002830: 3229 0a54 6865 2063 6f6f 7264 696e 6174 2).The coordinat\n+00002840: 6520 7379 7374 656d 2069 7320 6120 7374 e system is a st\n+00002850: 616e 6461 7264 2072 6967 6874 2d68 616e andard right-han\n+00002860: 6465 6420 4361 7274 6573 6961 6e20 6f6e ded Cartesian on\n+00002870: 652e 0a0a 0008 5b69 6d61 6765 2073 7263 e.....[image src\n+00002880: 3d22 6578 3031 302e 706e 6722 2074 6578 =\"ex010.png\" tex\n+00002890: 743d 2249 6d61 6765 2065 7830 3130 206f t=\"Image ex010 o\n+000028a0: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n+000028b0: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n+000028c0: 6f63 756d 656e 742e 2200 085d 0a0a 2a20 ocument.\"..]..* \n+000028d0: 4d65 6e75 3a0a 0a2a 2048 656c 6c6f 2077 Menu:..* Hello w\n+000028e0: 6f72 6c64 3a3a 2020 2020 2020 2020 2020 orld:: \n+000028f0: 2020 2020 2020 2053 696d 706c 6573 7420 Simplest \n+00002900: 706f 7373 6962 6c65 20e2 8098 736b 6574 possible ...sket\n+00002910: 6368 e280 9920 7072 6f67 7261 6d2e 0a2a ch... program..*\n+00002920: 2044 7261 7769 6e67 206f 7074 696f 6e73 Drawing options\n+00002930: 3a3a 2020 2020 2020 2020 2020 2020 2043 :: C\n+00002940: 6f6e 7472 6f6c 6c69 6e67 206f 626a 6563 ontrolling objec\n+00002950: 7420 6170 7065 6172 616e 6365 2e0a 2a20 t appearance..* \n+00002960: 4472 6177 696e 6720 6120 736f 6c69 643a Drawing a solid:\n+00002970: 3a20 2020 2020 2020 2020 2020 2020 4472 : Dr\n+00002980: 6177 696e 6720 616e 206f 626a 6563 7420 awing an object \n+00002990: 7769 7468 2033 6420 6170 7065 6172 616e with 3d appearan\n+000029a0: 6365 2e0a 2a20 5370 6563 6961 6c20 6f62 ce..* Special ob\n+000029b0: 6a65 6374 733a 3a20 2020 2020 2020 2020 jects:: \n+000029c0: 2020 2020 4c61 7969 6e67 2054 6558 206f Laying TeX o\n+000029d0: 7665 722c 2069 6e2c 206f 7220 756e 6465 ver, in, or unde\n+000029e0: 7220 6472 6177 696e 6773 2e0a 2a20 4f62 r drawings..* Ob\n+000029f0: 6a65 6374 2074 7261 6e73 666f 726d 733a ject transforms:\n+00002a00: 3a20 2020 2020 2020 2020 2020 526f 7461 : Rota\n+00002a10: 7465 2c20 7472 616e 736c 6174 652c 2073 te, translate, s\n+00002a20: 6361 6c65 2c20 616e 6420 6f74 6865 7273 cale, and others\n+00002a30: 2e0a 2a20 5265 7065 6174 6564 206f 626a ..* Repeated obj\n+00002a40: 6563 7473 3a3a 2020 2020 2020 2020 2020 ects:: \n+00002a50: 2020 4d61 6b69 6e67 2074 7261 6e73 666f Making transfo\n+00002a60: 726d 6564 2063 6f70 6965 732e 0a2a 2053 rmed copies..* S\n+00002a70: 7765 7074 206f 626a 6563 7473 3a3a 2020 wept objects:: \n+00002a80: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+00002a90: 6570 696e 6720 6f62 6a65 6374 7320 696e eping objects in\n+00002aa0: 2073 7061 6365 2074 6f20 6d61 6b65 206e space to make n\n+00002ab0: 6577 2073 6861 7065 732e 0a0a 1f0a 4669 ew shapes.....Fi\n+00002ac0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+00002ad0: 2020 4e6f 6465 3a20 4865 6c6c 6f20 776f Node: Hello wo\n+00002ae0: 726c 642c 2020 4e65 7874 3a20 4472 6177 rld, Next: Draw\n+00002af0: 696e 6720 6f70 7469 6f6e 732c 2020 5072 ing options, Pr\n+00002b00: 6576 3a20 496e 7472 6f64 7563 7469 6f6e ev: Introduction\n+00002b10: 2062 7920 6578 616d 706c 652c 2020 5570 by example, Up\n+00002b20: 3a20 496e 7472 6f64 7563 7469 6f6e 2062 : Introduction b\n+00002b30: 7920 6578 616d 706c 650a 0a32 2e31 2048 y example..2.1 H\n+00002b40: 656c 6c6f 2077 6f72 6c64 0a3d 3d3d 3d3d ello world.=====\n+00002b50: 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 5468 6520 ==========..The \n+00002b60: e280 9873 6b65 7463 68e2 8099 2070 726f ...sketch... pro\n+00002b70: 6772 616d 2061 626f 7665 2069 7320 6e65 gram above is ne\n+00002b80: 6172 6c79 2074 6865 2073 696d 706c 6573 arly the simples\n+00002b90: 7420 6f6e 6520 706f 7373 6962 6c65 2c20 t one possible, \n+00002ba0: 7468 650a 6571 7569 7661 6c65 6e74 206f the.equivalent o\n+00002bb0: 6620 6120 2268 656c 6c6f 2077 6f72 6c64 f a \"hello world\n+00002bc0: 2220 7072 6f67 7261 6d20 796f 7520 6d69 \" program you mi\n+00002bd0: 6768 7420 6669 6e64 2061 7420 7468 6520 ght find at the \n+00002be0: 7374 6172 7420 6f66 2061 0a70 726f 6772 start of a.progr\n+00002bf0: 616d 6d69 6e67 206c 616e 6775 6167 6520 amming language \n+00002c00: 7465 7874 2e20 2049 6620 6974 2069 7320 text. If it is \n+00002c10: 7361 7665 6420 696e 2074 6865 2066 696c saved in the fil\n+00002c20: 6520 e280 9873 696d 706c 652e 736b e280 e ...simple.sk..\n+00002c30: 992c 2074 6865 6e0a 7468 6520 636f 6d6d ., then.the comm\n+00002c40: 616e 640a 2020 736b 6574 6368 2073 696d and. sketch sim\n+00002c50: 706c 652e 736b 202d 6f20 7369 6d70 6c65 ple.sk -o simple\n+00002c60: 2e74 6578 0a63 7265 6174 6573 2061 2066 .tex.creates a f\n+00002c70: 696c 6520 e280 9873 696d 706c 652e 7465 ile ...simple.te\n+00002c80: 78e2 8099 2063 6f6e 7461 696e 696e 6720 x... containing \n+00002c90: e280 9850 5354 7269 636b 73e2 8099 2063 ...PSTricks... c\n+00002ca0: 6f6d 6d61 6e64 7320 746f 2064 7261 7720 ommands to draw \n+00002cb0: 7468 6573 650a 6f62 6a65 6374 7320 6f6e these.objects on\n+00002cc0: 2070 6170 6572 2e20 2054 6865 2063 6f6e paper. The con\n+00002cd0: 7465 6e74 7320 6f66 20e2 8098 7369 6d70 tents of ...simp\n+00002ce0: 6c65 2e74 6578 e280 9920 6c6f 6f6b 206c le.tex... look l\n+00002cf0: 696b 6520 7468 6973 2e0a 2020 5c62 6567 ike this.. \\beg\n+00002d00: 696e 7b70 7370 6963 7475 7265 7d28 2d31 in{pspicture}(-1\n+00002d10: 2c2d 3129 2832 2c32 290a 2020 5c70 7374 ,-1)(2,2). \\pst\n+00002d20: 5665 7262 7b31 2073 6574 6c69 6e65 6a6f Verb{1 setlinejo\n+00002d30: 696e 7d0a 2020 5c70 736c 696e 6528 2d31 in}. \\psline(-1\n+00002d40: 2c2d 3129 282e 3333 332c 2e33 3333 290a ,-1)(.333,.333).\n+00002d50: 2020 5c70 7370 6f6c 7967 6f6e 5b66 696c \\pspolygon[fil\n+00002d60: 6c73 7479 6c65 3d73 6f6c 6964 2c66 696c lstyle=solid,fil\n+00002d70: 6c63 6f6c 6f72 3d77 6869 7465 5d28 302c lcolor=white](0,\n+00002d80: 3029 2831 2c30 2928 302c 3129 0a20 205c 0)(1,0)(0,1). \\\n+00002d90: 7073 6c69 6e65 282e 3333 332c 2e33 3333 psline(.333,.333\n+00002da0: 2928 322c 3229 0a20 205c 656e 647b 7073 )(2,2). \\end{ps\n+00002db0: 7069 6374 7572 657d 0a54 6865 2068 6964 picture}.The hid\n+00002dc0: 6465 6e20 7375 7266 6163 6520 616c 676f den surface algo\n+00002dd0: 7269 7468 6d20 6f66 20e2 8098 736b 6574 rithm of ...sket\n+00002de0: 6368 e280 9920 6861 7320 7370 6c69 7420 ch... has split \n+00002df0: 7468 6520 6c69 6e65 2069 6e74 6f20 7477 the line into tw\n+00002e00: 6f0a 7069 6563 6573 2061 6e64 206f 7264 o.pieces and ord\n+00002e10: 6572 6564 2074 6865 2074 6872 6565 2072 ered the three r\n+00002e20: 6573 756c 7469 6e67 206f 626a 6563 7473 esulting objects\n+00002e30: 2073 6f20 7468 6174 2074 6865 2063 6f72 so that the cor\n+00002e40: 7265 6374 0a70 6f72 7469 6f6e 206f 6620 rect.portion of \n+00002e50: 7468 6520 6c69 6e65 2069 7320 6869 6464 the line is hidd\n+00002e60: 656e 2e0a 0a20 2020 4966 2079 6f75 2776 en... If you'v\n+00002e70: 6520 6e6f 7469 6365 6420 7468 6174 2074 e noticed that t\n+00002e80: 6865 2070 726f 6a65 6374 696f 6e20 7765 he projection we\n+00002e90: 2061 7265 2075 7369 6e67 2073 6565 6d73 are using seems\n+00002ea0: 2065 7175 6976 616c 656e 740a 746f 2065 equivalent.to e\n+00002eb0: 7261 7369 6e67 2074 6865 207a 2d63 6f6f rasing the z-coo\n+00002ec0: 7264 696e 6174 6520 6f66 2074 6865 2074 rdinate of the t\n+00002ed0: 6872 6565 2d64 696d 656e 7369 6f6e 616c hree-dimensional\n+00002ee0: 2069 6e70 7574 2070 6f69 6e74 732c 2070 input points, p\n+00002ef0: 6174 0a79 6f75 7273 656c 6620 6f6e 2074 at.yourself on t\n+00002f00: 6865 2062 6163 6b2e 2020 596f 7520 6172 he back. You ar\n+00002f10: 6520 636f 7272 6563 742e 2020 5468 6973 e correct. This\n+00002f20: 2069 7320 6361 6c6c 6564 2061 20e2 809c is called a ...\n+00002f30: 7061 7261 6c6c 656c 0a70 726f 6a65 6374 parallel.project\n+00002f40: 696f 6ee2 809d 2e20 2054 6865 207a 2d63 ion.... The z-c\n+00002f50: 6f6f 7264 696e 6174 6520 6178 6973 2069 oordinate axis i\n+00002f60: 7320 706f 696e 7469 6e67 2073 7472 6169 s pointing strai\n+00002f70: 6768 7420 6f75 7420 6f66 2074 6865 0a70 ght out of the.p\n+00002f80: 6170 6572 2061 7420 7573 2c20 7768 696c aper at us, whil\n+00002f90: 6520 7468 6520 782d 2061 6e64 2079 2d61 e the x- and y-a\n+00002fa0: 7865 7320 706f 696e 7420 746f 2074 6865 xes point to the\n+00002fb0: 2072 6967 6874 2061 6e64 2075 7020 6173 right and up as\n+00002fc0: 2075 7375 616c 2e0a 0a20 2020 5468 6520 usual... The \n+00002fd0: 7265 7375 6c74 696e 6720 7069 6374 7572 resulting pictur\n+00002fe0: 6520 6669 6c65 2063 616e 2062 6520 696e e file can be in\n+00002ff0: 636c 7564 6564 2069 6e20 6120 4c61 5465 cluded in a LaTe\n+00003000: 5820 646f 6375 6d65 6e74 2077 6974 680a X document with.\n+00003010: 5c69 6e70 7574 7b73 696d 706c 657d 2e20 \\input{simple}. \n+00003020: 2041 6c74 6572 6e61 7465 6c79 2c20 6164 Alternately, ad\n+00003030: 6469 6e67 2074 6865 2063 6f6d 6d61 6e64 ding the command\n+00003040: 206c 696e 6520 6f70 7469 6f6e 20e2 8098 line option ...\n+00003050: 2d54 e280 9928 3129 0a63 6175 7365 7320 -T...(1).causes \n+00003060: 7468 6520 e280 9870 7370 6963 7475 7265 the ...pspicture\n+00003070: e280 9920 746f 2062 6520 7772 6170 7065 ... to be wrappe\n+00003080: 6420 696e 2061 2073 686f 7274 2062 7574 d in a short but\n+00003090: 2063 6f6d 706c 6574 6520 646f 6375 6d65 complete docume\n+000030a0: 6e74 2c0a 7265 6164 7920 746f 2072 756e nt,.ready to run\n+000030b0: 2074 686f 7567 6820 4c61 5465 582e 2020 though LaTeX. \n+000030c0: 496e 2061 2066 696e 6973 6865 642c 2074 In a finished, t\n+000030d0: 7970 6573 6574 2064 6f63 756d 656e 742c ypeset document,\n+000030e0: 2074 6865 2070 6963 7475 7265 0a6c 6f6f the picture.loo\n+000030f0: 6b73 206c 696b 6520 7468 6973 2e20 2028 ks like this. (\n+00003100: 5468 6520 6178 6573 2068 6176 6520 6265 The axes have be\n+00003110: 656e 2061 6464 6564 2069 6e20 6c69 6768 en added in ligh\n+00003120: 7420 6772 6179 2e29 0a0a 0008 5b69 6d61 t gray.)....[ima\n+00003130: 6765 2073 7263 3d22 6578 3032 302e 706e ge src=\"ex020.pn\n+00003140: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n+00003150: 7830 3230 206f 6d69 7474 6564 2069 6e20 x020 omitted in \n+00003160: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n+00003170: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n+00003180: 085d 0a0a 4974 2069 7320 696d 706f 7274 .]..It is import\n+00003190: 616e 7420 746f 206b 6e6f 7720 7468 6174 ant to know that\n+000031a0: 206f 6e6c 7920 7468 6520 226f 7574 7369 only the \"outsi\n+000031b0: 6465 2220 6f66 2061 2070 6f6c 7967 6f6e de\" of a polygon\n+000031c0: 2069 7320 6e6f 726d 616c 6c79 0a64 7261 is normally.dra\n+000031d0: 776e 2e20 2054 6865 20e2 809c 6f75 7473 wn. The ...outs\n+000031e0: 6964 65e2 809d 2069 7320 7768 6572 6520 ide... is where \n+000031f0: 7468 6520 7665 7274 6963 6573 2067 6976 the vertices giv\n+00003200: 656e 2069 6e20 7468 6520 e280 9870 6f6c en in the ...pol\n+00003210: 7967 6f6e e280 990a 636f 6d6d 616e 6420 ygon....command \n+00003220: 6170 7065 6172 2069 6e20 5f63 6f75 6e74 appear in _count\n+00003230: 6572 2d63 6c6f 636b 7769 7365 5f20 6f72 er-clockwise_ or\n+00003240: 6465 722e 2020 5468 7573 2c20 6966 2074 der. Thus, if t\n+00003250: 6865 2063 6f6d 6d61 6e64 2061 626f 7665 he command above\n+00003260: 0a68 6164 2062 6565 6e0a 2020 706f 6c79 .had been. poly\n+00003270: 676f 6e28 302c 312c 3029 2831 2c30 2c30 gon(0,1,0)(1,0,0\n+00003280: 2928 302c 302c 3129 0a74 6865 2070 6f6c )(0,0,1).the pol\n+00003290: 7967 6f6e 2077 6f75 6c64 206e 6f74 2061 ygon would not a\n+000032a0: 7070 6561 7220 696e 2074 6865 2070 6963 ppear in the pic\n+000032b0: 7475 7265 2061 7420 616c 6c2e 2020 4974 ture at all. It\n+000032c0: 2077 6f75 6c64 2068 6176 6520 6265 656e would have been\n+000032d0: 0ae2 809c 6375 6c6c 6564 e280 9d20 6672 ....culled... fr\n+000032e0: 6f6d 2074 6865 2073 6365 6e65 2e20 2054 om the scene. T\n+000032f0: 6869 7320 6375 6c6c 696e 6720 6265 6861 his culling beha\n+00003300: 7669 6f72 206d 6179 2073 6565 6d20 7374 vior may seem st\n+00003310: 7261 6e67 652c 2062 7574 0a73 7461 7920 range, but.stay \n+00003320: 7475 6e65 642e 0a0a 2020 202d 2d2d 2d2d tuned... -----\n+00003330: 2d2d 2d2d 2d20 466f 6f74 6e6f 7465 7320 ----- Footnotes \n+00003340: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2020 2028 ----------.. (\n+00003350: 3129 204f 7220 666f 7220 4575 726f 7065 1) Or for Europe\n+00003360: 616e 2075 7365 7273 206f 6620 4134 2073 an users of A4 s\n+00003370: 697a 6520 7061 7065 722c 20e2 8098 2d54 ize paper, ...-T\n+00003380: 65e2 8099 2e0a 0a1f 0a46 696c 653a 2073 e........File: s\n+00003390: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+000033a0: 653a 2044 7261 7769 6e67 206f 7074 696f e: Drawing optio\n+000033b0: 6e73 2c20 204e 6578 743a 2044 7261 7769 ns, Next: Drawi\n+000033c0: 6e67 2061 2073 6f6c 6964 2c20 2050 7265 ng a solid, Pre\n+000033d0: 763a 2048 656c 6c6f 2077 6f72 6c64 2c20 v: Hello world, \n+000033e0: 2055 703a 2049 6e74 726f 6475 6374 696f Up: Introductio\n+000033f0: 6e20 6279 2065 7861 6d70 6c65 0a0a 322e n by example..2.\n+00003400: 3220 4f70 7469 6f6e 730a 3d3d 3d3d 3d3d 2 Options.======\n+00003410: 3d3d 3d3d 3d0a 0a4d 616e 7920 e280 9850 =====..Many ...P\n+00003420: 5354 7269 636b 73e2 8099 2061 6e64 20e2 STricks... and .\n+00003430: 8098 5469 6b5a 2f50 4746 e280 9920 6f70 ..TikZ/PGF... op\n+00003440: 7469 6f6e 7320 776f 726b 206a 7573 7420 tions work just \n+00003450: 6669 6e65 2069 6e20 e280 9873 6b65 7463 fine in ...sketc\n+00003460: 68e2 8099 2e20 2049 660a 6765 6e65 7261 h.... If.genera\n+00003470: 7469 6e67 20e2 8098 5053 5472 6963 6b73 ting ...PSTricks\n+00003480: e280 992c 2074 6865 2063 6f64 650a 2020 ..., the code. \n+00003490: 706f 6c79 676f 6e5b 6669 6c6c 636f 6c6f polygon[fillcolo\n+000034a0: 723d 6c69 6768 7467 7261 792c 6c69 6e65 r=lightgray,line\n+000034b0: 7769 6474 683d 3370 745d 2830 2c30 2c31 width=3pt](0,0,1\n+000034c0: 2928 312c 302c 3029 2830 2c31 2c30 290a )(1,0,0)(0,1,0).\n+000034d0: 2020 6c69 6e65 5b6c 696e 6573 7479 6c65 line[linestyle\n+000034e0: 3d64 6f74 7465 645d 282d 312c 2d31 2c2d =dotted](-1,-1,-\n+000034f0: 3129 2832 2c32 2c32 290a 7072 6f64 7563 1)(2,2,2).produc\n+00003500: 6573 0a0a 0008 5b69 6d61 6765 2073 7263 es....[image src\n+00003510: 3d22 6578 3033 302e 706e 6722 2074 6578 =\"ex030.png\" tex\n+00003520: 743d 2249 6d61 6765 2065 7830 3330 206f t=\"Image ex030 o\n+00003530: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n+00003540: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n+00003550: 6f63 756d 656e 742e 2200 085d 0a0a 2020 ocument.\"..].. \n+00003560: 2054 6f20 7072 6f64 7563 6520 e280 9854 To produce ...T\n+00003570: 696b 5a2f 5047 46e2 8099 2c20 7468 6520 ikZ/PGF..., the \n+00003580: 636f 7272 6573 706f 6e64 696e 6720 636f corresponding co\n+00003590: 6465 2069 730a 2020 706f 6c79 676f 6e5b de is. polygon[\n+000035a0: 6669 6c6c 3d6c 6967 6874 6772 6179 2c6c fill=lightgray,l\n+000035b0: 696e 6520 7769 6474 683d 3370 745d 2830 ine width=3pt](0\n+000035c0: 2c30 2c31 2928 312c 302c 3029 2830 2c31 ,0,1)(1,0,0)(0,1\n+000035d0: 2c30 290a 2020 6c69 6e65 5b73 7479 6c65 ,0). line[style\n+000035e0: 3d64 6f74 7465 645d 282d 312c 2d31 2c2d =dotted](-1,-1,-\n+000035f0: 3129 2832 2c32 2c32 290a 2020 676c 6f62 1)(2,2,2). glob\n+00003600: 616c 207b 206c 616e 6775 6167 6520 7469 al { language ti\n+00003610: 6b7a 207d 0a54 6865 2066 696e 616c 20e2 kz }.The final .\n+00003620: 8098 676c 6f62 616c e280 9920 696e 7374 ..global... inst\n+00003630: 7275 6374 7320 e280 9873 6b65 7463 68e2 ructs ...sketch.\n+00003640: 8099 2074 6f20 7072 6f64 7563 6520 e280 .. to produce ..\n+00003650: 9854 696b 5a2f 5047 46e2 8099 2063 6f64 .TikZ/PGF... cod\n+00003660: 6520 6173 0a6f 7574 7075 7420 7261 7468 e as.output rath\n+00003670: 6572 2074 6861 6e20 7468 6520 6465 6661 er than the defa\n+00003680: 756c 742c 20e2 8098 5053 5472 6963 6b73 ult, ...PSTricks\n+00003690: e280 992e 2020 4e6f 7465 2074 6861 7420 .... Note that \n+000036a0: e280 9870 6f6c 7967 6f6e e280 9920 6669 ...polygon... fi\n+000036b0: 6c6c 0a63 6f6c 6f72 2061 6e64 20e2 8098 ll.color and ...\n+000036c0: 6c69 6e65 e280 9920 7374 796c 6520 6f70 line... style op\n+000036d0: 7469 6f6e 7320 626f 7468 2063 6f6e 666f tions both confo\n+000036e0: 726d 2074 6f20 e280 9854 696b 5ae2 8099 rm to ...TikZ...\n+000036f0: 2073 796e 7461 7820 7275 6c65 732e 2020 syntax rules. \n+00003700: 5468 650a 7265 7375 6c74 696e 6720 e280 The.resulting ..\n+00003710: 9854 696b 5a2f 5047 46e2 8099 206f 7574 .TikZ/PGF... out\n+00003720: 7075 7420 6973 0a20 205c 6265 6769 6e7b put is. \\begin{\n+00003730: 7469 6b7a 7069 6374 7572 657d 5b6a 6f69 tikzpicture}[joi\n+00003740: 6e3d 726f 756e 645d 0a20 205c 6472 6177 n=round]. \\draw\n+00003750: 5b64 6f74 7465 645d 282d 312c 2d31 292d [dotted](-1,-1)-\n+00003760: 2d28 2e33 3333 2c2e 3333 3329 3b0a 2020 -(.333,.333);. \n+00003770: 5c66 696c 6c64 7261 775b 6669 6c6c 3d6c \\filldraw[fill=l\n+00003780: 6967 6874 6772 6179 2c6c 696e 6520 7769 ightgray,line wi\n+00003790: 6474 683d 3370 745d 2830 2c30 292d 2d28 dth=3pt](0,0)--(\n+000037a0: 312c 3029 2d2d 2830 2c31 292d 2d63 7963 1,0)--(0,1)--cyc\n+000037b0: 6c65 3b0a 2020 5c64 7261 775b 646f 7474 le;. \\draw[dott\n+000037c0: 6564 5d28 2e33 3333 2c2e 3333 3329 2d2d ed](.333,.333)--\n+000037d0: 2832 2c32 293b 0a20 205c 656e 647b 7469 (2,2);. \\end{ti\n+000037e0: 6b7a 7069 6374 7572 657d 0a54 6865 2072 kzpicture}.The r\n+000037f0: 656d 6169 6e69 6e67 2065 7861 6d70 6c65 emaining example\n+00003800: 7320 6f66 2074 6869 7320 6d61 6e75 616c s of this manual\n+00003810: 2061 7265 2069 6e20 5053 5472 6963 6b73 are in PSTricks\n+00003820: 2073 7479 6c65 2e0a 0a1f 0a46 696c 653a style.....File:\n+00003830: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+00003840: 6f64 653a 2044 7261 7769 6e67 2061 2073 ode: Drawing a s\n+00003850: 6f6c 6964 2c20 204e 6578 743a 2053 7065 olid, Next: Spe\n+00003860: 6369 616c 206f 626a 6563 7473 2c20 2050 cial objects, P\n+00003870: 7265 763a 2044 7261 7769 6e67 206f 7074 rev: Drawing opt\n+00003880: 696f 6e73 2c20 2055 703a 2049 6e74 726f ions, Up: Intro\n+00003890: 6475 6374 696f 6e20 6279 2065 7861 6d70 duction by examp\n+000038a0: 6c65 0a0a 322e 3320 4472 6177 696e 6720 le..2.3 Drawing \n+000038b0: 6120 736f 6c69 640a 3d3d 3d3d 3d3d 3d3d a solid.========\n+000038c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a4c 6574 ===========..Let\n+000038d0: 2773 2074 7279 2073 6f6d 6574 6869 6e67 's try something\n+000038e0: 206d 6f72 6520 6578 6369 7469 6e67 2e20 more exciting. \n+000038f0: 20e2 8098 536b 6574 6368 e280 9920 6861 ...Sketch... ha\n+00003900: 7320 6e6f 206e 6f74 696f 6e20 6f66 2061 s no notion of a\n+00003910: 2073 6f6c 6964 2c0a 6275 7420 706f 6c79 solid,.but poly\n+00003920: 676f 6e61 6c20 e280 9c66 6163 6573 e280 gonal ...faces..\n+00003930: 9d20 6361 6e20 6265 2075 7365 6420 746f . can be used to\n+00003940: 2072 6570 7265 7365 6e74 2074 6865 2062 represent the b\n+00003950: 6f75 6e64 6172 7920 6f66 2061 2073 6f6c oundary of a sol\n+00003960: 6964 2e0a 546f 2074 6865 2070 7265 7669 id..To the previ\n+00003970: 6f75 7320 6578 616d 706c 652c 206c 6574 ous example, let\n+00003980: 2773 2061 6464 2074 6872 6565 206d 6f72 's add three mor\n+00003990: 6520 7472 6961 6e67 756c 6172 2070 6f6c e triangular pol\n+000039a0: 7967 6f6e 7320 746f 0a6d 616b 6520 7468 ygons to.make th\n+000039b0: 6520 6661 6365 7320 6f66 2061 6e20 6972 e faces of an ir\n+000039c0: 7265 6775 6c61 7220 7465 7472 6168 6564 regular tetrahed\n+000039d0: 726f 6e2e 0a20 2025 2076 6572 7469 6365 ron.. % vertice\n+000039e0: 7320 6f66 2074 6865 2074 6574 7261 6865 s of the tetrahe\n+000039f0: 6472 6f6e 0a20 2064 6566 2070 3120 2830 dron. def p1 (0\n+00003a00: 2c30 2c31 2920 6465 6620 7032 2028 312c ,0,1) def p2 (1,\n+00003a10: 302c 3029 0a20 2064 6566 2070 3320 2830 0,0). def p3 (0\n+00003a20: 2c31 2c30 2920 6465 6620 7034 2028 2d2e ,1,0) def p4 (-.\n+00003a30: 332c 2d2e 352c 2d2e 3829 0a0a 2020 2520 3,-.5,-.8).. % \n+00003a40: 6661 6365 7320 6f66 2074 6865 2074 6574 faces of the tet\n+00003a50: 7261 6865 6472 6f6e 2e0a 2020 706f 6c79 rahedron.. poly\n+00003a60: 676f 6e28 7031 2928 7032 2928 7033 2920 gon(p1)(p2)(p3) \n+00003a70: 2520 6f72 6967 696e 616c 2066 726f 6e74 % original front\n+00003a80: 2070 6f6c 7967 6f6e 0a20 2070 6f6c 7967 polygon. polyg\n+00003a90: 6f6e 2870 3129 2870 3429 2870 3229 2025 on(p1)(p4)(p2) %\n+00003aa0: 2062 6f74 746f 6d0a 2020 706f 6c79 676f bottom. polygo\n+00003ab0: 6e28 7031 2928 7033 2928 7034 2920 2520 n(p1)(p3)(p4) % \n+00003ac0: 6c65 6674 0a20 2070 6f6c 7967 6f6e 2870 left. polygon(p\n+00003ad0: 3329 2870 3229 2870 3429 2025 2072 6561 3)(p2)(p4) % rea\n+00003ae0: 720a 0a20 2025 206c 696e 6520 746f 2070 r.. % line to p\n+00003af0: 6965 7263 6520 7468 6520 7465 7472 6168 ierce the tetrah\n+00003b00: 6564 726f 6e0a 2020 6c69 6e65 5b6c 696e edron. line[lin\n+00003b10: 6563 6f6c 6f72 3d72 6564 5d28 2d31 2c2d ecolor=red](-1,-\n+00003b20: 312c 2d31 2928 322c 322c 3229 0a54 6869 1,-1)(2,2,2).Thi\n+00003b30: 7320 6578 616d 706c 6520 7573 6573 20e2 s example uses .\n+00003b40: 809c 6465 6669 6e69 7469 6f6e 73e2 809d ..definitions...\n+00003b50: 2c20 7768 6963 6820 6265 6769 6e20 7769 , which begin wi\n+00003b60: 7468 20e2 8098 6465 66e2 8099 2e20 2054 th ...def.... T\n+00003b70: 6865 7365 20e2 809c 6465 6669 6e65 e280 hese ...define..\n+00003b80: 9d0a 6f72 2067 6976 6520 6e61 6d65 7320 ..or give names \n+00003b90: 746f 2070 6f69 6e74 732c 2077 6869 6368 to points, which\n+00003ba0: 2061 7265 2074 6865 6e20 6176 6169 6c61 are then availa\n+00003bb0: 626c 6520 6173 20e2 809c 7265 6665 7265 ble as ...refere\n+00003bc0: 6e63 6573 e280 9d20 6279 0a65 6e63 6c6f nces... by.enclo\n+00003bd0: 7369 6e67 2074 6865 206e 616d 6573 2069 sing the names i\n+00003be0: 6e20 7061 7265 6e74 6865 7365 732c 2065 n parentheses, e\n+00003bf0: 2e67 2e20 2866 6f6f 292e 2020 5468 6520 .g. (foo). The \n+00003c00: 7061 7265 6e74 6865 7365 7320 6465 6e6f parentheses deno\n+00003c10: 7465 0a74 6861 7420 7468 6520 6e61 6d65 te.that the name\n+00003c20: 7320 7265 6665 7220 746f 2070 6f69 6e74 s refer to point\n+00003c30: 733b 2074 6865 7920 6172 6520 7265 7175 s; they are requ\n+00003c40: 6972 6564 2e20 2054 6865 7265 2063 616e ired. There can\n+00003c50: 2062 6520 6e6f 0a77 6869 7465 2073 7061 be no.white spa\n+00003c60: 6365 2062 6574 7765 656e 2074 6865 6d20 ce between them \n+00003c70: 616e 6420 7468 6520 6e61 6d65 2e0a 0a20 and the name... \n+00003c80: 2020 4173 2079 6f75 2063 616e 2073 6565 As you can see\n+00003c90: 2c20 636f 6d6d 656e 7473 2073 7461 7274 , comments start\n+00003ca0: 2077 6974 6820 2520 6173 2069 6e20 5465 with % as in Te\n+00003cb0: 5820 616e 6420 6578 7465 6e64 2074 6f20 X and extend to \n+00003cc0: 7468 6520 656e 640a 6f66 2074 6865 206c the end.of the l\n+00003cd0: 696e 6520 2874 686f 7567 6820 2320 7769 ine (though # wi\n+00003ce0: 6c6c 2077 6f72 6b20 6173 2077 656c 6c29 ll work as well)\n+00003cf0: 2e20 2057 6869 7465 2073 7061 6365 2c20 . White space, \n+00003d00: 696e 636c 7564 696e 670a 7370 6163 6573 including.spaces\n+00003d10: 2c20 7461 6273 2061 6e64 2062 6c61 6e6b , tabs and blank\n+00003d20: 206c 696e 6573 2c20 6861 7320 6e6f 2065 lines, has no e\n+00003d30: 6666 6563 7420 696e 2074 6865 20e2 8098 ffect in the ...\n+00003d40: 736b 6574 6368 e280 9920 6c61 6e67 7561 sketch... langua\n+00003d50: 6765 2e0a 0a00 085b 696d 6167 6520 7372 ge.....[image sr\n+00003d60: 633d 2265 7830 3430 2e70 6e67 2220 7465 c=\"ex040.png\" te\n+00003d70: 7874 3d22 496d 6167 6520 6578 3034 3020 xt=\"Image ex040 \n+00003d80: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text \n+00003d90: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this \n+00003da0: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a49 document.\"..]..I\n+00003db0: 6620 7765 206c 6f6f 6b20 696e 7369 6465 f we look inside\n+00003dc0: 2074 6865 2054 6558 2066 696c 6520 7072 the TeX file pr\n+00003dd0: 6f64 7563 6564 2062 7920 e280 9873 6b65 oduced by ...ske\n+00003de0: 7463 68e2 8099 2c20 7468 6572 6520 7769 tch..., there wi\n+00003df0: 6c6c 2062 6520 6f6e 6c79 0a74 6872 6565 ll be only.three\n+00003e00: 2070 6f6c 7967 6f6e 732e 2020 5468 6520 polygons. The \n+00003e10: 666f 7572 7468 2068 6173 2062 6565 6e20 fourth has been \n+00003e20: 6375 6c6c 6564 2062 6563 6175 7365 2069 culled because i\n+00003e30: 7420 6973 2061 2022 6261 636b 2066 6163 t is a \"back fac\n+00003e40: 6522 0a6f 6620 7468 6520 7465 7472 6168 e\".of the tetrah\n+00003e50: 6564 726f 6e2c 2069 6e76 6973 6962 6c65 edron, invisible\n+00003e60: 2074 6f20 6f75 7220 7669 6577 2e20 2049 to our view. I\n+00003e70: 7420 6973 2075 6e6e 6563 6573 7361 7279 t is unnecessary\n+00003e80: 2c20 616e 6420 736f 2069 740a 6973 2072 , and so it.is r\n+00003e90: 656d 6f76 6564 2e0a 0a20 2020 496e 2073 emoved... In s\n+00003ea0: 6f6d 6520 6472 6177 696e 6773 2c20 706f ome drawings, po\n+00003eb0: 6c79 676f 6e73 2061 6374 2061 7320 7a65 lygons act as ze\n+00003ec0: 726f 2d74 6869 636b 6e65 7373 2073 6f6c ro-thickness sol\n+00003ed0: 6964 2073 7572 6661 6365 7320 7769 7468 id surfaces with\n+00003ee0: 0a62 6f74 6820 7369 6465 7320 7669 7369 .both sides visi\n+00003ef0: 626c 6520 7261 7468 6572 2074 6861 6e20 ble rather than \n+00003f00: 6173 2074 6865 2066 6163 6573 206f 6620 as the faces of \n+00003f10: 736f 6c69 6420 6f62 6a65 6374 732c 2077 solid objects, w\n+00003f20: 6865 7265 2062 6163 6b0a 6661 6365 7320 here back.faces \n+00003f30: 6361 6e20 6265 2063 756c 6c65 642e 2020 can be culled. \n+00003f40: 466f 7220 7a65 726f 2d74 6869 636b 6e65 For zero-thickne\n+00003f50: 7373 2073 6f6c 6964 732c 2063 756c 6c69 ss solids, culli\n+00003f60: 6e67 2069 7320 6120 7072 6f62 6c65 6d2e ng is a problem.\n+00003f70: 0a4f 6e65 2073 6f6c 7574 696f 6e20 6973 .One solution is\n+00003f80: 2074 6f20 7573 6520 6120 7061 6972 206f to use a pair o\n+00003f90: 6620 e280 9873 6b65 7463 68e2 8099 2070 f ...sketch... p\n+00003fa0: 6f6c 7967 6f6e 7320 666f 7220 6561 6368 olygons for each\n+00003fb0: 0a7a 6572 6f2d 7468 6963 6b6e 6573 7320 .zero-thickness \n+00003fc0: 6661 6365 2c20 6964 656e 7469 6361 6c20 face, identical \n+00003fd0: 6578 6365 7074 2077 6974 6820 6f70 706f except with oppo\n+00003fe0: 7369 7465 2076 6572 7465 7820 6f72 6465 site vertex orde\n+00003ff0: 7273 2e20 2054 6869 730a 6973 2075 6e77 rs. This.is unw\n+00004000: 6965 6c64 7920 616e 6420 6578 7065 6e73 ieldy and expens\n+00004010: 6976 652e 2020 4120 6265 7474 6572 2077 ive. A better w\n+00004020: 6179 2069 7320 746f 2073 6574 2074 6865 ay is to set the\n+00004030: 20e2 8098 736b 6574 6368 e280 9920 696e ...sketch... in\n+00004040: 7465 726e 616c 0a6f 7074 696f 6e20 e280 ternal.option ..\n+00004050: 9863 756c 6ce2 8099 2074 6f20 e280 9866 .cull... to ...f\n+00004060: 616c 7365 e280 9920 696e 2074 6865 2075 alse... in the u\n+00004070: 7375 616c 20e2 8098 5053 5472 6963 6b73 sual ...PSTricks\n+00004080: e280 9920 6d61 6e6e 6572 2e0a 2020 706f ... manner.. po\n+00004090: 6c79 676f 6e5b 6375 6c6c 3d66 616c 7365 lygon[cull=false\n+000040a0: 5d28 7031 2928 7032 2928 7033 290a 5468 ](p1)(p2)(p3).Th\n+000040b0: 6520 666f 6c6c 6f77 696e 6720 7368 6f77 e following show\n+000040c0: 7320 7468 6520 7361 6d65 2068 656c 6978 s the same helix\n+000040d0: 2073 6861 7065 2064 7261 776e 2066 6972 shape drawn fir\n+000040e0: 7374 2077 6974 6820 6375 6c6c 3d74 7275 st with cull=tru\n+000040f0: 6520 2874 6865 0a64 6566 6175 6c74 2920 e (the.default) \n+00004100: 616e 6420 7468 656e 2063 756c 6c3d 6661 and then cull=fa\n+00004110: 6c73 652e 0a0a 0008 5b69 6d61 6765 2073 lse.....[image s\n+00004120: 7263 3d22 6578 3034 352e 706e 6722 2074 rc=\"ex045.png\" t\n+00004130: 6578 743d 2249 6d61 6765 2065 7830 3435 ext=\"Image ex045\n+00004140: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text\n+00004150: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this\n+00004160: 2064 6f63 756d 656e 742e 2200 085d 0a0a document.\"..]..\n+00004170: 5765 276c 6c20 736f 6f6e 2073 6565 2068 We'll soon see h\n+00004180: 6f77 2074 6f20 7072 6f64 7563 6520 7468 ow to produce th\n+00004190: 6573 6520 6865 6c69 7865 7320 7769 7468 ese helixes with\n+000041a0: 2061 2066 6577 206c 696e 6573 206f 6620 a few lines of \n+000041b0: e280 9873 6b65 7463 68e2 8099 0a6c 616e ...sketch....lan\n+000041c0: 6775 6167 6520 636f 6465 2e0a 0a20 2020 guage code... \n+000041d0: 4974 206d 6179 2062 6520 7465 6d70 7469 It may be tempti\n+000041e0: 6e67 2074 6f20 7475 726e 2063 756c 6c69 ng to turn culli\n+000041f0: 6e67 206f 6666 2067 7261 7475 6974 6f75 ng off gratuitou\n+00004200: 736c 7920 736f 2074 6861 7420 7665 7274 sly so that vert\n+00004210: 6578 0a6f 7264 6572 2063 616e 2062 6520 ex.order can be \n+00004220: 6967 6e6f 7265 642e 2020 5468 6973 2069 ignored. This i\n+00004230: 7320 6e6f 7420 6120 676f 6f64 2069 6465 s not a good ide\n+00004240: 6120 6265 6361 7573 6520 6f75 7470 7574 a because output\n+00004250: 2066 696c 6520 7369 7a65 0a61 6e64 2054 file size.and T\n+00004260: 6558 2061 6e64 2050 6f73 7473 6372 6970 eX and Postscrip\n+00004270: 7420 7072 6f63 6573 7369 6e67 2074 696d t processing tim\n+00004280: 6520 626f 7468 2064 6570 656e 6420 6f6e e both depend on\n+00004290: 2074 6865 206e 756d 6265 7220 6f66 0a6f the number of.o\n+000042a0: 7574 7075 7420 706f 6c79 676f 6e73 2e20 utput polygons. \n+000042b0: 2043 756c 6c69 6e67 2075 7375 616c 6c79 Culling usually\n+000042c0: 2069 6d70 726f 7665 7320 7065 7266 6f72 improves perfor\n+000042d0: 6d61 6e63 6520 6279 2061 2066 6163 746f mance by a facto\n+000042e0: 7220 6f66 0a74 776f 2e20 204f 6e20 7468 r of.two. On th\n+000042f0: 6520 6f74 6865 7220 6861 6e64 2c20 676c e other hand, gl\n+00004300: 6f62 616c 6c79 2073 6574 7469 6e67 20e2 obally setting .\n+00004310: 8098 6375 6c6c 3d66 616c 7365 e280 9920 ..cull=false... \n+00004320: 6973 2072 6561 736f 6e61 626c 650a 7768 is reasonable.wh\n+00004330: 696c 6520 6465 6275 6767 696e 672e 2020 ile debugging. \n+00004340: 5365 6520 2a6e 6f74 6520 476c 6f62 616c See *note Global\n+00004350: 206f 7074 696f 6e73 3a3a 2061 6e64 202a options:: and *\n+00004360: 6e6f 7465 204c 696d 6974 7320 6f6e 2065 note Limits on e\n+00004370: 7272 6f72 0a64 6574 6563 7469 6f6e 3a3a rror.detection::\n+00004380: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+00004390: 682e 696e 666f 2c20 204e 6f64 653a 2053 h.info, Node: S\n+000043a0: 7065 6369 616c 206f 626a 6563 7473 2c20 pecial objects, \n+000043b0: 204e 6578 743a 204f 626a 6563 7420 7472 Next: Object tr\n+000043c0: 616e 7366 6f72 6d73 2c20 2050 7265 763a ansforms, Prev:\n+000043d0: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid\n+000043e0: 2c20 2055 703a 2049 6e74 726f 6475 6374 , Up: Introduct\n+000043f0: 696f 6e20 6279 2065 7861 6d70 6c65 0a0a ion by example..\n+00004400: 322e 3420 5370 6563 6961 6c20 6f62 6a65 2.4 Special obje\n+00004410: 6374 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d cts.============\n+00004420: 3d3d 3d3d 3d3d 3d0a 0a57 6520 6361 6e20 =======..We can \n+00004430: 6164 6420 6c61 6265 6c73 2074 6f20 6120 add labels to a \n+00004440: 6472 6177 696e 6720 6279 2075 7369 6e67 drawing by using\n+00004450: 2073 7065 6369 616c 206f 626a 6563 7473 special objects\n+00004460: 2c20 7768 6963 6820 7072 6f76 6964 6520 , which provide \n+00004470: 610a 7761 7920 746f 2065 6d62 6564 2072 a.way to embed r\n+00004480: 6177 204c 6154 6558 2061 6e64 20e2 8098 aw LaTeX and ...\n+00004490: 5053 5472 6963 6b73 e280 9920 636f 6465 PSTricks... code\n+000044a0: 2e20 2041 6464 696e 6720 7468 6973 2074 . Adding this t\n+000044b0: 6f20 7468 650a 7465 7472 6168 6564 726f o the.tetrahedro\n+000044c0: 6e20 646f 6573 2074 6865 2074 7269 636b n does the trick\n+000044d0: 2e0a 2020 7370 6563 6961 6c20 7c5c 666f .. special |\\fo\n+000044e0: 6f74 6e6f 7465 7369 7a65 0a20 2020 2020 otnotesize. \n+000044f0: 2020 2020 2020 5c75 7075 747b 3270 747d \\uput{2pt}\n+00004500: 5b75 725d 2331 7b24 5031 247d 0a20 2020 [ur]#1{$P1$}. \n+00004510: 2020 2020 2020 2020 5c75 7075 745b 725d \\uput[r]\n+00004520: 2332 7b24 5032 247d 0a20 2020 2020 2020 #2{$P2$}. \n+00004530: 2020 2020 5c75 7075 745b 755d 2333 7b24 \\uput[u]#3{$\n+00004540: 5033 247d 0a20 2020 2020 2020 2020 2020 P3$}. \n+00004550: 5c75 7075 745b 645d 2334 7b24 5034 247d \\uput[d]#4{$P4$}\n+00004560: 7c0a 2020 2020 2870 3129 2870 3229 2870 |. (p1)(p2)(p\n+00004570: 3329 2870 3429 0a48 6572 6520 6973 2074 3)(p4).Here is t\n+00004580: 6865 2072 6573 756c 742e 0a0a 0008 5b69 he result.....[i\n+00004590: 6d61 6765 2073 7263 3d22 6578 3034 322e mage src=\"ex042.\n+000045a0: 706e 6722 2074 6578 743d 2249 6d61 6765 png\" text=\"Image\n+000045b0: 2065 7830 3432 206f 6d69 7474 6564 2069 ex042 omitted i\n+000045c0: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o\n+000045d0: 6620 7468 6973 2064 6f63 756d 656e 742e f this document.\n+000045e0: 2200 085d 0a0a 2020 2054 6865 7265 2061 \"..].. There a\n+000045f0: 7265 2073 6576 6572 616c 2064 6574 6169 re several detai\n+00004600: 6c73 2074 6f20 6e6f 7465 2068 6572 652e ls to note here.\n+00004610: 2020 4669 7273 742c 2074 6865 2071 756f First, the quo\n+00004620: 7469 6e67 0a63 6f6e 7665 6e74 696f 6e20 ting.convention \n+00004630: 666f 7220 7468 6520 7261 7720 636f 6465 for the raw code\n+00004640: 2069 7320 7369 6d69 6c61 7220 746f 2074 is similar to t\n+00004650: 6865 204c 6154 6558 205c 7665 7262 2063 he LaTeX \\verb c\n+00004660: 6f6d 6d61 6e64 2e20 2054 6865 0a66 6972 ommand. The.fir\n+00004670: 7374 206e 6f6e 2d77 6869 7465 2073 7061 st non-white spa\n+00004680: 6365 2063 6861 7261 6374 6572 2066 6f6c ce character fol\n+00004690: 6c6f 7769 6e67 2073 7065 6369 616c 2069 lowing special i\n+000046a0: 7320 756e 6465 7273 746f 6f64 2074 6f20 s understood to \n+000046b0: 6265 0a74 6865 2071 756f 7465 2063 6861 be.the quote cha\n+000046c0: 7261 6374 6572 2c20 696e 2074 6869 7320 racter, in this \n+000046d0: 6361 7365 20e2 8098 7ce2 8099 2e20 2054 case ...|.... T\n+000046e0: 6865 2072 6177 2074 6578 7420 636f 6e74 he raw text cont\n+000046f0: 696e 7565 7320 756e 7469 6c0a 7468 6973 inues until.this\n+00004700: 2063 6861 7261 6374 6572 2072 6563 7572 character recur\n+00004710: 732e 0a0a 2020 2053 6563 6f6e 642c 2074 s... Second, t\n+00004720: 6865 2061 7267 756d 656e 7420 7265 6665 he argument refe\n+00004730: 7265 6e63 6573 2023 312c 2023 322c 2023 rences #1, #2, #\n+00004740: 332c 2061 6e64 2023 3420 7265 6665 7220 3, and #4 refer \n+00004750: 746f 2070 6f69 6e74 2c0a 7665 6374 6f72 to point,.vector\n+00004760: 2c20 6f72 2073 6361 6c61 7220 7661 6c75 , or scalar valu\n+00004770: 6573 2069 6e20 7468 6520 6c69 7374 2074 es in the list t\n+00004780: 6861 7420 666f 6c6c 6f77 2e20 2054 6869 hat follow. Thi\n+00004790: 7320 6973 2073 696d 696c 6172 2074 6f0a s is similar to.\n+000047a0: 5465 5820 6d61 6372 6f20 7379 6e74 6178 TeX macro syntax\n+000047b0: 2e20 2054 6865 2074 7261 6e73 666f 726d . The transform\n+000047c0: 6564 2061 6e64 2074 776f 2d64 696d 656e ed and two-dimen\n+000047d0: 7369 6f6e 616c 2070 726f 6a65 6374 696f sional projectio\n+000047e0: 6e73 206f 660a 7468 6573 6520 7468 7265 ns of.these thre\n+000047f0: 652d 6469 6d65 6e73 696f 6e61 6c20 706f e-dimensional po\n+00004800: 696e 7473 2061 7265 2073 7562 7374 6974 ints are substit\n+00004810: 7574 6564 2069 6e20 7468 6520 6669 6e61 uted in the fina\n+00004820: 6c20 6f75 7470 7574 2e20 2041 6e0a 6172 l output. An.ar\n+00004830: 6775 6d65 6e74 2072 6566 6572 656e 6365 gument reference\n+00004840: 206f 6620 7468 6520 666f 726d 2023 312d of the form #1-\n+00004850: 3220 6973 2072 6570 6c61 6365 6420 7769 2 is replaced wi\n+00004860: 7468 2074 6865 2061 6e67 6c65 2069 6e0a th the angle in.\n+00004870: 6465 6772 6565 7320 6f66 2074 6865 2074 degrees of the t\n+00004880: 776f 2d64 696d 656e 7369 6f6e 616c 2076 wo-dimensional v\n+00004890: 6563 746f 7220 7468 6174 2063 6f6e 6e65 ector that conne\n+000048a0: 6374 7320 7468 6520 7072 6f6a 6563 7469 cts the projecti\n+000048b0: 6f6e 7320 6f66 0a74 6865 2074 776f 2072 ons of.the two r\n+000048c0: 6573 7065 6374 6976 6520 6172 6775 6d65 espective argume\n+000048d0: 6e74 2070 6f69 6e74 732c 2068 6572 6520 nt points, here \n+000048e0: 2331 2061 6e64 2023 322e 2020 5468 6520 #1 and #2. The \n+000048f0: 7375 6273 7469 7475 7465 640a 616e 676c substituted.angl\n+00004900: 6520 6973 2065 6e63 6c6f 7365 6420 696e e is enclosed in\n+00004910: 2063 7572 6c79 2062 7261 6365 7320 e280 curly braces ..\n+00004920: 987b 207d e280 992e 2020 5768 656e 20e2 .{ }.... When .\n+00004930: 8098 5469 6b5a 2f50 4746 e280 9920 6f75 ..TikZ/PGF... ou\n+00004940: 7470 7574 2069 730a 6265 696e 6720 6765 tput is.being ge\n+00004950: 6e65 7261 7465 642c 2074 6865 2061 6e67 nerated, the ang\n+00004960: 6c65 2069 7320 726f 756e 6465 6420 746f le is rounded to\n+00004970: 2074 6865 206e 6561 7265 7374 2064 6567 the nearest deg\n+00004980: 7265 6520 6265 6361 7573 650a 6e6f 6e2d ree because.non-\n+00004990: 696e 7465 6765 7220 616e 676c 6573 2061 integer angles a\n+000049a0: 7265 206e 6f74 2061 6c6c 6f77 6564 2062 re not allowed b\n+000049b0: 7920 e280 9854 696b 5a2f 5047 46e2 8099 y ...TikZ/PGF...\n+000049c0: 2070 7269 6d69 7469 7665 732e 0a0a 2020 primitives... \n+000049d0: 2041 7320 6f66 2056 6572 7369 6f6e 2030 As of Version 0\n+000049e0: 2e33 206f 6620 e280 9873 6b65 7463 68e2 .3 of ...sketch.\n+000049f0: 8099 2c20 7370 6563 6961 6c20 6172 6775 .., special argu\n+00004a00: 6d65 6e74 7320 6d61 7920 6265 2073 6361 ments may be sca\n+00004a10: 6c61 7273 206f 720a 7665 6374 6f72 7320 lars or.vectors \n+00004a20: 696e 2061 6464 6974 696f 6e20 746f 2070 in addition to p\n+00004a30: 6f69 6e74 732e 2020 5265 6665 7265 6e63 oints. Referenc\n+00004a40: 6573 2074 6f20 7363 616c 6172 2061 7267 es to scalar arg\n+00004a50: 756d 656e 7473 2061 7265 0a6d 6572 656c uments are.merel\n+00004a60: 7920 7265 706c 6163 6564 2077 6974 6820 y replaced with \n+00004a70: 6120 6e75 6d62 6572 2066 6f72 6d61 7474 a number formatt\n+00004a80: 6564 206a 7573 7420 6173 2061 6e79 2070 ed just as any p\n+00004a90: 6f69 6e74 2063 6f6f 7264 696e 6174 652e oint coordinate.\n+00004aa0: 0a52 6566 6572 656e 6365 7320 746f 2076 .References to v\n+00004ab0: 6563 746f 7273 2062 6563 6f6d 6520 7477 ectors become tw\n+00004ac0: 6f2d 6469 6d65 6e73 696f 6e61 6c20 706f o-dimensional po\n+00004ad0: 696e 7473 2e20 2054 6865 2074 6963 6b20 ints. The tick \n+00004ae0: 6f70 6572 6174 6f72 0a74 6861 7420 7365 operator.that se\n+00004af0: 6c65 6374 7320 696e 6469 7669 6475 616c lects individual\n+00004b00: 2063 6f6d 706f 6e65 6e74 7320 6f66 2070 components of p\n+00004b10: 6f69 6e74 7320 616e 6420 7665 6374 6f72 oints and vector\n+00004b20: 7320 656c 7365 7768 6572 6520 696e 0ae2 s elsewhere in..\n+00004b30: 8098 736b 6574 6368 e280 9920 2873 6565 ..sketch... (see\n+00004b40: 2066 6f72 2065 7861 6d70 6c65 202a 6e6f for example *no\n+00004b50: 7465 2041 6666 696e 6520 6172 6974 686d te Affine arithm\n+00004b60: 6574 6963 3a3a 2920 6361 6e20 616c 736f etic::) can also\n+00004b70: 2062 6520 6170 706c 6965 640a 746f 2070 be applied.to p\n+00004b80: 6f69 6e74 2061 6e64 2076 6563 746f 7220 oint and vector \n+00004b90: 6172 6775 6d65 6e74 2072 6566 6572 656e argument referen\n+00004ba0: 6365 732e 2020 416c 6c20 7468 7265 6520 ces. All three \n+00004bb0: 6469 6d65 6e73 696f 6e73 206f 6620 610a dimensions of a.\n+00004bc0: 7472 616e 7366 6f72 6d65 6420 706f 696e transformed poin\n+00004bd0: 7420 6f72 2076 6563 746f 7220 6361 6e20 t or vector can \n+00004be0: 616c 736f 2062 6520 7375 6273 7469 7475 also be substitu\n+00004bf0: 6564 2077 6974 6820 e280 9827 33e2 8099 ed with ...'3...\n+00004c00: 2e20 2053 6565 202a 6e6f 7465 0a53 7065 . See *note.Spe\n+00004c10: 6369 616c 733a 3a20 666f 7220 6465 7461 cials:: for deta\n+00004c20: 696c 732e 0a0a 2020 2042 7920 6465 6661 ils... By defa\n+00004c30: 756c 742c 20e2 8098 7370 6563 6961 6ce2 ult, ...special.\n+00004c40: 8099 206f 626a 6563 7473 2061 7265 2070 .. objects are p\n+00004c50: 7269 6e74 6564 206c 6173 742c 206f 7665 rinted last, ove\n+00004c60: 726c 6179 696e 6720 616c 6c20 6f74 6865 rlaying all othe\n+00004c70: 720a 6f62 6a65 6374 7320 696e 2074 6865 r.objects in the\n+00004c80: 2073 6365 6e65 2e20 2049 6620 796f 7520 scene. If you \n+00004c90: 7370 6563 6966 7920 7468 6520 696e 7465 specify the inte\n+00004ca0: 726e 616c 206f 7074 696f 6e20 e280 986c rnal option ...l\n+00004cb0: 6179 3d69 6ee2 8099 2c20 7468 650a 6869 ay=in..., the.hi\n+00004cc0: 6464 656e 2073 7572 6661 6365 2061 6c67 dden surface alg\n+00004cd0: 6f72 6974 686d 2063 6f6e 7369 6465 7273 orithm considers\n+00004ce0: 2074 6865 2065 6e74 6972 6520 7370 6563 the entire spec\n+00004cf0: 6961 6c20 6f62 6a65 6374 2074 6f20 6265 ial object to be\n+00004d00: 2074 6865 0a66 6972 7374 2070 6f69 6e74 the.first point\n+00004d10: 2028 2331 2920 696e 2074 6865 2061 7267 (#1) in the arg\n+00004d20: 756d 656e 7420 6c69 7374 2e20 2049 6620 ument list. If \n+00004d30: 7468 6174 2070 6f69 6e74 2069 7320 6265 that point is be\n+00004d40: 6869 6e64 2028 6f66 0a73 6d61 6c6c 6572 hind (of.smaller\n+00004d50: 207a 2d63 6f6d 706f 6e65 6e74 2074 6861 z-component tha\n+00004d60: 6e29 2061 6e79 2064 7261 7761 626c 652c n) any drawable,\n+00004d70: 2074 6865 6e20 7468 6520 656e 7469 7265 then the entire\n+00004d80: 2073 7065 6369 616c 206f 626a 6563 740a special object.\n+00004d90: 6973 2064 7261 776e 2062 6566 6f72 6520 is drawn before \n+00004da0: 7468 6174 2064 7261 7761 626c 652c 2073 that drawable, s\n+00004db0: 6f20 7468 6520 6472 6177 6162 6c65 206f o the drawable o\n+00004dc0: 6273 6375 7265 7320 7061 7274 7320 6f66 bscures parts of\n+00004dd0: 2074 6865 0a73 7065 6369 616c 206f 626a the.special obj\n+00004de0: 6563 7420 7468 6174 206f 7665 726c 6170 ect that overlap\n+00004df0: 7320 6974 2e20 2049 6e20 6f75 7220 6578 s it. In our ex\n+00004e00: 616d 706c 652c 2070 3120 6973 2074 6865 ample, p1 is the\n+00004e10: 2066 726f 6e74 2d6d 6f73 740a 706f 696e front-most.poin\n+00004e20: 7420 696e 2074 6865 2073 6365 6e65 2028 t in the scene (\n+00004e30: 6861 7320 7468 6520 6c61 7267 6573 7420 has the largest \n+00004e40: 7a2d 636f 6d70 6f6e 656e 7429 2c20 736f z-component), so\n+00004e50: 2061 6464 696e 6720 e280 986c 6179 3d69 adding ...lay=i\n+00004e60: 6ee2 8099 2068 6173 0a6e 6f20 6566 6665 n... has.no effe\n+00004e70: 6374 2e0a 0a20 2020 5769 7468 206f 7074 ct... With opt\n+00004e80: 696f 6e20 e280 986c 6179 3d75 6e64 6572 ion ...lay=under\n+00004e90: e280 992c 2061 2073 7065 6369 616c 2069 ..., a special i\n+00004ea0: 7320 6472 6177 6e20 5f62 6566 6f72 655f s drawn _before_\n+00004eb0: 2c20 6865 6e63 6520 6170 7065 6172 730a , hence appears.\n+00004ec0: 5f75 6e64 6572 5f20 616e 7920 6f66 2074 _under_ any of t\n+00004ed0: 6865 206f 626a 6563 7473 2068 616e 646c he objects handl\n+00004ee0: 6564 2062 7920 7468 6520 6869 6464 656e ed by the hidden\n+00004ef0: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit\n+00004f00: 686d 2e0a 5468 6973 2069 7320 686f 7720 hm..This is how \n+00004f10: 7468 6520 6c69 6768 7420 6772 6179 2061 the light gray a\n+00004f20: 7865 7320 7765 7265 2061 6464 6564 2074 xes were added t\n+00004f30: 6f20 7468 6520 2268 656c 6c6f 2077 6f72 o the \"hello wor\n+00004f40: 6c64 2220 6578 616d 706c 650a 2a6e 6f74 ld\" example.*not\n+00004f50: 6520 4865 6c6c 6f20 776f 726c 643a 3a2e e Hello world::.\n+00004f60: 0a0a 2020 2053 7065 6369 616c 206f 626a .. Special obj\n+00004f70: 6563 7473 2061 7265 2070 6f77 6572 6675 ects are powerfu\n+00004f80: 6c2c 2077 6974 6820 6d61 6e79 2070 6f73 l, with many pos\n+00004f90: 7369 626c 6520 7573 6573 2e0a 0a1f 0a46 sible uses.....F\n+00004fa0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+00004fb0: 2c20 204e 6f64 653a 204f 626a 6563 7420 , Node: Object \n+00004fc0: 7472 616e 7366 6f72 6d73 2c20 204e 6578 transforms, Nex\n+00004fd0: 743a 2052 6570 6561 7465 6420 6f62 6a65 t: Repeated obje\n+00004fe0: 6374 732c 2020 5072 6576 3a20 5370 6563 cts, Prev: Spec\n+00004ff0: 6961 6c20 6f62 6a65 6374 732c 2020 5570 ial objects, Up\n+00005000: 3a20 496e 7472 6f64 7563 7469 6f6e 2062 : Introduction b\n+00005010: 7920 6578 616d 706c 650a 0a32 2e35 2054 y example..2.5 T\n+00005020: 7261 6e73 666f 726d 730a 3d3d 3d3d 3d3d ransforms.======\n+00005030: 3d3d 3d3d 3d3d 3d3d 0a0a 4e6f 7720 6c65 ========..Now le\n+00005040: 7427 7320 6164 6420 6120 7365 636f 6e64 t's add a second\n+00005050: 2063 6f70 7920 6f66 2074 6865 2070 6965 copy of the pie\n+00005060: 7263 6564 2074 6574 7261 6865 6472 6f6e rced tetrahedron\n+00005070: 2e20 2057 6527 6c6c 2072 6f74 6174 650a . We'll rotate.\n+00005080: 7468 6520 636f 7079 2039 3020 6465 6772 the copy 90 degr\n+00005090: 6565 7320 6162 6f75 7420 7468 6520 782d ees about the x-\n+000050a0: 6178 6973 2077 6974 6820 7468 6520 6f72 axis with the or\n+000050b0: 6967 696e 2061 7320 e280 9c63 656e 7465 igin as ...cente\n+000050c0: 7220 6f66 0a72 6f74 6174 696f 6ee2 809d r of.rotation...\n+000050d0: 2073 6f20 7765 2063 616e 2073 6565 2074 so we can see t\n+000050e0: 6865 2062 6163 6b2c 2074 6865 6e20 7472 he back, then tr\n+000050f0: 616e 736c 6174 6520 6974 2074 6f20 7468 anslate it to th\n+00005100: 6520 7269 6768 742d 2d69 6e20 7468 650a e right--in the.\n+00005110: 706f 7369 7469 7665 2078 2d64 6972 6563 positive x-direc\n+00005120: 7469 6f6e 2d2d 736f 2069 7420 646f 6573 tion--so it does\n+00005130: 6e27 7420 636f 6c6c 6964 6520 7769 7468 n't collide with\n+00005140: 2074 6865 206f 7269 6769 6e61 6c2e 2020 the original. \n+00005150: 546f 2068 656c 700a 7573 2073 6565 2077 To help.us see w\n+00005160: 6861 7427 7320 676f 696e 6720 6f6e 2c20 hat's going on, \n+00005170: 6d61 6b65 2074 6865 2062 6163 6b20 7369 make the back si\n+00005180: 6465 2067 7261 792e 0a20 2064 6566 2070 de gray.. def p\n+00005190: 6965 7263 6564 5f74 6574 7261 6865 6472 ierced_tetrahedr\n+000051a0: 6f6e 207b 0a20 2020 2064 6566 2070 3120 on {. def p1 \n+000051b0: 2830 2c30 2c31 2920 6465 6620 7032 2028 (0,0,1) def p2 (\n+000051c0: 312c 302c 3029 0a20 2020 2064 6566 2070 1,0,0). def p\n+000051d0: 3320 2830 2c31 2c30 2920 6465 6620 7034 3 (0,1,0) def p4\n+000051e0: 2028 2d2e 332c 2d2e 352c 2d2e 3829 0a20 (-.3,-.5,-.8). \n+000051f0: 2020 2070 6f6c 7967 6f6e 2870 3129 2870 polygon(p1)(p\n+00005200: 3229 2870 3329 2020 2020 2020 2020 2020 2)(p3) \n+00005210: 2020 2020 2020 2020 2020 2020 2520 6f72 % or\n+00005220: 6967 696e 616c 0a20 2020 2070 6f6c 7967 iginal. polyg\n+00005230: 6f6e 2870 3129 2870 3429 2870 3229 2020 on(p1)(p4)(p2) \n+00005240: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00005250: 2020 2020 2520 626f 7474 6f6d 0a20 2020 % bottom. \n+00005260: 2070 6f6c 7967 6f6e 2870 3129 2870 3329 polygon(p1)(p3)\n+00005270: 2870 3429 2020 2020 2020 2020 2020 2020 (p4) \n+00005280: 2020 2020 2020 2020 2020 2520 6c65 6674 % left\n+00005290: 0a20 2020 2070 6f6c 7967 6f6e 5b66 696c . polygon[fil\n+000052a0: 6c63 6f6c 6f72 3d6c 6967 6874 6772 6179 lcolor=lightgray\n+000052b0: 5d28 7033 2928 7032 2928 7034 2920 2520 ](p3)(p2)(p4) % \n+000052c0: 7265 6172 0a20 2020 206c 696e 655b 6c69 rear. line[li\n+000052d0: 6e65 636f 6c6f 723d 7265 645d 282d 312c necolor=red](-1,\n+000052e0: 2d31 2c2d 3129 2832 2c32 2c32 290a 2020 -1,-1)(2,2,2). \n+000052f0: 7d0a 2020 7b70 6965 7263 6564 5f74 6574 }. {pierced_tet\n+00005300: 7261 6865 6472 6f6e 7d20 2025 2074 6574 rahedron} % tet\n+00005310: 7261 6865 6472 6f6e 2069 6e20 6f72 6967 rahedron in orig\n+00005320: 696e 616c 2070 6f73 6974 696f 6e0a 2020 inal position. \n+00005330: 7075 7420 7b20 726f 7461 7465 2839 302c put { rotate(90,\n+00005340: 2028 302c 302c 3029 2c20 5b31 2c30 2c30 (0,0,0), [1,0,0\n+00005350: 5d29 2025 2063 6f70 7920 696e 206e 6577 ]) % copy in new\n+00005360: 2070 6f73 6974 696f 6e0a 2020 2020 2020 position. \n+00005370: 2020 7468 656e 2074 7261 6e73 6c61 7465 then translate\n+00005380: 285b 322e 352c 302c 305d 2920 7d20 7b70 ([2.5,0,0]) } {p\n+00005390: 6965 7263 6564 5f74 6574 7261 6865 6472 ierced_tetrahedr\n+000053a0: 6f6e 7d0a 4865 7265 2074 6865 2065 6e74 on}.Here the ent\n+000053b0: 6972 6520 636f 6465 206f 6620 7468 6520 ire code of the \n+000053c0: 7072 6576 696f 7573 2065 7861 6d70 6c65 previous example\n+000053d0: 2068 6173 2062 6565 6e20 7772 6170 7065 has been wrappe\n+000053e0: 6420 696e 2061 0a64 6566 696e 6974 696f d in a.definitio\n+000053f0: 6e20 6279 2066 6f72 6d69 6e67 2061 20e2 n by forming a .\n+00005400: 809c 626c 6f63 6be2 809d 2077 6974 6820 ..block... with \n+00005410: 6272 6163 6573 2028 6120 7369 6e67 6c65 braces (a single\n+00005420: 2069 7465 6d20 776f 756c 6420 6e6f 740a item would not.\n+00005430: 6e65 6564 2074 6865 6d29 2e20 2054 6865 need them). The\n+00005440: 2070 6f69 6e74 2064 6566 696e 6974 696f point definitio\n+00005450: 6e73 206e 6573 7465 6420 696e 7369 6465 ns nested inside\n+00005460: 2074 6865 2062 7261 6365 7320 6172 650a the braces are.\n+00005470: e280 9c6c 6578 6963 616c 6c79 2073 636f ...lexically sco\n+00005480: 7065 64e2 809d 2e20 2054 6865 6972 206d ped.... Their m\n+00005490: 6561 6e69 6e67 2065 7874 656e 6473 206f eaning extends o\n+000054a0: 6e6c 7920 746f 2074 6865 2065 6e64 206f nly to the end o\n+000054b0: 6620 7468 6520 626c 6f63 6b2e 0a54 6865 f the block..The\n+000054c0: 206f 7574 6572 2064 6566 2069 7320 6361 outer def is ca\n+000054d0: 6c6c 6564 2061 20e2 809c 6472 6177 6162 lled a ...drawab\n+000054e0: 6c65 e280 9d20 6465 6669 6e69 7469 6f6e le... definition\n+000054f0: 2062 6563 6175 7365 2069 7420 6465 7363 because it desc\n+00005500: 7269 6265 730a 736f 6d65 7468 696e 6720 ribes.something \n+00005510: 7468 6174 2063 616e 2062 6520 6472 6177 that can be draw\n+00005520: 6e2e 0a0a 2020 2041 2064 7261 7761 626c n... A drawabl\n+00005530: 6520 6465 6669 6e69 7469 6f6e 2062 7920 e definition by \n+00005540: 6974 7365 6c66 2063 6175 7365 7320 6e6f itself causes no\n+00005550: 7468 696e 6720 746f 2068 6170 7065 6e20 thing to happen \n+00005560: 756e 7469 6c20 6974 730a 6e61 6d65 2069 until its.name i\n+00005570: 7320 7265 6665 7265 6e63 6564 2e20 2044 s referenced. D\n+00005580: 7261 7761 626c 6520 7265 6665 7265 6e63 rawable referenc\n+00005590: 6573 206d 7573 7420 6265 2065 6e63 6c6f es must be enclo\n+000055a0: 7365 6420 696e 2063 7572 6c79 0a62 7261 sed in curly.bra\n+000055b0: 6365 732c 2065 2e67 2e20 7b66 6f6f 7d2c ces, e.g. {foo},\n+000055c0: 2077 6974 6820 6e6f 2069 6e74 6572 7665 with no interve\n+000055d0: 6e69 6e67 2077 6869 7465 2073 7061 6365 ning white space\n+000055e0: 2e20 2049 6e20 7468 6520 636f 6465 2061 . In the code a\n+000055f0: 626f 7665 2c0a 7468 6520 6669 7273 7420 bove,.the first \n+00005600: 7265 6665 7265 6e63 6520 7b70 6965 7263 reference {pierc\n+00005610: 6564 5f74 6574 7261 6865 6472 6f6e 7d20 ed_tetrahedron} \n+00005620: 6973 2061 2070 6c61 696e 206f 6e65 2e20 is a plain one. \n+00005630: 2049 7473 2065 6666 6563 7420 6973 0a6d Its effect is.m\n+00005640: 6572 656c 7920 746f 2064 7570 6c69 6361 erely to duplica\n+00005650: 7465 2074 6865 2065 6172 6c69 6572 2064 te the earlier d\n+00005660: 7261 7769 6e67 2e20 2041 6c6d 6f73 7420 rawing. Almost \n+00005670: 616e 7920 7365 7269 6573 206f 6620 e280 any series of ..\n+00005680: 9873 6b65 7463 68e2 8099 0a63 6f6d 6d61 .sketch....comma\n+00005690: 6e64 7320 7374 7566 6620 6d61 7920 6265 nds stuff may be\n+000056a0: 2072 6570 6c61 6365 6420 7769 7468 2064 replaced with d\n+000056b0: 6566 2066 6f6f 207b 2073 7475 6666 207d ef foo { stuff }\n+000056c0: 207b 666f 6f7d 2077 6974 686f 7574 0a63 {foo} without.c\n+000056d0: 6861 6e67 696e 6720 6974 7320 6d65 616e hanging its mean\n+000056e0: 696e 672e 0a0a 2020 2054 6865 2070 7574 ing... The put\n+000056f0: 2063 6f6d 6d61 6e64 2073 7570 706c 6965 command supplie\n+00005700: 7320 6120 7365 636f 6e64 2072 6566 6572 s a second refer\n+00005710: 656e 6365 2c20 7468 6973 2074 696d 6520 ence, this time \n+00005720: 7769 7468 2061 0ae2 809c 7472 616e 7366 with a....transf\n+00005730: 6f72 6de2 809d 2061 7070 6c69 6564 2066 orm... applied f\n+00005740: 6972 7374 2e20 2054 6865 2072 6f74 6174 irst. The rotat\n+00005750: 6520 7472 616e 7366 6f72 6d20 7475 726e e transform turn\n+00005760: 7320 7468 6520 7465 7472 6168 6564 726f s the tetrahedro\n+00005770: 6e0a 3930 2064 6567 7265 6573 2061 626f n.90 degrees abo\n+00005780: 7574 2074 6865 206f 7269 6769 6e2e 2020 ut the origin. \n+00005790: 5468 6520 6178 6973 206f 6620 726f 7461 The axis of rota\n+000057a0: 7469 6f6e 2069 7320 7468 6520 7665 6374 tion is the vect\n+000057b0: 6f72 0a5b 312c 302c 305d 2e20 2042 7920 or.[1,0,0]. By \n+000057c0: 7468 6520 e280 9c72 6967 6874 2068 616e the ...right han\n+000057d0: 6420 7275 6c65 e280 9d2c 2074 6869 7320 d rule..., this \n+000057e0: 6361 7573 6573 2074 6865 2074 6f70 206f causes the top o\n+000057f0: 6620 7468 650a 7465 7472 6168 6564 726f f the.tetrahedro\n+00005800: 6e20 746f 2072 6f74 6174 6520 746f 7761 n to rotate towa\n+00005810: 7264 2074 6865 2076 6965 7765 7220 616e rd the viewer an\n+00005820: 6420 7468 6520 626f 7474 6f6d 2061 7761 d the bottom awa\n+00005830: 792e 2020 5468 6520 7275 6c65 0a72 6563 y. The rule.rec\n+00005840: 6569 7665 7320 6974 7320 6e61 6d65 2066 eives its name f\n+00005850: 726f 6d20 7468 6520 666f 6c6c 6f77 696e rom the followin\n+00005860: 6720 6465 6669 6e69 7469 6f6e 3a0a 2020 g definition:. \n+00005870: 2020 202a 5269 6768 7420 6861 6e64 2072 *Right hand r\n+00005880: 756c 652e 2a20 2049 6620 7468 6520 7269 ule.* If the ri\n+00005890: 6768 7420 6861 6e64 2069 7320 7772 6170 ght hand is wrap\n+000058a0: 7065 6420 6172 6f75 6e64 2061 6e79 2061 ped around any a\n+000058b0: 7869 730a 2020 2020 2077 6974 6820 7468 xis. with th\n+000058c0: 6520 7468 756d 6220 706f 696e 7469 6e67 e thumb pointing\n+000058d0: 2069 6e20 7468 6520 6178 6973 2064 6972 in the axis dir\n+000058e0: 6563 7469 6f6e 2c20 7468 656e 2074 6865 ection, then the\n+000058f0: 2066 696e 6765 7273 0a20 2020 2020 6375 fingers. cu\n+00005900: 726c 2069 6e20 7468 6520 6469 7265 6374 rl in the direct\n+00005910: 696f 6e20 6f66 2070 6f73 6974 6976 6520 ion of positive \n+00005920: 726f 7461 7469 6f6e 2061 626f 7574 2074 rotation about t\n+00005930: 6861 7420 6178 6973 2e0a 2020 2054 6865 hat axis.. The\n+00005940: 2074 7261 6e73 6c61 7465 2074 7261 6e73 translate trans\n+00005950: 666f 726d 206d 6f76 6573 2074 6865 2070 form moves the p\n+00005960: 7972 616d 6964 206c 6174 6572 616c 6c79 yramid laterally\n+00005970: 2074 6f20 7468 6520 7269 6768 7420 6279 to the right by\n+00005980: 0a61 6464 696e 6720 7468 6520 7665 6374 .adding the vect\n+00005990: 6f72 205b 322e 352c 302c 305d 2074 6f20 or [2.5,0,0] to \n+000059a0: 6561 6368 2076 6572 7465 7820 636f 6f72 each vertex coor\n+000059b0: 6469 6e61 7465 2e20 2054 6865 2072 6573 dinate. The res\n+000059c0: 756c 7420 6973 0a73 686f 776e 2068 6572 ult is.shown her\n+000059d0: 652e 0a0a 0008 5b69 6d61 6765 2073 7263 e.....[image src\n+000059e0: 3d22 6578 3035 302e 706e 6722 2074 6578 =\"ex050.png\" tex\n+000059f0: 743d 2249 6d61 6765 2065 7830 3530 206f t=\"Image ex050 o\n+00005a00: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n+00005a10: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n+00005a20: 6f63 756d 656e 742e 2200 085d 0a0a 1f0a ocument.\"..]....\n+00005a30: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+00005a40: 6f2c 2020 4e6f 6465 3a20 5265 7065 6174 o, Node: Repeat\n+00005a50: 6564 206f 626a 6563 7473 2c20 204e 6578 ed objects, Nex\n+00005a60: 743a 2053 7765 7074 206f 626a 6563 7473 t: Swept objects\n+00005a70: 2c20 2050 7265 763a 204f 626a 6563 7420 , Prev: Object \n+00005a80: 7472 616e 7366 6f72 6d73 2c20 2055 703a transforms, Up:\n+00005a90: 2049 6e74 726f 6475 6374 696f 6e20 6279 Introduction by\n+00005aa0: 2065 7861 6d70 6c65 0a0a 322e 3620 5265 example..2.6 Re\n+00005ab0: 7065 6174 6564 206f 626a 6563 7473 0a3d peated objects.=\n+00005ac0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00005ad0: 3d3d 3d0a 0a54 6f20 6472 6177 2073 6576 ===..To draw sev\n+00005ae0: 656e 2069 6e73 7461 6e63 6573 206f 6620 en instances of \n+00005af0: 7468 6520 7465 7472 6168 6564 726f 6e2c the tetrahedron,\n+00005b00: 2065 6163 6820 6469 6666 6572 696e 6720 each differing \n+00005b10: 6672 6f6d 2074 6865 206c 6173 740a 6279 from the last.by\n+00005b20: 2074 6865 2073 616d 6520 7472 616e 7366 the same transf\n+00005b30: 6f72 6d2c 2072 6570 6c61 6365 2074 6865 orm, replace the\n+00005b40: 206c 6173 7420 7477 6f20 636f 6d6d 616e last two comman\n+00005b50: 6473 206f 6620 7468 6520 7072 6576 696f ds of the previo\n+00005b60: 7573 0a65 7861 6d70 6c65 2077 6974 680a us.example with.\n+00005b70: 2020 7265 7065 6174 207b 2037 2c20 726f repeat { 7, ro\n+00005b80: 7461 7465 2831 352c 2028 302c 302c 3029 tate(15, (0,0,0)\n+00005b90: 2c20 5b31 2c30 2c30 5d29 2025 2063 6f70 , [1,0,0]) % cop\n+00005ba0: 7920 696e 206e 6577 2070 6f73 6974 696f y in new positio\n+00005bb0: 6e0a 2020 2020 2020 2020 2020 2020 2020 n. \n+00005bc0: 7468 656e 2074 7261 6e73 6c61 7465 285b then translate([\n+00005bd0: 322c 302c 305d 2920 7d20 7b70 6965 7263 2,0,0]) } {pierc\n+00005be0: 6564 5f74 6574 7261 6865 6472 6f6e 7d0a ed_tetrahedron}.\n+00005bf0: 416e 6420 7468 6520 7265 7375 6c74 2e2e And the result..\n+00005c00: 2e0a 0a00 085b 696d 6167 6520 7372 633d .....[image src=\n+00005c10: 2265 7830 3630 2e70 6e67 2220 7465 7874 \"ex060.png\" text\n+00005c20: 3d22 496d 6167 6520 6578 3036 3020 6f6d =\"Image ex060 om\n+00005c30: 6974 7465 6420 696e 2074 6578 7420 7665 itted in text ve\n+00005c40: 7273 696f 6e20 6f66 2074 6869 7320 646f rsion of this do\n+00005c50: 6375 6d65 6e74 2e22 0008 5d0a 0a1f 0a46 cument.\"..]....F\n+00005c60: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+00005c70: 2c20 204e 6f64 653a 2053 7765 7074 206f , Node: Swept o\n+00005c80: 626a 6563 7473 2c20 2050 7265 763a 2052 bjects, Prev: R\n+00005c90: 6570 6561 7465 6420 6f62 6a65 6374 732c epeated objects,\n+00005ca0: 2020 5570 3a20 496e 7472 6f64 7563 7469 Up: Introducti\n+00005cb0: 6f6e 2062 7920 6578 616d 706c 650a 0a32 on by example..2\n+00005cc0: 2e37 2053 7765 7074 206f 626a 6563 7473 .7 Swept objects\n+00005cd0: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d .===============\n+00005ce0: 3d3d 0a0a 4d61 6e79 2066 616d 696c 6961 ==..Many familia\n+00005cf0: 7220 7368 6170 6573 2063 616e 2062 6520 r shapes can be \n+00005d00: 6765 6e65 7261 7465 6420 6279 2073 7765 generated by swe\n+00005d10: 6570 696e 6720 7369 6d70 6c65 7220 6f6e eping simpler on\n+00005d20: 6573 2074 6872 6f75 6768 0a73 7061 6365 es through.space\n+00005d30: 2061 6e64 2063 6f6e 7369 6465 7269 6e67 and considering\n+00005d40: 2074 6865 2072 6573 756c 7469 6e67 2070 the resulting p\n+00005d50: 6174 682c 2073 7572 6661 6365 2c20 6f72 ath, surface, or\n+00005d60: 2076 6f6c 756d 652e 2020 e280 9853 6b65 volume. ...Ske\n+00005d70: 7463 68e2 8099 0a69 6d70 6c65 6d65 6e74 tch....implement\n+00005d80: 7320 7468 6973 2069 6465 6120 696e 2074 s this idea in t\n+00005d90: 6865 2073 7765 6570 2063 6f6d 6d61 6e64 he sweep command\n+00005da0: 2e0a 2020 6465 6620 6e5f 7365 6773 2038 .. def n_segs 8\n+00005db0: 0a20 2073 7765 6570 207b 206e 5f73 6567 . sweep { n_seg\n+00005dc0: 732c 2072 6f74 6174 6528 3138 3020 2f20 s, rotate(180 / \n+00005dd0: 6e5f 7365 6773 2c20 2830 2c30 2c30 292c n_segs, (0,0,0),\n+00005de0: 205b 302c 302c 315d 2920 7d20 2831 2c30 [0,0,1]) } (1,0\n+00005df0: 2c30 290a 5468 6973 2063 6f64 6520 7377 ,0).This code sw\n+00005e00: 6565 7073 2074 6865 2070 6f69 6e74 2028 eeps the point (\n+00005e10: 312c 302c 3029 2065 6967 6874 2074 696d 1,0,0) eight tim\n+00005e20: 6573 2062 7920 726f 7461 7469 6e67 2069 es by rotating i\n+00005e30: 7420 3138 302f 3820 3d0a 3232 2e35 2064 t 180/8 =.22.5 d\n+00005e40: 6567 7265 6573 2065 6163 6820 7469 6d65 egrees each time\n+00005e50: 2061 6e64 2063 6f6e 6e65 6374 696e 6720 and connecting \n+00005e60: 7468 6520 7265 7375 6c74 696e 6720 706f the resulting po\n+00005e70: 696e 7473 2077 6974 6820 6c69 6e65 0a73 ints with line.s\n+00005e80: 6567 6d65 6e74 732e 2020 5468 6520 6465 egments. The de\n+00005e90: 6620 7573 6564 2068 6572 6520 6973 2061 f used here is a\n+00005ea0: 20e2 809c 7363 616c 6172 e280 9d20 6465 ...scalar... de\n+00005eb0: 6669 6e69 7469 6f6e 2e20 2052 6566 6572 finition. Refer\n+00005ec0: 656e 6365 7320 746f 0a73 6361 6c61 7273 ences to.scalars\n+00005ed0: 2068 6176 6520 6e6f 2065 6e63 6c6f 7369 have no enclosi\n+00005ee0: 6e67 2062 7261 636b 6574 7320 6174 2061 ng brackets at a\n+00005ef0: 6c6c 2e0a 0a2a 204d 656e 753a 0a0a 2a20 ll...* Menu:..* \n+00005f00: 506f 696e 7420 7377 6565 7073 3a3a 2020 Point sweeps:: \n+00005f10: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n+00005f20: 6570 7420 706f 696e 7473 206d 616b 6520 ept points make \n+00005f30: 6c69 6e65 7320 616e 6420 706f 6c79 676f lines and polygo\n+00005f40: 6e73 2e0a 2a20 506f 6c79 6c69 6e65 2073 ns..* Polyline s\n+00005f50: 7765 6570 733a 3a20 2020 2020 2020 2020 weeps:: \n+00005f60: 2020 2020 5377 6570 7420 6c69 6e65 7320 Swept lines \n+00005f70: 6d61 6b65 2073 7572 6661 6365 732e 0a2a make surfaces..*\n+00005f80: 204e 6573 7465 6420 7377 6565 7073 3a3a Nested sweeps::\n+00005f90: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00005fa0: 7765 7074 2073 7765 6570 7320 6172 6520 wept sweeps are \n+00005fb0: 7573 6566 756c 210a 2a20 506f 6c79 676f useful!.* Polygo\n+00005fc0: 6e20 7377 6565 7073 3a3a 2020 2020 2020 n sweeps:: \n+00005fd0: 2020 2020 2020 2020 5377 6570 7420 706f Swept po\n+00005fe0: 6c79 676f 6e73 206d 616b 6520 736f 6c69 lygons make soli\n+00005ff0: 6473 2e2e 2e0a 2a20 506f 6c79 6c69 6e65 ds....* Polyline\n+00006000: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n+00006010: 7375 7265 3a3a 2020 616e 6420 736f 2064 sure:: and so d\n+00006020: 6f20 636c 6f73 6564 2070 6f6c 796c 696e o closed polylin\n+00006030: 6520 7377 6565 7073 2e0a 2a20 4166 6669 e sweeps..* Affi\n+00006040: 6e65 2061 7269 7468 6d65 7469 633a 3a20 ne arithmetic:: \n+00006050: 2020 2020 2020 2020 2020 536b 6574 6368 Sketch\n+00006060: 2075 7365 6675 6c20 6d61 7468 2065 7870 useful math exp\n+00006070: 7265 7373 696f 6e2e 0a2a 204d 6f72 6520 ression..* More \n+00006080: 746f 206c 6561 726e 3a3a 2020 2020 2020 to learn:: \n+00006090: 2020 2020 2020 2020 2043 6865 636b 206f Check o\n+000060a0: 7574 2074 6865 204d 6f62 6975 7320 7374 ut the Mobius st\n+000060b0: 7269 7021 0a0a 1f0a 4669 6c65 3a20 736b rip!....File: sk\n+000060c0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+000060d0: 3a20 506f 696e 7420 7377 6565 7073 2c20 : Point sweeps, \n+000060e0: 204e 6578 743a 2050 6f6c 796c 696e 6520 Next: Polyline \n+000060f0: 7377 6565 7073 2c20 2050 7265 763a 2053 sweeps, Prev: S\n+00006100: 7765 7074 206f 626a 6563 7473 2c20 2055 wept objects, U\n+00006110: 703a 2053 7765 7074 206f 626a 6563 7473 p: Swept objects\n+00006120: 0a0a 322e 372e 3120 506f 696e 7420 7377 ..2.7.1 Point sw\n+00006130: 6565 7073 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d eeps.-----------\n+00006140: 2d2d 2d2d 2d2d 2d0a 0a53 7765 6570 696e -------..Sweepin\n+00006150: 6720 6120 706f 696e 7420 6d61 6b65 7320 g a point makes \n+00006160: 6120 6f6e 652d 6469 6d65 6e73 696f 6e61 a one-dimensiona\n+00006170: 6c20 7061 7468 2c20 7768 6963 6820 6973 l path, which is\n+00006180: 2061 2070 6f6c 796c 696e 652e 0a53 696e a polyline..Sin\n+00006190: 6365 2077 6520 6861 7665 2073 7765 7074 ce we have swept\n+000061a0: 2077 6974 6820 6120 726f 7461 7469 6f6e with a rotation\n+000061b0: 2c20 7468 6520 7265 7375 6c74 2069 7320 , the result is \n+000061c0: 6120 6369 7263 756c 6172 2061 7263 2e20 a circular arc. \n+000061d0: 2048 6572 650a 6973 2077 6861 7420 6974 Here.is what it\n+000061e0: 206c 6f6f 6b73 206c 696b 652e 0a0a 0008 looks like.....\n+000061f0: 5b69 6d61 6765 2073 7263 3d22 6578 3037 [image src=\"ex07\n+00006200: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png\" text=\"Ima\n+00006210: 6765 2065 7830 3730 206f 6d69 7474 6564 ge ex070 omitted\n+00006220: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n+00006230: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n+00006240: 742e 2200 085d 0a0a 2020 2054 6869 7320 t.\"..].. This \n+00006250: 6973 2074 6865 2066 6972 7374 2065 7861 is the first exa\n+00006260: 6d70 6c65 2077 6520 6861 7665 2073 6565 mple we have see\n+00006270: 6e20 6f66 20e2 8098 736b 6574 6368 e280 n of ...sketch..\n+00006280: 9920 6172 6974 686d 6574 6963 2e20 2054 . arithmetic. T\n+00006290: 6865 0a65 7870 7265 7373 696f 6e20 3138 he.expression 18\n+000062a0: 3020 2f20 6e5f 7365 6773 2063 6175 7365 0 / n_segs cause\n+000062b0: 7320 7468 6520 6569 6768 7420 726f 7461 s the eight rota\n+000062c0: 7469 6f6e 7320 746f 2061 6464 2074 6f20 tions to add to \n+000062d0: 3138 302e 2020 4966 0a79 6f75 2772 6520 180. If.you're \n+000062e0: 7061 7969 6e67 2061 7474 656e 7469 6f6e paying attention\n+000062f0: 2c20 796f 7527 6c6c 2068 6176 6520 616c , you'll have al\n+00006300: 7265 6164 7920 6e6f 7465 6420 7468 6174 ready noted that\n+00006310: 2074 6865 7265 2061 7265 205f 6e69 6e65 there are _nine\n+00006320: 5f0a 706f 696e 7473 2c20 7072 6f64 7563 _.points, produc\n+00006330: 696e 6720 6569 6768 7420 6c69 6e65 2073 ing eight line s\n+00006340: 6567 6d65 6e74 732e 0a0a 2020 2059 6f75 egments... You\n+00006350: 2063 616e 2063 6175 7365 2074 6865 2073 can cause the s\n+00006360: 7765 7074 2070 6f69 6e74 2074 6f20 6765 wept point to ge\n+00006370: 6e65 7261 7465 2061 2073 696e 676c 6520 nerate a single \n+00006380: 706f 6c79 676f 6e20 7261 7468 6572 0a74 polygon rather.t\n+00006390: 6861 6e20 6120 706f 6c79 6c69 6e65 2062 han a polyline b\n+000063a0: 7920 7573 696e 6720 7468 6520 e280 9c63 y using the ...c\n+000063b0: 6c6f 7375 7265 2074 6167 e280 9d20 3c3e losure tag... <>\n+000063c0: 2061 6674 6572 2074 6865 206e 756d 6265 after the numbe\n+000063d0: 7220 6f66 2073 7765 7074 0a6f 626a 6563 r of swept.objec\n+000063e0: 7473 2e20 2043 6f64 6520 616e 6420 7265 ts. Code and re\n+000063f0: 7375 6c74 2066 6f6c 6c6f 770a 2020 6465 sult follow. de\n+00006400: 6620 6e5f 7365 6773 2038 0a20 2073 7765 f n_segs 8. swe\n+00006410: 6570 207b 206e 5f73 6567 733c 3e2c 2072 ep { n_segs<>, r\n+00006420: 6f74 6174 6528 3138 3020 2f20 6e5f 7365 otate(180 / n_se\n+00006430: 6773 2c20 2830 2c30 2c30 292c 205b 302c gs, (0,0,0), [0,\n+00006440: 302c 315d 2920 7d20 2831 2c30 2c30 290a 0,1]) } (1,0,0).\n+00006450: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n+00006460: 3038 302e 706e 6722 2074 6578 743d 2249 080.png\" text=\"I\n+00006470: 6d61 6765 2065 7830 3830 206f 6d69 7474 mage ex080 omitt\n+00006480: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n+00006490: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n+000064a0: 656e 742e 2200 085d 0a0a 1f0a 4669 6c65 ent.\"..]....File\n+000064b0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+000064c0: 4e6f 6465 3a20 506f 6c79 6c69 6e65 2073 Node: Polyline s\n+000064d0: 7765 6570 732c 2020 4e65 7874 3a20 4e65 weeps, Next: Ne\n+000064e0: 7374 6564 2073 7765 6570 732c 2020 5072 sted sweeps, Pr\n+000064f0: 6576 3a20 506f 696e 7420 7377 6565 7073 ev: Point sweeps\n+00006500: 2c20 2055 703a 2053 7765 7074 206f 626a , Up: Swept obj\n+00006510: 6563 7473 0a0a 322e 372e 3220 506f 6c79 ects..2.7.2 Poly\n+00006520: 6c69 6e65 2073 7765 6570 730a 2d2d 2d2d line sweeps.----\n+00006530: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00006540: 2d0a 0a53 7765 6570 696e 6720 6120 706f -..Sweeping a po\n+00006550: 6c79 6c69 6e65 2070 726f 6475 6365 7320 lyline produces \n+00006560: 6120 7375 7266 6163 6520 636f 6d70 6f73 a surface compos\n+00006570: 6564 206f 6620 6d61 6e79 2066 6163 6573 ed of many faces\n+00006580: 2e20 2054 6865 0a75 6e62 726f 6b65 6e20 . The.unbroken \n+00006590: 6865 6c69 7820 696e 2074 6865 2065 7861 helix in the exa\n+000065a0: 6d70 6c65 202a 6e6f 7465 2048 656c 6978 mple *note Helix\n+000065b0: 2077 6974 6820 6375 6c6c 2073 6574 2066 with cull set f\n+000065c0: 616c 7365 2074 6865 6e0a 7472 7565 3a3a alse then.true::\n+000065d0: 2069 7320 7072 6f64 7563 6564 2062 7920 is produced by \n+000065e0: 7468 6973 2063 6f64 6520 2870 6c75 7320 this code (plus \n+000065f0: 6120 7375 7272 6f75 6e64 696e 6720 7075 a surrounding pu\n+00006600: 7420 726f 7461 7469 6f6e 2074 6f20 6d61 t rotation to ma\n+00006610: 6b65 0a61 6e20 696e 7465 7265 7374 696e ke.an interestin\n+00006620: 6720 7669 6577 3b20 7468 6973 2068 6173 g view; this has\n+00006630: 2062 6565 6e20 6f6d 6974 7465 6429 2e0a been omitted)..\n+00006640: 2020 6465 6620 4b20 5b30 2c30 2c31 5d0a def K [0,0,1].\n+00006650: 2020 7377 6565 705b 6375 6c6c 3d66 616c sweep[cull=fal\n+00006660: 7365 5d20 7b0a 2020 2020 3630 2c20 0a20 se] {. 60, . \n+00006670: 2020 2072 6f74 6174 6528 3130 2c20 2830 rotate(10, (0\n+00006680: 2c30 2c30 292c 205b 4b5d 2920 7468 656e ,0,0), [K]) then\n+00006690: 2074 7261 6e73 6c61 7465 2831 2f36 202a translate(1/6 *\n+000066a0: 205b 4b5d 2920 0a20 207d 206c 696e 655b [K]) . } line[\n+000066b0: 6c69 6e65 7769 6474 683d 3270 745d 282d linewidth=2pt](-\n+000066c0: 312c 3029 2831 2c30 290a 4167 6169 6e2c 1,0)(1,0).Again,\n+000066d0: 2036 3020 7365 676d 656e 7473 206f 6620 60 segments of \n+000066e0: 7468 6520 6865 6c69 7820 6172 6520 7072 the helix are pr\n+000066f0: 6f64 7563 6564 2062 7920 636f 6e6e 6563 oduced by connec\n+00006700: 7469 6e67 2036 3120 696e 7374 616e 6365 ting 61 instance\n+00006710: 730a 6f66 2074 6865 2073 7765 7074 206c s.of the swept l\n+00006720: 696e 652e 2020 4f70 7469 6f6e 7320 6170 ine. Options ap\n+00006730: 706c 6965 6420 746f 2074 6865 2073 7765 plied to the swe\n+00006740: 6570 2c20 6865 7265 2063 756c 6c3d 6661 ep, here cull=fa\n+00006750: 6c73 652c 2061 7265 0a74 7265 6174 6564 lse, are.treated\n+00006760: 2061 7320 6f70 7469 6f6e 7320 666f 7220 as options for \n+00006770: 7468 6520 6765 6e65 7261 7465 6420 706f the generated po\n+00006780: 6c79 676f 6e20 6f72 2070 6f6c 796c 696e lygon or polylin\n+00006790: 652e 2020 4f70 7469 6f6e 7320 6f66 0a74 e. Options of.t\n+000067a0: 6865 2073 7765 7074 206c 696e 6520 6974 he swept line it\n+000067b0: 7365 6c66 2c20 6865 7265 206c 696e 6577 self, here linew\n+000067c0: 6964 7468 3d32 7074 2c20 6172 6520 6967 idth=2pt, are ig\n+000067d0: 6e6f 7265 642c 2074 686f 7567 6820 7769 nored, though wi\n+000067e0: 7468 2061 0a77 6172 6e69 6e67 2e20 2054 th a.warning. T\n+000067f0: 6869 7320 6465 6620 6973 2061 20e2 809c his def is a ...\n+00006800: 7665 6374 6f72 e280 9d20 6465 6669 6e69 vector... defini\n+00006810: 7469 6f6e 2c20 7768 6963 6820 6d75 7374 tion, which must\n+00006820: 2062 6520 7265 6665 7265 6e63 6564 0a77 be referenced.w\n+00006830: 6974 6820 7371 7561 7265 2062 7261 636b ith square brack\n+00006840: 6574 732c 2065 2e67 2e20 5b66 6f6f 5d2e ets, e.g. [foo].\n+00006850: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+00006860: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4e65 .info, Node: Ne\n+00006870: 7374 6564 2073 7765 6570 732c 2020 4e65 sted sweeps, Ne\n+00006880: 7874 3a20 506f 6c79 676f 6e20 7377 6565 xt: Polygon swee\n+00006890: 7073 2c20 2050 7265 763a 2050 6f6c 796c ps, Prev: Polyl\n+000068a0: 696e 6520 7377 6565 7073 2c20 2055 703a ine sweeps, Up:\n+000068b0: 2053 7765 7074 206f 626a 6563 7473 0a0a Swept objects..\n+000068c0: 322e 372e 3320 4e65 7374 6564 2073 7765 2.7.3 Nested swe\n+000068d0: 6570 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d eps.------------\n+000068e0: 2d2d 2d2d 2d2d 2d0a 0a57 6865 6e20 7468 -------..When th\n+000068f0: 6520 6365 6e74 6572 2070 6f69 6e74 206f e center point o\n+00006900: 6620 726f 7461 7469 6f6e 2069 7320 6f6d f rotation is om\n+00006910: 6974 7465 642c 2074 6865 206f 7269 6769 itted, the origi\n+00006920: 6e20 6973 2061 7373 756d 6564 2e0a 5768 n is assumed..Wh\n+00006930: 656e 2061 2070 6f69 6e74 2068 6173 206f en a point has o\n+00006940: 6e6c 7920 7477 6f20 636f 6f72 6469 6e61 nly two coordina\n+00006950: 7465 732c 2074 6865 7920 6172 6520 7461 tes, they are ta\n+00006960: 6b65 6e20 6173 2078 2061 6e64 2079 2c20 ken as x and y, \n+00006970: 7769 7468 0a7a 3d30 2061 7373 756d 6564 with.z=0 assumed\n+00006980: 2e20 2041 2074 6f72 6f69 6420 6973 2074 . A toroid is t\n+00006990: 6865 7265 666f 7265 206f 6274 6169 6e65 herefore obtaine\n+000069a0: 6420 7769 7468 2074 6869 7320 636f 6465 d with this code\n+000069b0: 2e0a 2020 6465 6620 6e5f 746f 726f 6964 .. def n_toroid\n+000069c0: 5f73 6567 7320 3230 2020 2064 6566 206e _segs 20 def n\n+000069d0: 5f63 6972 636c 655f 7365 6773 2031 360a _circle_segs 16.\n+000069e0: 2020 6465 6620 725f 6d69 6e6f 7220 3120 def r_minor 1 \n+000069f0: 2020 2020 2020 2020 2064 6566 2072 5f6d def r_m\n+00006a00: 616a 6f72 2031 2e35 0a20 2073 7765 6570 ajor 1.5. sweep\n+00006a10: 207b 206e 5f74 6f72 6f69 645f 7365 6773 { n_toroid_segs\n+00006a20: 2c20 726f 7461 7465 2833 3630 202f 206e , rotate(360 / n\n+00006a30: 5f74 6f72 6f69 645f 7365 6773 2c20 5b30 _toroid_segs, [0\n+00006a40: 2c31 2c30 5d29 207d 0a20 2020 2073 7765 ,1,0]) }. swe\n+00006a50: 6570 207b 206e 5f63 6972 636c 655f 7365 ep { n_circle_se\n+00006a60: 6773 2c20 726f 7461 7465 2833 3630 202f gs, rotate(360 /\n+00006a70: 206e 5f63 6972 636c 655f 7365 6773 2c20 n_circle_segs, \n+00006a80: 2872 5f6d 616a 6f72 2c30 2c30 2929 207d (r_major,0,0)) }\n+00006a90: 200a 2020 2020 2020 2872 5f6d 616a 6f72 . (r_major\n+00006aa0: 202b 2072 5f6d 696e 6f72 2c20 3029 0a20 + r_minor, 0). \n+00006ab0: 2020 466f 7220 696e 7475 6974 696f 6e2c For intuition,\n+00006ac0: 2074 6865 2069 6465 6120 6f66 2074 6865 the idea of the\n+00006ad0: 2063 6f64 6520 6973 2074 6f20 736b 6574 code is to sket\n+00006ae0: 6368 2061 2063 6972 636c 6520 746f 2074 ch a circle to t\n+00006af0: 6865 0a72 6967 6874 206f 6620 7468 6520 he.right of the \n+00006b00: 6f72 6967 696e 2069 6e20 7468 6520 7879 origin in the xy\n+00006b10: 2d70 6c61 6e65 2c20 7468 656e 2072 6f74 -plane, then rot\n+00006b20: 6174 6520 7468 6174 2063 6972 636c 6520 ate that circle \n+00006b30: 226f 7574 206f 6620 7468 650a 706c 616e \"out of the.plan\n+00006b40: 6522 2061 626f 7574 2074 6865 2079 2d61 e\" about the y-a\n+00006b50: 7869 7320 746f 206d 616b 6520 7468 6520 xis to make the \n+00006b60: 6669 6e61 6c20 6669 6775 7265 2e20 2054 final figure. T\n+00006b70: 6869 7320 7072 6f64 7563 6573 2074 6865 his produces the\n+00006b80: 0a66 6f6c 6c6f 7769 6e67 2e20 2028 4120 .following. (A \n+00006b90: 7669 6577 2072 6f74 6174 696f 6e20 616e view rotation an\n+00006ba0: 6420 736f 6d65 2061 7865 7320 6861 7665 d some axes have\n+00006bb0: 2062 6565 6e20 6164 6465 642e 290a 0a00 been added.)...\n+00006bc0: 085b 696d 6167 6520 7372 633d 2265 7830 .[image src=\"ex0\n+00006bd0: 3930 2e70 6e67 2220 7465 7874 3d22 496d 90.png\" text=\"Im\n+00006be0: 6167 6520 6578 3039 3020 6f6d 6974 7465 age ex090 omitte\n+00006bf0: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio\n+00006c00: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume\n+00006c10: 6e74 2e22 0008 5d0a 0a20 2020 5468 6973 nt.\"..].. This\n+00006c20: 2065 7861 6d70 6c65 2061 6c73 6f20 7368 example also sh\n+00006c30: 6f77 7320 7468 6174 2074 6865 2073 7765 ows that the swe\n+00006c40: 7074 206f 626a 6563 7420 6d61 7920 6974 pt object may it\n+00006c50: 7365 6c66 2062 6520 616e 6f74 6865 720a self be another.\n+00006c60: e280 9873 7765 6570 e280 992e 2020 496e ...sweep.... In\n+00006c70: 2066 6163 742c 2069 7420 6d61 7920 6265 fact, it may be\n+00006c80: 205f 616e 795f 20e2 8098 736b 6574 6368 _any_ ...sketch\n+00006c90: e280 9920 6578 7072 6573 7369 6f6e 2074 ... expression t\n+00006ca0: 6861 7420 7265 7375 6c74 7320 696e 2061 hat results in a\n+00006cb0: 0a6c 6973 7420 6f66 206f 6e65 206f 7220 .list of one or \n+00006cc0: 6d6f 7265 2070 6f69 6e74 7320 6f72 2c20 more points or, \n+00006cd0: 616c 7465 726e 6174 656c 792c 2061 206c alternately, a l\n+00006ce0: 6973 7420 6f66 206f 6e65 206f 7220 6d6f ist of one or mo\n+00006cf0: 7265 0a70 6f6c 796c 696e 6573 2061 6e64 re.polylines and\n+00006d00: 2070 6f6c 7967 6f6e 732e 2020 5468 6520 polygons. The \n+00006d10: 6c61 7474 6572 206b 696e 6420 6f66 206c latter kind of l\n+00006d20: 6973 7420 6361 6e20 6265 2063 7265 6174 ist can be creat\n+00006d30: 6564 2077 6974 6820 610a 7b20 7d2d 656e ed with a.{ }-en\n+00006d40: 636c 6f73 6564 2062 6c6f 636b 2c20 7065 closed block, pe\n+00006d50: 7268 6170 7320 666f 6c6c 6f77 696e 6720 rhaps following \n+00006d60: 6120 7075 7420 6f72 2072 6570 6561 742e a put or repeat.\n+00006d70: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+00006d80: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 506f .info, Node: Po\n+00006d90: 6c79 676f 6e20 7377 6565 7073 2c20 204e lygon sweeps, N\n+00006da0: 6578 743a 2050 6f6c 796c 696e 6520 7377 ext: Polyline sw\n+00006db0: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur\n+00006dc0: 652c 2020 5072 6576 3a20 4e65 7374 6564 e, Prev: Nested\n+00006dd0: 2073 7765 6570 732c 2020 5570 3a20 5377 sweeps, Up: Sw\n+00006de0: 6570 7420 6f62 6a65 6374 730a 0a32 2e37 ept objects..2.7\n+00006df0: 2e34 2050 6f6c 7967 6f6e 2073 7765 6570 .4 Polygon sweep\n+00006e00: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.--------------\n+00006e10: 2d2d 2d2d 2d2d 0a0a 5377 6565 7069 6e67 ------..Sweeping\n+00006e20: 2061 2070 6f6c 7967 6f6e 2063 7265 6174 a polygon creat\n+00006e30: 6573 2061 2063 6c6f 7365 6420 7375 7266 es a closed surf\n+00006e40: 6163 6520 7769 7468 2070 6f6c 7967 6f6e ace with polygon\n+00006e50: 7320 6174 2074 6865 2065 6e64 732c 0a77 s at the ends,.w\n+00006e60: 6869 6368 2061 7265 206a 7573 7420 636f hich are just co\n+00006e70: 7069 6573 206f 6620 7468 6520 6f72 6967 pies of the orig\n+00006e80: 696e 616c 2c20 6170 7072 6f70 7269 6174 inal, appropriat\n+00006e90: 656c 7920 706f 7369 7469 6f6e 6564 2e20 ely positioned. \n+00006ea0: 202a 4e6f 7465 0a53 6f6c 6964 2063 6f69 *Note.Solid coi\n+00006eb0: 6c20 6578 616d 706c 653a 3a2e 2020 4f70 l example::. Op\n+00006ec0: 7469 6f6e 7320 6f6e 2074 6865 2073 7765 tions on the swe\n+00006ed0: 7074 2070 6f6c 7967 6f6e 2c20 6966 2074 pt polygon, if t\n+00006ee0: 6865 7920 6578 6973 742c 2061 7265 0a61 hey exist, are.a\n+00006ef0: 7070 6c69 6564 2074 6f20 7468 6520 656e pplied to the en\n+00006f00: 6473 2e20 204f 7468 6572 7769 7365 2074 ds. Otherwise t\n+00006f10: 6865 2073 7765 6570 206f 7074 696f 6e73 he sweep options\n+00006f20: 2061 7265 2075 7365 6420 7468 726f 7567 are used throug\n+00006f30: 686f 7574 2e0a 0a1f 0a46 696c 653a 2073 hout.....File: s\n+00006f40: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+00006f50: 653a 2050 6f6c 796c 696e 6520 7377 6565 e: Polyline swee\n+00006f60: 7073 2077 6974 6820 636c 6f73 7572 652c ps with closure,\n+00006f70: 2020 4e65 7874 3a20 4166 6669 6e65 2061 Next: Affine a\n+00006f80: 7269 7468 6d65 7469 632c 2020 5072 6576 rithmetic, Prev\n+00006f90: 3a20 506f 6c79 676f 6e20 7377 6565 7073 : Polygon sweeps\n+00006fa0: 2c20 2055 703a 2053 7765 7074 206f 626a , Up: Swept obj\n+00006fb0: 6563 7473 0a0a 322e 372e 3520 506f 6c79 ects..2.7.5 Poly\n+00006fc0: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with\n+00006fd0: 2063 6c6f 7375 7265 0a2d 2d2d 2d2d 2d2d closure.-------\n 00006fe0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00006ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00007000: 2d0a 0a41 2070 6f6c 796c 696e 6520 7377 -..A polyline sw\n-00007010: 6565 7020 7769 7468 2061 2063 6c6f 7375 eep with a closu\n-00007020: 7265 2074 6167 2063 7265 6174 6573 2061 re tag creates a\n-00007030: 6e6f 7468 6572 206b 696e 6420 6f66 2063 nother kind of c\n-00007040: 6c6f 7365 640a 7375 7266 6163 652e 2020 losed.surface. \n-00007050: 4669 7273 742c 2074 6865 2070 6f6c 796c First, the polyl\n-00007060: 696e 6520 7365 676d 656e 7473 2061 7265 ine segments are\n-00007070: 2063 6f6e 6e65 6374 6564 2062 7920 6661 connected by fa\n-00007080: 6365 732c 206a 7573 7420 6173 0a77 6974 ces, just as.wit\n-00007090: 686f 7574 2074 6865 2063 6c6f 7375 7265 hout the closure\n-000070a0: 2074 6167 2e20 2054 6865 6e2c 2065 6163 tag. Then, eac\n-000070b0: 6820 7365 7420 6f66 2065 6e64 2070 6f69 h set of end poi\n-000070c0: 6e74 7320 6973 206a 6f69 6e65 6420 746f nts is joined to\n-000070d0: 206d 616b 650a 6120 706f 6c79 676f 6e2c make.a polygon,\n-000070e0: 206f 6e65 2066 6f72 2065 6163 6820 656e one for each en\n-000070f0: 642e 2020 4120 636f 6465 2066 6f72 2073 d. A code for s\n-00007100: 6576 6572 616c 2076 6965 7773 206f 6620 everal views of \n-00007110: 6120 6379 6c69 6e64 7269 6361 6c0a 7072 a cylindrical.pr\n-00007120: 6973 6d20 666f 6c6c 6f77 732e 0a20 2064 ism follows.. d\n-00007130: 6566 206e 5f63 796c 5f73 6567 7320 3230 ef n_cyl_segs 20\n-00007140: 2020 6465 6620 6e5f 7669 6577 7320 3520 def n_views 5 \n-00007150: 2064 6566 2049 205b 312c 302c 305d 0a20 def I [1,0,0]. \n-00007160: 2064 6566 2065 6e64 6f70 7473 205b 6669 def endopts [fi\n-00007170: 6c6c 636f 6c6f 723d 6c69 6768 7467 7261 llcolor=lightgra\n-00007180: 795d 0a20 2072 6570 6561 7420 7b20 6e5f y]. repeat { n_\n-00007190: 7669 6577 732c 2072 6f74 6174 6528 3138 views, rotate(18\n-000071a0: 302f 6e5f 7669 6577 732c 205b 495d 2920 0/n_views, [I]) \n-000071b0: 7468 656e 2074 7261 6e73 6c61 7465 285b then translate([\n-000071c0: 495d 202a 2032 2e31 2920 7d20 0a20 2020 I] * 2.1) } . \n-000071d0: 2073 7765 6570 5b65 6e64 6f70 7473 5d7b sweep[endopts]{\n-000071e0: 206e 5f63 796c 5f73 6567 733c 3e2c 2072 n_cyl_segs<>, r\n-000071f0: 6f74 6174 6528 3336 302f 6e5f 6379 6c5f otate(360/n_cyl_\n-00007200: 7365 6773 2c20 5b30 2c31 2c30 5d29 207d segs, [0,1,0]) }\n-00007210: 200a 2020 2020 2020 6c69 6e65 5b66 696c . line[fil\n-00007220: 6c63 6f6c 6f72 3d77 6869 7465 5d28 312c lcolor=white](1,\n-00007230: 2d31 2928 312c 3129 0a49 7420 7072 6f64 -1)(1,1).It prod\n-00007240: 7563 6573 2074 6869 7320 6472 6177 696e uces this drawin\n-00007250: 672e 0a0a 0008 5b69 6d61 6765 2073 7263 g.....[image src\n-00007260: 3d22 6578 3131 302e 706e 6722 2074 6578 =\"ex110.png\" tex\n-00007270: 743d 2249 6d61 6765 2065 7831 3130 206f t=\"Image ex110 o\n-00007280: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n-00007290: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n-000072a0: 6f63 756d 656e 742e 2200 085d 0a0a 5468 ocument.\"..]..Th\n-000072b0: 6520 6f70 7469 6f6e 7320 6f66 2074 6865 e options of the\n-000072c0: 2073 7765 7074 206c 696e 652c 2069 6620 swept line, if \n-000072d0: 616e 792c 2061 7265 2061 7070 6c69 6564 any, are applied\n-000072e0: 2074 6f20 7468 6520 6661 6365 7320 7072 to the faces pr\n-000072f0: 6f64 7563 6564 0a62 7920 7377 6565 7069 oduced.by sweepi\n-00007300: 6e67 2074 6865 206c 696e 652c 2062 7574 ng the line, but\n-00007310: 206e 6f74 2074 6865 2065 6e64 2070 6f6c not the end pol\n-00007320: 7967 6f6e 732e 2020 4f74 6865 7277 6973 ygons. Otherwis\n-00007330: 652c 2074 6865 2073 7765 6570 0a6f 7074 e, the sweep.opt\n-00007340: 696f 6e73 2061 7265 2061 7070 6c69 6564 ions are applied\n-00007350: 2074 6872 6f75 6768 6f75 742e 2020 5468 throughout. Th\n-00007360: 6520 6465 6620 696e 2074 6869 7320 6578 e def in this ex\n-00007370: 616d 706c 6520 6973 2061 6e20 e280 9c6f ample is an ...o\n-00007380: 7074 696f 6ee2 809d 0a64 6566 696e 6974 ption....definit\n-00007390: 696f 6e2e 2020 5265 6665 7265 6e63 6573 ion. References\n-000073a0: 2074 6f20 6f70 7469 6f6e 7320 6d75 7374 to options must\n-000073b0: 2062 6520 656e 636c 6f73 6564 2069 6e20 be enclosed in \n-000073c0: 7371 7561 7265 2062 7261 636b 6574 732c square brackets,\n-000073d0: 0a65 2e67 2e20 2020 5b66 6f6f 5d2e 2020 .e.g. [foo]. \n-000073e0: 596f 7520 6361 6e20 636f 6e63 6174 656e You can concaten\n-000073f0: 6174 6520 7365 7665 7261 6c20 7365 7473 ate several sets\n-00007400: 206f 6620 6f70 7469 6f6e 7320 7769 7468 of options with\n-00007410: 2061 2073 696e 676c 650a 7265 6665 7265 a single.refere\n-00007420: 6e63 652c 2065 2e67 2e20 2020 5b63 6f6c nce, e.g. [col\n-00007430: 6f72 2c20 7369 7a65 2c20 7374 796c 655d or, size, style]\n-00007440: 2020 776f 756c 6420 6361 7573 6520 7468 would cause th\n-00007450: 6520 6f70 7469 6f6e 0a64 6566 696e 6974 e option.definit\n-00007460: 696f 6e73 2066 6f72 20e2 8098 636f 6c6f ions for ...colo\n-00007470: 72e2 8099 2c20 e280 9873 697a 65e2 8099 r..., ...size...\n-00007480: 2c20 616e 6420 e280 9873 7479 6c65 e280 , and ...style..\n-00007490: 9920 746f 2061 7070 6561 7220 696e 2073 . to appear in s\n-000074a0: 6571 7565 6e63 6520 696e 0a74 6865 206f equence in.the o\n-000074b0: 7574 7075 7420 6372 6561 7465 6420 6279 utput created by\n-000074c0: 2074 6865 20e2 8098 736b 6574 6368 e280 the ...sketch..\n-000074d0: 9920 636f 6d6d 616e 6420 636f 6e74 6169 . command contai\n-000074e0: 6e69 6e67 2074 6865 2072 6566 6572 656e ning the referen\n-000074f0: 6365 2e0a 4861 7070 696c 792c 2074 6865 ce..Happily, the\n-00007500: 2073 796e 7461 7820 6f66 20e2 8098 736b syntax of ...sk\n-00007510: 6574 6368 e280 9920 6973 2073 7563 6820 etch... is such \n-00007520: 7468 6174 206f 7074 696f 6e73 2072 6566 that options ref\n-00007530: 6572 656e 6365 7320 6361 6e0a 6e65 7665 erences can.neve\n-00007540: 7220 6265 2063 6f6e 6675 7365 6420 7769 r be confused wi\n-00007550: 7468 2076 6563 746f 7220 7265 6665 7265 th vector refere\n-00007560: 6e63 6573 2e20 2057 6869 6c65 206e 6f74 nces. While not\n-00007570: 2061 7070 6172 656e 7420 696e 2074 6869 apparent in thi\n-00007580: 730a 6578 616d 706c 652c 206f 7074 696f s.example, optio\n-00007590: 6e73 2072 6566 6572 656e 6365 7320 6172 ns references ar\n-000075a0: 6520 7573 6566 756c 2077 6865 6e20 6465 e useful when de\n-000075b0: 6669 6e69 6e67 206d 616e 7920 6f62 6a65 fining many obje\n-000075c0: 6374 7320 7769 7468 2061 0a73 696d 696c cts with a.simil\n-000075d0: 6172 2061 7070 6561 7261 6e63 652e 0a0a ar appearance...\n-000075e0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-000075f0: 6e66 6f2c 2020 4e6f 6465 3a20 4166 6669 nfo, Node: Affi\n-00007600: 6e65 2061 7269 7468 6d65 7469 632c 2020 ne arithmetic, \n-00007610: 4e65 7874 3a20 4d6f 7265 2074 6f20 6c65 Next: More to le\n-00007620: 6172 6e2c 2020 5072 6576 3a20 506f 6c79 arn, Prev: Poly\n-00007630: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with\n-00007640: 2063 6c6f 7375 7265 2c20 2055 703a 2053 closure, Up: S\n-00007650: 7765 7074 206f 626a 6563 7473 0a0a 322e wept objects..2.\n-00007660: 372e 3620 4166 6669 6e65 2061 7269 7468 7.6 Affine arith\n-00007670: 6d65 7469 630a 2d2d 2d2d 2d2d 2d2d 2d2d metic.----------\n-00007680: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a54 -------------..T\n-00007690: 6865 2061 7269 7468 6d65 7469 6320 5b49 he arithmetic [I\n-000076a0: 5d20 2a20 322e 3120 6162 6f76 6520 6869 ] * 2.1 above hi\n-000076b0: 6e74 7320 6174 2061 206c 6172 6765 7220 nts at a larger \n-000076c0: 7472 7574 682e 2020 e280 9853 6b65 7463 truth. ...Sketc\n-000076d0: 68e2 8099 0a6f 7065 7261 746f 7273 2077 h....operators w\n-000076e0: 6f72 6b20 6f6e 2073 6361 6c61 7273 2c20 ork on scalars, \n-000076f0: 7665 6374 6f72 732c 2070 6f69 6e74 732c vectors, points,\n-00007700: 2061 6e64 2074 7261 6e73 666f 726d 7320 and transforms \n-00007710: 6163 636f 7264 696e 6720 746f 0a74 6865 according to.the\n-00007720: 2067 656e 6572 616c 2072 756c 6573 206f general rules o\n-00007730: 6620 e280 9c61 6666 696e 6520 616c 6765 f ...affine alge\n-00007740: 6272 61e2 809d 2e20 2054 6869 7320 6361 bra.... This ca\n-00007750: 6e20 6265 2068 656c 7066 756c 2066 6f72 n be helpful for\n-00007760: 2073 6574 7469 6e67 0a75 7020 6469 6167 setting.up diag\n-00007770: 7261 6d73 2077 6974 6820 636f 6d70 7574 rams with comput\n-00007780: 6564 2067 656f 6d65 7472 792e 2020 466f ed geometry. Fo\n-00007790: 7220 6578 616d 706c 652c 2069 6620 796f r example, if yo\n-000077a0: 7520 6861 7665 2074 7269 616e 676c 650a u have triangle.\n-000077b0: 7665 7274 6963 6573 2028 7031 2920 7468 vertices (p1) th\n-000077c0: 726f 7567 6820 2870 3329 2061 6e64 206e rough (p3) and n\n-000077d0: 6565 6420 746f 2064 7261 7720 6120 756e eed to draw a un\n-000077e0: 6974 206e 6f72 6d61 6c20 7665 6374 6f72 it normal vector\n-000077f0: 0a70 6f69 6e74 696e 6720 6f75 7420 6f66 .pointing out of\n-00007800: 2074 6865 2063 656e 7465 7220 6f66 2074 the center of t\n-00007810: 6865 2074 7269 616e 676c 652c 2074 6869 he triangle, thi\n-00007820: 7320 636f 6465 2064 6f65 7320 7468 6520 s code does the \n-00007830: 7472 6963 6b2e 0a20 2064 6566 2070 3120 trick.. def p1 \n-00007840: 2831 2c30 2c30 2920 2064 6566 2070 3220 (1,0,0) def p2 \n-00007850: 2830 2c30 2e35 2c30 2920 2064 6566 2070 (0,0.5,0) def p\n-00007860: 3320 282d 302e 352c 2d31 2c32 290a 2020 3 (-0.5,-1,2). \n-00007870: 6465 6620 4f20 2830 2c30 2c30 290a 2020 def O (0,0,0). \n-00007880: 6465 6620 4e20 756e 6974 2820 2828 7033 def N unit( ((p3\n-00007890: 2920 2d20 2870 3229 2920 2a20 2828 7031 ) - (p2)) * ((p1\n-000078a0: 2920 2d20 2870 3229 2920 290a 2020 6465 ) - (p2)) ). de\n-000078b0: 6620 6e31 2028 2870 3129 2d28 4f29 202b f n1 ((p1)-(O) +\n-000078c0: 2028 7032 292d 284f 2920 2b20 2870 3329 (p2)-(O) + (p3)\n-000078d0: 2d28 4f29 2920 2f20 3320 2b20 284f 290a -(O)) / 3 + (O).\n-000078e0: 2020 6465 6620 6e32 2028 6e31 292b 5b4e def n2 (n1)+[N\n-000078f0: 5d0a 2020 706f 6c79 676f 6e28 7031 2928 ]. polygon(p1)(\n-00007900: 7032 2928 7033 290a 2020 6c69 6e65 5b61 p2)(p3). line[a\n-00007910: 7272 6f77 733d 2a2d 3e5d 286e 3129 286e rrows=*->](n1)(n\n-00007920: 3229 0a54 6865 2066 6972 7374 206c 696e 2).The first lin\n-00007930: 6520 636f 6d70 7574 6573 2074 6865 2063 e computes the c\n-00007940: 726f 7373 2070 726f 6475 6374 206f 6620 ross product of \n-00007950: 7477 6f20 6564 6765 2076 6563 746f 7273 two edge vectors\n-00007960: 206f 6620 7468 650a 7472 6961 6e67 6c65 of the.triangle\n-00007970: 2061 6e64 2073 6361 6c65 7320 6974 2074 and scales it t\n-00007980: 6f20 756e 6974 206c 656e 6774 682e 2020 o unit length. \n-00007990: 5468 6520 7365 636f 6e64 2063 6f6d 7075 The second compu\n-000079a0: 7465 7320 7468 6520 6176 6572 6167 650a tes the average.\n-000079b0: 6f66 2074 6865 2076 6572 7469 6365 732e of the vertices.\n-000079c0: 2020 4e6f 7465 2074 6861 7420 7375 6274 Note that subt\n-000079d0: 7261 6374 696f 6e20 616e 6420 6164 6469 raction and addi\n-000079e0: 7469 6f6e 206f 6620 7468 6520 6f72 6967 tion of the orig\n-000079f0: 696e 0a65 6666 6563 7469 7665 6c79 2063 in.effectively c\n-00007a00: 6f6e 7665 7274 2076 6563 746f 7273 2074 onvert vectors t\n-00007a10: 6f20 706f 696e 7473 2061 6e64 205f 7669 o points and _vi\n-00007a20: 6365 2076 6572 7361 5f2e 2020 5468 6520 ce versa_. The \n-00007a30: 6c69 6e65 0a63 6f6d 6d61 6e64 2064 7261 line.command dra\n-00007a40: 7773 2074 6865 206e 6f72 6d61 6c20 6174 ws the normal at\n-00007a50: 2074 6865 2063 6f72 7265 6374 2073 706f the correct spo\n-00007a60: 742e 0a0a 0008 5b69 6d61 6765 2073 7263 t.....[image src\n-00007a70: 3d22 6578 3130 302e 706e 6722 2074 6578 =\"ex100.png\" tex\n-00007a80: 743d 2249 6d61 6765 2065 7831 3030 206f t=\"Image ex100 o\n-00007a90: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n-00007aa0: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n-00007ab0: 6f63 756d 656e 742e 2200 085d 0a0a 2020 ocument.\"..].. \n-00007ac0: 2054 776f 2063 6176 6561 7473 2072 6567 Two caveats reg\n-00007ad0: 6172 6469 6e67 2074 6869 7320 6578 616d arding this exam\n-00007ae0: 706c 6520 7265 6d61 696e 2e20 2046 6972 ple remain. Fir\n-00007af0: 7374 2c20 7468 6520 6f6e 6c79 2077 6179 st, the only way\n-00007b00: 2074 6f0a 7573 6520 e280 9850 5354 7269 to.use ...PSTri\n-00007b10: 636b 73e2 8099 2d73 7479 6c65 2061 7272 cks...-style arr\n-00007b20: 6f77 7320 6973 2077 6974 6820 6172 726f ows is with arro\n-00007b30: 7773 3d2e 2020 5468 6520 616c 7465 726e ws=. The altern\n-00007b40: 6174 6976 6520 7379 6e74 6178 2066 6f72 ative syntax for\n-00007b50: 0ae2 8098 5053 5472 6963 6b73 e280 9920 ....PSTricks... \n-00007b60: 6172 726f 7773 2069 7320 6e6f 7420 616c arrows is not al\n-00007b70: 6c6f 7765 6420 696e 2073 6b65 7463 682e lowed in sketch.\n-00007b80: 2020 5365 636f 6e64 2c20 796f 7520 6d69 Second, you mi\n-00007b90: 6768 7420 6c69 6b65 2074 6f0a 656c 696d ght like to.elim\n-00007ba0: 696e 6174 6520 7468 6520 7468 6972 6420 inate the third \n-00007bb0: 6465 6620 616e 6420 7772 6974 6520 696e def and write in\n-00007bc0: 7374 6561 6420 7468 6520 666f 6c6c 6f77 stead the follow\n-00007bd0: 696e 672e 0a20 206c 696e 655b 6172 726f ing.. line[arro\n-00007be0: 7773 3d2a 2d3e 5d28 6e31 2920 286e 3129 ws=*->](n1) (n1)\n-00007bf0: 2b5b 4e5d 0a54 6869 7320 6973 206e 6f74 +[N].This is not\n-00007c00: 2061 6c6c 6f77 6564 2e20 2054 6865 2070 allowed. The p\n-00007c10: 6f69 6e74 206c 6973 7473 2069 6e20 6472 oint lists in dr\n-00007c20: 6177 6162 6c65 7320 6d61 7920 636f 6e73 awables may cons\n-00007c30: 6973 7420 6f6e 6c79 206f 660a 6578 706c ist only of.expl\n-00007c40: 6963 6974 2070 6f69 6e74 7320 6f72 2070 icit points or p\n-00007c50: 6f69 6e74 2072 6566 6572 656e 6365 732e oint references.\n-00007c60: 2020 596f 7520 6d61 792c 2068 6f77 6576 You may, howev\n-00007c70: 6572 2c20 7573 6520 6172 6974 686d 6574 er, use arithmet\n-00007c80: 6963 0a74 6f20 6361 6c63 756c 6174 6520 ic.to calculate \n-00007c90: 706f 696e 7420 636f 6d70 6f6e 656e 7473 point components\n-00007ca0: 2e20 2054 6865 2066 6f6c 6c6f 7769 6e67 . The following\n-00007cb0: 2077 6f72 6b73 2c20 7468 6f75 6768 2069 works, though i\n-00007cc0: 7427 7320 610a 6c69 7474 6c65 2063 756d t's a.little cum\n-00007cd0: 6265 7273 6f6d 652e 0a20 206c 696e 655b bersome.. line[\n-00007ce0: 6172 726f 7773 3d2a 2d3e 5d28 6e31 2928 arrows=*->](n1)(\n-00007cf0: 286e 3129 2778 2b28 4e29 2778 2c20 286e (n1)'x+(N)'x, (n\n-00007d00: 3129 2779 2b28 4e29 2779 2c20 286e 3129 1)'y+(N)'y, (n1)\n-00007d10: 277a 2b28 4e29 277a 290a 4f62 7669 6f75 'z+(N)'z).Obviou\n-00007d20: 736c 792c 2074 6865 20e2 809c 7469 636b sly, the ...tick\n-00007d30: 206f 7065 7261 746f 72e2 809d 20e2 8098 operator... ...\n-00007d40: 2778 e280 9920 6578 7472 6163 7473 2063 'x... extracts c\n-00007d50: 6f6d 706f 6e65 6e74 7320 6f66 2070 6f69 omponents of poi\n-00007d60: 6e74 7320 616e 640a 7665 6374 6f72 732e nts and.vectors.\n-00007d70: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-00007d80: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4d6f .info, Node: Mo\n-00007d90: 7265 2074 6f20 6c65 6172 6e2c 2020 5072 re to learn, Pr\n-00007da0: 6576 3a20 4166 6669 6e65 2061 7269 7468 ev: Affine arith\n-00007db0: 6d65 7469 632c 2020 5570 3a20 5377 6570 metic, Up: Swep\n-00007dc0: 7420 6f62 6a65 6374 730a 0a32 2e37 2e37 t objects..2.7.7\n-00007dd0: 204d 6f72 6520 746f 206c 6561 726e 0a2d More to learn.-\n-00007de0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00007df0: 2d2d 0a0a 5468 6973 2069 7320 6e6f 7420 --..This is not \n-00007e00: 7468 6520 656e 6420 6f66 2074 6865 2073 the end of the s\n-00007e10: 746f 7279 206f 6e20 7377 6565 7073 2120 tory on sweeps! \n-00007e20: 2057 6520 696e 7669 7465 2074 6865 2072 We invite the r\n-00007e30: 6561 6465 7220 696e 746f 0a74 6865 206d eader into.the m\n-00007e40: 6169 6e20 626f 6479 206f 6620 7468 6973 ain body of this\n-00007e50: 2064 6f63 756d 656e 7461 7469 6f6e 202a documentation *\n-00007e60: 6e6f 7465 2053 7765 6570 733a 3a20 746f note Sweeps:: to\n-00007e70: 206c 6561 726e 206d 6f72 652e 0a0a 0008 learn more.....\n-00007e80: 5b69 6d61 6765 2073 7263 3d22 6578 3132 [image src=\"ex12\n-00007e90: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png\" text=\"Ima\n-00007ea0: 6765 2065 7831 3230 206f 6d69 7474 6564 ge ex120 omitted\n-00007eb0: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n-00007ec0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n-00007ed0: 742e 2200 085d 0a0a 5768 6f20 6b6e 6f77 t.\"..]..Who know\n-00007ee0: 7320 7768 6572 6520 796f 7527 6c6c 2066 s where you'll f\n-00007ef0: 696e 6973 683f 0a0a 1f0a 4669 6c65 3a20 inish?....File: \n-00007f00: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-00007f10: 6465 3a20 496e 7075 7420 6c61 6e67 7561 de: Input langua\n-00007f20: 6765 2c20 204e 6578 743a 2042 7569 6c64 ge, Next: Build\n-00007f30: 696e 6720 6120 6472 6177 696e 672c 2020 ing a drawing, \n-00007f40: 5072 6576 3a20 496e 7472 6f64 7563 7469 Prev: Introducti\n-00007f50: 6f6e 2062 7920 6578 616d 706c 652c 2020 on by example, \n-00007f60: 5570 3a20 546f 700a 0a33 2049 6e70 7574 Up: Top..3 Input\n-00007f70: 206c 616e 6775 6167 650a 2a2a 2a2a 2a2a language.******\n-00007f80: 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 5468 6973 **********..This\n-00007f90: 2063 6861 7074 6572 2064 6573 6372 6962 chapter describ\n-00007fa0: 6573 2074 6865 20e2 8098 736b 6574 6368 es the ...sketch\n-00007fb0: e280 9920 696e 7075 7420 6c61 6e67 7561 ... input langua\n-00007fc0: 6765 2069 6e20 6465 7461 696c 2e0a 0a2a ge in detail...*\n-00007fd0: 204d 656e 753a 0a0a 2a20 4c61 6e67 7561 Menu:..* Langua\n-00007fe0: 6765 2062 6173 6963 733a 3a20 2020 2020 ge basics:: \n-00007ff0: 2020 2020 2020 2020 4361 7365 2c20 7370 Case, sp\n-00008000: 6163 652c 2063 6f6d 6d65 6e74 732c 2069 ace, comments, i\n-00008010: 6e63 6c75 6465 2066 696c 6573 2e0a 2a20 nclude files..* \n-00008020: 4472 6177 6162 6c65 733a 3a20 2020 2020 Drawables:: \n-00008030: 2020 2020 2020 2020 2020 2020 2020 5468 Th\n-00008040: 696e 6773 2074 6861 7420 6361 6e20 6265 ings that can be\n-00008050: 2064 7261 776e 2e0a 2a20 4465 6669 6e69 drawn..* Defini\n-00008060: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: \n-00008070: 2020 2020 2020 2020 4769 7669 6e67 2074 Giving t\n-00008080: 6869 6e67 7320 6e61 6d65 732e 0a2a 2047 hings names..* G\n-00008090: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen\n-000080a0: 743a 3a20 2020 2020 2020 2020 2041 6666 t:: Aff\n-000080b0: 6563 7420 7468 6520 656e 7469 7265 2064 ect the entire d\n-000080c0: 7261 7769 6e67 2e0a 0a1f 0a46 696c 653a rawing.....File:\n-000080d0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-000080e0: 6f64 653a 204c 616e 6775 6167 6520 6261 ode: Language ba\n-000080f0: 7369 6373 2c20 204e 6578 743a 2044 7261 sics, Next: Dra\n-00008100: 7761 626c 6573 2c20 2050 7265 763a 2049 wables, Prev: I\n-00008110: 6e70 7574 206c 616e 6775 6167 652c 2020 nput language, \n-00008120: 5570 3a20 496e 7075 7420 6c61 6e67 7561 Up: Input langua\n-00008130: 6765 0a0a 332e 3120 4261 7369 6373 0a3d ge..3.1 Basics.=\n-00008140: 3d3d 3d3d 3d3d 3d3d 3d0a 0ae2 8098 536b =========.....Sk\n-00008150: 6574 6368 e280 9920 696e 7075 7420 6973 etch... input is\n-00008160: 2070 6c61 696e 2041 5343 4949 2074 6578 plain ASCII tex\n-00008170: 742c 2075 7375 616c 6c79 2073 746f 7265 t, usually store\n-00008180: 6420 696e 2061 6e20 696e 7075 7420 6669 d in an input fi\n-00008190: 6c65 2e20 2049 740a 6465 7363 7269 6265 le. It.describe\n-000081a0: 7320 6120 e280 9c73 6365 6e65 e280 9d2c s a ...scene...,\n-000081b0: 2073 6f20 7468 6520 736b 6574 6368 206c so the sketch l\n-000081c0: 616e 6775 6167 6520 6973 2061 20e2 809c anguage is a ...\n-000081d0: 7363 656e 6520 6465 7363 7269 7074 696f scene descriptio\n-000081e0: 6e0a 6c61 6e67 7561 6765 e280 9d2e 2020 n.language.... \n-000081f0: e280 9853 6b65 7463 68e2 8099 2069 6e70 ...Sketch... inp\n-00008200: 7574 2069 7320 616c 736f 20e2 809c 6465 ut is also ...de\n-00008210: 636c 6172 6174 6976 65e2 809d 2e20 2049 clarative.... I\n-00008220: 7420 6d65 7265 6c79 2064 6563 6c61 7265 t merely declare\n-00008230: 730a 7768 6174 2074 6865 2073 6365 6e65 s.what the scene\n-00008240: 206f 7567 6874 2074 6f20 6c6f 6f6b 206c ought to look l\n-00008250: 696b 6520 7768 656e 2064 7261 7769 6e67 ike when drawing\n-00008260: 2069 7320 636f 6d70 6c65 7465 2061 6e64 is complete and\n-00008270: 2073 6179 7320 7665 7279 0a6c 6974 746c says very.littl\n-00008280: 6520 6162 6f75 7420 686f 7720 e280 9873 e about how ...s\n-00008290: 6b65 7463 68e2 8099 2073 686f 756c 6420 ketch... should \n-000082a0: 646f 2069 7473 2077 6f72 6b2e 2020 e280 do its work. ..\n-000082b0: 9853 6b65 7463 68e2 8099 2063 6f6d 6d61 .Sketch... comma\n-000082c0: 6e64 7320 6172 6520 6e6f 740a 6578 6563 nds are not.exec\n-000082d0: 7574 6564 2073 6571 7565 6e74 6961 6c6c uted sequentiall\n-000082e0: 7920 6173 2069 6e20 7468 6520 7573 7561 y as in the usua\n-000082f0: 6c20 7072 6f67 7261 6d6d 696e 6720 6c61 l programming la\n-00008300: 6e67 7561 6765 2e20 2054 6865 7920 6d65 nguage. They me\n-00008310: 7265 6c79 0a63 6f6e 7472 6962 7574 6520 rely.contribute \n-00008320: 746f 2074 6861 7420 6465 636c 6172 6174 to that declarat\n-00008330: 696f 6e2e 0a0a 2020 2041 2066 6577 2073 ion... A few s\n-00008340: 796e 7461 6374 6963 2064 6574 6169 6c73 yntactic details\n-00008350: 2061 7265 2069 6d70 6f72 7461 6e74 2e20 are important. \n-00008360: 2043 6173 6520 6973 2073 6967 6e69 6669 Case is signifi\n-00008370: 6361 6e74 2069 6e20 7468 650a e280 9873 cant in the....s\n-00008380: 6b65 7463 68e2 8099 206c 616e 6775 6167 ketch... languag\n-00008390: 652e 2020 5769 7468 2061 2066 6577 2065 e. With a few e\n-000083a0: 7863 6570 7469 6f6e 732c 2077 6869 7465 xceptions, white\n-000083b0: 2073 7061 6365 2069 7320 6e6f 742e 2020 space is not. \n-000083c0: 5468 6973 0a69 6e63 6c75 6465 7320 6c69 This.includes li\n-000083d0: 6e65 2062 7265 616b 732e 2020 436f 6d6d ne breaks. Comm\n-000083e0: 656e 7473 2062 6567 696e 2077 6974 6820 ents begin with \n-000083f0: e280 9825 e280 9920 6f72 20e2 8098 23e2 ...%... or ...#.\n-00008400: 8099 2061 6e64 2065 7874 656e 6420 746f .. and extend to\n-00008410: 2074 6865 0a65 6e64 206f 6620 7468 6520 the.end of the \n-00008420: 6c69 6e65 2e20 2059 6f75 2063 616e 2064 line. You can d\n-00008430: 6973 6162 6c65 2061 2063 6875 6e6b 206f isable a chunk o\n-00008440: 6620 7379 6e74 6163 7469 6361 6c6c 7920 f syntactically \n-00008450: 636f 7272 6563 740a e280 9873 6b65 7463 correct....sketc\n-00008460: 68e2 8099 2063 6f64 6520 6279 2065 6e63 h... code by enc\n-00008470: 6c6f 7369 6e67 2069 7420 696e 2061 20e2 losing it in a .\n-00008480: 8098 6465 66e2 8099 2e20 2054 6865 7265 ..def.... There\n-00008490: 2069 7320 6120 7369 6d70 6c65 2022 696e is a simple \"in\n-000084a0: 636c 7564 650a 6669 6c65 2220 6d65 6368 clude.file\" mech\n-000084b0: 616e 6973 6d2e 2020 5468 6520 636f 6d6d anism. The comm\n-000084c0: 616e 640a 2020 696e 7075 747b 6f74 6865 and. input{othe\n-000084d0: 7266 696c 652e 736b 7d0a 6361 7573 6573 rfile.sk}.causes\n-000084e0: 2074 6865 2063 6f6e 7465 6e74 7320 6f66 the contents of\n-000084f0: 20e2 8098 6f74 6865 7266 696c 652e 736b ...otherfile.sk\n-00008500: e280 9920 746f 2062 6520 696e 7365 7274 ... to be insert\n-00008510: 6564 2061 7320 7468 6f75 6768 2074 6865 ed as though the\n-00008520: 7920 7765 7265 0a70 6172 7420 6f66 2074 y were.part of t\n-00008530: 6865 2063 7572 7265 6e74 2066 696c 652e he current file.\n-00008540: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2049 6465 ..* Menu:..* Ide\n-00008550: 6e74 6966 6965 7273 3a3a 2020 2020 2020 ntifiers:: \n-00008560: 2020 2020 2020 2020 2020 204e 616d 6573 Names\n-00008570: 2066 6f72 2074 6869 6e67 732e 0a2a 204b for things..* K\n-00008580: 6579 2061 6e64 2072 6573 6572 7665 6420 ey and reserved \n-00008590: 776f 7264 733a 3a20 2020 2020 204e 616d words:: Nam\n-000085a0: 6573 2079 6f75 2073 686f 756c 646e 2774 es you shouldn't\n-000085b0: 2075 7365 2e0a 2a20 4c69 7465 7261 6c73 use..* Literals\n-000085c0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-000085d0: 2020 2020 2020 436f 6e73 7461 6e74 7320 Constants \n-000085e0: 616e 6420 636f 6e73 7472 7563 746f 7273 and constructors\n-000085f0: 2e0a 2a20 4172 6974 686d 6574 6963 3a3a ..* Arithmetic::\n-00008600: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00008610: 2020 5275 6c65 7320 666f 7220 6578 7072 Rules for expr\n-00008620: 6573 7369 6f6e 732e 0a2a 204f 7074 696f essions..* Optio\n-00008630: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: \n-00008640: 2020 2020 2020 2020 204d 6f64 6966 7969 Modifyi\n-00008650: 6e67 206f 626a 6563 7420 6170 7065 6172 ng object appear\n-00008660: 616e 6365 2e0a 0a1f 0a46 696c 653a 2073 ance.....File: s\n-00008670: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-00008680: 653a 2049 6465 6e74 6966 6965 7273 2c20 e: Identifiers, \n-00008690: 204e 6578 743a 204b 6579 2061 6e64 2072 Next: Key and r\n-000086a0: 6573 6572 7665 6420 776f 7264 732c 2020 eserved words, \n-000086b0: 5072 6576 3a20 4c61 6e67 7561 6765 2062 Prev: Language b\n-000086c0: 6173 6963 732c 2020 5570 3a20 4c61 6e67 asics, Up: Lang\n-000086d0: 7561 6765 2062 6173 6963 730a 0a33 2e31 uage basics..3.1\n-000086e0: 2e31 2049 6465 6e74 6966 6965 7273 0a2d .1 Identifiers.-\n-000086f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00008700: 0a0a 4964 656e 7469 6669 6572 7320 696e ..Identifiers in\n-00008710: 20e2 8098 736b 6574 6368 e280 9920 6172 ...sketch... ar\n-00008720: 6520 7265 6665 7265 6e63 6573 2074 6f20 e references to \n-00008730: 6561 726c 6965 722d 6465 6669 6e65 6420 earlier-defined \n-00008740: 6f70 7469 6f6e 732c 0a73 6361 6c61 7273 options,.scalars\n-00008750: 2c20 706f 696e 7473 2c20 7665 6374 6f72 , points, vector\n-00008760: 732c 2074 7261 6e73 666f 726d 732c 2064 s, transforms, d\n-00008770: 7261 7761 626c 6573 2c20 616e 6420 7461 rawables, and ta\n-00008780: 6773 2e20 2044 6566 696e 6974 696f 6e73 gs. Definitions\n-00008790: 0a61 7265 2065 7870 6c61 696e 6564 2069 .are explained i\n-000087a0: 6e20 2a6e 6f74 6520 4465 6669 6e69 7469 n *note Definiti\n-000087b0: 6f6e 733a 3a2e 0a0a 2020 2041 6e20 6964 ons::... An id\n-000087c0: 656e 7469 6669 6572 2063 6f6e 7369 7374 entifier consist\n-000087d0: 7320 6f66 2061 206c 6561 6469 6e67 206c s of a leading l\n-000087e0: 6574 7465 7220 666f 6c6c 6f77 6564 2062 etter followed b\n-000087f0: 7920 6c65 7474 6572 732c 0a6e 756d 6265 y letters,.numbe\n-00008800: 7273 2061 6e64 2075 6e64 6572 7363 6f72 rs and underscor\n-00008810: 6573 2e20 2054 6865 206c 6173 7420 6368 es. The last ch\n-00008820: 6172 6163 7465 7220 6d61 7920 5f6e 6f74 aracter may _not\n-00008830: 5f20 6265 2061 6e20 756e 6465 7273 636f _ be an undersco\n-00008840: 7265 2e0a 4b65 7977 6f72 6473 2063 616e re..Keywords can\n-00008850: 6e6f 7420 6265 2075 7365 6420 6173 2069 not be used as i\n-00008860: 6465 6e74 6966 6965 7273 2c20 616e 6420 dentifiers, and \n-00008870: 7265 7365 7276 6564 2077 6f72 6473 206f reserved words o\n-00008880: 7567 6874 2074 6f20 6265 0a61 766f 6964 ught to be.avoid\n-00008890: 6564 2e20 202a 4e6f 7465 204b 6579 2061 ed. *Note Key a\n-000088a0: 6e64 2072 6573 6572 7665 6420 776f 7264 nd reserved word\n-000088b0: 733a 3a2e 0a0a 1f0a 4669 6c65 3a20 736b s::.....File: sk\n-000088c0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-000088d0: 3a20 4b65 7920 616e 6420 7265 7365 7276 : Key and reserv\n-000088e0: 6564 2077 6f72 6473 2c20 204e 6578 743a ed words, Next:\n-000088f0: 204c 6974 6572 616c 732c 2020 5072 6576 Literals, Prev\n-00008900: 3a20 4964 656e 7469 6669 6572 732c 2020 : Identifiers, \n-00008910: 5570 3a20 4c61 6e67 7561 6765 2062 6173 Up: Language bas\n-00008920: 6963 730a 0a33 2e31 2e32 204b 6579 2061 ics..3.1.2 Key a\n-00008930: 6e64 2072 6573 6572 7665 6420 776f 7264 nd reserved word\n-00008940: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.--------------\n-00008950: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-00008960: 5468 6520 6b65 7977 6f72 6473 206f 6620 The keywords of \n-00008970: e280 9873 6b65 7463 68e2 8099 2061 7265 ...sketch... are\n-00008980: 20e2 8098 7069 6374 7572 6562 6f78 e280 ...picturebox..\n-00008990: 9920 e280 9863 7572 7665 e280 9920 e280 . ...curve... ..\n-000089a0: 9864 6566 e280 9920 e280 9864 6f74 73e2 .def... ...dots.\n-000089b0: 8099 20e2 8098 6672 616d 65e2 8099 0ae2 .. ...frame.....\n-000089c0: 8098 676c 6f62 616c e280 9920 e280 9869 ..global... ...i\n-000089d0: 6e70 7574 e280 9920 e280 986c 696e 65e2 nput... ...line.\n-000089e0: 8099 20e2 8098 706f 6c79 676f 6ee2 8099 .. ...polygon...\n-000089f0: 20e2 8098 7075 74e2 8099 20e2 8098 7265 ...put... ...re\n-00008a00: 7065 6174 e280 9920 e280 9873 6574 e280 peat... ...set..\n-00008a10: 9920 e280 9873 7765 6570 e280 9920 616e . ...sweep... an\n-00008a20: 640a e280 9874 6865 6ee2 8099 2e20 2054 d....then.... T\n-00008a30: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... \n-00008a40: 7061 7273 6572 2077 696c 6c20 6e6f 7465 parser will note\n-00008a50: 2061 2073 796e 7461 7820 6572 726f 7220 a syntax error \n-00008a60: 6966 2061 6e79 206f 6620 7468 6573 650a if any of these.\n-00008a70: 6172 6520 7573 6564 2069 6e20 706c 6163 are used in plac\n-00008a80: 6520 6f66 2061 2070 726f 7065 7220 6964 e of a proper id\n-00008a90: 656e 7469 6669 6572 2e0a 0a20 2020 496e entifier... In\n-00008aa0: 2061 6464 6974 696f 6e2c 2074 6865 7265 addition, there\n-00008ab0: 2061 7265 2072 6573 6572 7665 6420 776f are reserved wo\n-00008ac0: 7264 7320 7468 6174 2063 616e 2063 7572 rds that can cur\n-00008ad0: 7265 6e74 6c79 2062 6520 6465 6669 6e65 rently be define\n-00008ae0: 640a 6279 2074 6865 2075 7365 722c 2062 d.by the user, b\n-00008af0: 7574 2077 6974 6820 7468 6520 7269 736b ut with the risk\n-00008b00: 2074 6861 7420 6675 7475 7265 2076 6572 that future ver\n-00008b10: 7369 6f6e 7320 6f66 20e2 8098 736b 6574 sions of ...sket\n-00008b20: 6368 e280 9920 7769 6c6c 0a72 656a 6563 ch... will.rejec\n-00008b30: 7420 7468 6f73 6520 6465 6669 6e69 7469 t those definiti\n-00008b40: 6f6e 732e 2020 5468 6520 7265 7365 7276 ons. The reserv\n-00008b50: 6564 2077 6f72 6473 2061 7265 20e2 8098 ed words are ...\n-00008b60: 6163 6f73 e280 9920 e280 9861 7369 6ee2 acos... ...asin.\n-00008b70: 8099 20e2 8098 6174 616e 32e2 8099 0ae2 .. ...atan2.....\n-00008b80: 8098 636f 73e2 8099 20e2 8098 696e 7665 ..cos... ...inve\n-00008b90: 7273 65e2 8099 20e2 8098 7065 7273 7065 rse... ...perspe\n-00008ba0: 6374 6976 65e2 8099 20e2 8098 7072 6f6a ctive... ...proj\n-00008bb0: 6563 74e2 8099 20e2 8098 726f 7461 7465 ect... ...rotate\n-00008bc0: e280 9920 e280 9873 6361 6c65 e280 9920 ... ...scale... \n-00008bd0: e280 9873 696e e280 9920 e280 9873 7065 ...sin... ...spe\n-00008be0: 6369 616c e280 990a e280 9873 7172 74e2 cial.......sqrt.\n-00008bf0: 8099 20e2 8098 7472 616e 736c 6174 65e2 .. ...translate.\n-00008c00: 8099 20e2 8098 756e 6974 e280 9920 616e .. ...unit... an\n-00008c10: 6420 e280 9876 6965 77e2 8099 2e0a 0a1f d ...view.......\n-00008c20: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00008c30: 666f 2c20 204e 6f64 653a 204c 6974 6572 fo, Node: Liter\n-00008c40: 616c 732c 2020 4e65 7874 3a20 4172 6974 als, Next: Arit\n-00008c50: 686d 6574 6963 2c20 2050 7265 763a 204b hmetic, Prev: K\n-00008c60: 6579 2061 6e64 2072 6573 6572 7665 6420 ey and reserved \n-00008c70: 776f 7264 732c 2020 5570 3a20 4c61 6e67 words, Up: Lang\n-00008c80: 7561 6765 2062 6173 6963 730a 0a33 2e31 uage basics..3.1\n-00008c90: 2e33 204c 6974 6572 616c 730a 2d2d 2d2d .3 Literals.----\n-00008ca0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 4c69 7465 ----------..Lite\n-00008cb0: 7261 6c73 2069 6e20 e280 9873 6b65 7463 rals in ...sketc\n-00008cc0: 68e2 8099 2069 6e63 6c75 6465 2073 6361 h... include sca\n-00008cd0: 6c61 7273 2c20 706f 696e 7473 2c20 7665 lars, points, ve\n-00008ce0: 6374 6f72 732c 2061 6e64 2074 7261 6e73 ctors, and trans\n-00008cf0: 666f 726d 732e 0a4c 6974 6572 616c 732c forms..Literals,\n-00008d00: 2061 6c6f 6e67 2077 6974 6820 6465 6669 along with defi\n-00008d10: 6e65 6420 6f62 6a65 6374 2072 6566 6572 ned object refer\n-00008d20: 656e 6365 732c 2061 7265 2075 7365 6420 ences, are used \n-00008d30: 696e 2061 7269 7468 6d65 7469 630a 6578 in arithmetic.ex\n-00008d40: 7072 6573 7369 6f6e 732e 2020 2a4e 6f74 pressions. *Not\n-00008d50: 6520 4172 6974 686d 6574 6963 3a3a 2e0a e Arithmetic::..\n-00008d60: 0a2a 204d 656e 753a 0a0a 2a20 5363 616c .* Menu:..* Scal\n-00008d70: 6172 206c 6974 6572 616c 733a 3a20 2020 ar literals:: \n-00008d80: 2020 2020 2020 2020 2020 4a75 7374 2074 Just t\n-00008d90: 6865 206e 756d 6265 7273 2e0a 2a20 506f he numbers..* Po\n-00008da0: 696e 7420 616e 6420 7665 6374 6f72 206c int and vector l\n-00008db0: 6974 6572 616c 733a 3a20 2020 3364 2071 iterals:: 3d q\n-00008dc0: 7561 6e74 6974 6965 732e 0a2a 2054 7261 uantities..* Tra\n-00008dd0: 6e73 666f 726d 206c 6974 6572 616c 733a nsform literals:\n-00008de0: 3a20 2020 2020 2020 2020 204d 6174 7269 : Matri\n-00008df0: 7820 666f 726d 2e0a 0a1f 0a46 696c 653a x form.....File:\n-00008e00: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-00008e10: 6f64 653a 2053 6361 6c61 7220 6c69 7465 ode: Scalar lite\n-00008e20: 7261 6c73 2c20 204e 6578 743a 2050 6f69 rals, Next: Poi\n-00008e30: 6e74 2061 6e64 2076 6563 746f 7220 6c69 nt and vector li\n-00008e40: 7465 7261 6c73 2c20 2050 7265 763a 204c terals, Prev: L\n-00008e50: 6974 6572 616c 732c 2020 5570 3a20 4c69 iterals, Up: Li\n-00008e60: 7465 7261 6c73 0a0a 332e 312e 332e 3120 terals..3.1.3.1 \n-00008e70: 5363 616c 6172 206c 6974 6572 616c 730a Scalar literals.\n+00006ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a41 2070 -----------..A p\n+00007000: 6f6c 796c 696e 6520 7377 6565 7020 7769 olyline sweep wi\n+00007010: 7468 2061 2063 6c6f 7375 7265 2074 6167 th a closure tag\n+00007020: 2063 7265 6174 6573 2061 6e6f 7468 6572 creates another\n+00007030: 206b 696e 6420 6f66 2063 6c6f 7365 640a kind of closed.\n+00007040: 7375 7266 6163 652e 2020 4669 7273 742c surface. First,\n+00007050: 2074 6865 2070 6f6c 796c 696e 6520 7365 the polyline se\n+00007060: 676d 656e 7473 2061 7265 2063 6f6e 6e65 gments are conne\n+00007070: 6374 6564 2062 7920 6661 6365 732c 206a cted by faces, j\n+00007080: 7573 7420 6173 0a77 6974 686f 7574 2074 ust as.without t\n+00007090: 6865 2063 6c6f 7375 7265 2074 6167 2e20 he closure tag. \n+000070a0: 2054 6865 6e2c 2065 6163 6820 7365 7420 Then, each set \n+000070b0: 6f66 2065 6e64 2070 6f69 6e74 7320 6973 of end points is\n+000070c0: 206a 6f69 6e65 6420 746f 206d 616b 650a joined to make.\n+000070d0: 6120 706f 6c79 676f 6e2c 206f 6e65 2066 a polygon, one f\n+000070e0: 6f72 2065 6163 6820 656e 642e 2020 4120 or each end. A \n+000070f0: 636f 6465 2066 6f72 2073 6576 6572 616c code for several\n+00007100: 2076 6965 7773 206f 6620 6120 6379 6c69 views of a cyli\n+00007110: 6e64 7269 6361 6c0a 7072 6973 6d20 666f ndrical.prism fo\n+00007120: 6c6c 6f77 732e 0a20 2064 6566 206e 5f63 llows.. def n_c\n+00007130: 796c 5f73 6567 7320 3230 2020 6465 6620 yl_segs 20 def \n+00007140: 6e5f 7669 6577 7320 3520 2064 6566 2049 n_views 5 def I\n+00007150: 205b 312c 302c 305d 0a20 2064 6566 2065 [1,0,0]. def e\n+00007160: 6e64 6f70 7473 205b 6669 6c6c 636f 6c6f ndopts [fillcolo\n+00007170: 723d 6c69 6768 7467 7261 795d 0a20 2072 r=lightgray]. r\n+00007180: 6570 6561 7420 7b20 6e5f 7669 6577 732c epeat { n_views,\n+00007190: 2072 6f74 6174 6528 3138 302f 6e5f 7669 rotate(180/n_vi\n+000071a0: 6577 732c 205b 495d 2920 7468 656e 2074 ews, [I]) then t\n+000071b0: 7261 6e73 6c61 7465 285b 495d 202a 2032 ranslate([I] * 2\n+000071c0: 2e31 2920 7d20 0a20 2020 2073 7765 6570 .1) } . sweep\n+000071d0: 5b65 6e64 6f70 7473 5d7b 206e 5f63 796c [endopts]{ n_cyl\n+000071e0: 5f73 6567 733c 3e2c 2072 6f74 6174 6528 _segs<>, rotate(\n+000071f0: 3336 302f 6e5f 6379 6c5f 7365 6773 2c20 360/n_cyl_segs, \n+00007200: 5b30 2c31 2c30 5d29 207d 200a 2020 2020 [0,1,0]) } . \n+00007210: 2020 6c69 6e65 5b66 696c 6c63 6f6c 6f72 line[fillcolor\n+00007220: 3d77 6869 7465 5d28 312c 2d31 2928 312c =white](1,-1)(1,\n+00007230: 3129 0a49 7420 7072 6f64 7563 6573 2074 1).It produces t\n+00007240: 6869 7320 6472 6177 696e 672e 0a0a 0008 his drawing.....\n+00007250: 5b69 6d61 6765 2073 7263 3d22 6578 3131 [image src=\"ex11\n+00007260: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png\" text=\"Ima\n+00007270: 6765 2065 7831 3130 206f 6d69 7474 6564 ge ex110 omitted\n+00007280: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n+00007290: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n+000072a0: 742e 2200 085d 0a0a 5468 6520 6f70 7469 t.\"..]..The opti\n+000072b0: 6f6e 7320 6f66 2074 6865 2073 7765 7074 ons of the swept\n+000072c0: 206c 696e 652c 2069 6620 616e 792c 2061 line, if any, a\n+000072d0: 7265 2061 7070 6c69 6564 2074 6f20 7468 re applied to th\n+000072e0: 6520 6661 6365 7320 7072 6f64 7563 6564 e faces produced\n+000072f0: 0a62 7920 7377 6565 7069 6e67 2074 6865 .by sweeping the\n+00007300: 206c 696e 652c 2062 7574 206e 6f74 2074 line, but not t\n+00007310: 6865 2065 6e64 2070 6f6c 7967 6f6e 732e he end polygons.\n+00007320: 2020 4f74 6865 7277 6973 652c 2074 6865 Otherwise, the\n+00007330: 2073 7765 6570 0a6f 7074 696f 6e73 2061 sweep.options a\n+00007340: 7265 2061 7070 6c69 6564 2074 6872 6f75 re applied throu\n+00007350: 6768 6f75 742e 2020 5468 6520 6465 6620 ghout. The def \n+00007360: 696e 2074 6869 7320 6578 616d 706c 6520 in this example \n+00007370: 6973 2061 6e20 e280 9c6f 7074 696f 6ee2 is an ...option.\n+00007380: 809d 0a64 6566 696e 6974 696f 6e2e 2020 ...definition. \n+00007390: 5265 6665 7265 6e63 6573 2074 6f20 6f70 References to op\n+000073a0: 7469 6f6e 7320 6d75 7374 2062 6520 656e tions must be en\n+000073b0: 636c 6f73 6564 2069 6e20 7371 7561 7265 closed in square\n+000073c0: 2062 7261 636b 6574 732c 0a65 2e67 2e20 brackets,.e.g. \n+000073d0: 2020 5b66 6f6f 5d2e 2020 596f 7520 6361 [foo]. You ca\n+000073e0: 6e20 636f 6e63 6174 656e 6174 6520 7365 n concatenate se\n+000073f0: 7665 7261 6c20 7365 7473 206f 6620 6f70 veral sets of op\n+00007400: 7469 6f6e 7320 7769 7468 2061 2073 696e tions with a sin\n+00007410: 676c 650a 7265 6665 7265 6e63 652c 2065 gle.reference, e\n+00007420: 2e67 2e20 2020 5b63 6f6c 6f72 2c20 7369 .g. [color, si\n+00007430: 7a65 2c20 7374 796c 655d 2020 776f 756c ze, style] woul\n+00007440: 6420 6361 7573 6520 7468 6520 6f70 7469 d cause the opti\n+00007450: 6f6e 0a64 6566 696e 6974 696f 6e73 2066 on.definitions f\n+00007460: 6f72 20e2 8098 636f 6c6f 72e2 8099 2c20 or ...color..., \n+00007470: e280 9873 697a 65e2 8099 2c20 616e 6420 ...size..., and \n+00007480: e280 9873 7479 6c65 e280 9920 746f 2061 ...style... to a\n+00007490: 7070 6561 7220 696e 2073 6571 7565 6e63 ppear in sequenc\n+000074a0: 6520 696e 0a74 6865 206f 7574 7075 7420 e in.the output \n+000074b0: 6372 6561 7465 6420 6279 2074 6865 20e2 created by the .\n+000074c0: 8098 736b 6574 6368 e280 9920 636f 6d6d ..sketch... comm\n+000074d0: 616e 6420 636f 6e74 6169 6e69 6e67 2074 and containing t\n+000074e0: 6865 2072 6566 6572 656e 6365 2e0a 4861 he reference..Ha\n+000074f0: 7070 696c 792c 2074 6865 2073 796e 7461 ppily, the synta\n+00007500: 7820 6f66 20e2 8098 736b 6574 6368 e280 x of ...sketch..\n+00007510: 9920 6973 2073 7563 6820 7468 6174 206f . is such that o\n+00007520: 7074 696f 6e73 2072 6566 6572 656e 6365 ptions reference\n+00007530: 7320 6361 6e0a 6e65 7665 7220 6265 2063 s can.never be c\n+00007540: 6f6e 6675 7365 6420 7769 7468 2076 6563 onfused with vec\n+00007550: 746f 7220 7265 6665 7265 6e63 6573 2e20 tor references. \n+00007560: 2057 6869 6c65 206e 6f74 2061 7070 6172 While not appar\n+00007570: 656e 7420 696e 2074 6869 730a 6578 616d ent in this.exam\n+00007580: 706c 652c 206f 7074 696f 6e73 2072 6566 ple, options ref\n+00007590: 6572 656e 6365 7320 6172 6520 7573 6566 erences are usef\n+000075a0: 756c 2077 6865 6e20 6465 6669 6e69 6e67 ul when defining\n+000075b0: 206d 616e 7920 6f62 6a65 6374 7320 7769 many objects wi\n+000075c0: 7468 2061 0a73 696d 696c 6172 2061 7070 th a.similar app\n+000075d0: 6561 7261 6e63 652e 0a0a 1f0a 4669 6c65 earance.....File\n+000075e0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+000075f0: 4e6f 6465 3a20 4166 6669 6e65 2061 7269 Node: Affine ari\n+00007600: 7468 6d65 7469 632c 2020 4e65 7874 3a20 thmetic, Next: \n+00007610: 4d6f 7265 2074 6f20 6c65 6172 6e2c 2020 More to learn, \n+00007620: 5072 6576 3a20 506f 6c79 6c69 6e65 2073 Prev: Polyline s\n+00007630: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu\n+00007640: 7265 2c20 2055 703a 2053 7765 7074 206f re, Up: Swept o\n+00007650: 626a 6563 7473 0a0a 322e 372e 3620 4166 bjects..2.7.6 Af\n+00007660: 6669 6e65 2061 7269 7468 6d65 7469 630a fine arithmetic.\n+00007670: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00007680: 2d2d 2d2d 2d2d 2d0a 0a54 6865 2061 7269 -------..The ari\n+00007690: 7468 6d65 7469 6320 5b49 5d20 2a20 322e thmetic [I] * 2.\n+000076a0: 3120 6162 6f76 6520 6869 6e74 7320 6174 1 above hints at\n+000076b0: 2061 206c 6172 6765 7220 7472 7574 682e a larger truth.\n+000076c0: 2020 e280 9853 6b65 7463 68e2 8099 0a6f ...Sketch....o\n+000076d0: 7065 7261 746f 7273 2077 6f72 6b20 6f6e perators work on\n+000076e0: 2073 6361 6c61 7273 2c20 7665 6374 6f72 scalars, vector\n+000076f0: 732c 2070 6f69 6e74 732c 2061 6e64 2074 s, points, and t\n+00007700: 7261 6e73 666f 726d 7320 6163 636f 7264 ransforms accord\n+00007710: 696e 6720 746f 0a74 6865 2067 656e 6572 ing to.the gener\n+00007720: 616c 2072 756c 6573 206f 6620 e280 9c61 al rules of ...a\n+00007730: 6666 696e 6520 616c 6765 6272 61e2 809d ffine algebra...\n+00007740: 2e20 2054 6869 7320 6361 6e20 6265 2068 . This can be h\n+00007750: 656c 7066 756c 2066 6f72 2073 6574 7469 elpful for setti\n+00007760: 6e67 0a75 7020 6469 6167 7261 6d73 2077 ng.up diagrams w\n+00007770: 6974 6820 636f 6d70 7574 6564 2067 656f ith computed geo\n+00007780: 6d65 7472 792e 2020 466f 7220 6578 616d metry. For exam\n+00007790: 706c 652c 2069 6620 796f 7520 6861 7665 ple, if you have\n+000077a0: 2074 7269 616e 676c 650a 7665 7274 6963 triangle.vertic\n+000077b0: 6573 2028 7031 2920 7468 726f 7567 6820 es (p1) through \n+000077c0: 2870 3329 2061 6e64 206e 6565 6420 746f (p3) and need to\n+000077d0: 2064 7261 7720 6120 756e 6974 206e 6f72 draw a unit nor\n+000077e0: 6d61 6c20 7665 6374 6f72 0a70 6f69 6e74 mal vector.point\n+000077f0: 696e 6720 6f75 7420 6f66 2074 6865 2063 ing out of the c\n+00007800: 656e 7465 7220 6f66 2074 6865 2074 7269 enter of the tri\n+00007810: 616e 676c 652c 2074 6869 7320 636f 6465 angle, this code\n+00007820: 2064 6f65 7320 7468 6520 7472 6963 6b2e does the trick.\n+00007830: 0a20 2064 6566 2070 3120 2831 2c30 2c30 . def p1 (1,0,0\n+00007840: 2920 2064 6566 2070 3220 2830 2c30 2e35 ) def p2 (0,0.5\n+00007850: 2c30 2920 2064 6566 2070 3320 282d 302e ,0) def p3 (-0.\n+00007860: 352c 2d31 2c32 290a 2020 6465 6620 4f20 5,-1,2). def O \n+00007870: 2830 2c30 2c30 290a 2020 6465 6620 4e20 (0,0,0). def N \n+00007880: 756e 6974 2820 2828 7033 2920 2d20 2870 unit( ((p3) - (p\n+00007890: 3229 2920 2a20 2828 7031 2920 2d20 2870 2)) * ((p1) - (p\n+000078a0: 3229 2920 290a 2020 6465 6620 6e31 2028 2)) ). def n1 (\n+000078b0: 2870 3129 2d28 4f29 202b 2028 7032 292d (p1)-(O) + (p2)-\n+000078c0: 284f 2920 2b20 2870 3329 2d28 4f29 2920 (O) + (p3)-(O)) \n+000078d0: 2f20 3320 2b20 284f 290a 2020 6465 6620 / 3 + (O). def \n+000078e0: 6e32 2028 6e31 292b 5b4e 5d0a 2020 706f n2 (n1)+[N]. po\n+000078f0: 6c79 676f 6e28 7031 2928 7032 2928 7033 lygon(p1)(p2)(p3\n+00007900: 290a 2020 6c69 6e65 5b61 7272 6f77 733d ). line[arrows=\n+00007910: 2a2d 3e5d 286e 3129 286e 3229 0a54 6865 *->](n1)(n2).The\n+00007920: 2066 6972 7374 206c 696e 6520 636f 6d70 first line comp\n+00007930: 7574 6573 2074 6865 2063 726f 7373 2070 utes the cross p\n+00007940: 726f 6475 6374 206f 6620 7477 6f20 6564 roduct of two ed\n+00007950: 6765 2076 6563 746f 7273 206f 6620 7468 ge vectors of th\n+00007960: 650a 7472 6961 6e67 6c65 2061 6e64 2073 e.triangle and s\n+00007970: 6361 6c65 7320 6974 2074 6f20 756e 6974 cales it to unit\n+00007980: 206c 656e 6774 682e 2020 5468 6520 7365 length. The se\n+00007990: 636f 6e64 2063 6f6d 7075 7465 7320 7468 cond computes th\n+000079a0: 6520 6176 6572 6167 650a 6f66 2074 6865 e average.of the\n+000079b0: 2076 6572 7469 6365 732e 2020 4e6f 7465 vertices. Note\n+000079c0: 2074 6861 7420 7375 6274 7261 6374 696f that subtractio\n+000079d0: 6e20 616e 6420 6164 6469 7469 6f6e 206f n and addition o\n+000079e0: 6620 7468 6520 6f72 6967 696e 0a65 6666 f the origin.eff\n+000079f0: 6563 7469 7665 6c79 2063 6f6e 7665 7274 ectively convert\n+00007a00: 2076 6563 746f 7273 2074 6f20 706f 696e vectors to poin\n+00007a10: 7473 2061 6e64 205f 7669 6365 2076 6572 ts and _vice ver\n+00007a20: 7361 5f2e 2020 5468 6520 6c69 6e65 0a63 sa_. The line.c\n+00007a30: 6f6d 6d61 6e64 2064 7261 7773 2074 6865 ommand draws the\n+00007a40: 206e 6f72 6d61 6c20 6174 2074 6865 2063 normal at the c\n+00007a50: 6f72 7265 6374 2073 706f 742e 0a0a 0008 orrect spot.....\n+00007a60: 5b69 6d61 6765 2073 7263 3d22 6578 3130 [image src=\"ex10\n+00007a70: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png\" text=\"Ima\n+00007a80: 6765 2065 7831 3030 206f 6d69 7474 6564 ge ex100 omitted\n+00007a90: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n+00007aa0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n+00007ab0: 742e 2200 085d 0a0a 2020 2054 776f 2063 t.\"..].. Two c\n+00007ac0: 6176 6561 7473 2072 6567 6172 6469 6e67 aveats regarding\n+00007ad0: 2074 6869 7320 6578 616d 706c 6520 7265 this example re\n+00007ae0: 6d61 696e 2e20 2046 6972 7374 2c20 7468 main. First, th\n+00007af0: 6520 6f6e 6c79 2077 6179 2074 6f0a 7573 e only way to.us\n+00007b00: 6520 e280 9850 5354 7269 636b 73e2 8099 e ...PSTricks...\n+00007b10: 2d73 7479 6c65 2061 7272 6f77 7320 6973 -style arrows is\n+00007b20: 2077 6974 6820 6172 726f 7773 3d2e 2020 with arrows=. \n+00007b30: 5468 6520 616c 7465 726e 6174 6976 6520 The alternative \n+00007b40: 7379 6e74 6178 2066 6f72 0ae2 8098 5053 syntax for....PS\n+00007b50: 5472 6963 6b73 e280 9920 6172 726f 7773 Tricks... arrows\n+00007b60: 2069 7320 6e6f 7420 616c 6c6f 7765 6420 is not allowed \n+00007b70: 696e 2073 6b65 7463 682e 2020 5365 636f in sketch. Seco\n+00007b80: 6e64 2c20 796f 7520 6d69 6768 7420 6c69 nd, you might li\n+00007b90: 6b65 2074 6f0a 656c 696d 696e 6174 6520 ke to.eliminate \n+00007ba0: 7468 6520 7468 6972 6420 6465 6620 616e the third def an\n+00007bb0: 6420 7772 6974 6520 696e 7374 6561 6420 d write instead \n+00007bc0: 7468 6520 666f 6c6c 6f77 696e 672e 0a20 the following.. \n+00007bd0: 206c 696e 655b 6172 726f 7773 3d2a 2d3e line[arrows=*->\n+00007be0: 5d28 6e31 2920 286e 3129 2b5b 4e5d 0a54 ](n1) (n1)+[N].T\n+00007bf0: 6869 7320 6973 206e 6f74 2061 6c6c 6f77 his is not allow\n+00007c00: 6564 2e20 2054 6865 2070 6f69 6e74 206c ed. The point l\n+00007c10: 6973 7473 2069 6e20 6472 6177 6162 6c65 ists in drawable\n+00007c20: 7320 6d61 7920 636f 6e73 6973 7420 6f6e s may consist on\n+00007c30: 6c79 206f 660a 6578 706c 6963 6974 2070 ly of.explicit p\n+00007c40: 6f69 6e74 7320 6f72 2070 6f69 6e74 2072 oints or point r\n+00007c50: 6566 6572 656e 6365 732e 2020 596f 7520 eferences. You \n+00007c60: 6d61 792c 2068 6f77 6576 6572 2c20 7573 may, however, us\n+00007c70: 6520 6172 6974 686d 6574 6963 0a74 6f20 e arithmetic.to \n+00007c80: 6361 6c63 756c 6174 6520 706f 696e 7420 calculate point \n+00007c90: 636f 6d70 6f6e 656e 7473 2e20 2054 6865 components. The\n+00007ca0: 2066 6f6c 6c6f 7769 6e67 2077 6f72 6b73 following works\n+00007cb0: 2c20 7468 6f75 6768 2069 7427 7320 610a , though it's a.\n+00007cc0: 6c69 7474 6c65 2063 756d 6265 7273 6f6d little cumbersom\n+00007cd0: 652e 0a20 206c 696e 655b 6172 726f 7773 e.. line[arrows\n+00007ce0: 3d2a 2d3e 5d28 6e31 2928 286e 3129 2778 =*->](n1)((n1)'x\n+00007cf0: 2b28 4e29 2778 2c20 286e 3129 2779 2b28 +(N)'x, (n1)'y+(\n+00007d00: 4e29 2779 2c20 286e 3129 277a 2b28 4e29 N)'y, (n1)'z+(N)\n+00007d10: 277a 290a 4f62 7669 6f75 736c 792c 2074 'z).Obviously, t\n+00007d20: 6865 20e2 809c 7469 636b 206f 7065 7261 he ...tick opera\n+00007d30: 746f 72e2 809d 20e2 8098 2778 e280 9920 tor... ...'x... \n+00007d40: 6578 7472 6163 7473 2063 6f6d 706f 6e65 extracts compone\n+00007d50: 6e74 7320 6f66 2070 6f69 6e74 7320 616e nts of points an\n+00007d60: 640a 7665 6374 6f72 732e 0a0a 1f0a 4669 d.vectors.....Fi\n+00007d70: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+00007d80: 2020 4e6f 6465 3a20 4d6f 7265 2074 6f20 Node: More to \n+00007d90: 6c65 6172 6e2c 2020 5072 6576 3a20 4166 learn, Prev: Af\n+00007da0: 6669 6e65 2061 7269 7468 6d65 7469 632c fine arithmetic,\n+00007db0: 2020 5570 3a20 5377 6570 7420 6f62 6a65 Up: Swept obje\n+00007dc0: 6374 730a 0a32 2e37 2e37 204d 6f72 6520 cts..2.7.7 More \n+00007dd0: 746f 206c 6561 726e 0a2d 2d2d 2d2d 2d2d to learn.-------\n+00007de0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5468 ------------..Th\n+00007df0: 6973 2069 7320 6e6f 7420 7468 6520 656e is is not the en\n+00007e00: 6420 6f66 2074 6865 2073 746f 7279 206f d of the story o\n+00007e10: 6e20 7377 6565 7073 2120 2057 6520 696e n sweeps! We in\n+00007e20: 7669 7465 2074 6865 2072 6561 6465 7220 vite the reader \n+00007e30: 696e 746f 0a74 6865 206d 6169 6e20 626f into.the main bo\n+00007e40: 6479 206f 6620 7468 6973 2064 6f63 756d dy of this docum\n+00007e50: 656e 7461 7469 6f6e 202a 6e6f 7465 2053 entation *note S\n+00007e60: 7765 6570 733a 3a20 746f 206c 6561 726e weeps:: to learn\n+00007e70: 206d 6f72 652e 0a0a 0008 5b69 6d61 6765 more.....[image\n+00007e80: 2073 7263 3d22 6578 3132 302e 706e 6722 src=\"ex120.png\"\n+00007e90: 2074 6578 743d 2249 6d61 6765 2065 7831 text=\"Image ex1\n+00007ea0: 3230 206f 6d69 7474 6564 2069 6e20 7465 20 omitted in te\n+00007eb0: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th\n+00007ec0: 6973 2064 6f63 756d 656e 742e 2200 085d is document.\"..]\n+00007ed0: 0a0a 5768 6f20 6b6e 6f77 7320 7768 6572 ..Who knows wher\n+00007ee0: 6520 796f 7527 6c6c 2066 696e 6973 683f e you'll finish?\n+00007ef0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+00007f00: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 496e .info, Node: In\n+00007f10: 7075 7420 6c61 6e67 7561 6765 2c20 204e put language, N\n+00007f20: 6578 743a 2042 7569 6c64 696e 6720 6120 ext: Building a \n+00007f30: 6472 6177 696e 672c 2020 5072 6576 3a20 drawing, Prev: \n+00007f40: 496e 7472 6f64 7563 7469 6f6e 2062 7920 Introduction by \n+00007f50: 6578 616d 706c 652c 2020 5570 3a20 546f example, Up: To\n+00007f60: 700a 0a33 2049 6e70 7574 206c 616e 6775 p..3 Input langu\n+00007f70: 6167 650a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a age.************\n+00007f80: 2a2a 2a2a 0a0a 5468 6973 2063 6861 7074 ****..This chapt\n+00007f90: 6572 2064 6573 6372 6962 6573 2074 6865 er describes the\n+00007fa0: 20e2 8098 736b 6574 6368 e280 9920 696e ...sketch... in\n+00007fb0: 7075 7420 6c61 6e67 7561 6765 2069 6e20 put language in \n+00007fc0: 6465 7461 696c 2e0a 0a2a 204d 656e 753a detail...* Menu:\n+00007fd0: 0a0a 2a20 4c61 6e67 7561 6765 2062 6173 ..* Language bas\n+00007fe0: 6963 733a 3a20 2020 2020 2020 2020 2020 ics:: \n+00007ff0: 2020 4361 7365 2c20 7370 6163 652c 2063 Case, space, c\n+00008000: 6f6d 6d65 6e74 732c 2069 6e63 6c75 6465 omments, include\n+00008010: 2066 696c 6573 2e0a 2a20 4472 6177 6162 files..* Drawab\n+00008020: 6c65 733a 3a20 2020 2020 2020 2020 2020 les:: \n+00008030: 2020 2020 2020 2020 5468 696e 6773 2074 Things t\n+00008040: 6861 7420 6361 6e20 6265 2064 7261 776e hat can be drawn\n+00008050: 2e0a 2a20 4465 6669 6e69 7469 6f6e 733a ..* Definitions:\n+00008060: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00008070: 2020 4769 7669 6e67 2074 6869 6e67 7320 Giving things \n+00008080: 6e61 6d65 732e 0a2a 2047 6c6f 6261 6c20 names..* Global \n+00008090: 656e 7669 726f 6e6d 656e 743a 3a20 2020 environment:: \n+000080a0: 2020 2020 2020 2041 6666 6563 7420 7468 Affect th\n+000080b0: 6520 656e 7469 7265 2064 7261 7769 6e67 e entire drawing\n+000080c0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+000080d0: 682e 696e 666f 2c20 204e 6f64 653a 204c h.info, Node: L\n+000080e0: 616e 6775 6167 6520 6261 7369 6373 2c20 anguage basics, \n+000080f0: 204e 6578 743a 2044 7261 7761 626c 6573 Next: Drawables\n+00008100: 2c20 2050 7265 763a 2049 6e70 7574 206c , Prev: Input l\n+00008110: 616e 6775 6167 652c 2020 5570 3a20 496e anguage, Up: In\n+00008120: 7075 7420 6c61 6e67 7561 6765 0a0a 332e put language..3.\n+00008130: 3120 4261 7369 6373 0a3d 3d3d 3d3d 3d3d 1 Basics.=======\n+00008140: 3d3d 3d0a 0ae2 8098 536b 6574 6368 e280 ===.....Sketch..\n+00008150: 9920 696e 7075 7420 6973 2070 6c61 696e . input is plain\n+00008160: 2041 5343 4949 2074 6578 742c 2075 7375 ASCII text, usu\n+00008170: 616c 6c79 2073 746f 7265 6420 696e 2061 ally stored in a\n+00008180: 6e20 696e 7075 7420 6669 6c65 2e20 2049 n input file. I\n+00008190: 740a 6465 7363 7269 6265 7320 6120 e280 t.describes a ..\n+000081a0: 9c73 6365 6e65 e280 9d2c 2073 6f20 7468 .scene..., so th\n+000081b0: 6520 736b 6574 6368 206c 616e 6775 6167 e sketch languag\n+000081c0: 6520 6973 2061 20e2 809c 7363 656e 6520 e is a ...scene \n+000081d0: 6465 7363 7269 7074 696f 6e0a 6c61 6e67 description.lang\n+000081e0: 7561 6765 e280 9d2e 2020 e280 9853 6b65 uage.... ...Ske\n+000081f0: 7463 68e2 8099 2069 6e70 7574 2069 7320 tch... input is \n+00008200: 616c 736f 20e2 809c 6465 636c 6172 6174 also ...declarat\n+00008210: 6976 65e2 809d 2e20 2049 7420 6d65 7265 ive.... It mere\n+00008220: 6c79 2064 6563 6c61 7265 730a 7768 6174 ly declares.what\n+00008230: 2074 6865 2073 6365 6e65 206f 7567 6874 the scene ought\n+00008240: 2074 6f20 6c6f 6f6b 206c 696b 6520 7768 to look like wh\n+00008250: 656e 2064 7261 7769 6e67 2069 7320 636f en drawing is co\n+00008260: 6d70 6c65 7465 2061 6e64 2073 6179 7320 mplete and says \n+00008270: 7665 7279 0a6c 6974 746c 6520 6162 6f75 very.little abou\n+00008280: 7420 686f 7720 e280 9873 6b65 7463 68e2 t how ...sketch.\n+00008290: 8099 2073 686f 756c 6420 646f 2069 7473 .. should do its\n+000082a0: 2077 6f72 6b2e 2020 e280 9853 6b65 7463 work. ...Sketc\n+000082b0: 68e2 8099 2063 6f6d 6d61 6e64 7320 6172 h... commands ar\n+000082c0: 6520 6e6f 740a 6578 6563 7574 6564 2073 e not.executed s\n+000082d0: 6571 7565 6e74 6961 6c6c 7920 6173 2069 equentially as i\n+000082e0: 6e20 7468 6520 7573 7561 6c20 7072 6f67 n the usual prog\n+000082f0: 7261 6d6d 696e 6720 6c61 6e67 7561 6765 ramming language\n+00008300: 2e20 2054 6865 7920 6d65 7265 6c79 0a63 . They merely.c\n+00008310: 6f6e 7472 6962 7574 6520 746f 2074 6861 ontribute to tha\n+00008320: 7420 6465 636c 6172 6174 696f 6e2e 0a0a t declaration...\n+00008330: 2020 2041 2066 6577 2073 796e 7461 6374 A few syntact\n+00008340: 6963 2064 6574 6169 6c73 2061 7265 2069 ic details are i\n+00008350: 6d70 6f72 7461 6e74 2e20 2043 6173 6520 mportant. Case \n+00008360: 6973 2073 6967 6e69 6669 6361 6e74 2069 is significant i\n+00008370: 6e20 7468 650a e280 9873 6b65 7463 68e2 n the....sketch.\n+00008380: 8099 206c 616e 6775 6167 652e 2020 5769 .. language. Wi\n+00008390: 7468 2061 2066 6577 2065 7863 6570 7469 th a few excepti\n+000083a0: 6f6e 732c 2077 6869 7465 2073 7061 6365 ons, white space\n+000083b0: 2069 7320 6e6f 742e 2020 5468 6973 0a69 is not. This.i\n+000083c0: 6e63 6c75 6465 7320 6c69 6e65 2062 7265 ncludes line bre\n+000083d0: 616b 732e 2020 436f 6d6d 656e 7473 2062 aks. Comments b\n+000083e0: 6567 696e 2077 6974 6820 e280 9825 e280 egin with ...%..\n+000083f0: 9920 6f72 20e2 8098 23e2 8099 2061 6e64 . or ...#... and\n+00008400: 2065 7874 656e 6420 746f 2074 6865 0a65 extend to the.e\n+00008410: 6e64 206f 6620 7468 6520 6c69 6e65 2e20 nd of the line. \n+00008420: 2059 6f75 2063 616e 2064 6973 6162 6c65 You can disable\n+00008430: 2061 2063 6875 6e6b 206f 6620 7379 6e74 a chunk of synt\n+00008440: 6163 7469 6361 6c6c 7920 636f 7272 6563 actically correc\n+00008450: 740a e280 9873 6b65 7463 68e2 8099 2063 t....sketch... c\n+00008460: 6f64 6520 6279 2065 6e63 6c6f 7369 6e67 ode by enclosing\n+00008470: 2069 7420 696e 2061 20e2 8098 6465 66e2 it in a ...def.\n+00008480: 8099 2e20 2054 6865 7265 2069 7320 6120 ... There is a \n+00008490: 7369 6d70 6c65 2022 696e 636c 7564 650a simple \"include.\n+000084a0: 6669 6c65 2220 6d65 6368 616e 6973 6d2e file\" mechanism.\n+000084b0: 2020 5468 6520 636f 6d6d 616e 640a 2020 The command. \n+000084c0: 696e 7075 747b 6f74 6865 7266 696c 652e input{otherfile.\n+000084d0: 736b 7d0a 6361 7573 6573 2074 6865 2063 sk}.causes the c\n+000084e0: 6f6e 7465 6e74 7320 6f66 20e2 8098 6f74 ontents of ...ot\n+000084f0: 6865 7266 696c 652e 736b e280 9920 746f herfile.sk... to\n+00008500: 2062 6520 696e 7365 7274 6564 2061 7320 be inserted as \n+00008510: 7468 6f75 6768 2074 6865 7920 7765 7265 though they were\n+00008520: 0a70 6172 7420 6f66 2074 6865 2063 7572 .part of the cur\n+00008530: 7265 6e74 2066 696c 652e 0a0a 2a20 4d65 rent file...* Me\n+00008540: 6e75 3a0a 0a2a 2049 6465 6e74 6966 6965 nu:..* Identifie\n+00008550: 7273 3a3a 2020 2020 2020 2020 2020 2020 rs:: \n+00008560: 2020 2020 204e 616d 6573 2066 6f72 2074 Names for t\n+00008570: 6869 6e67 732e 0a2a 204b 6579 2061 6e64 hings..* Key and\n+00008580: 2072 6573 6572 7665 6420 776f 7264 733a reserved words:\n+00008590: 3a20 2020 2020 204e 616d 6573 2079 6f75 : Names you\n+000085a0: 2073 686f 756c 646e 2774 2075 7365 2e0a shouldn't use..\n+000085b0: 2a20 4c69 7465 7261 6c73 3a3a 2020 2020 * Literals:: \n+000085c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000085d0: 436f 6e73 7461 6e74 7320 616e 6420 636f Constants and co\n+000085e0: 6e73 7472 7563 746f 7273 2e0a 2a20 4172 nstructors..* Ar\n+000085f0: 6974 686d 6574 6963 3a3a 2020 2020 2020 ithmetic:: \n+00008600: 2020 2020 2020 2020 2020 2020 5275 6c65 Rule\n+00008610: 7320 666f 7220 6578 7072 6573 7369 6f6e s for expression\n+00008620: 732e 0a2a 204f 7074 696f 6e73 3a3a 2020 s..* Options:: \n+00008630: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00008640: 2020 204d 6f64 6966 7969 6e67 206f 626a Modifying obj\n+00008650: 6563 7420 6170 7065 6172 616e 6365 2e0a ect appearance..\n+00008660: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+00008670: 696e 666f 2c20 204e 6f64 653a 2049 6465 info, Node: Ide\n+00008680: 6e74 6966 6965 7273 2c20 204e 6578 743a ntifiers, Next:\n+00008690: 204b 6579 2061 6e64 2072 6573 6572 7665 Key and reserve\n+000086a0: 6420 776f 7264 732c 2020 5072 6576 3a20 d words, Prev: \n+000086b0: 4c61 6e67 7561 6765 2062 6173 6963 732c Language basics,\n+000086c0: 2020 5570 3a20 4c61 6e67 7561 6765 2062 Up: Language b\n+000086d0: 6173 6963 730a 0a33 2e31 2e31 2049 6465 asics..3.1.1 Ide\n+000086e0: 6e74 6966 6965 7273 0a2d 2d2d 2d2d 2d2d ntifiers.-------\n+000086f0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 4964 656e ----------..Iden\n+00008700: 7469 6669 6572 7320 696e 20e2 8098 736b tifiers in ...sk\n+00008710: 6574 6368 e280 9920 6172 6520 7265 6665 etch... are refe\n+00008720: 7265 6e63 6573 2074 6f20 6561 726c 6965 rences to earlie\n+00008730: 722d 6465 6669 6e65 6420 6f70 7469 6f6e r-defined option\n+00008740: 732c 0a73 6361 6c61 7273 2c20 706f 696e s,.scalars, poin\n+00008750: 7473 2c20 7665 6374 6f72 732c 2074 7261 ts, vectors, tra\n+00008760: 6e73 666f 726d 732c 2064 7261 7761 626c nsforms, drawabl\n+00008770: 6573 2c20 616e 6420 7461 6773 2e20 2044 es, and tags. D\n+00008780: 6566 696e 6974 696f 6e73 0a61 7265 2065 efinitions.are e\n+00008790: 7870 6c61 696e 6564 2069 6e20 2a6e 6f74 xplained in *not\n+000087a0: 6520 4465 6669 6e69 7469 6f6e 733a 3a2e e Definitions::.\n+000087b0: 0a0a 2020 2041 6e20 6964 656e 7469 6669 .. An identifi\n+000087c0: 6572 2063 6f6e 7369 7374 7320 6f66 2061 er consists of a\n+000087d0: 206c 6561 6469 6e67 206c 6574 7465 7220 leading letter \n+000087e0: 666f 6c6c 6f77 6564 2062 7920 6c65 7474 followed by lett\n+000087f0: 6572 732c 0a6e 756d 6265 7273 2061 6e64 ers,.numbers and\n+00008800: 2075 6e64 6572 7363 6f72 6573 2e20 2054 underscores. T\n+00008810: 6865 206c 6173 7420 6368 6172 6163 7465 he last characte\n+00008820: 7220 6d61 7920 5f6e 6f74 5f20 6265 2061 r may _not_ be a\n+00008830: 6e20 756e 6465 7273 636f 7265 2e0a 4b65 n underscore..Ke\n+00008840: 7977 6f72 6473 2063 616e 6e6f 7420 6265 ywords cannot be\n+00008850: 2075 7365 6420 6173 2069 6465 6e74 6966 used as identif\n+00008860: 6965 7273 2c20 616e 6420 7265 7365 7276 iers, and reserv\n+00008870: 6564 2077 6f72 6473 206f 7567 6874 2074 ed words ought t\n+00008880: 6f20 6265 0a61 766f 6964 6564 2e20 202a o be.avoided. *\n+00008890: 4e6f 7465 204b 6579 2061 6e64 2072 6573 Note Key and res\n+000088a0: 6572 7665 6420 776f 7264 733a 3a2e 0a0a erved words::...\n+000088b0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+000088c0: 6e66 6f2c 2020 4e6f 6465 3a20 4b65 7920 nfo, Node: Key \n+000088d0: 616e 6420 7265 7365 7276 6564 2077 6f72 and reserved wor\n+000088e0: 6473 2c20 204e 6578 743a 204c 6974 6572 ds, Next: Liter\n+000088f0: 616c 732c 2020 5072 6576 3a20 4964 656e als, Prev: Iden\n+00008900: 7469 6669 6572 732c 2020 5570 3a20 4c61 tifiers, Up: La\n+00008910: 6e67 7561 6765 2062 6173 6963 730a 0a33 nguage basics..3\n+00008920: 2e31 2e32 204b 6579 2061 6e64 2072 6573 .1.2 Key and res\n+00008930: 6572 7665 6420 776f 7264 730a 2d2d 2d2d erved words.----\n+00008940: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00008950: 2d2d 2d2d 2d2d 2d2d 0a0a 5468 6520 6b65 --------..The ke\n+00008960: 7977 6f72 6473 206f 6620 e280 9873 6b65 ywords of ...ske\n+00008970: 7463 68e2 8099 2061 7265 20e2 8098 7069 tch... are ...pi\n+00008980: 6374 7572 6562 6f78 e280 9920 e280 9863 cturebox... ...c\n+00008990: 7572 7665 e280 9920 e280 9864 6566 e280 urve... ...def..\n+000089a0: 9920 e280 9864 6f74 73e2 8099 20e2 8098 . ...dots... ...\n+000089b0: 6672 616d 65e2 8099 0ae2 8098 676c 6f62 frame.......glob\n+000089c0: 616c e280 9920 e280 9869 6e70 7574 e280 al... ...input..\n+000089d0: 9920 e280 986c 696e 65e2 8099 20e2 8098 . ...line... ...\n+000089e0: 706f 6c79 676f 6ee2 8099 20e2 8098 7075 polygon... ...pu\n+000089f0: 74e2 8099 20e2 8098 7265 7065 6174 e280 t... ...repeat..\n+00008a00: 9920 e280 9873 6574 e280 9920 e280 9873 . ...set... ...s\n+00008a10: 7765 6570 e280 9920 616e 640a e280 9874 weep... and....t\n+00008a20: 6865 6ee2 8099 2e20 2054 6865 20e2 8098 hen.... The ...\n+00008a30: 736b 6574 6368 e280 9920 7061 7273 6572 sketch... parser\n+00008a40: 2077 696c 6c20 6e6f 7465 2061 2073 796e will note a syn\n+00008a50: 7461 7820 6572 726f 7220 6966 2061 6e79 tax error if any\n+00008a60: 206f 6620 7468 6573 650a 6172 6520 7573 of these.are us\n+00008a70: 6564 2069 6e20 706c 6163 6520 6f66 2061 ed in place of a\n+00008a80: 2070 726f 7065 7220 6964 656e 7469 6669 proper identifi\n+00008a90: 6572 2e0a 0a20 2020 496e 2061 6464 6974 er... In addit\n+00008aa0: 696f 6e2c 2074 6865 7265 2061 7265 2072 ion, there are r\n+00008ab0: 6573 6572 7665 6420 776f 7264 7320 7468 eserved words th\n+00008ac0: 6174 2063 616e 2063 7572 7265 6e74 6c79 at can currently\n+00008ad0: 2062 6520 6465 6669 6e65 640a 6279 2074 be defined.by t\n+00008ae0: 6865 2075 7365 722c 2062 7574 2077 6974 he user, but wit\n+00008af0: 6820 7468 6520 7269 736b 2074 6861 7420 h the risk that \n+00008b00: 6675 7475 7265 2076 6572 7369 6f6e 7320 future versions \n+00008b10: 6f66 20e2 8098 736b 6574 6368 e280 9920 of ...sketch... \n+00008b20: 7769 6c6c 0a72 656a 6563 7420 7468 6f73 will.reject thos\n+00008b30: 6520 6465 6669 6e69 7469 6f6e 732e 2020 e definitions. \n+00008b40: 5468 6520 7265 7365 7276 6564 2077 6f72 The reserved wor\n+00008b50: 6473 2061 7265 20e2 8098 6163 6f73 e280 ds are ...acos..\n+00008b60: 9920 e280 9861 7369 6ee2 8099 20e2 8098 . ...asin... ...\n+00008b70: 6174 616e 32e2 8099 0ae2 8098 636f 73e2 atan2.......cos.\n+00008b80: 8099 20e2 8098 696e 7665 7273 65e2 8099 .. ...inverse...\n+00008b90: 20e2 8098 7065 7273 7065 6374 6976 65e2 ...perspective.\n+00008ba0: 8099 20e2 8098 7072 6f6a 6563 74e2 8099 .. ...project...\n+00008bb0: 20e2 8098 726f 7461 7465 e280 9920 e280 ...rotate... ..\n+00008bc0: 9873 6361 6c65 e280 9920 e280 9873 696e .scale... ...sin\n+00008bd0: e280 9920 e280 9873 7065 6369 616c e280 ... ...special..\n+00008be0: 990a e280 9873 7172 74e2 8099 20e2 8098 .....sqrt... ...\n+00008bf0: 7472 616e 736c 6174 65e2 8099 20e2 8098 translate... ...\n+00008c00: 756e 6974 e280 9920 616e 6420 e280 9876 unit... and ...v\n+00008c10: 6965 77e2 8099 2e0a 0a1f 0a46 696c 653a iew........File:\n+00008c20: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+00008c30: 6f64 653a 204c 6974 6572 616c 732c 2020 ode: Literals, \n+00008c40: 4e65 7874 3a20 4172 6974 686d 6574 6963 Next: Arithmetic\n+00008c50: 2c20 2050 7265 763a 204b 6579 2061 6e64 , Prev: Key and\n+00008c60: 2072 6573 6572 7665 6420 776f 7264 732c reserved words,\n+00008c70: 2020 5570 3a20 4c61 6e67 7561 6765 2062 Up: Language b\n+00008c80: 6173 6963 730a 0a33 2e31 2e33 204c 6974 asics..3.1.3 Lit\n+00008c90: 6572 616c 730a 2d2d 2d2d 2d2d 2d2d 2d2d erals.----------\n+00008ca0: 2d2d 2d2d 0a0a 4c69 7465 7261 6c73 2069 ----..Literals i\n+00008cb0: 6e20 e280 9873 6b65 7463 68e2 8099 2069 n ...sketch... i\n+00008cc0: 6e63 6c75 6465 2073 6361 6c61 7273 2c20 nclude scalars, \n+00008cd0: 706f 696e 7473 2c20 7665 6374 6f72 732c points, vectors,\n+00008ce0: 2061 6e64 2074 7261 6e73 666f 726d 732e and transforms.\n+00008cf0: 0a4c 6974 6572 616c 732c 2061 6c6f 6e67 .Literals, along\n+00008d00: 2077 6974 6820 6465 6669 6e65 6420 6f62 with defined ob\n+00008d10: 6a65 6374 2072 6566 6572 656e 6365 732c ject references,\n+00008d20: 2061 7265 2075 7365 6420 696e 2061 7269 are used in ari\n+00008d30: 7468 6d65 7469 630a 6578 7072 6573 7369 thmetic.expressi\n+00008d40: 6f6e 732e 2020 2a4e 6f74 6520 4172 6974 ons. *Note Arit\n+00008d50: 686d 6574 6963 3a3a 2e0a 0a2a 204d 656e hmetic::...* Men\n+00008d60: 753a 0a0a 2a20 5363 616c 6172 206c 6974 u:..* Scalar lit\n+00008d70: 6572 616c 733a 3a20 2020 2020 2020 2020 erals:: \n+00008d80: 2020 2020 4a75 7374 2074 6865 206e 756d Just the num\n+00008d90: 6265 7273 2e0a 2a20 506f 696e 7420 616e bers..* Point an\n+00008da0: 6420 7665 6374 6f72 206c 6974 6572 616c d vector literal\n+00008db0: 733a 3a20 2020 3364 2071 7561 6e74 6974 s:: 3d quantit\n+00008dc0: 6965 732e 0a2a 2054 7261 6e73 666f 726d ies..* Transform\n+00008dd0: 206c 6974 6572 616c 733a 3a20 2020 2020 literals:: \n+00008de0: 2020 2020 204d 6174 7269 7820 666f 726d Matrix form\n+00008df0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+00008e00: 682e 696e 666f 2c20 204e 6f64 653a 2053 h.info, Node: S\n+00008e10: 6361 6c61 7220 6c69 7465 7261 6c73 2c20 calar literals, \n+00008e20: 204e 6578 743a 2050 6f69 6e74 2061 6e64 Next: Point and\n+00008e30: 2076 6563 746f 7220 6c69 7465 7261 6c73 vector literals\n+00008e40: 2c20 2050 7265 763a 204c 6974 6572 616c , Prev: Literal\n+00008e50: 732c 2020 5570 3a20 4c69 7465 7261 6c73 s, Up: Literals\n+00008e60: 0a0a 332e 312e 332e 3120 5363 616c 6172 ..3.1.3.1 Scalar\n+00008e70: 206c 6974 6572 616c 730a 2e2e 2e2e 2e2e literals.......\n 00008e80: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00008e90: 2e2e 2e2e 2e2e 2e0a 0a53 6361 6c61 7220 .........Scalar \n-00008ea0: 6c69 7465 7261 6c73 2061 7265 2070 6f73 literals are pos\n-00008eb0: 6974 6976 6520 666c 6f61 7469 6e67 2070 itive floating p\n-00008ec0: 6f69 6e74 206e 756d 6265 7273 2077 6974 oint numbers wit\n-00008ed0: 6820 7379 6e74 6178 0a61 6363 6f72 6469 h syntax.accordi\n-00008ee0: 6e67 2074 6f20 4320 636f 6e76 656e 7469 ng to C conventi\n-00008ef0: 6f6e 732e 2020 5468 6520 666f 6c6c 6f77 ons. The follow\n-00008f00: 696e 6720 6172 6520 736f 6d65 2065 7861 ing are some exa\n-00008f10: 6d70 6c65 732e 0a20 2020 2020 3020 3130 mples.. 0 10\n-00008f20: 3034 202e 3030 3120 382e 3331 3433 2033 04 .001 8.3143 3\n-00008f30: 2e20 312e 3630 452d 3139 2036 2e30 3265 . 1.60E-19 6.02e\n-00008f40: 2b32 330a 5363 616c 6172 206c 6974 6572 +23.Scalar liter\n-00008f50: 616c 7320 6d61 7920 6e6f 7420 636f 6e74 als may not cont\n-00008f60: 6169 6e20 656d 6265 6464 6564 2073 7061 ain embedded spa\n-00008f70: 6365 732e 0a0a 1f0a 4669 6c65 3a20 736b ces.....File: sk\n-00008f80: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-00008f90: 3a20 506f 696e 7420 616e 6420 7665 6374 : Point and vect\n-00008fa0: 6f72 206c 6974 6572 616c 732c 2020 4e65 or literals, Ne\n-00008fb0: 7874 3a20 5472 616e 7366 6f72 6d20 6c69 xt: Transform li\n-00008fc0: 7465 7261 6c73 2c20 2050 7265 763a 2053 terals, Prev: S\n-00008fd0: 6361 6c61 7220 6c69 7465 7261 6c73 2c20 calar literals, \n-00008fe0: 2055 703a 204c 6974 6572 616c 730a 0a33 Up: Literals..3\n-00008ff0: 2e31 2e33 2e32 2050 6f69 6e74 2061 6e64 .1.3.2 Point and\n-00009000: 2076 6563 746f 7220 6c69 7465 7261 6c73 vector literals\n-00009010: 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00009020: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00009030: 2e2e 0a0a 506f 696e 7473 2061 6e64 2076 ....Points and v\n-00009040: 6563 746f 7220 6c69 7465 7261 6c73 2068 ector literals h\n-00009050: 6176 6520 7468 6573 6520 666f 726d 7320 ave these forms \n-00009060: 7265 7370 6563 7469 7665 6c79 2e0a 2020 respectively.. \n-00009070: 2020 2028 582c 592c 5a29 2020 5b58 2c59 (X,Y,Z) [X,Y\n-00009080: 2c5a 5d0a 4561 6368 206f 6620 7468 6520 ,Z].Each of the \n-00009090: 636f 6d70 6f6e 656e 7473 2069 7320 6974 components is it\n-000090a0: 7365 6c66 2061 2073 6361 6c61 7220 6578 self a scalar ex\n-000090b0: 7072 6573 7369 6f6e 2e20 2054 6865 207a pression. The z\n-000090c0: 2d63 6f6d 706f 6e65 6e74 730a 6172 6520 -components.are \n-000090d0: 6f70 7469 6f6e 616c 2061 6e64 2064 6566 optional and def\n-000090e0: 6175 6c74 2074 6f20 7a65 726f 2e0a 0a1f ault to zero....\n-000090f0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00009100: 666f 2c20 204e 6f64 653a 2054 7261 6e73 fo, Node: Trans\n-00009110: 666f 726d 206c 6974 6572 616c 732c 2020 form literals, \n-00009120: 5072 6576 3a20 506f 696e 7420 616e 6420 Prev: Point and \n-00009130: 7665 6374 6f72 206c 6974 6572 616c 732c vector literals,\n-00009140: 2020 5570 3a20 4c69 7465 7261 6c73 0a0a Up: Literals..\n-00009150: 332e 312e 332e 3320 5472 616e 7366 6f72 3.1.3.3 Transfor\n-00009160: 6d20 6c69 7465 7261 6c73 0a2e 2e2e 2e2e m literals......\n-00009170: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00009180: 2e2e 2e2e 2e0a 0a4d 6f73 7420 7472 616e .......Most tran\n-00009190: 7366 6f72 6d20 6c69 7465 7261 6c73 2061 sform literals a\n-000091a0: 7265 2066 6f72 6d65 6420 6279 20e2 809c re formed by ...\n-000091b0: 636f 6e73 7472 7563 746f 7273 e280 9d2e constructors....\n-000091c0: 2020 5468 6573 6520 6172 650a 7375 6d6d These are.summ\n-000091d0: 6172 697a 6564 2069 6e20 7468 6520 666f arized in the fo\n-000091e0: 6c6c 6f77 696e 6720 7461 626c 652e 0a43 llowing table..C\n-000091f0: 6f6e 7374 7275 6374 6f72 2020 2020 2020 onstructor \n-00009200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009210: 2020 2050 6172 616d 2074 7970 6573 2020 Param types \n-00009220: 2020 2020 2020 2020 2044 6573 6372 6970 Descrip\n-00009230: 7469 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d tion.-----------\n+00008e90: 2e0a 0a53 6361 6c61 7220 6c69 7465 7261 ...Scalar litera\n+00008ea0: 6c73 2061 7265 2070 6f73 6974 6976 6520 ls are positive \n+00008eb0: 666c 6f61 7469 6e67 2070 6f69 6e74 206e floating point n\n+00008ec0: 756d 6265 7273 2077 6974 6820 7379 6e74 umbers with synt\n+00008ed0: 6178 0a61 6363 6f72 6469 6e67 2074 6f20 ax.according to \n+00008ee0: 4320 636f 6e76 656e 7469 6f6e 732e 2020 C conventions. \n+00008ef0: 5468 6520 666f 6c6c 6f77 696e 6720 6172 The following ar\n+00008f00: 6520 736f 6d65 2065 7861 6d70 6c65 732e e some examples.\n+00008f10: 0a20 2020 2020 3020 3130 3034 202e 3030 . 0 1004 .00\n+00008f20: 3120 382e 3331 3433 2033 2e20 312e 3630 1 8.3143 3. 1.60\n+00008f30: 452d 3139 2036 2e30 3265 2b32 330a 5363 E-19 6.02e+23.Sc\n+00008f40: 616c 6172 206c 6974 6572 616c 7320 6d61 alar literals ma\n+00008f50: 7920 6e6f 7420 636f 6e74 6169 6e20 656d y not contain em\n+00008f60: 6265 6464 6564 2073 7061 6365 732e 0a0a bedded spaces...\n+00008f70: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+00008f80: 6e66 6f2c 2020 4e6f 6465 3a20 506f 696e nfo, Node: Poin\n+00008f90: 7420 616e 6420 7665 6374 6f72 206c 6974 t and vector lit\n+00008fa0: 6572 616c 732c 2020 4e65 7874 3a20 5472 erals, Next: Tr\n+00008fb0: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n+00008fc0: 2c20 2050 7265 763a 2053 6361 6c61 7220 , Prev: Scalar \n+00008fd0: 6c69 7465 7261 6c73 2c20 2055 703a 204c literals, Up: L\n+00008fe0: 6974 6572 616c 730a 0a33 2e31 2e33 2e32 iterals..3.1.3.2\n+00008ff0: 2050 6f69 6e74 2061 6e64 2076 6563 746f Point and vecto\n+00009000: 7220 6c69 7465 7261 6c73 0a2e 2e2e 2e2e r literals......\n+00009010: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+00009020: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 506f ..............Po\n+00009030: 696e 7473 2061 6e64 2076 6563 746f 7220 ints and vector \n+00009040: 6c69 7465 7261 6c73 2068 6176 6520 7468 literals have th\n+00009050: 6573 6520 666f 726d 7320 7265 7370 6563 ese forms respec\n+00009060: 7469 7665 6c79 2e0a 2020 2020 2028 582c tively.. (X,\n+00009070: 592c 5a29 2020 5b58 2c59 2c5a 5d0a 4561 Y,Z) [X,Y,Z].Ea\n+00009080: 6368 206f 6620 7468 6520 636f 6d70 6f6e ch of the compon\n+00009090: 656e 7473 2069 7320 6974 7365 6c66 2061 ents is itself a\n+000090a0: 2073 6361 6c61 7220 6578 7072 6573 7369 scalar expressi\n+000090b0: 6f6e 2e20 2054 6865 207a 2d63 6f6d 706f on. The z-compo\n+000090c0: 6e65 6e74 730a 6172 6520 6f70 7469 6f6e nents.are option\n+000090d0: 616c 2061 6e64 2064 6566 6175 6c74 2074 al and default t\n+000090e0: 6f20 7a65 726f 2e0a 0a1f 0a46 696c 653a o zero.....File:\n+000090f0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+00009100: 6f64 653a 2054 7261 6e73 666f 726d 206c ode: Transform l\n+00009110: 6974 6572 616c 732c 2020 5072 6576 3a20 iterals, Prev: \n+00009120: 506f 696e 7420 616e 6420 7665 6374 6f72 Point and vector\n+00009130: 206c 6974 6572 616c 732c 2020 5570 3a20 literals, Up: \n+00009140: 4c69 7465 7261 6c73 0a0a 332e 312e 332e Literals..3.1.3.\n+00009150: 3320 5472 616e 7366 6f72 6d20 6c69 7465 3 Transform lite\n+00009160: 7261 6c73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e rals............\n+00009170: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................\n+00009180: 0a4d 6f73 7420 7472 616e 7366 6f72 6d20 .Most transform \n+00009190: 6c69 7465 7261 6c73 2061 7265 2066 6f72 literals are for\n+000091a0: 6d65 6420 6279 20e2 809c 636f 6e73 7472 med by ...constr\n+000091b0: 7563 746f 7273 e280 9d2e 2020 5468 6573 uctors.... Thes\n+000091c0: 6520 6172 650a 7375 6d6d 6172 697a 6564 e are.summarized\n+000091d0: 2069 6e20 7468 6520 666f 6c6c 6f77 696e in the followin\n+000091e0: 6720 7461 626c 652e 0a43 6f6e 7374 7275 g table..Constru\n+000091f0: 6374 6f72 2020 2020 2020 2020 2020 2020 ctor \n+00009200: 2020 2020 2020 2020 2020 2020 2050 6172 Par\n+00009210: 616d 2074 7970 6573 2020 2020 2020 2020 am types \n+00009220: 2020 2044 6573 6372 6970 7469 6f6e 0a2d Description.-\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 2d2d 2d2d ----------------\n-000092a0: 0ae2 8098 726f 7461 7465 2841 2c50 2c58 ....rotate(A,P,X\n-000092b0: 29e2 8099 2020 2020 2020 2020 2020 2020 )... \n-000092c0: 2020 2020 2020 2020 2073 6361 6c61 722c scalar,\n-000092d0: 706f 696e 742c 7665 6374 6f72 2020 2052 point,vector R\n-000092e0: 6f74 6174 6520 e280 9841 e280 9920 6465 otate ...A... de\n-000092f0: 6772 6565 7320 6162 6f75 7420 706f 696e grees about poin\n-00009300: 7420 e280 9850 e280 9920 7769 7468 2061 t ...P... with a\n-00009310: 7869 730a 2020 2020 2020 2020 2020 2020 xis. \n+00009290: 2d2d 2d2d 2d2d 2d2d 2d2d 0ae2 8098 726f ----------....ro\n+000092a0: 7461 7465 2841 2c50 2c58 29e2 8099 2020 tate(A,P,X)... \n+000092b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000092c0: 2020 2073 6361 6c61 722c 706f 696e 742c scalar,point,\n+000092d0: 7665 6374 6f72 2020 2052 6f74 6174 6520 vector Rotate \n+000092e0: e280 9841 e280 9920 6465 6772 6565 7320 ...A... degrees \n+000092f0: 6162 6f75 7420 706f 696e 7420 e280 9850 about point ...P\n+00009300: e280 9920 7769 7468 2061 7869 730a 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 2020 2020 e280 ..\n-00009350: 9858 e280 9920 6163 636f 7264 696e 6720 .X... according \n-00009360: 746f 2074 6865 2072 6967 6874 2068 616e to the right han\n-00009370: 6420 7275 6c65 2e0a 2020 2020 2020 2020 d rule.. \n+00009340: 2020 2020 2020 2020 e280 9858 e280 9920 ...X... \n+00009350: 6163 636f 7264 696e 6720 746f 2074 6865 according to the\n+00009360: 2072 6967 6874 2068 616e 6420 7275 6c65 right hand rule\n+00009370: 2e0a 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 2020 \n-000093b0: 2020 2a4e 6f74 6520 5269 6768 7420 6861 *Note Right ha\n-000093c0: 6e64 2072 756c 653a 3a2e 2020 e280 9850 nd rule::. ...P\n-000093d0: e280 9920 616e 6420 e280 9858 e280 9920 ... and ...X... \n-000093e0: 6172 6520 626f 7468 0a20 2020 2020 2020 are both. \n+000093a0: 2020 2020 2020 2020 2020 2020 2a4e 6f74 *Not\n+000093b0: 6520 5269 6768 7420 6861 6e64 2072 756c e Right hand rul\n+000093c0: 653a 3a2e 2020 e280 9850 e280 9920 616e e::. ...P... an\n+000093d0: 6420 e280 9858 e280 9920 6172 6520 626f d ...X... are bo\n+000093e0: 7468 0a20 2020 2020 2020 2020 2020 2020 th. \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 2020 \n-00009420: 2020 206f 7074 696f 6e61 6c20 616e 6420 optional and \n-00009430: 6465 6661 756c 7420 746f 2074 6865 206f default to the o\n-00009440: 7269 6769 6e20 616e 6420 7468 650a 2020 rigin and the. \n+00009410: 2020 2020 2020 2020 2020 2020 206f 7074 opt\n+00009420: 696f 6e61 6c20 616e 6420 6465 6661 756c ional and defaul\n+00009430: 7420 746f 2074 6865 206f 7269 6769 6e20 t to the origin \n+00009440: 616e 6420 7468 650a 2020 2020 2020 2020 and 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 2020 2020 7a2d 6178 6973 2072 z-axis r\n-00009490: 6573 7065 6374 6976 656c 792e 0ae2 8098 espectively.....\n-000094a0: 7472 616e 736c 6174 6528 5829 e280 9920 translate(X)... \n-000094b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000094c0: 2020 2020 2076 6563 746f 7220 2020 2020 vector \n-000094d0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n-000094e0: 6c61 7465 2062 7920 e280 9858 e280 992e late by ...X....\n-000094f0: 0ae2 8098 7363 616c 6528 5329 e280 9920 ....scale(S)... \n+00009480: 2020 7a2d 6178 6973 2072 6573 7065 6374 z-axis respect\n+00009490: 6976 656c 792e 0ae2 8098 7472 616e 736c ively.....transl\n+000094a0: 6174 6528 5829 e280 9920 2020 2020 2020 ate(X)... \n+000094b0: 2020 2020 2020 2020 2020 2020 2020 2076 v\n+000094c0: 6563 746f 7220 2020 2020 2020 2020 2020 ector \n+000094d0: 2020 2020 2054 7261 6e73 6c61 7465 2062 Translate b\n+000094e0: 7920 e280 9858 e280 992e 0ae2 8098 7363 y ...X........sc\n+000094f0: 616c 6528 5329 e280 9920 2020 2020 2020 ale(S)... \n 00009500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009510: 2020 2020 2020 2020 2073 6361 6c61 7220 scalar \n-00009520: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00009530: 6361 6c65 2075 6e69 666f 726d 6c79 2062 cale uniformly b\n-00009540: 7920 6661 6374 6f72 20e2 8098 53e2 8099 y factor ...S...\n-00009550: 2e0a e280 9873 6361 6c65 2856 29e2 8099 .....scale(V)...\n+00009510: 2020 2073 6361 6c61 7220 2020 2020 2020 scalar \n+00009520: 2020 2020 2020 2020 2053 6361 6c65 2075 Scale u\n+00009530: 6e69 666f 726d 6c79 2062 7920 6661 6374 niformly by fact\n+00009540: 6f72 20e2 8098 53e2 8099 2e0a e280 9873 or ...S........s\n+00009550: 6361 6c65 2856 29e2 8099 2020 2020 2020 cale(V)... \n 00009560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009570: 2020 2020 2020 2020 2020 7665 6374 6f72 vector\n-00009580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009590: 5363 616c 6520 616c 6f6e 6720 6561 6368 Scale along each\n-000095a0: 2061 7869 7320 6279 2063 6f6d 706f 6e65 axis by compone\n-000095b0: 6e74 7320 6f66 20e2 8098 56e2 8099 2e0a nts of ...V.....\n-000095c0: e280 9870 726f 6a65 6374 2829 e280 9920 ...project()... \n+00009570: 2020 2020 7665 6374 6f72 2020 2020 2020 vector \n+00009580: 2020 2020 2020 2020 2020 5363 616c 6520 Scale \n+00009590: 616c 6f6e 6720 6561 6368 2061 7869 7320 along each axis \n+000095a0: 6279 2063 6f6d 706f 6e65 6e74 7320 6f66 by components of\n+000095b0: 20e2 8098 56e2 8099 2e0a e280 9870 726f ...V........pro\n+000095c0: 6a65 6374 2829 e280 9920 2020 2020 2020 ject()... \n 000095d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000095e0: 2020 2020 2020 2020 2d2d 2020 2020 2020 -- \n-000095f0: 2020 2020 2020 2020 2020 2020 2020 5361 Sa\n-00009600: 6d65 2061 7320 e280 9873 6361 6c65 285b me as ...scale([\n-00009610: 312c 312c 305d 29e2 8099 2e0a e280 9870 1,1,0])........p\n-00009620: 726f 6a65 6374 2853 29e2 8099 2020 2020 roject(S)... \n-00009630: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009640: 2020 2020 7363 616c 6172 2020 2020 2020 scalar \n-00009650: 2020 2020 2020 2020 2020 5065 7273 7065 Perspe\n-00009660: 6374 6976 6520 7072 6f6a 6563 7469 6f6e ctive projection\n-00009670: 2077 6974 6820 7669 6577 2063 656e 7465 with view cente\n-00009680: 7220 6174 0a20 2020 2020 2020 2020 2020 r at. \n+000095e0: 2020 2d2d 2020 2020 2020 2020 2020 2020 -- \n+000095f0: 2020 2020 2020 2020 5361 6d65 2061 7320 Same as \n+00009600: e280 9873 6361 6c65 285b 312c 312c 305d ...scale([1,1,0]\n+00009610: 29e2 8099 2e0a e280 9870 726f 6a65 6374 )........project\n+00009620: 2853 29e2 8099 2020 2020 2020 2020 2020 (S)... \n+00009630: 2020 2020 2020 2020 2020 2020 2020 7363 sc\n+00009640: 616c 6172 2020 2020 2020 2020 2020 2020 alar \n+00009650: 2020 2020 5065 7273 7065 6374 6976 6520 Perspective \n+00009660: 7072 6f6a 6563 7469 6f6e 2077 6974 6820 projection with \n+00009670: 7669 6577 2063 656e 7465 7220 6174 0a20 view 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 2020 2020 206f o\n-000096c0: 7269 6769 6e20 616e 6420 7072 6f6a 6563 rigin and projec\n-000096d0: 7469 6f6e 2070 6c61 6e65 207a 3d2d e280 tion plane z=-..\n-000096e0: 9853 e280 992e 0ae2 8098 7065 7273 7065 .S........perspe\n-000096f0: 6374 6976 6528 5329 e280 9920 2020 2020 ctive(S)... \n-00009700: 2020 2020 2020 2020 2020 2020 2020 2073 s\n-00009710: 6361 6c61 7220 2020 2020 2020 2020 2020 calar \n-00009720: 2020 2020 2050 6572 7370 6563 7469 7665 Perspective\n-00009730: 205f 7472 616e 7366 6f72 6d5f 2069 6465 _transform_ ide\n-00009740: 6e74 6963 616c 2074 6f0a 2020 2020 2020 ntical to. \n+000096b0: 2020 2020 2020 2020 206f 7269 6769 6e20 origin \n+000096c0: 616e 6420 7072 6f6a 6563 7469 6f6e 2070 and projection p\n+000096d0: 6c61 6e65 207a 3d2d e280 9853 e280 992e lane z=-...S....\n+000096e0: 0ae2 8098 7065 7273 7065 6374 6976 6528 ....perspective(\n+000096f0: 5329 e280 9920 2020 2020 2020 2020 2020 S)... \n+00009700: 2020 2020 2020 2020 2073 6361 6c61 7220 scalar \n+00009710: 2020 2020 2020 2020 2020 2020 2020 2050 P\n+00009720: 6572 7370 6563 7469 7665 205f 7472 616e erspective _tran\n+00009730: 7366 6f72 6d5f 2069 6465 6e74 6963 616c sform_ identical\n+00009740: 2074 6f0a 2020 2020 2020 2020 2020 2020 to. \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: 2020 2020 e280 9870 726f 6a65 6374 2853 ...project(S\n-00009790: 29e2 8099 2065 7863 6570 7420 7468 6174 )... except that\n-000097a0: 2074 6865 207a 2d63 6f6f 7264 696e 6174 the z-coordinat\n-000097b0: 6520 6f66 0a20 2020 2020 2020 2020 2020 e of. \n+00009770: 2020 2020 2020 2020 2020 2020 2020 e280 ..\n+00009780: 9870 726f 6a65 6374 2853 29e2 8099 2065 .project(S)... e\n+00009790: 7863 6570 7420 7468 6174 2074 6865 207a xcept that the z\n+000097a0: 2d63 6f6f 7264 696e 6174 6520 6f66 0a20 -coordinate 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 2020 2020 2074 t\n-000097f0: 6865 2074 7261 6e73 666f 726d 6564 2072 he transformed r\n-00009800: 6573 756c 7420 6973 20e2 809c 7073 6575 esult is ...pseu\n-00009810: 646f 6465 7074 68e2 809d 2c0a 2020 2020 dodepth...,. \n+000097e0: 2020 2020 2020 2020 2074 6865 2074 7261 the tra\n+000097f0: 6e73 666f 726d 6564 2072 6573 756c 7420 nsformed result \n+00009800: 6973 20e2 809c 7073 6575 646f 6465 7074 is ...pseudodept\n+00009810: 68e2 809d 2c0a 2020 2020 2020 2020 2020 h...,. \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 2020 2020 7573 6162 6c65 2062 7920 usable by \n-00009860: 7468 6520 6869 6464 656e 2073 7572 6661 the hidden surfa\n-00009870: 6365 2061 6c67 6f72 6974 686d 2e0a e280 ce algorithm....\n-00009880: 9876 6965 7728 452c 442c 5529 e280 9920 .view(E,D,U)... \n+00009850: 7573 6162 6c65 2062 7920 7468 6520 6869 usable by the hi\n+00009860: 6464 656e 2073 7572 6661 6365 2061 6c67 dden surface alg\n+00009870: 6f72 6974 686d 2e0a e280 9876 6965 7728 orithm.....view(\n+00009880: 452c 442c 5529 e280 9920 2020 2020 2020 E,D,U)... \n 00009890: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000098a0: 2020 2020 2020 706f 696e 742c 7665 6374 point,vect\n-000098b0: 6f72 2c76 6563 746f 7220 2020 5669 6577 or,vector View\n-000098c0: 2074 7261 6e73 666f 726d 2073 696d 696c transform simil\n-000098d0: 6172 2074 6f20 7468 6174 206f 6620 e280 ar to that of ..\n-000098e0: 984f 7065 6e47 4ce2 8099 2773 2e0a 2020 .OpenGL...'s.. \n+000098a0: 706f 696e 742c 7665 6374 6f72 2c76 6563 point,vector,vec\n+000098b0: 746f 7220 2020 5669 6577 2074 7261 6e73 tor View trans\n+000098c0: 666f 726d 2073 696d 696c 6172 2074 6f20 form similar to \n+000098d0: 7468 6174 206f 6620 e280 984f 7065 6e47 that of ...OpenG\n+000098e0: 4ce2 8099 2773 2e0a 2020 2020 2020 2020 L...'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 2020 2020 5468 6520 5f65 7965 The _eye\n-00009930: 2070 6f69 6e74 5f20 e280 9845 e280 9920 point_ ...E... \n-00009940: 6973 2074 7261 6e73 6c61 7465 6420 746f is translated to\n-00009950: 2074 6865 0a20 2020 2020 2020 2020 2020 the. \n+00009920: 2020 5468 6520 5f65 7965 2070 6f69 6e74 The _eye point\n+00009930: 5f20 e280 9845 e280 9920 6973 2074 7261 _ ...E... is tra\n+00009940: 6e73 6c61 7465 6420 746f 2074 6865 0a20 nslated 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 2020 2020 206f o\n-00009990: 7269 6769 6e20 7768 696c 6520 6120 726f rigin while a ro\n-000099a0: 7461 7469 6f6e 2069 7320 616c 736f 2061 tation is also a\n-000099b0: 7070 6c69 6564 2074 6861 740a 2020 2020 pplied that. \n+00009980: 2020 2020 2020 2020 206f 7269 6769 6e20 origin \n+00009990: 7768 696c 6520 6120 726f 7461 7469 6f6e while a rotation\n+000099a0: 2069 7320 616c 736f 2061 7070 6c69 6564 is also applied\n+000099b0: 2074 6861 740a 2020 2020 2020 2020 2020 that. \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 2020 2020 6d61 6b65 7320 7468 6520 makes the \n-00009a00: 5f76 6965 7720 6469 7265 6374 696f 6e20 _view direction \n-00009a10: 7665 6374 6f72 5f20 e280 9844 e280 9920 vector_ ...D... \n-00009a20: 616e 6420 7468 650a 2020 2020 2020 2020 and the. \n+000099f0: 6d61 6b65 7320 7468 6520 5f76 6965 7720 makes the _view \n+00009a00: 6469 7265 6374 696f 6e20 7665 6374 6f72 direction vector\n+00009a10: 5f20 e280 9844 e280 9920 616e 6420 7468 _ ...D... and th\n+00009a20: 650a 2020 2020 2020 2020 2020 2020 2020 e. \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 2020 \n-00009a60: 2020 5f76 6965 7720 2275 7022 2076 6563 _view \"up\" vec\n-00009a70: 746f 725f 20e2 8098 55e2 8099 2070 6f69 tor_ ...U... poi\n-00009a80: 6e74 2069 6e20 7468 6520 6e65 6761 7469 nt in the negati\n-00009a90: 7665 0a20 2020 2020 2020 2020 2020 2020 ve. \n+00009a50: 2020 2020 2020 2020 2020 2020 5f76 6965 _vie\n+00009a60: 7720 2275 7022 2076 6563 746f 725f 20e2 w \"up\" vector_ .\n+00009a70: 8098 55e2 8099 2070 6f69 6e74 2069 6e20 ..U... point in \n+00009a80: 7468 6520 6e65 6761 7469 7665 0a20 2020 the 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 2020 2020 207a 2d20 z- \n-00009ad0: 616e 6420 7468 6520 792d 6469 7265 6374 and the y-direct\n-00009ae0: 696f 6e73 2072 6573 7065 6374 6976 656c ions respectivel\n-00009af0: 792e 2020 4966 20e2 8098 55e2 8099 0a20 y. If ...U.... \n+00009ac0: 2020 2020 2020 207a 2d20 616e 6420 7468 z- and th\n+00009ad0: 6520 792d 6469 7265 6374 696f 6e73 2072 e y-directions r\n+00009ae0: 6573 7065 6374 6976 656c 792e 2020 4966 espectively. If\n+00009af0: 20e2 8098 55e2 8099 0a20 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 2020 2020 2069 7320 6f6d 6974 is omit\n-00009b40: 7465 642c 2069 7420 6465 6661 756c 7473 ted, it defaults\n-00009b50: 2074 6f20 5b30 2c31 2c30 5d2e 2020 5768 to [0,1,0]. Wh\n-00009b60: 656e 20e2 8098 55e2 8099 0a20 2020 2020 en ...U.... \n+00009b30: 2020 2069 7320 6f6d 6974 7465 642c 2069 is omitted, i\n+00009b40: 7420 6465 6661 756c 7473 2074 6f20 5b30 t defaults to [0\n+00009b50: 2c31 2c30 5d2e 2020 5768 656e 20e2 8098 ,1,0]. When ...\n+00009b60: 55e2 8099 0a20 2020 2020 2020 2020 2020 U.... \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: 2020 2020 2069 7320 6f6d 6974 7465 642c is omitted,\n-00009bb0: 20e2 8098 44e2 8099 206d 6179 2062 6520 ...D... may be \n-00009bc0: 616c 736f 3b20 6974 2064 6566 6175 6c74 also; it default\n-00009bd0: 7320 746f 0a20 2020 2020 2020 2020 2020 s to. \n+00009b90: 2020 2020 2020 2020 2020 2020 2020 2069 i\n+00009ba0: 7320 6f6d 6974 7465 642c 20e2 8098 44e2 s omitted, ...D.\n+00009bb0: 8099 206d 6179 2062 6520 616c 736f 3b20 .. may be also; \n+00009bc0: 6974 2064 6566 6175 6c74 7320 746f 0a20 it defaults 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 2020 2020 20e2 .\n-00009c10: 8098 2830 2c30 2c30 292d 2845 29e2 8099 ..(0,0,0)-(E)...\n-00009c20: 2c20 6120 7665 6374 6f72 2070 6f69 6e74 , a vector point\n-00009c30: 696e 6720 6672 6f6d 2074 6865 2065 7965 ing from the eye\n-00009c40: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00009c00: 2020 2020 2020 2020 20e2 8098 2830 2c30 ...(0,0\n+00009c10: 2c30 292d 2845 29e2 8099 2c20 6120 7665 ,0)-(E)..., a ve\n+00009c20: 6374 6f72 2070 6f69 6e74 696e 6720 6672 ctor pointing fr\n+00009c30: 6f6d 2074 6865 2065 7965 0a20 2020 2020 om the 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 2020 2020 2074 6f77 6172 towar\n-00009c80: 6420 7468 6520 6f72 6967 696e 2e0a e280 d the origin....\n-00009c90: 9876 6965 7728 452c 4c2c 5529 e280 9920 .view(E,L,U)... \n+00009c70: 2020 2020 2074 6f77 6172 6420 7468 6520 toward the \n+00009c80: 6f72 6967 696e 2e0a e280 9876 6965 7728 origin.....view(\n+00009c90: 452c 4c2c 5529 e280 9920 2020 2020 2020 E,L,U)... \n 00009ca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009cb0: 2020 2020 2020 706f 696e 742c 706f 696e point,poin\n-00009cc0: 742c 7665 6374 6f72 2020 2020 416e 2061 t,vector An a\n-00009cd0: 6c74 6572 6e61 7465 2066 6f72 6d20 6f66 lternate form of\n-00009ce0: 20e2 8098 7669 6577 2845 2c44 2c55 29e2 ...view(E,D,U).\n-00009cf0: 8099 2061 626f 7665 2077 6865 7265 0a20 .. above where. \n+00009cb0: 706f 696e 742c 706f 696e 742c 7665 6374 point,point,vect\n+00009cc0: 6f72 2020 2020 416e 2061 6c74 6572 6e61 or An alterna\n+00009cd0: 7465 2066 6f72 6d20 6f66 20e2 8098 7669 te form of ...vi\n+00009ce0: 6577 2845 2c44 2c55 29e2 8099 2061 626f ew(E,D,U)... abo\n+00009cf0: 7665 2077 6865 7265 0a20 2020 2020 2020 ve where. \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 2020 2020 2074 6865 2076 6965 the vie\n-00009d40: 7720 6469 7265 6374 696f 6e20 7061 7261 w direction para\n-00009d50: 6d65 7465 7220 e280 9844 e280 9920 6973 meter ...D... is\n-00009d60: 2072 6570 6c61 6365 640a 2020 2020 2020 replaced. \n+00009d30: 2020 2074 6865 2076 6965 7720 6469 7265 the view dire\n+00009d40: 6374 696f 6e20 7061 7261 6d65 7465 7220 ction parameter \n+00009d50: e280 9844 e280 9920 6973 2072 6570 6c61 ...D... is repla\n+00009d60: 6365 640a 2020 2020 2020 2020 2020 2020 ced. \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: 2020 2020 7769 7468 2061 2022 6c6f 6f6b with a \"look\n-00009db0: 2061 7422 2070 6f69 6e74 20e2 8098 4ce2 at\" point ...L.\n-00009dc0: 8099 2c20 692e 652e 2c20 6120 706f 696e .., i.e., a poin\n-00009dd0: 740a 2020 2020 2020 2020 2020 2020 2020 t. \n+00009d90: 2020 2020 2020 2020 2020 2020 2020 7769 wi\n+00009da0: 7468 2061 2022 6c6f 6f6b 2061 7422 2070 th a \"look at\" p\n+00009db0: 6f69 6e74 20e2 8098 4ce2 8099 2c20 692e oint ...L..., i.\n+00009dc0: 652e 2c20 6120 706f 696e 740a 2020 2020 e., 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 2020 2020 7768 6572 wher\n-00009e10: 6520 7468 6520 7669 6577 6572 2069 7320 e the viewer is \n-00009e20: 666f 6375 7369 6e67 2068 6572 2061 7474 focusing her att\n-00009e30: 656e 7469 6f6e 2e0a 2020 2020 2020 2020 ention.. \n+00009e00: 2020 2020 2020 7768 6572 6520 7468 6520 where the \n+00009e10: 7669 6577 6572 2069 7320 666f 6375 7369 viewer is focusi\n+00009e20: 6e67 2068 6572 2061 7474 656e 7469 6f6e ng her attention\n+00009e30: 2e0a 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 2020 \n-00009e70: 2020 5468 6973 2066 6f72 6d20 6f66 2076 This form of v\n-00009e80: 6965 7720 6973 2065 7175 6976 616c 656e iew is equivalen\n-00009e90: 7420 746f 20e2 8098 7669 6577 2845 2c0a t to ...view(E,.\n+00009e60: 2020 2020 2020 2020 2020 2020 5468 6973 This\n+00009e70: 2066 6f72 6d20 6f66 2076 6965 7720 6973 form of view is\n+00009e80: 2065 7175 6976 616c 656e 7420 746f 20e2 equivalent to .\n+00009e90: 8098 7669 6577 2845 2c0a 2020 2020 2020 ..view(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 2020 2020 284c 292d 2845 (L)-(E\n-00009ee0: 292c 2055 29e2 8099 2c20 7768 6572 6520 ), U)..., where \n-00009ef0: e280 9828 4c29 2d28 4529 e280 9920 6973 ...(L)-(E)... is\n-00009f00: 2061 2064 6972 6563 7469 6f6e 0a20 2020 a direction. \n+00009ed0: 2020 2020 284c 292d 2845 292c 2055 29e2 (L)-(E), U).\n+00009ee0: 8099 2c20 7768 6572 6520 e280 9828 4c29 .., where ...(L)\n+00009ef0: 2d28 4529 e280 9920 6973 2061 2064 6972 -(E)... is a dir\n+00009f00: 6563 7469 6f6e 0a20 2020 2020 2020 2020 ection. \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 2020 2020 2076 6563 746f 722e 2020 vector. \n-00009f50: e280 9855 e280 9920 6973 206f 7074 696f ...U... is optio\n-00009f60: 6e61 6c20 616e 6420 6465 6661 756c 7473 nal and defaults\n-00009f70: 2074 6f0a 2020 2020 2020 2020 2020 2020 to. \n+00009f40: 2076 6563 746f 722e 2020 e280 9855 e280 vector. ...U..\n+00009f50: 9920 6973 206f 7074 696f 6e61 6c20 616e . is optional an\n+00009f60: 6420 6465 6661 756c 7473 2074 6f0a 2020 d defaults 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 2020 2020 5b30 [0\n-00009fb0: 2c31 2c30 5d2e 0ae2 8098 5b5b 615f 7b31 ,1,0].....[[a_{1\n-00009fc0: 317d 2c61 5f7b 3132 7d2c 615f 7b31 337d 1},a_{12},a_{13}\n-00009fd0: 2c61 5f7b 3134 7d5d e280 9920 2020 2031 ,a_{14}]... 1\n-00009fe0: 3620 7363 616c 6172 7320 2020 2020 2020 6 scalars \n-00009ff0: 2020 2020 2044 6972 6563 7420 7472 616e Direct tran\n-0000a000: 7366 6f72 6d20 6d61 7472 6978 2064 6566 sform matrix def\n-0000a010: 696e 6974 696f 6e2e 2020 4561 6368 206f inition. Each o\n-0000a020: 660a e280 9820 5b61 5f7b 3231 7d2c 615f f.... [a_{21},a_\n-0000a030: 7b32 327d 2c61 5f7b 3233 7d2c 615f 7b32 {22},a_{23},a_{2\n-0000a040: 347d 5de2 8099 2020 2020 2020 2020 2020 4}]... \n-0000a050: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a060: 7468 6520 615f 7b69 6a7d 2069 7320 6120 the a_{ij} is a \n-0000a070: 7363 616c 6172 2065 7870 7265 7373 696f scalar expressio\n-0000a080: 6e2e 2020 5365 6520 7465 7874 0ae2 8098 n. See text....\n-0000a090: 205b 615f 7b33 317d 2c61 5f7b 3332 7d2c [a_{31},a_{32},\n-0000a0a0: 615f 7b33 337d 2c61 5f7b 3334 7d5d e280 a_{33},a_{34}]..\n-0000a0b0: 9920 2020 2020 2020 2020 2020 2020 2020 . \n-0000a0c0: 2020 2020 2020 2020 2020 2066 6f72 2064 for d\n-0000a0d0: 6574 6169 6c73 2e0a e280 9820 5b61 5f7b etails..... [a_{\n-0000a0e0: 3431 7d2c 615f 7b34 327d 2c61 5f7b 3433 41},a_{42},a_{43\n-0000a0f0: 7d2c 615f 7b34 347d 5d5d e280 990a 5468 },a_{44}]]....Th\n-0000a100: 6520 e280 9870 726f 6a65 6374 e280 9920 e ...project... \n-0000a110: 636f 6e73 7472 7563 746f 7220 6973 206e constructor is n\n-0000a120: 6f74 2067 656e 6572 616c 6c79 2075 7365 ot generally use\n-0000a130: 6675 6c20 6265 6361 7573 6520 6974 2064 ful because it d\n-0000a140: 6566 6561 7473 0a68 6964 6465 6e20 7375 efeats.hidden su\n-0000a150: 7266 6163 6520 7265 6d6f 7661 6c20 6279 rface removal by\n-0000a160: 2063 6f6c 6c61 7073 696e 6720 7468 6520 collapsing the \n-0000a170: 7363 656e 6520 6f6e 746f 2061 2073 696e scene onto a sin\n-0000a180: 676c 6520 706c 616e 652e 2020 4974 0a69 gle plane. It.i\n-0000a190: 7320 6120 7370 6563 6961 6c20 7075 7270 s a special purp\n-0000a1a0: 6f73 6520 7472 616e 7366 6f72 6d20 666f ose transform fo\n-0000a1b0: 7220 6472 6177 696e 6720 7069 6374 7572 r drawing pictur\n-0000a1c0: 6573 206f 6620 7363 656e 6573 2077 6865 es of scenes whe\n-0000a1d0: 7265 0a74 6872 6565 2d64 696d 656e 7369 re.three-dimensi\n-0000a1e0: 6f6e 616c 206f 626a 6563 7473 2061 7265 onal objects are\n-0000a1f0: 2062 6569 6e67 2070 726f 6a65 6374 6564 being projected\n-0000a200: 206f 6e74 6f20 706c 616e 6573 2e20 2053 onto planes. S\n-0000a210: 6565 2c20 666f 720a 6578 616d 706c 652c ee, for.example,\n-0000a220: 202a 6e6f 7465 204f 7665 7276 6965 773a *note Overview:\n-0000a230: 3a2e 0a0a 2020 2054 6865 2064 6972 6563 :... The direc\n-0000a240: 7420 7472 616e 7366 6f72 6d20 636f 6e73 t transform cons\n-0000a250: 7472 7563 746f 7220 616c 6c6f 7773 2064 tructor allows d\n-0000a260: 6972 6563 7420 656e 7472 7920 6f66 2061 irect entry of a\n-0000a270: 2034 7834 0a74 7261 6e73 666f 726d 6174 4x4.transformat\n-0000a280: 696f 6e20 6d61 7472 6978 2e20 204d 6f73 ion matrix. Mos\n-0000a290: 7420 3364 2067 7261 7068 6963 7320 7379 t 3d graphics sy\n-0000a2a0: 7374 656d 732c 2069 6e63 6c75 6469 6e67 stems, including\n-0000a2b0: 20e2 8098 736b 6574 6368 e280 992c 0a75 ...sketch...,.u\n-0000a2c0: 7365 2034 2d64 696d 656e 7369 6f6e 616c se 4-dimensional\n-0000a2d0: 2068 6f6d 6f67 656e 656f 7573 2063 6f6f homogeneous coo\n-0000a2e0: 7264 696e 6174 6573 2069 6e74 6572 6e61 rdinates interna\n-0000a2f0: 6c6c 792e 2020 5468 6573 6520 6172 650a lly. These are.\n-0000a300: 7472 616e 7366 6f72 6d65 6420 6279 206d transformed by m\n-0000a310: 756c 7469 706c 6963 6174 696f 6e20 7769 ultiplication wi\n-0000a320: 7468 2034 7834 206d 6174 7269 6365 732e th 4x4 matrices.\n-0000a330: 2020 5468 6520 6275 696c 742d 696e 0a63 The built-in.c\n-0000a340: 6f6e 7374 7275 6374 6f72 7320 28e2 8098 onstructors (...\n-0000a350: 726f 7461 7465 e280 992c 20e2 8098 7363 rotate..., ...sc\n-0000a360: 616c 65e2 8099 2c20 6574 632e 2920 2061 ale..., etc.) a\n-0000a370: 7265 2061 6c6c 2074 7261 6e73 6c61 7465 re all translate\n-0000a380: 6420 696e 7465 726e 616c 6c79 2074 6f0a d internally to.\n-0000a390: 7375 6368 2034 7834 206d 6174 7269 6365 such 4x4 matrice\n-0000a3a0: 732e 2020 466f 7220 6d6f 7265 2069 6e66 s. For more inf\n-0000a3b0: 6f72 6d61 7469 6f6e 206f 6e20 686f 6d6f ormation on homo\n-0000a3c0: 6765 6e65 6f75 7320 636f 6f72 6469 6e61 geneous coordina\n-0000a3d0: 7465 0a74 7261 6e73 666f 726d 6174 696f te.transformatio\n-0000a3e0: 6e73 2c20 7365 6520 616e 7920 676f 6f64 ns, see any good\n-0000a3f0: 2063 6f6d 7075 7465 7220 6772 6170 6869 computer graphi\n-0000a400: 6373 2074 6578 7462 6f6f 6b2e 2020 5468 cs textbook. Th\n-0000a410: 6520 6469 7265 6374 0a74 7261 6e73 666f e direct.transfo\n-0000a420: 726d 2066 6561 7475 7265 206f 6620 e280 rm feature of ..\n-0000a430: 9873 6b65 7463 68e2 8099 2061 6c6c 6f77 .sketch... allow\n-0000a440: 7320 796f 7520 746f 2065 6e74 6572 2061 s you to enter a\n-0000a450: 206d 6174 7269 7820 6f66 2079 6f75 7220 matrix of your \n-0000a460: 6f77 6e0a 6368 6f69 6365 2e20 2054 6865 own.choice. The\n-0000a470: 7265 2061 7265 206e 6f74 206d 616e 7920 re are not many \n-0000a480: 6361 7365 7320 7768 6572 6520 7468 6973 cases where this\n-0000a490: 2069 7320 7573 6566 756c 2c20 6275 7420 is useful, but \n-0000a4a0: 6966 2079 6f75 2064 6f0a 6e65 6564 2069 if you do.need i\n-0000a4b0: 742c 2079 6f75 206e 6565 6420 6974 2062 t, you need it b\n-0000a4c0: 6164 6c79 210a 0a1f 0a46 696c 653a 2073 adly!....File: s\n-0000a4d0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-0000a4e0: 653a 2041 7269 7468 6d65 7469 632c 2020 e: Arithmetic, \n-0000a4f0: 4e65 7874 3a20 4f70 7469 6f6e 732c 2020 Next: Options, \n-0000a500: 5072 6576 3a20 4c69 7465 7261 6c73 2c20 Prev: Literals, \n-0000a510: 2055 703a 204c 616e 6775 6167 6520 6261 Up: Language ba\n-0000a520: 7369 6373 0a0a 332e 312e 3420 4172 6974 sics..3.1.4 Arit\n-0000a530: 686d 6574 6963 2065 7870 7265 7373 696f hmetic expressio\n-0000a540: 6e73 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ns.-------------\n-0000a550: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n-0000a560: 0a41 7269 7468 6d65 7469 6320 6578 7072 .Arithmetic expr\n-0000a570: 6573 7369 6f6e 7320 6f76 6572 20e2 8098 essions over ...\n-0000a580: 736b 6574 6368 e280 9920 6c69 7465 7261 sketch... litera\n-0000a590: 6c73 2061 6e64 2064 6566 696e 6564 2069 ls and defined i\n-0000a5a0: 6465 6e74 6966 6965 7273 0a61 7265 2073 dentifiers.are s\n-0000a5b0: 756d 6d61 7269 7a65 6420 696e 2074 6865 ummarized in the\n-0000a5c0: 2066 6f6c 6c6f 7769 6e67 2074 6162 6c65 following table\n-0000a5d0: 732e 0a0a 2a20 4d65 6e75 3a0a 0a2a 2054 s...* Menu:..* T\n-0000a5e0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina\n-0000a5f0: 7279 2920 666f 726d 733a 3a20 2041 206f ry) forms:: A o\n-0000a600: 7020 420a 2a20 556e 6172 7920 666f 726d p B.* Unary form\n-0000a610: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n-0000a620: 2020 2020 6f70 2041 2028 616e 6420 6f74 op A (and ot\n-0000a630: 6865 7273 290a 0a1f 0a46 696c 653a 2073 hers)....File: s\n-0000a640: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-0000a650: 653a 2054 776f 2d6f 7065 7261 6e64 2028 e: Two-operand (\n-0000a660: 6269 6e61 7279 2920 666f 726d 732c 2020 binary) forms, \n-0000a670: 4e65 7874 3a20 556e 6172 7920 666f 726d Next: Unary form\n-0000a680: 732c 2020 5072 6576 3a20 4172 6974 686d s, Prev: Arithm\n-0000a690: 6574 6963 2c20 2055 703a 2041 7269 7468 etic, Up: Arith\n-0000a6a0: 6d65 7469 630a 0a33 2e31 2e34 2e31 2054 metic..3.1.4.1 T\n-0000a6b0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina\n-0000a6c0: 7279 2920 666f 726d 7320 616e 6420 7072 ry) forms and pr\n-0000a6d0: 6563 6564 656e 6365 0a2e 2e2e 2e2e 2e2e ecedence........\n+00009fa0: 2020 2020 2020 2020 5b30 2c31 2c30 5d2e [0,1,0].\n+00009fb0: 0ae2 8098 5b5b 615f 7b31 317d 2c61 5f7b ....[[a_{11},a_{\n+00009fc0: 3132 7d2c 615f 7b31 337d 2c61 5f7b 3134 12},a_{13},a_{14\n+00009fd0: 7d5d e280 9920 2020 2031 3620 7363 616c }]... 16 scal\n+00009fe0: 6172 7320 2020 2020 2020 2020 2020 2044 ars D\n+00009ff0: 6972 6563 7420 7472 616e 7366 6f72 6d20 irect transform \n+0000a000: 6d61 7472 6978 2064 6566 696e 6974 696f matrix definitio\n+0000a010: 6e2e 2020 4561 6368 206f 660a e280 9820 n. Each of.... \n+0000a020: 5b61 5f7b 3231 7d2c 615f 7b32 327d 2c61 [a_{21},a_{22},a\n+0000a030: 5f7b 3233 7d2c 615f 7b32 347d 5de2 8099 _{23},a_{24}]...\n+0000a040: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a050: 2020 2020 2020 2020 2020 7468 6520 615f the a_\n+0000a060: 7b69 6a7d 2069 7320 6120 7363 616c 6172 {ij} is a scalar\n+0000a070: 2065 7870 7265 7373 696f 6e2e 2020 5365 expression. Se\n+0000a080: 6520 7465 7874 0ae2 8098 205b 615f 7b33 e text.... [a_{3\n+0000a090: 317d 2c61 5f7b 3332 7d2c 615f 7b33 337d 1},a_{32},a_{33}\n+0000a0a0: 2c61 5f7b 3334 7d5d e280 9920 2020 2020 ,a_{34}]... \n+0000a0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a0c0: 2020 2020 2066 6f72 2064 6574 6169 6c73 for details\n+0000a0d0: 2e0a e280 9820 5b61 5f7b 3431 7d2c 615f ..... [a_{41},a_\n+0000a0e0: 7b34 327d 2c61 5f7b 3433 7d2c 615f 7b34 {42},a_{43},a_{4\n+0000a0f0: 347d 5d5d e280 990a 5468 6520 e280 9870 4}]]....The ...p\n+0000a100: 726f 6a65 6374 e280 9920 636f 6e73 7472 roject... constr\n+0000a110: 7563 746f 7220 6973 206e 6f74 2067 656e uctor is not gen\n+0000a120: 6572 616c 6c79 2075 7365 6675 6c20 6265 erally useful be\n+0000a130: 6361 7573 6520 6974 2064 6566 6561 7473 cause it defeats\n+0000a140: 0a68 6964 6465 6e20 7375 7266 6163 6520 .hidden surface \n+0000a150: 7265 6d6f 7661 6c20 6279 2063 6f6c 6c61 removal by colla\n+0000a160: 7073 696e 6720 7468 6520 7363 656e 6520 psing the scene \n+0000a170: 6f6e 746f 2061 2073 696e 676c 6520 706c onto a single pl\n+0000a180: 616e 652e 2020 4974 0a69 7320 6120 7370 ane. It.is a sp\n+0000a190: 6563 6961 6c20 7075 7270 6f73 6520 7472 ecial purpose tr\n+0000a1a0: 616e 7366 6f72 6d20 666f 7220 6472 6177 ansform for draw\n+0000a1b0: 696e 6720 7069 6374 7572 6573 206f 6620 ing pictures of \n+0000a1c0: 7363 656e 6573 2077 6865 7265 0a74 6872 scenes where.thr\n+0000a1d0: 6565 2d64 696d 656e 7369 6f6e 616c 206f ee-dimensional o\n+0000a1e0: 626a 6563 7473 2061 7265 2062 6569 6e67 bjects are being\n+0000a1f0: 2070 726f 6a65 6374 6564 206f 6e74 6f20 projected onto \n+0000a200: 706c 616e 6573 2e20 2053 6565 2c20 666f planes. See, fo\n+0000a210: 720a 6578 616d 706c 652c 202a 6e6f 7465 r.example, *note\n+0000a220: 204f 7665 7276 6965 773a 3a2e 0a0a 2020 Overview::... \n+0000a230: 2054 6865 2064 6972 6563 7420 7472 616e The direct tran\n+0000a240: 7366 6f72 6d20 636f 6e73 7472 7563 746f sform constructo\n+0000a250: 7220 616c 6c6f 7773 2064 6972 6563 7420 r allows direct \n+0000a260: 656e 7472 7920 6f66 2061 2034 7834 0a74 entry of a 4x4.t\n+0000a270: 7261 6e73 666f 726d 6174 696f 6e20 6d61 ransformation ma\n+0000a280: 7472 6978 2e20 204d 6f73 7420 3364 2067 trix. Most 3d g\n+0000a290: 7261 7068 6963 7320 7379 7374 656d 732c raphics systems,\n+0000a2a0: 2069 6e63 6c75 6469 6e67 20e2 8098 736b including ...sk\n+0000a2b0: 6574 6368 e280 992c 0a75 7365 2034 2d64 etch...,.use 4-d\n+0000a2c0: 696d 656e 7369 6f6e 616c 2068 6f6d 6f67 imensional homog\n+0000a2d0: 656e 656f 7573 2063 6f6f 7264 696e 6174 eneous coordinat\n+0000a2e0: 6573 2069 6e74 6572 6e61 6c6c 792e 2020 es internally. \n+0000a2f0: 5468 6573 6520 6172 650a 7472 616e 7366 These are.transf\n+0000a300: 6f72 6d65 6420 6279 206d 756c 7469 706c ormed by multipl\n+0000a310: 6963 6174 696f 6e20 7769 7468 2034 7834 ication with 4x4\n+0000a320: 206d 6174 7269 6365 732e 2020 5468 6520 matrices. The \n+0000a330: 6275 696c 742d 696e 0a63 6f6e 7374 7275 built-in.constru\n+0000a340: 6374 6f72 7320 28e2 8098 726f 7461 7465 ctors (...rotate\n+0000a350: e280 992c 20e2 8098 7363 616c 65e2 8099 ..., ...scale...\n+0000a360: 2c20 6574 632e 2920 2061 7265 2061 6c6c , etc.) are all\n+0000a370: 2074 7261 6e73 6c61 7465 6420 696e 7465 translated inte\n+0000a380: 726e 616c 6c79 2074 6f0a 7375 6368 2034 rnally to.such 4\n+0000a390: 7834 206d 6174 7269 6365 732e 2020 466f x4 matrices. Fo\n+0000a3a0: 7220 6d6f 7265 2069 6e66 6f72 6d61 7469 r more informati\n+0000a3b0: 6f6e 206f 6e20 686f 6d6f 6765 6e65 6f75 on on homogeneou\n+0000a3c0: 7320 636f 6f72 6469 6e61 7465 0a74 7261 s coordinate.tra\n+0000a3d0: 6e73 666f 726d 6174 696f 6e73 2c20 7365 nsformations, se\n+0000a3e0: 6520 616e 7920 676f 6f64 2063 6f6d 7075 e any good compu\n+0000a3f0: 7465 7220 6772 6170 6869 6373 2074 6578 ter graphics tex\n+0000a400: 7462 6f6f 6b2e 2020 5468 6520 6469 7265 tbook. The dire\n+0000a410: 6374 0a74 7261 6e73 666f 726d 2066 6561 ct.transform fea\n+0000a420: 7475 7265 206f 6620 e280 9873 6b65 7463 ture of ...sketc\n+0000a430: 68e2 8099 2061 6c6c 6f77 7320 796f 7520 h... allows you \n+0000a440: 746f 2065 6e74 6572 2061 206d 6174 7269 to enter a matri\n+0000a450: 7820 6f66 2079 6f75 7220 6f77 6e0a 6368 x of your own.ch\n+0000a460: 6f69 6365 2e20 2054 6865 7265 2061 7265 oice. There are\n+0000a470: 206e 6f74 206d 616e 7920 6361 7365 7320 not many cases \n+0000a480: 7768 6572 6520 7468 6973 2069 7320 7573 where this is us\n+0000a490: 6566 756c 2c20 6275 7420 6966 2079 6f75 eful, but if you\n+0000a4a0: 2064 6f0a 6e65 6564 2069 742c 2079 6f75 do.need it, you\n+0000a4b0: 206e 6565 6420 6974 2062 6164 6c79 210a need it badly!.\n+0000a4c0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+0000a4d0: 696e 666f 2c20 204e 6f64 653a 2041 7269 info, Node: Ari\n+0000a4e0: 7468 6d65 7469 632c 2020 4e65 7874 3a20 thmetic, Next: \n+0000a4f0: 4f70 7469 6f6e 732c 2020 5072 6576 3a20 Options, Prev: \n+0000a500: 4c69 7465 7261 6c73 2c20 2055 703a 204c Literals, Up: L\n+0000a510: 616e 6775 6167 6520 6261 7369 6373 0a0a anguage basics..\n+0000a520: 332e 312e 3420 4172 6974 686d 6574 6963 3.1.4 Arithmetic\n+0000a530: 2065 7870 7265 7373 696f 6e73 0a2d 2d2d expressions.---\n+0000a540: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000a550: 2d2d 2d2d 2d2d 2d2d 2d0a 0a41 7269 7468 ---------..Arith\n+0000a560: 6d65 7469 6320 6578 7072 6573 7369 6f6e metic expression\n+0000a570: 7320 6f76 6572 20e2 8098 736b 6574 6368 s over ...sketch\n+0000a580: e280 9920 6c69 7465 7261 6c73 2061 6e64 ... literals and\n+0000a590: 2064 6566 696e 6564 2069 6465 6e74 6966 defined identif\n+0000a5a0: 6965 7273 0a61 7265 2073 756d 6d61 7269 iers.are summari\n+0000a5b0: 7a65 6420 696e 2074 6865 2066 6f6c 6c6f zed in the follo\n+0000a5c0: 7769 6e67 2074 6162 6c65 732e 0a0a 2a20 wing tables...* \n+0000a5d0: 4d65 6e75 3a0a 0a2a 2054 776f 2d6f 7065 Menu:..* Two-ope\n+0000a5e0: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo\n+0000a5f0: 726d 733a 3a20 2041 206f 7020 420a 2a20 rms:: A op B.* \n+0000a600: 556e 6172 7920 666f 726d 733a 3a20 2020 Unary forms:: \n+0000a610: 2020 2020 2020 2020 2020 2020 2020 6f70 op\n+0000a620: 2041 2028 616e 6420 6f74 6865 7273 290a A (and others).\n+0000a630: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+0000a640: 696e 666f 2c20 204e 6f64 653a 2054 776f info, Node: Two\n+0000a650: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary\n+0000a660: 2920 666f 726d 732c 2020 4e65 7874 3a20 ) forms, Next: \n+0000a670: 556e 6172 7920 666f 726d 732c 2020 5072 Unary forms, Pr\n+0000a680: 6576 3a20 4172 6974 686d 6574 6963 2c20 ev: Arithmetic, \n+0000a690: 2055 703a 2041 7269 7468 6d65 7469 630a Up: Arithmetic.\n+0000a6a0: 0a33 2e31 2e34 2e31 2054 776f 2d6f 7065 .3.1.4.1 Two-ope\n+0000a6b0: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo\n+0000a6c0: 726d 7320 616e 6420 7072 6563 6564 656e rms and preceden\n+0000a6d0: 6365 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ce..............\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 2e2e 2e2e 0a0a 4d6f 7374 ............Most\n-0000a710: 2074 776f 2d6f 7065 7261 6e64 2062 696e two-operand bin\n-0000a720: 6172 7920 666f 726d 7320 6861 7665 206d ary forms have m\n-0000a730: 6561 6e69 6e67 7320 6465 7065 6e64 656e eanings dependen\n-0000a740: 7420 6f6e 2074 6865 2074 7970 6573 206f t on the types o\n-0000a750: 660a 7468 6569 7220 6172 6775 6d65 6e74 f.their argument\n-0000a760: 732e 2020 416e 2065 7868 6175 7374 6976 s. An exhaustiv\n-0000a770: 6520 7375 6d6d 6172 7920 6f66 2074 6865 e summary of the\n-0000a780: 2070 6f73 7369 6269 6c69 7469 6573 2069 possibilities i\n-0000a790: 7320 6769 7665 6e20 696e 0a74 6865 2066 s given in.the f\n-0000a7a0: 6f6c 6c6f 7769 6e67 2074 6162 6c65 2e0a ollowing table..\n-0000a7b0: 4c65 6674 2020 2020 2020 2020 4f70 2020 Left Op \n-0000a7c0: 2020 2020 2052 6967 6874 2020 2020 2020 Right \n-0000a7d0: 2052 6573 756c 7420 2020 2020 2044 6573 Result Des\n-0000a7e0: 6372 6970 7469 6f6e 0a2d 2d2d 2d2d 2d2d cription.-------\n+0000a700: 2e2e 2e2e 0a0a 4d6f 7374 2074 776f 2d6f ......Most two-o\n+0000a710: 7065 7261 6e64 2062 696e 6172 7920 666f perand binary fo\n+0000a720: 726d 7320 6861 7665 206d 6561 6e69 6e67 rms have meaning\n+0000a730: 7320 6465 7065 6e64 656e 7420 6f6e 2074 s dependent on t\n+0000a740: 6865 2074 7970 6573 206f 660a 7468 6569 he types of.thei\n+0000a750: 7220 6172 6775 6d65 6e74 732e 2020 416e r arguments. An\n+0000a760: 2065 7868 6175 7374 6976 6520 7375 6d6d exhaustive summ\n+0000a770: 6172 7920 6f66 2074 6865 2070 6f73 7369 ary of the possi\n+0000a780: 6269 6c69 7469 6573 2069 7320 6769 7665 bilities is give\n+0000a790: 6e20 696e 0a74 6865 2066 6f6c 6c6f 7769 n in.the followi\n+0000a7a0: 6e67 2074 6162 6c65 2e0a 4c65 6674 2020 ng table..Left \n+0000a7b0: 2020 2020 2020 4f70 2020 2020 2020 2052 Op R\n+0000a7c0: 6967 6874 2020 2020 2020 2052 6573 756c ight Resul\n+0000a7d0: 7420 2020 2020 2044 6573 6372 6970 7469 t Descripti\n+0000a7e0: 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on.-------------\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 2d2d 2d2d 2d0a ---------------.\n-0000a860: 7363 616c 6172 2020 2020 2020 e280 982b scalar ...+\n-0000a870: e280 9920 2020 2020 2073 6361 6c61 7220 ... scalar \n-0000a880: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar \n-0000a890: 2053 6361 6c61 7220 7375 6d2e 0a76 6563 Scalar sum..vec\n-0000a8a0: 746f 7220 2020 2020 20e2 8098 2be2 8099 tor ...+...\n-0000a8b0: 2020 2020 2020 7665 6374 6f72 2020 2020 vector \n-0000a8c0: 2020 7665 6374 6f72 2020 2020 2020 5665 vector Ve\n-0000a8d0: 6374 6f72 2073 756d 2e0a 706f 696e 7420 ctor sum..point \n-0000a8e0: 2020 2020 2020 e280 982b e280 9920 2020 ...+... \n-0000a8f0: 2020 2076 6563 746f 7220 2020 2020 2070 vector p\n-0000a900: 6f69 6e74 2020 2020 2020 2050 6f69 6e74 oint Point\n-0000a910: 2d76 6563 746f 7220 6166 6669 6e65 2073 -vector affine s\n-0000a920: 756d 2e0a 7665 6374 6f72 2020 2020 2020 um..vector \n-0000a930: e280 982b e280 9920 2020 2020 2070 6f69 ...+... poi\n-0000a940: 6e74 2020 2020 2020 2022 2020 2020 2020 nt \" \n-0000a950: 2020 2020 2022 0a73 6361 6c61 7220 2020 \".scalar \n-0000a960: 2020 20e2 8098 2de2 8099 2020 2020 2020 ...-... \n-0000a970: 7363 616c 6172 2020 2020 2020 7363 616c scalar scal\n-0000a980: 6172 2020 2020 2020 5363 616c 6172 2064 ar Scalar d\n-0000a990: 6966 6665 7265 6e63 652e 0a76 6563 746f ifference..vecto\n-0000a9a0: 7220 2020 2020 20e2 8098 2de2 8099 2020 r ...-... \n-0000a9b0: 2020 2020 7665 6374 6f72 2020 2020 2020 vector \n-0000a9c0: 7665 6374 6f72 2020 2020 2020 5665 6374 vector Vect\n-0000a9d0: 6f72 2064 6966 6665 7265 6e63 652e 0a70 or difference..p\n-0000a9e0: 6f69 6e74 2020 2020 2020 20e2 8098 2de2 oint ...-.\n-0000a9f0: 8099 2020 2020 2020 706f 696e 7420 2020 .. point \n-0000aa00: 2020 2020 7665 6374 6f72 2020 2020 2020 vector \n-0000aa10: 506f 696e 742d 706f 696e 7420 6166 6669 Point-point affi\n-0000aa20: 6e65 2064 6966 6665 7265 6e63 652e 0a70 ne difference..p\n-0000aa30: 6f69 6e74 2020 2020 2020 20e2 8098 2de2 oint ...-.\n-0000aa40: 8099 2020 2020 2020 7665 6374 6f72 2020 .. vector \n-0000aa50: 2020 2020 706f 696e 7420 2020 2020 2020 point \n-0000aa60: 506f 696e 742d 7665 6374 6f72 2061 6666 Point-vector aff\n-0000aa70: 696e 6520 6469 6666 6572 656e 6365 2e0a ine difference..\n-0000aa80: 7363 616c 6172 2020 2020 2020 e280 982a scalar ...*\n-0000aa90: e280 9920 6f72 2020 2073 6361 6c61 7220 ... or scalar \n-0000aaa0: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar \n-0000aab0: 2053 6361 6c61 7220 7072 6f64 7563 742e Scalar product.\n-0000aac0: 0a20 2020 2020 2020 2020 2020 20e2 8098 . ...\n-0000aad0: 2ee2 8099 0a73 6361 6c61 7220 2020 2020 .....scalar \n-0000aae0: 20e2 8098 2ae2 8099 206f 7220 2020 7665 ...*... or ve\n-0000aaf0: 6374 6f72 2020 2020 2020 7665 6374 6f72 ctor vector\n-0000ab00: 2020 2020 2020 5363 616c 6172 2d76 6563 Scalar-vec\n-0000ab10: 746f 7220 7072 6f64 7563 742e 0a20 2020 tor product.. \n-0000ab20: 2020 2020 2020 2020 20e2 8098 2ee2 8099 .......\n-0000ab30: 0a76 6563 746f 7220 2020 2020 20e2 8098 .vector ...\n-0000ab40: 2ae2 8099 206f 7220 2020 7363 616c 6172 *... or scalar\n-0000ab50: 2020 2020 2020 2220 2020 2020 2020 2020 \" \n-0000ab60: 2020 220a 2020 2020 2020 2020 2020 2020 \". \n-0000ab70: e280 982e e280 990a 7665 6374 6f72 2020 ........vector \n-0000ab80: 2020 2020 e280 982a e280 9920 2020 2020 ...*... \n-0000ab90: 2076 6563 746f 7220 2020 2020 2076 6563 vector vec\n-0000aba0: 746f 7220 2020 2020 2056 6563 746f 7220 tor Vector \n-0000abb0: 6372 6f73 732d 7072 6f64 7563 742e 0a76 cross-product..v\n-0000abc0: 6563 746f 7220 2020 2020 20e2 8098 2ee2 ector .....\n-0000abd0: 8099 2020 2020 2020 7665 6374 6f72 2020 .. vector \n-0000abe0: 2020 2020 7363 616c 6172 2020 2020 2020 scalar \n-0000abf0: 5665 6374 6f72 2064 6f74 2070 726f 6475 Vector dot produ\n-0000ac00: 6374 2e0a 7363 616c 6172 2020 2020 2020 ct..scalar \n-0000ac10: e280 985e e280 9920 2020 2020 2073 6361 ...^... sca\n-0000ac20: 6c61 7220 2020 2020 2073 6361 6c61 7220 lar scalar \n-0000ac30: 2020 2020 2052 6169 7365 2073 6361 6c61 Raise scala\n-0000ac40: 7220 746f 2073 6361 6c61 7220 706f 7765 r to scalar powe\n-0000ac50: 722e 0a74 7261 6e73 666f 726d 2020 20e2 r..transform .\n-0000ac60: 8098 5ee2 8099 2020 2020 2020 696e 7465 ..^... inte\n-0000ac70: 6765 7220 2020 2020 7472 616e 7366 6f72 ger transfor\n-0000ac80: 6d20 2020 5261 6973 6520 7472 616e 7366 m Raise transf\n-0000ac90: 6f72 6d20 746f 2069 6e74 6567 6572 2070 orm to integer p\n-0000aca0: 6f77 6572 2e0a 7472 616e 7366 6f72 6d20 ower..transform \n-0000acb0: 2020 e280 982a e280 9920 6f72 2020 2070 ...*... or p\n-0000acc0: 6f69 6e74 2020 2020 2020 2070 6f69 6e74 oint point\n-0000acd0: 2020 2020 2020 2041 6666 696e 6520 706f Affine po\n-0000ace0: 696e 7420 7472 616e 7366 6f72 6d20 2872 int transform (r\n-0000acf0: 6967 6874 2d74 6f2d 6c65 6674 292e 0a20 ight-to-left).. \n-0000ad00: 2020 2020 2020 2020 2020 20e2 8098 2ee2 .....\n-0000ad10: 8099 0a74 7261 6e73 666f 726d 2020 20e2 ...transform .\n-0000ad20: 8098 2ae2 8099 206f 7220 2020 7665 6374 ..*... or vect\n-0000ad30: 6f72 2020 2020 2020 7665 6374 6f72 2020 or vector \n-0000ad40: 2020 2020 4166 6669 6e65 2076 6563 746f Affine vecto\n-0000ad50: 7220 7472 616e 7366 6f72 6d20 2872 6967 r transform (rig\n-0000ad60: 6874 2d74 6f2d 6c65 6674 292e 0a20 2020 ht-to-left).. \n-0000ad70: 2020 2020 2020 2020 20e2 8098 2ee2 8099 .......\n-0000ad80: 0a74 7261 6e73 666f 726d 2020 20e2 8098 .transform ...\n-0000ad90: 2ae2 8099 206f 7220 2020 7472 616e 7366 *... or transf\n-0000ada0: 6f72 6d20 2020 7472 616e 7366 6f72 6d20 orm transform \n-0000adb0: 2020 5472 616e 7366 6f72 6d20 636f 6d70 Transform comp\n-0000adc0: 6f73 6974 696f 6e20 2872 6967 6874 2d74 osition (right-t\n-0000add0: 6f2d 6c65 6674 292e 0a20 2020 2020 2020 o-left).. \n-0000ade0: 2020 2020 20e2 8098 2ee2 8099 0a70 6f69 ........poi\n-0000adf0: 6e74 2020 2020 2020 20e2 8098 7468 656e nt ...then\n-0000ae00: e280 9920 2020 7472 616e 7366 6f72 6d20 ... transform \n-0000ae10: 2020 706f 696e 7420 2020 2020 2020 4166 point Af\n-0000ae20: 6669 6e65 2070 6f69 6e74 2074 7261 6e73 fine point trans\n-0000ae30: 666f 726d 2028 6c65 6674 2d74 6f2d 7269 form (left-to-ri\n-0000ae40: 6768 7429 2e0a 7665 6374 6f72 2020 2020 ght)..vector \n-0000ae50: 2020 e280 9874 6865 6ee2 8099 2020 2074 ...then... t\n-0000ae60: 7261 6e73 666f 726d 2020 2076 6563 746f ransform vecto\n-0000ae70: 7220 2020 2020 2041 6666 696e 6520 7665 r Affine ve\n-0000ae80: 6374 6f72 2074 7261 6e73 666f 726d 2028 ctor transform (\n-0000ae90: 6c65 6674 2d74 6f2d 7269 6768 7429 2e0a left-to-right)..\n-0000aea0: 7472 616e 7366 6f72 6d20 2020 e280 9874 transform ...t\n-0000aeb0: 6865 6ee2 8099 2020 2074 7261 6e73 666f hen... transfo\n-0000aec0: 726d 2020 2074 7261 6e73 666f 726d 2020 rm transform \n-0000aed0: 2054 7261 6e73 666f 726d 2063 6f6d 706f Transform compo\n-0000aee0: 7369 7469 6f6e 2028 6c65 6674 2d74 6f2d sition (left-to-\n-0000aef0: 7269 6768 7429 2e0a 7363 616c 6172 2020 right)..scalar \n-0000af00: 2020 2020 e280 982f e280 9920 2020 2020 .../... \n-0000af10: 2073 6361 6c61 7220 2020 2020 2073 6361 scalar sca\n-0000af20: 6c61 7220 2020 2020 2053 6361 6c61 7220 lar Scalar \n-0000af30: 6469 7669 7369 6f6e 2e0a 7665 6374 6f72 division..vector\n-0000af40: 2020 2020 2020 e280 982f e280 9920 2020 .../... \n-0000af50: 2020 2073 6361 6c61 7220 2020 2020 2076 scalar v\n-0000af60: 6563 746f 7220 2020 2020 2056 6563 746f ector Vecto\n-0000af70: 7220 636f 6d70 6f6e 656e 742d 7769 7365 r component-wise\n-0000af80: 2064 6976 6973 696f 6e20 6279 2073 6361 division by sca\n-0000af90: 6c61 722e 0a70 6f69 6e74 2020 2020 2020 lar..point \n-0000afa0: 20e2 8098 27e2 8099 2020 2020 2020 e280 ...'... ..\n-0000afb0: 9878 e280 992c 20e2 8098 79e2 8099 2c20 .x..., ...y..., \n-0000afc0: 2020 7363 616c 6172 2020 2020 2020 506f scalar Po\n-0000afd0: 696e 7420 636f 6d70 6f6e 656e 7420 6578 int component ex\n-0000afe0: 7472 6163 7469 6f6e 2e0a 2020 2020 2020 traction.. \n-0000aff0: 2020 2020 2020 2020 2020 2020 2020 206f o\n-0000b000: 7220 e280 987a e280 990a 7665 6374 6f72 r ...z....vector\n-0000b010: 2020 2020 2020 e280 9827 e280 9920 2020 ...'... \n-0000b020: 2020 20e2 8098 78e2 8099 2c20 e280 9879 ...x..., ...y\n-0000b030: e280 992c 2020 2073 6361 6c61 7220 2020 ..., scalar \n-0000b040: 2020 2056 6563 746f 7220 636f 6d70 6f6e Vector compon\n-0000b050: 656e 7420 6578 7472 6163 7469 6f6e 2e0a ent extraction..\n-0000b060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000b070: 2020 2020 206f 7220 e280 987a e280 990a or ...z....\n-0000b080: 0a4f 7065 7261 746f 7220 7072 6563 6564 .Operator preced\n-0000b090: 656e 6365 2069 7320 7368 6f77 6e20 696e ence is shown in\n-0000b0a0: 2074 6869 7320 7461 626c 652e 0a4f 7020 this table..Op \n-0000b0b0: 2020 2020 2020 5072 6563 6564 656e 6365 Precedence\n-0000b0c0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+0000a850: 2d2d 2d2d 2d2d 2d2d 2d0a 7363 616c 6172 ---------.scalar\n+0000a860: 2020 2020 2020 e280 982b e280 9920 2020 ...+... \n+0000a870: 2020 2073 6361 6c61 7220 2020 2020 2073 scalar s\n+0000a880: 6361 6c61 7220 2020 2020 2053 6361 6c61 calar Scala\n+0000a890: 7220 7375 6d2e 0a76 6563 746f 7220 2020 r sum..vector \n+0000a8a0: 2020 20e2 8098 2be2 8099 2020 2020 2020 ...+... \n+0000a8b0: 7665 6374 6f72 2020 2020 2020 7665 6374 vector vect\n+0000a8c0: 6f72 2020 2020 2020 5665 6374 6f72 2073 or Vector s\n+0000a8d0: 756d 2e0a 706f 696e 7420 2020 2020 2020 um..point \n+0000a8e0: e280 982b e280 9920 2020 2020 2076 6563 ...+... vec\n+0000a8f0: 746f 7220 2020 2020 2070 6f69 6e74 2020 tor point \n+0000a900: 2020 2020 2050 6f69 6e74 2d76 6563 746f Point-vecto\n+0000a910: 7220 6166 6669 6e65 2073 756d 2e0a 7665 r affine sum..ve\n+0000a920: 6374 6f72 2020 2020 2020 e280 982b e280 ctor ...+..\n+0000a930: 9920 2020 2020 2070 6f69 6e74 2020 2020 . point \n+0000a940: 2020 2022 2020 2020 2020 2020 2020 2022 \" \"\n+0000a950: 0a73 6361 6c61 7220 2020 2020 20e2 8098 .scalar ...\n+0000a960: 2de2 8099 2020 2020 2020 7363 616c 6172 -... scalar\n+0000a970: 2020 2020 2020 7363 616c 6172 2020 2020 scalar \n+0000a980: 2020 5363 616c 6172 2064 6966 6665 7265 Scalar differe\n+0000a990: 6e63 652e 0a76 6563 746f 7220 2020 2020 nce..vector \n+0000a9a0: 20e2 8098 2de2 8099 2020 2020 2020 7665 ...-... ve\n+0000a9b0: 6374 6f72 2020 2020 2020 7665 6374 6f72 ctor vector\n+0000a9c0: 2020 2020 2020 5665 6374 6f72 2064 6966 Vector dif\n+0000a9d0: 6665 7265 6e63 652e 0a70 6f69 6e74 2020 ference..point \n+0000a9e0: 2020 2020 20e2 8098 2de2 8099 2020 2020 ...-... \n+0000a9f0: 2020 706f 696e 7420 2020 2020 2020 7665 point ve\n+0000aa00: 6374 6f72 2020 2020 2020 506f 696e 742d ctor Point-\n+0000aa10: 706f 696e 7420 6166 6669 6e65 2064 6966 point affine dif\n+0000aa20: 6665 7265 6e63 652e 0a70 6f69 6e74 2020 ference..point \n+0000aa30: 2020 2020 20e2 8098 2de2 8099 2020 2020 ...-... \n+0000aa40: 2020 7665 6374 6f72 2020 2020 2020 706f vector po\n+0000aa50: 696e 7420 2020 2020 2020 506f 696e 742d int Point-\n+0000aa60: 7665 6374 6f72 2061 6666 696e 6520 6469 vector affine di\n+0000aa70: 6666 6572 656e 6365 2e0a 7363 616c 6172 fference..scalar\n+0000aa80: 2020 2020 2020 e280 982a e280 9920 6f72 ...*... or\n+0000aa90: 2020 2073 6361 6c61 7220 2020 2020 2073 scalar s\n+0000aaa0: 6361 6c61 7220 2020 2020 2053 6361 6c61 calar Scala\n+0000aab0: 7220 7072 6f64 7563 742e 0a20 2020 2020 r product.. \n+0000aac0: 2020 2020 2020 20e2 8098 2ee2 8099 0a73 ........s\n+0000aad0: 6361 6c61 7220 2020 2020 20e2 8098 2ae2 calar ...*.\n+0000aae0: 8099 206f 7220 2020 7665 6374 6f72 2020 .. or vector \n+0000aaf0: 2020 2020 7665 6374 6f72 2020 2020 2020 vector \n+0000ab00: 5363 616c 6172 2d76 6563 746f 7220 7072 Scalar-vector pr\n+0000ab10: 6f64 7563 742e 0a20 2020 2020 2020 2020 oduct.. \n+0000ab20: 2020 20e2 8098 2ee2 8099 0a76 6563 746f ........vecto\n+0000ab30: 7220 2020 2020 20e2 8098 2ae2 8099 206f r ...*... o\n+0000ab40: 7220 2020 7363 616c 6172 2020 2020 2020 r scalar \n+0000ab50: 2220 2020 2020 2020 2020 2020 220a 2020 \" \". \n+0000ab60: 2020 2020 2020 2020 2020 e280 982e e280 ......\n+0000ab70: 990a 7665 6374 6f72 2020 2020 2020 e280 ..vector ..\n+0000ab80: 982a e280 9920 2020 2020 2076 6563 746f .*... vecto\n+0000ab90: 7220 2020 2020 2076 6563 746f 7220 2020 r vector \n+0000aba0: 2020 2056 6563 746f 7220 6372 6f73 732d Vector cross-\n+0000abb0: 7072 6f64 7563 742e 0a76 6563 746f 7220 product..vector \n+0000abc0: 2020 2020 20e2 8098 2ee2 8099 2020 2020 ....... \n+0000abd0: 2020 7665 6374 6f72 2020 2020 2020 7363 vector sc\n+0000abe0: 616c 6172 2020 2020 2020 5665 6374 6f72 alar Vector\n+0000abf0: 2064 6f74 2070 726f 6475 6374 2e0a 7363 dot product..sc\n+0000ac00: 616c 6172 2020 2020 2020 e280 985e e280 alar ...^..\n+0000ac10: 9920 2020 2020 2073 6361 6c61 7220 2020 . scalar \n+0000ac20: 2020 2073 6361 6c61 7220 2020 2020 2052 scalar R\n+0000ac30: 6169 7365 2073 6361 6c61 7220 746f 2073 aise scalar to s\n+0000ac40: 6361 6c61 7220 706f 7765 722e 0a74 7261 calar power..tra\n+0000ac50: 6e73 666f 726d 2020 20e2 8098 5ee2 8099 nsform ...^...\n+0000ac60: 2020 2020 2020 696e 7465 6765 7220 2020 integer \n+0000ac70: 2020 7472 616e 7366 6f72 6d20 2020 5261 transform Ra\n+0000ac80: 6973 6520 7472 616e 7366 6f72 6d20 746f ise transform to\n+0000ac90: 2069 6e74 6567 6572 2070 6f77 6572 2e0a integer power..\n+0000aca0: 7472 616e 7366 6f72 6d20 2020 e280 982a transform ...*\n+0000acb0: e280 9920 6f72 2020 2070 6f69 6e74 2020 ... or point \n+0000acc0: 2020 2020 2070 6f69 6e74 2020 2020 2020 point \n+0000acd0: 2041 6666 696e 6520 706f 696e 7420 7472 Affine point tr\n+0000ace0: 616e 7366 6f72 6d20 2872 6967 6874 2d74 ansform (right-t\n+0000acf0: 6f2d 6c65 6674 292e 0a20 2020 2020 2020 o-left).. \n+0000ad00: 2020 2020 20e2 8098 2ee2 8099 0a74 7261 ........tra\n+0000ad10: 6e73 666f 726d 2020 20e2 8098 2ae2 8099 nsform ...*...\n+0000ad20: 206f 7220 2020 7665 6374 6f72 2020 2020 or vector \n+0000ad30: 2020 7665 6374 6f72 2020 2020 2020 4166 vector Af\n+0000ad40: 6669 6e65 2076 6563 746f 7220 7472 616e fine vector tran\n+0000ad50: 7366 6f72 6d20 2872 6967 6874 2d74 6f2d sform (right-to-\n+0000ad60: 6c65 6674 292e 0a20 2020 2020 2020 2020 left).. \n+0000ad70: 2020 20e2 8098 2ee2 8099 0a74 7261 6e73 ........trans\n+0000ad80: 666f 726d 2020 20e2 8098 2ae2 8099 206f form ...*... o\n+0000ad90: 7220 2020 7472 616e 7366 6f72 6d20 2020 r transform \n+0000ada0: 7472 616e 7366 6f72 6d20 2020 5472 616e transform Tran\n+0000adb0: 7366 6f72 6d20 636f 6d70 6f73 6974 696f sform compositio\n+0000adc0: 6e20 2872 6967 6874 2d74 6f2d 6c65 6674 n (right-to-left\n+0000add0: 292e 0a20 2020 2020 2020 2020 2020 20e2 ).. .\n+0000ade0: 8098 2ee2 8099 0a70 6f69 6e74 2020 2020 .......point \n+0000adf0: 2020 20e2 8098 7468 656e e280 9920 2020 ...then... \n+0000ae00: 7472 616e 7366 6f72 6d20 2020 706f 696e transform poin\n+0000ae10: 7420 2020 2020 2020 4166 6669 6e65 2070 t Affine p\n+0000ae20: 6f69 6e74 2074 7261 6e73 666f 726d 2028 oint transform (\n+0000ae30: 6c65 6674 2d74 6f2d 7269 6768 7429 2e0a left-to-right)..\n+0000ae40: 7665 6374 6f72 2020 2020 2020 e280 9874 vector ...t\n+0000ae50: 6865 6ee2 8099 2020 2074 7261 6e73 666f hen... transfo\n+0000ae60: 726d 2020 2076 6563 746f 7220 2020 2020 rm vector \n+0000ae70: 2041 6666 696e 6520 7665 6374 6f72 2074 Affine vector t\n+0000ae80: 7261 6e73 666f 726d 2028 6c65 6674 2d74 ransform (left-t\n+0000ae90: 6f2d 7269 6768 7429 2e0a 7472 616e 7366 o-right)..transf\n+0000aea0: 6f72 6d20 2020 e280 9874 6865 6ee2 8099 orm ...then...\n+0000aeb0: 2020 2074 7261 6e73 666f 726d 2020 2074 transform t\n+0000aec0: 7261 6e73 666f 726d 2020 2054 7261 6e73 ransform Trans\n+0000aed0: 666f 726d 2063 6f6d 706f 7369 7469 6f6e form composition\n+0000aee0: 2028 6c65 6674 2d74 6f2d 7269 6768 7429 (left-to-right)\n+0000aef0: 2e0a 7363 616c 6172 2020 2020 2020 e280 ..scalar ..\n+0000af00: 982f e280 9920 2020 2020 2073 6361 6c61 ./... scala\n+0000af10: 7220 2020 2020 2073 6361 6c61 7220 2020 r scalar \n+0000af20: 2020 2053 6361 6c61 7220 6469 7669 7369 Scalar divisi\n+0000af30: 6f6e 2e0a 7665 6374 6f72 2020 2020 2020 on..vector \n+0000af40: e280 982f e280 9920 2020 2020 2073 6361 .../... sca\n+0000af50: 6c61 7220 2020 2020 2076 6563 746f 7220 lar vector \n+0000af60: 2020 2020 2056 6563 746f 7220 636f 6d70 Vector comp\n+0000af70: 6f6e 656e 742d 7769 7365 2064 6976 6973 onent-wise divis\n+0000af80: 696f 6e20 6279 2073 6361 6c61 722e 0a70 ion by scalar..p\n+0000af90: 6f69 6e74 2020 2020 2020 20e2 8098 27e2 oint ...'.\n+0000afa0: 8099 2020 2020 2020 e280 9878 e280 992c .. ...x...,\n+0000afb0: 20e2 8098 79e2 8099 2c20 2020 7363 616c ...y..., scal\n+0000afc0: 6172 2020 2020 2020 506f 696e 7420 636f ar Point co\n+0000afd0: 6d70 6f6e 656e 7420 6578 7472 6163 7469 mponent extracti\n+0000afe0: 6f6e 2e0a 2020 2020 2020 2020 2020 2020 on.. \n+0000aff0: 2020 2020 2020 2020 206f 7220 e280 987a or ...z\n+0000b000: e280 990a 7665 6374 6f72 2020 2020 2020 ....vector \n+0000b010: e280 9827 e280 9920 2020 2020 20e2 8098 ...'... ...\n+0000b020: 78e2 8099 2c20 e280 9879 e280 992c 2020 x..., ...y..., \n+0000b030: 2073 6361 6c61 7220 2020 2020 2056 6563 scalar Vec\n+0000b040: 746f 7220 636f 6d70 6f6e 656e 7420 6578 tor component ex\n+0000b050: 7472 6163 7469 6f6e 2e0a 2020 2020 2020 traction.. \n+0000b060: 2020 2020 2020 2020 2020 2020 2020 206f o\n+0000b070: 7220 e280 987a e280 990a 0a4f 7065 7261 r ...z.....Opera\n+0000b080: 746f 7220 7072 6563 6564 656e 6365 2069 tor precedence i\n+0000b090: 7320 7368 6f77 6e20 696e 2074 6869 7320 s shown in this \n+0000b0a0: 7461 626c 652e 0a4f 7020 2020 2020 2020 table..Op \n+0000b0b0: 5072 6563 6564 656e 6365 0a2d 2d2d 2d2d Precedence.-----\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 2d2d 2d2d 2d0a e280 9827 -----------....'\n-0000b0f0: e280 9920 2020 2020 2068 6967 6865 7374 ... highest\n-0000b100: 2028 6d6f 7374 2074 6967 6874 6c79 2062 (most tightly b\n-0000b110: 696e 6469 6e67 290a e280 985e e280 990a inding)....^....\n-0000b120: e280 982d e280 9920 2020 2020 2028 756e ...-... (un\n-0000b130: 6172 7920 6e65 6761 7469 6f6e 290a e280 ary negation)...\n-0000b140: 982a e280 990a e280 982e e280 990a e280 .*..............\n-0000b150: 982f e280 990a e280 982b e280 990a e280 ./.......+......\n-0000b160: 982d e280 990a e280 9874 6865 6ee2 8099 .-.......then...\n-0000b170: 2020 206c 6f77 6573 7420 286c 6561 7374 lowest (least\n-0000b180: 2074 6967 6874 6c79 2062 696e 6469 6e67 tightly binding\n-0000b190: 290a 0a41 6c6c 206f 7065 7261 7469 6f6e )..All operation\n-0000b1a0: 7320 6172 6520 6c65 6674 2d61 7373 6f63 s are left-assoc\n-0000b1b0: 6961 7469 7665 2065 7863 6570 7420 666f iative except fo\n-0000b1c0: 7220 e280 985e e280 992e 2020 5061 7265 r ...^.... Pare\n-0000b1d0: 6e74 6865 7365 7320 e280 9828 2029 e280 ntheses ...( )..\n-0000b1e0: 990a 6172 6520 7573 6564 2066 6f72 2067 ..are used for g\n-0000b1f0: 726f 7570 696e 6720 746f 206f 7665 7272 rouping to overr\n-0000b200: 6964 6520 7072 6563 6564 656e 6365 2069 ide precedence i\n-0000b210: 6e20 7468 6520 7573 7561 6c20 7761 792e n the usual way.\n-0000b220: 0a0a 2020 2041 7320 796f 7520 6361 6e20 .. As you can \n-0000b230: 7365 652c 2074 6865 2064 6f74 206f 7065 see, the dot ope\n-0000b240: 7261 746f 7220 e280 982e e280 9920 6973 rator ....... is\n-0000b250: 2075 7375 616c 6c79 2061 2073 796e 6f6e usually a synon\n-0000b260: 796d 2066 6f72 0a72 756e 2d6f 662d 7468 ym for.run-of-th\n-0000b270: 652d 6d69 6c6c 206d 756c 7469 706c 6963 e-mill multiplic\n-0000b280: 6174 696f 6e2c 20e2 8098 2ae2 8099 2e20 ation, ...*.... \n-0000b290: 2054 6865 206d 6561 6e69 6e67 7320 6469 The meanings di\n-0000b2a0: 6666 6572 206f 6e6c 7920 666f 720a 7665 ffer only for.ve\n-0000b2b0: 6374 6f72 206f 7065 7261 6e64 732e 2020 ctor operands. \n-0000b2c0: 5468 6520 e280 9874 6865 6ee2 8099 206f The ...then... o\n-0000b2d0: 7065 7261 746f 7220 6d65 7265 6c79 2072 perator merely r\n-0000b2e0: 6576 6572 7365 7320 7468 6520 6f70 6572 everses the oper\n-0000b2f0: 616e 6420 6f72 6465 720a 7769 7468 2072 and order.with r\n-0000b300: 6573 7065 6374 2074 6f20 6e6f 726d 616c espect to normal\n-0000b310: 206d 756c 7469 706c 6963 6174 696f 6e20 multiplication \n-0000b320: e280 982a e280 992e 2020 5468 6520 696e ...*.... The in\n-0000b330: 7465 6e74 2068 6572 6520 6973 2074 6f20 tent here is to \n-0000b340: 6d61 6b65 0a63 6f6d 706f 7369 7469 6f6e make.composition\n-0000b350: 7320 7265 6164 206d 6f72 6520 6e61 7475 s read more natu\n-0000b360: 7261 6c6c 792e 2020 5468 6520 636f 6465 rally. The code\n-0000b370: 0a20 2020 2020 2831 2c32 2c33 2920 7468 . (1,2,3) th\n-0000b380: 656e 2073 6361 6c65 2832 2920 7468 656e en scale(2) then\n-0000b390: 2072 6f74 6174 6528 3330 2920 7468 656e rotate(30) then\n-0000b3a0: 2074 7261 6e73 6c61 7465 285b 312c 332c translate([1,3,\n-0000b3b0: 305d 290a 6578 7072 6573 7365 7320 6120 0]).expresses a \n-0000b3c0: 7365 7269 6573 206f 6620 7375 6363 6573 series of succes\n-0000b3d0: 7369 7665 206d 6f64 6966 6963 6174 696f sive modificatio\n-0000b3e0: 6e73 2074 6f20 7468 6520 706f 696e 742c ns to the point,\n-0000b3f0: 2077 6865 7265 6173 2074 6865 0a65 7175 whereas the.equ\n-0000b400: 6976 616c 656e 7420 666f 726d 0a20 2020 ivalent form. \n-0000b410: 2020 7472 616e 736c 6174 6528 5b31 2c33 translate([1,3\n-0000b420: 2c30 5d29 202a 2072 6f74 6174 6528 3330 ,0]) * rotate(30\n-0000b430: 2920 2a20 7363 616c 6528 3229 202a 2028 ) * scale(2) * (\n-0000b440: 312c 322c 3329 0a77 696c 6c20 6265 2069 1,2,3).will be i\n-0000b450: 6e74 7569 7469 7665 206f 6e6c 7920 746f ntuitive only to\n-0000b460: 206d 6174 6865 6d61 7469 6369 616e 7320 mathematicians \n-0000b470: 2861 6e64 2070 6572 6861 7073 2041 7261 (and perhaps Ara\n-0000b480: 6269 6320 6c61 6e67 7561 6765 0a72 6561 bic language.rea\n-0000b490: 6465 7273 292e 0a0a 1f0a 4669 6c65 3a20 ders).....File: \n-0000b4a0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-0000b4b0: 6465 3a20 556e 6172 7920 666f 726d 732c de: Unary forms,\n-0000b4c0: 2020 5072 6576 3a20 5477 6f2d 6f70 6572 Prev: Two-oper\n-0000b4d0: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for\n-0000b4e0: 6d73 2c20 2055 703a 2041 7269 7468 6d65 ms, Up: Arithme\n-0000b4f0: 7469 630a 0a33 2e31 2e34 2e32 2055 6e61 tic..3.1.4.2 Una\n-0000b500: 7279 2066 6f72 6d73 0a2e 2e2e 2e2e 2e2e ry forms........\n-0000b510: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 556e ..............Un\n-0000b520: 6172 7920 6f72 206f 6e65 2d6f 7065 7261 ary or one-opera\n-0000b530: 6e64 2066 6f72 6d73 2061 7265 2073 756d nd forms are sum\n-0000b540: 6d61 7269 7a65 6420 696e 2074 6865 2066 marized in the f\n-0000b550: 6f6c 6c6f 7769 6e67 2074 6162 6c65 2c20 ollowing table, \n-0000b560: 7768 6572 650a e280 9858 e280 9920 7374 where....X... st\n-0000b570: 616e 6473 2066 6f72 2074 6865 206f 7065 ands for the ope\n-0000b580: 7261 6e64 2e0a 4f70 2020 2020 2020 2020 rand..Op \n-0000b590: 2020 2020 204f 7065 7261 6e64 2020 2020 Operand \n-0000b5a0: 2052 6573 756c 7420 2020 2020 2044 6573 Result Des\n-0000b5b0: 6372 6970 7469 6f6e 0a2d 2d2d 2d2d 2d2d cription.-------\n+0000b0e0: 2d2d 2d2d 2d0a e280 9827 e280 9920 2020 -----....'... \n+0000b0f0: 2020 2068 6967 6865 7374 2028 6d6f 7374 highest (most\n+0000b100: 2074 6967 6874 6c79 2062 696e 6469 6e67 tightly binding\n+0000b110: 290a e280 985e e280 990a e280 982d e280 )....^.......-..\n+0000b120: 9920 2020 2020 2028 756e 6172 7920 6e65 . (unary ne\n+0000b130: 6761 7469 6f6e 290a e280 982a e280 990a gation)....*....\n+0000b140: e280 982e e280 990a e280 982f e280 990a .........../....\n+0000b150: e280 982b e280 990a e280 982d e280 990a ...+.......-....\n+0000b160: e280 9874 6865 6ee2 8099 2020 206c 6f77 ...then... low\n+0000b170: 6573 7420 286c 6561 7374 2074 6967 6874 est (least tight\n+0000b180: 6c79 2062 696e 6469 6e67 290a 0a41 6c6c ly binding)..All\n+0000b190: 206f 7065 7261 7469 6f6e 7320 6172 6520 operations are \n+0000b1a0: 6c65 6674 2d61 7373 6f63 6961 7469 7665 left-associative\n+0000b1b0: 2065 7863 6570 7420 666f 7220 e280 985e except for ...^\n+0000b1c0: e280 992e 2020 5061 7265 6e74 6865 7365 .... Parenthese\n+0000b1d0: 7320 e280 9828 2029 e280 990a 6172 6520 s ...( )....are \n+0000b1e0: 7573 6564 2066 6f72 2067 726f 7570 696e used for groupin\n+0000b1f0: 6720 746f 206f 7665 7272 6964 6520 7072 g to override pr\n+0000b200: 6563 6564 656e 6365 2069 6e20 7468 6520 ecedence in the \n+0000b210: 7573 7561 6c20 7761 792e 0a0a 2020 2041 usual way... A\n+0000b220: 7320 796f 7520 6361 6e20 7365 652c 2074 s you can see, t\n+0000b230: 6865 2064 6f74 206f 7065 7261 746f 7220 he dot operator \n+0000b240: e280 982e e280 9920 6973 2075 7375 616c ....... is usual\n+0000b250: 6c79 2061 2073 796e 6f6e 796d 2066 6f72 ly a synonym for\n+0000b260: 0a72 756e 2d6f 662d 7468 652d 6d69 6c6c .run-of-the-mill\n+0000b270: 206d 756c 7469 706c 6963 6174 696f 6e2c multiplication,\n+0000b280: 20e2 8098 2ae2 8099 2e20 2054 6865 206d ...*.... The m\n+0000b290: 6561 6e69 6e67 7320 6469 6666 6572 206f eanings differ o\n+0000b2a0: 6e6c 7920 666f 720a 7665 6374 6f72 206f nly for.vector o\n+0000b2b0: 7065 7261 6e64 732e 2020 5468 6520 e280 perands. The ..\n+0000b2c0: 9874 6865 6ee2 8099 206f 7065 7261 746f .then... operato\n+0000b2d0: 7220 6d65 7265 6c79 2072 6576 6572 7365 r merely reverse\n+0000b2e0: 7320 7468 6520 6f70 6572 616e 6420 6f72 s the operand or\n+0000b2f0: 6465 720a 7769 7468 2072 6573 7065 6374 der.with respect\n+0000b300: 2074 6f20 6e6f 726d 616c 206d 756c 7469 to normal multi\n+0000b310: 706c 6963 6174 696f 6e20 e280 982a e280 plication ...*..\n+0000b320: 992e 2020 5468 6520 696e 7465 6e74 2068 .. The intent h\n+0000b330: 6572 6520 6973 2074 6f20 6d61 6b65 0a63 ere is to make.c\n+0000b340: 6f6d 706f 7369 7469 6f6e 7320 7265 6164 ompositions read\n+0000b350: 206d 6f72 6520 6e61 7475 7261 6c6c 792e more naturally.\n+0000b360: 2020 5468 6520 636f 6465 0a20 2020 2020 The code. \n+0000b370: 2831 2c32 2c33 2920 7468 656e 2073 6361 (1,2,3) then sca\n+0000b380: 6c65 2832 2920 7468 656e 2072 6f74 6174 le(2) then rotat\n+0000b390: 6528 3330 2920 7468 656e 2074 7261 6e73 e(30) then trans\n+0000b3a0: 6c61 7465 285b 312c 332c 305d 290a 6578 late([1,3,0]).ex\n+0000b3b0: 7072 6573 7365 7320 6120 7365 7269 6573 presses a series\n+0000b3c0: 206f 6620 7375 6363 6573 7369 7665 206d of successive m\n+0000b3d0: 6f64 6966 6963 6174 696f 6e73 2074 6f20 odifications to \n+0000b3e0: 7468 6520 706f 696e 742c 2077 6865 7265 the point, where\n+0000b3f0: 6173 2074 6865 0a65 7175 6976 616c 656e as the.equivalen\n+0000b400: 7420 666f 726d 0a20 2020 2020 7472 616e t form. tran\n+0000b410: 736c 6174 6528 5b31 2c33 2c30 5d29 202a slate([1,3,0]) *\n+0000b420: 2072 6f74 6174 6528 3330 2920 2a20 7363 rotate(30) * sc\n+0000b430: 616c 6528 3229 202a 2028 312c 322c 3329 ale(2) * (1,2,3)\n+0000b440: 0a77 696c 6c20 6265 2069 6e74 7569 7469 .will be intuiti\n+0000b450: 7665 206f 6e6c 7920 746f 206d 6174 6865 ve only to mathe\n+0000b460: 6d61 7469 6369 616e 7320 2861 6e64 2070 maticians (and p\n+0000b470: 6572 6861 7073 2041 7261 6269 6320 6c61 erhaps Arabic la\n+0000b480: 6e67 7561 6765 0a72 6561 6465 7273 292e nguage.readers).\n+0000b490: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+0000b4a0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 556e .info, Node: Un\n+0000b4b0: 6172 7920 666f 726d 732c 2020 5072 6576 ary forms, Prev\n+0000b4c0: 3a20 5477 6f2d 6f70 6572 616e 6420 2862 : Two-operand (b\n+0000b4d0: 696e 6172 7929 2066 6f72 6d73 2c20 2055 inary) forms, U\n+0000b4e0: 703a 2041 7269 7468 6d65 7469 630a 0a33 p: Arithmetic..3\n+0000b4f0: 2e31 2e34 2e32 2055 6e61 7279 2066 6f72 .1.4.2 Unary for\n+0000b500: 6d73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ms..............\n+0000b510: 2e2e 2e2e 2e2e 0a0a 556e 6172 7920 6f72 ........Unary or\n+0000b520: 206f 6e65 2d6f 7065 7261 6e64 2066 6f72 one-operand for\n+0000b530: 6d73 2061 7265 2073 756d 6d61 7269 7a65 ms are summarize\n+0000b540: 6420 696e 2074 6865 2066 6f6c 6c6f 7769 d in the followi\n+0000b550: 6e67 2074 6162 6c65 2c20 7768 6572 650a ng table, where.\n+0000b560: e280 9858 e280 9920 7374 616e 6473 2066 ...X... stands f\n+0000b570: 6f72 2074 6865 206f 7065 7261 6e64 2e0a or the operand..\n+0000b580: 4f70 2020 2020 2020 2020 2020 2020 204f Op O\n+0000b590: 7065 7261 6e64 2020 2020 2052 6573 756c perand Resul\n+0000b5a0: 7420 2020 2020 2044 6573 6372 6970 7469 t Descripti\n+0000b5b0: 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d on.-------------\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 2d2d 2d2d 2d0a e280 -------------...\n-0000b610: 982d 58e2 8099 2020 2020 2020 2020 2020 .-X... \n-0000b620: 2073 6361 6c61 7220 2020 2020 2073 6361 scalar sca\n-0000b630: 6c61 7220 2020 2020 2055 6e61 7279 2073 lar Unary s\n-0000b640: 6361 6c61 7220 6e65 6761 7469 6f6e 2e0a calar negation..\n-0000b650: e280 982d 58e2 8099 2020 2020 2020 2020 ...-X... \n-0000b660: 2020 2076 6563 746f 7220 2020 2020 2076 vector v\n-0000b670: 6563 746f 7220 2020 2020 2055 6e61 7279 ector Unary\n-0000b680: 2076 6563 746f 7220 6e65 6761 7469 6f6e vector negation\n-0000b690: 2e0a e280 987c 587c e280 9920 2020 2020 .....|X|... \n-0000b6a0: 2020 2020 2076 6563 746f 7220 2020 2020 vector \n-0000b6b0: 2073 6361 6c61 7220 2020 2020 2056 6563 scalar Vec\n-0000b6c0: 746f 7220 6c65 6e67 7468 2e0a e280 9875 tor length.....u\n-0000b6d0: 6e69 7428 5829 e280 9920 2020 2020 2076 nit(X)... v\n-0000b6e0: 6563 746f 7220 2020 2020 2076 6563 746f ector vecto\n-0000b6f0: 7220 2020 2020 2055 6e69 7420 7665 6374 r Unit vect\n-0000b700: 6f72 2077 6974 6820 7361 6d65 2064 6972 or with same dir\n-0000b710: 6563 7469 6f6e 2e0a e280 9873 7172 7428 ection.....sqrt(\n-0000b720: 5829 e280 9920 2020 2020 2073 6361 6c61 X)... scala\n-0000b730: 7220 2020 2020 2073 6361 6c61 7220 2020 r scalar \n-0000b740: 2020 2053 6361 6c61 7220 7371 7561 7265 Scalar square\n-0000b750: 2072 6f6f 742e 0ae2 8098 7369 6e28 5829 root.....sin(X)\n-0000b760: e280 9920 2020 2020 2020 7363 616c 6172 ... scalar\n-0000b770: 2020 2020 2020 7363 616c 6172 2020 2020 scalar \n-0000b780: 2020 5472 6967 6f6e 6f6d 6574 7269 6320 Trigonometric \n-0000b790: 7369 6e65 2028 e280 9858 e280 9920 696e sine (...X... in\n-0000b7a0: 2064 6567 7265 6573 292e 0ae2 8098 636f degrees).....co\n-0000b7b0: 7328 5829 e280 9920 2020 2020 2020 7363 s(X)... sc\n-0000b7c0: 616c 6172 2020 2020 2020 7363 616c 6172 alar scalar\n-0000b7d0: 2020 2020 2020 5472 6967 6f6e 6f6d 6574 Trigonomet\n-0000b7e0: 7269 6320 636f 7369 6e65 2028 e280 9858 ric cosine (...X\n-0000b7f0: e280 9920 696e 2064 6567 7265 6573 292e ... in degrees).\n-0000b800: 0ae2 8098 6173 696e 2858 29e2 8099 2020 ....asin(X)... \n-0000b810: 2020 2020 7363 616c 6172 2020 2020 2020 scalar \n-0000b820: 7363 616c 6172 2020 2020 2020 496e 7665 scalar Inve\n-0000b830: 7273 6520 7369 6e65 2028 e280 9858 e280 rse sine (...X..\n-0000b840: 9920 696e 2064 6567 7265 6573 292e 0ae2 . in degrees)...\n-0000b850: 8098 6163 6f73 2858 29e2 8099 2020 2020 ..acos(X)... \n-0000b860: 2020 7363 616c 6172 2020 2020 2020 7363 scalar sc\n-0000b870: 616c 6172 2020 2020 2020 496e 7665 7273 alar Invers\n-0000b880: 6520 636f 7369 6e65 2028 e280 9858 e280 e cosine (...X..\n-0000b890: 9920 696e 2064 6567 7265 6573 292e 0ae2 . in degrees)...\n-0000b8a0: 8098 6174 616e 3228 582c 5929 e280 9920 ..atan2(X,Y)... \n-0000b8b0: 2020 7363 616c 6172 2020 2020 2020 7363 scalar sc\n-0000b8c0: 616c 6172 2020 2020 2020 506f 6c61 7220 alar Polar \n-0000b8d0: 616e 676c 6520 696e 2064 6567 7265 6573 angle in degrees\n-0000b8e0: 206f 6620 7665 6374 6f72 205b 582c 595d of vector [X,Y]\n-0000b8f0: 2e0a e280 9869 6e76 6572 7365 2858 29e2 .....inverse(X).\n-0000b900: 8099 2020 2074 7261 6e73 666f 726d 2020 .. transform \n-0000b910: 2074 7261 6e73 666f 726d 2020 2049 6e76 transform Inv\n-0000b920: 6572 7365 2074 7261 6e73 666f 726d 2e0a erse transform..\n-0000b930: 0a45 7272 6f72 7320 6172 6520 7265 706f .Errors are repo\n-0000b940: 7274 6564 2077 6865 6e20 e280 987c 587c rted when ...|X|\n-0000b950: e280 992c 20e2 8098 756e 6974 e280 992c ..., ...unit...,\n-0000b960: 20e2 8098 6173 696e e280 992c 20e2 8098 ...asin..., ...\n-0000b970: 6163 6f73 e280 992c 20e2 8098 7371 7274 acos..., ...sqrt\n-0000b980: e280 992c 20e2 8098 6174 616e 32e2 8099 ..., ...atan2...\n-0000b990: 2c0a 616e 6420 e280 9869 6e76 6572 7365 ,.and ...inverse\n-0000b9a0: e280 9920 6661 696c 2064 7565 2074 6f20 ... fail due to \n-0000b9b0: 6f70 6572 616e 6473 206f 7574 7369 6465 operands outside\n-0000b9c0: 2074 6865 6972 2072 6573 7065 6374 6976 their respectiv\n-0000b9d0: 6520 646f 6d61 696e 732e 0a0a 1f0a 4669 e domains.....Fi\n-0000b9e0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-0000b9f0: 2020 4e6f 6465 3a20 4f70 7469 6f6e 732c Node: Options,\n-0000ba00: 2020 5072 6576 3a20 4172 6974 686d 6574 Prev: Arithmet\n-0000ba10: 6963 2c20 2055 703a 204c 616e 6775 6167 ic, Up: Languag\n-0000ba20: 6520 6261 7369 6373 0a0a 332e 312e 3520 e basics..3.1.5 \n-0000ba30: 4f70 7469 6f6e 730a 2d2d 2d2d 2d2d 2d2d Options.--------\n-0000ba40: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:*\n-0000ba50: 0a20 2020 2020 5b4b 4559 313d 5641 4c31 . [KEY1=VAL1\n-0000ba60: 2c4b 4559 323d 5641 4c32 2c2e 2e2e 5d0a ,KEY2=VAL2,...].\n-0000ba70: 4f70 7469 6f6e 7320 6172 6520 7573 6564 Options are used\n-0000ba80: 2074 6f20 7370 6563 6966 7920 6465 7461 to specify deta\n-0000ba90: 696c 7320 6f66 2074 6865 2061 7070 6561 ils of the appea\n-0000baa0: 7261 6e63 6520 6f66 2064 7261 7761 626c rance of drawabl\n-0000bab0: 6573 2e20 2041 730a 7368 6f77 6e20 6162 es. As.shown ab\n-0000bac0: 6f76 652c 2074 6865 7920 6172 6520 6769 ove, they are gi\n-0000bad0: 7665 6e20 6173 2063 6f6d 6d61 2d73 6570 ven as comma-sep\n-0000bae0: 6172 6174 6564 206b 6579 2d76 616c 7565 arated key-value\n-0000baf0: 2070 6169 7273 2e0a 0a2a 204d 656e 753a pairs...* Menu:\n-0000bb00: 0a0a 2a20 5053 5472 6963 6b73 206f 7074 ..* PSTricks opt\n-0000bb10: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: \n-0000bb20: 2020 4f70 7469 6f6e 7320 696e 6865 7269 Options inheri\n-0000bb30: 7465 6420 6672 6f6d 20e2 8098 5053 5472 ted from ...PSTr\n-0000bb40: 6963 6b73 e280 992e 0a2a 2054 696b 5a2f icks.....* TikZ/\n-0000bb50: 5047 4620 6f70 7469 6f6e 733a 3a20 2020 PGF options:: \n-0000bb60: 2020 2020 2020 2020 204f 7074 696f 6e73 Options\n-0000bb70: 2069 6e68 6572 6974 6564 2066 726f 6d20 inherited from \n-0000bb80: e280 9854 696b 5a2f 5047 46e2 8099 2e0a ...TikZ/PGF.....\n-0000bb90: 2a20 446f 7473 2069 6e20 5469 6b5a 2f50 * Dots in TikZ/P\n-0000bba0: 4746 3a3a 2020 2020 2020 2020 2020 2020 GF:: \n-0000bbb0: 536b 6574 6368 2075 7365 7320 e280 9854 Sketch uses ...T\n-0000bbc0: 696b 5a2f 5047 46e2 8099 2063 6972 636c ikZ/PGF... circl\n-0000bbd0: 6573 2066 6f72 2064 6f74 732e 0a2a 2054 es for dots..* T\n-0000bbe0: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def\n-0000bbf0: 696e 6564 2073 7479 6c65 733a 3a20 2053 ined styles:: S\n-0000bc00: 7570 706f 7274 2066 6f72 20e2 8098 5469 upport for ...Ti\n-0000bc10: 6b5a 2f50 4746 e280 9920 6e61 6d65 642c kZ/PGF... named,\n-0000bc20: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st\n-0000bc30: 796c 6573 2e0a 2a20 5472 616e 7370 6172 yles..* Transpar\n-0000bc40: 656e 6379 3a3a 2020 2020 2020 2020 2020 ency:: \n-0000bc50: 2020 2020 2020 5365 652d 7468 726f 7567 See-throug\n-0000bc60: 6820 706f 6c79 676f 6e73 2e0a 2a20 496e h polygons..* In\n-0000bc70: 7465 726e 616c 206f 7074 696f 6e73 3a3a ternal options::\n-0000bc80: 2020 2020 2020 2020 2020 2020 4f70 7469 Opti\n-0000bc90: 6f6e 7320 7573 6564 2062 7920 e280 9873 ons used by ...s\n-0000bca0: 6b65 7463 68e2 8099 2e0a 0a1f 0a46 696c ketch........Fil\n-0000bcb0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-0000bcc0: 204e 6f64 653a 2050 5354 7269 636b 7320 Node: PSTricks \n-0000bcd0: 6f70 7469 6f6e 732c 2020 4e65 7874 3a20 options, Next: \n-0000bce0: 5469 6b5a 2f50 4746 206f 7074 696f 6e73 TikZ/PGF options\n-0000bcf0: 2c20 2050 7265 763a 204f 7074 696f 6e73 , Prev: Options\n-0000bd00: 2c20 2055 703a 204f 7074 696f 6e73 0a0a , Up: Options..\n-0000bd10: 332e 312e 352e 3120 e280 9850 5354 7269 3.1.5.1 ...PSTri\n-0000bd20: 636b 73e2 8099 206f 7074 696f 6e73 0a2e cks... options..\n+0000b600: 2d2d 2d2d 2d2d 2d0a e280 982d 58e2 8099 -------....-X...\n+0000b610: 2020 2020 2020 2020 2020 2073 6361 6c61 scala\n+0000b620: 7220 2020 2020 2073 6361 6c61 7220 2020 r scalar \n+0000b630: 2020 2055 6e61 7279 2073 6361 6c61 7220 Unary scalar \n+0000b640: 6e65 6761 7469 6f6e 2e0a e280 982d 58e2 negation.....-X.\n+0000b650: 8099 2020 2020 2020 2020 2020 2076 6563 .. vec\n+0000b660: 746f 7220 2020 2020 2076 6563 746f 7220 tor vector \n+0000b670: 2020 2020 2055 6e61 7279 2076 6563 746f Unary vecto\n+0000b680: 7220 6e65 6761 7469 6f6e 2e0a e280 987c r negation.....|\n+0000b690: 587c e280 9920 2020 2020 2020 2020 2076 X|... v\n+0000b6a0: 6563 746f 7220 2020 2020 2073 6361 6c61 ector scala\n+0000b6b0: 7220 2020 2020 2056 6563 746f 7220 6c65 r Vector le\n+0000b6c0: 6e67 7468 2e0a e280 9875 6e69 7428 5829 ngth.....unit(X)\n+0000b6d0: e280 9920 2020 2020 2076 6563 746f 7220 ... vector \n+0000b6e0: 2020 2020 2076 6563 746f 7220 2020 2020 vector \n+0000b6f0: 2055 6e69 7420 7665 6374 6f72 2077 6974 Unit vector wit\n+0000b700: 6820 7361 6d65 2064 6972 6563 7469 6f6e h same direction\n+0000b710: 2e0a e280 9873 7172 7428 5829 e280 9920 .....sqrt(X)... \n+0000b720: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar \n+0000b730: 2073 6361 6c61 7220 2020 2020 2053 6361 scalar Sca\n+0000b740: 6c61 7220 7371 7561 7265 2072 6f6f 742e lar square root.\n+0000b750: 0ae2 8098 7369 6e28 5829 e280 9920 2020 ....sin(X)... \n+0000b760: 2020 2020 7363 616c 6172 2020 2020 2020 scalar \n+0000b770: 7363 616c 6172 2020 2020 2020 5472 6967 scalar Trig\n+0000b780: 6f6e 6f6d 6574 7269 6320 7369 6e65 2028 onometric sine (\n+0000b790: e280 9858 e280 9920 696e 2064 6567 7265 ...X... in degre\n+0000b7a0: 6573 292e 0ae2 8098 636f 7328 5829 e280 es).....cos(X)..\n+0000b7b0: 9920 2020 2020 2020 7363 616c 6172 2020 . scalar \n+0000b7c0: 2020 2020 7363 616c 6172 2020 2020 2020 scalar \n+0000b7d0: 5472 6967 6f6e 6f6d 6574 7269 6320 636f Trigonometric co\n+0000b7e0: 7369 6e65 2028 e280 9858 e280 9920 696e sine (...X... in\n+0000b7f0: 2064 6567 7265 6573 292e 0ae2 8098 6173 degrees).....as\n+0000b800: 696e 2858 29e2 8099 2020 2020 2020 7363 in(X)... sc\n+0000b810: 616c 6172 2020 2020 2020 7363 616c 6172 alar scalar\n+0000b820: 2020 2020 2020 496e 7665 7273 6520 7369 Inverse si\n+0000b830: 6e65 2028 e280 9858 e280 9920 696e 2064 ne (...X... in d\n+0000b840: 6567 7265 6573 292e 0ae2 8098 6163 6f73 egrees).....acos\n+0000b850: 2858 29e2 8099 2020 2020 2020 7363 616c (X)... scal\n+0000b860: 6172 2020 2020 2020 7363 616c 6172 2020 ar scalar \n+0000b870: 2020 2020 496e 7665 7273 6520 636f 7369 Inverse cosi\n+0000b880: 6e65 2028 e280 9858 e280 9920 696e 2064 ne (...X... in d\n+0000b890: 6567 7265 6573 292e 0ae2 8098 6174 616e egrees).....atan\n+0000b8a0: 3228 582c 5929 e280 9920 2020 7363 616c 2(X,Y)... scal\n+0000b8b0: 6172 2020 2020 2020 7363 616c 6172 2020 ar scalar \n+0000b8c0: 2020 2020 506f 6c61 7220 616e 676c 6520 Polar angle \n+0000b8d0: 696e 2064 6567 7265 6573 206f 6620 7665 in degrees of ve\n+0000b8e0: 6374 6f72 205b 582c 595d 2e0a e280 9869 ctor [X,Y].....i\n+0000b8f0: 6e76 6572 7365 2858 29e2 8099 2020 2074 nverse(X)... t\n+0000b900: 7261 6e73 666f 726d 2020 2074 7261 6e73 ransform trans\n+0000b910: 666f 726d 2020 2049 6e76 6572 7365 2074 form Inverse t\n+0000b920: 7261 6e73 666f 726d 2e0a 0a45 7272 6f72 ransform...Error\n+0000b930: 7320 6172 6520 7265 706f 7274 6564 2077 s are reported w\n+0000b940: 6865 6e20 e280 987c 587c e280 992c 20e2 hen ...|X|..., .\n+0000b950: 8098 756e 6974 e280 992c 20e2 8098 6173 ..unit..., ...as\n+0000b960: 696e e280 992c 20e2 8098 6163 6f73 e280 in..., ...acos..\n+0000b970: 992c 20e2 8098 7371 7274 e280 992c 20e2 ., ...sqrt..., .\n+0000b980: 8098 6174 616e 32e2 8099 2c0a 616e 6420 ..atan2...,.and \n+0000b990: e280 9869 6e76 6572 7365 e280 9920 6661 ...inverse... fa\n+0000b9a0: 696c 2064 7565 2074 6f20 6f70 6572 616e il due to operan\n+0000b9b0: 6473 206f 7574 7369 6465 2074 6865 6972 ds outside their\n+0000b9c0: 2072 6573 7065 6374 6976 6520 646f 6d61 respective doma\n+0000b9d0: 696e 732e 0a0a 1f0a 4669 6c65 3a20 736b ins.....File: sk\n+0000b9e0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+0000b9f0: 3a20 4f70 7469 6f6e 732c 2020 5072 6576 : Options, Prev\n+0000ba00: 3a20 4172 6974 686d 6574 6963 2c20 2055 : Arithmetic, U\n+0000ba10: 703a 204c 616e 6775 6167 6520 6261 7369 p: Language basi\n+0000ba20: 6373 0a0a 332e 312e 3520 4f70 7469 6f6e cs..3.1.5 Option\n+0000ba30: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a s.-------------.\n+0000ba40: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. \n+0000ba50: 5b4b 4559 313d 5641 4c31 2c4b 4559 323d [KEY1=VAL1,KEY2=\n+0000ba60: 5641 4c32 2c2e 2e2e 5d0a 4f70 7469 6f6e VAL2,...].Option\n+0000ba70: 7320 6172 6520 7573 6564 2074 6f20 7370 s are used to sp\n+0000ba80: 6563 6966 7920 6465 7461 696c 7320 6f66 ecify details of\n+0000ba90: 2074 6865 2061 7070 6561 7261 6e63 6520 the appearance \n+0000baa0: 6f66 2064 7261 7761 626c 6573 2e20 2041 of drawables. A\n+0000bab0: 730a 7368 6f77 6e20 6162 6f76 652c 2074 s.shown above, t\n+0000bac0: 6865 7920 6172 6520 6769 7665 6e20 6173 hey are given as\n+0000bad0: 2063 6f6d 6d61 2d73 6570 6172 6174 6564 comma-separated\n+0000bae0: 206b 6579 2d76 616c 7565 2070 6169 7273 key-value pairs\n+0000baf0: 2e0a 0a2a 204d 656e 753a 0a0a 2a20 5053 ...* Menu:..* PS\n+0000bb00: 5472 6963 6b73 206f 7074 696f 6e73 3a3a Tricks options::\n+0000bb10: 2020 2020 2020 2020 2020 2020 4f70 7469 Opti\n+0000bb20: 6f6e 7320 696e 6865 7269 7465 6420 6672 ons inherited fr\n+0000bb30: 6f6d 20e2 8098 5053 5472 6963 6b73 e280 om ...PSTricks..\n+0000bb40: 992e 0a2a 2054 696b 5a2f 5047 4620 6f70 ...* TikZ/PGF op\n+0000bb50: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: \n+0000bb60: 2020 204f 7074 696f 6e73 2069 6e68 6572 Options inher\n+0000bb70: 6974 6564 2066 726f 6d20 e280 9854 696b ited from ...Tik\n+0000bb80: 5a2f 5047 46e2 8099 2e0a 2a20 446f 7473 Z/PGF.....* Dots\n+0000bb90: 2069 6e20 5469 6b5a 2f50 4746 3a3a 2020 in TikZ/PGF:: \n+0000bba0: 2020 2020 2020 2020 2020 536b 6574 6368 Sketch\n+0000bbb0: 2075 7365 7320 e280 9854 696b 5a2f 5047 uses ...TikZ/PG\n+0000bbc0: 46e2 8099 2063 6972 636c 6573 2066 6f72 F... circles for\n+0000bbd0: 2064 6f74 732e 0a2a 2054 696b 5a2f 5047 dots..* TikZ/PG\n+0000bbe0: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s\n+0000bbf0: 7479 6c65 733a 3a20 2053 7570 706f 7274 tyles:: Support\n+0000bc00: 2066 6f72 20e2 8098 5469 6b5a 2f50 4746 for ...TikZ/PGF\n+0000bc10: e280 9920 6e61 6d65 642c 2075 7365 722d ... named, user-\n+0000bc20: 6465 6669 6e65 6420 7374 796c 6573 2e0a defined styles..\n+0000bc30: 2a20 5472 616e 7370 6172 656e 6379 3a3a * Transparency::\n+0000bc40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000bc50: 5365 652d 7468 726f 7567 6820 706f 6c79 See-through poly\n+0000bc60: 676f 6e73 2e0a 2a20 496e 7465 726e 616c gons..* Internal\n+0000bc70: 206f 7074 696f 6e73 3a3a 2020 2020 2020 options:: \n+0000bc80: 2020 2020 2020 4f70 7469 6f6e 7320 7573 Options us\n+0000bc90: 6564 2062 7920 e280 9873 6b65 7463 68e2 ed by ...sketch.\n+0000bca0: 8099 2e0a 0a1f 0a46 696c 653a 2073 6b65 .......File: ske\n+0000bcb0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+0000bcc0: 2050 5354 7269 636b 7320 6f70 7469 6f6e PSTricks option\n+0000bcd0: 732c 2020 4e65 7874 3a20 5469 6b5a 2f50 s, Next: TikZ/P\n+0000bce0: 4746 206f 7074 696f 6e73 2c20 2050 7265 GF options, Pre\n+0000bcf0: 763a 204f 7074 696f 6e73 2c20 2055 703a v: Options, Up:\n+0000bd00: 204f 7074 696f 6e73 0a0a 332e 312e 352e Options..3.1.5.\n+0000bd10: 3120 e280 9850 5354 7269 636b 73e2 8099 1 ...PSTricks...\n+0000bd20: 206f 7074 696f 6e73 0a2e 2e2e 2e2e 2e2e options........\n 0000bd30: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000bd40: 2e2e 2e2e 2e2e 2e2e 2e0a 0a57 6865 6e20 ...........When \n-0000bd50: e280 986c 616e 6775 6167 6520 7073 7472 ...language pstr\n-0000bd60: 6963 6b73 e280 9920 6973 2073 656c 6563 icks... is selec\n-0000bd70: 7465 6420 2874 6865 2064 6566 6175 6c74 ted (the default\n-0000bd80: 292c 2070 6572 6d69 7373 6962 6c65 0a6b ), permissible.k\n-0000bd90: 6579 2d76 616c 7565 2070 6169 7273 2069 ey-value pairs i\n-0000bda0: 6e63 6c75 6465 2061 6c6c 2074 686f 7365 nclude all those\n-0000bdb0: 2066 6f72 2073 696d 696c 6172 20e2 8098 for similar ...\n-0000bdc0: 5053 5472 6963 6b73 e280 9920 6f62 6a65 PSTricks... obje\n-0000bdd0: 6374 732e 2020 466f 720a 6578 616d 706c cts. For.exampl\n-0000bde0: 652c 2061 2070 6f6c 7967 6f6e 206d 6967 e, a polygon mig\n-0000bdf0: 6874 2068 6176 6520 7468 6520 6f70 7469 ht have the opti\n-0000be00: 6f6e 730a 2020 5b6c 696e 6577 6964 7468 ons. [linewidth\n-0000be10: 3d31 7074 2c6c 696e 6563 6f6c 6f72 3d62 =1pt,linecolor=b\n-0000be20: 6c75 652c 6669 6c6c 636f 6c6f 723d 6379 lue,fillcolor=cy\n-0000be30: 616e 5d0a e280 9853 6b65 7463 68e2 8099 an]....Sketch...\n-0000be40: 206d 6572 656c 7920 7061 7373 6573 2074 merely passes t\n-0000be50: 6865 7365 206f 6e20 746f 20e2 8098 5053 hese on to ...PS\n-0000be60: 5472 6963 6b73 e280 9920 7769 7468 6f75 Tricks... withou\n-0000be70: 7420 6368 6563 6b69 6e67 206f 720a 6d6f t checking or.mo\n-0000be80: 6469 6669 6361 7469 6f6e 2e20 204f 7074 dification. Opt\n-0000be90: 696f 6e20 6c69 7374 7320 6172 6520 616c ion lists are al\n-0000bea0: 7761 7973 206f 7074 696f 6e61 6c2e 2020 ways optional. \n-0000beb0: 4120 6d69 7373 696e 6720 6f70 7469 6f6e A missing option\n-0000bec0: 7320 6c69 7374 0a69 7320 6571 7569 7661 s list.is equiva\n-0000bed0: 6c65 6e74 2074 6f20 616e 2065 6d70 7479 lent to an empty\n-0000bee0: 206f 6e65 20e2 8098 5b5d e280 992e 0a0a one ...[]......\n-0000bef0: 2020 2057 6865 6e20 6120 e280 9870 6f6c When a ...pol\n-0000bf00: 7967 6f6e e280 9920 6861 7320 6f70 7469 ygon... has opti\n-0000bf10: 6f6e 7320 666f 7220 626f 7468 2069 7473 ons for both its\n-0000bf20: 2066 6163 6520 616e 6420 6974 7320 6564 face and its ed\n-0000bf30: 6765 732c 2061 6e64 2074 6865 0a70 6f6c ges, and the.pol\n-0000bf40: 7967 6f6e 2069 7320 7370 6c69 7420 6279 ygon is split by\n-0000bf50: 2074 6865 2068 6964 6465 6e20 7375 7266 the hidden surf\n-0000bf60: 6163 6520 616c 676f 7269 7468 6d2c 20e2 ace algorithm, .\n-0000bf70: 8098 736b 6574 6368 e280 9920 6d75 7374 ..sketch... must\n-0000bf80: 2063 6f70 7920 7468 650a 6564 6765 206f copy the.edge o\n-0000bf90: 7074 696f 6e73 2074 6f20 e280 9870 736c ptions to ...psl\n-0000bfa0: 696e 65e2 8099 7320 666f 7220 7468 6520 ine...s for the \n-0000bfb0: 6564 6765 2073 6567 6d65 6e74 7320 616e edge segments an\n-0000bfc0: 6420 7468 6520 6661 6365 206f 7074 696f d the face optio\n-0000bfd0: 6e73 2074 6f0a e280 9870 7370 6f6c 7967 ns to....pspolyg\n-0000bfe0: 6f6e e280 9973 2e20 204f 7074 696f 6e73 on...s. Options\n-0000bff0: 206b 6e6f 776e 2074 6f20 e280 9873 6b65 known to ...ske\n-0000c000: 7463 68e2 8099 2066 6f72 2070 7572 706f tch... for purpo\n-0000c010: 7365 7320 6f66 2074 6869 7320 7370 6c69 ses of this spli\n-0000c020: 7474 696e 670a 6f70 6572 6174 696f 6e20 tting.operation \n-0000c030: 696e 636c 7564 6520 e280 9861 7272 6f77 include ...arrow\n-0000c040: 73e2 8099 2c20 e280 9864 6173 68e2 8099 s..., ...dash...\n-0000c050: 2c20 e280 9864 6f74 7365 70e2 8099 2c20 , ...dotsep..., \n-0000c060: e280 9866 696c 6c63 6f6c 6f72 e280 992c ...fillcolor...,\n-0000c070: 20e2 8098 6669 6c6c 7374 796c 65e2 8099 ...fillstyle...\n-0000c080: 2c0a e280 986c 696e 6563 6f6c 6f72 e280 ,....linecolor..\n-0000c090: 992c 20e2 8098 6c69 6e65 7374 796c 65e2 ., ...linestyle.\n-0000c0a0: 8099 2c20 e280 986c 696e 6577 6964 7468 .., ...linewidth\n-0000c0b0: e280 992c 20e2 8098 6f70 6163 6974 79e2 ..., ...opacity.\n-0000c0c0: 8099 2c20 e280 9873 686f 7770 6f69 6e74 .., ...showpoint\n-0000c0d0: 73e2 8099 2c0a e280 9873 7472 6f6b 656f s...,....strokeo\n-0000c0e0: 7061 6369 7479 e280 992c 2061 6e64 20e2 pacity..., and .\n-0000c0f0: 8098 7472 616e 7370 616c 7068 61e2 8099 ..transpalpha...\n-0000c100: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n-0000c110: 682e 696e 666f 2c20 204e 6f64 653a 2054 h.info, Node: T\n-0000c120: 696b 5a2f 5047 4620 6f70 7469 6f6e 732c ikZ/PGF options,\n-0000c130: 2020 4e65 7874 3a20 446f 7473 2069 6e20 Next: Dots in \n-0000c140: 5469 6b5a 2f50 4746 2c20 2050 7265 763a TikZ/PGF, Prev:\n-0000c150: 2050 5354 7269 636b 7320 6f70 7469 6f6e PSTricks option\n-0000c160: 732c 2020 5570 3a20 4f70 7469 6f6e 730a s, Up: Options.\n-0000c170: 0a33 2e31 2e35 2e32 20e2 8098 5469 6b5a .3.1.5.2 ...TikZ\n-0000c180: 2f50 4746 e280 9920 6f70 7469 6f6e 730a /PGF... options.\n+0000bd40: 2e2e 2e0a 0a57 6865 6e20 e280 986c 616e .....When ...lan\n+0000bd50: 6775 6167 6520 7073 7472 6963 6b73 e280 guage pstricks..\n+0000bd60: 9920 6973 2073 656c 6563 7465 6420 2874 . is selected (t\n+0000bd70: 6865 2064 6566 6175 6c74 292c 2070 6572 he default), per\n+0000bd80: 6d69 7373 6962 6c65 0a6b 6579 2d76 616c missible.key-val\n+0000bd90: 7565 2070 6169 7273 2069 6e63 6c75 6465 ue pairs include\n+0000bda0: 2061 6c6c 2074 686f 7365 2066 6f72 2073 all those for s\n+0000bdb0: 696d 696c 6172 20e2 8098 5053 5472 6963 imilar ...PSTric\n+0000bdc0: 6b73 e280 9920 6f62 6a65 6374 732e 2020 ks... objects. \n+0000bdd0: 466f 720a 6578 616d 706c 652c 2061 2070 For.example, a p\n+0000bde0: 6f6c 7967 6f6e 206d 6967 6874 2068 6176 olygon might hav\n+0000bdf0: 6520 7468 6520 6f70 7469 6f6e 730a 2020 e the options. \n+0000be00: 5b6c 696e 6577 6964 7468 3d31 7074 2c6c [linewidth=1pt,l\n+0000be10: 696e 6563 6f6c 6f72 3d62 6c75 652c 6669 inecolor=blue,fi\n+0000be20: 6c6c 636f 6c6f 723d 6379 616e 5d0a e280 llcolor=cyan]...\n+0000be30: 9853 6b65 7463 68e2 8099 206d 6572 656c .Sketch... merel\n+0000be40: 7920 7061 7373 6573 2074 6865 7365 206f y passes these o\n+0000be50: 6e20 746f 20e2 8098 5053 5472 6963 6b73 n to ...PSTricks\n+0000be60: e280 9920 7769 7468 6f75 7420 6368 6563 ... without chec\n+0000be70: 6b69 6e67 206f 720a 6d6f 6469 6669 6361 king or.modifica\n+0000be80: 7469 6f6e 2e20 204f 7074 696f 6e20 6c69 tion. Option li\n+0000be90: 7374 7320 6172 6520 616c 7761 7973 206f sts are always o\n+0000bea0: 7074 696f 6e61 6c2e 2020 4120 6d69 7373 ptional. A miss\n+0000beb0: 696e 6720 6f70 7469 6f6e 7320 6c69 7374 ing options list\n+0000bec0: 0a69 7320 6571 7569 7661 6c65 6e74 2074 .is equivalent t\n+0000bed0: 6f20 616e 2065 6d70 7479 206f 6e65 20e2 o an empty one .\n+0000bee0: 8098 5b5d e280 992e 0a0a 2020 2057 6865 ..[]...... Whe\n+0000bef0: 6e20 6120 e280 9870 6f6c 7967 6f6e e280 n a ...polygon..\n+0000bf00: 9920 6861 7320 6f70 7469 6f6e 7320 666f . has options fo\n+0000bf10: 7220 626f 7468 2069 7473 2066 6163 6520 r both its face \n+0000bf20: 616e 6420 6974 7320 6564 6765 732c 2061 and its edges, a\n+0000bf30: 6e64 2074 6865 0a70 6f6c 7967 6f6e 2069 nd the.polygon i\n+0000bf40: 7320 7370 6c69 7420 6279 2074 6865 2068 s split by the h\n+0000bf50: 6964 6465 6e20 7375 7266 6163 6520 616c idden surface al\n+0000bf60: 676f 7269 7468 6d2c 20e2 8098 736b 6574 gorithm, ...sket\n+0000bf70: 6368 e280 9920 6d75 7374 2063 6f70 7920 ch... must copy \n+0000bf80: 7468 650a 6564 6765 206f 7074 696f 6e73 the.edge options\n+0000bf90: 2074 6f20 e280 9870 736c 696e 65e2 8099 to ...psline...\n+0000bfa0: 7320 666f 7220 7468 6520 6564 6765 2073 s for the edge s\n+0000bfb0: 6567 6d65 6e74 7320 616e 6420 7468 6520 egments and the \n+0000bfc0: 6661 6365 206f 7074 696f 6e73 2074 6f0a face options to.\n+0000bfd0: e280 9870 7370 6f6c 7967 6f6e e280 9973 ...pspolygon...s\n+0000bfe0: 2e20 204f 7074 696f 6e73 206b 6e6f 776e . Options known\n+0000bff0: 2074 6f20 e280 9873 6b65 7463 68e2 8099 to ...sketch...\n+0000c000: 2066 6f72 2070 7572 706f 7365 7320 6f66 for purposes of\n+0000c010: 2074 6869 7320 7370 6c69 7474 696e 670a this splitting.\n+0000c020: 6f70 6572 6174 696f 6e20 696e 636c 7564 operation includ\n+0000c030: 6520 e280 9861 7272 6f77 73e2 8099 2c20 e ...arrows..., \n+0000c040: e280 9864 6173 68e2 8099 2c20 e280 9864 ...dash..., ...d\n+0000c050: 6f74 7365 70e2 8099 2c20 e280 9866 696c otsep..., ...fil\n+0000c060: 6c63 6f6c 6f72 e280 992c 20e2 8098 6669 lcolor..., ...fi\n+0000c070: 6c6c 7374 796c 65e2 8099 2c0a e280 986c llstyle...,....l\n+0000c080: 696e 6563 6f6c 6f72 e280 992c 20e2 8098 inecolor..., ...\n+0000c090: 6c69 6e65 7374 796c 65e2 8099 2c20 e280 linestyle..., ..\n+0000c0a0: 986c 696e 6577 6964 7468 e280 992c 20e2 .linewidth..., .\n+0000c0b0: 8098 6f70 6163 6974 79e2 8099 2c20 e280 ..opacity..., ..\n+0000c0c0: 9873 686f 7770 6f69 6e74 73e2 8099 2c0a .showpoints...,.\n+0000c0d0: e280 9873 7472 6f6b 656f 7061 6369 7479 ...strokeopacity\n+0000c0e0: e280 992c 2061 6e64 20e2 8098 7472 616e ..., and ...tran\n+0000c0f0: 7370 616c 7068 61e2 8099 2e0a 0a1f 0a46 spalpha........F\n+0000c100: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+0000c110: 2c20 204e 6f64 653a 2054 696b 5a2f 5047 , Node: TikZ/PG\n+0000c120: 4620 6f70 7469 6f6e 732c 2020 4e65 7874 F options, Next\n+0000c130: 3a20 446f 7473 2069 6e20 5469 6b5a 2f50 : Dots in TikZ/P\n+0000c140: 4746 2c20 2050 7265 763a 2050 5354 7269 GF, Prev: PSTri\n+0000c150: 636b 7320 6f70 7469 6f6e 732c 2020 5570 cks options, Up\n+0000c160: 3a20 4f70 7469 6f6e 730a 0a33 2e31 2e35 : Options..3.1.5\n+0000c170: 2e32 20e2 8098 5469 6b5a 2f50 4746 e280 .2 ...TikZ/PGF..\n+0000c180: 9920 6f70 7469 6f6e 730a 2e2e 2e2e 2e2e . options.......\n 0000c190: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000c1a0: 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a e280 9854 ...............T\n-0000c1b0: 696b 5a2f 5047 46e2 8099 206f 7074 696f ikZ/PGF... optio\n-0000c1c0: 6e73 2061 7265 2068 616e 646c 6564 206d ns are handled m\n-0000c1d0: 7563 6820 6173 2066 6f72 20e2 8098 5053 uch as for ...PS\n-0000c1e0: 5472 6963 6b73 e280 992e 2020 5468 6f75 Tricks.... Thou\n-0000c1f0: 6768 0ae2 8098 5469 6b5a 2f50 4746 e280 gh....TikZ/PGF..\n-0000c200: 9920 6f66 7465 6e20 616c 6c6f 7773 2063 . often allows c\n-0000c210: 6f6c 6f72 7320 616e 6420 7374 796c 6573 olors and styles\n-0000c220: 2074 6f20 6265 2067 6976 656e 2077 6974 to be given wit\n-0000c230: 686f 7574 0a63 6f72 7265 7370 6f6e 6469 hout.correspondi\n-0000c240: 6e67 206b 6579 732c 2066 6f72 2065 7861 ng keys, for exa\n-0000c250: 6d70 6c65 2c0a 2020 5c64 7261 775b 7265 mple,. \\draw[re\n-0000c260: 642c 756c 7472 6120 7468 6963 6b5d 2830 d,ultra thick](0\n-0000c270: 2c30 292d 2d28 312c 3129 3b0a 7468 6973 ,0)--(1,1);.this\n-0000c280: 2069 7320 6e6f 7420 7065 726d 6974 7465 is not permitte\n-0000c290: 6420 696e 20e2 8098 736b 6574 6368 e280 d in ...sketch..\n-0000c2a0: 992e 2020 546f 2064 7261 7720 6120 7265 .. To draw a re\n-0000c2b0: 642c 2075 6c74 7261 2d74 6869 636b 206c d, ultra-thick l\n-0000c2c0: 696e 6520 696e 0ae2 8098 736b 6574 6368 ine in....sketch\n-0000c2d0: e280 992c 2074 6865 2066 6f72 6d20 6973 ..., the form is\n-0000c2e0: 0a20 206c 696e 655b 6472 6177 3d72 6564 . line[draw=red\n-0000c2f0: 2c73 7479 6c65 3d75 6c74 7261 2074 6869 ,style=ultra thi\n-0000c300: 636b 5d28 302c 3029 2831 2c31 290a 0a20 ck](0,0)(1,1).. \n-0000c310: 2020 4a75 7374 2061 7320 666f 7220 e280 Just as for ..\n-0000c320: 9850 5354 7269 636b 73e2 8099 2c20 7768 .PSTricks..., wh\n-0000c330: 656e 2061 20e2 8098 706f 6c79 676f 6ee2 en a ...polygon.\n-0000c340: 8099 2068 6173 206f 7074 696f 6e73 2066 .. has options f\n-0000c350: 6f72 2062 6f74 6820 6974 730a 6661 6365 or both its.face\n-0000c360: 2061 6e64 2069 7473 2065 6467 6573 2c20 and its edges, \n-0000c370: 616e 6420 7468 6520 706f 6c79 676f 6e20 and the polygon \n-0000c380: 6973 2073 706c 6974 2062 7920 7468 6520 is split by the \n-0000c390: 6869 6464 656e 2073 7572 6661 6365 0a61 hidden surface.a\n-0000c3a0: 6c67 6f72 6974 686d 2c20 e280 9873 6b65 lgorithm, ...ske\n-0000c3b0: 7463 68e2 8099 206d 7573 7420 636f 7079 tch... must copy\n-0000c3c0: 2074 6865 2065 6467 6520 6f70 7469 6f6e the edge option\n-0000c3d0: 7320 746f 20e2 8098 7073 6c69 6e65 e280 s to ...psline..\n-0000c3e0: 9973 2066 6f72 2074 6865 2065 6467 650a .s for the edge.\n-0000c3f0: 7365 676d 656e 7473 2061 6e64 2074 6865 segments and the\n-0000c400: 2066 6163 6520 6f70 7469 6f6e 7320 746f face options to\n-0000c410: 20e2 8098 7073 706f 6c79 676f 6ee2 8099 ...pspolygon...\n-0000c420: 732e 2020 e280 9854 696b 5a2f 5047 46e2 s. ...TikZ/PGF.\n-0000c430: 8099 206f 7074 696f 6e73 206b 6e6f 776e .. options known\n-0000c440: 0a74 6f20 e280 9873 6b65 7463 68e2 8099 .to ...sketch...\n-0000c450: 2066 6f72 2070 7572 706f 7365 7320 6f66 for purposes of\n-0000c460: 2074 6869 7320 7370 6c69 7474 696e 6720 this splitting \n-0000c470: 6f70 6572 6174 696f 6e20 696e 636c 7564 operation includ\n-0000c480: 6520 e280 9861 7272 6f77 73e2 8099 2c0a e ...arrows...,.\n-0000c490: e280 9863 6170 e280 992c 20e2 8098 636f ...cap..., ...co\n-0000c4a0: 6c6f 72e2 8099 2c20 e280 9864 6173 6820 lor..., ...dash \n-0000c4b0: 7061 7474 6572 6ee2 8099 2c20 e280 9864 pattern..., ...d\n-0000c4c0: 6173 6820 7068 6173 65e2 8099 2c20 e280 ash phase..., ..\n-0000c4d0: 9864 6f75 626c 65e2 8099 2c20 e280 9864 .double..., ...d\n-0000c4e0: 6f75 626c 650a 6469 7374 616e 6365 e280 ouble.distance..\n-0000c4f0: 992c 20e2 8098 6472 6177 e280 992c 20e2 ., ...draw..., .\n-0000c500: 8098 6472 6177 206f 7061 6369 7479 e280 ..draw opacity..\n-0000c510: 992c 20e2 8098 6669 6c6c e280 992c 20e2 ., ...fill..., .\n-0000c520: 8098 6669 6c6c 206f 7061 6369 7479 e280 ..fill opacity..\n-0000c530: 992c 20e2 8098 6a6f 696e e280 992c 20e2 ., ...join..., .\n-0000c540: 8098 6c69 6e65 0a77 6964 7468 e280 992c ..line.width...,\n-0000c550: 20e2 8098 6d69 7465 7220 6c69 6d69 74e2 ...miter limit.\n-0000c560: 8099 2c20 e280 9870 6174 7465 726e e280 .., ...pattern..\n-0000c570: 992c 20e2 8098 7061 7474 6572 6e20 636f ., ...pattern co\n-0000c580: 6c6f 72e2 8099 2c20 616e 6420 e280 9873 lor..., and ...s\n-0000c590: 7479 6c65 e280 992e 0a0a 2020 2054 6865 tyle...... The\n-0000c5a0: 20e2 8098 7374 796c 65e2 8099 206f 7074 ...style... opt\n-0000c5b0: 696f 6e20 6361 6e20 636f 6e74 6169 6e20 ion can contain \n-0000c5c0: 626f 7468 2066 6163 6520 616e 6420 6564 both face and ed\n-0000c5d0: 6765 2069 6e66 6f72 6d61 7469 6f6e 2c20 ge information, \n-0000c5e0: 736f 0ae2 8098 736b 6574 6368 e280 9920 so....sketch... \n-0000c5f0: 6d75 7374 2063 6865 636b 2074 6865 2073 must check the s\n-0000c600: 7479 6c65 2076 616c 7565 2e20 2056 616c tyle value. Val\n-0000c610: 7565 7320 6b6e 6f77 6e20 746f 20e2 8098 ues known to ...\n-0000c620: 736b 6574 6368 e280 9920 696e 636c 7564 sketch... includ\n-0000c630: 650a e280 9864 6173 6865 64e2 8099 2c20 e....dashed..., \n-0000c640: e280 9864 656e 7365 6c79 2064 6173 6865 ...densely dashe\n-0000c650: 64e2 8099 2c20 e280 9864 656e 7365 6c79 d..., ...densely\n-0000c660: 2064 6f74 7465 64e2 8099 2c20 e280 9864 dotted..., ...d\n-0000c670: 6f74 7465 64e2 8099 2c20 e280 9864 6f75 otted..., ...dou\n-0000c680: 626c 65e2 8099 2c0a e280 986c 6f6f 7365 ble...,....loose\n-0000c690: 6c79 2064 6173 6865 64e2 8099 2c20 e280 ly dashed..., ..\n-0000c6a0: 986c 6f6f 7365 6c79 2064 6f74 7465 64e2 .loosely dotted.\n-0000c6b0: 8099 2c20 e280 986e 6561 726c 7920 6f70 .., ...nearly op\n-0000c6c0: 6171 7565 e280 992c 20e2 8098 6e65 6172 aque..., ...near\n-0000c6d0: 6c79 0a74 7261 6e73 7061 7265 6e74 e280 ly.transparent..\n-0000c6e0: 992c 20e2 8098 7365 6d69 7468 6963 6be2 ., ...semithick.\n-0000c6f0: 8099 2c20 e280 9873 656d 6974 7261 6e73 .., ...semitrans\n-0000c700: 7061 7265 6e74 e280 992c 20e2 8098 736f parent..., ...so\n-0000c710: 6c69 64e2 8099 2c20 e280 9874 6869 636b lid..., ...thick\n-0000c720: e280 992c 20e2 8098 7468 696e e280 992c ..., ...thin...,\n-0000c730: 0ae2 8098 7472 616e 7370 6172 656e 74e2 ....transparent.\n-0000c740: 8099 2c20 e280 9875 6c74 7261 206e 6561 .., ...ultra nea\n-0000c750: 726c 7920 7472 616e 7370 6172 656e 74e2 rly transparent.\n-0000c760: 8099 2c20 e280 9875 6c74 7261 2074 6869 .., ...ultra thi\n-0000c770: 636b e280 992c 20e2 8098 756c 7472 6120 ck..., ...ultra \n-0000c780: 7468 696e e280 992c 0ae2 8098 7665 7279 thin...,....very\n-0000c790: 206e 6561 726c 7920 7472 616e 7370 6172 nearly transpar\n-0000c7a0: 656e 74e2 8099 2c20 e280 9876 6572 7920 ent..., ...very \n-0000c7b0: 7468 6963 6be2 8099 2c20 616e 6420 e280 thick..., and ..\n-0000c7c0: 9876 6572 7920 7468 696e e280 992e 0a0a .very thin......\n-0000c7d0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-0000c7e0: 6e66 6f2c 2020 4e6f 6465 3a20 446f 7473 nfo, Node: Dots\n-0000c7f0: 2069 6e20 5469 6b5a 2f50 4746 2c20 204e in TikZ/PGF, N\n-0000c800: 6578 743a 2054 696b 5a2f 5047 4620 7573 ext: TikZ/PGF us\n-0000c810: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style\n-0000c820: 732c 2020 5072 6576 3a20 5469 6b5a 2f50 s, Prev: TikZ/P\n-0000c830: 4746 206f 7074 696f 6e73 2c20 2055 703a GF options, Up:\n-0000c840: 204f 7074 696f 6e73 0a0a 332e 312e 352e Options..3.1.5.\n-0000c850: 3320 446f 7473 2069 6e20 e280 9854 696b 3 Dots in ...Tik\n-0000c860: 5a2f 5047 46e2 8099 0a2e 2e2e 2e2e 2e2e Z/PGF...........\n-0000c870: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000c880: 2e2e 2e0a 0ae2 8098 5469 6b5a 2f50 4746 ........TikZ/PGF\n-0000c890: e280 9920 646f 6573 206e 6f74 2068 6176 ... does not hav\n-0000c8a0: 6520 6120 e280 9864 6f74 73e2 8099 2063 e a ...dots... c\n-0000c8b0: 6f6d 6d61 6e64 2061 7320 646f 6573 2050 ommand as does P\n-0000c8c0: 5354 7269 636b 732e 2020 496e 7374 6561 STricks. Instea\n-0000c8d0: 642c 0ae2 8098 536b 6574 6368 e280 9920 d,....Sketch... \n-0000c8e0: 656d 6974 7320 646f 7473 2061 7320 e280 emits dots as ..\n-0000c8f0: 9866 696c 6c64 7261 77e2 8099 2063 6972 .filldraw... cir\n-0000c900: 636c 6573 2e20 2054 6865 2064 6961 6d65 cles. The diame\n-0000c910: 7465 7220 6d61 7920 6265 2073 6574 0a75 ter may be set.u\n-0000c920: 7369 6e67 2074 6865 206f 7074 696f 6e20 sing the option \n-0000c930: e280 9864 6f74 7369 7a65 e280 9920 626f ...dotsize... bo\n-0000c940: 7272 6f77 6564 2066 726f 6d20 5053 5472 rrowed from PSTr\n-0000c950: 6963 6b73 2e20 2054 6865 20e2 8098 646f icks. The ...do\n-0000c960: 7473 697a 65e2 8099 206f 7074 696f 6e0a tsize... option.\n-0000c970: 7769 6c6c 2062 6520 7265 6d6f 7665 6420 will be removed \n-0000c980: 6672 6f6d 2074 6865 206f 7074 696f 6e20 from the option \n-0000c990: 6c69 7374 2069 6e20 7468 6520 6f75 7470 list in the outp\n-0000c9a0: 7574 20e2 8098 6669 6c6c 6472 6177 e280 ut ...filldraw..\n-0000c9b0: 9920 636f 6d6d 616e 642e 0a4f 7468 6572 . command..Other\n-0000c9c0: 206f 7074 696f 6e73 2077 6f72 6b20 696e options work in\n-0000c9d0: 2074 6865 2065 7870 6563 7465 6420 7761 the expected wa\n-0000c9e0: 792e 2020 466f 7220 6578 616d 706c 652c y. For example,\n-0000c9f0: 20e2 8098 6669 6c6c e280 9920 7365 7473 ...fill... sets\n-0000ca00: 2066 696c 6c0a 636f 6c6f 7220 616e 6420 fill.color and \n-0000ca10: e280 9863 6f6c 6f72 e280 9920 7365 7473 ...color... sets\n-0000ca20: 206c 696e 6520 636f 6c6f 7220 6f66 2074 line color of t\n-0000ca30: 6865 2063 6972 636c 6573 2e0a 0a1f 0a46 he circles.....F\n-0000ca40: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-0000ca50: 2c20 204e 6f64 653a 2054 696b 5a2f 5047 , Node: TikZ/PG\n-0000ca60: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s\n-0000ca70: 7479 6c65 732c 2020 4e65 7874 3a20 5472 tyles, Next: Tr\n-0000ca80: 616e 7370 6172 656e 6379 2c20 2050 7265 ansparency, Pre\n-0000ca90: 763a 2044 6f74 7320 696e 2054 696b 5a2f v: Dots in TikZ/\n-0000caa0: 5047 462c 2020 5570 3a20 4f70 7469 6f6e PGF, Up: Option\n-0000cab0: 730a 0a33 2e31 2e35 2e34 20e2 8098 5469 s..3.1.5.4 ...Ti\n-0000cac0: 6b5a 2f50 4746 e280 9920 7573 6572 2d64 kZ/PGF... user-d\n-0000cad0: 6566 696e 6564 2073 7479 6c65 730a 2e2e efined styles...\n+0000c1a0: 2e2e 2e2e 0a0a e280 9854 696b 5a2f 5047 .........TikZ/PG\n+0000c1b0: 46e2 8099 206f 7074 696f 6e73 2061 7265 F... options are\n+0000c1c0: 2068 616e 646c 6564 206d 7563 6820 6173 handled much as\n+0000c1d0: 2066 6f72 20e2 8098 5053 5472 6963 6b73 for ...PSTricks\n+0000c1e0: e280 992e 2020 5468 6f75 6768 0ae2 8098 .... Though....\n+0000c1f0: 5469 6b5a 2f50 4746 e280 9920 6f66 7465 TikZ/PGF... ofte\n+0000c200: 6e20 616c 6c6f 7773 2063 6f6c 6f72 7320 n allows colors \n+0000c210: 616e 6420 7374 796c 6573 2074 6f20 6265 and styles to be\n+0000c220: 2067 6976 656e 2077 6974 686f 7574 0a63 given without.c\n+0000c230: 6f72 7265 7370 6f6e 6469 6e67 206b 6579 orresponding key\n+0000c240: 732c 2066 6f72 2065 7861 6d70 6c65 2c0a s, for example,.\n+0000c250: 2020 5c64 7261 775b 7265 642c 756c 7472 \\draw[red,ultr\n+0000c260: 6120 7468 6963 6b5d 2830 2c30 292d 2d28 a thick](0,0)--(\n+0000c270: 312c 3129 3b0a 7468 6973 2069 7320 6e6f 1,1);.this is no\n+0000c280: 7420 7065 726d 6974 7465 6420 696e 20e2 t permitted in .\n+0000c290: 8098 736b 6574 6368 e280 992e 2020 546f ..sketch.... To\n+0000c2a0: 2064 7261 7720 6120 7265 642c 2075 6c74 draw a red, ult\n+0000c2b0: 7261 2d74 6869 636b 206c 696e 6520 696e ra-thick line in\n+0000c2c0: 0ae2 8098 736b 6574 6368 e280 992c 2074 ....sketch..., t\n+0000c2d0: 6865 2066 6f72 6d20 6973 0a20 206c 696e he form is. lin\n+0000c2e0: 655b 6472 6177 3d72 6564 2c73 7479 6c65 e[draw=red,style\n+0000c2f0: 3d75 6c74 7261 2074 6869 636b 5d28 302c =ultra thick](0,\n+0000c300: 3029 2831 2c31 290a 0a20 2020 4a75 7374 0)(1,1).. Just\n+0000c310: 2061 7320 666f 7220 e280 9850 5354 7269 as for ...PSTri\n+0000c320: 636b 73e2 8099 2c20 7768 656e 2061 20e2 cks..., when a .\n+0000c330: 8098 706f 6c79 676f 6ee2 8099 2068 6173 ..polygon... has\n+0000c340: 206f 7074 696f 6e73 2066 6f72 2062 6f74 options for bot\n+0000c350: 6820 6974 730a 6661 6365 2061 6e64 2069 h its.face and i\n+0000c360: 7473 2065 6467 6573 2c20 616e 6420 7468 ts edges, and th\n+0000c370: 6520 706f 6c79 676f 6e20 6973 2073 706c e polygon is spl\n+0000c380: 6974 2062 7920 7468 6520 6869 6464 656e it by the hidden\n+0000c390: 2073 7572 6661 6365 0a61 6c67 6f72 6974 surface.algorit\n+0000c3a0: 686d 2c20 e280 9873 6b65 7463 68e2 8099 hm, ...sketch...\n+0000c3b0: 206d 7573 7420 636f 7079 2074 6865 2065 must copy the e\n+0000c3c0: 6467 6520 6f70 7469 6f6e 7320 746f 20e2 dge options to .\n+0000c3d0: 8098 7073 6c69 6e65 e280 9973 2066 6f72 ..psline...s for\n+0000c3e0: 2074 6865 2065 6467 650a 7365 676d 656e the edge.segmen\n+0000c3f0: 7473 2061 6e64 2074 6865 2066 6163 6520 ts and the face \n+0000c400: 6f70 7469 6f6e 7320 746f 20e2 8098 7073 options to ...ps\n+0000c410: 706f 6c79 676f 6ee2 8099 732e 2020 e280 polygon...s. ..\n+0000c420: 9854 696b 5a2f 5047 46e2 8099 206f 7074 .TikZ/PGF... opt\n+0000c430: 696f 6e73 206b 6e6f 776e 0a74 6f20 e280 ions known.to ..\n+0000c440: 9873 6b65 7463 68e2 8099 2066 6f72 2070 .sketch... for p\n+0000c450: 7572 706f 7365 7320 6f66 2074 6869 7320 urposes of this \n+0000c460: 7370 6c69 7474 696e 6720 6f70 6572 6174 splitting operat\n+0000c470: 696f 6e20 696e 636c 7564 6520 e280 9861 ion include ...a\n+0000c480: 7272 6f77 73e2 8099 2c0a e280 9863 6170 rrows...,....cap\n+0000c490: e280 992c 20e2 8098 636f 6c6f 72e2 8099 ..., ...color...\n+0000c4a0: 2c20 e280 9864 6173 6820 7061 7474 6572 , ...dash patter\n+0000c4b0: 6ee2 8099 2c20 e280 9864 6173 6820 7068 n..., ...dash ph\n+0000c4c0: 6173 65e2 8099 2c20 e280 9864 6f75 626c ase..., ...doubl\n+0000c4d0: 65e2 8099 2c20 e280 9864 6f75 626c 650a e..., ...double.\n+0000c4e0: 6469 7374 616e 6365 e280 992c 20e2 8098 distance..., ...\n+0000c4f0: 6472 6177 e280 992c 20e2 8098 6472 6177 draw..., ...draw\n+0000c500: 206f 7061 6369 7479 e280 992c 20e2 8098 opacity..., ...\n+0000c510: 6669 6c6c e280 992c 20e2 8098 6669 6c6c fill..., ...fill\n+0000c520: 206f 7061 6369 7479 e280 992c 20e2 8098 opacity..., ...\n+0000c530: 6a6f 696e e280 992c 20e2 8098 6c69 6e65 join..., ...line\n+0000c540: 0a77 6964 7468 e280 992c 20e2 8098 6d69 .width..., ...mi\n+0000c550: 7465 7220 6c69 6d69 74e2 8099 2c20 e280 ter limit..., ..\n+0000c560: 9870 6174 7465 726e e280 992c 20e2 8098 .pattern..., ...\n+0000c570: 7061 7474 6572 6e20 636f 6c6f 72e2 8099 pattern color...\n+0000c580: 2c20 616e 6420 e280 9873 7479 6c65 e280 , and ...style..\n+0000c590: 992e 0a0a 2020 2054 6865 20e2 8098 7374 .... The ...st\n+0000c5a0: 796c 65e2 8099 206f 7074 696f 6e20 6361 yle... option ca\n+0000c5b0: 6e20 636f 6e74 6169 6e20 626f 7468 2066 n contain both f\n+0000c5c0: 6163 6520 616e 6420 6564 6765 2069 6e66 ace and edge inf\n+0000c5d0: 6f72 6d61 7469 6f6e 2c20 736f 0ae2 8098 ormation, so....\n+0000c5e0: 736b 6574 6368 e280 9920 6d75 7374 2063 sketch... must c\n+0000c5f0: 6865 636b 2074 6865 2073 7479 6c65 2076 heck the style v\n+0000c600: 616c 7565 2e20 2056 616c 7565 7320 6b6e alue. Values kn\n+0000c610: 6f77 6e20 746f 20e2 8098 736b 6574 6368 own to ...sketch\n+0000c620: e280 9920 696e 636c 7564 650a e280 9864 ... include....d\n+0000c630: 6173 6865 64e2 8099 2c20 e280 9864 656e ashed..., ...den\n+0000c640: 7365 6c79 2064 6173 6865 64e2 8099 2c20 sely dashed..., \n+0000c650: e280 9864 656e 7365 6c79 2064 6f74 7465 ...densely dotte\n+0000c660: 64e2 8099 2c20 e280 9864 6f74 7465 64e2 d..., ...dotted.\n+0000c670: 8099 2c20 e280 9864 6f75 626c 65e2 8099 .., ...double...\n+0000c680: 2c0a e280 986c 6f6f 7365 6c79 2064 6173 ,....loosely das\n+0000c690: 6865 64e2 8099 2c20 e280 986c 6f6f 7365 hed..., ...loose\n+0000c6a0: 6c79 2064 6f74 7465 64e2 8099 2c20 e280 ly dotted..., ..\n+0000c6b0: 986e 6561 726c 7920 6f70 6171 7565 e280 .nearly opaque..\n+0000c6c0: 992c 20e2 8098 6e65 6172 6c79 0a74 7261 ., ...nearly.tra\n+0000c6d0: 6e73 7061 7265 6e74 e280 992c 20e2 8098 nsparent..., ...\n+0000c6e0: 7365 6d69 7468 6963 6be2 8099 2c20 e280 semithick..., ..\n+0000c6f0: 9873 656d 6974 7261 6e73 7061 7265 6e74 .semitransparent\n+0000c700: e280 992c 20e2 8098 736f 6c69 64e2 8099 ..., ...solid...\n+0000c710: 2c20 e280 9874 6869 636b e280 992c 20e2 , ...thick..., .\n+0000c720: 8098 7468 696e e280 992c 0ae2 8098 7472 ..thin...,....tr\n+0000c730: 616e 7370 6172 656e 74e2 8099 2c20 e280 ansparent..., ..\n+0000c740: 9875 6c74 7261 206e 6561 726c 7920 7472 .ultra nearly tr\n+0000c750: 616e 7370 6172 656e 74e2 8099 2c20 e280 ansparent..., ..\n+0000c760: 9875 6c74 7261 2074 6869 636b e280 992c .ultra thick...,\n+0000c770: 20e2 8098 756c 7472 6120 7468 696e e280 ...ultra thin..\n+0000c780: 992c 0ae2 8098 7665 7279 206e 6561 726c .,....very nearl\n+0000c790: 7920 7472 616e 7370 6172 656e 74e2 8099 y transparent...\n+0000c7a0: 2c20 e280 9876 6572 7920 7468 6963 6be2 , ...very thick.\n+0000c7b0: 8099 2c20 616e 6420 e280 9876 6572 7920 .., and ...very \n+0000c7c0: 7468 696e e280 992e 0a0a 1f0a 4669 6c65 thin........File\n+0000c7d0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+0000c7e0: 4e6f 6465 3a20 446f 7473 2069 6e20 5469 Node: Dots in Ti\n+0000c7f0: 6b5a 2f50 4746 2c20 204e 6578 743a 2054 kZ/PGF, Next: T\n+0000c800: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def\n+0000c810: 696e 6564 2073 7479 6c65 732c 2020 5072 ined styles, Pr\n+0000c820: 6576 3a20 5469 6b5a 2f50 4746 206f 7074 ev: TikZ/PGF opt\n+0000c830: 696f 6e73 2c20 2055 703a 204f 7074 696f ions, Up: Optio\n+0000c840: 6e73 0a0a 332e 312e 352e 3320 446f 7473 ns..3.1.5.3 Dots\n+0000c850: 2069 6e20 e280 9854 696b 5a2f 5047 46e2 in ...TikZ/PGF.\n+0000c860: 8099 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+0000c870: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0ae2 ................\n+0000c880: 8098 5469 6b5a 2f50 4746 e280 9920 646f ..TikZ/PGF... do\n+0000c890: 6573 206e 6f74 2068 6176 6520 6120 e280 es not have a ..\n+0000c8a0: 9864 6f74 73e2 8099 2063 6f6d 6d61 6e64 .dots... command\n+0000c8b0: 2061 7320 646f 6573 2050 5354 7269 636b as does PSTrick\n+0000c8c0: 732e 2020 496e 7374 6561 642c 0ae2 8098 s. Instead,....\n+0000c8d0: 536b 6574 6368 e280 9920 656d 6974 7320 Sketch... emits \n+0000c8e0: 646f 7473 2061 7320 e280 9866 696c 6c64 dots as ...filld\n+0000c8f0: 7261 77e2 8099 2063 6972 636c 6573 2e20 raw... circles. \n+0000c900: 2054 6865 2064 6961 6d65 7465 7220 6d61 The diameter ma\n+0000c910: 7920 6265 2073 6574 0a75 7369 6e67 2074 y be set.using t\n+0000c920: 6865 206f 7074 696f 6e20 e280 9864 6f74 he option ...dot\n+0000c930: 7369 7a65 e280 9920 626f 7272 6f77 6564 size... borrowed\n+0000c940: 2066 726f 6d20 5053 5472 6963 6b73 2e20 from PSTricks. \n+0000c950: 2054 6865 20e2 8098 646f 7473 697a 65e2 The ...dotsize.\n+0000c960: 8099 206f 7074 696f 6e0a 7769 6c6c 2062 .. option.will b\n+0000c970: 6520 7265 6d6f 7665 6420 6672 6f6d 2074 e removed from t\n+0000c980: 6865 206f 7074 696f 6e20 6c69 7374 2069 he option list i\n+0000c990: 6e20 7468 6520 6f75 7470 7574 20e2 8098 n the output ...\n+0000c9a0: 6669 6c6c 6472 6177 e280 9920 636f 6d6d filldraw... comm\n+0000c9b0: 616e 642e 0a4f 7468 6572 206f 7074 696f and..Other optio\n+0000c9c0: 6e73 2077 6f72 6b20 696e 2074 6865 2065 ns work in the e\n+0000c9d0: 7870 6563 7465 6420 7761 792e 2020 466f xpected way. Fo\n+0000c9e0: 7220 6578 616d 706c 652c 20e2 8098 6669 r example, ...fi\n+0000c9f0: 6c6c e280 9920 7365 7473 2066 696c 6c0a ll... sets fill.\n+0000ca00: 636f 6c6f 7220 616e 6420 e280 9863 6f6c color and ...col\n+0000ca10: 6f72 e280 9920 7365 7473 206c 696e 6520 or... sets line \n+0000ca20: 636f 6c6f 7220 6f66 2074 6865 2063 6972 color of the cir\n+0000ca30: 636c 6573 2e0a 0a1f 0a46 696c 653a 2073 cles.....File: s\n+0000ca40: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+0000ca50: 653a 2054 696b 5a2f 5047 4620 7573 6572 e: TikZ/PGF user\n+0000ca60: 2d64 6566 696e 6564 2073 7479 6c65 732c -defined styles,\n+0000ca70: 2020 4e65 7874 3a20 5472 616e 7370 6172 Next: Transpar\n+0000ca80: 656e 6379 2c20 2050 7265 763a 2044 6f74 ency, Prev: Dot\n+0000ca90: 7320 696e 2054 696b 5a2f 5047 462c 2020 s in TikZ/PGF, \n+0000caa0: 5570 3a20 4f70 7469 6f6e 730a 0a33 2e31 Up: Options..3.1\n+0000cab0: 2e35 2e34 20e2 8098 5469 6b5a 2f50 4746 .5.4 ...TikZ/PGF\n+0000cac0: e280 9920 7573 6572 2d64 6566 696e 6564 ... user-defined\n+0000cad0: 2073 7479 6c65 730a 2e2e 2e2e 2e2e 2e2e styles.........\n 0000cae0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000caf0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000cb00: 2e2e 2e2e 0a0a e280 9854 696b 5a2f 5047 .........TikZ/PG\n-0000cb10: 46e2 8099 2061 6c6c 6f77 7320 6e61 6d65 F... allows name\n-0000cb20: 6420 7374 796c 6573 2064 6566 696e 6564 d styles defined\n-0000cb30: 2062 7920 7468 6520 7573 6572 2c20 666f by the user, fo\n-0000cb40: 7220 6578 616d 706c 650a 2020 5c74 696b r example. \\tik\n-0000cb50: 7a73 7479 6c65 7b6d 7970 6f6c 7967 6f6e zstyle{mypolygon\n-0000cb60: 7374 796c 657d 203d 205b 6669 6c6c 3d62 style} = [fill=b\n-0000cb70: 6c75 6521 3230 2c66 696c 6c20 6f70 6163 lue!20,fill opac\n-0000cb80: 6974 793d 302e 385d 2020 0a20 205c 7469 ity=0.8] . \\ti\n-0000cb90: 6b7a 7374 796c 657b 6d79 6c69 6e65 7374 kzstyle{mylinest\n-0000cba0: 796c 657d 203d 205b 7265 6421 3230 2c64 yle} = [red!20,d\n-0000cbb0: 6173 6865 645d 0a53 696e 6365 20e2 8098 ashed].Since ...\n-0000cbc0: 736b 6574 6368 e280 9920 6861 7320 6e6f sketch... has no\n-0000cbd0: 2069 6e66 6f72 6d61 7469 6f6e 206f 6e20 information on \n-0000cbe0: 7468 6520 636f 6e74 656e 7473 206f 6620 the contents of \n-0000cbf0: 7375 6368 2073 7479 6c65 732c 2069 740a such styles, it.\n-0000cc00: 6f6d 6974 7320 7468 656d 2065 6e74 6972 omits them entir\n-0000cc10: 656c 7920 6672 6f6d 206c 696e 6573 2c20 ely from lines, \n-0000cc20: 706f 6c79 676f 6e73 2c20 616e 6420 7468 polygons, and th\n-0000cc30: 6569 7220 6564 6765 7320 6475 7269 6e67 eir edges during\n-0000cc40: 206f 7074 696f 6e0a 7370 6c69 7474 696e option.splittin\n-0000cc50: 672e 2020 466f 7220 6578 616d 706c 652c g. For example,\n-0000cc60: 0a20 2070 6f6c 7967 6f6e 5b73 7479 6c65 . polygon[style\n-0000cc70: 3d6d 7970 6f6c 7967 6f6e 7374 796c 652c =mypolygonstyle,\n-0000cc80: 7374 796c 653d 7468 6963 6b5d 2830 2c30 style=thick](0,0\n-0000cc90: 2c31 2928 312c 302c 3029 2830 2c31 2c30 ,1)(1,0,0)(0,1,0\n-0000cca0: 290a 2020 6c69 6e65 5b73 7479 6c65 3d6d ). line[style=m\n-0000ccb0: 796c 696e 6573 7479 6c65 5d28 2d31 2c2d ylinestyle](-1,-\n-0000ccc0: 312c 2d31 2928 322c 322c 3229 0a70 726f 1,-1)(2,2,2).pro\n-0000ccd0: 6475 6365 7320 7468 6520 e280 9854 696b duces the ...Tik\n-0000cce0: 5ae2 8099 206f 7574 7075 740a 2020 5c64 Z... output. \\d\n-0000ccf0: 7261 7728 2d31 2c2d 3129 2d2d 282e 3333 raw(-1,-1)--(.33\n-0000cd00: 332c 2e33 3333 293b 0a20 205c 6669 6c6c 3,.333);. \\fill\n-0000cd10: 6472 6177 5b74 6869 636b 2c66 696c 6c3d draw[thick,fill=\n-0000cd20: 7768 6974 655d 2830 2c30 292d 2d28 312c white](0,0)--(1,\n-0000cd30: 3029 2d2d 2830 2c31 292d 2d63 7963 6c65 0)--(0,1)--cycle\n-0000cd40: 3b0a 2020 5c64 7261 7728 2e33 3333 2c2e ;. \\draw(.333,.\n-0000cd50: 3333 3329 2d2d 2832 2c32 293b 0a4e 6f74 333)--(2,2);.Not\n-0000cd60: 6520 7468 6174 2074 6865 2075 7365 722d e that the user-\n-0000cd70: 6465 6669 6e65 6420 7374 796c 6573 2061 defined styles a\n-0000cd80: 7265 206e 6f74 2070 7265 7365 6e74 2e20 re not present. \n-0000cd90: 2053 6b65 7463 6820 616c 736f 2069 7373 Sketch also iss\n-0000cda0: 7565 730a 7761 726e 696e 6773 3a0a 2020 ues.warnings:. \n-0000cdb0: 7761 726e 696e 672c 2075 6e6b 6e6f 776e warning, unknown\n-0000cdc0: 2070 6f6c 7967 6f6e 206f 7074 696f 6e20 polygon option \n-0000cdd0: 7374 796c 653d 6d79 706f 6c79 676f 6e73 style=mypolygons\n-0000cde0: 7479 6c65 2077 696c 6c20 6265 2069 676e tyle will be ign\n-0000cdf0: 6f72 6564 0a20 2077 6172 6e69 6e67 2c20 ored. warning, \n-0000ce00: 756e 6b6e 6f77 6e20 6c69 6e65 206f 7074 unknown line opt\n-0000ce10: 696f 6e20 7374 796c 653d 6d79 6c69 6e65 ion style=myline\n-0000ce20: 7374 796c 6520 7769 6c6c 2062 6520 6967 style will be ig\n-0000ce30: 6e6f 7265 640a 0a20 2020 5468 6520 7265 nored.. The re\n-0000ce40: 6d65 6479 2069 7320 746f 2073 7461 7465 medy is to state\n-0000ce50: 2065 7870 6c69 6369 746c 7920 7768 6574 explicitly whet\n-0000ce60: 6865 7220 6120 7573 6572 2d64 6566 696e her a user-defin\n-0000ce70: 6564 2073 7479 6c65 2073 686f 756c 640a ed style should.\n-0000ce80: 6265 2061 7474 6368 6564 2074 6f20 706f be attched to po\n-0000ce90: 6c79 676f 6e73 206f 7220 6c69 6e65 7320 lygons or lines \n-0000cea0: 696e 2074 6865 20e2 8098 5469 6b5a e280 in the ...TikZ..\n-0000ceb0: 9920 6f75 7470 7574 2075 7369 6e67 0a5f . output using._\n-0000cec0: 7073 6575 646f 2d6f 7074 696f 6e73 5f20 pseudo-options_ \n-0000ced0: e280 9866 696c 6c20 7374 796c 65e2 8099 ...fill style...\n-0000cee0: 2061 6e64 20e2 8098 6c69 6e65 2073 7479 and ...line sty\n-0000cef0: 6c65 e280 992c 0a20 2070 6f6c 7967 6f6e le...,. polygon\n-0000cf00: 5b66 696c 6c20 7374 796c 653d 6d79 706f [fill style=mypo\n-0000cf10: 6c79 676f 6e73 7479 6c65 2c73 7479 6c65 lygonstyle,style\n-0000cf20: 3d74 6869 636b 5d28 302c 302c 3129 2831 =thick](0,0,1)(1\n-0000cf30: 2c30 2c30 2928 302c 312c 3029 0a20 206c ,0,0)(0,1,0). l\n-0000cf40: 696e 655b 6c69 6e65 2073 7479 6c65 3d6d ine[line style=m\n-0000cf50: 796c 696e 6573 7479 6c65 5d28 2d31 2c2d ylinestyle](-1,-\n-0000cf60: 312c 2d31 2928 322c 322c 3229 0a4e 6f77 1,-1)(2,2,2).Now\n-0000cf70: 2c20 7468 6520 6f75 7470 7574 2069 730a , the output is.\n-0000cf80: 2020 5c64 7261 775b 6d79 6c69 6e65 7374 \\draw[mylinest\n-0000cf90: 796c 655d 282d 312c 2d31 292d 2d28 2e33 yle](-1,-1)--(.3\n-0000cfa0: 3333 2c2e 3333 3329 3b0a 2020 5c66 696c 33,.333);. \\fil\n-0000cfb0: 6c64 7261 775b 6d79 706f 6c79 676f 6e73 ldraw[mypolygons\n-0000cfc0: 7479 6c65 2c74 6869 636b 5d28 302c 3029 tyle,thick](0,0)\n-0000cfd0: 2d2d 2831 2c30 292d 2d28 302c 3129 2d2d --(1,0)--(0,1)--\n-0000cfe0: 6379 636c 653b 0a20 205c 6472 6177 5b6d cycle;. \\draw[m\n-0000cff0: 796c 696e 6573 7479 6c65 5d28 2e33 3333 ylinestyle](.333\n-0000d000: 2c2e 3333 3329 2d2d 2832 2c32 293b 0a0a ,.333)--(2,2);..\n-0000d010: 2020 2041 2075 7365 6675 6c20 7465 6368 A useful tech\n-0000d020: 6e69 7175 6520 6973 2074 6f20 696e 636c nique is to incl\n-0000d030: 7564 6520 7573 6572 2d64 6566 696e 6564 ude user-defined\n-0000d040: 2073 7479 6c65 2064 6566 696e 6974 696f style definitio\n-0000d050: 6e73 2069 6e0a e280 9873 6b65 7463 68e2 ns in....sketch.\n-0000d060: 8099 2063 6f64 6520 6173 20e2 8098 7370 .. code as ...sp\n-0000d070: 6563 6961 6ce2 8099 7320 7769 7468 206f ecial...s with o\n-0000d080: 7074 696f 6e20 e280 985b 6c61 793d 756e ption ...[lay=un\n-0000d090: 6465 725d e280 9920 746f 2065 6e73 7572 der]... to ensur\n-0000d0a0: 6520 7468 6174 2074 6865 0a73 7479 6c65 e that the.style\n-0000d0b0: 7320 6172 6520 656d 6974 7465 6420 6669 s are emitted fi\n-0000d0c0: 7273 7420 696e 2074 6865 206f 7574 7075 rst in the outpu\n-0000d0d0: 742c 2062 6566 6f72 6520 616e 7920 7573 t, before any us\n-0000d0e0: 6573 206f 6620 7468 6520 7374 796c 650a es of the style.\n-0000d0f0: 6e61 6d65 732e 2020 2831 2920 2046 6f72 names. (1) For\n-0000d100: 2065 7861 6d70 6c65 2c0a 2020 7370 6563 example,. spec\n-0000d110: 6961 6c7c 5c74 696b 7a73 7479 6c65 7b6d ial|\\tikzstyle{m\n-0000d120: 7970 6f6c 7967 6f6e 7374 796c 657d 203d ypolygonstyle} =\n-0000d130: 205b 6669 6c6c 3d62 6c75 6521 3230 2c66 [fill=blue!20,f\n-0000d140: 696c 6c20 6f70 6163 6974 793d 302e 385d ill opacity=0.8]\n-0000d150: 7c5b 6c61 793d 756e 6465 725d 0a20 2073 |[lay=under]. s\n-0000d160: 7065 6369 616c 7c5c 7469 6b7a 7374 796c pecial|\\tikzstyl\n-0000d170: 657b 6d79 6c69 6e65 7374 796c 657d 203d e{mylinestyle} =\n-0000d180: 205b 7265 6421 3230 2c64 6173 6865 645d [red!20,dashed]\n-0000d190: 7c5b 6c61 793d 756e 6465 725d 0a54 6865 |[lay=under].The\n-0000d1a0: 2061 7574 686f 7220 6973 2072 6573 706f author is respo\n-0000d1b0: 6e73 6962 6c65 2066 6f72 2075 7369 6e67 nsible for using\n-0000d1c0: 2074 6865 206b 6579 2c20 e280 986c 696e the key, ...lin\n-0000d1d0: 6520 7374 796c 65e2 8099 206f 7220 e280 e style... or ..\n-0000d1e0: 9866 696c 6c0a 7374 796c 65e2 8099 2c20 .fill.style..., \n-0000d1f0: 7468 6174 206d 6174 6368 6573 2074 6865 that matches the\n-0000d200: 2063 6f6e 7465 6e74 206f 6620 7468 6520 content of the \n-0000d210: 7374 796c 6520 6465 6669 6e69 7469 6f6e style definition\n-0000d220: 2e0a 0a20 2020 2d2d 2d2d 2d2d 2d2d 2d2d ... ----------\n-0000d230: 2046 6f6f 746e 6f74 6573 202d 2d2d 2d2d Footnotes -----\n-0000d240: 2d2d 2d2d 2d0a 0a20 2020 2831 2920 5468 -----.. (1) Th\n-0000d250: 6973 2063 6c65 7665 7220 7472 6963 6b20 is clever trick \n-0000d260: 6973 2064 7565 2074 6f20 4b6a 656c 6c20 is due to Kjell \n-0000d270: 4d61 676e 6520 4661 7573 6b65 2e0a 0a1f Magne Fauske....\n-0000d280: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-0000d290: 666f 2c20 204e 6f64 653a 2054 7261 6e73 fo, Node: Trans\n-0000d2a0: 7061 7265 6e63 792c 2020 4e65 7874 3a20 parency, Next: \n-0000d2b0: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options\n-0000d2c0: 2c20 2050 7265 763a 2054 696b 5a2f 5047 , Prev: TikZ/PG\n-0000d2d0: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s\n-0000d2e0: 7479 6c65 732c 2020 5570 3a20 4f70 7469 tyles, Up: Opti\n-0000d2f0: 6f6e 730a 0a33 2e31 2e35 2e35 2054 7261 ons..3.1.5.5 Tra\n-0000d300: 6e73 7061 7265 6e63 790a 2e2e 2e2e 2e2e nsparency.......\n-0000d310: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................\n-0000d320: 426f 7468 20e2 8098 5053 5472 6963 6b73 Both ...PSTricks\n-0000d330: e280 9920 616e 6420 e280 9854 696b 5a2f ... and ...TikZ/\n-0000d340: 5047 46e2 8099 2073 7570 706f 7274 2070 PGF... support p\n-0000d350: 6f6c 7967 6f6e 206f 7074 696f 6e73 2074 olygon options t\n-0000d360: 6861 7420 6861 7665 2074 6865 0a65 6666 hat have the.eff\n-0000d370: 6563 7420 6f66 206d 616b 696e 6720 7468 ect of making th\n-0000d380: 6520 706f 6c79 676f 6e20 6170 7065 6172 e polygon appear\n-0000d390: 2074 7261 6e73 7061 7265 6e74 2e20 2046 transparent. F\n-0000d3a0: 6f72 20e2 8098 5053 5472 6963 6b73 e280 or ...PSTricks..\n-0000d3b0: 992c 0a6b 6579 776f 7264 20e2 8098 7472 .,.keyword ...tr\n-0000d3c0: 616e 7370 616c 7068 61e2 8099 2077 6173 anspalpha... was\n-0000d3d0: 2075 7365 6420 6475 7269 6e67 2069 6e69 used during ini\n-0000d3e0: 7469 616c 2064 6576 656c 6f70 6d65 6e74 tial development\n-0000d3f0: 206f 660a 7472 616e 7370 6172 656e 6379 of.transparency\n-0000d400: 2066 6561 7475 7265 732c 2061 6e64 20e2 features, and .\n-0000d410: 8098 6f70 6163 6974 79e2 8099 2077 6173 ..opacity... was\n-0000d420: 2061 646f 7074 6564 206c 6174 6572 2e20 adopted later. \n-0000d430: 20e2 8098 536b 6574 6368 e280 9920 686f ...Sketch... ho\n-0000d440: 6e6f 7273 0a62 6f74 682e 2020 e280 9854 nors.both. ...T\n-0000d450: 696b 5a2f 5047 46e2 8099 2075 7365 7320 ikZ/PGF... uses \n-0000d460: e280 986f 7061 6369 7479 e280 9920 6f6e ...opacity... on\n-0000d470: 6c79 2e20 2057 6865 6e20 7472 616e 7370 ly. When transp\n-0000d480: 6172 656e 7420 706f 6c79 676f 6e73 2061 arent polygons a\n-0000d490: 7265 2069 6e0a 7468 6520 666f 7265 6772 re in.the foregr\n-0000d4a0: 6f75 6e64 2c20 6f62 6a65 6374 7320 6265 ound, objects be\n-0000d4b0: 6869 6e64 2074 6865 6d20 2864 7261 776e hind them (drawn\n-0000d4c0: 2065 6172 6c69 6572 2920 6172 6520 7669 earlier) are vi\n-0000d4d0: 7369 626c 6520 7769 7468 0a63 6f6c 6f72 sible with.color\n-0000d4e0: 2073 7562 6475 6564 2061 6e64 2074 696e subdued and tin\n-0000d4f0: 7465 642e 2020 5468 6520 6869 6464 656e ted. The hidden\n-0000d500: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit\n-0000d510: 686d 206f 6620 e280 9873 6b65 7463 68e2 hm of ...sketch.\n-0000d520: 8099 0a77 6f72 6b73 2077 656c 6c20 7769 ...works well wi\n-0000d530: 7468 2073 7563 6820 7472 616e 7370 6172 th such transpar\n-0000d540: 656e 7420 706f 6c79 676f 6e73 2e0a 0a20 ent polygons... \n-0000d550: 2020 4e6f 7465 2074 6861 7420 6375 6c6c Note that cull\n-0000d560: 3d66 616c 7365 206d 7573 7420 6265 2075 =false must be u\n-0000d570: 7365 6420 666f 7220 7265 6172 2d66 6163 sed for rear-fac\n-0000d580: 696e 6720 706f 6c79 676f 6e73 2074 6f20 ing polygons to \n-0000d590: 6265 0a76 6973 6962 6c65 2077 6865 6e20 be.visible when \n-0000d5a0: 706f 7369 7469 6f6e 6564 2062 6568 696e positioned behin\n-0000d5b0: 6420 6f74 6865 7220 7472 616e 7370 6172 d other transpar\n-0000d5c0: 656e 7420 7375 7266 6163 6573 2e0a 0a1f ent surfaces....\n-0000d5d0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-0000d5e0: 666f 2c20 204e 6f64 653a 2049 6e74 6572 fo, Node: Inter\n-0000d5f0: 6e61 6c20 6f70 7469 6f6e 732c 2020 5072 nal options, Pr\n-0000d600: 6576 3a20 5472 616e 7370 6172 656e 6379 ev: Transparency\n-0000d610: 2c20 2055 703a 204f 7074 696f 6e73 0a0a , Up: Options..\n-0000d620: 332e 312e 352e 3620 496e 7465 726e 616c 3.1.5.6 Internal\n-0000d630: 206f 7074 696f 6e73 0a2e 2e2e 2e2e 2e2e options........\n-0000d640: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000d650: 2e0a 0a54 6865 7265 2061 7265 2061 6c73 ...There are als\n-0000d660: 6f20 5f69 6e74 6572 6e61 6c5f 206f 7074 o _internal_ opt\n-0000d670: 696f 6e73 2075 7365 6420 6f6e 6c79 2062 ions used only b\n-0000d680: 7920 e280 9873 6b65 7463 68e2 8099 2061 y ...sketch... a\n-0000d690: 6e64 206e 6f74 2070 6173 7365 640a 6f6e nd not passed.on\n-0000d6a0: 2074 6f20 e280 9850 5354 7269 636b 73e2 to ...PSTricks.\n-0000d6b0: 8099 2e20 2054 6865 7365 2061 7265 2073 ... These are s\n-0000d6c0: 756d 6d61 7269 7a65 6420 696e 2074 6865 ummarized in the\n-0000d6d0: 2066 6f6c 6c6f 7769 6e67 2074 6162 6c65 following table\n-0000d6e0: 2e0a 4b65 7920 2020 2020 2020 506f 7373 ..Key Poss\n-0000d6f0: 6962 6c65 2076 616c 7565 7320 2020 2020 ible values \n-0000d700: 2020 2020 4465 7363 7269 7074 696f 6e0a Description.\n+0000caf0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................\n+0000cb00: e280 9854 696b 5a2f 5047 46e2 8099 2061 ...TikZ/PGF... a\n+0000cb10: 6c6c 6f77 7320 6e61 6d65 6420 7374 796c llows named styl\n+0000cb20: 6573 2064 6566 696e 6564 2062 7920 7468 es defined by th\n+0000cb30: 6520 7573 6572 2c20 666f 7220 6578 616d e user, for exam\n+0000cb40: 706c 650a 2020 5c74 696b 7a73 7479 6c65 ple. \\tikzstyle\n+0000cb50: 7b6d 7970 6f6c 7967 6f6e 7374 796c 657d {mypolygonstyle}\n+0000cb60: 203d 205b 6669 6c6c 3d62 6c75 6521 3230 = [fill=blue!20\n+0000cb70: 2c66 696c 6c20 6f70 6163 6974 793d 302e ,fill opacity=0.\n+0000cb80: 385d 2020 0a20 205c 7469 6b7a 7374 796c 8] . \\tikzstyl\n+0000cb90: 657b 6d79 6c69 6e65 7374 796c 657d 203d e{mylinestyle} =\n+0000cba0: 205b 7265 6421 3230 2c64 6173 6865 645d [red!20,dashed]\n+0000cbb0: 0a53 696e 6365 20e2 8098 736b 6574 6368 .Since ...sketch\n+0000cbc0: e280 9920 6861 7320 6e6f 2069 6e66 6f72 ... has no infor\n+0000cbd0: 6d61 7469 6f6e 206f 6e20 7468 6520 636f mation on the co\n+0000cbe0: 6e74 656e 7473 206f 6620 7375 6368 2073 ntents of such s\n+0000cbf0: 7479 6c65 732c 2069 740a 6f6d 6974 7320 tyles, it.omits \n+0000cc00: 7468 656d 2065 6e74 6972 656c 7920 6672 them entirely fr\n+0000cc10: 6f6d 206c 696e 6573 2c20 706f 6c79 676f om lines, polygo\n+0000cc20: 6e73 2c20 616e 6420 7468 6569 7220 6564 ns, and their ed\n+0000cc30: 6765 7320 6475 7269 6e67 206f 7074 696f ges during optio\n+0000cc40: 6e0a 7370 6c69 7474 696e 672e 2020 466f n.splitting. Fo\n+0000cc50: 7220 6578 616d 706c 652c 0a20 2070 6f6c r example,. pol\n+0000cc60: 7967 6f6e 5b73 7479 6c65 3d6d 7970 6f6c ygon[style=mypol\n+0000cc70: 7967 6f6e 7374 796c 652c 7374 796c 653d ygonstyle,style=\n+0000cc80: 7468 6963 6b5d 2830 2c30 2c31 2928 312c thick](0,0,1)(1,\n+0000cc90: 302c 3029 2830 2c31 2c30 290a 2020 6c69 0,0)(0,1,0). li\n+0000cca0: 6e65 5b73 7479 6c65 3d6d 796c 696e 6573 ne[style=mylines\n+0000ccb0: 7479 6c65 5d28 2d31 2c2d 312c 2d31 2928 tyle](-1,-1,-1)(\n+0000ccc0: 322c 322c 3229 0a70 726f 6475 6365 7320 2,2,2).produces \n+0000ccd0: 7468 6520 e280 9854 696b 5ae2 8099 206f the ...TikZ... o\n+0000cce0: 7574 7075 740a 2020 5c64 7261 7728 2d31 utput. \\draw(-1\n+0000ccf0: 2c2d 3129 2d2d 282e 3333 332c 2e33 3333 ,-1)--(.333,.333\n+0000cd00: 293b 0a20 205c 6669 6c6c 6472 6177 5b74 );. \\filldraw[t\n+0000cd10: 6869 636b 2c66 696c 6c3d 7768 6974 655d hick,fill=white]\n+0000cd20: 2830 2c30 292d 2d28 312c 3029 2d2d 2830 (0,0)--(1,0)--(0\n+0000cd30: 2c31 292d 2d63 7963 6c65 3b0a 2020 5c64 ,1)--cycle;. \\d\n+0000cd40: 7261 7728 2e33 3333 2c2e 3333 3329 2d2d raw(.333,.333)--\n+0000cd50: 2832 2c32 293b 0a4e 6f74 6520 7468 6174 (2,2);.Note that\n+0000cd60: 2074 6865 2075 7365 722d 6465 6669 6e65 the user-define\n+0000cd70: 6420 7374 796c 6573 2061 7265 206e 6f74 d styles are not\n+0000cd80: 2070 7265 7365 6e74 2e20 2053 6b65 7463 present. Sketc\n+0000cd90: 6820 616c 736f 2069 7373 7565 730a 7761 h also issues.wa\n+0000cda0: 726e 696e 6773 3a0a 2020 7761 726e 696e rnings:. warnin\n+0000cdb0: 672c 2075 6e6b 6e6f 776e 2070 6f6c 7967 g, unknown polyg\n+0000cdc0: 6f6e 206f 7074 696f 6e20 7374 796c 653d on option style=\n+0000cdd0: 6d79 706f 6c79 676f 6e73 7479 6c65 2077 mypolygonstyle w\n+0000cde0: 696c 6c20 6265 2069 676e 6f72 6564 0a20 ill be ignored. \n+0000cdf0: 2077 6172 6e69 6e67 2c20 756e 6b6e 6f77 warning, unknow\n+0000ce00: 6e20 6c69 6e65 206f 7074 696f 6e20 7374 n line option st\n+0000ce10: 796c 653d 6d79 6c69 6e65 7374 796c 6520 yle=mylinestyle \n+0000ce20: 7769 6c6c 2062 6520 6967 6e6f 7265 640a will be ignored.\n+0000ce30: 0a20 2020 5468 6520 7265 6d65 6479 2069 . The remedy i\n+0000ce40: 7320 746f 2073 7461 7465 2065 7870 6c69 s to state expli\n+0000ce50: 6369 746c 7920 7768 6574 6865 7220 6120 citly whether a \n+0000ce60: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty\n+0000ce70: 6c65 2073 686f 756c 640a 6265 2061 7474 le should.be att\n+0000ce80: 6368 6564 2074 6f20 706f 6c79 676f 6e73 ched to polygons\n+0000ce90: 206f 7220 6c69 6e65 7320 696e 2074 6865 or lines in the\n+0000cea0: 20e2 8098 5469 6b5a e280 9920 6f75 7470 ...TikZ... outp\n+0000ceb0: 7574 2075 7369 6e67 0a5f 7073 6575 646f ut using._pseudo\n+0000cec0: 2d6f 7074 696f 6e73 5f20 e280 9866 696c -options_ ...fil\n+0000ced0: 6c20 7374 796c 65e2 8099 2061 6e64 20e2 l style... and .\n+0000cee0: 8098 6c69 6e65 2073 7479 6c65 e280 992c ..line style...,\n+0000cef0: 0a20 2070 6f6c 7967 6f6e 5b66 696c 6c20 . polygon[fill \n+0000cf00: 7374 796c 653d 6d79 706f 6c79 676f 6e73 style=mypolygons\n+0000cf10: 7479 6c65 2c73 7479 6c65 3d74 6869 636b tyle,style=thick\n+0000cf20: 5d28 302c 302c 3129 2831 2c30 2c30 2928 ](0,0,1)(1,0,0)(\n+0000cf30: 302c 312c 3029 0a20 206c 696e 655b 6c69 0,1,0). line[li\n+0000cf40: 6e65 2073 7479 6c65 3d6d 796c 696e 6573 ne style=mylines\n+0000cf50: 7479 6c65 5d28 2d31 2c2d 312c 2d31 2928 tyle](-1,-1,-1)(\n+0000cf60: 322c 322c 3229 0a4e 6f77 2c20 7468 6520 2,2,2).Now, the \n+0000cf70: 6f75 7470 7574 2069 730a 2020 5c64 7261 output is. \\dra\n+0000cf80: 775b 6d79 6c69 6e65 7374 796c 655d 282d w[mylinestyle](-\n+0000cf90: 312c 2d31 292d 2d28 2e33 3333 2c2e 3333 1,-1)--(.333,.33\n+0000cfa0: 3329 3b0a 2020 5c66 696c 6c64 7261 775b 3);. \\filldraw[\n+0000cfb0: 6d79 706f 6c79 676f 6e73 7479 6c65 2c74 mypolygonstyle,t\n+0000cfc0: 6869 636b 5d28 302c 3029 2d2d 2831 2c30 hick](0,0)--(1,0\n+0000cfd0: 292d 2d28 302c 3129 2d2d 6379 636c 653b )--(0,1)--cycle;\n+0000cfe0: 0a20 205c 6472 6177 5b6d 796c 696e 6573 . \\draw[mylines\n+0000cff0: 7479 6c65 5d28 2e33 3333 2c2e 3333 3329 tyle](.333,.333)\n+0000d000: 2d2d 2832 2c32 293b 0a0a 2020 2041 2075 --(2,2);.. A u\n+0000d010: 7365 6675 6c20 7465 6368 6e69 7175 6520 seful technique \n+0000d020: 6973 2074 6f20 696e 636c 7564 6520 7573 is to include us\n+0000d030: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style\n+0000d040: 2064 6566 696e 6974 696f 6e73 2069 6e0a definitions in.\n+0000d050: e280 9873 6b65 7463 68e2 8099 2063 6f64 ...sketch... cod\n+0000d060: 6520 6173 20e2 8098 7370 6563 6961 6ce2 e as ...special.\n+0000d070: 8099 7320 7769 7468 206f 7074 696f 6e20 ..s with option \n+0000d080: e280 985b 6c61 793d 756e 6465 725d e280 ...[lay=under]..\n+0000d090: 9920 746f 2065 6e73 7572 6520 7468 6174 . to ensure that\n+0000d0a0: 2074 6865 0a73 7479 6c65 7320 6172 6520 the.styles are \n+0000d0b0: 656d 6974 7465 6420 6669 7273 7420 696e emitted first in\n+0000d0c0: 2074 6865 206f 7574 7075 742c 2062 6566 the output, bef\n+0000d0d0: 6f72 6520 616e 7920 7573 6573 206f 6620 ore any uses of \n+0000d0e0: 7468 6520 7374 796c 650a 6e61 6d65 732e the style.names.\n+0000d0f0: 2020 2831 2920 2046 6f72 2065 7861 6d70 (1) For examp\n+0000d100: 6c65 2c0a 2020 7370 6563 6961 6c7c 5c74 le,. special|\\t\n+0000d110: 696b 7a73 7479 6c65 7b6d 7970 6f6c 7967 ikzstyle{mypolyg\n+0000d120: 6f6e 7374 796c 657d 203d 205b 6669 6c6c onstyle} = [fill\n+0000d130: 3d62 6c75 6521 3230 2c66 696c 6c20 6f70 =blue!20,fill op\n+0000d140: 6163 6974 793d 302e 385d 7c5b 6c61 793d acity=0.8]|[lay=\n+0000d150: 756e 6465 725d 0a20 2073 7065 6369 616c under]. special\n+0000d160: 7c5c 7469 6b7a 7374 796c 657b 6d79 6c69 |\\tikzstyle{myli\n+0000d170: 6e65 7374 796c 657d 203d 205b 7265 6421 nestyle} = [red!\n+0000d180: 3230 2c64 6173 6865 645d 7c5b 6c61 793d 20,dashed]|[lay=\n+0000d190: 756e 6465 725d 0a54 6865 2061 7574 686f under].The autho\n+0000d1a0: 7220 6973 2072 6573 706f 6e73 6962 6c65 r is responsible\n+0000d1b0: 2066 6f72 2075 7369 6e67 2074 6865 206b for using the k\n+0000d1c0: 6579 2c20 e280 986c 696e 6520 7374 796c ey, ...line styl\n+0000d1d0: 65e2 8099 206f 7220 e280 9866 696c 6c0a e... or ...fill.\n+0000d1e0: 7374 796c 65e2 8099 2c20 7468 6174 206d style..., that m\n+0000d1f0: 6174 6368 6573 2074 6865 2063 6f6e 7465 atches the conte\n+0000d200: 6e74 206f 6620 7468 6520 7374 796c 6520 nt of the style \n+0000d210: 6465 6669 6e69 7469 6f6e 2e0a 0a20 2020 definition... \n+0000d220: 2d2d 2d2d 2d2d 2d2d 2d2d 2046 6f6f 746e ---------- Footn\n+0000d230: 6f74 6573 202d 2d2d 2d2d 2d2d 2d2d 2d0a otes ----------.\n+0000d240: 0a20 2020 2831 2920 5468 6973 2063 6c65 . (1) This cle\n+0000d250: 7665 7220 7472 6963 6b20 6973 2064 7565 ver trick is due\n+0000d260: 2074 6f20 4b6a 656c 6c20 4d61 676e 6520 to Kjell Magne \n+0000d270: 4661 7573 6b65 2e0a 0a1f 0a46 696c 653a Fauske.....File:\n+0000d280: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+0000d290: 6f64 653a 2054 7261 6e73 7061 7265 6e63 ode: Transparenc\n+0000d2a0: 792c 2020 4e65 7874 3a20 496e 7465 726e y, Next: Intern\n+0000d2b0: 616c 206f 7074 696f 6e73 2c20 2050 7265 al options, Pre\n+0000d2c0: 763a 2054 696b 5a2f 5047 4620 7573 6572 v: TikZ/PGF user\n+0000d2d0: 2d64 6566 696e 6564 2073 7479 6c65 732c -defined styles,\n+0000d2e0: 2020 5570 3a20 4f70 7469 6f6e 730a 0a33 Up: Options..3\n+0000d2f0: 2e31 2e35 2e35 2054 7261 6e73 7061 7265 .1.5.5 Transpare\n+0000d300: 6e63 790a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ncy.............\n+0000d310: 2e2e 2e2e 2e2e 2e2e 0a0a 426f 7468 20e2 ..........Both .\n+0000d320: 8098 5053 5472 6963 6b73 e280 9920 616e ..PSTricks... an\n+0000d330: 6420 e280 9854 696b 5a2f 5047 46e2 8099 d ...TikZ/PGF...\n+0000d340: 2073 7570 706f 7274 2070 6f6c 7967 6f6e support polygon\n+0000d350: 206f 7074 696f 6e73 2074 6861 7420 6861 options that ha\n+0000d360: 7665 2074 6865 0a65 6666 6563 7420 6f66 ve the.effect of\n+0000d370: 206d 616b 696e 6720 7468 6520 706f 6c79 making the poly\n+0000d380: 676f 6e20 6170 7065 6172 2074 7261 6e73 gon appear trans\n+0000d390: 7061 7265 6e74 2e20 2046 6f72 20e2 8098 parent. For ...\n+0000d3a0: 5053 5472 6963 6b73 e280 992c 0a6b 6579 PSTricks...,.key\n+0000d3b0: 776f 7264 20e2 8098 7472 616e 7370 616c word ...transpal\n+0000d3c0: 7068 61e2 8099 2077 6173 2075 7365 6420 pha... was used \n+0000d3d0: 6475 7269 6e67 2069 6e69 7469 616c 2064 during initial d\n+0000d3e0: 6576 656c 6f70 6d65 6e74 206f 660a 7472 evelopment of.tr\n+0000d3f0: 616e 7370 6172 656e 6379 2066 6561 7475 ansparency featu\n+0000d400: 7265 732c 2061 6e64 20e2 8098 6f70 6163 res, and ...opac\n+0000d410: 6974 79e2 8099 2077 6173 2061 646f 7074 ity... was adopt\n+0000d420: 6564 206c 6174 6572 2e20 20e2 8098 536b ed later. ...Sk\n+0000d430: 6574 6368 e280 9920 686f 6e6f 7273 0a62 etch... honors.b\n+0000d440: 6f74 682e 2020 e280 9854 696b 5a2f 5047 oth. ...TikZ/PG\n+0000d450: 46e2 8099 2075 7365 7320 e280 986f 7061 F... uses ...opa\n+0000d460: 6369 7479 e280 9920 6f6e 6c79 2e20 2057 city... only. W\n+0000d470: 6865 6e20 7472 616e 7370 6172 656e 7420 hen transparent \n+0000d480: 706f 6c79 676f 6e73 2061 7265 2069 6e0a polygons are in.\n+0000d490: 7468 6520 666f 7265 6772 6f75 6e64 2c20 the foreground, \n+0000d4a0: 6f62 6a65 6374 7320 6265 6869 6e64 2074 objects behind t\n+0000d4b0: 6865 6d20 2864 7261 776e 2065 6172 6c69 hem (drawn earli\n+0000d4c0: 6572 2920 6172 6520 7669 7369 626c 6520 er) are visible \n+0000d4d0: 7769 7468 0a63 6f6c 6f72 2073 7562 6475 with.color subdu\n+0000d4e0: 6564 2061 6e64 2074 696e 7465 642e 2020 ed and tinted. \n+0000d4f0: 5468 6520 6869 6464 656e 2073 7572 6661 The hidden surfa\n+0000d500: 6365 2061 6c67 6f72 6974 686d 206f 6620 ce algorithm of \n+0000d510: e280 9873 6b65 7463 68e2 8099 0a77 6f72 ...sketch....wor\n+0000d520: 6b73 2077 656c 6c20 7769 7468 2073 7563 ks well with suc\n+0000d530: 6820 7472 616e 7370 6172 656e 7420 706f h transparent po\n+0000d540: 6c79 676f 6e73 2e0a 0a20 2020 4e6f 7465 lygons... Note\n+0000d550: 2074 6861 7420 6375 6c6c 3d66 616c 7365 that cull=false\n+0000d560: 206d 7573 7420 6265 2075 7365 6420 666f must be used fo\n+0000d570: 7220 7265 6172 2d66 6163 696e 6720 706f r rear-facing po\n+0000d580: 6c79 676f 6e73 2074 6f20 6265 0a76 6973 lygons to be.vis\n+0000d590: 6962 6c65 2077 6865 6e20 706f 7369 7469 ible when positi\n+0000d5a0: 6f6e 6564 2062 6568 696e 6420 6f74 6865 oned behind othe\n+0000d5b0: 7220 7472 616e 7370 6172 656e 7420 7375 r transparent su\n+0000d5c0: 7266 6163 6573 2e0a 0a1f 0a46 696c 653a rfaces.....File:\n+0000d5d0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+0000d5e0: 6f64 653a 2049 6e74 6572 6e61 6c20 6f70 ode: Internal op\n+0000d5f0: 7469 6f6e 732c 2020 5072 6576 3a20 5472 tions, Prev: Tr\n+0000d600: 616e 7370 6172 656e 6379 2c20 2055 703a ansparency, Up:\n+0000d610: 204f 7074 696f 6e73 0a0a 332e 312e 352e Options..3.1.5.\n+0000d620: 3620 496e 7465 726e 616c 206f 7074 696f 6 Internal optio\n+0000d630: 6e73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ns..............\n+0000d640: 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a54 6865 .............The\n+0000d650: 7265 2061 7265 2061 6c73 6f20 5f69 6e74 re are also _int\n+0000d660: 6572 6e61 6c5f 206f 7074 696f 6e73 2075 ernal_ options u\n+0000d670: 7365 6420 6f6e 6c79 2062 7920 e280 9873 sed only by ...s\n+0000d680: 6b65 7463 68e2 8099 2061 6e64 206e 6f74 ketch... and not\n+0000d690: 2070 6173 7365 640a 6f6e 2074 6f20 e280 passed.on to ..\n+0000d6a0: 9850 5354 7269 636b 73e2 8099 2e20 2054 .PSTricks.... T\n+0000d6b0: 6865 7365 2061 7265 2073 756d 6d61 7269 hese are summari\n+0000d6c0: 7a65 6420 696e 2074 6865 2066 6f6c 6c6f zed in the follo\n+0000d6d0: 7769 6e67 2074 6162 6c65 2e0a 4b65 7920 wing table..Key \n+0000d6e0: 2020 2020 2020 506f 7373 6962 6c65 2076 Possible v\n+0000d6f0: 616c 7565 7320 2020 2020 2020 2020 4465 alues De\n+0000d700: 7363 7269 7074 696f 6e0a 2d2d 2d2d 2d2d scription.------\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 2d2d 2d2d ----------------\n-0000d770: 0ae2 8098 6375 6c6c e280 9920 2020 20e2 ....cull... .\n-0000d780: 8098 7472 7565 e280 992c 20e2 8098 6661 ..true..., ...fa\n-0000d790: 6c73 65e2 8099 2020 2020 2020 2020 2054 lse... T\n-0000d7a0: 7572 6e20 6375 6c6c 696e 6720 6f66 2062 urn culling of b\n-0000d7b0: 6163 6b66 6163 6573 206f 6e20 616e 6420 ackfaces on and \n-0000d7c0: 6f66 6620 7265 7370 6563 7469 7665 6c79 off respectively\n-0000d7d0: 2066 6f72 2074 6869 730a 2020 2020 2020 for this. \n+0000d760: 2d2d 2d2d 2d2d 2d2d 2d2d 0ae2 8098 6375 ----------....cu\n+0000d770: 6c6c e280 9920 2020 20e2 8098 7472 7565 ll... ...true\n+0000d780: e280 992c 20e2 8098 6661 6c73 65e2 8099 ..., ...false...\n+0000d790: 2020 2020 2020 2020 2054 7572 6e20 6375 Turn cu\n+0000d7a0: 6c6c 696e 6720 6f66 2062 6163 6b66 6163 lling of backfac\n+0000d7b0: 6573 206f 6e20 616e 6420 6f66 6620 7265 es on and off re\n+0000d7c0: 7370 6563 7469 7665 6c79 2066 6f72 2074 spectively for t\n+0000d7d0: 6869 730a 2020 2020 2020 2020 2020 2020 his. \n 0000d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d7f0: 2020 2020 2020 2020 2020 2020 6f62 6a65 obje\n-0000d800: 6374 2e20 2054 6865 2064 6566 6175 6c74 ct. The default\n-0000d810: 2076 616c 7565 2069 7320 e280 9874 7275 value is ...tru\n-0000d820: 65e2 8099 2e0a e280 986c 6179 e280 9920 e........lay... \n-0000d830: 2020 2020 e280 986f 7665 72e2 8099 2c20 ...over..., \n-0000d840: e280 9869 6ee2 8099 2c20 e280 9875 6e64 ...in..., ...und\n-0000d850: 6572 e280 9920 2020 466f 7263 6520 7468 er... Force th\n-0000d860: 6973 206f 626a 6563 7420 746f 2062 6520 is object to be \n-0000d870: e280 9875 6e64 6572 e280 9920 6f72 20e2 ...under... or .\n-0000d880: 8098 6f76 6572 e280 9920 616c 6c20 6f74 ..over... all ot\n-0000d890: 6865 7220 6f62 6a65 6374 730a 2020 2020 her objects. \n+0000d7f0: 2020 2020 2020 6f62 6a65 6374 2e20 2054 object. T\n+0000d800: 6865 2064 6566 6175 6c74 2076 616c 7565 he default value\n+0000d810: 2069 7320 e280 9874 7275 65e2 8099 2e0a is ...true.....\n+0000d820: e280 986c 6179 e280 9920 2020 2020 e280 ...lay... ..\n+0000d830: 986f 7665 72e2 8099 2c20 e280 9869 6ee2 .over..., ...in.\n+0000d840: 8099 2c20 e280 9875 6e64 6572 e280 9920 .., ...under... \n+0000d850: 2020 466f 7263 6520 7468 6973 206f 626a Force this obj\n+0000d860: 6563 7420 746f 2062 6520 e280 9875 6e64 ect to be ...und\n+0000d870: 6572 e280 9920 6f72 20e2 8098 6f76 6572 er... or ...over\n+0000d880: e280 9920 616c 6c20 6f74 6865 7220 6f62 ... all other ob\n+0000d890: 6a65 6374 730a 2020 2020 2020 2020 2020 jects. \n 0000d8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d8b0: 2020 2020 2020 2020 2020 2020 2020 696e in\n-0000d8c0: 2074 6865 2064 6570 7468 2073 6f72 7420 the depth sort \n-0000d8d0: 6f72 6465 7220 6372 6561 7465 6420 6279 order created by\n-0000d8e0: 2074 6865 2068 6964 6465 6e20 7375 7266 the hidden surf\n-0000d8f0: 6163 650a 2020 2020 2020 2020 2020 2020 ace. \n+0000d8b0: 2020 2020 2020 2020 696e 2074 6865 2064 in the d\n+0000d8c0: 6570 7468 2073 6f72 7420 6f72 6465 7220 epth sort order \n+0000d8d0: 6372 6561 7465 6420 6279 2074 6865 2068 created by the h\n+0000d8e0: 6964 6465 6e20 7375 7266 6163 650a 2020 idden surface. \n+0000d8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d900: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d910: 2020 2020 2020 616c 676f 7269 7468 6d2e algorithm.\n-0000d920: 2020 5468 6520 6465 6661 756c 7420 7661 The default va\n-0000d930: 6c75 6520 e280 986f 7665 72e2 8099 2067 lue ...over... g\n-0000d940: 7561 7261 6e74 6565 7320 7468 6174 206f uarantees that o\n-0000d950: 7574 7075 740a 2020 2020 2020 2020 2020 utput. \n+0000d910: 616c 676f 7269 7468 6d2e 2020 5468 6520 algorithm. The \n+0000d920: 6465 6661 756c 7420 7661 6c75 6520 e280 default value ..\n+0000d930: 986f 7665 72e2 8099 2067 7561 7261 6e74 .over... guarant\n+0000d940: 6565 7320 7468 6174 206f 7574 7075 740a ees that output.\n+0000d950: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0000d960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d970: 2020 2020 2020 2020 6475 6520 746f 2074 due to t\n-0000d980: 6865 20e2 8098 7370 6563 6961 6ce2 8099 he ...special...\n-0000d990: 2077 696c 6c20 6265 2076 6973 6962 6c65 will be visible\n-0000d9a0: 2e0a e280 9873 706c 6974 e280 9920 2020 .....split... \n-0000d9b0: e280 9874 7275 65e2 8099 2c20 e280 9866 ...true..., ...f\n-0000d9c0: 616c 7365 e280 9920 2020 2020 2020 2020 alse... \n-0000d9d0: 5475 726e 2073 706c 6974 7469 6e67 206f Turn splitting o\n-0000d9e0: 6620 7377 6565 702d 6765 6e65 7261 7465 f sweep-generate\n-0000d9f0: 6420 626f 6479 2070 6f6c 7967 6f6e 7320 d body polygons \n-0000da00: 6f6e 2061 6e64 206f 6666 0a20 2020 2020 on and off. \n+0000d970: 2020 6475 6520 746f 2074 6865 20e2 8098 due to the ...\n+0000d980: 7370 6563 6961 6ce2 8099 2077 696c 6c20 special... will \n+0000d990: 6265 2076 6973 6962 6c65 2e0a e280 9873 be visible.....s\n+0000d9a0: 706c 6974 e280 9920 2020 e280 9874 7275 plit... ...tru\n+0000d9b0: 65e2 8099 2c20 e280 9866 616c 7365 e280 e..., ...false..\n+0000d9c0: 9920 2020 2020 2020 2020 5475 726e 2073 . Turn s\n+0000d9d0: 706c 6974 7469 6e67 206f 6620 7377 6565 plitting of swee\n+0000d9e0: 702d 6765 6e65 7261 7465 6420 626f 6479 p-generated body\n+0000d9f0: 2070 6f6c 7967 6f6e 7320 6f6e 2061 6e64 polygons on and\n+0000da00: 206f 6666 0a20 2020 2020 2020 2020 2020 off. \n 0000da10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da20: 2020 2020 2020 2020 2020 2020 2072 6573 res\n-0000da30: 7065 6374 6976 656c 792e 2020 2a4e 6f74 pectively. *Not\n-0000da40: 6520 5377 6565 7073 3a3a 2e20 2054 6865 e Sweeps::. The\n-0000da50: 2064 6566 6175 6c74 2076 616c 7565 20e2 default value .\n-0000da60: 8098 7472 7565 e280 990a 2020 2020 2020 ..true.... \n+0000da20: 2020 2020 2020 2072 6573 7065 6374 6976 respectiv\n+0000da30: 656c 792e 2020 2a4e 6f74 6520 5377 6565 ely. *Note Swee\n+0000da40: 7073 3a3a 2e20 2054 6865 2064 6566 6175 ps::. The defau\n+0000da50: 6c74 2076 616c 7565 20e2 8098 7472 7565 lt value ...true\n+0000da60: e280 990a 2020 2020 2020 2020 2020 2020 .... \n 0000da70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da80: 2020 2020 2020 2020 2020 2020 6361 7573 caus\n-0000da90: 6573 2022 7761 7270 6564 2220 706f 6c79 es \"warped\" poly\n-0000daa0: 676f 6e73 2074 6f20 6265 2073 706c 6974 gons to be split\n-0000dab0: 2069 6e74 6f20 7472 6961 6e67 6c65 732c into triangles,\n-0000dac0: 2077 6869 6368 0a20 2020 2020 2020 2020 which. \n+0000da80: 2020 2020 2020 6361 7573 6573 2022 7761 causes \"wa\n+0000da90: 7270 6564 2220 706f 6c79 676f 6e73 2074 rped\" polygons t\n+0000daa0: 6f20 6265 2073 706c 6974 2069 6e74 6f20 o be split into \n+0000dab0: 7472 6961 6e67 6c65 732c 2077 6869 6368 triangles, which\n+0000dac0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n 0000dad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dae0: 2020 2020 2020 2020 2061 766f 6964 7320 avoids \n-0000daf0: 6d69 7374 616b 6573 2062 7920 7468 6520 mistakes by the \n-0000db00: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a\n-0000db10: 6c67 6f72 6974 686d 2e0a 0a33 2e31 2e36 lgorithm...3.1.6\n-0000db20: 2050 6f69 6e74 206c 6973 7473 0a2d 2d2d Point lists.---\n-0000db30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-0000db40: 2a53 796e 7461 783a 2a0a 2020 2020 2028 *Syntax:*. (\n-0000db50: 5831 2c59 312c 5a31 2928 5832 2c59 322c X1,Y1,Z1)(X2,Y2,\n-0000db60: 5a32 292e 2e2e 0a41 2073 6571 7565 6e63 Z2)....A sequenc\n-0000db70: 6520 6f66 206f 6e65 206f 7220 6d6f 7265 e of one or more\n-0000db80: 2070 6f69 6e74 7320 6d61 6b65 7320 6120 points makes a \n-0000db90: 706f 696e 7420 6c69 7374 2c20 6120 6665 point list, a fe\n-0000dba0: 6174 7572 6520 636f 6d6d 6f6e 2074 6f0a ature common to.\n-0000dbb0: 616c 6c20 6472 6177 6162 6c65 732e 2020 all drawables. \n-0000dbc0: 4561 6368 206f 6620 7468 6520 706f 696e Each of the poin\n-0000dbd0: 7420 636f 6d70 6f6e 656e 7473 2069 7320 t components is \n-0000dbe0: 6120 7363 616c 6172 2061 7269 7468 6d65 a scalar arithme\n-0000dbf0: 7469 630a 6578 7072 6573 7369 6f6e 2e20 tic.expression. \n-0000dc00: 2041 6e79 2070 6f69 6e74 206d 6179 2068 Any point may h\n-0000dc10: 6176 6520 7468 6520 7a2d 636f 6d70 6f6e ave the z-compon\n-0000dc20: 656e 7420 6f6d 6974 7465 643b 2069 7420 ent omitted; it \n-0000dc30: 7769 6c6c 2064 6566 6175 6c74 0a74 6f20 will default.to \n-0000dc40: 7a3d 302e 0a0a 2a20 4d65 6e75 3a0a 0a2a z=0...* Menu:..*\n-0000dc50: 2044 7261 7761 626c 6573 3a3a 2020 2020 Drawables:: \n-0000dc60: 2020 2020 2020 2020 2020 2020 2020 2054 T\n-0000dc70: 6869 6e67 7320 7468 6174 2061 7265 2064 hings that are d\n-0000dc80: 7261 776e 2e0a 2a20 4465 6669 6e69 7469 rawn..* Definiti\n-0000dc90: 6f6e 733a 3a20 2020 2020 2020 2020 2020 ons:: \n-0000dca0: 2020 2020 2020 5468 696e 6773 2077 6974 Things wit\n-0000dcb0: 6820 6e61 6d65 732e 0a0a 1f0a 4669 6c65 h names.....File\n-0000dcc0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n-0000dcd0: 4e6f 6465 3a20 4472 6177 6162 6c65 732c Node: Drawables,\n-0000dce0: 2020 4e65 7874 3a20 4465 6669 6e69 7469 Next: Definiti\n-0000dcf0: 6f6e 732c 2020 5072 6576 3a20 4c61 6e67 ons, Prev: Lang\n-0000dd00: 7561 6765 2062 6173 6963 732c 2020 5570 uage basics, Up\n-0000dd10: 3a20 496e 7075 7420 6c61 6e67 7561 6765 : Input language\n-0000dd20: 0a0a 332e 3220 4472 6177 6162 6c65 730a ..3.2 Drawables.\n-0000dd30: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a44 =============..D\n-0000dd40: 7261 7761 626c 6573 2061 7265 2073 696d rawables are sim\n-0000dd50: 706c 7920 e280 9873 6b65 7463 68e2 8099 ply ...sketch...\n-0000dd60: 206f 626a 6563 7473 2074 6861 7420 6d69 objects that mi\n-0000dd70: 6768 7420 6170 7065 6172 2069 6e20 7468 ght appear in th\n-0000dd80: 6520 6472 6177 696e 672e 0a54 6865 7920 e drawing..They \n-0000dd90: 696e 636c 7564 6520 646f 7473 2c20 706f include dots, po\n-0000dda0: 6c79 6c69 6e65 732c 2063 7572 7665 732c lylines, curves,\n-0000ddb0: 2070 6f6c 7967 6f6e 732c 2061 6e64 206d polygons, and m\n-0000ddc0: 6f72 6520 636f 6d70 6c65 7820 6f62 6a65 ore complex obje\n-0000ddd0: 6374 730a 7468 6174 2061 7265 2062 7569 cts.that are bui\n-0000dde0: 6c74 2075 7020 6672 6f6d 2073 696d 706c lt up from simpl\n-0000ddf0: 6572 206f 6e65 7320 696e 2076 6172 696f er ones in vario\n-0000de00: 7573 2077 6179 732e 2020 4669 6e61 6c6c us ways. Finall\n-0000de10: 792c 20e2 809c 7370 6563 6961 6ce2 809d y, ...special...\n-0000de20: 0a6f 626a 6563 7473 2061 7265 2074 686f .objects are tho\n-0000de30: 7365 2063 6f6d 706f 7365 6420 6f66 204c se composed of L\n-0000de40: 6154 6558 206f 7220 e280 9850 5354 7269 aTeX or ...PSTri\n-0000de50: 636b 73e2 8099 2063 6f64 652c 2070 6572 cks... code, per\n-0000de60: 6861 7073 0a69 6e63 6c75 6469 6e67 2063 haps.including c\n-0000de70: 6f6f 7264 696e 6174 6573 2061 6e64 2061 oordinates and a\n-0000de80: 6e67 6c65 7320 636f 6d70 7574 6564 2062 ngles computed b\n-0000de90: 7920 e280 9873 6b65 7463 68e2 8099 2e0a y ...sketch.....\n-0000dea0: 0a2a 204d 656e 753a 0a0a 2a20 446f 7473 .* Menu:..* Dots\n-0000deb0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-0000dec0: 2020 2020 2020 2020 2020 4472 6177 2064 Draw d\n-0000ded0: 6f74 732e 0a2a 204c 696e 6573 3a3a 2020 ots..* Lines:: \n-0000dee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000def0: 2020 2020 2044 7261 7720 706f 6c79 6c69 Draw polyli\n-0000df00: 6e65 732e 0a2a 2043 7572 7665 733a 3a20 nes..* Curves:: \n-0000df10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df20: 2020 2020 2044 7261 7720 6375 7276 6573 Draw curves\n-0000df30: 2e0a 2a20 506f 6c79 676f 6e73 3a3a 2020 ..* Polygons:: \n-0000df40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df50: 2020 4472 6177 2070 6f6c 7967 6f6e 732e Draw polygons.\n-0000df60: 0a2a 2053 7065 6369 616c 733a 3a20 2020 .* Specials:: \n-0000df70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000df80: 2045 6d62 6564 2072 6177 204c 6154 6558 Embed raw LaTeX\n-0000df90: 2061 6e64 20e2 8098 5053 5472 6963 6b73 and ...PSTricks\n-0000dfa0: e280 992e 0a2a 2053 7765 6570 733a 3a20 .....* Sweeps:: \n-0000dfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dfc0: 2020 2020 2044 7261 7720 7377 6565 7073 Draw sweeps\n-0000dfd0: 206f 6620 646f 7473 2061 6e64 2070 6f6c of dots and pol\n-0000dfe0: 796c 696e 6573 2e0a 2a20 426c 6f63 6b73 ylines..* Blocks\n-0000dff0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-0000e000: 2020 2020 2020 2020 4772 6f75 7020 6f74 Group ot\n-0000e010: 6865 7220 6472 6177 6162 6c65 732e 0a2a her drawables..*\n-0000e020: 2052 6570 6561 7473 3a3a 2020 2020 2020 Repeats:: \n-0000e030: 2020 2020 2020 2020 2020 2020 2020 2044 D\n-0000e040: 7261 7720 7472 616e 7366 6f72 6d65 6420 raw transformed \n-0000e050: 636f 7069 6573 206f 6620 6f62 6a65 6374 copies of object\n-0000e060: 732e 0a2a 2050 7574 733a 3a20 2020 2020 s..* Puts:: \n-0000e070: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000e080: 2020 2044 7261 7720 6f6e 6520 6f62 6a65 Draw one obje\n-0000e090: 6374 2074 7261 6e73 666f 726d 6564 2e0a ct transformed..\n-0000e0a0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n-0000e0b0: 696e 666f 2c20 204e 6f64 653a 2044 6f74 info, Node: Dot\n-0000e0c0: 732c 2020 4e65 7874 3a20 4c69 6e65 732c s, Next: Lines,\n-0000e0d0: 2020 5072 6576 3a20 4472 6177 6162 6c65 Prev: Drawable\n-0000e0e0: 732c 2020 5570 3a20 4472 6177 6162 6c65 s, Up: Drawable\n-0000e0f0: 730a 0a33 2e32 2e31 2044 6f74 730a 2d2d s..3.2.1 Dots.--\n-0000e100: 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 --------..*Synta\n-0000e110: 783a 2a0a 2020 2020 2064 6f74 735b 4f50 x:*. dots[OP\n-0000e120: 5449 4f4e 535d 2050 4f49 4e54 5f4c 4953 TIONS] POINT_LIS\n-0000e130: 540a 5468 6973 2063 6f6d 6d61 6e64 2069 T.This command i\n-0000e140: 7320 7468 6520 7468 7265 652d 6469 6d65 s the three-dime\n-0000e150: 6e73 696f 6e61 6c20 6571 7569 7661 6c65 nsional equivale\n-0000e160: 6e74 206f 6620 7468 6520 e280 9850 5354 nt of the ...PST\n-0000e170: 7269 636b 73e2 8099 0a63 6f6d 6d61 6e64 ricks....command\n-0000e180: 20e2 8098 5c70 7364 6f74 73e2 8099 2e0a ...\\psdots.....\n-0000e190: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n-0000e1a0: 696e 666f 2c20 204e 6f64 653a 204c 696e info, Node: Lin\n-0000e1b0: 6573 2c20 204e 6578 743a 2043 7572 7665 es, Next: Curve\n-0000e1c0: 732c 2020 5072 6576 3a20 446f 7473 2c20 s, Prev: Dots, \n-0000e1d0: 2055 703a 2044 7261 7761 626c 6573 0a0a Up: Drawables..\n-0000e1e0: 332e 322e 3220 4c69 6e65 730a 2d2d 2d2d 3.2.2 Lines.----\n-0000e1f0: 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 -------..*Syntax\n-0000e200: 3a2a 0a20 2020 2020 6c69 6e65 5b4f 5054 :*. line[OPT\n-0000e210: 494f 4e53 5d20 504f 494e 545f 4c49 5354 IONS] POINT_LIST\n-0000e220: 0a54 6869 7320 636f 6d6d 616e 6420 6973 .This command is\n-0000e230: 2074 6865 2074 6872 6565 2d64 696d 656e the three-dimen\n-0000e240: 7369 6f6e 616c 2065 7175 6976 616c 656e sional equivalen\n-0000e250: 7420 6f66 2074 6865 20e2 8098 5053 5472 t of the ...PSTr\n-0000e260: 6963 6b73 e280 990a 636f 6d6d 616e 6420 icks....command \n-0000e270: e280 985c 7073 6c69 6e65 e280 992e 0a0a ...\\psline......\n-0000e280: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-0000e290: 6e66 6f2c 2020 4e6f 6465 3a20 4375 7276 nfo, Node: Curv\n-0000e2a0: 6573 2c20 204e 6578 743a 2050 6f6c 7967 es, Next: Polyg\n-0000e2b0: 6f6e 732c 2020 5072 6576 3a20 4c69 6e65 ons, Prev: Line\n-0000e2c0: 732c 2020 5570 3a20 4472 6177 6162 6c65 s, Up: Drawable\n-0000e2d0: 730a 0a33 2e32 2e33 2043 7572 7665 730a s..3.2.3 Curves.\n-0000e2e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 ------------..*S\n-0000e2f0: 796e 7461 783a 2a0a 2020 2020 2063 7572 yntax:*. cur\n-0000e300: 7665 5b4f 5054 494f 4e53 5d20 504f 494e ve[OPTIONS] POIN\n-0000e310: 545f 4c49 5354 0a54 6869 7320 636f 6d6d T_LIST.This comm\n-0000e320: 616e 6420 6973 2074 6865 2074 6872 6565 and is the three\n-0000e330: 2d64 696d 656e 7369 6f6e 616c 2065 7175 -dimensional equ\n-0000e340: 6976 616c 656e 7420 6f66 2074 6865 20e2 ivalent of the .\n-0000e350: 8098 5053 5472 6963 6b73 e280 990a 636f ..PSTricks....co\n-0000e360: 6d6d 616e 6420 e280 985c 7073 6375 7276 mmand ...\\pscurv\n-0000e370: 65e2 8099 2e20 2049 7420 6973 206e 6f74 e.... It is not\n-0000e380: 2069 6d70 6c65 6d65 6e74 6564 2069 6e20 implemented in \n-0000e390: 7468 6520 6375 7272 656e 7420 7665 7273 the current vers\n-0000e3a0: 696f 6e20 6f66 0ae2 8098 736b 6574 6368 ion of....sketch\n-0000e3b0: e280 992e 0a0a 1f0a 4669 6c65 3a20 736b ........File: sk\n-0000e3c0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-0000e3d0: 3a20 506f 6c79 676f 6e73 2c20 204e 6578 : Polygons, Nex\n-0000e3e0: 743a 2053 7065 6369 616c 732c 2020 5072 t: Specials, Pr\n-0000e3f0: 6576 3a20 4375 7276 6573 2c20 2055 703a ev: Curves, Up:\n-0000e400: 2044 7261 7761 626c 6573 0a0a 332e 322e Drawables..3.2.\n-0000e410: 3420 506f 6c79 676f 6e73 0a2d 2d2d 2d2d 4 Polygons.-----\n-0000e420: 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 ---------..*Synt\n-0000e430: 6178 3a2a 0a20 2020 2020 706f 6c79 676f ax:*. polygo\n-0000e440: 6e5b 4f50 5449 4f4e 535d 2050 4f49 4e54 n[OPTIONS] POINT\n-0000e450: 5f4c 4953 540a 5468 6973 2063 6f6d 6d61 _LIST.This comma\n-0000e460: 6e64 2069 7320 7468 6520 7468 7265 652d nd is the three-\n-0000e470: 6469 6d65 6e73 696f 6e61 6c20 6571 7569 dimensional equi\n-0000e480: 7661 6c65 6e74 206f 6620 7468 6520 e280 valent of the ..\n-0000e490: 9850 5354 7269 636b 73e2 8099 0a63 6f6d .PSTricks....com\n-0000e4a0: 6d61 6e64 20e2 8098 5c70 7370 6f6c 7967 mand ...\\pspolyg\n-0000e4b0: 6f6e e280 992e 2020 5468 6520 e280 9873 on.... The ...s\n-0000e4c0: 6b65 7463 68e2 8099 2068 6964 6465 6e20 ketch... hidden \n-0000e4d0: 7375 7266 6163 6520 616c 676f 7269 7468 surface algorith\n-0000e4e0: 6d20 6173 7375 6d65 730a 7468 6174 2070 m assumes.that p\n-0000e4f0: 6f6c 7967 6f6e 7320 6172 6520 636f 6e76 olygons are conv\n-0000e500: 6578 2061 6e64 2070 6c61 6e61 722e 2020 ex and planar. \n-0000e510: 496e 2070 7261 6374 6963 652c 2064 7261 In practice, dra\n-0000e520: 7769 6e67 7320 6d61 7920 7765 6c6c 0a74 wings may well.t\n-0000e530: 7572 6e20 6f75 7420 636f 7272 6563 746c urn out correctl\n-0000e540: 7920 6576 656e 2069 6620 7468 6573 6520 y even if these \n-0000e550: 6173 7375 6d70 7469 6f6e 7320 6172 6520 assumptions are \n-0000e560: 7669 6f6c 6174 6564 2e0a 0a1f 0a46 696c violated.....Fil\n-0000e570: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-0000e580: 204e 6f64 653a 2053 7065 6369 616c 732c Node: Specials,\n-0000e590: 2020 4e65 7874 3a20 5377 6565 7073 2c20 Next: Sweeps, \n-0000e5a0: 2050 7265 763a 2050 6f6c 7967 6f6e 732c Prev: Polygons,\n-0000e5b0: 2020 5570 3a20 4472 6177 6162 6c65 730a Up: Drawables.\n-0000e5c0: 0a33 2e32 2e35 2053 7065 6369 616c 730a .3.2.5 Specials.\n-0000e5d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-0000e5e0: 2a53 796e 7461 783a 2a0a 2020 2020 2073 *Syntax:*. s\n-0000e5f0: 7065 6369 616c 2024 5241 575f 5445 5854 pecial $RAW_TEXT\n-0000e600: 245b 4f50 5449 4f4e 535d 2041 5247 5f4c $[OPTIONS] ARG_L\n-0000e610: 4953 540a 4865 7265 20e2 8098 24e2 8099 IST.Here ...$...\n-0000e620: 2063 616e 2062 6520 616e 7920 6368 6172 can be any char\n-0000e630: 6163 7465 7220 616e 6420 6973 2075 7365 acter and is use\n-0000e640: 6420 746f 2064 656c 696d 6974 2074 6865 d to delimit the\n-0000e650: 2073 7461 7274 2061 6e64 2065 6e64 0a6f start and end.o\n-0000e660: 6620 5241 575f 5445 5854 2e20 2054 6865 f RAW_TEXT. The\n-0000e670: 2063 6f6d 6d61 6e64 2065 6d62 6564 7320 command embeds \n-0000e680: 5241 575f 5445 5854 2069 6e20 7468 6520 RAW_TEXT in the \n-0000e690: e280 9873 6b65 7463 68e2 8099 206f 7574 ...sketch... out\n-0000e6a0: 7075 7420 6166 7465 720a 7065 7266 6f72 put after.perfor\n-0000e6b0: 6d69 6e67 2073 7562 7374 6974 7574 696f ming substitutio\n-0000e6c0: 6e73 2061 7320 666f 6c6c 6f77 732e 0a20 ns as follows.. \n-0000e6d0: 2020 e280 a220 e280 9823 49e2 8099 2077 ... ...#I... w\n-0000e6e0: 6865 7265 2049 2069 7320 6120 706f 7369 here I is a posi\n-0000e6f0: 7469 7665 2069 6e74 6567 6572 2069 7320 tive integer is \n-0000e700: 7265 706c 6163 6564 2062 7920 7468 6520 replaced by the \n-0000e710: 4927 7468 2076 616c 7565 2069 6e0a 2020 I'th value in. \n-0000e720: 2020 2041 5247 5f4c 4953 542e 2020 506f ARG_LIST. Po\n-0000e730: 696e 7420 616e 6420 7665 6374 6f72 2061 int and vector a\n-0000e740: 7267 756d 656e 7473 2062 6563 6f6d 6520 rguments become \n-0000e750: 7477 6f2d 6469 6d65 6e73 696f 6e61 6c0a two-dimensional.\n-0000e760: 2020 2020 2070 6f69 6e74 732c 2077 6869 points, whi\n-0000e770: 6368 2061 7265 2074 6865 2074 7261 6e73 ch are the trans\n-0000e780: 666f 726d 6564 2033 6420 6172 6775 6d65 formed 3d argume\n-0000e790: 6e74 7320 7072 6f6a 6563 7465 6420 6f6e nts projected on\n-0000e7a0: 746f 2074 6865 0a20 2020 2020 582d 5920 to the. X-Y \n-0000e7b0: 706c 616e 652e 2020 5468 6973 2061 6c6c plane. This all\n-0000e7c0: 6f77 7320 7477 6f2d 6469 6d65 6e74 696f ows two-dimentio\n-0000e7d0: 6e61 6c20 6f75 7470 7574 2065 6c65 6d65 nal output eleme\n-0000e7e0: 6e74 7320 7375 6368 2061 730a 2020 2020 nts such as. \n-0000e7f0: 206c 6162 656c 7320 746f 2062 6520 6561 labels to be ea\n-0000e800: 7369 6c79 2070 6f73 6974 696f 6e65 6420 sily positioned \n-0000e810: 7769 7468 2072 6573 7065 6374 2074 6f20 with respect to \n-0000e820: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona\n-0000e830: 6c0a 2020 2020 2066 6561 7475 7265 7320 l. features \n-0000e840: 696e 2074 6865 2064 7261 7769 6e67 2e20 in the drawing. \n-0000e850: 2053 6361 6c61 7220 6172 6775 6d65 6e74 Scalar argument\n-0000e860: 7320 6172 6520 7375 6273 6974 7574 6564 s are subsituted\n-0000e870: 2064 6972 6563 746c 792e 0a20 2020 2020 directly.. \n-0000e880: 4e6f 2074 7261 6e73 666f 726d 6174 696f No transformatio\n-0000e890: 6e20 6973 2061 7070 6c69 6564 2e0a 2020 n is applied.. \n-0000e8a0: 20e2 80a2 20e2 8098 237b 497d e280 9920 ... ...#{I}... \n-0000e8b0: 6973 2061 6c73 6f20 7265 706c 6163 6564 is also replaced\n-0000e8c0: 2061 7320 6162 6f76 652e 0a20 2020 e280 as above.. ..\n-0000e8d0: a220 e280 9823 4927 32e2 8099 2069 7320 . ...#I'2... is \n-0000e8e0: 7265 706c 6163 6564 2061 7320 6162 6f76 replaced as abov\n-0000e8f0: 6520 666f 7220 706f 696e 7473 206f 7220 e for points or \n-0000e900: 7665 6374 6f72 732e 2020 4974 2069 7320 vectors. It is \n-0000e910: 616e 2065 7272 6f72 0a20 2020 2020 666f an error. fo\n-0000e920: 7220 7468 6520 4927 7468 2061 7267 756d r the I'th argum\n-0000e930: 656e 7420 746f 2062 6520 6120 7363 616c ent to be a scal\n-0000e940: 6172 2e0a 2020 20e2 80a2 20e2 8098 2349 ar.. ... ...#I\n-0000e950: 2778 e280 992c 20e2 8098 2349 2779 e280 'x..., ...#I'y..\n-0000e960: 992c 206f 7220 e280 9823 4927 7ae2 8099 ., or ...#I'z...\n-0000e970: 2069 7320 7265 706c 6163 6564 2c20 7265 is replaced, re\n-0000e980: 7370 6563 7469 7665 6c79 2c20 6279 2074 spectively, by t\n-0000e990: 6865 2073 6361 6c61 720a 2020 2020 2058 he scalar. X\n-0000e9a0: 2c20 592c 206f 7220 5a2d 636f 6f72 6469 , Y, or Z-coordi\n-0000e9b0: 6e61 7465 206f 6620 7468 6520 6172 6775 nate of the argu\n-0000e9c0: 6d65 6e74 2070 6f69 6e74 206f 7220 7665 ment point or ve\n-0000e9d0: 6374 6f72 2e20 2049 7420 6973 2061 6e0a ctor. It is an.\n-0000e9e0: 2020 2020 2065 7272 6f72 2066 6f72 2074 error for t\n-0000e9f0: 6865 2049 2774 6820 6172 6775 6d65 6e74 he I'th argument\n-0000ea00: 2074 6f20 6265 2061 2073 6361 6c61 722e to be a scalar.\n-0000ea10: 0a20 2020 e280 a220 e280 9823 4927 33e2 . ... ...#I'3.\n-0000ea20: 8099 2069 7320 7265 706c 6163 6564 2062 .. is replaced b\n-0000ea30: 7920 7468 6520 7468 7265 652d 6469 6d65 y the three-dime\n-0000ea40: 6e73 696f 6e61 6c20 7472 616e 7366 6f72 nsional transfor\n-0000ea50: 6d65 6420 6172 6775 6d65 6e74 2e0a 2020 med argument.. \n-0000ea60: 2020 204e 6f74 6520 7468 6174 2069 6620 Note that if \n-0000ea70: 6120 7065 7273 7065 6374 6976 6520 7472 a perspective tr\n-0000ea80: 616e 7366 6f72 6d61 7469 6f6e 2068 6173 ansformation has\n-0000ea90: 2062 6565 6e20 6170 706c 6965 642c 2074 been applied, t\n-0000eaa0: 6865 0a20 2020 2020 5a2d 636f 6f72 6469 he. Z-coordi\n-0000eab0: 6e61 7465 2068 6173 206c 6974 746c 6520 nate has little \n-0000eac0: 6765 6f6d 6574 7269 6320 7369 676e 6966 geometric signif\n-0000ead0: 6963 616e 6365 2c20 7468 6f75 6768 2069 icance, though i\n-0000eae0: 740a 2020 2020 2061 6363 7572 6174 656c t. accuratel\n-0000eaf0: 7920 696e 6469 6361 7465 7320 7265 6c61 y indicates rela\n-0000eb00: 7469 7665 2064 6570 7468 2e0a 2020 20e2 tive depth.. .\n-0000eb10: 80a2 20e2 8098 2349 2d4a e280 9920 7768 .. ...#I-J... wh\n-0000eb20: 6572 6520 4920 616e 6420 4a20 6172 6520 ere I and J are \n-0000eb30: 706f 7369 7469 7665 2069 6e74 6567 6572 positive integer\n-0000eb40: 7320 6973 2072 6570 6c61 6365 6420 6279 s is replaced by\n-0000eb50: 2061 2073 7472 696e 670a 2020 2020 20e2 a string. .\n-0000eb60: 8098 7b41 4e47 4c45 7de2 8099 2077 6865 ..{ANGLE}... whe\n-0000eb70: 7265 2041 4e47 4c45 2069 7320 7468 6520 re ANGLE is the \n-0000eb80: 706f 6c61 7220 616e 676c 6520 6f66 2061 polar angle of a\n-0000eb90: 2076 6563 746f 7220 6672 6f6d 2074 6865 vector from the\n-0000eba0: 2049 2774 680a 2020 2020 2070 6f69 6e74 I'th. point\n-0000ebb0: 2069 6e20 504f 494e 545f 4c49 5354 2074 in POINT_LIST t\n-0000ebc0: 6f20 7468 6520 4a27 7468 2070 6f69 6e74 o the J'th point\n-0000ebd0: 2070 726f 6a65 6374 6564 2069 6e74 6f20 projected into \n-0000ebe0: 7468 6520 782d 7920 706c 616e 652e 0a20 the x-y plane.. \n-0000ebf0: 2020 2020 4974 2069 7320 616e 2065 7272 It is an err\n-0000ec00: 6f72 2066 6f72 2074 6865 2049 2774 6820 or for the I'th \n-0000ec10: 6f72 204a 2774 6820 6172 6775 6d65 6e74 or J'th argument\n-0000ec20: 2074 6f20 6265 2061 2073 6361 6c61 7220 to be a scalar \n-0000ec30: 6f72 2061 0a20 2020 2020 7665 6374 6f72 or a. vector\n-0000ec40: 2e0a 2020 20e2 80a2 20e2 8098 237b 492d .. ... ...#{I-\n-0000ec50: 4a7d e280 9920 6973 2061 6c73 6f20 7265 J}... is also re\n-0000ec60: 706c 6163 6564 2061 7320 6162 6f76 652e placed as above.\n-0000ec70: 0a20 2020 e280 a220 e280 9823 23e2 8099 . ... ...##...\n-0000ec80: 2069 7320 7265 706c 6163 6564 2077 6974 is replaced wit\n-0000ec90: 6820 e280 9823 e280 992e 0a54 6865 2066 h ...#.....The f\n-0000eca0: 6f72 6d73 2077 6974 6820 6272 6163 6573 orms with braces\n-0000ecb0: 20e2 8098 7b20 7de2 8099 2061 7265 2075 ...{ }... are u\n-0000ecc0: 7365 6675 6c20 7768 656e 2074 6865 2061 seful when the a\n-0000ecd0: 7267 756d 656e 7420 6973 2069 6d6d 6564 rgument is immed\n-0000ece0: 6961 7465 6c79 0a66 6f6c 6c6f 7765 6420 iately.followed \n-0000ecf0: 6279 2061 2064 6967 6974 206f 7220 6120 by a digit or a \n-0000ed00: 7469 636b 2063 6861 7261 6374 6572 2074 tick character t\n-0000ed10: 6861 7420 6973 2070 6172 7420 6f66 2074 hat is part of t\n-0000ed20: 6865 2054 6558 2063 6f64 652e 0a0a 2020 he TeX code... \n-0000ed30: 2054 6865 206f 6e6c 7920 7573 6566 756c The only useful\n-0000ed40: 206f 7074 696f 6e20 6f66 20e2 8098 7370 option of ...sp\n-0000ed50: 6563 6961 6ce2 8099 2069 7320 e280 986c ecial... is ...l\n-0000ed60: 6179 e280 992c 2077 6869 6368 2064 6574 ay..., which det\n-0000ed70: 6572 6d69 6e65 7320 6966 2074 6865 0a73 ermines if the.s\n-0000ed80: 7562 7374 6974 7565 6420 7261 7720 7465 ubstitued raw te\n-0000ed90: 7874 2069 7320 656d 6974 7465 6420 6265 xt is emitted be\n-0000eda0: 666f 7265 2c20 6166 7465 722c 206f 7220 fore, after, or \n-0000edb0: 7573 696e 6720 7468 6520 6669 7273 7420 using the first \n-0000edc0: 706f 696e 740a 696e 2050 4f49 4e54 5f4c point.in POINT_L\n-0000edd0: 4953 5420 6173 2061 6e20 696e 6469 6361 IST as an indica\n-0000ede0: 746f 7220 6f66 2064 6570 7468 2e20 2054 tor of depth. T\n-0000edf0: 6865 7365 206f 6363 7572 2c20 7265 7370 hese occur, resp\n-0000ee00: 6563 7469 7665 6c79 2c20 7769 7468 0ae2 ectively, with..\n-0000ee10: 8098 6c61 793d 756e 6465 72e2 8099 2c20 ..lay=under..., \n-0000ee20: e280 986c 6179 3d6f 7665 72e2 8099 2c20 ...lay=over..., \n-0000ee30: 616e 6420 e280 986c 6179 3d69 6ee2 8099 and ...lay=in...\n-0000ee40: 2e20 2053 6565 202a 6e6f 7465 2053 7065 . See *note Spe\n-0000ee50: 6369 616c 206f 626a 6563 7473 3a3a 2061 cial objects:: a\n-0000ee60: 6e64 0a2a 6e6f 7465 2054 696b 5a2f 5047 nd.*note TikZ/PG\n-0000ee70: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s\n-0000ee80: 7479 6c65 733a 3a20 666f 7220 6578 616d tyles:: for exam\n-0000ee90: 706c 6573 2e20 202a 4e6f 7465 2049 6e74 ples. *Note Int\n-0000eea0: 6572 6e61 6c0a 6f70 7469 6f6e 733a 3a2e ernal.options::.\n-0000eeb0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-0000eec0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5377 .info, Node: Sw\n-0000eed0: 6565 7073 2c20 204e 6578 743a 2042 6c6f eeps, Next: Blo\n-0000eee0: 636b 732c 2020 5072 6576 3a20 5370 6563 cks, Prev: Spec\n-0000eef0: 6961 6c73 2c20 2055 703a 2044 7261 7761 ials, Up: Drawa\n-0000ef00: 626c 6573 0a0a 332e 322e 3620 5377 6565 bles..3.2.6 Swee\n-0000ef10: 7073 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ps.------------.\n-0000ef20: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. \n-0000ef30: 7377 6565 7020 7b20 4e2c 2054 5f31 2c20 sweep { N, T_1, \n-0000ef40: 545f 322c 202e 2e2e 2c20 545f 5220 7d5b T_2, ..., T_R }[\n-0000ef50: 4f50 5449 4f4e 535d 2053 5745 5054 5f4f OPTIONS] SWEPT_O\n-0000ef60: 424a 4543 540a 2020 2020 2073 7765 6570 BJECT. sweep\n-0000ef70: 207b 204e 3c3e 2c20 545f 312c 2054 5f32 { N<>, T_1, T_2\n-0000ef80: 2c20 2e2e 2e2c 2054 5f52 207d 5b4f 5054 , ..., T_R }[OPT\n-0000ef90: 494f 4e53 5d20 5357 4550 545f 4f42 4a45 IONS] SWEPT_OBJE\n-0000efa0: 4354 0a54 6865 2073 7765 6570 2063 6f6e CT.The sweep con\n-0000efb0: 6e65 6374 7320 4e20 286f 7220 7065 7268 nects N (or perh\n-0000efc0: 6170 7320 4e2b 3129 2063 6f70 6965 7320 aps N+1) copies \n-0000efd0: 6f66 2053 5745 5054 5f4f 424a 4543 5420 of SWEPT_OBJECT \n-0000efe0: 696e 206f 7264 6572 2074 6f0a 6372 6561 in order to.crea\n-0000eff0: 7465 2061 206e 6577 206f 626a 6563 7420 te a new object \n-0000f000: 6f66 2068 6967 6865 7220 6469 6d65 6e73 of higher dimens\n-0000f010: 696f 6e2e 2020 5468 6520 545f 4920 2866 ion. The T_I (f\n-0000f020: 6f72 2069 2062 6574 7765 656e 2031 2061 or i between 1 a\n-0000f030: 6e64 0a72 2920 6172 6520 7472 616e 7366 nd.r) are transf\n-0000f040: 6f72 6d73 2e20 2054 6865 206b 2774 6820 orms. The k'th \n-0000f050: 636f 7079 206f 6620 5357 4550 545f 4f42 copy of SWEPT_OB\n-0000f060: 4a45 4354 2069 7320 7072 6f64 7563 6564 JECT is produced\n-0000f070: 2062 790a 6170 706c 7969 6e67 2074 6865 by.applying the\n-0000f080: 2066 6f6c 6c6f 7769 6e67 2074 7261 6e73 following trans\n-0000f090: 666f 726d 2074 6f20 7468 6520 6f72 6967 form to the orig\n-0000f0a0: 696e 616c 2e0a 2020 2020 2054 5f31 5e6b inal.. T_1^k\n-0000f0b0: 2074 6865 6e20 545f 325e 6b20 7468 656e then T_2^k then\n-0000f0c0: 202e 2e2e 2074 6865 6e20 545f 525e 6b0a ... then T_R^k.\n-0000f0d0: 4865 7265 2054 5e6b 206d 6561 6e73 2022 Here T^k means \"\n-0000f0e0: 7472 616e 7366 6f72 6d20 5420 6170 706c transform T appl\n-0000f0f0: 6965 6420 6b20 7469 6d65 732e 2220 2054 ied k times.\" T\n-0000f100: 6865 206f 7269 6769 6e61 6c20 6f62 6a65 he original obje\n-0000f110: 6374 2069 730a 7468 6520 7a65 726f 2774 ct is.the zero't\n-0000f120: 6820 636f 7079 2c20 7769 7468 206b 3d30 h copy, with k=0\n-0000f130: 2061 6e64 2065 6666 6563 7469 7665 6c79 and effectively\n-0000f140: 206e 6f20 7472 616e 7366 6f72 6d20 6170 no transform ap\n-0000f150: 706c 6965 6420 2854 5e30 3d49 2c0a 7468 plied (T^0=I,.th\n-0000f160: 6520 6964 656e 7469 7479 2074 7261 6e73 e identity trans\n-0000f170: 666f 726d 292e 0a0a 2020 2054 6865 206d form)... The m\n-0000f180: 6574 686f 6420 6f66 2063 6f6e 6e65 6374 ethod of connect\n-0000f190: 696e 6720 7468 6520 636f 7069 6573 2064 ing the copies d\n-0000f1a0: 6570 656e 6473 206f 6e20 7468 6520 7479 epends on the ty\n-0000f1b0: 7065 206f 660a 5357 4550 545f 4f42 4a45 pe of.SWEPT_OBJE\n-0000f1c0: 4354 2061 6e64 206f 6e20 7768 6574 6865 CT and on whethe\n-0000f1d0: 7220 7468 6520 636c 6f73 7572 6520 7461 r the closure ta\n-0000f1e0: 6720 e280 983c 3ee2 8099 2069 7320 7072 g ...<>... is pr\n-0000f1f0: 6573 656e 7420 6f72 206e 6f74 2e0a 0a20 esent or not... \n-0000f200: 2020 416e 2065 7861 6d70 6c65 206f 6620 An example of \n-0000f210: 6120 7377 6565 7020 7768 6572 6520 723d a sweep where r=\n-0000f220: 3220 6973 2074 6865 204d 6f62 6975 7320 2 is the Mobius \n-0000f230: 6669 6775 7265 2061 7420 2a6e 6f74 6520 figure at *note \n-0000f240: 4d6f 7265 2074 6f0a 6c65 6172 6e3a 3a2e More to.learn::.\n-0000f250: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2053 7765 ..* Menu:..* Swe\n-0000f260: 7074 2070 6f69 6e74 733a 3a20 2020 2020 pt points:: \n-0000f270: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-0000f280: 2070 6f69 6e74 7320 6d61 6b65 206c 696e points make lin\n-0000f290: 6573 206f 7220 706f 6c79 676f 6e73 2e0a es or polygons..\n-0000f2a0: 2a20 5377 6570 7420 6c69 6e65 733a 3a20 * Swept lines:: \n-0000f2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000f2c0: 5377 6570 7420 6c69 6e65 7320 6d61 6b65 Swept lines make\n-0000f2d0: 206f 7065 6e20 6f72 2063 6c6f 7365 6420 open or closed \n-0000f2e0: 7375 7266 6163 6573 2e0a 2a20 5377 6570 surfaces..* Swep\n-0000f2f0: 7420 706f 6c79 676f 6e73 3a3a 2020 2020 t polygons:: \n-0000f300: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-0000f310: 706f 6c79 676f 6e73 206d 616b 6520 636c polygons make cl\n-0000f320: 6f73 6564 2073 7572 6661 6365 732e 0a2a osed surfaces..*\n-0000f330: 2053 7765 7074 2062 6c6f 636b 733a 3a20 Swept blocks:: \n-0000f340: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0000f350: 7765 7074 2062 6c6f 636b 20e2 89a1 2062 wept block ... b\n-0000f360: 6c6f 636b 206f 6620 7377 6565 7073 2e0a lock of sweeps..\n-0000f370: 2a20 5377 6565 7020 6661 6365 2073 706c * Sweep face spl\n-0000f380: 6974 7469 6e67 3a3a 2020 2020 2020 2020 itting:: \n-0000f390: 4669 7869 6e67 2077 6172 7065 6420 6661 Fixing warped fa\n-0000f3a0: 6365 7320 7769 7468 2074 7269 616e 676c ces with triangl\n-0000f3b0: 6573 2e0a 0a1f 0a46 696c 653a 2073 6b65 es.....File: ske\n-0000f3c0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n-0000f3d0: 2053 7765 7074 2070 6f69 6e74 732c 2020 Swept points, \n-0000f3e0: 4e65 7874 3a20 5377 6570 7420 6c69 6e65 Next: Swept line\n-0000f3f0: 732c 2020 5072 6576 3a20 5377 6565 7073 s, Prev: Sweeps\n-0000f400: 2c20 2055 703a 2053 7765 6570 730a 0a33 , Up: Sweeps..3\n-0000f410: 2e32 2e36 2e31 2053 7765 7074 2070 6f69 .2.6.1 Swept poi\n-0000f420: 6e74 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e nts.............\n-0000f430: 2e2e 2e2e 2e2e 2e2e 0a0a 4966 2053 5745 ..........If SWE\n-0000f440: 5054 5f4f 424a 4543 5420 6973 2061 2070 PT_OBJECT is a p\n-0000f450: 6f69 6e74 206c 6973 7420 616e 6420 7468 oint list and th\n-0000f460: 6572 6520 6973 206e 6f20 636c 6f73 7572 ere is no closur\n-0000f470: 6520 7461 672c 2074 6865 6e0a e280 9873 e tag, then....s\n-0000f480: 7765 6570 e280 9920 636f 6e6e 6563 7473 weep... connects\n-0000f490: 204e 2b31 2073 7563 6365 7373 6976 6520 N+1 successive \n-0000f4a0: 636f 7069 6573 206f 6620 6561 6368 2070 copies of each p\n-0000f4b0: 6f69 6e74 2028 696e 636c 7564 696e 6720 oint (including \n-0000f4c0: 7468 650a 6f72 6967 696e 616c 2920 7769 the.original) wi\n-0000f4d0: 7468 2073 7472 6169 6768 7420 6c69 6e65 th straight line\n-0000f4e0: 2073 6567 6d65 6e74 7320 746f 2066 6f72 segments to for\n-0000f4f0: 6d20 6120 706f 6c79 6c69 6e65 2e20 2049 m a polyline. I\n-0000f500: 6620 7468 6572 6520 6172 650a 6d20 706f f there are.m po\n-0000f510: 696e 7473 2069 6e20 7468 6520 6f72 6967 ints in the orig\n-0000f520: 696e 616c 2070 6f69 6e74 206c 6973 742c inal point list,\n-0000f530: 2074 6865 6e20 6d20 706f 6c79 6c69 6e65 then m polyline\n-0000f540: 7320 7769 7468 204e 2073 6567 6d65 6e74 s with N segment\n-0000f550: 730a 6561 6368 2061 7265 2066 6f72 6d65 s.each are forme\n-0000f560: 6420 6279 2074 6865 2073 7765 6570 2e20 d by the sweep. \n-0000f570: 2049 6e20 7468 6973 206d 616e 6e65 722c In this manner,\n-0000f580: 20e2 8098 7377 6565 70e2 8099 2066 6f72 ...sweep... for\n-0000f590: 6d73 2061 2073 6574 206f 660a 6f6e 652d ms a set of.one-\n-0000f5a0: 6469 6d65 6e73 696f 6e61 6c20 6f62 6a65 dimensional obje\n-0000f5b0: 6374 7320 2870 6f6c 796c 696e 6573 2920 cts (polylines) \n-0000f5c0: 6672 6f6d 207a 6572 6f2d 6469 6d65 6e73 from zero-dimens\n-0000f5d0: 696f 6e61 6c20 6f6e 6573 2028 706f 696e ional ones (poin\n-0000f5e0: 7473 292e 0a0a 2020 2057 6865 6e20 7468 ts)... When th\n-0000f5f0: 6572 6520 5f69 735f 2061 2063 6c6f 7375 ere _is_ a closu\n-0000f600: 7265 2074 6167 2c20 e280 9873 7765 6570 re tag, ...sweep\n-0000f610: e280 9920 636f 6e6e 6563 7473 204e 2073 ... connects N s\n-0000f620: 7563 6365 7373 6976 6520 636f 7069 6573 uccessive copies\n-0000f630: 0a6f 6620 6561 6368 2070 6f69 6e74 2028 .of each point (\n-0000f640: 696e 636c 7564 696e 6720 7468 6520 6f72 including the or\n-0000f650: 6967 696e 616c 2920 7769 7468 2073 7472 iginal) with str\n-0000f660: 6169 6768 7420 6c69 6e65 2073 6567 6d65 aight line segme\n-0000f670: 6e74 7320 616e 640a 6669 6e61 6c6c 7920 nts and.finally \n-0000f680: 636f 6e6e 6563 7473 2074 6865 206c 6173 connects the las\n-0000f690: 7420 636f 7079 2062 6163 6b20 746f 2074 t copy back to t\n-0000f6a0: 6865 206f 7269 6769 6e61 6c20 746f 2066 he original to f\n-0000f6b0: 6f72 6d20 6120 706f 6c79 676f 6e0a 7769 orm a polygon.wi\n-0000f6c0: 7468 204e 2073 6964 6573 2e20 2049 6620 th N sides. If \n-0000f6d0: 7468 6572 6520 6172 6520 6d20 706f 696e there are m poin\n-0000f6e0: 7473 2069 6e20 7468 6520 6f72 6967 696e ts in the origin\n-0000f6f0: 616c 2070 6f69 6e74 206c 6973 742c 2074 al point list, t\n-0000f700: 6865 6e20 6d0a 706f 6c79 676f 6e73 2077 hen m.polygons w\n-0000f710: 6974 6820 4e20 7369 6465 7320 6561 6368 ith N sides each\n-0000f720: 2061 7265 2066 6f72 6d65 6420 6279 2074 are formed by t\n-0000f730: 6865 2073 7765 6570 2e20 2049 6e20 7468 he sweep. In th\n-0000f740: 6973 206d 616e 6e65 722c 0ae2 8098 7377 is manner,....sw\n-0000f750: 6565 70e2 8099 2066 6f72 6d73 2061 2073 eep... forms a s\n-0000f760: 6574 206f 6620 7477 6f2d 6469 6d65 6e73 et of two-dimens\n-0000f770: 696f 6e61 6c20 6f62 6a65 6374 7320 2870 ional objects (p\n-0000f780: 6f6c 7967 6f6e 7329 2066 726f 6d0a 7a65 olygons) from.ze\n-0000f790: 726f 2d64 696d 656e 7369 6f6e 616c 206f ro-dimensional o\n-0000f7a0: 6e65 7320 2870 6f69 6e74 7329 2e0a 0a20 nes (points)... \n-0000f7b0: 2020 4f70 7469 6f6e 7320 6f66 2074 6865 Options of the\n-0000f7c0: 20e2 8098 7377 6565 70e2 8099 2061 7265 ...sweep... are\n-0000f7d0: 2063 6f70 6965 6420 6469 7265 6374 6c79 copied directly\n-0000f7e0: 2074 6f20 7468 6520 7265 7375 6c74 696e to the resultin\n-0000f7f0: 670a 706f 6c79 6c69 6e65 2873 292e 0a0a g.polyline(s)...\n-0000f800: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-0000f810: 6e66 6f2c 2020 4e6f 6465 3a20 5377 6570 nfo, Node: Swep\n-0000f820: 7420 6c69 6e65 732c 2020 4e65 7874 3a20 t lines, Next: \n-0000f830: 5377 6570 7420 706f 6c79 676f 6e73 2c20 Swept polygons, \n-0000f840: 2050 7265 763a 2053 7765 7074 2070 6f69 Prev: Swept poi\n-0000f850: 6e74 732c 2020 5570 3a20 5377 6565 7073 nts, Up: Sweeps\n-0000f860: 0a0a 332e 322e 362e 3220 5377 6570 7420 ..3.2.6.2 Swept \n-0000f870: 6c69 6e65 730a 2e2e 2e2e 2e2e 2e2e 2e2e lines...........\n-0000f880: 2e2e 2e2e 2e2e 2e2e 2e0a 0a49 6620 5357 ...........If SW\n-0000f890: 4550 545f 4f42 4a45 4354 2069 7320 6120 EPT_OBJECT is a \n-0000f8a0: 706f 6c79 6c69 6e65 2061 6e64 2074 6865 polyline and the\n-0000f8b0: 7265 2069 7320 6e6f 2063 6c6f 7375 7265 re is no closure\n-0000f8c0: 2074 6167 2c20 7468 656e 20e2 8098 7377 tag, then ...sw\n-0000f8d0: 6565 70e2 8099 0a63 6f6e 6e65 6374 7320 eep....connects \n-0000f8e0: 4e2b 3120 7375 6363 6573 7369 7665 2063 N+1 successive c\n-0000f8f0: 6f70 6965 7320 6f66 2074 6865 2070 6f6c opies of the pol\n-0000f900: 796c 696e 6520 2869 6e63 6c75 6469 6e67 yline (including\n-0000f910: 2074 6865 206f 7269 6769 6e61 6c29 0a77 the original).w\n-0000f920: 6974 6820 666f 7572 2d73 6964 6564 2070 ith four-sided p\n-0000f930: 6f6c 7967 6f6e 732c 2065 6163 6820 7061 olygons, each pa\n-0000f940: 6972 206f 6620 636f 7069 6573 2067 6976 ir of copies giv\n-0000f950: 696e 6720 7269 7365 2074 6f20 6120 2270 ing rise to a \"p\n-0000f960: 6f6c 7967 6f6e 0a73 7472 6970 2e22 2020 olygon.strip.\" \n-0000f970: 4966 2074 6865 7265 2061 7265 206d 2070 If there are m p\n-0000f980: 6f69 6e74 7320 696e 2074 6865 206f 7269 oints in the ori\n-0000f990: 6769 6e61 6c20 706f 6c79 6c69 6e65 2c20 ginal polyline, \n-0000f9a0: 7468 656e 2028 6d2d 3129 4e0a 706f 6c79 then (m-1)N.poly\n-0000f9b0: 676f 6e73 2061 7265 2066 6f72 6d65 6420 gons are formed \n-0000f9c0: 6279 2074 6865 2073 7765 6570 2e20 2057 by the sweep. W\n-0000f9d0: 6520 6361 6c6c 2074 6865 7365 20e2 809c e call these ...\n-0000f9e0: 626f 6479 2070 6f6c 7967 6f6e 73e2 809d body polygons...\n-0000f9f0: 2e20 2049 6e0a 7468 6973 206d 616e 6e65 . In.this manne\n-0000fa00: 722c 20e2 8098 7377 6565 70e2 8099 2066 r, ...sweep... f\n-0000fa10: 6f72 6d73 2061 2074 776f 2d64 696d 656e orms a two-dimen\n-0000fa20: 7369 6f6e 616c 2073 7572 6661 6365 2066 sional surface f\n-0000fa30: 726f 6d20 6672 6f6d 2061 0a6f 6e65 2d64 rom from a.one-d\n-0000fa40: 696d 656e 7369 6f6e 616c 2070 6f6c 796c imensional polyl\n-0000fa50: 696e 652e 0a0a 2020 2054 6865 206f 7264 ine... The ord\n-0000fa60: 6572 206f 6620 7665 7274 6963 6573 2070 er of vertices p\n-0000fa70: 726f 6475 6365 6420 6279 20e2 8098 7377 roduced by ...sw\n-0000fa80: 6565 70e2 8099 2069 7320 696d 706f 7274 eep... is import\n-0000fa90: 616e 742e 2020 4966 2061 0a70 6f6c 7967 ant. If a.polyg\n-0000faa0: 6f6e 2773 2076 6572 7469 6365 7320 646f on's vertices do\n-0000fab0: 206e 6f74 2061 7070 6561 7220 696e 2063 not appear in c\n-0000fac0: 6f75 6e74 6572 2d63 6c6f 636b 7769 7365 ounter-clockwise\n-0000fad0: 206f 7264 6572 2069 6e20 7468 6520 6669 order in the fi\n-0000fae0: 6e61 6c0a 696d 6167 652c 2074 6865 2070 nal.image, the p\n-0000faf0: 6f6c 7967 6f6e 2077 696c 6c20 6265 2063 olygon will be c\n-0000fb00: 756c 6c65 6420 2875 6e6c 6573 7320 e280 ulled (unless ..\n-0000fb10: 9863 756c 6c3d 6661 6c73 65e2 8099 2069 .cull=false... i\n-0000fb20: 7320 7365 7429 2e20 2049 6620 7468 650a s set). If the.\n-0000fb30: 706f 696e 7473 2069 6e20 7468 6520 6b27 points in the k'\n-0000fb40: 7468 2063 6f70 7920 6f66 2074 6865 2070 th copy of the p\n-0000fb50: 6f6c 796c 696e 6520 6172 6520 505f 312c olyline are P_1,\n-0000fb60: 2050 5f32 2c20 2e2e 2e2c 2050 5f6d 2c20 P_2, ..., P_m, \n-0000fb70: 616e 6420 7468 650a 706f 696e 7473 2069 and the.points i\n-0000fb80: 6e20 7468 6520 6e65 7874 2063 6f70 792c n the next copy,\n-0000fb90: 2074 6865 2028 6b2b 3129 7374 2c20 6172 the (k+1)st, ar\n-0000fba0: 6520 505f 3127 2c20 505f 3227 2c20 2e2e e P_1', P_2', ..\n-0000fbb0: 2e2c 2050 5f6d 272c 2074 6865 6e0a 7468 ., P_m', then.th\n-0000fbc0: 6520 7665 7274 6578 206f 7264 6572 206f e vertex order o\n-0000fbd0: 6620 7468 6520 6765 6e65 7261 7465 6420 f the generated \n-0000fbe0: 706f 6c79 676f 6e73 2069 730a 2020 2020 polygons is. \n-0000fbf0: 2042 6f64 7920 706f 6c79 676f 6e20 313a Body polygon 1:\n-0000fc00: 2050 5f32 2050 5f31 2050 5f31 2720 505f P_2 P_1 P_1' P_\n-0000fc10: 3227 0a20 2020 2020 426f 6479 2070 6f6c 2'. Body pol\n-0000fc20: 7967 6f6e 2032 3a20 505f 3320 505f 3220 ygon 2: P_3 P_2 \n-0000fc30: 505f 3227 2050 5f33 270a 2020 2020 202e P_2' P_3'. .\n-0000fc40: 2e2e 0a20 2020 2020 426f 6479 2070 6f6c ... Body pol\n-0000fc50: 7967 6f6e 206d 2d31 3a20 505f 6d20 505f ygon m-1: P_m P_\n-0000fc60: 7b6d 2d31 7d20 505f 7b6d 2d31 7d27 2050 {m-1} P_{m-1}' P\n-0000fc70: 5f6d 270a 0a20 2020 4f70 7469 6f6e 7320 _m'.. Options \n-0000fc80: 6f66 2075 6e63 6c6f 7365 6420 6c69 6e65 of unclosed line\n-0000fc90: 2073 7765 6570 7320 6172 6520 636f 7069 sweeps are copi\n-0000fca0: 6564 2074 6f20 6561 6368 206f 7574 7075 ed to each outpu\n-0000fcb0: 7420 706f 6c79 676f 6e2e 0a4f 7074 696f t polygon..Optio\n-0000fcc0: 6e73 206f 6620 7468 6520 7377 6570 7420 ns of the swept \n-0000fcd0: 6c69 6e65 2061 7265 2069 676e 6f72 6564 line are ignored\n-0000fce0: 2e0a 0a20 2020 5768 656e 2074 6865 7265 ... When there\n-0000fcf0: 205f 6973 5f20 6120 636c 6f73 7572 6520 _is_ a closure \n-0000fd00: 7461 672c 2074 6865 6e20 e280 9873 7765 tag, then ...swe\n-0000fd10: 6570 e280 9920 636f 6e6e 6563 7473 204e ep... connects N\n-0000fd20: 2073 7563 6365 7373 6976 650a 636f 7069 successive.copi\n-0000fd30: 6573 206f 6620 7468 6520 706f 6c79 6c69 es of the polyli\n-0000fd40: 6e65 2028 696e 636c 7564 696e 6720 7468 ne (including th\n-0000fd50: 6520 6f72 6967 696e 616c 2920 7769 7468 e original) with\n-0000fd60: 2066 6f75 722d 7369 6465 6420 626f 6479 four-sided body\n-0000fd70: 0a70 6f6c 7967 6f6e 7320 6a75 7374 2061 .polygons just a\n-0000fd80: 7320 7468 6520 6361 7365 2077 6974 6820 s the case with \n-0000fd90: 6e6f 2063 6c6f 7375 7265 2074 6167 2e20 no closure tag. \n-0000fda0: 2049 7420 7468 656e 2063 6f6e 6e65 6374 It then connect\n-0000fdb0: 7320 7468 650a 6c61 7374 2063 6f70 7920 s the.last copy \n-0000fdc0: 6261 636b 2074 6f20 7468 6520 6f72 6967 back to the orig\n-0000fdd0: 696e 616c 2074 6f20 666f 726d 2061 2072 inal to form a r\n-0000fde0: 6962 626f 6e2d 7368 6170 6564 2073 7572 ibbon-shaped sur\n-0000fdf0: 6661 6365 2074 6861 740a 636c 6f73 6573 face that.closes\n-0000fe00: 206f 6e20 6974 7365 6c66 2077 6974 6820 on itself with \n-0000fe10: 7477 6f20 686f 6c65 7320 7265 6d61 696e two holes remain\n-0000fe20: 696e 672e 0a0a 2020 2046 696e 616c 6c79 ing... Finally\n-0000fe30: 2c20 7468 6520 7377 6565 7020 6164 6473 , the sweep adds\n-0000fe40: 2074 776f 206d 6f72 6520 706f 6c79 676f two more polygo\n-0000fe50: 6e73 2074 6f20 7365 616c 2074 6865 2068 ns to seal the h\n-0000fe60: 6f6c 6573 2061 6e64 2066 6f72 6d0a 6120 oles and form.a \n-0000fe70: 636c 6f73 6564 2073 7572 6661 6365 2074 closed surface t\n-0000fe80: 6861 742c 2064 6570 656e 6469 6e67 206f hat, depending o\n-0000fe90: 6e20 7468 6520 7377 6565 7020 7472 616e n the sweep tran\n-0000fea0: 7366 6f72 6d73 2c20 6d61 7920 7265 7072 sforms, may repr\n-0000feb0: 6573 656e 740a 7468 6520 626f 756e 6461 esent.the bounda\n-0000fec0: 7279 206f 6620 6120 736f 6c69 642e 2020 ry of a solid. \n-0000fed0: 496e 2074 6869 7320 6d61 6e6e 6572 2c20 In this manner, \n-0000fee0: e280 9873 7765 6570 e280 9920 666f 726d ...sweep... form\n-0000fef0: 7320 7468 6520 626f 756e 6461 7279 206f s the boundary o\n-0000ff00: 660a 6120 7468 7265 652d 6469 6d65 6e73 f.a three-dimens\n-0000ff10: 696f 6e61 6c20 6f62 6a65 6374 2066 726f ional object fro\n-0000ff20: 6d20 6120 6f6e 652d 6469 6d65 6e73 696f m a one-dimensio\n-0000ff30: 6e61 6c20 706f 6c79 6c69 6e65 2e20 2057 nal polyline. W\n-0000ff40: 6520 6361 6c6c 0a74 6865 7365 2068 6f6c e call.these hol\n-0000ff50: 652d 6669 6c6c 696e 6720 706f 6c79 676f e-filling polygo\n-0000ff60: 6e73 20e2 809c 656e 6473 e280 9d2e 0a0a ns ...ends......\n-0000ff70: 2020 2054 6865 206f 7264 6572 206f 6620 The order of \n-0000ff80: 7665 7274 6963 6573 206f 6620 656e 6420 vertices of end \n-0000ff90: 706f 6c79 676f 6e73 2069 7320 696d 706f polygons is impo\n-0000ffa0: 7274 616e 7420 666f 7220 636f 7272 6563 rtant for correc\n-0000ffb0: 740a 6375 6c6c 696e 6720 6173 2064 6573 t.culling as des\n-0000ffc0: 6372 6962 6564 2061 626f 7665 2e20 2049 cribed above. I\n-0000ffd0: 6620 505f 315e 312c 2050 5f31 5e32 2c20 f P_1^1, P_1^2, \n-0000ffe0: 2e2e 2e2c 2050 5f31 5e6e 2061 7265 2074 ..., P_1^n are t\n-0000fff0: 6865 204e 0a63 6f70 6965 7320 6f66 2074 he N.copies of t\n-00010000: 6865 2066 6972 7374 2070 6f6c 796c 696e he first polylin\n-00010010: 6520 706f 696e 7420 616e 6420 505f 6d5e e point and P_m^\n-00010020: 312c 2050 5f6d 5e32 2c20 2e2e 2e20 2c50 1, P_m^2, ... ,P\n-00010030: 5f6d 5e6e 2061 7265 2074 6865 0a4e 2063 _m^n are the.N c\n-00010040: 6f70 6965 7320 6f66 2074 6865 206c 6173 opies of the las\n-00010050: 7420 706f 6c79 6c69 6e65 2070 6f69 6e74 t polyline point\n-00010060: 2c20 7468 656e 2074 6865 2065 6e64 2070 , then the end p\n-00010070: 6f6c 7967 6f6e 2076 6572 7465 7820 6f72 olygon vertex or\n-00010080: 6465 720a 6973 0a20 2020 2020 456e 6420 der.is. End \n-00010090: 706f 6c79 676f 6e20 313a 2050 5f31 5e6e polygon 1: P_1^n\n-000100a0: 2c20 505f 315e 7b6e 2d31 7d2c 202e 2e2e , P_1^{n-1}, ...\n-000100b0: 202c 505f 315e 310a 2020 2020 2045 6e64 ,P_1^1. End\n-000100c0: 2070 6f6c 7967 6f6e 2032 3a20 505f 6d5e polygon 2: P_m^\n-000100d0: 312c 2050 5f6d 5e32 2c20 2e2e 2e20 2c50 1, P_m^2, ... ,P\n-000100e0: 5f6d 5e6e 0a0a 2020 2049 6620 7468 6572 _m^n.. If ther\n-000100f0: 6520 6172 6520 6e6f 206f 7074 696f 6e73 e are no options\n-00010100: 206f 6e20 7468 6520 7377 6570 7420 6c69 on the swept li\n-00010110: 6e65 2c20 7468 656e 2074 6865 20e2 8098 ne, then the ...\n-00010120: 7377 6565 70e2 8099 206f 7074 696f 6e73 sweep... options\n-00010130: 0a61 7265 2063 6f70 6965 6420 746f 2065 .are copied to e\n-00010140: 6163 6820 6f75 7470 7574 2070 6f6c 7967 ach output polyg\n-00010150: 6f6e 2e20 2049 6620 7468 6520 7377 6570 on. If the swep\n-00010160: 7420 6c69 6e65 2064 6f65 7320 6861 7665 t line does have\n-00010170: 206f 7074 696f 6e73 2c0a 7468 6573 6520 options,.these \n-00010180: 6172 6520 636f 7069 6564 2074 6f20 636f are copied to co\n-00010190: 7272 6573 706f 6e64 696e 6720 626f 6479 rresponding body\n-000101a0: 2070 6f6c 7967 6f6e 733b 2074 6865 2073 polygons; the s\n-000101b0: 7765 6570 206f 7074 696f 6e73 2061 7265 weep options are\n-000101c0: 0a63 6f70 6965 6420 746f 2074 6865 2065 .copied to the e\n-000101d0: 6e64 2070 6f6c 7967 6f6e 732e 2020 496e nd polygons. In\n-000101e0: 2074 6869 7320 6d61 6e6e 6572 2c20 626f this manner, bo\n-000101f0: 6479 2061 6e64 2065 6e64 7320 6d61 7920 dy and ends may \n-00010200: 6265 2064 7261 776e 0a77 6974 6820 6469 be drawn.with di\n-00010210: 6666 6572 656e 7420 6368 6172 6163 7465 fferent characte\n-00010220: 7269 7374 6963 7320 7375 6368 2061 7320 ristics such as \n-00010230: e280 9866 696c 6c63 6f6c 6f72 e280 992e ...fillcolor....\n-00010240: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-00010250: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5377 .info, Node: Sw\n-00010260: 6570 7420 706f 6c79 676f 6e73 2c20 204e ept polygons, N\n-00010270: 6578 743a 2053 7765 7074 2062 6c6f 636b ext: Swept block\n-00010280: 732c 2020 5072 6576 3a20 5377 6570 7420 s, Prev: Swept \n-00010290: 6c69 6e65 732c 2020 5570 3a20 5377 6565 lines, Up: Swee\n-000102a0: 7073 0a0a 332e 322e 362e 3320 5377 6570 ps..3.2.6.3 Swep\n-000102b0: 7420 706f 6c79 676f 6e73 0a2e 2e2e 2e2e t polygons......\n-000102c0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-000102d0: 2e0a 0a49 6620 5357 4550 545f 4f42 4a45 ...If SWEPT_OBJE\n-000102e0: 4354 2069 7320 6120 706f 6c79 676f 6e2c CT is a polygon,\n-000102f0: 2074 6865 20e2 8098 7377 6565 70e2 8099 the ...sweep...\n-00010300: 2063 6f6e 6e65 6374 7320 4e2b 3120 7375 connects N+1 su\n-00010310: 6363 6573 7369 7665 2063 6f70 6965 730a ccessive copies.\n-00010320: 6f66 2074 6865 2063 6c6f 7365 6420 706f of the closed po\n-00010330: 6c79 6c69 6e65 2062 6f72 6465 7220 6f66 lyline border of\n-00010340: 2074 6865 2070 6f6c 7967 6f6e 2074 6f20 the polygon to \n-00010350: 666f 726d 2062 6f64 7920 706f 6c79 676f form body polygo\n-00010360: 6e73 0a65 7861 6374 6c79 2061 7320 7468 ns.exactly as th\n-00010370: 6f75 6768 2074 6865 2062 6f72 6465 7220 ough the border \n-00010380: 7765 7265 2061 2073 7765 7074 2070 6f6c were a swept pol\n-00010390: 796c 696e 6520 6173 2064 6573 6372 6962 yline as describ\n-000103a0: 6564 2069 6e20 2a6e 6f74 650a 5377 6570 ed in *note.Swep\n-000103b0: 7420 6c69 6e65 733a 3a2e 2020 4966 2074 t lines::. If t\n-000103c0: 6865 7265 2061 7265 206d 2070 6f69 6e74 here are m point\n-000103d0: 7320 696e 2074 6865 206f 7269 6769 6e61 s in the origina\n-000103e0: 6c20 706f 6c79 676f 6e2c 2074 6865 6e20 l polygon, then \n-000103f0: 6d4e 0a62 6f64 7920 706f 6c79 676f 6e73 mN.body polygons\n-00010400: 2061 7265 2066 6f72 6d65 6420 6279 2074 are formed by t\n-00010410: 6869 7320 7377 6565 702e 2020 5468 6520 his sweep. The \n-00010420: 626f 6479 2070 6f6c 7967 6f6e 7320 666f body polygons fo\n-00010430: 726d 2061 6e0a e280 9c65 7874 7275 7369 rm an....extrusi\n-00010440: 6f6e e280 9d20 6f66 2074 6865 2062 6f75 on... of the bou\n-00010450: 6e64 6172 7920 6f66 2074 6865 206f 7269 ndary of the ori\n-00010460: 6769 6e61 6c20 706f 6c79 676f 6e20 7769 ginal polygon wi\n-00010470: 7468 2074 776f 2068 6f6c 6573 2061 740a th two holes at.\n-00010480: 7468 6520 6f70 656e 2065 6e64 732e 0a0a the open ends...\n-00010490: 2020 2046 696e 616c 6c79 2c20 7468 6520 Finally, the \n-000104a0: 7377 6565 7020 6164 6473 2074 776f 2063 sweep adds two c\n-000104b0: 6f70 6965 7320 6f66 2074 6865 206f 7269 opies of the ori\n-000104c0: 6769 6e61 6c20 706f 6c79 676f 6e20 746f ginal polygon to\n-000104d0: 2063 6f76 6572 0a74 6865 2068 6f6c 6573 cover.the holes\n-000104e0: 2e20 2057 6520 6361 6c6c 2074 6865 7365 . We call these\n-000104f0: 2068 6f6c 652d 6669 6c6c 696e 6720 706f hole-filling po\n-00010500: 6c79 676f 6e73 20e2 809c 656e 6473 e280 lygons ...ends..\n-00010510: 9d2e 2020 496e 2074 6869 7320 6d61 6e6e .. In this mann\n-00010520: 6572 2c0a e280 9873 7765 6570 e280 9920 er,....sweep... \n-00010530: 666f 726d 7320 7468 6520 626f 756e 6461 forms the bounda\n-00010540: 7279 206f 6620 6120 7468 7265 652d 6469 ry of a three-di\n-00010550: 6d65 6e73 696f 6e61 6c20 6f62 6a65 6374 mensional object\n-00010560: 2066 726f 6d20 610a 7477 6f2d 6469 6d65 from a.two-dime\n-00010570: 6e73 696f 6e61 6c20 706f 6c79 676f 6e2e nsional polygon.\n-00010580: 0a0a 2020 2054 6865 206f 7264 6572 206f .. The order o\n-00010590: 6620 7665 7274 6963 6573 206f 6620 656e f vertices of en\n-000105a0: 6420 706f 6c79 676f 6e73 2069 7320 696d d polygons is im\n-000105b0: 706f 7274 616e 7420 666f 7220 636f 7272 portant for corr\n-000105c0: 6563 740a 6375 6c6c 696e 6720 6173 2064 ect.culling as d\n-000105d0: 6573 6372 6962 6564 2061 626f 7665 2e20 escribed above. \n-000105e0: 2041 6e20 6578 6163 7420 636f 7079 206f An exact copy o\n-000105f0: 6620 7468 6520 6f72 6967 696e 616c 2070 f the original p\n-00010600: 6f6c 7967 6f6e 2077 6974 680a 7665 7274 olygon with.vert\n-00010610: 6578 206f 7264 6572 2069 6e74 6163 7420 ex order intact \n-00010620: 666f 726d 7320 7468 6520 6669 7273 7420 forms the first \n-00010630: 656e 6420 706f 6c79 676f 6e2e 2020 5468 end polygon. Th\n-00010640: 6520 6f74 6865 7220 656e 6420 706f 6c79 e other end poly\n-00010650: 676f 6e0a 7265 7375 6c74 7320 6672 6f6d gon.results from\n-00010660: 2074 7261 6e73 666f 726d 696e 6720 616e transforming an\n-00010670: 6420 7468 6520 7265 7665 7273 696e 6720 d the reversing \n-00010680: 7468 6520 6f72 6465 7220 6f66 2076 6572 the order of ver\n-00010690: 7469 6365 7320 696e 2074 6865 0a6f 7269 tices in the.ori\n-000106a0: 6769 6e61 6c2e 2020 5468 6520 7472 616e ginal. The tran\n-000106b0: 7366 6f72 6d20 706c 6163 6573 2074 6865 sform places the\n-000106c0: 206f 7269 6769 6e61 6c20 706f 6c79 676f original polygo\n-000106d0: 6e20 6174 2074 6865 2075 6e63 6f76 6572 n at the uncover\n-000106e0: 6564 0a68 6f6c 653b 2069 7420 6973 0a20 ed.hole; it is. \n-000106f0: 2020 2020 545f 315e 6e20 7468 656e 2054 T_1^n then T\n-00010700: 5f32 5e6e 2074 6865 6e20 2e2e 2e20 7468 _2^n then ... th\n-00010710: 656e 2054 5f52 5e6e 2e0a 4966 2074 6865 en T_R^n..If the\n-00010720: 7265 2061 7265 206e 6f20 6f70 7469 6f6e re are no option\n-00010730: 7320 6f6e 2074 6865 2073 7765 7074 2070 s on the swept p\n-00010740: 6f6c 7967 6f6e 2c20 7468 656e 2074 6865 olygon, then the\n-00010750: 20e2 8098 7377 6565 70e2 8099 206f 7074 ...sweep... opt\n-00010760: 696f 6e73 0a61 7265 2063 6f70 6965 6420 ions.are copied \n-00010770: 746f 2065 6163 6820 6f75 7470 7574 2070 to each output p\n-00010780: 6f6c 7967 6f6e 2e20 2049 6620 7468 6520 olygon. If the \n-00010790: 7377 6570 7420 706f 6c79 676f 6e20 646f swept polygon do\n-000107a0: 6573 2068 6176 650a 6f70 7469 6f6e 732c es have.options,\n-000107b0: 2074 6865 7365 2061 7265 2063 6f70 6965 these are copie\n-000107c0: 6420 746f 2074 6865 2065 6e64 733b 2074 d to the ends; t\n-000107d0: 6865 2073 7765 6570 206f 7074 696f 6e73 he sweep options\n-000107e0: 2061 7265 2063 6f70 6965 6420 746f 0a74 are copied to.t\n-000107f0: 6865 2062 6f64 7920 706f 6c79 676f 6e73 he body polygons\n-00010800: 2e20 2049 6e20 7468 6973 206d 616e 6e65 . In this manne\n-00010810: 722c 2062 6f64 7920 616e 6420 656e 6473 r, body and ends\n-00010820: 206d 6179 2062 6520 6472 6177 6e20 7769 may be drawn wi\n-00010830: 7468 0a64 6966 6665 7265 6e74 2063 6861 th.different cha\n-00010840: 7261 6374 6572 6973 7469 6373 2073 7563 racteristics suc\n-00010850: 6820 6173 20e2 8098 6669 6c6c 636f 6c6f h as ...fillcolo\n-00010860: 72e2 8099 2e0a 0a1f 0a46 696c 653a 2073 r........File: s\n-00010870: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-00010880: 653a 2053 7765 7074 2062 6c6f 636b 732c e: Swept blocks,\n-00010890: 2020 4e65 7874 3a20 5377 6565 7020 6661 Next: Sweep fa\n-000108a0: 6365 2073 706c 6974 7469 6e67 2c20 2050 ce splitting, P\n-000108b0: 7265 763a 2053 7765 7074 2070 6f6c 7967 rev: Swept polyg\n-000108c0: 6f6e 732c 2020 5570 3a20 5377 6565 7073 ons, Up: Sweeps\n-000108d0: 0a0a 332e 322e 362e 3420 5377 6570 7420 ..3.2.6.4 Swept \n-000108e0: 626c 6f63 6b73 0a2e 2e2e 2e2e 2e2e 2e2e blocks..........\n-000108f0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a54 6865 .............The\n-00010900: 2073 7765 7074 206f 626a 6563 7420 5357 swept object SW\n-00010910: 4550 545f 4f42 4a45 4354 206d 6179 2061 EPT_OBJECT may a\n-00010920: 6c73 6f20 6265 2061 6e79 2063 6f6c 6c65 lso be any colle\n-00010930: 6374 696f 6e20 6f66 2070 6f6c 796c 696e ction of polylin\n-00010940: 6573 0a61 6e64 2070 6f6c 7967 6f6e 732e es.and polygons.\n-00010950: 2020 5468 6973 206d 6179 2062 6520 6120 This may be a \n-00010960: 626c 6f63 6b20 636f 6d70 6f73 6564 206f block composed o\n-00010970: 6620 e280 986c 696e 65e2 8099 2061 6e64 f ...line... and\n-00010980: 2f6f 7220 e280 9870 6f6c 7967 6f6e e280 /or ...polygon..\n-00010990: 990a 636f 6d6d 616e 6473 2069 6e20 6272 ..commands in br\n-000109a0: 6163 6573 20e2 8098 7b20 7de2 8099 2c20 aces ...{ }..., \n-000109b0: 6f72 2069 7420 6d61 7920 6265 2074 6865 or it may be the\n-000109c0: 2072 6573 756c 7420 6f66 2061 20e2 8098 result of a ...\n-000109d0: 7265 7065 6174 e280 992c 2061 6e6f 7468 repeat..., anoth\n-000109e0: 6572 0ae2 8098 7377 6565 70e2 8099 2c20 er....sweep..., \n-000109f0: 6574 632e 2020 5468 6520 7377 6565 7020 etc. The sweep \n-00010a00: 6163 7473 2069 6e64 6570 656e 6465 6e74 acts independent\n-00010a10: 6c79 206f 6e20 6561 6368 206f 626a 6563 ly on each objec\n-00010a20: 7420 696e 2074 6865 2062 6c6f 636b 0a65 t in the block.e\n-00010a30: 7861 6374 6c79 2061 7320 6966 2069 7420 xactly as if it \n-00010a40: 7765 7265 2061 2073 696e 676c 6520 7377 were a single sw\n-00010a50: 6570 7420 6f62 6a65 6374 2064 6573 6372 ept object descr\n-00010a60: 6962 6564 2061 626f 7665 2069 6e20 2a6e ibed above in *n\n-00010a70: 6f74 650a 5377 6570 7420 6c69 6e65 733a ote.Swept lines:\n-00010a80: 3a20 616e 6420 2a6e 6f74 6520 5377 6570 : and *note Swep\n-00010a90: 7420 706f 6c79 676f 6e73 3a3a 2e0a 0a1f t polygons::....\n-00010aa0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00010ab0: 666f 2c20 204e 6f64 653a 2053 7765 6570 fo, Node: Sweep\n-00010ac0: 2066 6163 6520 7370 6c69 7474 696e 672c face splitting,\n-00010ad0: 2020 5072 6576 3a20 5377 6570 7420 626c Prev: Swept bl\n-00010ae0: 6f63 6b73 2c20 2055 703a 2053 7765 6570 ocks, Up: Sweep\n-00010af0: 730a 0a33 2e32 2e36 2e35 2053 7765 6570 s..3.2.6.5 Sweep\n-00010b00: 2066 6163 6520 7370 6c69 7474 696e 670a face splitting.\n+0000dae0: 2020 2061 766f 6964 7320 6d69 7374 616b avoids mistak\n+0000daf0: 6573 2062 7920 7468 6520 6869 6464 656e es by the hidden\n+0000db00: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit\n+0000db10: 686d 2e0a 0a33 2e31 2e36 2050 6f69 6e74 hm...3.1.6 Point\n+0000db20: 206c 6973 7473 0a2d 2d2d 2d2d 2d2d 2d2d lists.---------\n+0000db30: 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 --------..*Synta\n+0000db40: 783a 2a0a 2020 2020 2028 5831 2c59 312c x:*. (X1,Y1,\n+0000db50: 5a31 2928 5832 2c59 322c 5a32 292e 2e2e Z1)(X2,Y2,Z2)...\n+0000db60: 0a41 2073 6571 7565 6e63 6520 6f66 206f .A sequence of o\n+0000db70: 6e65 206f 7220 6d6f 7265 2070 6f69 6e74 ne or more point\n+0000db80: 7320 6d61 6b65 7320 6120 706f 696e 7420 s makes a point \n+0000db90: 6c69 7374 2c20 6120 6665 6174 7572 6520 list, a feature \n+0000dba0: 636f 6d6d 6f6e 2074 6f0a 616c 6c20 6472 common to.all dr\n+0000dbb0: 6177 6162 6c65 732e 2020 4561 6368 206f awables. Each o\n+0000dbc0: 6620 7468 6520 706f 696e 7420 636f 6d70 f the point comp\n+0000dbd0: 6f6e 656e 7473 2069 7320 6120 7363 616c onents is a scal\n+0000dbe0: 6172 2061 7269 7468 6d65 7469 630a 6578 ar arithmetic.ex\n+0000dbf0: 7072 6573 7369 6f6e 2e20 2041 6e79 2070 pression. Any p\n+0000dc00: 6f69 6e74 206d 6179 2068 6176 6520 7468 oint may have th\n+0000dc10: 6520 7a2d 636f 6d70 6f6e 656e 7420 6f6d e z-component om\n+0000dc20: 6974 7465 643b 2069 7420 7769 6c6c 2064 itted; it will d\n+0000dc30: 6566 6175 6c74 0a74 6f20 7a3d 302e 0a0a efault.to z=0...\n+0000dc40: 2a20 4d65 6e75 3a0a 0a2a 2044 7261 7761 * Menu:..* Drawa\n+0000dc50: 626c 6573 3a3a 2020 2020 2020 2020 2020 bles:: \n+0000dc60: 2020 2020 2020 2020 2054 6869 6e67 7320 Things \n+0000dc70: 7468 6174 2061 7265 2064 7261 776e 2e0a that are drawn..\n+0000dc80: 2a20 4465 6669 6e69 7469 6f6e 733a 3a20 * Definitions:: \n+0000dc90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dca0: 5468 696e 6773 2077 6974 6820 6e61 6d65 Things with name\n+0000dcb0: 732e 0a0a 1f0a 4669 6c65 3a20 736b 6574 s.....File: sket\n+0000dcc0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n+0000dcd0: 4472 6177 6162 6c65 732c 2020 4e65 7874 Drawables, Next\n+0000dce0: 3a20 4465 6669 6e69 7469 6f6e 732c 2020 : Definitions, \n+0000dcf0: 5072 6576 3a20 4c61 6e67 7561 6765 2062 Prev: Language b\n+0000dd00: 6173 6963 732c 2020 5570 3a20 496e 7075 asics, Up: Inpu\n+0000dd10: 7420 6c61 6e67 7561 6765 0a0a 332e 3220 t language..3.2 \n+0000dd20: 4472 6177 6162 6c65 730a 3d3d 3d3d 3d3d Drawables.======\n+0000dd30: 3d3d 3d3d 3d3d 3d0a 0a44 7261 7761 626c =======..Drawabl\n+0000dd40: 6573 2061 7265 2073 696d 706c 7920 e280 es are simply ..\n+0000dd50: 9873 6b65 7463 68e2 8099 206f 626a 6563 .sketch... objec\n+0000dd60: 7473 2074 6861 7420 6d69 6768 7420 6170 ts that might ap\n+0000dd70: 7065 6172 2069 6e20 7468 6520 6472 6177 pear in the draw\n+0000dd80: 696e 672e 0a54 6865 7920 696e 636c 7564 ing..They includ\n+0000dd90: 6520 646f 7473 2c20 706f 6c79 6c69 6e65 e dots, polyline\n+0000dda0: 732c 2063 7572 7665 732c 2070 6f6c 7967 s, curves, polyg\n+0000ddb0: 6f6e 732c 2061 6e64 206d 6f72 6520 636f ons, and more co\n+0000ddc0: 6d70 6c65 7820 6f62 6a65 6374 730a 7468 mplex objects.th\n+0000ddd0: 6174 2061 7265 2062 7569 6c74 2075 7020 at are built up \n+0000dde0: 6672 6f6d 2073 696d 706c 6572 206f 6e65 from simpler one\n+0000ddf0: 7320 696e 2076 6172 696f 7573 2077 6179 s in various way\n+0000de00: 732e 2020 4669 6e61 6c6c 792c 20e2 809c s. Finally, ...\n+0000de10: 7370 6563 6961 6ce2 809d 0a6f 626a 6563 special....objec\n+0000de20: 7473 2061 7265 2074 686f 7365 2063 6f6d ts are those com\n+0000de30: 706f 7365 6420 6f66 204c 6154 6558 206f posed of LaTeX o\n+0000de40: 7220 e280 9850 5354 7269 636b 73e2 8099 r ...PSTricks...\n+0000de50: 2063 6f64 652c 2070 6572 6861 7073 0a69 code, perhaps.i\n+0000de60: 6e63 6c75 6469 6e67 2063 6f6f 7264 696e ncluding coordin\n+0000de70: 6174 6573 2061 6e64 2061 6e67 6c65 7320 ates and angles \n+0000de80: 636f 6d70 7574 6564 2062 7920 e280 9873 computed by ...s\n+0000de90: 6b65 7463 68e2 8099 2e0a 0a2a 204d 656e ketch......* Men\n+0000dea0: 753a 0a0a 2a20 446f 7473 3a3a 2020 2020 u:..* Dots:: \n+0000deb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dec0: 2020 2020 4472 6177 2064 6f74 732e 0a2a Draw dots..*\n+0000ded0: 204c 696e 6573 3a3a 2020 2020 2020 2020 Lines:: \n+0000dee0: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+0000def0: 7261 7720 706f 6c79 6c69 6e65 732e 0a2a raw polylines..*\n+0000df00: 2043 7572 7665 733a 3a20 2020 2020 2020 Curves:: \n+0000df10: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+0000df20: 7261 7720 6375 7276 6573 2e0a 2a20 506f raw curves..* Po\n+0000df30: 6c79 676f 6e73 3a3a 2020 2020 2020 2020 lygons:: \n+0000df40: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n+0000df50: 2070 6f6c 7967 6f6e 732e 0a2a 2053 7065 polygons..* Spe\n+0000df60: 6369 616c 733a 3a20 2020 2020 2020 2020 cials:: \n+0000df70: 2020 2020 2020 2020 2020 2045 6d62 6564 Embed\n+0000df80: 2072 6177 204c 6154 6558 2061 6e64 20e2 raw LaTeX and .\n+0000df90: 8098 5053 5472 6963 6b73 e280 992e 0a2a ..PSTricks.....*\n+0000dfa0: 2053 7765 6570 733a 3a20 2020 2020 2020 Sweeps:: \n+0000dfb0: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+0000dfc0: 7261 7720 7377 6565 7073 206f 6620 646f raw sweeps of do\n+0000dfd0: 7473 2061 6e64 2070 6f6c 796c 696e 6573 ts and polylines\n+0000dfe0: 2e0a 2a20 426c 6f63 6b73 3a3a 2020 2020 ..* Blocks:: \n+0000dff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e000: 2020 4772 6f75 7020 6f74 6865 7220 6472 Group other dr\n+0000e010: 6177 6162 6c65 732e 0a2a 2052 6570 6561 awables..* Repea\n+0000e020: 7473 3a3a 2020 2020 2020 2020 2020 2020 ts:: \n+0000e030: 2020 2020 2020 2020 2044 7261 7720 7472 Draw tr\n+0000e040: 616e 7366 6f72 6d65 6420 636f 7069 6573 ansformed copies\n+0000e050: 206f 6620 6f62 6a65 6374 732e 0a2a 2050 of objects..* P\n+0000e060: 7574 733a 3a20 2020 2020 2020 2020 2020 uts:: \n+0000e070: 2020 2020 2020 2020 2020 2020 2044 7261 Dra\n+0000e080: 7720 6f6e 6520 6f62 6a65 6374 2074 7261 w one object tra\n+0000e090: 6e73 666f 726d 6564 2e0a 0a1f 0a46 696c nsformed.....Fil\n+0000e0a0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n+0000e0b0: 204e 6f64 653a 2044 6f74 732c 2020 4e65 Node: Dots, Ne\n+0000e0c0: 7874 3a20 4c69 6e65 732c 2020 5072 6576 xt: Lines, Prev\n+0000e0d0: 3a20 4472 6177 6162 6c65 732c 2020 5570 : Drawables, Up\n+0000e0e0: 3a20 4472 6177 6162 6c65 730a 0a33 2e32 : Drawables..3.2\n+0000e0f0: 2e31 2044 6f74 730a 2d2d 2d2d 2d2d 2d2d .1 Dots.--------\n+0000e100: 2d2d 0a0a 2a53 796e 7461 783a 2a0a 2020 --..*Syntax:*. \n+0000e110: 2020 2064 6f74 735b 4f50 5449 4f4e 535d dots[OPTIONS]\n+0000e120: 2050 4f49 4e54 5f4c 4953 540a 5468 6973 POINT_LIST.This\n+0000e130: 2063 6f6d 6d61 6e64 2069 7320 7468 6520 command is the \n+0000e140: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona\n+0000e150: 6c20 6571 7569 7661 6c65 6e74 206f 6620 l equivalent of \n+0000e160: 7468 6520 e280 9850 5354 7269 636b 73e2 the ...PSTricks.\n+0000e170: 8099 0a63 6f6d 6d61 6e64 20e2 8098 5c70 ...command ...\\p\n+0000e180: 7364 6f74 73e2 8099 2e0a 0a1f 0a46 696c sdots........Fil\n+0000e190: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n+0000e1a0: 204e 6f64 653a 204c 696e 6573 2c20 204e Node: Lines, N\n+0000e1b0: 6578 743a 2043 7572 7665 732c 2020 5072 ext: Curves, Pr\n+0000e1c0: 6576 3a20 446f 7473 2c20 2055 703a 2044 ev: Dots, Up: D\n+0000e1d0: 7261 7761 626c 6573 0a0a 332e 322e 3220 rawables..3.2.2 \n+0000e1e0: 4c69 6e65 730a 2d2d 2d2d 2d2d 2d2d 2d2d Lines.----------\n+0000e1f0: 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 2020 -..*Syntax:*. \n+0000e200: 2020 6c69 6e65 5b4f 5054 494f 4e53 5d20 line[OPTIONS] \n+0000e210: 504f 494e 545f 4c49 5354 0a54 6869 7320 POINT_LIST.This \n+0000e220: 636f 6d6d 616e 6420 6973 2074 6865 2074 command is the t\n+0000e230: 6872 6565 2d64 696d 656e 7369 6f6e 616c hree-dimensional\n+0000e240: 2065 7175 6976 616c 656e 7420 6f66 2074 equivalent of t\n+0000e250: 6865 20e2 8098 5053 5472 6963 6b73 e280 he ...PSTricks..\n+0000e260: 990a 636f 6d6d 616e 6420 e280 985c 7073 ..command ...\\ps\n+0000e270: 6c69 6e65 e280 992e 0a0a 1f0a 4669 6c65 line........File\n+0000e280: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+0000e290: 4e6f 6465 3a20 4375 7276 6573 2c20 204e Node: Curves, N\n+0000e2a0: 6578 743a 2050 6f6c 7967 6f6e 732c 2020 ext: Polygons, \n+0000e2b0: 5072 6576 3a20 4c69 6e65 732c 2020 5570 Prev: Lines, Up\n+0000e2c0: 3a20 4472 6177 6162 6c65 730a 0a33 2e32 : Drawables..3.2\n+0000e2d0: 2e33 2043 7572 7665 730a 2d2d 2d2d 2d2d .3 Curves.------\n+0000e2e0: 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 783a ------..*Syntax:\n+0000e2f0: 2a0a 2020 2020 2063 7572 7665 5b4f 5054 *. curve[OPT\n+0000e300: 494f 4e53 5d20 504f 494e 545f 4c49 5354 IONS] POINT_LIST\n+0000e310: 0a54 6869 7320 636f 6d6d 616e 6420 6973 .This command is\n+0000e320: 2074 6865 2074 6872 6565 2d64 696d 656e the three-dimen\n+0000e330: 7369 6f6e 616c 2065 7175 6976 616c 656e sional equivalen\n+0000e340: 7420 6f66 2074 6865 20e2 8098 5053 5472 t of the ...PSTr\n+0000e350: 6963 6b73 e280 990a 636f 6d6d 616e 6420 icks....command \n+0000e360: e280 985c 7073 6375 7276 65e2 8099 2e20 ...\\pscurve.... \n+0000e370: 2049 7420 6973 206e 6f74 2069 6d70 6c65 It is not imple\n+0000e380: 6d65 6e74 6564 2069 6e20 7468 6520 6375 mented in the cu\n+0000e390: 7272 656e 7420 7665 7273 696f 6e20 6f66 rrent version of\n+0000e3a0: 0ae2 8098 736b 6574 6368 e280 992e 0a0a ....sketch......\n+0000e3b0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+0000e3c0: 6e66 6f2c 2020 4e6f 6465 3a20 506f 6c79 nfo, Node: Poly\n+0000e3d0: 676f 6e73 2c20 204e 6578 743a 2053 7065 gons, Next: Spe\n+0000e3e0: 6369 616c 732c 2020 5072 6576 3a20 4375 cials, Prev: Cu\n+0000e3f0: 7276 6573 2c20 2055 703a 2044 7261 7761 rves, Up: Drawa\n+0000e400: 626c 6573 0a0a 332e 322e 3420 506f 6c79 bles..3.2.4 Poly\n+0000e410: 676f 6e73 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d gons.-----------\n+0000e420: 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 ---..*Syntax:*. \n+0000e430: 2020 2020 706f 6c79 676f 6e5b 4f50 5449 polygon[OPTI\n+0000e440: 4f4e 535d 2050 4f49 4e54 5f4c 4953 540a ONS] POINT_LIST.\n+0000e450: 5468 6973 2063 6f6d 6d61 6e64 2069 7320 This command is \n+0000e460: 7468 6520 7468 7265 652d 6469 6d65 6e73 the three-dimens\n+0000e470: 696f 6e61 6c20 6571 7569 7661 6c65 6e74 ional equivalent\n+0000e480: 206f 6620 7468 6520 e280 9850 5354 7269 of the ...PSTri\n+0000e490: 636b 73e2 8099 0a63 6f6d 6d61 6e64 20e2 cks....command .\n+0000e4a0: 8098 5c70 7370 6f6c 7967 6f6e e280 992e ..\\pspolygon....\n+0000e4b0: 2020 5468 6520 e280 9873 6b65 7463 68e2 The ...sketch.\n+0000e4c0: 8099 2068 6964 6465 6e20 7375 7266 6163 .. hidden surfac\n+0000e4d0: 6520 616c 676f 7269 7468 6d20 6173 7375 e algorithm assu\n+0000e4e0: 6d65 730a 7468 6174 2070 6f6c 7967 6f6e mes.that polygon\n+0000e4f0: 7320 6172 6520 636f 6e76 6578 2061 6e64 s are convex and\n+0000e500: 2070 6c61 6e61 722e 2020 496e 2070 7261 planar. In pra\n+0000e510: 6374 6963 652c 2064 7261 7769 6e67 7320 ctice, drawings \n+0000e520: 6d61 7920 7765 6c6c 0a74 7572 6e20 6f75 may well.turn ou\n+0000e530: 7420 636f 7272 6563 746c 7920 6576 656e t correctly even\n+0000e540: 2069 6620 7468 6573 6520 6173 7375 6d70 if these assump\n+0000e550: 7469 6f6e 7320 6172 6520 7669 6f6c 6174 tions are violat\n+0000e560: 6564 2e0a 0a1f 0a46 696c 653a 2073 6b65 ed.....File: ske\n+0000e570: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+0000e580: 2053 7065 6369 616c 732c 2020 4e65 7874 Specials, Next\n+0000e590: 3a20 5377 6565 7073 2c20 2050 7265 763a : Sweeps, Prev:\n+0000e5a0: 2050 6f6c 7967 6f6e 732c 2020 5570 3a20 Polygons, Up: \n+0000e5b0: 4472 6177 6162 6c65 730a 0a33 2e32 2e35 Drawables..3.2.5\n+0000e5c0: 2053 7065 6369 616c 730a 2d2d 2d2d 2d2d Specials.------\n+0000e5d0: 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 --------..*Synta\n+0000e5e0: 783a 2a0a 2020 2020 2073 7065 6369 616c x:*. special\n+0000e5f0: 2024 5241 575f 5445 5854 245b 4f50 5449 $RAW_TEXT$[OPTI\n+0000e600: 4f4e 535d 2041 5247 5f4c 4953 540a 4865 ONS] ARG_LIST.He\n+0000e610: 7265 20e2 8098 24e2 8099 2063 616e 2062 re ...$... can b\n+0000e620: 6520 616e 7920 6368 6172 6163 7465 7220 e any character \n+0000e630: 616e 6420 6973 2075 7365 6420 746f 2064 and is used to d\n+0000e640: 656c 696d 6974 2074 6865 2073 7461 7274 elimit the start\n+0000e650: 2061 6e64 2065 6e64 0a6f 6620 5241 575f and end.of RAW_\n+0000e660: 5445 5854 2e20 2054 6865 2063 6f6d 6d61 TEXT. The comma\n+0000e670: 6e64 2065 6d62 6564 7320 5241 575f 5445 nd embeds RAW_TE\n+0000e680: 5854 2069 6e20 7468 6520 e280 9873 6b65 XT in the ...ske\n+0000e690: 7463 68e2 8099 206f 7574 7075 7420 6166 tch... output af\n+0000e6a0: 7465 720a 7065 7266 6f72 6d69 6e67 2073 ter.performing s\n+0000e6b0: 7562 7374 6974 7574 696f 6e73 2061 7320 ubstitutions as \n+0000e6c0: 666f 6c6c 6f77 732e 0a20 2020 e280 a220 follows.. ... \n+0000e6d0: e280 9823 49e2 8099 2077 6865 7265 2049 ...#I... where I\n+0000e6e0: 2069 7320 6120 706f 7369 7469 7665 2069 is a positive i\n+0000e6f0: 6e74 6567 6572 2069 7320 7265 706c 6163 nteger is replac\n+0000e700: 6564 2062 7920 7468 6520 4927 7468 2076 ed by the I'th v\n+0000e710: 616c 7565 2069 6e0a 2020 2020 2041 5247 alue in. ARG\n+0000e720: 5f4c 4953 542e 2020 506f 696e 7420 616e _LIST. Point an\n+0000e730: 6420 7665 6374 6f72 2061 7267 756d 656e d vector argumen\n+0000e740: 7473 2062 6563 6f6d 6520 7477 6f2d 6469 ts become two-di\n+0000e750: 6d65 6e73 696f 6e61 6c0a 2020 2020 2070 mensional. p\n+0000e760: 6f69 6e74 732c 2077 6869 6368 2061 7265 oints, which are\n+0000e770: 2074 6865 2074 7261 6e73 666f 726d 6564 the transformed\n+0000e780: 2033 6420 6172 6775 6d65 6e74 7320 7072 3d arguments pr\n+0000e790: 6f6a 6563 7465 6420 6f6e 746f 2074 6865 ojected onto the\n+0000e7a0: 0a20 2020 2020 582d 5920 706c 616e 652e . X-Y plane.\n+0000e7b0: 2020 5468 6973 2061 6c6c 6f77 7320 7477 This allows tw\n+0000e7c0: 6f2d 6469 6d65 6e74 696f 6e61 6c20 6f75 o-dimentional ou\n+0000e7d0: 7470 7574 2065 6c65 6d65 6e74 7320 7375 tput elements su\n+0000e7e0: 6368 2061 730a 2020 2020 206c 6162 656c ch as. label\n+0000e7f0: 7320 746f 2062 6520 6561 7369 6c79 2070 s to be easily p\n+0000e800: 6f73 6974 696f 6e65 6420 7769 7468 2072 ositioned with r\n+0000e810: 6573 7065 6374 2074 6f20 7468 7265 652d espect to three-\n+0000e820: 6469 6d65 6e73 696f 6e61 6c0a 2020 2020 dimensional. \n+0000e830: 2066 6561 7475 7265 7320 696e 2074 6865 features in the\n+0000e840: 2064 7261 7769 6e67 2e20 2053 6361 6c61 drawing. Scala\n+0000e850: 7220 6172 6775 6d65 6e74 7320 6172 6520 r arguments are \n+0000e860: 7375 6273 6974 7574 6564 2064 6972 6563 subsituted direc\n+0000e870: 746c 792e 0a20 2020 2020 4e6f 2074 7261 tly.. No tra\n+0000e880: 6e73 666f 726d 6174 696f 6e20 6973 2061 nsformation is a\n+0000e890: 7070 6c69 6564 2e0a 2020 20e2 80a2 20e2 pplied.. ... .\n+0000e8a0: 8098 237b 497d e280 9920 6973 2061 6c73 ..#{I}... is als\n+0000e8b0: 6f20 7265 706c 6163 6564 2061 7320 6162 o replaced as ab\n+0000e8c0: 6f76 652e 0a20 2020 e280 a220 e280 9823 ove.. ... ...#\n+0000e8d0: 4927 32e2 8099 2069 7320 7265 706c 6163 I'2... is replac\n+0000e8e0: 6564 2061 7320 6162 6f76 6520 666f 7220 ed as above for \n+0000e8f0: 706f 696e 7473 206f 7220 7665 6374 6f72 points or vector\n+0000e900: 732e 2020 4974 2069 7320 616e 2065 7272 s. It is an err\n+0000e910: 6f72 0a20 2020 2020 666f 7220 7468 6520 or. for the \n+0000e920: 4927 7468 2061 7267 756d 656e 7420 746f I'th argument to\n+0000e930: 2062 6520 6120 7363 616c 6172 2e0a 2020 be a scalar.. \n+0000e940: 20e2 80a2 20e2 8098 2349 2778 e280 992c ... ...#I'x...,\n+0000e950: 20e2 8098 2349 2779 e280 992c 206f 7220 ...#I'y..., or \n+0000e960: e280 9823 4927 7ae2 8099 2069 7320 7265 ...#I'z... is re\n+0000e970: 706c 6163 6564 2c20 7265 7370 6563 7469 placed, respecti\n+0000e980: 7665 6c79 2c20 6279 2074 6865 2073 6361 vely, by the sca\n+0000e990: 6c61 720a 2020 2020 2058 2c20 592c 206f lar. X, Y, o\n+0000e9a0: 7220 5a2d 636f 6f72 6469 6e61 7465 206f r Z-coordinate o\n+0000e9b0: 6620 7468 6520 6172 6775 6d65 6e74 2070 f the argument p\n+0000e9c0: 6f69 6e74 206f 7220 7665 6374 6f72 2e20 oint or vector. \n+0000e9d0: 2049 7420 6973 2061 6e0a 2020 2020 2065 It is an. e\n+0000e9e0: 7272 6f72 2066 6f72 2074 6865 2049 2774 rror for the I't\n+0000e9f0: 6820 6172 6775 6d65 6e74 2074 6f20 6265 h argument to be\n+0000ea00: 2061 2073 6361 6c61 722e 0a20 2020 e280 a scalar.. ..\n+0000ea10: a220 e280 9823 4927 33e2 8099 2069 7320 . ...#I'3... is \n+0000ea20: 7265 706c 6163 6564 2062 7920 7468 6520 replaced by the \n+0000ea30: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona\n+0000ea40: 6c20 7472 616e 7366 6f72 6d65 6420 6172 l transformed ar\n+0000ea50: 6775 6d65 6e74 2e0a 2020 2020 204e 6f74 gument.. Not\n+0000ea60: 6520 7468 6174 2069 6620 6120 7065 7273 e that if a pers\n+0000ea70: 7065 6374 6976 6520 7472 616e 7366 6f72 pective transfor\n+0000ea80: 6d61 7469 6f6e 2068 6173 2062 6565 6e20 mation has been \n+0000ea90: 6170 706c 6965 642c 2074 6865 0a20 2020 applied, the. \n+0000eaa0: 2020 5a2d 636f 6f72 6469 6e61 7465 2068 Z-coordinate h\n+0000eab0: 6173 206c 6974 746c 6520 6765 6f6d 6574 as little geomet\n+0000eac0: 7269 6320 7369 676e 6966 6963 616e 6365 ric significance\n+0000ead0: 2c20 7468 6f75 6768 2069 740a 2020 2020 , though it. \n+0000eae0: 2061 6363 7572 6174 656c 7920 696e 6469 accurately indi\n+0000eaf0: 6361 7465 7320 7265 6c61 7469 7665 2064 cates relative d\n+0000eb00: 6570 7468 2e0a 2020 20e2 80a2 20e2 8098 epth.. ... ...\n+0000eb10: 2349 2d4a e280 9920 7768 6572 6520 4920 #I-J... where I \n+0000eb20: 616e 6420 4a20 6172 6520 706f 7369 7469 and J are positi\n+0000eb30: 7665 2069 6e74 6567 6572 7320 6973 2072 ve integers is r\n+0000eb40: 6570 6c61 6365 6420 6279 2061 2073 7472 eplaced by a str\n+0000eb50: 696e 670a 2020 2020 20e2 8098 7b41 4e47 ing. ...{ANG\n+0000eb60: 4c45 7de2 8099 2077 6865 7265 2041 4e47 LE}... where ANG\n+0000eb70: 4c45 2069 7320 7468 6520 706f 6c61 7220 LE is the polar \n+0000eb80: 616e 676c 6520 6f66 2061 2076 6563 746f angle of a vecto\n+0000eb90: 7220 6672 6f6d 2074 6865 2049 2774 680a r from the I'th.\n+0000eba0: 2020 2020 2070 6f69 6e74 2069 6e20 504f point in PO\n+0000ebb0: 494e 545f 4c49 5354 2074 6f20 7468 6520 INT_LIST to the \n+0000ebc0: 4a27 7468 2070 6f69 6e74 2070 726f 6a65 J'th point proje\n+0000ebd0: 6374 6564 2069 6e74 6f20 7468 6520 782d cted into the x-\n+0000ebe0: 7920 706c 616e 652e 0a20 2020 2020 4974 y plane.. It\n+0000ebf0: 2069 7320 616e 2065 7272 6f72 2066 6f72 is an error for\n+0000ec00: 2074 6865 2049 2774 6820 6f72 204a 2774 the I'th or J't\n+0000ec10: 6820 6172 6775 6d65 6e74 2074 6f20 6265 h argument to be\n+0000ec20: 2061 2073 6361 6c61 7220 6f72 2061 0a20 a scalar or a. \n+0000ec30: 2020 2020 7665 6374 6f72 2e0a 2020 20e2 vector.. .\n+0000ec40: 80a2 20e2 8098 237b 492d 4a7d e280 9920 .. ...#{I-J}... \n+0000ec50: 6973 2061 6c73 6f20 7265 706c 6163 6564 is also replaced\n+0000ec60: 2061 7320 6162 6f76 652e 0a20 2020 e280 as above.. ..\n+0000ec70: a220 e280 9823 23e2 8099 2069 7320 7265 . ...##... is re\n+0000ec80: 706c 6163 6564 2077 6974 6820 e280 9823 placed with ...#\n+0000ec90: e280 992e 0a54 6865 2066 6f72 6d73 2077 .....The forms w\n+0000eca0: 6974 6820 6272 6163 6573 20e2 8098 7b20 ith braces ...{ \n+0000ecb0: 7de2 8099 2061 7265 2075 7365 6675 6c20 }... are useful \n+0000ecc0: 7768 656e 2074 6865 2061 7267 756d 656e when the argumen\n+0000ecd0: 7420 6973 2069 6d6d 6564 6961 7465 6c79 t is immediately\n+0000ece0: 0a66 6f6c 6c6f 7765 6420 6279 2061 2064 .followed by a d\n+0000ecf0: 6967 6974 206f 7220 6120 7469 636b 2063 igit or a tick c\n+0000ed00: 6861 7261 6374 6572 2074 6861 7420 6973 haracter that is\n+0000ed10: 2070 6172 7420 6f66 2074 6865 2054 6558 part of the TeX\n+0000ed20: 2063 6f64 652e 0a0a 2020 2054 6865 206f code... The o\n+0000ed30: 6e6c 7920 7573 6566 756c 206f 7074 696f nly useful optio\n+0000ed40: 6e20 6f66 20e2 8098 7370 6563 6961 6ce2 n of ...special.\n+0000ed50: 8099 2069 7320 e280 986c 6179 e280 992c .. is ...lay...,\n+0000ed60: 2077 6869 6368 2064 6574 6572 6d69 6e65 which determine\n+0000ed70: 7320 6966 2074 6865 0a73 7562 7374 6974 s if the.substit\n+0000ed80: 7565 6420 7261 7720 7465 7874 2069 7320 ued raw text is \n+0000ed90: 656d 6974 7465 6420 6265 666f 7265 2c20 emitted before, \n+0000eda0: 6166 7465 722c 206f 7220 7573 696e 6720 after, or using \n+0000edb0: 7468 6520 6669 7273 7420 706f 696e 740a the first point.\n+0000edc0: 696e 2050 4f49 4e54 5f4c 4953 5420 6173 in POINT_LIST as\n+0000edd0: 2061 6e20 696e 6469 6361 746f 7220 6f66 an indicator of\n+0000ede0: 2064 6570 7468 2e20 2054 6865 7365 206f depth. These o\n+0000edf0: 6363 7572 2c20 7265 7370 6563 7469 7665 ccur, respective\n+0000ee00: 6c79 2c20 7769 7468 0ae2 8098 6c61 793d ly, with....lay=\n+0000ee10: 756e 6465 72e2 8099 2c20 e280 986c 6179 under..., ...lay\n+0000ee20: 3d6f 7665 72e2 8099 2c20 616e 6420 e280 =over..., and ..\n+0000ee30: 986c 6179 3d69 6ee2 8099 2e20 2053 6565 .lay=in.... See\n+0000ee40: 202a 6e6f 7465 2053 7065 6369 616c 206f *note Special o\n+0000ee50: 626a 6563 7473 3a3a 2061 6e64 0a2a 6e6f bjects:: and.*no\n+0000ee60: 7465 2054 696b 5a2f 5047 4620 7573 6572 te TikZ/PGF user\n+0000ee70: 2d64 6566 696e 6564 2073 7479 6c65 733a -defined styles:\n+0000ee80: 3a20 666f 7220 6578 616d 706c 6573 2e20 : for examples. \n+0000ee90: 202a 4e6f 7465 2049 6e74 6572 6e61 6c0a *Note Internal.\n+0000eea0: 6f70 7469 6f6e 733a 3a2e 0a0a 1f0a 4669 options::.....Fi\n+0000eeb0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+0000eec0: 2020 4e6f 6465 3a20 5377 6565 7073 2c20 Node: Sweeps, \n+0000eed0: 204e 6578 743a 2042 6c6f 636b 732c 2020 Next: Blocks, \n+0000eee0: 5072 6576 3a20 5370 6563 6961 6c73 2c20 Prev: Specials, \n+0000eef0: 2055 703a 2044 7261 7761 626c 6573 0a0a Up: Drawables..\n+0000ef00: 332e 322e 3620 5377 6565 7073 0a2d 2d2d 3.2.6 Sweeps.---\n+0000ef10: 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 ---------..*Synt\n+0000ef20: 6178 3a2a 0a20 2020 2020 7377 6565 7020 ax:*. sweep \n+0000ef30: 7b20 4e2c 2054 5f31 2c20 545f 322c 202e { N, T_1, T_2, .\n+0000ef40: 2e2e 2c20 545f 5220 7d5b 4f50 5449 4f4e .., T_R }[OPTION\n+0000ef50: 535d 2053 5745 5054 5f4f 424a 4543 540a S] SWEPT_OBJECT.\n+0000ef60: 2020 2020 2073 7765 6570 207b 204e 3c3e sweep { N<>\n+0000ef70: 2c20 545f 312c 2054 5f32 2c20 2e2e 2e2c , T_1, T_2, ...,\n+0000ef80: 2054 5f52 207d 5b4f 5054 494f 4e53 5d20 T_R }[OPTIONS] \n+0000ef90: 5357 4550 545f 4f42 4a45 4354 0a54 6865 SWEPT_OBJECT.The\n+0000efa0: 2073 7765 6570 2063 6f6e 6e65 6374 7320 sweep connects \n+0000efb0: 4e20 286f 7220 7065 7268 6170 7320 4e2b N (or perhaps N+\n+0000efc0: 3129 2063 6f70 6965 7320 6f66 2053 5745 1) copies of SWE\n+0000efd0: 5054 5f4f 424a 4543 5420 696e 206f 7264 PT_OBJECT in ord\n+0000efe0: 6572 2074 6f0a 6372 6561 7465 2061 206e er to.create a n\n+0000eff0: 6577 206f 626a 6563 7420 6f66 2068 6967 ew object of hig\n+0000f000: 6865 7220 6469 6d65 6e73 696f 6e2e 2020 her dimension. \n+0000f010: 5468 6520 545f 4920 2866 6f72 2069 2062 The T_I (for i b\n+0000f020: 6574 7765 656e 2031 2061 6e64 0a72 2920 etween 1 and.r) \n+0000f030: 6172 6520 7472 616e 7366 6f72 6d73 2e20 are transforms. \n+0000f040: 2054 6865 206b 2774 6820 636f 7079 206f The k'th copy o\n+0000f050: 6620 5357 4550 545f 4f42 4a45 4354 2069 f SWEPT_OBJECT i\n+0000f060: 7320 7072 6f64 7563 6564 2062 790a 6170 s produced by.ap\n+0000f070: 706c 7969 6e67 2074 6865 2066 6f6c 6c6f plying the follo\n+0000f080: 7769 6e67 2074 7261 6e73 666f 726d 2074 wing transform t\n+0000f090: 6f20 7468 6520 6f72 6967 696e 616c 2e0a o the original..\n+0000f0a0: 2020 2020 2054 5f31 5e6b 2074 6865 6e20 T_1^k then \n+0000f0b0: 545f 325e 6b20 7468 656e 202e 2e2e 2074 T_2^k then ... t\n+0000f0c0: 6865 6e20 545f 525e 6b0a 4865 7265 2054 hen T_R^k.Here T\n+0000f0d0: 5e6b 206d 6561 6e73 2022 7472 616e 7366 ^k means \"transf\n+0000f0e0: 6f72 6d20 5420 6170 706c 6965 6420 6b20 orm T applied k \n+0000f0f0: 7469 6d65 732e 2220 2054 6865 206f 7269 times.\" The ori\n+0000f100: 6769 6e61 6c20 6f62 6a65 6374 2069 730a ginal object is.\n+0000f110: 7468 6520 7a65 726f 2774 6820 636f 7079 the zero'th copy\n+0000f120: 2c20 7769 7468 206b 3d30 2061 6e64 2065 , with k=0 and e\n+0000f130: 6666 6563 7469 7665 6c79 206e 6f20 7472 ffectively no tr\n+0000f140: 616e 7366 6f72 6d20 6170 706c 6965 6420 ansform applied \n+0000f150: 2854 5e30 3d49 2c0a 7468 6520 6964 656e (T^0=I,.the iden\n+0000f160: 7469 7479 2074 7261 6e73 666f 726d 292e tity transform).\n+0000f170: 0a0a 2020 2054 6865 206d 6574 686f 6420 .. The method \n+0000f180: 6f66 2063 6f6e 6e65 6374 696e 6720 7468 of connecting th\n+0000f190: 6520 636f 7069 6573 2064 6570 656e 6473 e copies depends\n+0000f1a0: 206f 6e20 7468 6520 7479 7065 206f 660a on the type of.\n+0000f1b0: 5357 4550 545f 4f42 4a45 4354 2061 6e64 SWEPT_OBJECT and\n+0000f1c0: 206f 6e20 7768 6574 6865 7220 7468 6520 on whether the \n+0000f1d0: 636c 6f73 7572 6520 7461 6720 e280 983c closure tag ...<\n+0000f1e0: 3ee2 8099 2069 7320 7072 6573 656e 7420 >... is present \n+0000f1f0: 6f72 206e 6f74 2e0a 0a20 2020 416e 2065 or not... An e\n+0000f200: 7861 6d70 6c65 206f 6620 6120 7377 6565 xample of a swee\n+0000f210: 7020 7768 6572 6520 723d 3220 6973 2074 p where r=2 is t\n+0000f220: 6865 204d 6f62 6975 7320 6669 6775 7265 he Mobius figure\n+0000f230: 2061 7420 2a6e 6f74 6520 4d6f 7265 2074 at *note More t\n+0000f240: 6f0a 6c65 6172 6e3a 3a2e 0a0a 2a20 4d65 o.learn::...* Me\n+0000f250: 6e75 3a0a 0a2a 2053 7765 7074 2070 6f69 nu:..* Swept poi\n+0000f260: 6e74 733a 3a20 2020 2020 2020 2020 2020 nts:: \n+0000f270: 2020 2020 2053 7765 7074 2070 6f69 6e74 Swept point\n+0000f280: 7320 6d61 6b65 206c 696e 6573 206f 7220 s make lines or \n+0000f290: 706f 6c79 676f 6e73 2e0a 2a20 5377 6570 polygons..* Swep\n+0000f2a0: 7420 6c69 6e65 733a 3a20 2020 2020 2020 t lines:: \n+0000f2b0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+0000f2c0: 6c69 6e65 7320 6d61 6b65 206f 7065 6e20 lines make open \n+0000f2d0: 6f72 2063 6c6f 7365 6420 7375 7266 6163 or closed surfac\n+0000f2e0: 6573 2e0a 2a20 5377 6570 7420 706f 6c79 es..* Swept poly\n+0000f2f0: 676f 6e73 3a3a 2020 2020 2020 2020 2020 gons:: \n+0000f300: 2020 2020 5377 6570 7420 706f 6c79 676f Swept polygo\n+0000f310: 6e73 206d 616b 6520 636c 6f73 6564 2073 ns make closed s\n+0000f320: 7572 6661 6365 732e 0a2a 2053 7765 7074 urfaces..* Swept\n+0000f330: 2062 6c6f 636b 733a 3a20 2020 2020 2020 blocks:: \n+0000f340: 2020 2020 2020 2020 2053 7765 7074 2062 Swept b\n+0000f350: 6c6f 636b 20e2 89a1 2062 6c6f 636b 206f lock ... block o\n+0000f360: 6620 7377 6565 7073 2e0a 2a20 5377 6565 f sweeps..* Swee\n+0000f370: 7020 6661 6365 2073 706c 6974 7469 6e67 p face splitting\n+0000f380: 3a3a 2020 2020 2020 2020 4669 7869 6e67 :: Fixing\n+0000f390: 2077 6172 7065 6420 6661 6365 7320 7769 warped faces wi\n+0000f3a0: 7468 2074 7269 616e 676c 6573 2e0a 0a1f th triangles....\n+0000f3b0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n+0000f3c0: 666f 2c20 204e 6f64 653a 2053 7765 7074 fo, Node: Swept\n+0000f3d0: 2070 6f69 6e74 732c 2020 4e65 7874 3a20 points, Next: \n+0000f3e0: 5377 6570 7420 6c69 6e65 732c 2020 5072 Swept lines, Pr\n+0000f3f0: 6576 3a20 5377 6565 7073 2c20 2055 703a ev: Sweeps, Up:\n+0000f400: 2053 7765 6570 730a 0a33 2e32 2e36 2e31 Sweeps..3.2.6.1\n+0000f410: 2053 7765 7074 2070 6f69 6e74 730a 2e2e Swept points...\n+0000f420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+0000f430: 2e2e 0a0a 4966 2053 5745 5054 5f4f 424a ....If SWEPT_OBJ\n+0000f440: 4543 5420 6973 2061 2070 6f69 6e74 206c ECT is a point l\n+0000f450: 6973 7420 616e 6420 7468 6572 6520 6973 ist and there is\n+0000f460: 206e 6f20 636c 6f73 7572 6520 7461 672c no closure tag,\n+0000f470: 2074 6865 6e0a e280 9873 7765 6570 e280 then....sweep..\n+0000f480: 9920 636f 6e6e 6563 7473 204e 2b31 2073 . connects N+1 s\n+0000f490: 7563 6365 7373 6976 6520 636f 7069 6573 uccessive copies\n+0000f4a0: 206f 6620 6561 6368 2070 6f69 6e74 2028 of each point (\n+0000f4b0: 696e 636c 7564 696e 6720 7468 650a 6f72 including the.or\n+0000f4c0: 6967 696e 616c 2920 7769 7468 2073 7472 iginal) with str\n+0000f4d0: 6169 6768 7420 6c69 6e65 2073 6567 6d65 aight line segme\n+0000f4e0: 6e74 7320 746f 2066 6f72 6d20 6120 706f nts to form a po\n+0000f4f0: 6c79 6c69 6e65 2e20 2049 6620 7468 6572 lyline. If ther\n+0000f500: 6520 6172 650a 6d20 706f 696e 7473 2069 e are.m points i\n+0000f510: 6e20 7468 6520 6f72 6967 696e 616c 2070 n the original p\n+0000f520: 6f69 6e74 206c 6973 742c 2074 6865 6e20 oint list, then \n+0000f530: 6d20 706f 6c79 6c69 6e65 7320 7769 7468 m polylines with\n+0000f540: 204e 2073 6567 6d65 6e74 730a 6561 6368 N segments.each\n+0000f550: 2061 7265 2066 6f72 6d65 6420 6279 2074 are formed by t\n+0000f560: 6865 2073 7765 6570 2e20 2049 6e20 7468 he sweep. In th\n+0000f570: 6973 206d 616e 6e65 722c 20e2 8098 7377 is manner, ...sw\n+0000f580: 6565 70e2 8099 2066 6f72 6d73 2061 2073 eep... forms a s\n+0000f590: 6574 206f 660a 6f6e 652d 6469 6d65 6e73 et of.one-dimens\n+0000f5a0: 696f 6e61 6c20 6f62 6a65 6374 7320 2870 ional objects (p\n+0000f5b0: 6f6c 796c 696e 6573 2920 6672 6f6d 207a olylines) from z\n+0000f5c0: 6572 6f2d 6469 6d65 6e73 696f 6e61 6c20 ero-dimensional \n+0000f5d0: 6f6e 6573 2028 706f 696e 7473 292e 0a0a ones (points)...\n+0000f5e0: 2020 2057 6865 6e20 7468 6572 6520 5f69 When there _i\n+0000f5f0: 735f 2061 2063 6c6f 7375 7265 2074 6167 s_ a closure tag\n+0000f600: 2c20 e280 9873 7765 6570 e280 9920 636f , ...sweep... co\n+0000f610: 6e6e 6563 7473 204e 2073 7563 6365 7373 nnects N success\n+0000f620: 6976 6520 636f 7069 6573 0a6f 6620 6561 ive copies.of ea\n+0000f630: 6368 2070 6f69 6e74 2028 696e 636c 7564 ch point (includ\n+0000f640: 696e 6720 7468 6520 6f72 6967 696e 616c ing the original\n+0000f650: 2920 7769 7468 2073 7472 6169 6768 7420 ) with straight \n+0000f660: 6c69 6e65 2073 6567 6d65 6e74 7320 616e line segments an\n+0000f670: 640a 6669 6e61 6c6c 7920 636f 6e6e 6563 d.finally connec\n+0000f680: 7473 2074 6865 206c 6173 7420 636f 7079 ts the last copy\n+0000f690: 2062 6163 6b20 746f 2074 6865 206f 7269 back to the ori\n+0000f6a0: 6769 6e61 6c20 746f 2066 6f72 6d20 6120 ginal to form a \n+0000f6b0: 706f 6c79 676f 6e0a 7769 7468 204e 2073 polygon.with N s\n+0000f6c0: 6964 6573 2e20 2049 6620 7468 6572 6520 ides. If there \n+0000f6d0: 6172 6520 6d20 706f 696e 7473 2069 6e20 are m points in \n+0000f6e0: 7468 6520 6f72 6967 696e 616c 2070 6f69 the original poi\n+0000f6f0: 6e74 206c 6973 742c 2074 6865 6e20 6d0a nt list, then m.\n+0000f700: 706f 6c79 676f 6e73 2077 6974 6820 4e20 polygons with N \n+0000f710: 7369 6465 7320 6561 6368 2061 7265 2066 sides each are f\n+0000f720: 6f72 6d65 6420 6279 2074 6865 2073 7765 ormed by the swe\n+0000f730: 6570 2e20 2049 6e20 7468 6973 206d 616e ep. In this man\n+0000f740: 6e65 722c 0ae2 8098 7377 6565 70e2 8099 ner,....sweep...\n+0000f750: 2066 6f72 6d73 2061 2073 6574 206f 6620 forms a set of \n+0000f760: 7477 6f2d 6469 6d65 6e73 696f 6e61 6c20 two-dimensional \n+0000f770: 6f62 6a65 6374 7320 2870 6f6c 7967 6f6e objects (polygon\n+0000f780: 7329 2066 726f 6d0a 7a65 726f 2d64 696d s) from.zero-dim\n+0000f790: 656e 7369 6f6e 616c 206f 6e65 7320 2870 ensional ones (p\n+0000f7a0: 6f69 6e74 7329 2e0a 0a20 2020 4f70 7469 oints)... Opti\n+0000f7b0: 6f6e 7320 6f66 2074 6865 20e2 8098 7377 ons of the ...sw\n+0000f7c0: 6565 70e2 8099 2061 7265 2063 6f70 6965 eep... are copie\n+0000f7d0: 6420 6469 7265 6374 6c79 2074 6f20 7468 d directly to th\n+0000f7e0: 6520 7265 7375 6c74 696e 670a 706f 6c79 e resulting.poly\n+0000f7f0: 6c69 6e65 2873 292e 0a0a 1f0a 4669 6c65 line(s).....File\n+0000f800: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+0000f810: 4e6f 6465 3a20 5377 6570 7420 6c69 6e65 Node: Swept line\n+0000f820: 732c 2020 4e65 7874 3a20 5377 6570 7420 s, Next: Swept \n+0000f830: 706f 6c79 676f 6e73 2c20 2050 7265 763a polygons, Prev:\n+0000f840: 2053 7765 7074 2070 6f69 6e74 732c 2020 Swept points, \n+0000f850: 5570 3a20 5377 6565 7073 0a0a 332e 322e Up: Sweeps..3.2.\n+0000f860: 362e 3220 5377 6570 7420 6c69 6e65 730a 6.2 Swept lines.\n+0000f870: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+0000f880: 2e2e 2e0a 0a49 6620 5357 4550 545f 4f42 .....If SWEPT_OB\n+0000f890: 4a45 4354 2069 7320 6120 706f 6c79 6c69 JECT is a polyli\n+0000f8a0: 6e65 2061 6e64 2074 6865 7265 2069 7320 ne and there is \n+0000f8b0: 6e6f 2063 6c6f 7375 7265 2074 6167 2c20 no closure tag, \n+0000f8c0: 7468 656e 20e2 8098 7377 6565 70e2 8099 then ...sweep...\n+0000f8d0: 0a63 6f6e 6e65 6374 7320 4e2b 3120 7375 .connects N+1 su\n+0000f8e0: 6363 6573 7369 7665 2063 6f70 6965 7320 ccessive copies \n+0000f8f0: 6f66 2074 6865 2070 6f6c 796c 696e 6520 of the polyline \n+0000f900: 2869 6e63 6c75 6469 6e67 2074 6865 206f (including the o\n+0000f910: 7269 6769 6e61 6c29 0a77 6974 6820 666f riginal).with fo\n+0000f920: 7572 2d73 6964 6564 2070 6f6c 7967 6f6e ur-sided polygon\n+0000f930: 732c 2065 6163 6820 7061 6972 206f 6620 s, each pair of \n+0000f940: 636f 7069 6573 2067 6976 696e 6720 7269 copies giving ri\n+0000f950: 7365 2074 6f20 6120 2270 6f6c 7967 6f6e se to a \"polygon\n+0000f960: 0a73 7472 6970 2e22 2020 4966 2074 6865 .strip.\" If the\n+0000f970: 7265 2061 7265 206d 2070 6f69 6e74 7320 re are m points \n+0000f980: 696e 2074 6865 206f 7269 6769 6e61 6c20 in the original \n+0000f990: 706f 6c79 6c69 6e65 2c20 7468 656e 2028 polyline, then (\n+0000f9a0: 6d2d 3129 4e0a 706f 6c79 676f 6e73 2061 m-1)N.polygons a\n+0000f9b0: 7265 2066 6f72 6d65 6420 6279 2074 6865 re formed by the\n+0000f9c0: 2073 7765 6570 2e20 2057 6520 6361 6c6c sweep. We call\n+0000f9d0: 2074 6865 7365 20e2 809c 626f 6479 2070 these ...body p\n+0000f9e0: 6f6c 7967 6f6e 73e2 809d 2e20 2049 6e0a olygons.... In.\n+0000f9f0: 7468 6973 206d 616e 6e65 722c 20e2 8098 this manner, ...\n+0000fa00: 7377 6565 70e2 8099 2066 6f72 6d73 2061 sweep... forms a\n+0000fa10: 2074 776f 2d64 696d 656e 7369 6f6e 616c two-dimensional\n+0000fa20: 2073 7572 6661 6365 2066 726f 6d20 6672 surface from fr\n+0000fa30: 6f6d 2061 0a6f 6e65 2d64 696d 656e 7369 om a.one-dimensi\n+0000fa40: 6f6e 616c 2070 6f6c 796c 696e 652e 0a0a onal polyline...\n+0000fa50: 2020 2054 6865 206f 7264 6572 206f 6620 The order of \n+0000fa60: 7665 7274 6963 6573 2070 726f 6475 6365 vertices produce\n+0000fa70: 6420 6279 20e2 8098 7377 6565 70e2 8099 d by ...sweep...\n+0000fa80: 2069 7320 696d 706f 7274 616e 742e 2020 is important. \n+0000fa90: 4966 2061 0a70 6f6c 7967 6f6e 2773 2076 If a.polygon's v\n+0000faa0: 6572 7469 6365 7320 646f 206e 6f74 2061 ertices do not a\n+0000fab0: 7070 6561 7220 696e 2063 6f75 6e74 6572 ppear in counter\n+0000fac0: 2d63 6c6f 636b 7769 7365 206f 7264 6572 -clockwise order\n+0000fad0: 2069 6e20 7468 6520 6669 6e61 6c0a 696d in the final.im\n+0000fae0: 6167 652c 2074 6865 2070 6f6c 7967 6f6e age, the polygon\n+0000faf0: 2077 696c 6c20 6265 2063 756c 6c65 6420 will be culled \n+0000fb00: 2875 6e6c 6573 7320 e280 9863 756c 6c3d (unless ...cull=\n+0000fb10: 6661 6c73 65e2 8099 2069 7320 7365 7429 false... is set)\n+0000fb20: 2e20 2049 6620 7468 650a 706f 696e 7473 . If the.points\n+0000fb30: 2069 6e20 7468 6520 6b27 7468 2063 6f70 in the k'th cop\n+0000fb40: 7920 6f66 2074 6865 2070 6f6c 796c 696e y of the polylin\n+0000fb50: 6520 6172 6520 505f 312c 2050 5f32 2c20 e are P_1, P_2, \n+0000fb60: 2e2e 2e2c 2050 5f6d 2c20 616e 6420 7468 ..., P_m, and th\n+0000fb70: 650a 706f 696e 7473 2069 6e20 7468 6520 e.points in the \n+0000fb80: 6e65 7874 2063 6f70 792c 2074 6865 2028 next copy, the (\n+0000fb90: 6b2b 3129 7374 2c20 6172 6520 505f 3127 k+1)st, are P_1'\n+0000fba0: 2c20 505f 3227 2c20 2e2e 2e2c 2050 5f6d , P_2', ..., P_m\n+0000fbb0: 272c 2074 6865 6e0a 7468 6520 7665 7274 ', then.the vert\n+0000fbc0: 6578 206f 7264 6572 206f 6620 7468 6520 ex order of the \n+0000fbd0: 6765 6e65 7261 7465 6420 706f 6c79 676f generated polygo\n+0000fbe0: 6e73 2069 730a 2020 2020 2042 6f64 7920 ns is. Body \n+0000fbf0: 706f 6c79 676f 6e20 313a 2050 5f32 2050 polygon 1: P_2 P\n+0000fc00: 5f31 2050 5f31 2720 505f 3227 0a20 2020 _1 P_1' P_2'. \n+0000fc10: 2020 426f 6479 2070 6f6c 7967 6f6e 2032 Body polygon 2\n+0000fc20: 3a20 505f 3320 505f 3220 505f 3227 2050 : P_3 P_2 P_2' P\n+0000fc30: 5f33 270a 2020 2020 202e 2e2e 0a20 2020 _3'. .... \n+0000fc40: 2020 426f 6479 2070 6f6c 7967 6f6e 206d Body polygon m\n+0000fc50: 2d31 3a20 505f 6d20 505f 7b6d 2d31 7d20 -1: P_m P_{m-1} \n+0000fc60: 505f 7b6d 2d31 7d27 2050 5f6d 270a 0a20 P_{m-1}' P_m'.. \n+0000fc70: 2020 4f70 7469 6f6e 7320 6f66 2075 6e63 Options of unc\n+0000fc80: 6c6f 7365 6420 6c69 6e65 2073 7765 6570 losed line sweep\n+0000fc90: 7320 6172 6520 636f 7069 6564 2074 6f20 s are copied to \n+0000fca0: 6561 6368 206f 7574 7075 7420 706f 6c79 each output poly\n+0000fcb0: 676f 6e2e 0a4f 7074 696f 6e73 206f 6620 gon..Options of \n+0000fcc0: 7468 6520 7377 6570 7420 6c69 6e65 2061 the swept line a\n+0000fcd0: 7265 2069 676e 6f72 6564 2e0a 0a20 2020 re ignored... \n+0000fce0: 5768 656e 2074 6865 7265 205f 6973 5f20 When there _is_ \n+0000fcf0: 6120 636c 6f73 7572 6520 7461 672c 2074 a closure tag, t\n+0000fd00: 6865 6e20 e280 9873 7765 6570 e280 9920 hen ...sweep... \n+0000fd10: 636f 6e6e 6563 7473 204e 2073 7563 6365 connects N succe\n+0000fd20: 7373 6976 650a 636f 7069 6573 206f 6620 ssive.copies of \n+0000fd30: 7468 6520 706f 6c79 6c69 6e65 2028 696e the polyline (in\n+0000fd40: 636c 7564 696e 6720 7468 6520 6f72 6967 cluding the orig\n+0000fd50: 696e 616c 2920 7769 7468 2066 6f75 722d inal) with four-\n+0000fd60: 7369 6465 6420 626f 6479 0a70 6f6c 7967 sided body.polyg\n+0000fd70: 6f6e 7320 6a75 7374 2061 7320 7468 6520 ons just as the \n+0000fd80: 6361 7365 2077 6974 6820 6e6f 2063 6c6f case with no clo\n+0000fd90: 7375 7265 2074 6167 2e20 2049 7420 7468 sure tag. It th\n+0000fda0: 656e 2063 6f6e 6e65 6374 7320 7468 650a en connects the.\n+0000fdb0: 6c61 7374 2063 6f70 7920 6261 636b 2074 last copy back t\n+0000fdc0: 6f20 7468 6520 6f72 6967 696e 616c 2074 o the original t\n+0000fdd0: 6f20 666f 726d 2061 2072 6962 626f 6e2d o form a ribbon-\n+0000fde0: 7368 6170 6564 2073 7572 6661 6365 2074 shaped surface t\n+0000fdf0: 6861 740a 636c 6f73 6573 206f 6e20 6974 hat.closes on it\n+0000fe00: 7365 6c66 2077 6974 6820 7477 6f20 686f self with two ho\n+0000fe10: 6c65 7320 7265 6d61 696e 696e 672e 0a0a les remaining...\n+0000fe20: 2020 2046 696e 616c 6c79 2c20 7468 6520 Finally, the \n+0000fe30: 7377 6565 7020 6164 6473 2074 776f 206d sweep adds two m\n+0000fe40: 6f72 6520 706f 6c79 676f 6e73 2074 6f20 ore polygons to \n+0000fe50: 7365 616c 2074 6865 2068 6f6c 6573 2061 seal the holes a\n+0000fe60: 6e64 2066 6f72 6d0a 6120 636c 6f73 6564 nd form.a closed\n+0000fe70: 2073 7572 6661 6365 2074 6861 742c 2064 surface that, d\n+0000fe80: 6570 656e 6469 6e67 206f 6e20 7468 6520 epending on the \n+0000fe90: 7377 6565 7020 7472 616e 7366 6f72 6d73 sweep transforms\n+0000fea0: 2c20 6d61 7920 7265 7072 6573 656e 740a , may represent.\n+0000feb0: 7468 6520 626f 756e 6461 7279 206f 6620 the boundary of \n+0000fec0: 6120 736f 6c69 642e 2020 496e 2074 6869 a solid. In thi\n+0000fed0: 7320 6d61 6e6e 6572 2c20 e280 9873 7765 s manner, ...swe\n+0000fee0: 6570 e280 9920 666f 726d 7320 7468 6520 ep... forms the \n+0000fef0: 626f 756e 6461 7279 206f 660a 6120 7468 boundary of.a th\n+0000ff00: 7265 652d 6469 6d65 6e73 696f 6e61 6c20 ree-dimensional \n+0000ff10: 6f62 6a65 6374 2066 726f 6d20 6120 6f6e object from a on\n+0000ff20: 652d 6469 6d65 6e73 696f 6e61 6c20 706f e-dimensional po\n+0000ff30: 6c79 6c69 6e65 2e20 2057 6520 6361 6c6c lyline. We call\n+0000ff40: 0a74 6865 7365 2068 6f6c 652d 6669 6c6c .these hole-fill\n+0000ff50: 696e 6720 706f 6c79 676f 6e73 20e2 809c ing polygons ...\n+0000ff60: 656e 6473 e280 9d2e 0a0a 2020 2054 6865 ends...... The\n+0000ff70: 206f 7264 6572 206f 6620 7665 7274 6963 order of vertic\n+0000ff80: 6573 206f 6620 656e 6420 706f 6c79 676f es of end polygo\n+0000ff90: 6e73 2069 7320 696d 706f 7274 616e 7420 ns is important \n+0000ffa0: 666f 7220 636f 7272 6563 740a 6375 6c6c for correct.cull\n+0000ffb0: 696e 6720 6173 2064 6573 6372 6962 6564 ing as described\n+0000ffc0: 2061 626f 7665 2e20 2049 6620 505f 315e above. If P_1^\n+0000ffd0: 312c 2050 5f31 5e32 2c20 2e2e 2e2c 2050 1, P_1^2, ..., P\n+0000ffe0: 5f31 5e6e 2061 7265 2074 6865 204e 0a63 _1^n are the N.c\n+0000fff0: 6f70 6965 7320 6f66 2074 6865 2066 6972 opies of the fir\n+00010000: 7374 2070 6f6c 796c 696e 6520 706f 696e st polyline poin\n+00010010: 7420 616e 6420 505f 6d5e 312c 2050 5f6d t and P_m^1, P_m\n+00010020: 5e32 2c20 2e2e 2e20 2c50 5f6d 5e6e 2061 ^2, ... ,P_m^n a\n+00010030: 7265 2074 6865 0a4e 2063 6f70 6965 7320 re the.N copies \n+00010040: 6f66 2074 6865 206c 6173 7420 706f 6c79 of the last poly\n+00010050: 6c69 6e65 2070 6f69 6e74 2c20 7468 656e line point, then\n+00010060: 2074 6865 2065 6e64 2070 6f6c 7967 6f6e the end polygon\n+00010070: 2076 6572 7465 7820 6f72 6465 720a 6973 vertex order.is\n+00010080: 0a20 2020 2020 456e 6420 706f 6c79 676f . End polygo\n+00010090: 6e20 313a 2050 5f31 5e6e 2c20 505f 315e n 1: P_1^n, P_1^\n+000100a0: 7b6e 2d31 7d2c 202e 2e2e 202c 505f 315e {n-1}, ... ,P_1^\n+000100b0: 310a 2020 2020 2045 6e64 2070 6f6c 7967 1. End polyg\n+000100c0: 6f6e 2032 3a20 505f 6d5e 312c 2050 5f6d on 2: P_m^1, P_m\n+000100d0: 5e32 2c20 2e2e 2e20 2c50 5f6d 5e6e 0a0a ^2, ... ,P_m^n..\n+000100e0: 2020 2049 6620 7468 6572 6520 6172 6520 If there are \n+000100f0: 6e6f 206f 7074 696f 6e73 206f 6e20 7468 no options on th\n+00010100: 6520 7377 6570 7420 6c69 6e65 2c20 7468 e swept line, th\n+00010110: 656e 2074 6865 20e2 8098 7377 6565 70e2 en the ...sweep.\n+00010120: 8099 206f 7074 696f 6e73 0a61 7265 2063 .. options.are c\n+00010130: 6f70 6965 6420 746f 2065 6163 6820 6f75 opied to each ou\n+00010140: 7470 7574 2070 6f6c 7967 6f6e 2e20 2049 tput polygon. I\n+00010150: 6620 7468 6520 7377 6570 7420 6c69 6e65 f the swept line\n+00010160: 2064 6f65 7320 6861 7665 206f 7074 696f does have optio\n+00010170: 6e73 2c0a 7468 6573 6520 6172 6520 636f ns,.these are co\n+00010180: 7069 6564 2074 6f20 636f 7272 6573 706f pied to correspo\n+00010190: 6e64 696e 6720 626f 6479 2070 6f6c 7967 nding body polyg\n+000101a0: 6f6e 733b 2074 6865 2073 7765 6570 206f ons; the sweep o\n+000101b0: 7074 696f 6e73 2061 7265 0a63 6f70 6965 ptions are.copie\n+000101c0: 6420 746f 2074 6865 2065 6e64 2070 6f6c d to the end pol\n+000101d0: 7967 6f6e 732e 2020 496e 2074 6869 7320 ygons. In this \n+000101e0: 6d61 6e6e 6572 2c20 626f 6479 2061 6e64 manner, body and\n+000101f0: 2065 6e64 7320 6d61 7920 6265 2064 7261 ends may be dra\n+00010200: 776e 0a77 6974 6820 6469 6666 6572 656e wn.with differen\n+00010210: 7420 6368 6172 6163 7465 7269 7374 6963 t characteristic\n+00010220: 7320 7375 6368 2061 7320 e280 9866 696c s such as ...fil\n+00010230: 6c63 6f6c 6f72 e280 992e 0a0a 1f0a 4669 lcolor........Fi\n+00010240: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+00010250: 2020 4e6f 6465 3a20 5377 6570 7420 706f Node: Swept po\n+00010260: 6c79 676f 6e73 2c20 204e 6578 743a 2053 lygons, Next: S\n+00010270: 7765 7074 2062 6c6f 636b 732c 2020 5072 wept blocks, Pr\n+00010280: 6576 3a20 5377 6570 7420 6c69 6e65 732c ev: Swept lines,\n+00010290: 2020 5570 3a20 5377 6565 7073 0a0a 332e Up: Sweeps..3.\n+000102a0: 322e 362e 3320 5377 6570 7420 706f 6c79 2.6.3 Swept poly\n+000102b0: 676f 6e73 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e gons............\n+000102c0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a49 6620 .............If \n+000102d0: 5357 4550 545f 4f42 4a45 4354 2069 7320 SWEPT_OBJECT is \n+000102e0: 6120 706f 6c79 676f 6e2c 2074 6865 20e2 a polygon, the .\n+000102f0: 8098 7377 6565 70e2 8099 2063 6f6e 6e65 ..sweep... conne\n+00010300: 6374 7320 4e2b 3120 7375 6363 6573 7369 cts N+1 successi\n+00010310: 7665 2063 6f70 6965 730a 6f66 2074 6865 ve copies.of the\n+00010320: 2063 6c6f 7365 6420 706f 6c79 6c69 6e65 closed polyline\n+00010330: 2062 6f72 6465 7220 6f66 2074 6865 2070 border of the p\n+00010340: 6f6c 7967 6f6e 2074 6f20 666f 726d 2062 olygon to form b\n+00010350: 6f64 7920 706f 6c79 676f 6e73 0a65 7861 ody polygons.exa\n+00010360: 6374 6c79 2061 7320 7468 6f75 6768 2074 ctly as though t\n+00010370: 6865 2062 6f72 6465 7220 7765 7265 2061 he border were a\n+00010380: 2073 7765 7074 2070 6f6c 796c 696e 6520 swept polyline \n+00010390: 6173 2064 6573 6372 6962 6564 2069 6e20 as described in \n+000103a0: 2a6e 6f74 650a 5377 6570 7420 6c69 6e65 *note.Swept line\n+000103b0: 733a 3a2e 2020 4966 2074 6865 7265 2061 s::. If there a\n+000103c0: 7265 206d 2070 6f69 6e74 7320 696e 2074 re m points in t\n+000103d0: 6865 206f 7269 6769 6e61 6c20 706f 6c79 he original poly\n+000103e0: 676f 6e2c 2074 6865 6e20 6d4e 0a62 6f64 gon, then mN.bod\n+000103f0: 7920 706f 6c79 676f 6e73 2061 7265 2066 y polygons are f\n+00010400: 6f72 6d65 6420 6279 2074 6869 7320 7377 ormed by this sw\n+00010410: 6565 702e 2020 5468 6520 626f 6479 2070 eep. The body p\n+00010420: 6f6c 7967 6f6e 7320 666f 726d 2061 6e0a olygons form an.\n+00010430: e280 9c65 7874 7275 7369 6f6e e280 9d20 ...extrusion... \n+00010440: 6f66 2074 6865 2062 6f75 6e64 6172 7920 of the boundary \n+00010450: 6f66 2074 6865 206f 7269 6769 6e61 6c20 of the original \n+00010460: 706f 6c79 676f 6e20 7769 7468 2074 776f polygon with two\n+00010470: 2068 6f6c 6573 2061 740a 7468 6520 6f70 holes at.the op\n+00010480: 656e 2065 6e64 732e 0a0a 2020 2046 696e en ends... Fin\n+00010490: 616c 6c79 2c20 7468 6520 7377 6565 7020 ally, the sweep \n+000104a0: 6164 6473 2074 776f 2063 6f70 6965 7320 adds two copies \n+000104b0: 6f66 2074 6865 206f 7269 6769 6e61 6c20 of the original \n+000104c0: 706f 6c79 676f 6e20 746f 2063 6f76 6572 polygon to cover\n+000104d0: 0a74 6865 2068 6f6c 6573 2e20 2057 6520 .the holes. We \n+000104e0: 6361 6c6c 2074 6865 7365 2068 6f6c 652d call these hole-\n+000104f0: 6669 6c6c 696e 6720 706f 6c79 676f 6e73 filling polygons\n+00010500: 20e2 809c 656e 6473 e280 9d2e 2020 496e ...ends.... In\n+00010510: 2074 6869 7320 6d61 6e6e 6572 2c0a e280 this manner,...\n+00010520: 9873 7765 6570 e280 9920 666f 726d 7320 .sweep... forms \n+00010530: 7468 6520 626f 756e 6461 7279 206f 6620 the boundary of \n+00010540: 6120 7468 7265 652d 6469 6d65 6e73 696f a three-dimensio\n+00010550: 6e61 6c20 6f62 6a65 6374 2066 726f 6d20 nal object from \n+00010560: 610a 7477 6f2d 6469 6d65 6e73 696f 6e61 a.two-dimensiona\n+00010570: 6c20 706f 6c79 676f 6e2e 0a0a 2020 2054 l polygon... T\n+00010580: 6865 206f 7264 6572 206f 6620 7665 7274 he order of vert\n+00010590: 6963 6573 206f 6620 656e 6420 706f 6c79 ices of end poly\n+000105a0: 676f 6e73 2069 7320 696d 706f 7274 616e gons is importan\n+000105b0: 7420 666f 7220 636f 7272 6563 740a 6375 t for correct.cu\n+000105c0: 6c6c 696e 6720 6173 2064 6573 6372 6962 lling as describ\n+000105d0: 6564 2061 626f 7665 2e20 2041 6e20 6578 ed above. An ex\n+000105e0: 6163 7420 636f 7079 206f 6620 7468 6520 act copy of the \n+000105f0: 6f72 6967 696e 616c 2070 6f6c 7967 6f6e original polygon\n+00010600: 2077 6974 680a 7665 7274 6578 206f 7264 with.vertex ord\n+00010610: 6572 2069 6e74 6163 7420 666f 726d 7320 er intact forms \n+00010620: 7468 6520 6669 7273 7420 656e 6420 706f the first end po\n+00010630: 6c79 676f 6e2e 2020 5468 6520 6f74 6865 lygon. The othe\n+00010640: 7220 656e 6420 706f 6c79 676f 6e0a 7265 r end polygon.re\n+00010650: 7375 6c74 7320 6672 6f6d 2074 7261 6e73 sults from trans\n+00010660: 666f 726d 696e 6720 616e 6420 7468 6520 forming and the \n+00010670: 7265 7665 7273 696e 6720 7468 6520 6f72 reversing the or\n+00010680: 6465 7220 6f66 2076 6572 7469 6365 7320 der of vertices \n+00010690: 696e 2074 6865 0a6f 7269 6769 6e61 6c2e in the.original.\n+000106a0: 2020 5468 6520 7472 616e 7366 6f72 6d20 The transform \n+000106b0: 706c 6163 6573 2074 6865 206f 7269 6769 places the origi\n+000106c0: 6e61 6c20 706f 6c79 676f 6e20 6174 2074 nal polygon at t\n+000106d0: 6865 2075 6e63 6f76 6572 6564 0a68 6f6c he uncovered.hol\n+000106e0: 653b 2069 7420 6973 0a20 2020 2020 545f e; it is. T_\n+000106f0: 315e 6e20 7468 656e 2054 5f32 5e6e 2074 1^n then T_2^n t\n+00010700: 6865 6e20 2e2e 2e20 7468 656e 2054 5f52 hen ... then T_R\n+00010710: 5e6e 2e0a 4966 2074 6865 7265 2061 7265 ^n..If there are\n+00010720: 206e 6f20 6f70 7469 6f6e 7320 6f6e 2074 no options on t\n+00010730: 6865 2073 7765 7074 2070 6f6c 7967 6f6e he swept polygon\n+00010740: 2c20 7468 656e 2074 6865 20e2 8098 7377 , then the ...sw\n+00010750: 6565 70e2 8099 206f 7074 696f 6e73 0a61 eep... options.a\n+00010760: 7265 2063 6f70 6965 6420 746f 2065 6163 re copied to eac\n+00010770: 6820 6f75 7470 7574 2070 6f6c 7967 6f6e h output polygon\n+00010780: 2e20 2049 6620 7468 6520 7377 6570 7420 . If the swept \n+00010790: 706f 6c79 676f 6e20 646f 6573 2068 6176 polygon does hav\n+000107a0: 650a 6f70 7469 6f6e 732c 2074 6865 7365 e.options, these\n+000107b0: 2061 7265 2063 6f70 6965 6420 746f 2074 are copied to t\n+000107c0: 6865 2065 6e64 733b 2074 6865 2073 7765 he ends; the swe\n+000107d0: 6570 206f 7074 696f 6e73 2061 7265 2063 ep options are c\n+000107e0: 6f70 6965 6420 746f 0a74 6865 2062 6f64 opied to.the bod\n+000107f0: 7920 706f 6c79 676f 6e73 2e20 2049 6e20 y polygons. In \n+00010800: 7468 6973 206d 616e 6e65 722c 2062 6f64 this manner, bod\n+00010810: 7920 616e 6420 656e 6473 206d 6179 2062 y and ends may b\n+00010820: 6520 6472 6177 6e20 7769 7468 0a64 6966 e drawn with.dif\n+00010830: 6665 7265 6e74 2063 6861 7261 6374 6572 ferent character\n+00010840: 6973 7469 6373 2073 7563 6820 6173 20e2 istics such as .\n+00010850: 8098 6669 6c6c 636f 6c6f 72e2 8099 2e0a ..fillcolor.....\n+00010860: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+00010870: 696e 666f 2c20 204e 6f64 653a 2053 7765 info, Node: Swe\n+00010880: 7074 2062 6c6f 636b 732c 2020 4e65 7874 pt blocks, Next\n+00010890: 3a20 5377 6565 7020 6661 6365 2073 706c : Sweep face spl\n+000108a0: 6974 7469 6e67 2c20 2050 7265 763a 2053 itting, Prev: S\n+000108b0: 7765 7074 2070 6f6c 7967 6f6e 732c 2020 wept polygons, \n+000108c0: 5570 3a20 5377 6565 7073 0a0a 332e 322e Up: Sweeps..3.2.\n+000108d0: 362e 3420 5377 6570 7420 626c 6f63 6b73 6.4 Swept blocks\n+000108e0: 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+000108f0: 2e2e 2e2e 2e0a 0a54 6865 2073 7765 7074 .......The swept\n+00010900: 206f 626a 6563 7420 5357 4550 545f 4f42 object SWEPT_OB\n+00010910: 4a45 4354 206d 6179 2061 6c73 6f20 6265 JECT may also be\n+00010920: 2061 6e79 2063 6f6c 6c65 6374 696f 6e20 any collection \n+00010930: 6f66 2070 6f6c 796c 696e 6573 0a61 6e64 of polylines.and\n+00010940: 2070 6f6c 7967 6f6e 732e 2020 5468 6973 polygons. This\n+00010950: 206d 6179 2062 6520 6120 626c 6f63 6b20 may be a block \n+00010960: 636f 6d70 6f73 6564 206f 6620 e280 986c composed of ...l\n+00010970: 696e 65e2 8099 2061 6e64 2f6f 7220 e280 ine... and/or ..\n+00010980: 9870 6f6c 7967 6f6e e280 990a 636f 6d6d .polygon....comm\n+00010990: 616e 6473 2069 6e20 6272 6163 6573 20e2 ands in braces .\n+000109a0: 8098 7b20 7de2 8099 2c20 6f72 2069 7420 ..{ }..., or it \n+000109b0: 6d61 7920 6265 2074 6865 2072 6573 756c may be the resul\n+000109c0: 7420 6f66 2061 20e2 8098 7265 7065 6174 t of a ...repeat\n+000109d0: e280 992c 2061 6e6f 7468 6572 0ae2 8098 ..., another....\n+000109e0: 7377 6565 70e2 8099 2c20 6574 632e 2020 sweep..., etc. \n+000109f0: 5468 6520 7377 6565 7020 6163 7473 2069 The sweep acts i\n+00010a00: 6e64 6570 656e 6465 6e74 6c79 206f 6e20 ndependently on \n+00010a10: 6561 6368 206f 626a 6563 7420 696e 2074 each object in t\n+00010a20: 6865 2062 6c6f 636b 0a65 7861 6374 6c79 he block.exactly\n+00010a30: 2061 7320 6966 2069 7420 7765 7265 2061 as if it were a\n+00010a40: 2073 696e 676c 6520 7377 6570 7420 6f62 single swept ob\n+00010a50: 6a65 6374 2064 6573 6372 6962 6564 2061 ject described a\n+00010a60: 626f 7665 2069 6e20 2a6e 6f74 650a 5377 bove in *note.Sw\n+00010a70: 6570 7420 6c69 6e65 733a 3a20 616e 6420 ept lines:: and \n+00010a80: 2a6e 6f74 6520 5377 6570 7420 706f 6c79 *note Swept poly\n+00010a90: 676f 6e73 3a3a 2e0a 0a1f 0a46 696c 653a gons::.....File:\n+00010aa0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+00010ab0: 6f64 653a 2053 7765 6570 2066 6163 6520 ode: Sweep face \n+00010ac0: 7370 6c69 7474 696e 672c 2020 5072 6576 splitting, Prev\n+00010ad0: 3a20 5377 6570 7420 626c 6f63 6b73 2c20 : Swept blocks, \n+00010ae0: 2055 703a 2053 7765 6570 730a 0a33 2e32 Up: Sweeps..3.2\n+00010af0: 2e36 2e35 2053 7765 6570 2066 6163 6520 .6.5 Sweep face \n+00010b00: 7370 6c69 7474 696e 670a 2e2e 2e2e 2e2e splitting.......\n 00010b10: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00010b20: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 4265 ..............Be\n-00010b30: 666f 7265 2073 656e 6469 6e67 2065 6163 fore sending eac\n-00010b40: 6820 666f 7572 2d73 6964 6564 2062 6f64 h four-sided bod\n-00010b50: 7920 706f 6c79 676f 6e20 6f66 2061 20e2 y polygon of a .\n-00010b60: 8098 7377 6565 70e2 8099 2074 6f20 7468 ..sweep... to th\n-00010b70: 6520 6f75 7470 7574 2c0a e280 9873 6b65 e output,....ske\n-00010b80: 7463 68e2 8099 2074 6573 7473 2074 6f20 tch... tests to \n-00010b90: 7365 6520 6966 2069 7420 6973 2072 6f75 see if it is rou\n-00010ba0: 6768 6c79 2070 6c61 6e61 722e 2020 5369 ghly planar. Si\n-00010bb0: 6e63 6520 706c 616e 6172 6974 7920 6973 nce planarity is\n-00010bc0: 0a6e 6563 6573 7361 7279 2066 6f72 2070 .necessary for p\n-00010bd0: 726f 7065 7220 6675 6e63 7469 6f6e 696e roper functionin\n-00010be0: 6720 6f66 2074 6865 2068 6964 6465 6e20 g of the hidden \n-00010bf0: 7375 7266 6163 6520 616c 676f 7269 7468 surface algorith\n-00010c00: 6d2c 0a22 7761 7270 6564 2220 706f 6c79 m,.\"warped\" poly\n-00010c10: 676f 6e73 2061 7265 2061 7574 6f6d 6174 gons are automat\n-00010c20: 6963 616c 6c79 2073 706c 6974 2069 6e74 ically split int\n-00010c30: 6f20 7477 6f20 7472 6961 6e67 6c65 732e o two triangles.\n-00010c40: 0a0a 2020 2048 6f6c 652d 6669 6c6c 696e .. Hole-fillin\n-00010c50: 6720 706f 6c79 676f 6e73 2070 726f 6475 g polygons produ\n-00010c60: 6365 6420 6279 2063 6c6f 7375 7265 2d74 ced by closure-t\n-00010c70: 6167 6765 6420 6c69 6e65 2073 7765 6570 agged line sweep\n-00010c80: 7320 6172 6520 6e6f 740a 7370 6c69 742e s are not.split.\n-00010c90: 2020 4e6f 7220 6172 6520 6f72 6967 696e Nor are origin\n-00010ca0: 616c 2070 6f6c 7967 6f6e 7320 696e 2070 al polygons in p\n-00010cb0: 6f6c 7967 6f6e 2073 7765 6570 732e 2020 olygon sweeps. \n-00010cc0: 4974 2069 7320 7468 6520 7573 6572 2773 It is the user's\n-00010cd0: 0a72 6573 706f 6e73 6962 696c 6974 7920 .responsibility \n-00010ce0: 746f 2065 6e73 7572 6520 7468 6573 6520 to ensure these \n-00010cf0: 6172 6520 706c 616e 6172 2e0a 0a1f 0a46 are planar.....F\n-00010d00: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-00010d10: 2c20 204e 6f64 653a 2042 6c6f 636b 732c , Node: Blocks,\n-00010d20: 2020 4e65 7874 3a20 5265 7065 6174 732c Next: Repeats,\n-00010d30: 2020 5072 6576 3a20 5377 6565 7073 2c20 Prev: Sweeps, \n-00010d40: 2055 703a 2044 7261 7761 626c 6573 0a0a Up: Drawables..\n-00010d50: 332e 322e 3720 426c 6f63 6b73 0a2d 2d2d 3.2.7 Blocks.---\n-00010d60: 2d2d 2d2d 2d2d 2d2d 2d0a 0a41 6e79 2073 ---------..Any s\n-00010d70: 6571 7565 6e63 6520 6f66 2064 7261 7761 equence of drawa\n-00010d80: 626c 6573 206d 6179 2062 6520 6772 6f75 bles may be grou\n-00010d90: 7065 6420 696e 2061 20e2 809c 626c 6f63 ped in a ...bloc\n-00010da0: 6be2 809d 206d 6572 656c 7920 6279 0a65 k... merely by.e\n-00010db0: 6e63 6c6f 7369 6e67 2074 6865 6d20 696e nclosing them in\n-00010dc0: 2062 7261 6365 7320 e280 987b 207d e280 braces ...{ }..\n-00010dd0: 992e 2020 4120 626c 6f63 6b20 6973 2069 .. A block is i\n-00010de0: 7473 656c 6620 6472 6177 6162 6c65 2e20 tself drawable. \n-00010df0: 2041 206b 6579 2075 7365 0a6f 6620 626c A key use.of bl\n-00010e00: 6f63 6b73 2069 7320 746f 2065 7874 656e ocks is to exten\n-00010e10: 6420 7468 6520 6566 6665 6374 206f 6620 d the effect of \n-00010e20: 6120 7369 6e67 6c65 20e2 8098 6465 66e2 a single ...def.\n-00010e30: 8099 2c20 2a6e 6f74 650a 4465 6669 6e69 .., *note.Defini\n-00010e40: 7469 6f6e 733a 3a2c 20e2 8098 7075 74e2 tions::, ...put.\n-00010e50: 8099 202a 6e6f 7465 2050 7574 733a 3a2c .. *note Puts::,\n-00010e60: 20e2 8098 7377 6565 70e2 8099 202a 6e6f ...sweep... *no\n-00010e70: 7465 2053 7765 6570 733a 3a2c 206f 7220 te Sweeps::, or \n-00010e80: e280 9872 6570 6561 74e2 8099 0a2a 6e6f ...repeat....*no\n-00010e90: 7465 2052 6570 6561 7473 3a3a 2074 6f20 te Repeats:: to \n-00010ea0: 696e 636c 7564 6520 7365 7665 7261 6c20 include several \n-00010eb0: 6f62 6a65 6374 7320 7261 7468 6572 2074 objects rather t\n-00010ec0: 6861 6e20 6f6e 652e 0a0a 2020 2044 6566 han one... Def\n-00010ed0: 696e 6974 696f 6e73 2028 2a4e 6f74 6520 initions (*Note \n-00010ee0: 4465 6669 6e69 7469 6f6e 733a 3a2e 2920 Definitions::.) \n-00010ef0: 2069 6e73 6964 6520 6120 626c 6f63 6b20 inside a block \n-00010f00: 6861 7665 20e2 809c 6c65 7869 6361 6c0a have ...lexical.\n-00010f10: 7363 6f70 65e2 809d 2065 7874 656e 6469 scope... extendi\n-00010f20: 6e67 2066 726f 6d20 7468 6520 706c 6163 ng from the plac\n-00010f30: 6520 6f66 2064 6566 696e 6974 696f 6e20 e of definition \n-00010f40: 746f 2074 6865 2065 6e64 206f 6620 7468 to the end of th\n-00010f50: 6520 626c 6f63 6b2e 0a0a 1f0a 4669 6c65 e block.....File\n-00010f60: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n-00010f70: 4e6f 6465 3a20 5265 7065 6174 732c 2020 Node: Repeats, \n-00010f80: 4e65 7874 3a20 5075 7473 2c20 2050 7265 Next: Puts, Pre\n-00010f90: 763a 2042 6c6f 636b 732c 2020 5570 3a20 v: Blocks, Up: \n-00010fa0: 4472 6177 6162 6c65 730a 0a33 2e32 2e38 Drawables..3.2.8\n-00010fb0: 2052 6570 6561 7473 0a2d 2d2d 2d2d 2d2d Repeats.-------\n-00010fc0: 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 783a ------..*Syntax:\n-00010fd0: 2a0a 2020 2020 2072 6570 6561 7420 7b20 *. repeat { \n-00010fe0: 4e2c 2054 5f31 2c20 545f 322c 202e 2e2e N, T_1, T_2, ...\n-00010ff0: 2c20 545f 5220 7d20 5245 5045 4154 4544 , T_R } REPEATED\n-00011000: 5f4f 424a 4543 540a 5468 6520 7265 7065 _OBJECT.The repe\n-00011010: 6174 206d 616b 6573 204e 2074 7261 6e73 at makes N trans\n-00011020: 666f 726d 6564 2063 6f70 6965 7320 6f66 formed copies of\n-00011030: 2052 4550 4541 5445 445f 4f42 4a45 4354 REPEATED_OBJECT\n-00011040: 2028 696e 636c 7564 696e 6720 7468 650a (including the.\n-00011050: 6f72 6967 696e 616c 292e 2020 5468 6520 original). The \n-00011060: 545f 4920 6172 6520 7472 616e 7366 6f72 T_I are transfor\n-00011070: 6d73 2e20 2054 6865 206b 2774 6820 636f ms. The k'th co\n-00011080: 7079 206f 6620 7468 650a 5245 5045 4154 py of the.REPEAT\n-00011090: 4544 5f4f 424a 4543 5420 2866 6f72 206b ED_OBJECT (for k\n-000110a0: 3d30 2c31 2c2e 2e2e 2c6e 2d31 2920 6973 =0,1,...,n-1) is\n-000110b0: 2070 726f 6475 6365 6420 696e 2074 6865 produced in the\n-000110c0: 2073 616d 6520 6d61 6e6e 6572 2061 730a same manner as.\n-000110d0: 666f 7220 e280 9873 7765 6570 e280 9973 for ...sweep...s\n-000110e0: 2064 6573 6372 6962 6564 2069 6e20 2a6e described in *n\n-000110f0: 6f74 6520 5377 6565 7073 3a3a 2e20 2054 ote Sweeps::. T\n-00011100: 6869 7320 6973 2072 6570 6561 7465 6420 his is repeated \n-00011110: 6865 7265 2028 6e6f 2070 756e 0a69 6e74 here (no pun.int\n-00011120: 656e 6465 6429 2066 6f72 2063 6f6e 7665 ended) for conve\n-00011130: 6e69 656e 6365 2e20 2054 6f20 6d61 6b65 nience. To make\n-00011140: 2074 6865 206b 2774 6820 636f 7079 2c20 the k'th copy, \n-00011150: 7468 6520 666f 6c6c 6f77 696e 670a 7472 the following.tr\n-00011160: 616e 7366 6f72 6d20 6973 2061 7070 6c69 ansform is appli\n-00011170: 6564 2074 6f20 7468 6520 6f72 6967 696e ed to the origin\n-00011180: 616c 206f 626a 6563 742e 0a20 2020 2020 al object.. \n-00011190: 545f 315e 6b20 7468 656e 2054 5f32 5e6b T_1^k then T_2^k\n-000111a0: 2074 6865 6e20 2e2e 2e20 7468 656e 2054 then ... then T\n-000111b0: 5f52 5e6b 0a48 6572 6520 545e 6b20 6d65 _R^k.Here T^k me\n-000111c0: 616e 7320 2274 7261 6e73 666f 726d 2054 ans \"transform T\n-000111d0: 2061 7070 6c69 6564 206b 2074 696d 6573 applied k times\n-000111e0: 2e22 0a0a 1f0a 4669 6c65 3a20 736b 6574 .\"....File: sket\n-000111f0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-00011200: 5075 7473 2c20 2050 7265 763a 2052 6570 Puts, Prev: Rep\n-00011210: 6561 7473 2c20 2055 703a 2044 7261 7761 eats, Up: Drawa\n-00011220: 626c 6573 0a0a 332e 322e 3920 5075 7473 bles..3.2.9 Puts\n-00011230: 0a2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 .----------..*Sy\n-00011240: 6e74 6178 3a2a 0a20 2020 2020 7075 7420 ntax:*. put \n-00011250: 7b20 5420 7d20 5055 545f 4f42 4a45 4354 { T } PUT_OBJECT\n-00011260: 0a50 7574 206d 6572 656c 7920 6170 706c .Put merely appl\n-00011270: 6965 7320 7472 616e 7366 6f72 6d20 5420 ies transform T \n-00011280: 746f 2074 6865 2064 7261 7761 626c 6520 to the drawable \n-00011290: 5055 545f 4f42 4a45 4354 2e0a 0a1f 0a46 PUT_OBJECT.....F\n-000112a0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-000112b0: 2c20 204e 6f64 653a 2044 6566 696e 6974 , Node: Definit\n-000112c0: 696f 6e73 2c20 204e 6578 743a 2047 6c6f ions, Next: Glo\n-000112d0: 6261 6c20 656e 7669 726f 6e6d 656e 742c bal environment,\n-000112e0: 2020 5072 6576 3a20 4472 6177 6162 6c65 Prev: Drawable\n-000112f0: 732c 2020 5570 3a20 496e 7075 7420 6c61 s, Up: Input la\n-00011300: 6e67 7561 6765 0a0a 332e 3320 4465 6669 nguage..3.3 Defi\n-00011310: 6e69 7469 6f6e 730a 3d3d 3d3d 3d3d 3d3d nitions.========\n-00011320: 3d3d 3d3d 3d3d 3d0a 0a44 6566 696e 6974 =======..Definit\n-00011330: 696f 6e73 2067 6976 6520 6e61 6d65 7320 ions give names \n-00011340: 746f 20e2 8098 736b 6574 6368 e280 9920 to ...sketch... \n-00011350: 6f62 6a65 6374 732e 2020 4465 6669 6e69 objects. Defini\n-00011360: 7469 6f6e 7320 616c 6f6e 6520 6172 650a tions alone are.\n-00011370: 6265 6e69 676e 2e20 2041 20e2 8098 736b benign. A ...sk\n-00011380: 6574 6368 e280 9920 696e 7075 7420 6669 etch... input fi\n-00011390: 6c65 2063 6f6e 7369 7374 696e 6720 656e le consisting en\n-000113a0: 7469 7265 6c79 206f 6620 6465 6669 6e69 tirely of defini\n-000113b0: 7469 6f6e 7320 7769 6c6c 0a67 656e 6572 tions will.gener\n-000113c0: 6174 6520 6e6f 2064 7261 7769 6e67 2e20 ate no drawing. \n-000113d0: 204f 6e6c 7920 7768 656e 2064 6566 696e Only when defin\n-000113e0: 6974 696f 6e73 2061 7265 20e2 809c 7265 itions are ...re\n-000113f0: 6665 7265 6e63 6564 e280 9d20 646f 2074 ferenced... do t\n-00011400: 6865 790a 706f 7465 6e74 6961 6c6c 7920 hey.potentially \n-00011410: 6c65 6164 2074 6f20 696e 6b20 6f6e 2074 lead to ink on t\n-00011420: 6865 2064 7261 7769 6e67 2e0a 0a20 2020 he drawing... \n-00011430: 5468 6520 696e 7465 6e74 206f 6620 6465 The intent of de\n-00011440: 6669 6e69 7469 6f6e 7320 6973 2074 6f20 finitions is to \n-00011450: 6d61 6b65 20e2 8098 736b 6574 6368 e280 make ...sketch..\n-00011460: 9920 636f 6465 206d 6f72 6520 636f 6e63 . code more conc\n-00011470: 6973 6520 616e 640a 7265 6164 6162 6c65 ise and.readable\n-00011480: 2e20 2054 6865 7265 2069 7320 6e6f 2069 . There is no i\n-00011490: 6e70 7574 2066 696c 6520 656d 706c 6f79 nput file employ\n-000114a0: 696e 6720 6465 6669 6e69 7469 6f6e 7320 ing definitions \n-000114b0: 7468 6174 2063 6f75 6c64 206e 6f74 0a62 that could not.b\n-000114c0: 6520 7265 2d77 7269 7474 656e 2077 6974 e re-written wit\n-000114d0: 686f 7574 2074 6865 6d2e 0a0a 2020 2044 hout them... D\n-000114e0: 6566 696e 6162 6c65 206f 626a 6563 7473 efinable objects\n-000114f0: 2069 6e63 6c75 6465 2061 6e79 2072 6573 include any res\n-00011500: 756c 7420 6f66 2061 6e20 6166 6669 6e65 ult of an affine\n-00011510: 2061 7269 7468 6d65 7469 630a 6578 7072 arithmetic.expr\n-00011520: 6573 7369 6f6e 2028 7363 616c 6172 2c20 ession (scalar, \n-00011530: 706f 696e 742c 2076 6563 746f 722c 206f point, vector, o\n-00011540: 7220 7472 616e 7366 6f72 6d29 2c20 616e r transform), an\n-00011550: 7920 6472 6177 6162 6c65 206f 626a 6563 y drawable objec\n-00011560: 740a 2864 6f74 732c 206c 696e 652c 2063 t.(dots, line, c\n-00011570: 7572 7665 2c20 706f 6c79 676f 6e2c 2062 urve, polygon, b\n-00011580: 6c6f 636b 2c20 7377 6565 702c 2070 7574 lock, sweep, put\n-00011590: 2c20 7265 7065 6174 2c20 6f72 2073 7065 , repeat, or spe\n-000115a0: 6369 616c 292c 2061 6e64 0a6f 7074 696f cial), and.optio\n-000115b0: 6e20 7374 7269 6e67 732e 2020 496e 2061 n strings. In a\n-000115c0: 6464 6974 696f 6e2c 20e2 809c 7461 6720 ddition, ...tag \n-000115d0: 6465 6669 6e69 7469 6f6e 73e2 809d 2c20 definitions..., \n-000115e0: 7768 6963 6820 6861 7665 206e 6f0a 6173 which have no.as\n-000115f0: 736f 6369 6174 6564 206f 626a 6563 7420 sociated object \n-00011600: 6174 2061 6c6c 2c20 616c 6c6f 7720 7468 at all, allow th\n-00011610: 6520 6d65 616e 696e 6720 6f66 206f 7468 e meaning of oth\n-00011620: 6572 2064 6566 696e 6974 696f 6e73 2074 er definitions t\n-00011630: 6f20 6265 0a73 656c 6563 7465 6420 6672 o be.selected fr\n-00011640: 6f6d 2061 2073 6574 206f 6620 616c 7465 om a set of alte\n-00011650: 726e 6174 6976 6573 2e20 2053 696e 6365 rnatives. Since\n-00011660: 2074 6167 7320 6d61 7920 6265 2064 6566 tags may be def\n-00011670: 696e 6564 2028 616e 640a 756e 6465 6669 ined (and.undefi\n-00011680: 6e65 6429 2069 6e20 7468 6520 636f 6d6d ned) in the comm\n-00011690: 616e 6420 6c69 6e65 206f 6620 e280 9873 and line of ...s\n-000116a0: 6b65 7463 68e2 8099 2c20 7468 6579 2063 ketch..., they c\n-000116b0: 616e 2062 6520 616e 2061 6964 2069 6e20 an be an aid in \n-000116c0: 7468 650a 7363 7269 7074 2d64 7269 7665 the.script-drive\n-000116d0: 6e20 7072 6570 6172 6174 696f 6e20 6f66 n preparation of\n-000116e0: 2064 6f63 756d 656e 7473 2e0a 0a2a 204d documents...* M\n-000116f0: 656e 753a 0a0a 2a20 466f 726d 7320 6f66 enu:..* Forms of\n-00011700: 2064 6566 696e 6974 696f 6e73 3a3a 2020 definitions:: \n-00011710: 2020 2020 2020 4469 6666 6572 656e 7420 Different \n-00011720: 6465 6673 2066 6f72 2064 6966 6665 7265 defs for differe\n-00011730: 6e74 2070 7572 706f 7365 732e 0a2a 2046 nt purposes..* F\n-00011740: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc\n-00011750: 6573 3a3a 2020 2020 2020 2020 2048 6f77 es:: How\n-00011760: 2072 6566 6572 656e 6365 7320 6465 6e6f references deno\n-00011770: 7465 2074 7970 6573 2e0a 0a1f 0a46 696c te types.....Fil\n-00011780: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-00011790: 204e 6f64 653a 2046 6f72 6d73 206f 6620 Node: Forms of \n-000117a0: 6465 6669 6e69 7469 6f6e 732c 2020 4e65 definitions, Ne\n-000117b0: 7874 3a20 466f 726d 7320 6f66 2072 6566 xt: Forms of ref\n-000117c0: 6572 656e 6365 732c 2020 5072 6576 3a20 erences, Prev: \n-000117d0: 4465 6669 6e69 7469 6f6e 732c 2020 5570 Definitions, Up\n-000117e0: 3a20 4465 6669 6e69 7469 6f6e 730a 0a33 : Definitions..3\n-000117f0: 2e33 2e31 2046 6f72 6d73 206f 6620 6465 .3.1 Forms of de\n-00011800: 6669 6e69 7469 6f6e 730a 2d2d 2d2d 2d2d finitions.------\n-00011810: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00011820: 2d2d 2d2d 0a0a 4465 6669 6e69 7469 6f6e ----..Definition\n-00011830: 7320 6861 7665 2074 6872 6565 2070 6f73 s have three pos\n-00011840: 7369 626c 6520 666f 726d 732c 20e2 809c sible forms, ...\n-00011850: 7369 6d70 6c65 e280 9d2c 20e2 809c 7769 simple..., ...wi\n-00011860: 7468 2061 6c74 6572 6e61 7469 7665 73e2 th alternatives.\n-00011870: 809d 2c0a 616e 6420 e280 9c74 6167 e280 ..,.and ...tag..\n-00011880: 9d20 6173 2073 686f 776e 2068 6572 6520 . as shown here \n-00011890: 696e 206f 7264 6572 2e0a 0a2a 5379 6e74 in order...*Synt\n-000118a0: 6178 3a2a 0a20 2020 2020 6465 6620 4944 ax:*. def ID\n-000118b0: 204f 424a 4543 5420 2025 2073 696d 706c OBJECT % simpl\n-000118c0: 6520 6465 660a 2020 2020 2064 6566 2049 e def. def I\n-000118d0: 4420 3c54 4147 5f31 3e20 4f42 4a45 4354 D OBJECT\n-000118e0: 5f31 2020 2520 6465 6620 7769 7468 2061 _1 % def with a\n-000118f0: 6c74 6572 6e61 7469 7665 730a 2020 2020 lternatives. \n-00011900: 2020 2020 2020 2020 3c54 4147 5f32 3e20 \n-00011910: 4f42 4a45 4354 5f32 0a20 2020 2020 2020 OBJECT_2. \n-00011920: 2020 2020 202e 2e2e 0a20 2020 2020 2020 .... \n-00011930: 2020 2020 203c 3e20 4445 4641 554c 545f <> DEFAULT_\n-00011940: 4f42 4a45 4354 0a20 2020 2020 6465 6620 OBJECT. def \n-00011950: 4944 203c 3e20 2025 2074 6167 2064 6566 ID <> % tag def\n-00011960: 0a54 6865 2073 696d 706c 6520 6465 6669 .The simple defi\n-00011970: 6e69 7469 6f6e 206d 6572 656c 7920 6173 nition merely as\n-00011980: 736f 6369 6174 6573 204f 424a 4543 5420 sociates OBJECT \n-00011990: 7769 7468 2074 6865 2069 6465 6e74 6966 with the identif\n-000119a0: 6965 7220 4944 2e0a 0a20 2020 5468 6520 ier ID... The \n-000119b0: 6465 6669 6e69 7469 6f6e 2077 6974 6820 definition with \n-000119c0: 616c 7465 726e 6174 6976 6573 2061 7373 alternatives ass\n-000119d0: 6f63 6961 7465 7320 4f42 4a45 4354 5f49 ociates OBJECT_I\n-000119e0: 2077 6974 6820 4944 2c20 7768 6572 650a with ID, where.\n-000119f0: 5441 475f 4920 6973 2074 6865 2066 6972 TAG_I is the fir\n-00011a00: 7374 2064 6566 696e 6564 2074 6167 2069 st defined tag i\n-00011a10: 6e20 7468 6520 6c69 7374 206f 6620 616c n the list of al\n-00011a20: 7465 726e 6174 6976 6520 7461 670a 7265 ternative tag.re\n-00011a30: 6665 7265 6e63 6573 2e20 2049 6620 6e6f ferences. If no\n-00011a40: 2074 6167 2069 6e20 7468 6520 6c69 7374 tag in the list\n-00011a50: 2069 7320 6465 6669 6e65 642c 2074 6865 is defined, the\n-00011a60: 6e20 4445 4641 554c 545f 4f42 4a45 4354 n DEFAULT_OBJECT\n-00011a70: 2069 730a 6173 736f 6369 6174 6564 2077 is.associated w\n-00011a80: 6974 6820 6964 656e 7469 6669 6572 2049 ith identifier I\n-00011a90: 442e 0a0a 2020 2054 6865 2066 696e 616c D... The final\n-00011aa0: 2066 6f72 6d20 6465 6669 6e65 7320 4944 form defines ID\n-00011ab0: 2061 7320 6120 7461 672e 2020 416e 6f74 as a tag. Anot\n-00011ac0: 6865 7220 7761 7920 746f 2064 6566 696e her way to defin\n-00011ad0: 6520 6120 7461 6720 6973 0a77 6974 6820 e a tag is.with \n-00011ae0: 7468 6520 e280 982d 44e2 8099 2063 6f6d the ...-D... com\n-00011af0: 6d61 6e64 206c 696e 6520 6f70 7469 6f6e mand line option\n-00011b00: 2e20 202a 4e6f 7465 2043 6f6d 6d61 6e64 . *Note Command\n-00011b10: 206c 696e 653a 3a2e 0a0a 1f0a 4669 6c65 line::.....File\n-00011b20: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n-00011b30: 4e6f 6465 3a20 466f 726d 7320 6f66 2072 Node: Forms of r\n-00011b40: 6566 6572 656e 6365 732c 2020 5072 6576 eferences, Prev\n-00011b50: 3a20 466f 726d 7320 6f66 2064 6566 696e : Forms of defin\n-00011b60: 6974 696f 6e73 2c20 2055 703a 2044 6566 itions, Up: Def\n-00011b70: 696e 6974 696f 6e73 0a0a 332e 332e 3220 initions..3.3.2 \n-00011b80: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n-00011b90: 6365 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ces.------------\n-00011ba0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a52 -------------..R\n-00011bb0: 6566 6572 656e 6365 7320 746f 2064 6566 eferences to def\n-00011bc0: 696e 6564 206e 616d 6573 2061 7265 2065 ined names are e\n-00011bd0: 6e63 6c6f 7365 6420 696e 2062 7261 636b nclosed in brack\n-00011be0: 6574 696e 6720 6465 6c69 6d69 7465 7273 eting delimiters\n-00011bf0: 2e20 2054 6865 0a64 656c 696d 6974 6572 . The.delimiter\n-00011c00: 2063 6861 7261 6374 6572 7320 696d 706c characters impl\n-00011c10: 7920 7468 6520 7479 7065 206f 6620 7468 y the type of th\n-00011c20: 6520 6173 736f 6369 6174 6564 2076 616c e associated val\n-00011c30: 7565 2061 7320 7368 6f77 6e20 696e 0a74 ue as shown in.t\n-00011c40: 6865 2074 6162 6c65 2062 656c 6f77 2e20 he table below. \n-00011c50: 2041 2074 7970 6520 6572 726f 7220 6973 A type error is\n-00011c60: 2072 6169 7365 6420 6966 2074 6865 2074 raised if the t\n-00011c70: 7970 6520 6f66 2061 2072 6566 6572 656e ype of a referen\n-00011c80: 6365 2064 6f65 730a 6e6f 7420 6d61 7463 ce does.not matc\n-00011c90: 6820 7468 6520 7479 7065 206f 6620 7468 h the type of th\n-00011ca0: 6520 6465 6669 6e65 6420 7661 6c75 652e e defined value.\n-00011cb0: 2020 5468 6520 696e 7465 6e74 206f 6620 The intent of \n-00011cc0: 7468 6973 206d 6563 6861 6e69 736d 0a69 this mechanism.i\n-00011cd0: 732c 2061 6761 696e 2c20 746f 206d 616b s, again, to mak\n-00011ce0: 6520 e280 9873 6b65 7463 68e2 8099 2069 e ...sketch... i\n-00011cf0: 6e70 7574 2066 696c 6573 206d 6f72 6520 nput files more \n-00011d00: 7265 6164 6162 6c65 2e0a 5479 7065 2020 readable..Type \n-00011d10: 2020 2020 2020 5265 6665 7265 6e63 650a Reference.\n+00010b20: 2e2e 2e2e 2e2e 0a0a 4265 666f 7265 2073 ........Before s\n+00010b30: 656e 6469 6e67 2065 6163 6820 666f 7572 ending each four\n+00010b40: 2d73 6964 6564 2062 6f64 7920 706f 6c79 -sided body poly\n+00010b50: 676f 6e20 6f66 2061 20e2 8098 7377 6565 gon of a ...swee\n+00010b60: 70e2 8099 2074 6f20 7468 6520 6f75 7470 p... to the outp\n+00010b70: 7574 2c0a e280 9873 6b65 7463 68e2 8099 ut,....sketch...\n+00010b80: 2074 6573 7473 2074 6f20 7365 6520 6966 tests to see if\n+00010b90: 2069 7420 6973 2072 6f75 6768 6c79 2070 it is roughly p\n+00010ba0: 6c61 6e61 722e 2020 5369 6e63 6520 706c lanar. Since pl\n+00010bb0: 616e 6172 6974 7920 6973 0a6e 6563 6573 anarity is.neces\n+00010bc0: 7361 7279 2066 6f72 2070 726f 7065 7220 sary for proper \n+00010bd0: 6675 6e63 7469 6f6e 696e 6720 6f66 2074 functioning of t\n+00010be0: 6865 2068 6964 6465 6e20 7375 7266 6163 he hidden surfac\n+00010bf0: 6520 616c 676f 7269 7468 6d2c 0a22 7761 e algorithm,.\"wa\n+00010c00: 7270 6564 2220 706f 6c79 676f 6e73 2061 rped\" polygons a\n+00010c10: 7265 2061 7574 6f6d 6174 6963 616c 6c79 re automatically\n+00010c20: 2073 706c 6974 2069 6e74 6f20 7477 6f20 split into two \n+00010c30: 7472 6961 6e67 6c65 732e 0a0a 2020 2048 triangles... H\n+00010c40: 6f6c 652d 6669 6c6c 696e 6720 706f 6c79 ole-filling poly\n+00010c50: 676f 6e73 2070 726f 6475 6365 6420 6279 gons produced by\n+00010c60: 2063 6c6f 7375 7265 2d74 6167 6765 6420 closure-tagged \n+00010c70: 6c69 6e65 2073 7765 6570 7320 6172 6520 line sweeps are \n+00010c80: 6e6f 740a 7370 6c69 742e 2020 4e6f 7220 not.split. Nor \n+00010c90: 6172 6520 6f72 6967 696e 616c 2070 6f6c are original pol\n+00010ca0: 7967 6f6e 7320 696e 2070 6f6c 7967 6f6e ygons in polygon\n+00010cb0: 2073 7765 6570 732e 2020 4974 2069 7320 sweeps. It is \n+00010cc0: 7468 6520 7573 6572 2773 0a72 6573 706f the user's.respo\n+00010cd0: 6e73 6962 696c 6974 7920 746f 2065 6e73 nsibility to ens\n+00010ce0: 7572 6520 7468 6573 6520 6172 6520 706c ure these are pl\n+00010cf0: 616e 6172 2e0a 0a1f 0a46 696c 653a 2073 anar.....File: s\n+00010d00: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+00010d10: 653a 2042 6c6f 636b 732c 2020 4e65 7874 e: Blocks, Next\n+00010d20: 3a20 5265 7065 6174 732c 2020 5072 6576 : Repeats, Prev\n+00010d30: 3a20 5377 6565 7073 2c20 2055 703a 2044 : Sweeps, Up: D\n+00010d40: 7261 7761 626c 6573 0a0a 332e 322e 3720 rawables..3.2.7 \n+00010d50: 426c 6f63 6b73 0a2d 2d2d 2d2d 2d2d 2d2d Blocks.---------\n+00010d60: 2d2d 2d0a 0a41 6e79 2073 6571 7565 6e63 ---..Any sequenc\n+00010d70: 6520 6f66 2064 7261 7761 626c 6573 206d e of drawables m\n+00010d80: 6179 2062 6520 6772 6f75 7065 6420 696e ay be grouped in\n+00010d90: 2061 20e2 809c 626c 6f63 6be2 809d 206d a ...block... m\n+00010da0: 6572 656c 7920 6279 0a65 6e63 6c6f 7369 erely by.enclosi\n+00010db0: 6e67 2074 6865 6d20 696e 2062 7261 6365 ng them in brace\n+00010dc0: 7320 e280 987b 207d e280 992e 2020 4120 s ...{ }.... A \n+00010dd0: 626c 6f63 6b20 6973 2069 7473 656c 6620 block is itself \n+00010de0: 6472 6177 6162 6c65 2e20 2041 206b 6579 drawable. A key\n+00010df0: 2075 7365 0a6f 6620 626c 6f63 6b73 2069 use.of blocks i\n+00010e00: 7320 746f 2065 7874 656e 6420 7468 6520 s to extend the \n+00010e10: 6566 6665 6374 206f 6620 6120 7369 6e67 effect of a sing\n+00010e20: 6c65 20e2 8098 6465 66e2 8099 2c20 2a6e le ...def..., *n\n+00010e30: 6f74 650a 4465 6669 6e69 7469 6f6e 733a ote.Definitions:\n+00010e40: 3a2c 20e2 8098 7075 74e2 8099 202a 6e6f :, ...put... *no\n+00010e50: 7465 2050 7574 733a 3a2c 20e2 8098 7377 te Puts::, ...sw\n+00010e60: 6565 70e2 8099 202a 6e6f 7465 2053 7765 eep... *note Swe\n+00010e70: 6570 733a 3a2c 206f 7220 e280 9872 6570 eps::, or ...rep\n+00010e80: 6561 74e2 8099 0a2a 6e6f 7465 2052 6570 eat....*note Rep\n+00010e90: 6561 7473 3a3a 2074 6f20 696e 636c 7564 eats:: to includ\n+00010ea0: 6520 7365 7665 7261 6c20 6f62 6a65 6374 e several object\n+00010eb0: 7320 7261 7468 6572 2074 6861 6e20 6f6e s rather than on\n+00010ec0: 652e 0a0a 2020 2044 6566 696e 6974 696f e... Definitio\n+00010ed0: 6e73 2028 2a4e 6f74 6520 4465 6669 6e69 ns (*Note Defini\n+00010ee0: 7469 6f6e 733a 3a2e 2920 2069 6e73 6964 tions::.) insid\n+00010ef0: 6520 6120 626c 6f63 6b20 6861 7665 20e2 e a block have .\n+00010f00: 809c 6c65 7869 6361 6c0a 7363 6f70 65e2 ..lexical.scope.\n+00010f10: 809d 2065 7874 656e 6469 6e67 2066 726f .. extending fro\n+00010f20: 6d20 7468 6520 706c 6163 6520 6f66 2064 m the place of d\n+00010f30: 6566 696e 6974 696f 6e20 746f 2074 6865 efinition to the\n+00010f40: 2065 6e64 206f 6620 7468 6520 626c 6f63 end of the bloc\n+00010f50: 6b2e 0a0a 1f0a 4669 6c65 3a20 736b 6574 k.....File: sket\n+00010f60: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n+00010f70: 5265 7065 6174 732c 2020 4e65 7874 3a20 Repeats, Next: \n+00010f80: 5075 7473 2c20 2050 7265 763a 2042 6c6f Puts, Prev: Blo\n+00010f90: 636b 732c 2020 5570 3a20 4472 6177 6162 cks, Up: Drawab\n+00010fa0: 6c65 730a 0a33 2e32 2e38 2052 6570 6561 les..3.2.8 Repea\n+00010fb0: 7473 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ts.-------------\n+00010fc0: 0a0a 2a53 796e 7461 783a 2a0a 2020 2020 ..*Syntax:*. \n+00010fd0: 2072 6570 6561 7420 7b20 4e2c 2054 5f31 repeat { N, T_1\n+00010fe0: 2c20 545f 322c 202e 2e2e 2c20 545f 5220 , T_2, ..., T_R \n+00010ff0: 7d20 5245 5045 4154 4544 5f4f 424a 4543 } REPEATED_OBJEC\n+00011000: 540a 5468 6520 7265 7065 6174 206d 616b T.The repeat mak\n+00011010: 6573 204e 2074 7261 6e73 666f 726d 6564 es N transformed\n+00011020: 2063 6f70 6965 7320 6f66 2052 4550 4541 copies of REPEA\n+00011030: 5445 445f 4f42 4a45 4354 2028 696e 636c TED_OBJECT (incl\n+00011040: 7564 696e 6720 7468 650a 6f72 6967 696e uding the.origin\n+00011050: 616c 292e 2020 5468 6520 545f 4920 6172 al). The T_I ar\n+00011060: 6520 7472 616e 7366 6f72 6d73 2e20 2054 e transforms. T\n+00011070: 6865 206b 2774 6820 636f 7079 206f 6620 he k'th copy of \n+00011080: 7468 650a 5245 5045 4154 4544 5f4f 424a the.REPEATED_OBJ\n+00011090: 4543 5420 2866 6f72 206b 3d30 2c31 2c2e ECT (for k=0,1,.\n+000110a0: 2e2e 2c6e 2d31 2920 6973 2070 726f 6475 ..,n-1) is produ\n+000110b0: 6365 6420 696e 2074 6865 2073 616d 6520 ced in the same \n+000110c0: 6d61 6e6e 6572 2061 730a 666f 7220 e280 manner as.for ..\n+000110d0: 9873 7765 6570 e280 9973 2064 6573 6372 .sweep...s descr\n+000110e0: 6962 6564 2069 6e20 2a6e 6f74 6520 5377 ibed in *note Sw\n+000110f0: 6565 7073 3a3a 2e20 2054 6869 7320 6973 eeps::. This is\n+00011100: 2072 6570 6561 7465 6420 6865 7265 2028 repeated here (\n+00011110: 6e6f 2070 756e 0a69 6e74 656e 6465 6429 no pun.intended)\n+00011120: 2066 6f72 2063 6f6e 7665 6e69 656e 6365 for convenience\n+00011130: 2e20 2054 6f20 6d61 6b65 2074 6865 206b . To make the k\n+00011140: 2774 6820 636f 7079 2c20 7468 6520 666f 'th copy, the fo\n+00011150: 6c6c 6f77 696e 670a 7472 616e 7366 6f72 llowing.transfor\n+00011160: 6d20 6973 2061 7070 6c69 6564 2074 6f20 m is applied to \n+00011170: 7468 6520 6f72 6967 696e 616c 206f 626a the original obj\n+00011180: 6563 742e 0a20 2020 2020 545f 315e 6b20 ect.. T_1^k \n+00011190: 7468 656e 2054 5f32 5e6b 2074 6865 6e20 then T_2^k then \n+000111a0: 2e2e 2e20 7468 656e 2054 5f52 5e6b 0a48 ... then T_R^k.H\n+000111b0: 6572 6520 545e 6b20 6d65 616e 7320 2274 ere T^k means \"t\n+000111c0: 7261 6e73 666f 726d 2054 2061 7070 6c69 ransform T appli\n+000111d0: 6564 206b 2074 696d 6573 2e22 0a0a 1f0a ed k times.\"....\n+000111e0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+000111f0: 6f2c 2020 4e6f 6465 3a20 5075 7473 2c20 o, Node: Puts, \n+00011200: 2050 7265 763a 2052 6570 6561 7473 2c20 Prev: Repeats, \n+00011210: 2055 703a 2044 7261 7761 626c 6573 0a0a Up: Drawables..\n+00011220: 332e 322e 3920 5075 7473 0a2d 2d2d 2d2d 3.2.9 Puts.-----\n+00011230: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:*\n+00011240: 0a20 2020 2020 7075 7420 7b20 5420 7d20 . put { T } \n+00011250: 5055 545f 4f42 4a45 4354 0a50 7574 206d PUT_OBJECT.Put m\n+00011260: 6572 656c 7920 6170 706c 6965 7320 7472 erely applies tr\n+00011270: 616e 7366 6f72 6d20 5420 746f 2074 6865 ansform T to the\n+00011280: 2064 7261 7761 626c 6520 5055 545f 4f42 drawable PUT_OB\n+00011290: 4a45 4354 2e0a 0a1f 0a46 696c 653a 2073 JECT.....File: s\n+000112a0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+000112b0: 653a 2044 6566 696e 6974 696f 6e73 2c20 e: Definitions, \n+000112c0: 204e 6578 743a 2047 6c6f 6261 6c20 656e Next: Global en\n+000112d0: 7669 726f 6e6d 656e 742c 2020 5072 6576 vironment, Prev\n+000112e0: 3a20 4472 6177 6162 6c65 732c 2020 5570 : Drawables, Up\n+000112f0: 3a20 496e 7075 7420 6c61 6e67 7561 6765 : Input language\n+00011300: 0a0a 332e 3320 4465 6669 6e69 7469 6f6e ..3.3 Definition\n+00011310: 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d s.==============\n+00011320: 3d0a 0a44 6566 696e 6974 696f 6e73 2067 =..Definitions g\n+00011330: 6976 6520 6e61 6d65 7320 746f 20e2 8098 ive names to ...\n+00011340: 736b 6574 6368 e280 9920 6f62 6a65 6374 sketch... object\n+00011350: 732e 2020 4465 6669 6e69 7469 6f6e 7320 s. Definitions \n+00011360: 616c 6f6e 6520 6172 650a 6265 6e69 676e alone are.benign\n+00011370: 2e20 2041 20e2 8098 736b 6574 6368 e280 . A ...sketch..\n+00011380: 9920 696e 7075 7420 6669 6c65 2063 6f6e . input file con\n+00011390: 7369 7374 696e 6720 656e 7469 7265 6c79 sisting entirely\n+000113a0: 206f 6620 6465 6669 6e69 7469 6f6e 7320 of definitions \n+000113b0: 7769 6c6c 0a67 656e 6572 6174 6520 6e6f will.generate no\n+000113c0: 2064 7261 7769 6e67 2e20 204f 6e6c 7920 drawing. Only \n+000113d0: 7768 656e 2064 6566 696e 6974 696f 6e73 when definitions\n+000113e0: 2061 7265 20e2 809c 7265 6665 7265 6e63 are ...referenc\n+000113f0: 6564 e280 9d20 646f 2074 6865 790a 706f ed... do they.po\n+00011400: 7465 6e74 6961 6c6c 7920 6c65 6164 2074 tentially lead t\n+00011410: 6f20 696e 6b20 6f6e 2074 6865 2064 7261 o ink on the dra\n+00011420: 7769 6e67 2e0a 0a20 2020 5468 6520 696e wing... The in\n+00011430: 7465 6e74 206f 6620 6465 6669 6e69 7469 tent of definiti\n+00011440: 6f6e 7320 6973 2074 6f20 6d61 6b65 20e2 ons is to make .\n+00011450: 8098 736b 6574 6368 e280 9920 636f 6465 ..sketch... code\n+00011460: 206d 6f72 6520 636f 6e63 6973 6520 616e more concise an\n+00011470: 640a 7265 6164 6162 6c65 2e20 2054 6865 d.readable. The\n+00011480: 7265 2069 7320 6e6f 2069 6e70 7574 2066 re is no input f\n+00011490: 696c 6520 656d 706c 6f79 696e 6720 6465 ile employing de\n+000114a0: 6669 6e69 7469 6f6e 7320 7468 6174 2063 finitions that c\n+000114b0: 6f75 6c64 206e 6f74 0a62 6520 7265 2d77 ould not.be re-w\n+000114c0: 7269 7474 656e 2077 6974 686f 7574 2074 ritten without t\n+000114d0: 6865 6d2e 0a0a 2020 2044 6566 696e 6162 hem... Definab\n+000114e0: 6c65 206f 626a 6563 7473 2069 6e63 6c75 le objects inclu\n+000114f0: 6465 2061 6e79 2072 6573 756c 7420 6f66 de any result of\n+00011500: 2061 6e20 6166 6669 6e65 2061 7269 7468 an affine arith\n+00011510: 6d65 7469 630a 6578 7072 6573 7369 6f6e metic.expression\n+00011520: 2028 7363 616c 6172 2c20 706f 696e 742c (scalar, point,\n+00011530: 2076 6563 746f 722c 206f 7220 7472 616e vector, or tran\n+00011540: 7366 6f72 6d29 2c20 616e 7920 6472 6177 sform), any draw\n+00011550: 6162 6c65 206f 626a 6563 740a 2864 6f74 able object.(dot\n+00011560: 732c 206c 696e 652c 2063 7572 7665 2c20 s, line, curve, \n+00011570: 706f 6c79 676f 6e2c 2062 6c6f 636b 2c20 polygon, block, \n+00011580: 7377 6565 702c 2070 7574 2c20 7265 7065 sweep, put, repe\n+00011590: 6174 2c20 6f72 2073 7065 6369 616c 292c at, or special),\n+000115a0: 2061 6e64 0a6f 7074 696f 6e20 7374 7269 and.option stri\n+000115b0: 6e67 732e 2020 496e 2061 6464 6974 696f ngs. In additio\n+000115c0: 6e2c 20e2 809c 7461 6720 6465 6669 6e69 n, ...tag defini\n+000115d0: 7469 6f6e 73e2 809d 2c20 7768 6963 6820 tions..., which \n+000115e0: 6861 7665 206e 6f0a 6173 736f 6369 6174 have no.associat\n+000115f0: 6564 206f 626a 6563 7420 6174 2061 6c6c ed object at all\n+00011600: 2c20 616c 6c6f 7720 7468 6520 6d65 616e , allow the mean\n+00011610: 696e 6720 6f66 206f 7468 6572 2064 6566 ing of other def\n+00011620: 696e 6974 696f 6e73 2074 6f20 6265 0a73 initions to be.s\n+00011630: 656c 6563 7465 6420 6672 6f6d 2061 2073 elected from a s\n+00011640: 6574 206f 6620 616c 7465 726e 6174 6976 et of alternativ\n+00011650: 6573 2e20 2053 696e 6365 2074 6167 7320 es. Since tags \n+00011660: 6d61 7920 6265 2064 6566 696e 6564 2028 may be defined (\n+00011670: 616e 640a 756e 6465 6669 6e65 6429 2069 and.undefined) i\n+00011680: 6e20 7468 6520 636f 6d6d 616e 6420 6c69 n the command li\n+00011690: 6e65 206f 6620 e280 9873 6b65 7463 68e2 ne of ...sketch.\n+000116a0: 8099 2c20 7468 6579 2063 616e 2062 6520 .., they can be \n+000116b0: 616e 2061 6964 2069 6e20 7468 650a 7363 an aid in the.sc\n+000116c0: 7269 7074 2d64 7269 7665 6e20 7072 6570 ript-driven prep\n+000116d0: 6172 6174 696f 6e20 6f66 2064 6f63 756d aration of docum\n+000116e0: 656e 7473 2e0a 0a2a 204d 656e 753a 0a0a ents...* Menu:..\n+000116f0: 2a20 466f 726d 7320 6f66 2064 6566 696e * Forms of defin\n+00011700: 6974 696f 6e73 3a3a 2020 2020 2020 2020 itions:: \n+00011710: 4469 6666 6572 656e 7420 6465 6673 2066 Different defs f\n+00011720: 6f72 2064 6966 6665 7265 6e74 2070 7572 or different pur\n+00011730: 706f 7365 732e 0a2a 2046 6f72 6d73 206f poses..* Forms o\n+00011740: 6620 7265 6665 7265 6e63 6573 3a3a 2020 f references:: \n+00011750: 2020 2020 2020 2048 6f77 2072 6566 6572 How refer\n+00011760: 656e 6365 7320 6465 6e6f 7465 2074 7970 ences denote typ\n+00011770: 6573 2e0a 0a1f 0a46 696c 653a 2073 6b65 es.....File: ske\n+00011780: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+00011790: 2046 6f72 6d73 206f 6620 6465 6669 6e69 Forms of defini\n+000117a0: 7469 6f6e 732c 2020 4e65 7874 3a20 466f tions, Next: Fo\n+000117b0: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference\n+000117c0: 732c 2020 5072 6576 3a20 4465 6669 6e69 s, Prev: Defini\n+000117d0: 7469 6f6e 732c 2020 5570 3a20 4465 6669 tions, Up: Defi\n+000117e0: 6e69 7469 6f6e 730a 0a33 2e33 2e31 2046 nitions..3.3.1 F\n+000117f0: 6f72 6d73 206f 6620 6465 6669 6e69 7469 orms of definiti\n+00011800: 6f6e 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ons.------------\n+00011810: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+00011820: 4465 6669 6e69 7469 6f6e 7320 6861 7665 Definitions have\n+00011830: 2074 6872 6565 2070 6f73 7369 626c 6520 three possible \n+00011840: 666f 726d 732c 20e2 809c 7369 6d70 6c65 forms, ...simple\n+00011850: e280 9d2c 20e2 809c 7769 7468 2061 6c74 ..., ...with alt\n+00011860: 6572 6e61 7469 7665 73e2 809d 2c0a 616e ernatives...,.an\n+00011870: 6420 e280 9c74 6167 e280 9d20 6173 2073 d ...tag... as s\n+00011880: 686f 776e 2068 6572 6520 696e 206f 7264 hown here in ord\n+00011890: 6572 2e0a 0a2a 5379 6e74 6178 3a2a 0a20 er...*Syntax:*. \n+000118a0: 2020 2020 6465 6620 4944 204f 424a 4543 def ID OBJEC\n+000118b0: 5420 2025 2073 696d 706c 6520 6465 660a T % simple def.\n+000118c0: 2020 2020 2064 6566 2049 4420 3c54 4147 def ID OBJECT_1 % \n+000118e0: 6465 6620 7769 7468 2061 6c74 6572 6e61 def with alterna\n+000118f0: 7469 7665 730a 2020 2020 2020 2020 2020 tives. \n+00011900: 2020 3c54 4147 5f32 3e20 4f42 4a45 4354 OBJECT\n+00011910: 5f32 0a20 2020 2020 2020 2020 2020 202e _2. .\n+00011920: 2e2e 0a20 2020 2020 2020 2020 2020 203c ... <\n+00011930: 3e20 4445 4641 554c 545f 4f42 4a45 4354 > DEFAULT_OBJECT\n+00011940: 0a20 2020 2020 6465 6620 4944 203c 3e20 . def ID <> \n+00011950: 2025 2074 6167 2064 6566 0a54 6865 2073 % tag def.The s\n+00011960: 696d 706c 6520 6465 6669 6e69 7469 6f6e imple definition\n+00011970: 206d 6572 656c 7920 6173 736f 6369 6174 merely associat\n+00011980: 6573 204f 424a 4543 5420 7769 7468 2074 es OBJECT with t\n+00011990: 6865 2069 6465 6e74 6966 6965 7220 4944 he identifier ID\n+000119a0: 2e0a 0a20 2020 5468 6520 6465 6669 6e69 ... The defini\n+000119b0: 7469 6f6e 2077 6974 6820 616c 7465 726e tion with altern\n+000119c0: 6174 6976 6573 2061 7373 6f63 6961 7465 atives associate\n+000119d0: 7320 4f42 4a45 4354 5f49 2077 6974 6820 s OBJECT_I with \n+000119e0: 4944 2c20 7768 6572 650a 5441 475f 4920 ID, where.TAG_I \n+000119f0: 6973 2074 6865 2066 6972 7374 2064 6566 is the first def\n+00011a00: 696e 6564 2074 6167 2069 6e20 7468 6520 ined tag in the \n+00011a10: 6c69 7374 206f 6620 616c 7465 726e 6174 list of alternat\n+00011a20: 6976 6520 7461 670a 7265 6665 7265 6e63 ive tag.referenc\n+00011a30: 6573 2e20 2049 6620 6e6f 2074 6167 2069 es. If no tag i\n+00011a40: 6e20 7468 6520 6c69 7374 2069 7320 6465 n the list is de\n+00011a50: 6669 6e65 642c 2074 6865 6e20 4445 4641 fined, then DEFA\n+00011a60: 554c 545f 4f42 4a45 4354 2069 730a 6173 ULT_OBJECT is.as\n+00011a70: 736f 6369 6174 6564 2077 6974 6820 6964 sociated with id\n+00011a80: 656e 7469 6669 6572 2049 442e 0a0a 2020 entifier ID... \n+00011a90: 2054 6865 2066 696e 616c 2066 6f72 6d20 The final form \n+00011aa0: 6465 6669 6e65 7320 4944 2061 7320 6120 defines ID as a \n+00011ab0: 7461 672e 2020 416e 6f74 6865 7220 7761 tag. Another wa\n+00011ac0: 7920 746f 2064 6566 696e 6520 6120 7461 y to define a ta\n+00011ad0: 6720 6973 0a77 6974 6820 7468 6520 e280 g is.with the ..\n+00011ae0: 982d 44e2 8099 2063 6f6d 6d61 6e64 206c .-D... command l\n+00011af0: 696e 6520 6f70 7469 6f6e 2e20 202a 4e6f ine option. *No\n+00011b00: 7465 2043 6f6d 6d61 6e64 206c 696e 653a te Command line:\n+00011b10: 3a2e 0a0a 1f0a 4669 6c65 3a20 736b 6574 :.....File: sket\n+00011b20: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n+00011b30: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n+00011b40: 6365 732c 2020 5072 6576 3a20 466f 726d ces, Prev: Form\n+00011b50: 7320 6f66 2064 6566 696e 6974 696f 6e73 s of definitions\n+00011b60: 2c20 2055 703a 2044 6566 696e 6974 696f , Up: Definitio\n+00011b70: 6e73 0a0a 332e 332e 3220 466f 726d 7320 ns..3.3.2 Forms \n+00011b80: 6f66 2072 6566 6572 656e 6365 730a 2d2d of references.--\n+00011b90: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00011ba0: 2d2d 2d2d 2d2d 2d0a 0a52 6566 6572 656e -------..Referen\n+00011bb0: 6365 7320 746f 2064 6566 696e 6564 206e ces to defined n\n+00011bc0: 616d 6573 2061 7265 2065 6e63 6c6f 7365 ames are enclose\n+00011bd0: 6420 696e 2062 7261 636b 6574 696e 6720 d in bracketing \n+00011be0: 6465 6c69 6d69 7465 7273 2e20 2054 6865 delimiters. The\n+00011bf0: 0a64 656c 696d 6974 6572 2063 6861 7261 .delimiter chara\n+00011c00: 6374 6572 7320 696d 706c 7920 7468 6520 cters imply the \n+00011c10: 7479 7065 206f 6620 7468 6520 6173 736f type of the asso\n+00011c20: 6369 6174 6564 2076 616c 7565 2061 7320 ciated value as \n+00011c30: 7368 6f77 6e20 696e 0a74 6865 2074 6162 shown in.the tab\n+00011c40: 6c65 2062 656c 6f77 2e20 2041 2074 7970 le below. A typ\n+00011c50: 6520 6572 726f 7220 6973 2072 6169 7365 e error is raise\n+00011c60: 6420 6966 2074 6865 2074 7970 6520 6f66 d if the type of\n+00011c70: 2061 2072 6566 6572 656e 6365 2064 6f65 a reference doe\n+00011c80: 730a 6e6f 7420 6d61 7463 6820 7468 6520 s.not match the \n+00011c90: 7479 7065 206f 6620 7468 6520 6465 6669 type of the defi\n+00011ca0: 6e65 6420 7661 6c75 652e 2020 5468 6520 ned value. The \n+00011cb0: 696e 7465 6e74 206f 6620 7468 6973 206d intent of this m\n+00011cc0: 6563 6861 6e69 736d 0a69 732c 2061 6761 echanism.is, aga\n+00011cd0: 696e 2c20 746f 206d 616b 6520 e280 9873 in, to make ...s\n+00011ce0: 6b65 7463 68e2 8099 2069 6e70 7574 2066 ketch... input f\n+00011cf0: 696c 6573 206d 6f72 6520 7265 6164 6162 iles more readab\n+00011d00: 6c65 2e0a 5479 7065 2020 2020 2020 2020 le..Type \n+00011d10: 5265 6665 7265 6e63 650a 2d2d 2d2d 2d2d Reference.------\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 2d2d 2d2d 0a73 6361 6c61 ----------.scala\n-00011d50: 7220 2020 2020 20e2 8098 4944 e280 990a r ...ID....\n-00011d60: 706f 696e 7420 2020 2020 2020 e280 9828 point ...(\n-00011d70: 4944 29e2 8099 0a76 6563 746f 7220 2020 ID)....vector \n-00011d80: 2020 20e2 8098 5b49 445d e280 990a 7472 ...[ID]....tr\n-00011d90: 616e 7366 6f72 6d20 2020 e280 985b 5b49 ansform ...[[I\n-00011da0: 445d 5de2 8099 0a64 7261 7761 626c 6520 D]]....drawable \n-00011db0: 2020 20e2 8098 7b49 447d e280 990a 6f70 ...{ID}....op\n-00011dc0: 7469 6f6e 7320 2020 2020 e280 985b 4944 tions ...[ID\n-00011dd0: 5de2 8099 206f 7220 e280 985b 4944 312c ]... or ...[ID1,\n-00011de0: 2e2e 2e2c 4944 4e5d e280 990a 7461 6720 ...,IDN]....tag \n-00011df0: 2020 2020 2020 2020 e280 983c 4944 3ee2 ....\n-00011e00: 8099 0a0a 4e6f 7465 2074 6861 7420 7371 ....Note that sq\n-00011e10: 7561 7265 2062 7261 636b 6574 7320 e280 uare brackets ..\n-00011e20: 985b 205d e280 9920 6172 6520 7573 6564 .[ ]... are used\n-00011e30: 2062 6f74 6820 666f 7220 7665 6374 6f72 both for vector\n-00011e40: 2061 6e64 2066 6f72 206f 7074 696f 6e73 and for options\n-00011e50: 0a72 6566 6572 656e 6365 732e 2020 4465 .references. De\n-00011e60: 7461 696c 7320 6f66 20e2 8098 736b 6574 tails of ...sket\n-00011e70: 6368 e280 9920 7379 6e74 6178 206d 616b ch... syntax mak\n-00011e80: 6520 6974 2069 6d70 6f73 7369 626c 6520 e it impossible \n-00011e90: 666f 7220 7468 6573 6520 7477 6f0a 7265 for these two.re\n-00011ea0: 6665 7265 6e63 6520 7479 7065 7320 746f ference types to\n-00011eb0: 2062 6520 636f 6e66 7573 6564 2e20 2054 be confused. T\n-00011ec0: 6865 2073 7065 6369 616c 206d 756c 7469 he special multi\n-00011ed0: 706c 6520 7265 6665 7265 6e63 650a e280 ple reference...\n-00011ee0: 985b 4944 312c 4944 322c 2e2e 2e2c 4944 .[ID1,ID2,...,ID\n-00011ef0: 4e5d e280 9920 6163 7473 2061 7320 6966 N]... acts as if\n-00011f00: 2074 6865 2072 6573 7065 6374 6976 6520 the respective \n-00011f10: 6c69 7374 7320 6f66 206f 7074 696f 6e73 lists of options\n-00011f20: 2077 6572 650a 636f 6e63 6174 656e 6174 were.concatenat\n-00011f30: 6564 2e0a 0a1f 0a46 696c 653a 2073 6b65 ed.....File: ske\n-00011f40: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n-00011f50: 2047 6c6f 6261 6c20 656e 7669 726f 6e6d Global environm\n-00011f60: 656e 742c 2020 5072 6576 3a20 4465 6669 ent, Prev: Defi\n-00011f70: 6e69 7469 6f6e 732c 2020 5570 3a20 496e nitions, Up: In\n-00011f80: 7075 7420 6c61 6e67 7561 6765 0a0a 332e put language..3.\n-00011f90: 3420 476c 6f62 616c 2065 6e76 6972 6f6e 4 Global environ\n-00011fa0: 6d65 6e74 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d ment.===========\n-00011fb0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a41 6e20 ===========..An \n-00011fc0: 6f70 7469 6f6e 616c 2067 6c6f 6261 6c20 optional global \n-00011fd0: 656e 7669 726f 6e6d 656e 7420 626c 6f63 environment bloc\n-00011fe0: 6b20 7072 6f76 6964 6573 2061 2066 6577 k provides a few\n-00011ff0: 2077 6179 7320 746f 2061 6666 6563 7420 ways to affect \n-00012000: 7468 650a 656e 7469 7265 2073 6365 6e65 the.entire scene\n-00012010: 2e20 2054 6865 2062 6c6f 636b 206d 7573 . The block mus\n-00012020: 7420 6170 7065 6172 2061 7320 7468 6520 t appear as the \n-00012030: 6c61 7374 2074 6578 7420 696e 2074 6865 last text in the\n-00012040: 20e2 8098 736b 6574 6368 e280 990a 696e ...sketch....in\n-00012050: 7075 7420 6669 6c65 2e20 2049 7420 6d61 put file. It ma\n-00012060: 7920 696e 636c 7564 6520 6465 6669 6e69 y include defini\n-00012070: 7469 6f6e 732c 2062 7574 206e 6f74 6520 tions, but note \n-00012080: 7468 6174 2070 7265 7669 6f75 730a 6465 that previous.de\n-00012090: 6669 6e69 7469 6f6e 7320 6174 2074 6865 finitions at the\n-000120a0: 2074 6f70 206c 6576 656c 2028 6e6f 7420 top level (not \n-000120b0: 6e65 7374 6564 2069 6e73 6964 6520 626c nested inside bl\n-000120c0: 6f63 6b73 2920 6172 6520 616c 736f 0a61 ocks) are also.a\n-000120d0: 7661 696c 6162 6c65 2e0a 0a2a 5379 6e74 vailable...*Synt\n-000120e0: 6178 3a2a 0a20 2020 2020 676c 6f62 616c ax:*. global\n-000120f0: 207b 2045 4e56 4952 4f4e 4d45 4e54 5f53 { ENVIRONMENT_S\n-00012100: 4554 5449 4e47 5320 7d0a 5468 6520 636f ETTINGS }.The co\n-00012110: 6e74 656e 7473 206f 6620 454e 5649 524f ntents of ENVIRO\n-00012120: 4e4d 454e 545f 5345 5454 494e 4753 2061 NMENT_SETTINGS a\n-00012130: 7265 2064 6973 6375 7373 6564 2069 6e20 re discussed in \n-00012140: 7468 6520 7365 6374 696f 6e73 2074 6861 the sections tha\n-00012150: 740a 666f 6c6c 6f77 2e0a 0a2a 204d 656e t.follow...* Men\n-00012160: 753a 0a0a 2a20 476c 6f62 616c 206f 7074 u:..* Global opt\n-00012170: 696f 6e73 3a3a 2020 2020 2020 2020 2020 ions:: \n-00012180: 2020 2020 4174 7472 6962 7574 6573 206f Attributes o\n-00012190: 6620 7468 6520 656e 7469 7265 2064 7261 f the entire dra\n-000121a0: 7769 6e67 2e0a 2a20 4361 6d65 7261 3a3a wing..* Camera::\n+00011d40: 2d2d 2d2d 0a73 6361 6c61 7220 2020 2020 ----.scalar \n+00011d50: 20e2 8098 4944 e280 990a 706f 696e 7420 ...ID....point \n+00011d60: 2020 2020 2020 e280 9828 4944 29e2 8099 ...(ID)...\n+00011d70: 0a76 6563 746f 7220 2020 2020 20e2 8098 .vector ...\n+00011d80: 5b49 445d e280 990a 7472 616e 7366 6f72 [ID]....transfor\n+00011d90: 6d20 2020 e280 985b 5b49 445d 5de2 8099 m ...[[ID]]...\n+00011da0: 0a64 7261 7761 626c 6520 2020 20e2 8098 .drawable ...\n+00011db0: 7b49 447d e280 990a 6f70 7469 6f6e 7320 {ID}....options \n+00011dc0: 2020 2020 e280 985b 4944 5de2 8099 206f ...[ID]... o\n+00011dd0: 7220 e280 985b 4944 312c 2e2e 2e2c 4944 r ...[ID1,...,ID\n+00011de0: 4e5d e280 990a 7461 6720 2020 2020 2020 N]....tag \n+00011df0: 2020 e280 983c 4944 3ee2 8099 0a0a 4e6f ........No\n+00011e00: 7465 2074 6861 7420 7371 7561 7265 2062 te that square b\n+00011e10: 7261 636b 6574 7320 e280 985b 205d e280 rackets ...[ ]..\n+00011e20: 9920 6172 6520 7573 6564 2062 6f74 6820 . are used both \n+00011e30: 666f 7220 7665 6374 6f72 2061 6e64 2066 for vector and f\n+00011e40: 6f72 206f 7074 696f 6e73 0a72 6566 6572 or options.refer\n+00011e50: 656e 6365 732e 2020 4465 7461 696c 7320 ences. Details \n+00011e60: 6f66 20e2 8098 736b 6574 6368 e280 9920 of ...sketch... \n+00011e70: 7379 6e74 6178 206d 616b 6520 6974 2069 syntax make it i\n+00011e80: 6d70 6f73 7369 626c 6520 666f 7220 7468 mpossible for th\n+00011e90: 6573 6520 7477 6f0a 7265 6665 7265 6e63 ese two.referenc\n+00011ea0: 6520 7479 7065 7320 746f 2062 6520 636f e types to be co\n+00011eb0: 6e66 7573 6564 2e20 2054 6865 2073 7065 nfused. The spe\n+00011ec0: 6369 616c 206d 756c 7469 706c 6520 7265 cial multiple re\n+00011ed0: 6665 7265 6e63 650a e280 985b 4944 312c ference....[ID1,\n+00011ee0: 4944 322c 2e2e 2e2c 4944 4e5d e280 9920 ID2,...,IDN]... \n+00011ef0: 6163 7473 2061 7320 6966 2074 6865 2072 acts as if the r\n+00011f00: 6573 7065 6374 6976 6520 6c69 7374 7320 espective lists \n+00011f10: 6f66 206f 7074 696f 6e73 2077 6572 650a of options were.\n+00011f20: 636f 6e63 6174 656e 6174 6564 2e0a 0a1f concatenated....\n+00011f30: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n+00011f40: 666f 2c20 204e 6f64 653a 2047 6c6f 6261 fo, Node: Globa\n+00011f50: 6c20 656e 7669 726f 6e6d 656e 742c 2020 l environment, \n+00011f60: 5072 6576 3a20 4465 6669 6e69 7469 6f6e Prev: Definition\n+00011f70: 732c 2020 5570 3a20 496e 7075 7420 6c61 s, Up: Input la\n+00011f80: 6e67 7561 6765 0a0a 332e 3420 476c 6f62 nguage..3.4 Glob\n+00011f90: 616c 2065 6e76 6972 6f6e 6d65 6e74 0a3d al environment.=\n+00011fa0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00011fb0: 3d3d 3d3d 3d0a 0a41 6e20 6f70 7469 6f6e =====..An option\n+00011fc0: 616c 2067 6c6f 6261 6c20 656e 7669 726f al global enviro\n+00011fd0: 6e6d 656e 7420 626c 6f63 6b20 7072 6f76 nment block prov\n+00011fe0: 6964 6573 2061 2066 6577 2077 6179 7320 ides a few ways \n+00011ff0: 746f 2061 6666 6563 7420 7468 650a 656e to affect the.en\n+00012000: 7469 7265 2073 6365 6e65 2e20 2054 6865 tire scene. The\n+00012010: 2062 6c6f 636b 206d 7573 7420 6170 7065 block must appe\n+00012020: 6172 2061 7320 7468 6520 6c61 7374 2074 ar as the last t\n+00012030: 6578 7420 696e 2074 6865 20e2 8098 736b ext in the ...sk\n+00012040: 6574 6368 e280 990a 696e 7075 7420 6669 etch....input fi\n+00012050: 6c65 2e20 2049 7420 6d61 7920 696e 636c le. It may incl\n+00012060: 7564 6520 6465 6669 6e69 7469 6f6e 732c ude definitions,\n+00012070: 2062 7574 206e 6f74 6520 7468 6174 2070 but note that p\n+00012080: 7265 7669 6f75 730a 6465 6669 6e69 7469 revious.definiti\n+00012090: 6f6e 7320 6174 2074 6865 2074 6f70 206c ons at the top l\n+000120a0: 6576 656c 2028 6e6f 7420 6e65 7374 6564 evel (not nested\n+000120b0: 2069 6e73 6964 6520 626c 6f63 6b73 2920 inside blocks) \n+000120c0: 6172 6520 616c 736f 0a61 7661 696c 6162 are also.availab\n+000120d0: 6c65 2e0a 0a2a 5379 6e74 6178 3a2a 0a20 le...*Syntax:*. \n+000120e0: 2020 2020 676c 6f62 616c 207b 2045 4e56 global { ENV\n+000120f0: 4952 4f4e 4d45 4e54 5f53 4554 5449 4e47 IRONMENT_SETTING\n+00012100: 5320 7d0a 5468 6520 636f 6e74 656e 7473 S }.The contents\n+00012110: 206f 6620 454e 5649 524f 4e4d 454e 545f of ENVIRONMENT_\n+00012120: 5345 5454 494e 4753 2061 7265 2064 6973 SETTINGS are dis\n+00012130: 6375 7373 6564 2069 6e20 7468 6520 7365 cussed in the se\n+00012140: 6374 696f 6e73 2074 6861 740a 666f 6c6c ctions that.foll\n+00012150: 6f77 2e0a 0a2a 204d 656e 753a 0a0a 2a20 ow...* Menu:..* \n+00012160: 476c 6f62 616c 206f 7074 696f 6e73 3a3a Global options::\n+00012170: 2020 2020 2020 2020 2020 2020 2020 4174 At\n+00012180: 7472 6962 7574 6573 206f 6620 7468 6520 tributes of the \n+00012190: 656e 7469 7265 2064 7261 7769 6e67 2e0a entire drawing..\n+000121a0: 2a20 4361 6d65 7261 3a3a 2020 2020 2020 * Camera:: \n 000121b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000121c0: 2020 2020 2020 4120 6669 6e61 6c20 6361 A final ca\n-000121d0: 6d65 7261 2074 7261 6e73 666f 726d 6174 mera transformat\n-000121e0: 696f 6e20 6f66 2074 6865 2073 6365 6e65 ion of the scene\n-000121f0: 2e0a 2a20 5069 6374 7572 6520 626f 783a ..* Picture box:\n-00012200: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00012210: 2020 5365 7474 696e 6720 7468 6520 626f Setting the bo\n-00012220: 756e 6469 6e67 2062 6f78 2061 6e64 2032 unding box and 2\n-00012230: 6420 636c 6970 7069 6e67 2e0a 2a20 4672 d clipping..* Fr\n-00012240: 616d 653a 3a20 2020 2020 2020 2020 2020 ame:: \n-00012250: 2020 2020 2020 2020 2020 2020 4164 6469 Addi\n-00012260: 6e67 2061 2062 6f78 2061 726f 756e 6420 ng a box around \n-00012270: 7468 6520 6472 6177 696e 672e 0a2a 204c the drawing..* L\n-00012280: 616e 6775 6167 653a 3a20 2020 2020 2020 anguage:: \n-00012290: 2020 2020 2020 2020 2020 2020 2053 6574 Set\n-000122a0: 7469 6e67 2074 6865 206f 7574 7075 7420 ting the output \n-000122b0: 6c61 6e67 7561 6765 2e0a 0a1f 0a46 696c language.....Fil\n-000122c0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-000122d0: 204e 6f64 653a 2047 6c6f 6261 6c20 6f70 Node: Global op\n-000122e0: 7469 6f6e 732c 2020 4e65 7874 3a20 4361 tions, Next: Ca\n-000122f0: 6d65 7261 2c20 2050 7265 763a 2047 6c6f mera, Prev: Glo\n-00012300: 6261 6c20 656e 7669 726f 6e6d 656e 742c bal environment,\n-00012310: 2020 5570 3a20 476c 6f62 616c 2065 6e76 Up: Global env\n-00012320: 6972 6f6e 6d65 6e74 0a0a 332e 342e 3120 ironment..3.4.1 \n-00012330: 476c 6f62 616c 206f 7074 696f 6e73 0a2d Global options.-\n-00012340: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00012350: 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 ---..*Syntax:*. \n-00012360: 2020 2020 7365 7420 5b20 4f50 5449 4f4e set [ OPTION\n-00012370: 5320 5d0a 5468 6520 636f 6e74 656e 7473 S ].The contents\n-00012380: 206f 6620 4f50 5449 4f4e 532c 2065 7863 of OPTIONS, exc\n-00012390: 6570 7420 666f 7220 e280 9873 6b65 7463 ept for ...sketc\n-000123a0: 68e2 8099 2069 6e74 6572 6e61 6c20 6f70 h... internal op\n-000123b0: 7469 6f6e 732c 2061 7265 0a63 6f70 6965 tions, are.copie\n-000123c0: 6420 6173 2d69 7320 746f 2061 205c 7073 d as-is to a \\ps\n-000123d0: 7365 7420 7468 6174 2061 7070 6561 7273 set that appears\n-000123e0: 2062 6566 6f72 6520 616e 7974 6869 6e67 before anything\n-000123f0: 2065 6c73 6520 696e 2074 6865 206f 7574 else in the out\n-00012400: 7075 740a 6669 6c65 2e20 2054 6869 7320 put.file. This \n-00012410: 6973 2061 2067 6f6f 6420 706c 6163 6520 is a good place \n-00012420: 746f 2073 6574 20e2 8098 756e 6974 e280 to set ...unit..\n-00012430: 992c 2061 2064 6566 6175 6c74 20e2 8098 ., a default ...\n-00012440: 6c69 6e65 7769 6474 68e2 8099 2c20 6574 linewidth..., et\n-00012450: 632e 0a0a 2020 2049 6e74 6572 6e61 6c20 c... Internal \n-00012460: 6f70 7469 6f6e 7320 776f 726b 206f 6e20 options work on \n-00012470: 616c 6c20 6f62 6a65 6374 7320 7768 6572 all objects wher\n-00012480: 6520 7468 6579 206d 616b 6520 7365 6e73 e they make sens\n-00012490: 652e 2020 5468 6973 0a69 6e63 6c75 6465 e. This.include\n-000124a0: 7320 e280 9863 756c 6ce2 8099 2061 6e64 s ...cull... and\n-000124b0: 20e2 8098 7370 6c69 74e2 8099 2028 6275 ...split... (bu\n-000124c0: 7420 6e6f 7420 e280 986c 6179 e280 9929 t not ...lay...)\n-000124d0: 2e20 202a 4e6f 7465 2049 6e74 6572 6e61 . *Note Interna\n-000124e0: 6c20 6f70 7469 6f6e 733a 3a2e 0a0a 1f0a l options::.....\n-000124f0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n-00012500: 6f2c 2020 4e6f 6465 3a20 4361 6d65 7261 o, Node: Camera\n-00012510: 2c20 204e 6578 743a 2050 6963 7475 7265 , Next: Picture\n-00012520: 2062 6f78 2c20 2050 7265 763a 2047 6c6f box, Prev: Glo\n-00012530: 6261 6c20 6f70 7469 6f6e 732c 2020 5570 bal options, Up\n-00012540: 3a20 476c 6f62 616c 2065 6e76 6972 6f6e : Global environ\n-00012550: 6d65 6e74 0a0a 332e 342e 3220 4361 6d65 ment..3.4.2 Came\n-00012560: 7261 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ra.------------.\n-00012570: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. \n-00012580: 6361 6d65 7261 2054 5241 4e53 464f 524d camera TRANSFORM\n-00012590: 5f45 5850 5245 5353 494f 4e0a 2020 2054 _EXPRESSION. T\n-000125a0: 6865 2054 5241 4e53 464f 524d 5f45 5850 he TRANSFORM_EXP\n-000125b0: 5245 5353 494f 4e20 6973 2061 7070 6c69 RESSION is appli\n-000125c0: 6564 2061 6674 6572 2061 6c6c 206f 7468 ed after all oth\n-000125d0: 6572 2074 7261 6e73 666f 726d 6174 696f er transformatio\n-000125e0: 6e73 0a6f 6620 7468 6520 7363 656e 652e ns.of the scene.\n-000125f0: 2020 5468 6973 2069 7320 6375 7272 656e This is curren\n-00012600: 746c 7920 6f6e 6c79 2075 7365 6675 6c20 tly only useful \n-00012610: 666f 7220 7472 616e 7366 6f72 6d69 6e67 for transforming\n-00012620: 2074 6865 0a62 6f75 6e64 696e 6720 626f the.bounding bo\n-00012630: 782e 2020 2a4e 6f74 6520 5069 6374 7572 x. *Note Pictur\n-00012640: 6520 626f 783a 3a2e 2020 4974 2077 696c e box::. It wil\n-00012650: 6c20 706c 6179 2061 2072 6f6c 6520 696e l play a role in\n-00012660: 2061 6e79 2066 7574 7572 650a 696d 706c any future.impl\n-00012670: 656d 656e 7461 7469 6f6e 206f 6620 636c ementation of cl\n-00012680: 6970 7069 6e67 2e0a 0a1f 0a46 696c 653a ipping.....File:\n-00012690: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-000126a0: 6f64 653a 2050 6963 7475 7265 2062 6f78 ode: Picture box\n-000126b0: 2c20 204e 6578 743a 2046 7261 6d65 2c20 , Next: Frame, \n-000126c0: 2050 7265 763a 2043 616d 6572 612c 2020 Prev: Camera, \n-000126d0: 5570 3a20 476c 6f62 616c 2065 6e76 6972 Up: Global envir\n-000126e0: 6f6e 6d65 6e74 0a0a 332e 342e 3320 5069 onment..3.4.3 Pi\n-000126f0: 6374 7572 6520 626f 780a 2d2d 2d2d 2d2d cture box.------\n-00012700: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 -----------..*Sy\n-00012710: 6e74 6178 3a2a 0a20 2020 2020 7069 6374 ntax:*. pict\n-00012720: 7572 6562 6f78 5b42 4153 454c 494e 455d urebox[BASELINE]\n-00012730: 0a20 2020 2020 7069 6374 7572 6562 6f78 . picturebox\n-00012740: 5b42 4153 454c 494e 455d 2028 5031 2928 [BASELINE] (P1)(\n-00012750: 5032 290a 5468 6520 6669 7273 7420 666f P2).The first fo\n-00012760: 726d 206f 6620 e280 9870 6963 7475 7265 rm of ...picture\n-00012770: 626f 78e2 8099 2063 6175 7365 7320 6120 box... causes a \n-00012780: 7363 616c 6172 2042 4153 454c 494e 4520 scalar BASELINE \n-00012790: 6672 6163 7469 6f6e 2074 6f20 6265 0a65 fraction to be.e\n-000127a0: 6d69 7474 6564 2069 6e20 7468 6520 e280 mitted in the ..\n-000127b0: 9870 7370 6963 7475 7265 e280 9920 656e .pspicture... en\n-000127c0: 7669 726f 6e6d 656e 7420 6f66 2074 6865 vironment of the\n-000127d0: 206f 7574 7075 742e 2020 5365 6520 e280 output. See ..\n-000127e0: 9850 5354 7269 636b 73e2 8099 0a64 6f63 .PSTricks....doc\n-000127f0: 756d 656e 7461 7469 6f6e 2066 6f72 20e2 umentation for .\n-00012800: 8098 7073 7069 6374 7572 65e2 8099 2e0a ..pspicture.....\n-00012810: 0a20 2020 496e 2074 6865 2073 6563 6f6e . In the secon\n-00012820: 6420 666f 726d 2c20 7468 6520 4241 5345 d form, the BASE\n-00012830: 4c49 4e45 2066 7261 6374 696f 6e20 6973 LINE fraction is\n-00012840: 206f 7074 696f 6e61 6c2c 2061 6e64 2074 optional, and t\n-00012850: 6865 2074 776f 0a70 6f69 6e74 7320 7468 he two.points th\n-00012860: 6174 2066 6f6c 6c6f 7720 6465 6669 6e65 at follow define\n-00012870: 2074 6865 2064 6961 676f 6e61 6c20 6f66 the diagonal of\n-00012880: 2061 2074 6872 6565 2d64 696d 656e 7369 a three-dimensi\n-00012890: 6f6e 616c 2062 6f75 6e64 696e 670a 626f onal bounding.bo\n-000128a0: 7820 666f 7220 7468 6520 636f 6d70 6c65 x for the comple\n-000128b0: 7465 6420 7363 656e 652e 2020 5468 6520 ted scene. The \n-000128c0: 7061 7261 6c6c 656c 2070 726f 6a65 6374 parallel project\n-000128d0: 696f 6e20 6f66 2074 6865 2062 6f75 6e64 ion of the bound\n-000128e0: 696e 670a 626f 7820 6465 7465 726d 696e ing.box determin\n-000128f0: 6573 2074 6865 2063 6f72 6e65 7273 206f es the corners o\n-00012900: 6620 7468 6520 6472 6177 696e 6727 7320 f the drawing's \n-00012910: e280 9870 7370 6963 7475 7265 2ae2 8099 ...pspicture*...\n-00012920: 2065 6e76 6972 6f6e 6d65 6e74 2c0a 7768 environment,.wh\n-00012930: 6963 6820 6973 2075 7365 6420 696e 2070 ich is used in p\n-00012940: 6c61 6365 206f 6620 e280 9870 7370 6963 lace of ...pspic\n-00012950: 7475 7265 e280 992e 2020 5468 6973 2063 ture.... This c\n-00012960: 6175 7365 7320 506f 7374 5363 7269 7074 auses PostScript\n-00012970: 2074 6f20 636c 6970 0a74 6865 2066 696e to clip.the fin\n-00012980: 616c 2064 7261 7769 6e67 2074 6f20 7468 al drawing to th\n-00012990: 6520 626f 756e 6469 6e67 2062 6f78 2069 e bounding box i\n-000129a0: 6e20 3264 2e20 2049 6620 7468 6572 6520 n 2d. If there \n-000129b0: 6973 2061 20e2 8098 6361 6d65 7261 e280 is a ...camera..\n-000129c0: 990a 7370 6563 6966 6965 642c 2074 6865 ..specified, the\n-000129d0: 2063 616d 6572 6120 7472 616e 666f 726d camera tranform\n-000129e0: 6174 696f 6e20 6973 2061 7070 6c69 6564 ation is applied\n-000129f0: 2074 6f20 7468 6520 626f 756e 6469 6e67 to the bounding\n-00012a00: 2062 6f78 2c20 616e 640a 7468 6520 e280 box, and.the ..\n-00012a10: 9870 7370 6963 7475 7265 e280 9920 6973 .pspicture... is\n-00012a20: 2073 6574 206a 7573 7420 6c61 7267 6520 set just large \n-00012a30: 656e 6f75 6768 2074 6f20 696e 636c 7564 enough to includ\n-00012a40: 6520 7468 6520 7472 616e 7366 6f72 6d65 e the transforme\n-00012a50: 6420 626f 782e 0a0a 2020 2057 6865 6e20 d box... When \n-00012a60: 6e6f 2062 6f75 6e64 696e 6720 626f 7820 no bounding box \n-00012a70: 6973 2067 6976 656e 2c20 e280 9873 6b65 is given, ...ske\n-00012a80: 7463 68e2 8099 2063 6f6d 7075 7465 7320 tch... computes \n-00012a90: 6f6e 6520 6175 746f 6d61 7469 6361 6c6c one automaticall\n-00012aa0: 792e 0a0a 1f0a 4669 6c65 3a20 736b 6574 y.....File: sket\n-00012ab0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-00012ac0: 4672 616d 652c 2020 4e65 7874 3a20 4c61 Frame, Next: La\n-00012ad0: 6e67 7561 6765 2c20 2050 7265 763a 2050 nguage, Prev: P\n-00012ae0: 6963 7475 7265 2062 6f78 2c20 2055 703a icture box, Up:\n-00012af0: 2047 6c6f 6261 6c20 656e 7669 726f 6e6d Global environm\n-00012b00: 656e 740a 0a33 2e34 2e34 2046 7261 6d65 ent..3.4.4 Frame\n-00012b10: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 .-----------..*S\n-00012b20: 796e 7461 783a 2a0a 2020 2020 2066 7261 yntax:*. fra\n-00012b30: 6d65 205b 4f50 5449 4f4e 535d 0a43 6175 me [OPTIONS].Cau\n-00012b40: 7365 7320 6120 5c70 7366 7261 6d65 626f ses a \\psframebo\n-00012b50: 7820 746f 2073 7572 726f 756e 6420 7468 x to surround th\n-00012b60: 6520 e280 9870 7370 6963 7475 7265 e280 e ...pspicture..\n-00012b70: 9920 656e 7669 726f 6e6d 656e 7420 696e . environment in\n-00012b80: 2074 6865 0a6f 7574 7075 742e 2020 4966 the.output. If\n-00012b90: 204f 5054 494f 4e53 2061 7265 2070 7265 OPTIONS are pre\n-00012ba0: 7365 6e74 2c20 7468 6579 2061 7265 2063 sent, they are c\n-00012bb0: 6f70 6965 6420 6173 2d69 732e 2020 4e6f opied as-is. No\n-00012bc0: 726d 616c 6c79 206f 6e65 0a77 6f75 6c64 rmally one.would\n-00012bd0: 2077 616e 7420 746f 2073 6574 20e2 8098 want to set ...\n-00012be0: 6c69 6e65 7769 6474 68e2 8099 2c20 e280 linewidth..., ..\n-00012bf0: 986c 696e 6573 7479 6c65 e280 992c 20e2 .linestyle..., .\n-00012c00: 8098 6c69 6e65 636f 6c6f 72e2 8099 2c20 ..linecolor..., \n-00012c10: 6574 632e 2020 4966 0a6f 6d69 7474 6564 etc. If.omitted\n-00012c20: 2c20 7468 656e 20e2 8098 6672 616d 6573 , then ...frames\n-00012c30: 6570 3d30 7074 e280 9920 6973 2061 6464 ep=0pt... is add\n-00012c40: 6564 2073 6f20 7468 6174 2074 6865 2066 ed so that the f\n-00012c50: 7261 6d65 2074 6967 6874 6c79 2068 7567 rame tightly hug\n-00012c60: 7320 7468 650a e280 9870 7370 6963 7475 s the....pspictu\n-00012c70: 7265 e280 992e 0a0a 1f0a 4669 6c65 3a20 re........File: \n-00012c80: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-00012c90: 6465 3a20 4c61 6e67 7561 6765 2c20 2050 de: Language, P\n-00012ca0: 7265 763a 2046 7261 6d65 2c20 2055 703a rev: Frame, Up:\n-00012cb0: 2047 6c6f 6261 6c20 656e 7669 726f 6e6d Global environm\n-00012cc0: 656e 740a 0a33 2e34 2e35 204c 616e 6775 ent..3.4.5 Langu\n-00012cd0: 6167 650a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d age.------------\n-00012ce0: 2d2d 0a0a 2020 2020 206c 616e 6775 6167 --.. languag\n-00012cf0: 6520 7469 6b7a 0a20 2020 2020 6c61 6e67 e tikz. lang\n-00012d00: 7561 6765 2074 696b 7a2c 2063 6f6e 7465 uage tikz, conte\n-00012d10: 7874 0a20 2020 2020 6c61 6e67 7561 6765 xt. language\n-00012d20: 2070 7374 7269 636b 730a 2020 2020 206c pstricks. l\n-00012d30: 616e 6775 6167 6520 7073 7472 6963 6b73 anguage pstricks\n-00012d40: 2c20 6c61 7465 780a 5365 7473 2074 6865 , latex.Sets the\n-00012d50: 206f 7574 7075 7420 6c61 6e67 7561 6765 output language\n-00012d60: 2067 656e 6572 6174 6564 2062 7920 e280 generated by ..\n-00012d70: 9873 6b65 7463 68e2 8099 2e20 2054 6865 .sketch.... The\n-00012d80: 2073 6574 206f 6620 6f70 7469 6f6e 730a set of options.\n-00012d90: 756e 6465 7273 746f 6f64 2062 7920 736b understood by sk\n-00012da0: 6574 6368 2061 6c73 6f20 6368 616e 6765 etch also change\n-00012db0: 732e 2020 466f 7220 6578 616d 706c 652c s. For example,\n-00012dc0: 2074 6865 20e2 8098 5053 5472 6963 6b73 the ...PSTricks\n-00012dd0: e280 9920 6f70 7469 6f6e 0ae2 8098 6c69 ... option....li\n-00012de0: 6e65 7769 6474 68e2 8099 2077 696c 6c20 newidth... will \n-00012df0: 6e6f 7420 6265 2070 726f 7065 726c 7920 not be properly \n-00012e00: 6861 6e64 6c65 6420 6966 20e2 8098 6c61 handled if ...la\n-00012e10: 6e67 7561 6765 e280 9920 6973 2073 6574 nguage... is set\n-00012e20: 2074 6f20 e280 9874 696b 7ae2 8099 2e0a to ...tikz.....\n-00012e30: 5369 6d69 6c61 726c 792c 2074 6865 20e2 Similarly, the .\n-00012e40: 8098 5469 6b5a e280 9920 6f70 7469 6f6e ..TikZ... option\n-00012e50: 20e2 8098 6c69 6e65 2073 7479 6c65 e280 ...line style..\n-00012e60: 9920 286e 6f74 6520 7468 6520 7370 6163 . (note the spac\n-00012e70: 6529 2077 696c 6c20 6e6f 7420 6265 0a70 e) will not be.p\n-00012e80: 726f 7065 726c 7920 6861 6e64 6c65 6420 roperly handled \n-00012e90: 6966 20e2 8098 6c61 6e67 7561 6765 e280 if ...language..\n-00012ea0: 9920 6973 2073 6574 2074 6f20 e280 9870 . is set to ...p\n-00012eb0: 7374 7269 636b 73e2 8099 2e20 2049 6620 stricks.... If \n-00012ec0: 6e6f 206c 616e 6775 6167 6520 6973 0a73 no language is.s\n-00012ed0: 7065 6369 6669 6564 2c20 7468 6520 6465 pecified, the de\n-00012ee0: 6661 756c 7420 e280 9870 7374 7269 636b fault ...pstrick\n-00012ef0: 73e2 8099 2069 7320 7573 6564 2e0a 0a20 s... is used... \n-00012f00: 2020 416e 206f 7074 696f 6e61 6c20 636f An optional co\n-00012f10: 6d6d 6120 666f 6c6c 6f77 6564 2062 7920 mma followed by \n-00012f20: e280 986c 6174 6578 e280 9920 6f72 20e2 ...latex... or .\n-00012f30: 8098 636f 6e74 6578 74e2 8099 2073 7065 ..context... spe\n-00012f40: 6369 6669 6573 2074 6865 0a6d 6163 726f cifies the.macro\n-00012f50: 2070 6163 6b61 6765 2074 6861 7420 7468 package that th\n-00012f60: 6520 6f75 7470 7574 2073 686f 756c 6420 e output should \n-00012f70: 6173 7375 6d65 2e20 2054 6869 7320 6166 assume. This af\n-00012f80: 6665 6374 7320 7468 6520 e280 9870 6963 fects the ...pic\n-00012f90: 7475 7265 e280 990a 656e 7669 726f 6e6d ture....environm\n-00012fa0: 656e 7420 636f 6d6d 616e 6473 2065 6d69 ent commands emi\n-00012fb0: 7474 6564 2061 6e64 2074 6865 2064 6f63 tted and the doc\n-00012fc0: 756d 656e 7420 7465 6d70 6c61 7465 2075 ument template u\n-00012fd0: 7365 6420 7769 7468 2074 6865 0ae2 8098 sed with the....\n-00012fe0: 2d54 e280 9920 6f70 7469 6f6e 2e20 202a -T... option. *\n-00012ff0: 4e6f 7465 2043 6f6d 6d61 6e64 206c 696e Note Command lin\n-00013000: 653a 3a2e 2020 4e6f 7465 2074 6861 7420 e::. Note that \n-00013010: 6174 2074 6865 2074 696d 6520 7468 6973 at the time this\n-00013020: 206d 616e 7561 6c0a 7761 7320 6765 6e65 manual.was gene\n-00013030: 7261 7465 642c 20e2 8098 5053 5472 6963 rated, ...PSTric\n-00013040: 6b73 e280 9920 7761 7320 6e6f 7420 7375 ks... was not su\n-00013050: 7070 6f72 7465 6420 6279 204c 6154 6558 pported by LaTeX\n-00013060: 206f 7220 6279 20e2 8098 436f 6e54 6558 or by ...ConTeX\n-00013070: 74e2 8099 2e0a 0a1f 0a46 696c 653a 2073 t........File: s\n-00013080: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-00013090: 653a 2042 7569 6c64 696e 6720 6120 6472 e: Building a dr\n-000130a0: 6177 696e 672c 2020 4e65 7874 3a20 436f awing, Next: Co\n-000130b0: 6d6d 616e 6420 6c69 6e65 2c20 2050 7265 mmand line, Pre\n-000130c0: 763a 2049 6e70 7574 206c 616e 6775 6167 v: Input languag\n-000130d0: 652c 2020 5570 3a20 546f 700a 0a34 2042 e, Up: Top..4 B\n-000130e0: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin\n-000130f0: 670a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a g.**************\n-00013100: 2a2a 2a2a 2a2a 0a0a 5375 6363 6573 7366 ******..Successf\n-00013110: 756c 2064 7261 7769 6e67 7320 7769 7468 ul drawings with\n-00013120: 20e2 8098 736b 6574 6368 e280 9920 616e ...sketch... an\n-00013130: 6420 7769 7468 2061 6e79 2073 6365 6e65 d with any scene\n-00013140: 2064 6573 6372 6970 7469 6f6e 0a6c 616e description.lan\n-00013150: 6775 6167 6520 7265 7175 6972 6520 7468 guage require th\n-00013160: 6174 2074 6865 2075 7365 7220 6465 7665 at the user deve\n-00013170: 6c6f 7020 616e 2061 6363 7572 6174 6520 lop an accurate \n-00013180: 6d65 6e74 616c 2070 6963 7475 7265 206f mental picture o\n-00013190: 6620 6865 720a 636f 6465 2061 6e64 2069 f her.code and i\n-000131a0: 7473 206d 6561 6e69 6e67 2e20 2054 6869 ts meaning. Thi\n-000131b0: 7320 696d 6167 6520 6973 2062 6573 7420 s image is best \n-000131c0: 6275 696c 7420 696e 2073 6d61 6c6c 2070 built in small p\n-000131d0: 6965 6365 732e 0a54 6865 7265 666f 7265 ieces..Therefore\n-000131e0: 2c20 e280 9873 6b65 7463 68e2 8099 2069 , ...sketch... i\n-000131f0: 6e70 7574 7320 6172 6520 6265 7374 2063 nputs are best c\n-00013200: 7265 6174 6564 2069 6e20 736d 616c 6c20 reated in small \n-00013210: 696e 6372 656d 656e 7473 2077 6974 680a increments with.\n-00013220: 6672 6571 7565 6e74 2070 6175 7365 7320 frequent pauses \n-00013230: 746f 2063 6f6d 7069 6c65 2061 6e64 2076 to compile and v\n-00013240: 6965 7720 7468 6520 7265 7375 6c74 732e iew the results.\n-00013250: 2020 4361 7265 6675 6c20 636f 6d6d 656e Careful commen\n-00013260: 7473 2069 6e0a 7468 6520 696e 7075 7420 ts in.the input \n-00013270: 6f66 7465 6e20 6865 6c70 2061 7320 6120 often help as a \n-00013280: 7363 656e 6520 6772 6f77 7320 696e 2063 scene grows in c\n-00013290: 6f6d 706c 6578 6974 792e 0a0a 2a20 4d65 omplexity...* Me\n-000132a0: 6e75 3a0a 0a2a 204f 7665 7276 6965 773a nu:..* Overview:\n-000132b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000132c0: 2020 2020 2042 7569 6c64 696e 6720 6120 Building a \n-000132d0: 7375 6273 7461 6e74 6961 6c20 6472 6177 substantial draw\n-000132e0: 696e 672e 0a2a 2041 2074 6563 686e 6963 ing..* A technic\n-000132f0: 616c 2064 7261 7769 6e67 3a3a 2020 2020 al drawing:: \n-00013300: 2020 2020 2041 6e20 6578 616d 706c 6520 An example \n-00013310: 7769 7468 2066 696e 6520 706c 6163 656d with fine placem\n-00013320: 656e 742e 0a2a 2041 2068 6965 7261 7263 ent..* A hierarc\n-00013330: 6869 6361 6c20 6d6f 6465 6c3a 3a20 2020 hical model:: \n-00013340: 2020 2020 2041 6e20 6578 616d 706c 6520 An example \n-00013350: 7769 7468 2073 7765 6570 7320 616e 6420 with sweeps and \n-00013360: 7075 7473 2e0a 2a20 4361 7665 6174 733a puts..* Caveats:\n-00013370: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00013380: 2020 2020 2020 5768 6572 6520 7472 6f75 Where trou\n-00013390: 626c 6520 6361 6e20 6f63 6375 722e 0a0a ble can occur...\n-000133a0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-000133b0: 6e66 6f2c 2020 4e6f 6465 3a20 4f76 6572 nfo, Node: Over\n-000133c0: 7669 6577 2c20 204e 6578 743a 2041 2074 view, Next: A t\n-000133d0: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n-000133e0: 2c20 2050 7265 763a 2042 7569 6c64 696e , Prev: Buildin\n-000133f0: 6720 6120 6472 6177 696e 672c 2020 5570 g a drawing, Up\n-00013400: 3a20 4275 696c 6469 6e67 2061 2064 7261 : Building a dra\n-00013410: 7769 6e67 0a0a 342e 3120 4f76 6572 7669 wing..4.1 Overvi\n-00013420: 6577 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ew.============.\n-00013430: 0a41 7320 616e 206f 7665 7276 6965 772c .As an overview,\n-00013440: 206c 6574 2773 2064 6576 656c 6f70 2061 let's develop a\n-00013450: 2064 6961 6772 616d 2074 6861 7420 7368 diagram that sh\n-00013460: 6f77 7320 686f 7720 6120 7065 7273 7065 ows how a perspe\n-00013470: 6374 6976 650a 7072 6f6a 6563 7469 6f6e ctive.projection\n-00013480: 2074 7261 6e73 666f 726d 2077 6f72 6b73 transform works\n-00013490: 2e20 2057 6527 6c6c 2073 7461 7274 2077 . We'll start w\n-000134a0: 6974 6820 7468 6520 7472 6164 6974 696f ith the traditio\n-000134b0: 6e61 6c20 7265 6665 7265 6e63 650a 6f62 nal reference.ob\n-000134c0: 6a65 6374 2075 7365 6420 696e 2063 6f6d ject used in com\n-000134d0: 7075 7465 7220 6772 6170 6869 6373 2074 puter graphics t\n-000134e0: 6578 7462 6f6f 6b73 2c20 6120 686f 7573 extbooks, a hous\n-000134f0: 652d 7368 6170 6564 2070 7269 736d 2e20 e-shaped prism. \n-00013500: 2042 6567 696e 0a62 7920 6465 6669 6e69 Begin.by defini\n-00013510: 6e67 2074 6865 2070 6f69 6e74 7320 6f66 ng the points of\n-00013520: 2074 6865 2068 6f75 7365 2e20 2052 6174 the house. Rat\n-00013530: 6865 7220 7468 616e 2064 6566 696e 696e her than definin\n-00013540: 6720 7468 6520 6661 6365 7320 6f66 0a74 g the faces of.t\n-00013550: 6865 2068 6f75 7365 2061 7320 706f 6c79 he house as poly\n-00013560: 676f 6e73 2061 6e64 2074 7261 6e73 666f gons and transfo\n-00013570: 726d 696e 6720 7468 6f73 652c 2077 6520 rming those, we \n-00013580: 6172 6520 676f 696e 6720 746f 2074 7261 are going to tra\n-00013590: 6e73 666f 726d 0a74 6865 2070 6f69 6e74 nsform.the point\n-000135a0: 7320 7468 656d 7365 6c76 6573 2077 6974 s themselves wit\n-000135b0: 6820 e280 9873 6b65 7463 68e2 8099 2061 h ...sketch... a\n-000135c0: 7269 7468 6d65 7469 6320 736f 2074 6861 rithmetic so tha\n-000135d0: 7420 7765 2068 6176 6520 6e61 6d65 7320 t we have names \n-000135e0: 666f 720a 7468 6520 7472 616e 7366 6f72 for.the transfor\n-000135f0: 6d65 6420 706f 696e 7473 206c 6174 6572 med points later\n-00013600: 2e0a 2020 2520 7269 6768 7420 7369 6465 .. % right side\n-00013610: 2028 6f75 7473 6964 6520 746f 2072 6967 (outside to rig\n-00013620: 6874 290a 2020 6465 6620 5231 2028 312c ht). def R1 (1,\n-00013630: 312c 3129 2064 6566 2052 3220 2831 2c2d 1,1) def R2 (1,-\n-00013640: 312c 3129 2064 6566 2052 3320 2831 2c2d 1,1) def R3 (1,-\n-00013650: 312c 2d31 2920 6465 6620 5234 2028 312c 1,-1) def R4 (1,\n-00013660: 312c 2d31 290a 2020 6465 6620 5235 2028 1,-1). def R5 (\n-00013670: 312c 312e 352c 3029 0a0a 2020 2520 6c65 1,1.5,0).. % le\n-00013680: 6674 2073 6964 6520 286f 7574 7369 6465 ft side (outside\n-00013690: 2074 6f20 7269 6768 742d 2d62 6163 6b77 to right--backw\n-000136a0: 6172 6429 0a20 2064 6566 2057 2020 5b32 ard). def W [2\n-000136b0: 2c30 2c30 5d0a 2020 6465 6620 4c31 2028 ,0,0]. def L1 (\n-000136c0: 5231 292d 5b57 5d20 6465 6620 4c32 2028 R1)-[W] def L2 (\n-000136d0: 5232 292d 5b57 5d20 6465 6620 4c33 2028 R2)-[W] def L3 (\n-000136e0: 5233 292d 5b57 5d20 6465 6620 4c34 2028 R3)-[W] def L4 (\n-000136f0: 5234 292d 5b57 5d0a 2020 6465 6620 4c35 R4)-[W]. def L5\n-00013700: 2028 5235 292d 5b57 5d0a 546f 2061 6464 (R5)-[W].To add\n-00013710: 2061 2064 6f6f 7220 746f 2074 6865 2068 a door to the h\n-00013720: 6f75 7365 2c20 7765 2075 7365 2061 2070 ouse, we use a p\n-00013730: 6f6c 7967 6f6e 2073 6c69 6768 746c 7920 olygon slightly \n-00013740: 696e 2066 726f 6e74 206f 6620 7468 650a in front of the.\n-00013750: 666f 7265 6d6f 7374 2066 6163 6520 6f66 foremost face of\n-00013760: 2074 6865 2068 6f75 7365 2e0a 2020 2520 the house.. % \n-00013770: 646f 6f72 0a20 2064 6566 2065 202e 3031 door. def e .01\n-00013780: 0a20 2064 6566 2044 3120 2830 2c2d 312c . def D1 (0,-1,\n-00013790: 312b 6529 2064 6566 2044 3220 282e 352c 1+e) def D2 (.5,\n-000137a0: 2d31 2c31 2b65 2920 6465 6620 4433 2028 -1,1+e) def D3 (\n-000137b0: 2e35 2c30 2c31 2b65 2920 6465 6620 4434 .5,0,1+e) def D4\n-000137c0: 2028 302c 302c 312b 6529 0a4e 6f77 206c (0,0,1+e).Now l\n-000137d0: 6574 2773 2063 7265 6174 6520 6120 6e65 et's create a ne\n-000137e0: 7720 7365 7420 6f66 2070 6f69 6e74 7320 w set of points \n-000137f0: 7468 6174 2061 7265 2061 2074 6f2d 6265 that are a to-be\n-00013800: 2d64 6574 6572 6d69 6e65 640a 7472 616e -determined.tran\n-00013810: 7366 6f72 6d20 6f66 2074 6865 206f 7269 sform of the ori\n-00013820: 6769 6e61 6c73 2e0a 2020 6465 6620 6870 ginals.. def hp\n-00013830: 2073 6361 6c65 2831 2920 2520 686f 7573 scale(1) % hous\n-00013840: 6520 706f 7369 7469 6f6e 6572 0a20 2064 e positioner. d\n-00013850: 6566 2070 5231 205b 5b68 705d 5d2a 2852 ef pR1 [[hp]]*(R\n-00013860: 3129 2064 6566 2070 5232 205b 5b68 705d 1) def pR2 [[hp]\n-00013870: 5d2a 2852 3229 2064 6566 2070 5233 205b ]*(R2) def pR3 [\n-00013880: 5b68 705d 5d2a 2852 3329 0a20 2064 6566 [hp]]*(R3). def\n-00013890: 2070 5234 205b 5b68 705d 5d2a 2852 3429 pR4 [[hp]]*(R4)\n-000138a0: 2064 6566 2070 5235 205b 5b68 705d 5d2a def pR5 [[hp]]*\n-000138b0: 2852 3529 0a20 2064 6566 2070 4c31 205b (R5). def pL1 [\n-000138c0: 5b68 705d 5d2a 284c 3129 2064 6566 2070 [hp]]*(L1) def p\n-000138d0: 4c32 205b 5b68 705d 5d2a 284c 3229 2064 L2 [[hp]]*(L2) d\n-000138e0: 6566 2070 4c33 205b 5b68 705d 5d2a 284c ef pL3 [[hp]]*(L\n-000138f0: 3329 0a20 2064 6566 2070 4c34 205b 5b68 3). def pL4 [[h\n-00013900: 705d 5d2a 284c 3429 2064 6566 2070 4c35 p]]*(L4) def pL5\n-00013910: 205b 5b68 705d 5d2a 284c 3529 0a20 2064 [[hp]]*(L5). d\n-00013920: 6566 2070 4431 205b 5b68 705d 5d2a 2844 ef pD1 [[hp]]*(D\n-00013930: 3129 2064 6566 2070 4432 205b 5b68 705d 1) def pD2 [[hp]\n-00013940: 5d2a 2844 3229 2064 6566 2070 4433 205b ]*(D2) def pD3 [\n-00013950: 5b68 705d 5d2a 2844 3329 0a20 2064 6566 [hp]]*(D3). def\n-00013960: 2070 4434 205b 5b68 705d 5d2a 2844 3429 pD4 [[hp]]*(D4)\n-00013970: 200a 4e6f 7465 2074 6865 2075 7365 206f .Note the use o\n-00013980: 6620 6120 e280 9c74 7261 6e73 666f 726d f a ...transform\n-00013990: 2064 6566 696e 6974 696f 6ee2 809d 2061 definition... a\n-000139a0: 6e64 20e2 809c 7472 616e 7366 6f72 6d20 nd ...transform \n-000139b0: 7265 6665 7265 6e63 6573 e280 9d2e 0a4e references.....N\n-000139c0: 6f77 2064 6566 696e 6520 7468 6520 7365 ow define the se\n-000139d0: 7665 6e20 706f 6c79 676f 6e61 6c20 6661 ven polygonal fa\n-000139e0: 6365 7320 6f66 2074 6865 2068 6f75 7365 ces of the house\n-000139f0: 2061 6e64 2074 6865 2064 6f6f 7220 7573 and the door us\n-00013a00: 696e 6720 7468 650a 7472 616e 7366 6f72 ing the.transfor\n-00013a10: 6d65 6420 706f 696e 7473 2061 7320 7665 med points as ve\n-00013a20: 7274 6963 6573 2e20 2042 6520 6361 7265 rtices. Be care\n-00013a30: 6675 6c20 7769 7468 2076 6572 7465 7820 ful with vertex \n-00013a40: 6f72 6465 7221 0a20 2064 6566 2072 6774 order!. def rgt\n-00013a50: 2070 6f6c 7967 6f6e 2028 7052 3129 2870 polygon (pR1)(p\n-00013a60: 5232 2928 7052 3329 2870 5234 2928 7052 R2)(pR3)(pR4)(pR\n-00013a70: 3529 0a20 2064 6566 206c 6674 2070 6f6c 5). def lft pol\n-00013a80: 7967 6f6e 2028 704c 3529 2870 4c34 2928 ygon (pL5)(pL4)(\n-00013a90: 704c 3329 2870 4c32 2928 704c 3129 0a20 pL3)(pL2)(pL1). \n-00013aa0: 2064 6566 2066 7274 2070 6f6c 7967 6f6e def frt polygon\n-00013ab0: 2028 7052 3229 2870 5231 2928 704c 3129 (pR2)(pR1)(pL1)\n-00013ac0: 2870 4c32 290a 2020 6465 6620 6263 6b20 (pL2). def bck \n-00013ad0: 706f 6c79 676f 6e20 2870 5234 2928 7052 polygon (pR4)(pR\n-00013ae0: 3329 2870 4c33 2928 704c 3429 0a20 2064 3)(pL3)(pL4). d\n-00013af0: 6566 2074 6672 2070 6f6c 7967 6f6e 2028 ef tfr polygon (\n-00013b00: 7052 3129 2870 5235 2928 704c 3529 2870 pR1)(pR5)(pL5)(p\n-00013b10: 4c31 290a 2020 6465 6620 7462 6b20 706f L1). def tbk po\n-00013b20: 6c79 676f 6e20 2870 5235 2928 7052 3429 lygon (pR5)(pR4)\n-00013b30: 2870 4c34 2928 704c 3529 0a20 2064 6566 (pL4)(pL5). def\n-00013b40: 2062 6f74 2070 6f6c 7967 6f6e 2028 7052 bot polygon (pR\n-00013b50: 3229 2870 4c32 2928 704c 3329 2870 5233 2)(pL2)(pL3)(pR3\n-00013b60: 290a 2020 6465 6620 646f 6f72 2070 6f6c ). def door pol\n-00013b70: 7967 6f6e 5b66 696c 6c63 6f6c 6f72 3d62 ygon[fillcolor=b\n-00013b80: 726f 776e 5d20 2870 4431 2928 7044 3229 rown] (pD1)(pD2)\n-00013b90: 2870 4433 2928 7044 3429 0a20 2064 6566 (pD3)(pD4). def\n-00013ba0: 2068 6f75 7365 207b 207b 7267 747d 7b6c house { {rgt}{l\n-00013bb0: 6674 7d7b 6672 747d 7b62 636b 7d7b 7466 ft}{frt}{bck}{tf\n-00013bc0: 727d 7b74 626b 7d7b 626f 747d 7b64 6f6f r}{tbk}{bot}{doo\n-00013bd0: 727d 207d 0a20 2020 5469 6d65 2066 6f72 r} }. Time for\n-00013be0: 2061 2073 616e 6974 7920 6368 6563 6b2e a sanity check.\n-00013bf0: 2020 4164 6420 7468 6520 6c69 6e65 0a20 Add the line. \n-00013c00: 207b 686f 7573 657d 0a61 6e64 2074 6869 {house}.and thi\n-00013c10: 7320 6973 2077 6861 7420 7765 2067 6574 s is what we get\n-00013c20: 2e0a 0a00 085b 696d 6167 6520 7372 633d .....[image src=\n-00013c30: 2265 7831 3330 2e70 6e67 2220 7465 7874 \"ex130.png\" text\n-00013c40: 3d22 496d 6167 6520 6578 3133 3020 6f6d =\"Image ex130 om\n-00013c50: 6974 7465 6420 696e 2074 6578 7420 7665 itted in text ve\n-00013c60: 7273 696f 6e20 6f66 2074 6869 7320 646f rsion of this do\n-00013c70: 6375 6d65 6e74 2e22 0008 5d0a 0a54 6869 cument.\"..]..Thi\n-00013c80: 7320 6973 2063 6f72 7265 6374 2c20 6275 s is correct, bu\n-00013c90: 7420 646f 6573 206e 6f74 2072 6576 6561 t does not revea\n-00013ca0: 6c20 7665 7279 206d 7563 682e 2020 436f l very much. Co\n-00013cb0: 6d6d 6f6e 2065 7272 6f72 7320 6172 650a mmon errors are.\n-00013cc0: 6d69 7370 6c61 6365 6420 7665 7274 6963 misplaced vertic\n-00013cd0: 6573 2061 6e64 2070 6f6c 7967 6f6e 7320 es and polygons \n-00013ce0: 6d69 7373 696e 6720 656e 7469 7265 6c79 missing entirely\n-00013cf0: 2064 7565 2074 6f20 696e 636f 7272 6563 due to incorrec\n-00013d00: 7420 7665 7274 6578 0a6f 7264 6572 2e20 t vertex.order. \n-00013d10: 2054 6f20 7275 6c65 2074 6865 7365 206f To rule these o\n-00013d20: 7574 2c20 6c65 7427 7320 696e 7370 6563 ut, let's inspec\n-00013d30: 7420 616c 6c20 7369 6465 7320 6f66 2074 t all sides of t\n-00013d40: 6865 2068 6f75 7365 2e20 2054 6869 730a he house. This.\n-00013d50: 6973 206e 6f74 2068 6172 642e 2020 4d65 is not hard. Me\n-00013d60: 7265 6c79 2072 6570 6c61 6365 2074 6865 rely replace the\n-00013d70: 2072 6566 6572 656e 6365 207b 686f 7573 reference {hous\n-00013d80: 657d 2077 6974 6820 6120 e280 9872 6570 e} with a ...rep\n-00013d90: 6561 74e2 8099 2e0a 2a4e 6f74 6520 5265 eat.....*Note Re\n-00013da0: 7065 6174 733a 3a2e 0a20 2072 6570 6561 peats::.. repea\n-00013db0: 7420 7b20 3133 2c20 726f 7461 7465 2833 t { 13, rotate(3\n-00013dc0: 302c 205b 312c 322c 335d 292c 2074 7261 0, [1,2,3]), tra\n-00013dd0: 6e73 6c61 7465 285b 332c 302c 305d 2920 nslate([3,0,0]) \n-00013de0: 7d20 7b68 6f75 7365 7d0a 0008 5b69 6d61 } {house}...[ima\n-00013df0: 6765 2073 7263 3d22 6578 3134 302e 706e ge src=\"ex140.pn\n-00013e00: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n-00013e10: 7831 3430 206f 6d69 7474 6564 2069 6e20 x140 omitted in \n-00013e20: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n-00013e30: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n-00013e40: 085d 0a0a 4167 6169 6e20 7468 696e 6773 .]..Again things\n-00013e50: 206c 6f6f 6b20 636f 7272 6563 742e 2020 look correct. \n-00013e60: 4e6f 7465 2074 6861 7420 7468 6520 6869 Note that the hi\n-00013e70: 6464 656e 2073 7572 6661 6365 2061 6c67 dden surface alg\n-00013e80: 6f72 6974 686d 0a68 616e 646c 6573 2069 orithm.handles i\n-00013e90: 6e74 6572 7365 6374 696e 6720 706f 6c79 ntersecting poly\n-00013ea0: 676f 6e73 2063 6f72 7265 6374 6c79 2077 gons correctly w\n-00013eb0: 6865 7265 2073 6f6d 6520 636f 7069 6573 here some copies\n-00013ec0: 206f 6620 7468 6520 686f 7573 650a 6f76 of the house.ov\n-00013ed0: 6572 6c61 702e 0a0a 2020 204c 6574 2773 erlap... Let's\n-00013ee0: 206c 6179 206f 7574 2074 6865 2067 656f lay out the geo\n-00013ef0: 6d65 7472 7920 6f66 2070 6572 7370 6563 metry of perspec\n-00013f00: 7469 7665 2070 726f 6a65 6374 696f 6e20 tive projection \n-00013f10: 6f66 2074 6865 2068 6f75 7365 0a6f 6e74 of the house.ont\n-00013f20: 6f20 6120 706c 616e 6520 7769 7468 2072 o a plane with r\n-00013f30: 6179 7320 7061 7373 696e 6720 7468 726f ays passing thro\n-00013f40: 7567 6820 7468 6520 6f72 6967 696e 2e20 ugh the origin. \n-00013f50: 2042 6567 696e 2062 7920 706f 7369 7469 Begin by positi\n-00013f60: 6f6e 696e 670a 7468 6520 686f 7573 6520 oning.the house \n-00013f70: 7477 656c 7665 2075 6e69 7473 2062 6163 twelve units bac\n-00013f80: 6b20 6f6e 2074 6865 206e 6567 6174 6976 k on the negativ\n-00013f90: 6520 7a2d 6178 6973 2061 6e64 2061 6464 e z-axis and add\n-00013fa0: 696e 6720 6120 7365 7420 6f66 0a63 6f6f ing a set of.coo\n-00013fb0: 7264 696e 6174 6520 6178 6573 2e20 2054 rdinate axes. T\n-00013fc0: 6f20 6d6f 7665 2074 6865 2068 6f75 7365 o move the house\n-00013fd0: 2077 6520 6e65 6564 206f 6e6c 7920 6368 we need only ch\n-00013fe0: 616e 6765 2074 6865 2022 686f 7573 650a ange the \"house.\n-00013ff0: 706f 7369 7469 6f6e 696e 6722 2074 7261 positioning\" tra\n-00014000: 6e73 666f 726d 2064 6566 696e 6564 2065 nsform defined e\n-00014010: 6172 6c69 6572 2e0a 2020 6465 6620 6870 arlier.. def hp\n-00014020: 2072 6f74 6174 6528 2d34 302c 205b 302c rotate(-40, [0,\n-00014030: 312c 305d 2920 7468 656e 2074 7261 6e73 1,0]) then trans\n-00014040: 6c61 7465 285b 302c 302c 2d31 325d 290a late([0,0,-12]).\n-00014050: 2020 6465 6620 6178 6573 207b 0a20 2020 def axes {. \n-00014060: 2064 6566 2073 7a20 310a 2020 2020 6c69 def sz 1. li\n-00014070: 6e65 205b 6172 726f 7773 3d3c 2d3e 5d20 ne [arrows=<->] \n-00014080: 2873 7a2c 302c 3029 284f 2928 302c 737a (sz,0,0)(O)(0,sz\n-00014090: 2c30 290a 2020 2020 6c69 6e65 205b 6172 ,0). line [ar\n-000140a0: 726f 7773 3d2d 3e5d 2020 284f 2928 302c rows=->] (O)(0,\n-000140b0: 302c 737a 290a 2020 2020 6c69 6e65 205b 0,sz). line [\n-000140c0: 6c69 6e65 7769 6474 683d 2e32 7074 2c6c linewidth=.2pt,l\n-000140d0: 696e 6563 6f6c 6f72 3d62 6c75 652c 6c69 inecolor=blue,li\n-000140e0: 6e65 7374 796c 653d 6461 7368 6564 5d20 nestyle=dashed] \n-000140f0: 284f 2928 302c 302c 2d31 3029 0a20 2020 (O)(0,0,-10). \n-00014100: 2073 7065 6369 616c 207c 5c75 7075 745b special |\\uput[\n-00014110: 725d 2331 7b24 7824 7d5c 7570 7574 5b75 r]#1{$x$}\\uput[u\n-00014120: 5d23 327b 2479 247d 5c75 7075 745b 6c5d ]#2{$y$}\\uput[l]\n-00014130: 2333 7b24 7a24 7d7c 0a20 2020 2020 2028 #3{$z$}|. (\n-00014140: 737a 2c30 2c30 2928 302c 737a 2c30 2928 sz,0,0)(0,sz,0)(\n-00014150: 302c 302c 737a 290a 2020 7d0a 0a20 2020 0,0,sz). }.. \n-00014160: 5469 6d65 2066 6f72 2061 6e6f 7468 6572 Time for another\n-00014170: 2074 6573 742e 2020 4c65 7427 7320 6275 test. Let's bu\n-00014180: 696c 6420 6120 7265 616c 2076 6965 7720 ild a real view \n-00014190: 7472 616e 7366 6f72 6d2c 2063 7265 6174 transform, creat\n-000141a0: 696e 6720 610a e280 9c76 6972 7475 616c ing a....virtual\n-000141b0: 2063 616d 6572 61e2 809d 2074 6f20 6c6f camera... to lo\n-000141c0: 6f6b 2061 7420 7468 6520 7363 656e 6520 ok at the scene \n-000141d0: 7765 2061 7265 2063 6f6e 7374 7275 6374 we are construct\n-000141e0: 696e 672e 2020 5265 706c 6163 6520 7468 ing. Replace th\n-000141f0: 650a e280 9872 6570 6561 74e2 8099 2077 e....repeat... w\n-00014200: 6974 680a 2020 6465 6620 6579 6520 2831 ith. def eye (1\n-00014210: 302c 342c 3130 290a 2020 6465 6620 6c6f 0,4,10). def lo\n-00014220: 6f6b 5f61 7420 2830 2c30 2c2d 3529 0a20 ok_at (0,0,-5). \n-00014230: 2070 7574 207b 2076 6965 7728 2865 7965 put { view((eye\n-00014240: 292c 2028 6c6f 6f6b 5f61 7429 2920 7d20 ), (look_at)) } \n-00014250: 7b20 7b68 6f75 7365 7d7b 6178 6573 7d20 { {house}{axes} \n-00014260: 7d0a 2020 2054 6865 20e2 809c 7669 6577 }. The ...view\n-00014270: 2074 7261 6e73 666f 726d e280 9d20 7265 transform... re\n-00014280: 706f 7369 7469 6f6e 7320 7468 6520 7363 positions the sc\n-00014290: 656e 6520 736f 2074 6861 7420 7468 6520 ene so that the \n-000142a0: 706f 696e 7420 e280 9865 7965 e280 9920 point ...eye... \n-000142b0: 6973 0a61 7420 7468 6520 6f72 6967 696e is.at the origin\n-000142c0: 2061 6e64 2074 6865 2064 6972 6563 7469 and the directi\n-000142d0: 6f6e 2066 726f 6d20 e280 9865 7965 e280 on from ...eye..\n-000142e0: 9920 746f 20e2 8098 6c6f 6f6b 5f61 74e2 . to ...look_at.\n-000142f0: 8099 2069 7320 7468 6520 6e65 6761 7469 .. is the negati\n-00014300: 7665 0a7a 2d61 7869 732e 2020 5468 6973 ve.z-axis. This\n-00014310: 2072 6571 7569 7265 7320 6120 726f 7461 requires a rota\n-00014320: 7469 6f6e 2061 6e64 2061 2074 7261 6e73 tion and a trans\n-00014330: 6c61 7469 6f6e 2074 6861 7420 6172 6520 lation that are \n-00014340: 616c 6c20 7061 636b 6564 0a69 6e74 6f20 all packed.into \n-00014350: 7468 6520 636f 6e73 7472 7563 746f 7220 the constructor \n-00014360: e280 9876 6965 77e2 8099 2e0a 0a00 085b ...view........[\n-00014370: 696d 6167 6520 7372 633d 2265 7831 3530 image src=\"ex150\n-00014380: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png\" text=\"Imag\n-00014390: 6520 6578 3135 3020 6f6d 6974 7465 6420 e ex150 omitted \n-000143a0: 696e 2074 6578 7420 7665 7273 696f 6e20 in text version \n-000143b0: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document\n-000143c0: 2e22 0008 5d0a 0a54 6869 7320 6973 2073 .\"..]..This is s\n-000143d0: 7461 7274 696e 6720 746f 206c 6f6f 6b20 tarting to look \n-000143e0: 676f 6f64 2120 2041 6464 2074 6865 2070 good! Add the p\n-000143f0: 726f 6a65 6374 696f 6e20 706c 616e 6520 rojection plane \n-00014400: 6861 6c66 2077 6179 0a62 6574 7765 656e half way.between\n-00014410: 2074 6865 206f 7269 6769 6e20 616e 6420 the origin and \n-00014420: 7468 6520 686f 7573 6520 6174 207a 3d2d the house at z=-\n-00014430: 352e 2020 5765 276c 6c20 7472 7920 7468 5. We'll try th\n-00014440: 6520 616e 676c 6520 6172 6775 6d65 6e74 e angle argument\n-00014450: 0a66 6561 7475 7265 206f 6620 e280 9873 .feature of ...s\n-00014460: 7065 6369 616c e280 9920 746f 2070 6f73 pecial... to pos\n-00014470: 6974 696f 6e20 6120 6c61 6265 6c2e 0a20 ition a label.. \n-00014480: 2064 6566 2070 2035 2025 2070 726f 6a65 def p 5 % proje\n-00014490: 6374 696f 6e20 6469 7374 616e 6365 2028 ction distance (\n-000144a0: 706c 616e 6520 6174 207a 3d2d 7029 0a20 plane at z=-p). \n-000144b0: 2064 6566 2070 726f 6a65 6374 696f 6e5f def projection_\n-000144c0: 706c 616e 6520 7b0a 2020 2020 6465 6620 plane {. def \n-000144d0: 737a 2031 2e35 0a20 2020 2070 6f6c 7967 sz 1.5. polyg\n-000144e0: 6f6e 2028 2d73 7a2c 2d73 7a2c 2d70 2928 on (-sz,-sz,-p)(\n-000144f0: 737a 2c2d 737a 2c2d 7029 2873 7a2c 737a sz,-sz,-p)(sz,sz\n-00014500: 2c2d 7029 282d 737a 2c73 7a2c 2d70 290a ,-p)(-sz,sz,-p).\n-00014510: 2020 2020 7370 6563 6961 6c20 7c5c 7270 special |\\rp\n-00014520: 7574 5b62 5d23 312d 3223 337b 5c66 6f6f ut[b]#1-2#3{\\foo\n-00014530: 746e 6f74 6573 697a 655c 7366 2070 726f tnotesize\\sf pro\n-00014540: 6a65 6374 696f 6e20 706c 616e 657d 7c20 jection plane}| \n-00014550: 0a20 2020 2020 2028 2d73 7a2c 2d73 7a2c . (-sz,-sz,\n-00014560: 2d70 2928 737a 2c2d 737a 2c2d 7029 2830 -p)(sz,-sz,-p)(0\n-00014570: 2c2d 737a 2b2e 312c 2d70 290a 2020 7d0a ,-sz+.1,-p). }.\n-00014580: 4164 6420 7b70 726f 6a65 6374 696f 6e5f Add {projection_\n-00014590: 706c 616e 657d 2074 6f20 7468 6520 6c69 plane} to the li\n-000145a0: 7374 206f 6620 6f62 6a65 6374 7320 696e st of objects in\n-000145b0: 2074 6865 20e2 8098 7075 74e2 8099 2061 the ...put... a\n-000145c0: 626f 7665 2e0a 0a00 085b 696d 6167 6520 bove.....[image \n-000145d0: 7372 633d 2265 7831 3630 2e70 6e67 2220 src=\"ex160.png\" \n-000145e0: 7465 7874 3d22 496d 6167 6520 6578 3136 text=\"Image ex16\n-000145f0: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex\n-00014600: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi\n-00014610: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document.\"..].\n-00014620: 0a20 2020 5468 6520 7761 7920 7765 2063 . The way we c\n-00014630: 6f6e 7374 7275 6374 6564 2074 6865 2070 onstructed the p\n-00014640: 6f69 6e74 7320 6f66 2074 6865 2068 6f75 oints of the hou\n-00014650: 7365 206e 6f77 206d 616b 6573 2069 7420 se now makes it \n-00014660: 6561 7379 2074 6f0a 6472 6177 2072 6179 easy to.draw ray\n-00014670: 7320 6f66 2070 726f 6a65 6374 696f 6e2e s of projection.\n-00014680: 2020 5765 276c 6c20 6361 7374 206f 6e65 We'll cast one\n-00014690: 2072 6179 2066 726f 6d20 6576 6572 7920 ray from every \n-000146a0: 7669 7369 626c 6520 7665 7274 6578 0a6f visible vertex.o\n-000146b0: 6620 7468 6520 686f 7573 6520 616e 6420 f the house and \n-000146c0: 6465 6669 6e65 206f 7074 696f 6e73 2073 define options s\n-000146d0: 6f20 7468 6520 6170 7065 6172 616e 6365 o the appearance\n-000146e0: 206f 6620 616c 6c20 7261 7973 2063 616e of all rays can\n-000146f0: 2062 650a 6368 616e 6765 6420 6174 2074 be.changed at t\n-00014700: 6865 2073 616d 6520 7469 6d65 2e0a 2020 he same time.. \n-00014710: 6465 6620 7072 6f6a 6563 7469 6f6e 5f72 def projection_r\n-00014720: 6179 7320 7b0a 2020 2020 6465 6620 7261 ays {. def ra\n-00014730: 796f 7074 205b 6c69 6e65 7769 6474 683d yopt [linewidth=\n-00014740: 2e33 7074 2c6c 696e 6563 6f6c 6f72 3d6c .3pt,linecolor=l\n-00014750: 6967 6874 6772 6179 5d0a 2020 2020 6c69 ightgray]. li\n-00014760: 6e65 205b 7261 796f 7074 5d28 4f29 2870 ne [rayopt](O)(p\n-00014770: 5231 2920 6c69 6e65 205b 7261 796f 7074 R1) line [rayopt\n-00014780: 5d28 4f29 2870 5232 2920 6c69 6e65 5b72 ](O)(pR2) line[r\n-00014790: 6179 6f70 745d 284f 2928 7052 3329 0a20 ayopt](O)(pR3). \n-000147a0: 2020 206c 696e 6520 5b72 6179 6f70 745d line [rayopt]\n-000147b0: 284f 2928 7052 3429 206c 696e 6520 5b72 (O)(pR4) line [r\n-000147c0: 6179 6f70 745d 284f 2928 7052 3529 0a20 ayopt](O)(pR5). \n-000147d0: 2020 206c 696e 6520 5b72 6179 6f70 745d line [rayopt]\n-000147e0: 284f 2928 704c 3129 206c 696e 6520 5b72 (O)(pL1) line [r\n-000147f0: 6179 6f70 745d 284f 2928 704c 3229 206c ayopt](O)(pL2) l\n-00014800: 696e 655b 7261 796f 7074 5d28 4f29 2870 ine[rayopt](O)(p\n-00014810: 4c35 290a 2020 2020 6c69 6e65 205b 7261 L5). line [ra\n-00014820: 796f 7074 5d28 4f29 2870 4431 2920 6c69 yopt](O)(pD1) li\n-00014830: 6e65 205b 7261 796f 7074 5d28 4f29 2870 ne [rayopt](O)(p\n-00014840: 4432 2920 0a20 2020 206c 696e 6520 5b72 D2) . line [r\n-00014850: 6179 6f70 745d 284f 2928 7044 3329 206c ayopt](O)(pD3) l\n-00014860: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)(\n-00014870: 7044 3429 200a 2020 7d0a 5468 6520 7265 pD4) . }.The re\n-00014880: 7375 6c74 2069 7320 7368 6f77 6e20 6865 sult is shown he\n-00014890: 7265 2e0a 0a00 085b 696d 6167 6520 7372 re.....[image sr\n-000148a0: 633d 2265 7831 3730 2e70 6e67 2220 7465 c=\"ex170.png\" te\n-000148b0: 7874 3d22 496d 6167 6520 6578 3137 3020 xt=\"Image ex170 \n-000148c0: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text \n-000148d0: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this \n-000148e0: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a54 document.\"..]..T\n-000148f0: 6865 2072 6179 7320 7069 6572 6365 2074 he rays pierce t\n-00014900: 6865 2070 726f 6a65 6374 696f 6e20 706c he projection pl\n-00014910: 616e 6520 6174 2074 6865 2063 6f72 7265 ane at the corre\n-00014920: 7370 6f6e 6469 6e67 2070 6f69 6e74 7320 sponding points \n-00014930: 6f6e 2074 6865 0a70 6572 7370 6563 7469 on the.perspecti\n-00014940: 7665 2069 6d61 6765 2077 6520 6172 6520 ve image we are \n-00014950: 7472 7969 6e67 2074 6f20 6472 6177 2e20 trying to draw. \n-00014960: 2041 6c62 7265 6368 7420 44c3 bc72 6572 Albrecht D..rer\n-00014970: 2061 6e64 2068 6973 0a52 656e 6169 7373 and his.Renaiss\n-00014980: 616e 6365 2063 6f6e 7465 6d70 6f72 6172 ance contemporar\n-00014990: 6965 7320 6861 6420 7468 6520 7361 6d65 ies had the same\n-000149a0: 2069 6465 6120 696e 2074 6865 2065 6172 idea in the ear\n-000149b0: 6c79 2031 3530 3027 732e 0a0a 0008 5b69 ly 1500's.....[i\n-000149c0: 6d61 6765 2073 7263 3d22 6475 6572 6572 mage src=\"duerer\n-000149d0: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png\" text=\"Imag\n-000149e0: 6520 6f66 2044 7565 7265 7227 7320 7065 e of Duerer's pe\n-000149f0: 7273 7065 6374 6976 6520 636f 6d70 7574 rspective comput\n-00014a00: 6572 206f 6d69 7474 6564 2069 6e20 7465 er omitted in te\n-00014a10: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th\n-00014a20: 6973 2064 6f63 756d 656e 742e 2200 085d is document.\"..]\n-00014a30: 0a0a 2020 2041 6c6c 2074 6861 7427 7320 .. All that's \n-00014a40: 6c65 6674 2069 7320 746f 2066 696e 6420 left is to find \n-00014a50: 6120 7761 7920 746f 2063 6f6e 6e65 6374 a way to connect\n-00014a60: 2074 6865 2070 6f69 6e74 7320 6f66 2074 the points of t\n-00014a70: 6865 2068 6f75 7365 0a6f 6e20 7468 6520 he house.on the \n-00014a80: 7072 6f6a 6563 7469 6f6e 2070 6c61 6e65 projection plane\n-00014a90: 2e20 2057 6520 636f 756c 6420 7075 6c6c . We could pull\n-00014aa0: 206f 7574 2061 2067 6f6f 6420 636f 6d70 out a good comp\n-00014ab0: 7574 6572 2067 7261 7068 6963 730a 7465 uter graphics.te\n-00014ac0: 7874 2c20 6669 6e64 2074 6865 206e 6563 xt, find the nec\n-00014ad0: 6573 7361 7279 206d 6174 7269 782c 2061 essary matrix, a\n-00014ae0: 6e64 2065 6e74 6572 2069 7420 6f75 7273 nd enter it ours\n-00014af0: 656c 7665 7320 6173 2061 2074 7261 6e73 elves as a trans\n-00014b00: 666f 726d 0a6c 6974 6572 616c 2e20 202a form.literal. *\n-00014b10: 4e6f 7465 2054 7261 6e73 666f 726d 206c Note Transform l\n-00014b20: 6974 6572 616c 733a 3a2e 2020 5468 6174 iterals::. That\n-00014b30: 2077 6f72 6b20 6973 2061 6c72 6561 6479 work is already\n-00014b40: 2064 6f6e 652c 0a68 6f77 6576 6572 2e20 done,.however. \n-00014b50: 2057 6520 6361 6e20 7573 6520 7468 6520 We can use the \n-00014b60: e280 9870 726f 6a65 6374 2870 29e2 8099 ...project(p)...\n-00014b70: 2063 6f6e 7374 7275 6374 6f72 2e0a 0a20 constructor... \n-00014b80: 2020 5468 6572 6520 6172 6520 7374 696c There are stil\n-00014b90: 6c20 736f 6d65 2064 6574 6169 6c73 2074 l some details t\n-00014ba0: 6861 7420 7265 7175 6972 6520 6361 7265 hat require care\n-00014bb0: 2e20 2050 726f 6a65 6374 696f 6e20 7769 . Projection wi\n-00014bc0: 6c6c 0a66 6c61 7474 656e 2077 6861 7465 ll.flatten whate\n-00014bd0: 7665 7220 6973 2074 7261 6e73 666f 726d ver is transform\n-00014be0: 6564 206f 6e74 6f20 7468 6520 706c 616e ed onto the plan\n-00014bf0: 6520 7a3d 2d70 2e20 2054 6865 7265 666f e z=-p. Therefo\n-00014c00: 7265 2061 6e79 2070 6172 740a 6f66 2074 re any part.of t\n-00014c10: 6865 2068 6f75 7365 2063 6f75 6c64 2064 he house could d\n-00014c20: 6973 6170 7065 6172 2062 6568 696e 6420 isappear behind \n-00014c30: 7468 6520 7072 6f6a 6563 7469 6f6e 2070 the projection p\n-00014c40: 6c61 6e65 2028 7468 6520 6869 6464 656e lane (the hidden\n-00014c50: 0a73 7572 6661 6365 2061 6c67 6f72 6974 .surface algorit\n-00014c60: 686d 206f 7264 6572 7320 6f62 6a65 6374 hm orders object\n-00014c70: 7320 6174 2074 6865 2073 616d 6520 6465 s at the same de\n-00014c80: 7074 6820 6172 6269 7472 6172 696c 7929 pth arbitrarily)\n-00014c90: 2e20 2054 6865 0a64 6f6f 7220 6d61 7920 . The.door may \n-00014ca0: 616c 736f 2064 6973 6170 7065 6172 2062 also disappear b\n-00014cb0: 6568 696e 6420 7468 6520 6672 6f6e 7420 ehind the front \n-00014cc0: 6f66 2074 6865 2068 6f75 7365 2e20 2054 of the house. T\n-00014cd0: 6f20 6d61 6b65 2073 7572 650a 6576 6572 o make sure.ever\n-00014ce0: 7974 6869 6e67 2072 656d 6169 6e73 2076 ything remains v\n-00014cf0: 6973 6962 6c65 2c20 7765 276c 6c20 706c isible, we'll pl\n-00014d00: 6163 6520 7468 6520 686f 7573 6520 6120 ace the house a \n-00014d10: 7469 6e79 2062 6974 2069 6e20 6672 6f6e tiny bit in fron\n-00014d20: 7420 6f66 0a74 6865 2070 726f 6a65 6374 t of.the project\n-00014d30: 696f 6e20 706c 616e 6520 616e 6420 6120 ion plane and a \n-00014d40: 7365 636f 6e64 2063 6f70 7920 6f66 2074 second copy of t\n-00014d50: 6865 2064 6f6f 7220 696e 2066 726f 6e74 he door in front\n-00014d60: 206f 6620 7468 650a 686f 7573 652e 0a20 of the.house.. \n-00014d70: 2064 6566 2070 726f 6a65 6374 696f 6e20 def projection \n-00014d80: 7b0a 2020 2020 2520 6520 6973 2061 2073 {. % e is a s\n-00014d90: 6d61 6c6c 206e 756d 6265 7220 6465 6669 mall number defi\n-00014da0: 6e65 6420 6162 6f76 650a 2020 2020 7075 ned above. pu\n-00014db0: 7420 7b20 7072 6f6a 6563 7428 7029 2074 t { project(p) t\n-00014dc0: 6865 6e20 7472 616e 736c 6174 6528 5b30 hen translate([0\n-00014dd0: 2c30 2c31 2a65 5d29 207d 207b 686f 7573 ,0,1*e]) } {hous\n-00014de0: 657d 0a20 2020 2070 7574 207b 2070 726f e}. put { pro\n-00014df0: 6a65 6374 2870 2920 7468 656e 2074 7261 ject(p) then tra\n-00014e00: 6e73 6c61 7465 285b 302c 302c 322a 655d nslate([0,0,2*e]\n-00014e10: 2920 7d20 7b64 6f6f 727d 0a20 207d 0a0a ) } {door}. }..\n-00014e20: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n-00014e30: 3138 302e 706e 6722 2074 6578 743d 2249 180.png\" text=\"I\n-00014e40: 6d61 6765 2065 7831 3830 206f 6d69 7474 mage ex180 omitt\n-00014e50: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n-00014e60: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n-00014e70: 656e 742e 2200 085d 0a0a 2020 2049 6620 ent.\"..].. If \n-00014e80: 796f 7520 6861 7665 2073 7475 6469 6564 you have studied\n-00014e90: 2061 6e64 2075 6e64 6572 7374 616e 6420 and understand \n-00014ea0: 616c 6c20 7468 6973 2c20 796f 7520 6172 all this, you ar\n-00014eb0: 6520 7765 6c6c 206f 6e20 7468 6520 7761 e well on the wa\n-00014ec0: 790a 746f 2073 7563 6365 7373 2077 6974 y.to success wit\n-00014ed0: 6820 e280 9873 6b65 7463 68e2 8099 2e20 h ...sketch.... \n-00014ee0: 204e 6f74 2073 686f 776e 2061 7265 2074 Not shown are t\n-00014ef0: 6865 2032 3020 6f72 2073 6f20 6974 6572 he 20 or so iter\n-00014f00: 6174 696f 6e73 2074 6861 740a 7765 7265 ations that.were\n-00014f10: 2072 6571 7569 7265 6420 746f 2066 696e required to fin\n-00014f20: 6420 6120 7265 6173 6f6e 6162 6c65 2076 d a reasonable v\n-00014f30: 6965 7769 6e67 2061 6e67 6c65 2061 6e64 iewing angle and\n-00014f40: 2068 6f75 7365 2070 6f73 6974 696f 6e2c house position,\n-00014f50: 0a65 7463 2e20 204e 6f6e 6574 6865 6c65 .etc. Nonethele\n-00014f60: 7373 2c20 7468 6973 2064 7261 7769 6e67 ss, this drawing\n-00014f70: 2077 6173 2063 6f6d 706c 6574 6564 2069 was completed i\n-00014f80: 6e20 6162 6f75 7420 616e 2068 6f75 722e n about an hour.\n-00014f90: 2020 5768 696c 6520 610a 4755 4920 746f While a.GUI to\n-00014fa0: 6f6c 206d 6179 2068 6176 6520 6265 656e ol may have been\n-00014fb0: 2061 206c 6974 746c 6520 6661 7374 6572 a little faster\n-00014fc0: 2c20 6974 2069 7320 756e 6c69 6b65 6c79 , it is unlikely\n-00014fd0: 2074 6861 7420 6120 6e65 770a 6472 6177 that a new.draw\n-00014fe0: 696e 672c 2069 7473 656c 6620 6120 7065 ing, itself a pe\n-00014ff0: 7273 7065 6374 6976 6520 7072 6f6a 6563 rspective projec\n-00015000: 7469 6f6e 206f 6620 7468 6520 7363 656e tion of the scen\n-00015010: 652c 2063 6f75 6c64 2062 650a 6765 6e65 e, could be.gene\n-00015020: 7261 7465 6420 7769 7468 2074 776f 206d rated with two m\n-00015030: 6f72 6520 6d69 6e75 7465 7327 2077 6f72 ore minutes' wor\n-00015040: 6b21 2020 4a75 7374 2063 6861 6e67 6520 k! Just change \n-00015050: 7468 6520 7669 6577 2074 7261 6e73 666f the view transfo\n-00015060: 726d 0a74 6f0a 2020 7075 7420 7b20 7669 rm.to. put { vi\n-00015070: 6577 2828 6579 6529 2c20 286c 6f6f 6b5f ew((eye), (look_\n-00015080: 6174 2929 2074 6865 6e20 7065 7273 7065 at)) then perspe\n-00015090: 6374 6976 6528 3929 207d 207b 202e 2e2e ctive(9) } { ...\n-000150a0: 0a61 6e64 2070 726f 6475 6365 2074 6869 .and produce thi\n-000150b0: 732e 0a0a 0008 5b69 6d61 6765 2073 7263 s.....[image src\n-000150c0: 3d22 6578 3139 302e 706e 6722 2074 6578 =\"ex190.png\" tex\n-000150d0: 743d 2249 6d61 6765 2065 7831 3930 206f t=\"Image ex190 o\n-000150e0: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n-000150f0: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n-00015100: 6f63 756d 656e 742e 2200 085d 0a0a 1f0a ocument.\"..]....\n-00015110: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n-00015120: 6f2c 2020 4e6f 6465 3a20 4120 7465 6368 o, Node: A tech\n-00015130: 6e69 6361 6c20 6472 6177 696e 672c 2020 nical drawing, \n-00015140: 4e65 7874 3a20 4120 6869 6572 6172 6368 Next: A hierarch\n-00015150: 6963 616c 206d 6f64 656c 2c20 2050 7265 ical model, Pre\n-00015160: 763a 204f 7665 7276 6965 772c 2020 5570 v: Overview, Up\n-00015170: 3a20 4275 696c 6469 6e67 2061 2064 7261 : Building a dra\n-00015180: 7769 6e67 0a0a 342e 3220 4120 7465 6368 wing..4.2 A tech\n-00015190: 6e69 6361 6c20 6472 6177 696e 670a 3d3d nical drawing.==\n-000151a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-000151b0: 3d3d 3d3d 3d0a 0a4c 6574 2773 206c 6f6f =====..Let's loo\n-000151c0: 6b20 6174 2061 2064 7261 7769 6e67 2074 k at a drawing t\n-000151d0: 6861 7420 7265 7072 6573 656e 7473 2074 hat represents t\n-000151e0: 6865 206b 696e 6420 6f66 2070 726f 626c he kind of probl\n-000151f0: 656d 20e2 8098 736b 6574 6368 e280 9920 em ...sketch... \n-00015200: 7761 730a 6d65 616e 7420 746f 2073 6f6c was.meant to sol\n-00015210: 7665 2d2d 6120 7061 6972 206f 6620 7465 ve--a pair of te\n-00015220: 7874 626f 6f6b 2066 6967 7572 6573 2072 xtbook figures r\n-00015230: 6567 6172 6469 6e67 2061 2070 6f6c 7967 egarding a polyg\n-00015240: 6f6e 616c 0a61 7070 726f 7869 6d61 7469 onal.approximati\n-00015250: 6f6e 206f 6620 6120 7472 756e 6361 7465 on of a truncate\n-00015260: 6420 636f 6e65 2e20 2048 6572 6520 6172 d cone. Here ar\n-00015270: 6520 7468 6520 7069 6374 7572 6573 2077 e the pictures w\n-00015280: 6520 7769 6c6c 0a70 726f 6475 6365 2e0a e will.produce..\n-00015290: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n-000152a0: 7832 3530 2e70 6e67 2220 7465 7874 3d22 x250.png\" text=\"\n-000152b0: 496d 6167 6520 6578 3235 3020 6f6d 6974 Image ex250 omit\n-000152c0: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n-000152d0: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n-000152e0: 6d65 6e74 2e22 0008 5d20 2020 2020 0008 ment.\"..] ..\n-000152f0: 5b69 6d61 6765 2073 7263 3d22 6578 3236 [image src=\"ex26\n-00015300: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png\" text=\"Ima\n-00015310: 6765 2065 7832 3630 206f 6d69 7474 6564 ge ex260 omitted\n-00015320: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n-00015330: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n-00015340: 742e 2200 085d 0a0a 2020 2054 6865 2063 t.\"..].. The c\n-00015350: 6f6e 6520 7368 6170 6520 6973 206a 7573 one shape is jus\n-00015360: 7420 6120 7377 6570 7420 6c69 6e65 2077 t a swept line w\n-00015370: 6974 6820 6e6f 2063 6c6f 7375 7265 2074 ith no closure t\n-00015380: 6167 2061 6e64 2063 756c 6c69 6e67 0a74 ag and culling.t\n-00015390: 7572 6e65 6420 6f66 662e 2020 4265 6769 urned off. Begi\n-000153a0: 6e20 6279 2073 6574 7469 6e67 2075 7020 n by setting up \n-000153b0: 736f 6d65 2075 7365 6675 6c20 636f 6e73 some useful cons\n-000153c0: 7461 6e74 732e 0a20 2064 6566 204f 2028 tants.. def O (\n-000153d0: 302c 302c 3029 2064 6566 2049 205b 312c 0,0,0) def I [1,\n-000153e0: 302c 305d 2064 6566 204a 205b 302c 312c 0,0] def J [0,1,\n-000153f0: 305d 2064 6566 204b 205b 302c 302c 315d 0] def K [0,0,1]\n-00015400: 0a20 2064 6566 2070 3020 2831 2c32 2920 . def p0 (1,2) \n-00015410: 6465 6620 7031 2028 312e 352c 3029 2064 def p1 (1.5,0) d\n-00015420: 6566 204e 2038 0a20 2064 6566 2073 6567 ef N 8. def seg\n-00015430: 5f72 6f74 2072 6f74 6174 6528 3336 3020 _rot rotate(360 \n-00015440: 2f20 4e2c 205b 4a5d 290a 5468 6520 706f / N, [J]).The po\n-00015450: 696e 7473 20e2 8098 7030 e280 9920 616e ints ...p0... an\n-00015460: 6420 e280 9870 31e2 8099 2061 7265 2074 d ...p1... are t\n-00015470: 6865 2065 6e64 2070 6f69 6e74 7320 6f66 he end points of\n-00015480: 2074 6865 206c 696e 6520 746f 2062 6520 the line to be \n-00015490: 7377 6570 742e 0a54 6865 2064 6566 696e swept..The defin\n-000154a0: 6974 696f 6e20 e280 9873 6567 5f72 6f74 ition ...seg_rot\n-000154b0: e280 9920 6973 2074 6865 2073 7765 6570 ... is the sweep\n-000154c0: 2074 7261 6e73 666f 726d 6174 696f 6e2e transformation.\n-000154d0: 2020 5769 7468 2074 6865 7365 2c20 7468 With these, th\n-000154e0: 650a 636f 6e65 2069 7473 656c 6620 6973 e.cone itself is\n-000154f0: 2073 696d 706c 652e 0a20 2073 7765 6570 simple.. sweep\n-00015500: 5b63 756c 6c3d 6661 6c73 655d 207b 204e [cull=false] { N\n-00015510: 2c20 5b5b 7365 675f 726f 745d 5d20 7d20 , [[seg_rot]] } \n-00015520: 6c69 6e65 2870 3029 2870 3129 0a0a 2020 line(p0)(p1).. \n-00015530: 2054 6865 2061 7865 7320 6172 6520 6e65 The axes are ne\n-00015540: 7874 2061 6e64 2069 6e63 6c75 6465 2061 xt and include a\n-00015550: 6e20 696e 7465 7265 7369 6e67 2074 7269 n interesing tri\n-00015560: 636b 2074 6861 7420 7368 6f77 7320 7468 ck that shows th\n-00015570: 650a 6869 6464 656e 2070 6172 7473 2061 e.hidden parts a\n-00015580: 7320 646f 7474 6564 206c 696e 6573 2e20 s dotted lines. \n-00015590: 2054 6865 2073 6563 7265 7420 6973 2064 The secret is d\n-000155a0: 7261 7720 7468 6520 6178 6573 2074 7769 raw the axes twi\n-000155b0: 6365 2d2d 736f 6c69 640a 6c69 6e65 7320 ce--solid.lines \n-000155c0: 7769 7468 2074 6865 206e 6f72 6d61 6c20 with the normal \n-000155d0: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a\n-000155e0: 6c67 6f72 6974 686d 2069 6e20 6566 6665 lgorithm in effe\n-000155f0: 6374 2c20 616e 6420 7468 656e 0a64 6f74 ct, and then.dot\n-00015600: 7465 6420 7769 7468 2074 6865 206f 7074 ted with the opt\n-00015610: 696f 6e20 e280 986c 6179 3d6f 7665 72e2 ion ...lay=over.\n-00015620: 8099 2073 6f20 7468 6174 206e 6f20 706f .. so that no po\n-00015630: 6c79 676f 6e73 2063 616e 2068 6964 6520 lygons can hide \n-00015640: 7468 656d 2e0a 2020 6465 6620 6178 2028 them.. def ax (\n-00015650: 6478 2c30 2c30 2920 2520 7469 7073 206f dx,0,0) % tips o\n-00015660: 6620 7468 6520 6178 6573 0a20 2064 6566 f the axes. def\n-00015670: 2061 7920 2830 2c64 792c 3029 0a20 2064 ay (0,dy,0). d\n-00015680: 6566 2061 7a20 2830 2c30 2c64 7a29 0a20 ef az (0,0,dz). \n-00015690: 206c 696e 655b 6172 726f 7773 3d3c 2d3e line[arrows=<->\n-000156a0: 2c6c 696e 6577 6964 7468 3d2e 3470 745d ,linewidth=.4pt]\n-000156b0: 2861 7829 284f 2928 6179 290a 2020 6c69 (ax)(O)(ay). li\n-000156c0: 6e65 5b61 7272 6f77 733d 2d3e 2c6c 696e ne[arrows=->,lin\n-000156d0: 6577 6964 7468 3d2e 3470 745d 284f 2928 ewidth=.4pt](O)(\n-000156e0: 617a 290a 2020 2520 7265 7065 6174 2064 az). % repeat d\n-000156f0: 6f74 7465 6420 6173 2061 6e20 6f76 6572 otted as an over\n-00015700: 6c61 7920 746f 2068 696e 7420 6174 2074 lay to hint at t\n-00015710: 6865 2068 6964 6465 6e20 6c69 6e65 730a he hidden lines.\n-00015720: 2020 6c69 6e65 5b6c 6179 3d6f 7665 722c line[lay=over,\n-00015730: 6c69 6e65 7374 796c 653d 646f 7474 6564 linestyle=dotted\n-00015740: 2c6c 696e 6577 6964 7468 3d2e 3470 745d ,linewidth=.4pt]\n-00015750: 2861 7829 284f 2928 6179 290a 2020 6c69 (ax)(O)(ay). li\n-00015760: 6e65 5b6c 6179 3d6f 7665 722c 6c69 6e65 ne[lay=over,line\n-00015770: 7374 796c 653d 646f 7474 6564 2c6c 696e style=dotted,lin\n-00015780: 6577 6964 7468 3d2e 3470 745d 284f 2928 ewidth=.4pt](O)(\n-00015790: 617a 290a 2020 7370 6563 6961 6c7c 5c66 az). special|\\f\n-000157a0: 6f6f 746e 6f74 6573 697a 650a 2020 2020 ootnotesize. \n-000157b0: 2020 2020 2020 5c75 7075 745b 645d 2331 \\uput[d]#1\n-000157c0: 7b24 7824 7d5c 7570 7574 5b75 5d23 327b {$x$}\\uput[u]#2{\n-000157d0: 2479 247d 5c75 7075 745b 6c5d 2333 7b24 $y$}\\uput[l]#3{$\n-000157e0: 7a24 7d7c 0a20 2020 2028 6178 2928 6179 z$}|. (ax)(ay\n-000157f0: 2928 617a 290a 5468 6520 6c61 6265 6c73 )(az).The labels\n-00015800: 2061 7265 2061 7070 6c69 6564 2077 6974 are applied wit\n-00015810: 6820 e280 9850 5354 7269 636b 73e2 8099 h ...PSTricks...\n-00015820: 2073 7065 6369 616c 206f 626a 6563 7473 special objects\n-00015830: 2061 7320 7573 7561 6c2e 0a0a 2020 2046 as usual... F\n-00015840: 6f72 2074 6865 2068 6569 6768 7420 6469 or the height di\n-00015850: 6d65 6e73 696f 6e20 6d61 726b 2c20 7468 mension mark, th\n-00015860: 6520 706f 7765 7220 6f66 2061 6666 696e e power of affin\n-00015870: 6520 6172 6974 6865 7469 6320 6973 2076 e arithetic is v\n-00015880: 6572 790a 6865 6c70 6675 6c2e 0a20 2064 ery.helpful.. d\n-00015890: 6566 2068 6469 6d5f 7265 6620 756e 6974 ef hdim_ref unit\n-000158a0: 2828 7031 2920 2d20 284f 2929 2074 6865 ((p1) - (O)) the\n-000158b0: 6e20 5b5b 7365 675f 726f 745d 5d5e 320a n [[seg_rot]]^2.\n-000158c0: 2020 6465 6620 6330 2028 7030 2920 7468 def c0 (p0) th\n-000158d0: 656e 2073 6361 6c65 285b 4a5d 290a 2020 en scale([J]). \n-000158e0: 6465 6620 6830 3020 2863 3029 202b 2031 def h00 (c0) + 1\n-000158f0: 2e31 202a 205b 6864 696d 5f72 6566 5d0a .1 * [hdim_ref].\n-00015900: 2020 6465 6620 6830 3120 2863 3029 202b def h01 (c0) +\n-00015910: 2031 2e39 202a 205b 6864 696d 5f72 6566 1.9 * [hdim_ref\n-00015920: 5d0a 2020 6465 6620 6830 3220 2863 3029 ]. def h02 (c0)\n-00015930: 202b 2031 2e38 202a 205b 6864 696d 5f72 + 1.8 * [hdim_r\n-00015940: 6566 5d0a 2020 6c69 6e65 2868 3030 2928 ef]. line(h00)(\n-00015950: 6830 3129 0a20 2064 6566 2068 3130 2028 h01). def h10 (\n-00015960: 4f29 202b 2031 2e36 202a 205b 6864 696d O) + 1.6 * [hdim\n-00015970: 5f72 6566 5d0a 2020 6465 6620 6831 3120 _ref]. def h11 \n-00015980: 284f 2920 2b20 312e 3920 2a20 5b68 6469 (O) + 1.9 * [hdi\n-00015990: 6d5f 7265 665d 0a20 2064 6566 2068 3132 m_ref]. def h12\n-000159a0: 2028 4f29 202b 2031 2e38 202a 205b 6864 (O) + 1.8 * [hd\n-000159b0: 696d 5f72 6566 5d0a 2020 6c69 6e65 2868 im_ref]. line(h\n-000159c0: 3130 2928 6831 3129 0a20 206c 696e 655b 10)(h11). line[\n-000159d0: 6172 726f 7773 3d3c 2d3e 5d28 6830 3229 arrows=<->](h02)\n-000159e0: 2868 3132 290a 2020 6465 6620 686d 3220 (h12). def hm2 \n-000159f0: 2828 6830 3229 202d 2028 4f29 202b 2028 ((h02) - (O) + (\n-00015a00: 6831 3229 202d 2028 4f29 2920 2f20 3220 h12) - (O)) / 2 \n-00015a10: 2b20 284f 290a 2020 7370 6563 6961 6c7c + (O). special|\n-00015a20: 5c66 6f6f 746e 6f74 6573 697a 655c 7270 \\footnotesize\\rp\n-00015a30: 7574 2a23 317b 2468 247d 7c28 686d 3229 ut*#1{$h$}|(hm2)\n-00015a40: 0a20 2020 5468 6520 6765 6e65 7261 6c20 . The general \n-00015a50: 6964 6561 2065 6d70 6c6f 7965 6420 6865 idea employed he\n-00015a60: 7265 2069 7320 746f 2063 6f6d 7075 7465 re is to compute\n-00015a70: 2061 2075 6e69 7420 2272 6566 6572 656e a unit \"referen\n-00015a80: 6365 0a76 6563 746f 7222 2070 6172 616c ce.vector\" paral\n-00015a90: 6c65 6c20 746f 2074 6865 2078 7a2d 706c lel to the xz-pl\n-00015aa0: 616e 6520 696e 2074 6865 2064 6573 6972 ane in the desir\n-00015ab0: 6564 2064 6972 6563 7469 6f6e 206f 6620 ed direction of \n-00015ac0: 7468 650a 6469 6d65 6e73 696f 6e20 6672 the.dimension fr\n-00015ad0: 6f6d 2074 6865 206f 7269 6769 6e2e 2020 om the origin. \n-00015ae0: 5468 6520 7472 616e 7366 6f72 6d61 7469 The transformati\n-00015af0: 6f6e 20e2 8098 5b5b 7365 675f 726f 745d on ...[[seg_rot]\n-00015b00: 5d5e 32e2 8099 2072 6f74 6174 6573 0a74 ]^2... rotates.t\n-00015b10: 776f 2073 6567 6d65 6e74 7320 6162 6f75 wo segments abou\n-00015b20: 7420 7468 6520 792d 6178 6973 2e20 2057 t the y-axis. W\n-00015b30: 6865 6e20 6170 706c 6965 6420 746f 20e2 hen applied to .\n-00015b40: 8098 2870 3129 202d 2028 4f29 e280 992c ..(p1) - (O)...,\n-00015b50: 2074 6865 0a72 6573 756c 7469 6e67 2076 the.resulting v\n-00015b60: 6563 746f 7220 706f 696e 7473 2074 6f20 ector points to \n-00015b70: 7468 6520 7269 6768 7420 6173 2073 686f the right as sho\n-00015b80: 776e 2e20 2049 6e20 7468 6973 206d 616e wn. In this man\n-00015b90: 6e65 722c 2077 6520 6361 6e0a 7069 636b ner, we can.pick\n-00015ba0: 2061 6e79 2076 6572 7465 7820 6173 2074 any vertex as t\n-00015bb0: 6865 206c 6f63 6174 696f 6e20 6f66 2074 he location of t\n-00015bc0: 6865 2068 6569 6768 7420 6469 6d65 6e73 he height dimens\n-00015bd0: 696f 6e20 6c69 6e65 7320 6279 2076 6172 ion lines by var\n-00015be0: 7969 6e67 0a74 6865 2065 7870 6f6e 656e ying.the exponen\n-00015bf0: 7420 6f66 20e2 8098 5b5b 7365 675f 726f t of ...[[seg_ro\n-00015c00: 745d 5de2 8099 2e20 2054 6869 7320 6973 t]].... This is\n-00015c10: 206f 6e6c 7920 6f6e 6520 6f66 206d 616e only one of man\n-00015c20: 7920 706f 7373 6962 6c65 0a73 7472 6174 y possible.strat\n-00015c30: 6567 6965 732e 0a0a 2020 2054 6865 2063 egies... The c\n-00015c40: 6f6d 7075 7461 7469 6f6e 206f 6620 e280 omputation of ..\n-00015c50: 9868 6d32 e280 9920 6973 2061 2075 7365 .hm2... is a use\n-00015c60: 6675 6c20 6964 696f 6d20 666f 7220 6669 ful idiom for fi\n-00015c70: 6e64 696e 6720 7468 6520 6365 6e74 726f nding the centro\n-00015c80: 6964 0a6f 6620 6120 7365 7420 6f66 2070 id.of a set of p\n-00015c90: 6f69 6e74 732e 0a0a 2020 2054 6865 2074 oints... The t\n-00015ca0: 776f 2072 6164 6975 7320 6d61 726b 7320 wo radius marks \n-00015cb0: 6172 6520 646f 6e65 2073 696d 696c 6172 are done similar\n-00015cc0: 6c79 2c20 736f 2077 6520 7072 6573 656e ly, so we presen\n-00015cd0: 7420 7468 6520 636f 6465 0a77 6974 686f t the code.witho\n-00015ce0: 7574 2063 6f6d 6d65 6e74 2e0a 2020 2520 ut comment.. % \n-00015cf0: 7261 6469 7573 206d 6561 7375 7265 6d65 radius measureme\n-00015d00: 6e74 206d 6172 6b73 0a20 2064 6566 2067 nt marks. def g\n-00015d10: 6170 205b 302c 2e32 2c30 5d20 2025 2075 ap [0,.2,0] % u\n-00015d20: 7365 6420 746f 2063 7265 6174 6520 736d sed to create sm\n-00015d30: 616c 6c20 7665 7274 6963 616c 2067 6170 all vertical gap\n-00015d40: 730a 0a20 2025 2066 6972 7374 2072 310a s.. % first r1.\n-00015d50: 2020 6465 6620 7570 3120 5b30 2c33 2e31 def up1 [0,3.1\n-00015d60: 2c30 5d20 2520 7469 636b 2072 6973 6573 ,0] % tick rises\n-00015d70: 2061 626f 7665 2064 696d 656e 7369 6f6e above dimension\n-00015d80: 2061 206c 6974 746c 650a 2020 6465 6620 a little. def \n-00015d90: 7231 2028 2870 3129 2074 6865 6e20 5b5b r1 ((p1) then [[\n-00015da0: 7365 675f 726f 745d 5d5e 2d32 2920 2b20 seg_rot]]^-2) + \n-00015db0: 5b75 7031 5d0a 2020 6465 6620 7231 6320 [up1]. def r1c \n-00015dc0: 2872 3129 2074 6865 6e20 7363 616c 6528 (r1) then scale(\n-00015dd0: 5b4a 5d29 0a20 2064 6566 2072 3174 2028 [J]). def r1t (\n-00015de0: 7231 2920 2b20 5b67 6170 5d0a 2020 6465 r1) + [gap]. de\n-00015df0: 6620 7231 6220 2828 7231 7429 2074 6865 f r1b ((r1t) the\n-00015e00: 6e20 7363 616c 6528 5b31 2c30 2c31 5d29 n scale([1,0,1])\n-00015e10: 2920 2b20 5b67 6170 5d0a 2020 6c69 6e65 ) + [gap]. line\n-00015e20: 5b61 7272 6f77 733d 3c2d 3e5d 2872 3163 [arrows=<->](r1c\n-00015e30: 2928 7231 2920 2025 2064 696d 656e 7369 )(r1) % dimensi\n-00015e40: 6f6e 206c 696e 650a 2020 6c69 6e65 2872 on line. line(r\n-00015e50: 3162 2928 7231 7429 2020 2020 2020 2020 1b)(r1t) \n-00015e60: 2020 2020 2025 2074 6963 6b0a 2020 6465 % tick. de\n-00015e70: 6620 7231 6d20 2828 7231 2920 2d20 284f f r1m ((r1) - (O\n-00015e80: 2920 2b20 2872 3163 2920 2d20 284f 2929 ) + (r1c) - (O))\n-00015e90: 202f 2032 202b 2028 4f29 2025 206c 6162 / 2 + (O) % lab\n-00015ea0: 656c 2070 6f73 6974 696f 6e0a 2020 7370 el position. sp\n-00015eb0: 6563 6961 6c20 7c5c 666f 6f74 6e6f 7465 ecial |\\footnote\n-00015ec0: 7369 7a65 5c72 7075 742a 2331 7b24 725f size\\rput*#1{$r_\n-00015ed0: 3124 7d7c 2872 316d 2920 2025 206c 6162 1$}|(r1m) % lab\n-00015ee0: 656c 0a0a 2020 2520 7361 6d65 2064 7269 el.. % same dri\n-00015ef0: 6c6c 2066 6f72 2072 302c 2062 7574 206d ll for r0, but m\n-00015f00: 7573 7420 7072 6f6a 6563 7420 646f 776e ust project down\n-00015f10: 2066 6972 7374 0a20 2064 6566 2075 7030 first. def up0\n-00015f20: 205b 302c 322e 372c 305d 0a20 2064 6566 [0,2.7,0]. def\n-00015f30: 2072 3020 2828 7030 2920 7468 656e 2073 r0 ((p0) then s\n-00015f40: 6361 6c65 285b 312c 302c 315d 2920 7468 cale([1,0,1]) th\n-00015f50: 656e 205b 5b73 6567 5f72 6f74 5d5d 5e2d en [[seg_rot]]^-\n-00015f60: 3229 202b 205b 7570 305d 0a20 2064 6566 2) + [up0]. def\n-00015f70: 2072 3063 2028 7230 2920 7468 656e 2073 r0c (r0) then s\n-00015f80: 6361 6c65 285b 4a5d 290a 2020 6465 6620 cale([J]). def \n-00015f90: 7230 7420 2872 3029 202b 205b 6761 705d r0t (r0) + [gap]\n-00015fa0: 0a20 2064 6566 2072 3062 2028 2870 3029 . def r0b ((p0)\n-00015fb0: 2074 6865 6e20 5b5b 7365 675f 726f 745d then [[seg_rot]\n-00015fc0: 5d5e 2d32 2920 2b20 5b67 6170 5d0a 2020 ]^-2) + [gap]. \n-00015fd0: 6c69 6e65 5b61 7272 6f77 733d 3c2d 3e5d line[arrows=<->]\n-00015fe0: 2872 3063 2928 7230 290a 2020 6c69 6e65 (r0c)(r0). line\n-00015ff0: 2872 3062 2928 7230 7429 0a20 2064 6566 (r0b)(r0t). def\n-00016000: 2072 306d 2028 2872 3029 202d 2028 4f29 r0m ((r0) - (O)\n-00016010: 202b 2028 7230 6329 202d 2028 4f29 2920 + (r0c) - (O)) \n-00016020: 2f20 3220 2b20 284f 290a 2020 7370 6563 / 2 + (O). spec\n-00016030: 6961 6c20 7c5c 666f 6f74 6e6f 7465 7369 ial |\\footnotesi\n-00016040: 7a65 5c72 7075 742a 2331 7b24 725f 3024 ze\\rput*#1{$r_0$\n-00016050: 7d7c 2872 306d 290a 0a20 2020 5468 6520 }|(r0m).. The \n-00016060: 7365 636f 6e64 2064 7261 7769 6e67 2075 second drawing u\n-00016070: 7365 7320 7468 6520 7361 6d65 2074 6563 ses the same tec\n-00016080: 686e 6971 7565 732e 2020 4f6e 6c79 2074 hniques. Only t\n-00016090: 6865 206d 6574 686f 6420 666f 720a 6472 he method for.dr\n-000160a0: 6177 696e 6720 7468 6520 656c 6c69 7074 awing the ellipt\n-000160b0: 6963 616c 2061 7263 2069 7320 6e65 772e ical arc is new.\n-000160c0: 2020 4865 7265 2069 7320 7468 6520 636f Here is the co\n-000160d0: 6465 2e0a 2020 6465 6620 6d69 6420 2828 de.. def mid ((\n-000160e0: 7030 3029 2d28 4f29 2b28 7031 3029 2d28 p00)-(O)+(p10)-(\n-000160f0: 4f29 2b28 7031 3129 2d28 4f29 2b28 7030 O)+(p11)-(O)+(p0\n-00016100: 3129 2d28 4f29 292f 342b 284f 290a 2020 1)-(O))/4+(O). \n-00016110: 7370 6563 6961 6c7c 5c72 7075 7423 317b special|\\rput#1{\n-00016120: 5c70 7363 7573 746f 6d7b 0a20 2020 205c \\pscustom{. \\\n-00016130: 7363 616c 657b 3120 312e 337d 0a20 2020 scale{1 1.3}. \n-00016140: 205c 7073 6172 635b 6172 726f 776c 656e \\psarc[arrowlen\n-00016150: 6774 683d 2e35 5d7b 2d3e 7d7b 2e32 357d gth=.5]{->}{.25}\n-00016160: 7b2d 3630 7d7b 3234 307d 7d7d 7c0a 2020 {-60}{240}}}|. \n-00016170: 2020 5b6c 6179 3d6f 7665 725d 286d 6964 [lay=over](mid\n-00016180: 290a 5765 2063 6f75 6c64 2068 6176 6520 ).We could have \n-00016190: 7377 6570 7420 6120 706f 696e 7420 746f swept a point to\n-000161a0: 206d 616b 6520 7468 6520 6172 6320 7769 make the arc wi\n-000161b0: 7468 20e2 8098 736b 6574 6368 e280 992c th ...sketch...,\n-000161c0: 2062 7574 2075 7369 6e67 2061 0ae2 8098 but using a....\n-000161d0: 5053 5472 6963 6b73 e280 9920 6375 7374 PSTricks... cust\n-000161e0: 6f6d 2067 7261 7068 6963 2077 6173 2073 om graphic was s\n-000161f0: 696d 706c 6572 2e20 2041 6761 696e 2077 impler. Again w\n-00016200: 6520 636f 6d70 7574 6564 2074 6865 2063 e computed the c\n-00016210: 656e 7472 6f69 640a 6f66 2074 6865 2071 entroid.of the q\n-00016220: 7561 6472 696c 6174 6572 616c 2062 7920 uadrilateral by \n-00016230: 6176 6572 6167 696e 6720 706f 696e 7473 averaging points\n-00016240: 2e20 204e 6f74 6520 7468 6174 2073 6361 . Note that sca\n-00016250: 6c69 6e67 2069 6e0a 506f 7374 7363 7269 ling in.Postscri\n-00016260: 7074 2064 6973 746f 7274 7320 7468 6520 pt distorts the \n-00016270: 6172 726f 7768 6561 642c 2062 7574 2069 arrowhead, but i\n-00016280: 6e20 7468 6973 2063 6173 6520 7468 6520 n this case the \n-00016290: 6469 7374 6f72 7469 6f6e 0a61 6374 7561 distortion.actua\n-000162a0: 6c6c 7920 6c6f 6f6b 7320 6265 7474 6572 lly looks better\n-000162b0: 2069 6e20 7468 6520 7072 6f6a 6563 7469 in the projecti\n-000162c0: 6f6e 206f 6620 7468 6520 736c 616e 7465 on of the slante\n-000162d0: 6420 6661 6365 2e20 2041 20e2 8098 736b d face. A ...sk\n-000162e0: 6574 6368 e280 990a 6172 726f 7768 6561 etch....arrowhea\n-000162f0: 6420 776f 756c 6420 6e6f 7420 6861 7665 d would not have\n-00016300: 2062 6565 6e20 6469 7374 6f72 7465 642e been distorted.\n-00016310: 0a0a 2020 2054 6865 2063 6f6d 706c 6574 .. The complet\n-00016320: 6520 636f 6465 2066 6f72 2074 6869 7320 e code for this \n-00016330: 6578 616d 706c 652c 2077 6869 6368 2064 example, which d\n-00016340: 7261 7773 2065 6974 6865 7220 6669 6775 raws either figu\n-00016350: 7265 0a64 6570 656e 6469 6e67 206f 6e20 re.depending on \n-00016360: 7468 6520 6465 6669 6e69 7469 6f6e 206f the definition o\n-00016370: 6620 7468 6520 7461 6720 e280 983c 6c61 f the tag ......, is in\n-00016390: 636c 7564 6564 2069 6e20 7468 650a e280 cluded in the...\n-000163a0: 9873 6b65 7463 68e2 8099 2064 6973 7472 .sketch... distr\n-000163b0: 6962 7574 696f 6e20 696e 2074 6865 2066 ibution in the f\n-000163c0: 696c 6520 e280 9874 7275 6e63 6174 6564 ile ...truncated\n-000163d0: 636f 6e65 2e73 6be2 8099 2e0a 0a1f 0a46 cone.sk........F\n-000163e0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-000163f0: 2c20 204e 6f64 653a 2041 2068 6965 7261 , Node: A hiera\n-00016400: 7263 6869 6361 6c20 6d6f 6465 6c2c 2020 rchical model, \n-00016410: 4e65 7874 3a20 4361 7665 6174 732c 2020 Next: Caveats, \n-00016420: 5072 6576 3a20 4120 7465 6368 6e69 6361 Prev: A technica\n-00016430: 6c20 6472 6177 696e 672c 2020 5570 3a20 l drawing, Up: \n-00016440: 4275 696c 6469 6e67 2061 2064 7261 7769 Building a drawi\n-00016450: 6e67 0a0a 342e 3320 4120 6869 6572 6172 ng..4.3 A hierar\n-00016460: 6368 6963 616c 206d 6f64 656c 0a3d 3d3d chical model.===\n-00016470: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-00016480: 3d3d 3d3d 3d0a 0a57 6869 6c65 20e2 8098 =====..While ...\n-00016490: 736b 6574 6368 e280 9920 7761 7320 6e65 sketch... was ne\n-000164a0: 7665 7220 6d65 616e 7420 746f 2062 6520 ver meant to be \n-000164b0: 6120 6765 6f6d 6574 7269 6320 6d6f 6465 a geometric mode\n-000164c0: 6c69 6e67 206c 616e 6775 6167 652c 2069 ling language, i\n-000164d0: 740a 636f 6d65 7320 6661 6972 6c79 2063 t.comes fairly c\n-000164e0: 6c6f 7365 2e20 2054 6865 2066 6f6c 6c6f lose. The follo\n-000164f0: 7769 6e67 2065 7861 6d70 6c65 2070 7574 wing example put\n-00016500: 7320 616c 6c20 7765 2068 6176 6520 7365 s all we have se\n-00016510: 656e 2074 6f20 776f 726b 0a69 6e20 6120 en to work.in a \n-00016520: 7665 7279 2073 696d 706c 6520 6d6f 6465 very simple mode\n-00016530: 6c20 6f66 2074 6865 2068 756d 616e 2068 l of the human h\n-00016540: 616e 642e 2020 5374 6172 7420 6279 2073 and. Start by s\n-00016550: 7765 6570 696e 6720 6120 6c69 6e65 2074 weeping a line t\n-00016560: 6f0a 6d61 6b65 2061 2074 7275 6e63 6174 o.make a truncat\n-00016570: 6564 2063 6f6e 652c 2077 6869 6368 2077 ed cone, which w\n-00016580: 696c 6c20 6265 2063 6f70 6965 6420 6f76 ill be copied ov\n-00016590: 6572 2061 6e64 206f 7665 7220 6167 6169 er and over agai\n-000165a0: 6e20 746f 206d 616b 650a 7468 6520 7365 n to make.the se\n-000165b0: 676d 656e 7473 206f 6620 6669 6e67 6572 gments of finger\n-000165c0: 732e 0a20 2064 6566 204f 2028 302c 302c s.. def O (0,0,\n-000165d0: 3029 2025 206f 7269 6769 6e0a 2020 6465 0) % origin. de\n-000165e0: 6620 4920 5b31 2c30 2c30 5d20 6465 6620 f I [1,0,0] def \n-000165f0: 4a20 5b30 2c31 2c30 5d20 6465 6620 4b20 J [0,1,0] def K \n-00016600: 5b30 2c30 2c31 5d20 2520 6361 6e6f 6e69 [0,0,1] % canoni\n-00016610: 6361 6c20 756e 6974 2076 6563 746f 7273 cal unit vectors\n-00016620: 0a20 2064 6566 2073 6567 6d65 6e74 207b . def segment {\n-00016630: 0a20 2020 2064 6566 206e 5f66 6163 6573 . def n_faces\n-00016640: 2038 0a20 2020 2073 7765 6570 207b 206e 8. sweep { n\n-00016650: 5f66 6163 6573 3c3e 2c20 726f 7461 7465 _faces<>, rotate\n-00016660: 2833 3630 202f 206e 5f66 6163 6573 2c20 (360 / n_faces, \n-00016670: 5b4a 5d29 207d 200a 2020 2020 2020 6c69 [J]) } . li\n-00016680: 6e65 2870 726f 7869 6d61 6c5f 7261 642c ne(proximal_rad,\n-00016690: 2030 2928 6469 7374 616c 5f72 6164 2c20 0)(distal_rad, \n-000166a0: 6469 7374 616c 5f6c 656e 290a 2020 7d0a distal_len). }.\n-000166b0: 496e 2068 616e 6420 616e 6174 6f6d 792c In hand anatomy,\n-000166c0: 205f 6469 7374 616c 5f20 6973 2022 6174 _distal_ is \"at\n-000166d0: 2074 6865 2074 6970 2220 616e 6420 5f70 the tip\" and _p\n-000166e0: 726f 7869 6d61 6c5f 2069 7320 2269 6e20 roximal_ is \"in \n-000166f0: 7468 6520 6172 6561 0a6f 6620 7468 6520 the area.of the \n-00016700: 7061 6c6d 2e22 2020 5765 2068 6176 6520 palm.\" We have \n-00016710: 6f6d 6974 7465 6420 616c 6c20 7468 6520 omitted all the \n-00016720: 7363 616c 6172 2063 6f6e 7374 616e 7473 scalar constants\n-00016730: 2e20 2059 6f75 2063 616e 2066 696e 640a . You can find.\n-00016740: 7468 656d 2069 6e20 e280 9868 616e 642e them in ...hand.\n-00016750: 736b e280 992c 2077 6869 6368 2069 7320 sk..., which is \n-00016760: 7072 6f76 6964 6564 2069 6e20 7468 6520 provided in the \n-00016770: e280 9873 6b65 7463 68e2 8099 2064 6973 ...sketch... dis\n-00016780: 7472 6962 7574 696f 6e2e 0a0a 2020 2057 tribution... W\n-00016790: 6520 616c 736f 206e 6565 6420 6120 7072 e also need a pr\n-000167a0: 6f74 6f74 7970 6963 616c 2073 7068 6572 ototypical spher\n-000167b0: 6520 746f 2075 7365 2066 6f72 2074 6865 e to use for the\n-000167c0: 206a 6f69 6e74 7320 7468 656d 7365 6c76 joints themselv\n-000167d0: 6573 2e0a 2020 6465 6620 6a6f 696e 745f es.. def joint_\n-000167e0: 7370 6865 7265 207b 0a20 2020 2064 6566 sphere {. def\n-000167f0: 206e 5f6a 6f69 6e74 5f66 6163 6573 2038 n_joint_faces 8\n-00016800: 0a20 2020 2073 7765 6570 205b 6669 6c6c . sweep [fill\n-00016810: 636f 6c6f 723d 7265 645d 207b 206e 5f6a color=red] { n_j\n-00016820: 6f69 6e74 5f66 6163 6573 2c20 726f 7461 oint_faces, rota\n-00016830: 7465 2833 3630 202f 206e 5f6a 6f69 6e74 te(360 / n_joint\n-00016840: 5f66 6163 6573 2c20 5b4a 5d29 207d 0a20 _faces, [J]) }. \n-00016850: 2020 2020 2073 7765 6570 207b 206e 5f6a sweep { n_j\n-00016860: 6f69 6e74 5f66 6163 6573 2c20 726f 7461 oint_faces, rota\n-00016870: 7465 2831 3830 202f 206e 5f6a 6f69 6e74 te(180 / n_joint\n-00016880: 5f66 6163 6573 2920 7d20 0a20 2020 2020 _faces) } . \n-00016890: 2020 2028 302c 202d 6a6f 696e 745f 7261 (0, -joint_ra\n-000168a0: 6429 0a20 207d 0a0a 2020 2057 6527 6c6c d). }.. We'll\n-000168b0: 206e 6f77 2064 6573 6967 6e20 7468 6520 now design the \n-000168c0: 696e 6465 7820 6669 6e67 6572 2028 6e75 index finger (nu\n-000168d0: 6d62 6572 2031 2069 6e20 6f75 7220 6e6f mber 1 in our no\n-000168e0: 7461 7469 6f6e 616c 0a63 6f6e 7665 6e74 tational.convent\n-000168f0: 696f 6e3b 2066 696e 6765 7220 3020 6973 ion; finger 0 is\n-00016900: 2074 6865 2074 6875 6d62 292e 2020 5468 the thumb). Th\n-00016910: 6520 6469 7374 616c 2072 6f74 6174 696f e distal rotatio\n-00016920: 6e20 666f 7220 7468 6520 6669 6e67 6572 n for the finger\n-00016930: 0a61 7070 6c69 6573 206f 6e6c 7920 746f .applies only to\n-00016940: 2074 6865 2074 6970 2c20 736f 2077 6520 the tip, so we \n-00016950: 6465 6669 6e65 2074 6865 2066 6f6c 6c6f define the follo\n-00016960: 7769 6e67 2e0a 2020 6465 6620 6469 7374 wing.. def dist\n-00016970: 616c 5f31 207b 0a20 2020 2070 7574 207b al_1 {. put {\n-00016980: 2074 7261 6e73 6c61 7465 286a 6f69 6e74 translate(joint\n-00016990: 5f67 6170 202a 206a 6f69 6e74 5f72 6164 _gap * joint_rad\n-000169a0: 202a 205b 4a5d 2920 0a20 2020 2020 2020 * [J]) . \n-000169b0: 2020 2074 6865 6e20 726f 7461 7465 2864 then rotate(d\n-000169c0: 6973 7461 6c5f 315f 726f 742c 205b 495d istal_1_rot, [I]\n-000169d0: 2920 0a20 2020 2020 2020 2020 2074 6865 ) . the\n-000169e0: 6e20 7472 616e 736c 6174 6528 2864 6973 n translate((dis\n-000169f0: 7461 6c5f 6c65 6e20 2b20 6a6f 696e 745f tal_len + joint_\n-00016a00: 6761 7020 2a20 6a6f 696e 745f 7261 6429 gap * joint_rad)\n-00016a10: 202a 205b 4a5d 2920 7d0a 2020 2020 2020 * [J]) }. \n-00016a20: 7b73 6567 6d65 6e74 7d0a 2020 2020 7075 {segment}. pu\n-00016a30: 7420 7b20 726f 7461 7465 2864 6973 7461 t { rotate(dista\n-00016a40: 6c5f 315f 726f 7420 2f20 322c 205b 495d l_1_rot / 2, [I]\n-00016a50: 290a 2020 2020 2020 2020 2020 7468 656e ). then\n-00016a60: 2074 7261 6e73 6c61 7465 2828 6469 7374 translate((dist\n-00016a70: 616c 5f6c 656e 202b 206a 6f69 6e74 5f67 al_len + joint_g\n-00016a80: 6170 202a 206a 6f69 6e74 5f72 6164 2920 ap * joint_rad) \n-00016a90: 2a20 5b4a 5d29 207d 200a 2020 2020 2020 * [J]) } . \n-00016aa0: 7b6a 6f69 6e74 5f73 7068 6572 657d 0a20 {joint_sphere}. \n-00016ab0: 2020 2070 7574 207b 2073 6361 6c65 2820 put { scale( \n-00016ac0: 5b4a 5d20 2b20 7072 6f78 696d 616c 5f64 [J] + proximal_d\n-00016ad0: 6973 7461 6c5f 7261 7469 6f20 2a20 285b istal_ratio * ([\n-00016ae0: 495d 2b5b 4b5d 2920 2920 7d0a 2020 2020 I]+[K]) ) }. \n-00016af0: 2020 7b73 6567 6d65 6e74 7d0a 2020 7d20 {segment}. } \n-00016b00: 200a 5468 6520 6964 656e 7469 6669 6572 .The identifier\n-00016b10: 7320 6865 7265 2061 7265 2066 6f72 2073 s here are for s\n-00016b20: 697a 6520 616e 6420 6c6f 6361 7469 6f6e ize and location\n-00016b30: 2063 6f6e 7374 616e 7473 2e20 2054 6865 constants. The\n-00016b40: 2065 7863 6570 7469 6f6e 0a69 7320 e280 exception.is ..\n-00016b50: 9864 6973 7461 6c5f 726f 745f 31e2 8099 .distal_rot_1...\n-00016b60: 2e20 2054 6869 7320 726f 7461 7469 6f6e . This rotation\n-00016b70: 2070 6172 616d 6574 6572 206d 6f64 656c parameter model\n-00016b80: 7320 7468 6520 666c 6578 696e 6720 6f66 s the flexing of\n-00016b90: 2074 6865 0a66 696e 6765 7220 7469 702e the.finger tip.\n-00016ba0: 2020 5468 6520 6669 7273 7420 e280 9870 The first ...p\n-00016bb0: 7574 e280 9920 6d61 6b65 7320 6120 636f ut... makes a co\n-00016bc0: 7079 206f 6620 7468 6520 6669 6e67 6572 py of the finger\n-00016bd0: 2073 6567 6d65 6e74 2074 6861 7420 6973 segment that is\n-00016be0: 0a74 7261 6e73 6c61 7465 6420 7570 7761 .translated upwa\n-00016bf0: 7264 206a 7573 7420 6661 7220 656e 6f75 rd just far enou\n-00016c00: 6768 2074 6f20 6d61 6b65 2072 6f6f 6d20 gh to make room \n-00016c10: 666f 7220 7468 6520 7370 6865 7269 6361 for the spherica\n-00016c20: 6c20 6a6f 696e 742e 0a54 6865 6e20 6974 l joint..Then it\n-00016c30: 2061 7070 6c69 6573 2074 6865 2064 6973 applies the dis\n-00016c40: 7461 6c20 726f 7461 7469 6f6e 2e20 2046 tal rotation. F\n-00016c50: 696e 616c 6c79 2069 7420 7472 616e 736c inally it transl\n-00016c60: 6174 6573 2074 6865 2077 686f 6c65 0a61 ates the whole.a\n-00016c70: 7373 656d 626c 7920 7570 7761 7264 2061 ssembly upward a\n-00016c80: 6761 696e 2074 6f20 6d61 6b65 2072 6f6f gain to make roo\n-00016c90: 6d20 666f 7220 7468 6520 6d69 6464 6c65 m for the middle\n-00016ca0: 2070 686c 616e 6765 7320 2874 6865 206e phlanges (the n\n-00016cb0: 6578 740a 626f 6e65 2074 6f77 6172 6420 ext.bone toward \n-00016cc0: 7468 6520 7061 6c6d 292e 2020 5468 6520 the palm). The \n-00016cd0: 7365 636f 6e64 20e2 8098 7075 74e2 8099 second ...put...\n-00016ce0: 2070 6f73 6974 696f 6e73 2074 6865 2073 positions the s\n-00016cf0: 7068 6572 652e 2020 5468 6572 6520 6973 phere. There is\n-00016d00: 0a61 2072 6f74 6174 696f 6e20 746f 2070 .a rotation to p\n-00016d10: 6c61 6365 2074 6865 2067 7269 6420 6f6e lace the grid on\n-00016d20: 2074 6865 2073 7068 6572 6520 7375 7266 the sphere surf\n-00016d30: 6163 6520 6174 2061 6e20 6e69 6365 2061 ace at an nice a\n-00016d40: 6e67 6c65 2c0a 7468 656e 2061 2074 7261 ngle,.then a tra\n-00016d50: 6e73 6c61 7469 6f6e 2074 6f20 7468 6520 nslation to the \n-00016d60: 6261 7365 206f 6620 7468 6520 6469 7374 base of the dist\n-00016d70: 616c 2070 686c 616e 6765 732c 2077 6869 al phlanges, whi\n-00016d80: 6368 2069 7320 616c 736f 0a63 656e 7465 ch is also.cente\n-00016d90: 7220 6f66 2069 7473 2072 6f74 6174 696f r of its rotatio\n-00016da0: 6e2e 2020 4669 6e61 6c6c 792c 2074 6865 n. Finally, the\n-00016db0: 206c 6173 7420 e280 9870 7574 e280 9920 last ...put... \n-00016dc0: 706f 7369 7469 6f6e 7320 7468 6520 6d69 positions the mi\n-00016dd0: 6464 6c65 0a73 6567 6d65 6e74 2069 7473 ddle.segment its\n-00016de0: 656c 662e 0a0a 2020 2054 6865 206d 6964 elf... The mid\n-00016df0: 646c 6520 6a6f 696e 7420 6973 2074 6865 dle joint is the\n-00016e00: 206e 6578 7420 6f6e 6520 646f 776e 2c20 next one down, \n-00016e10: 7769 7468 2072 6f74 6174 696f 6e20 616e with rotation an\n-00016e20: 676c 650a e280 986d 6964 646c 655f 726f gle....middle_ro\n-00016e30: 745f 31e2 8099 2e20 2057 6865 6e20 7468 t_1.... When th\n-00016e40: 6973 2061 6e67 6c65 2063 6861 6e67 6573 is angle changes\n-00016e50: 2c20 7765 206e 6565 6420 616c 6c20 7468 , we need all th\n-00016e60: 6520 6f62 6a65 6374 7320 696e 0ae2 8098 e objects in....\n-00016e70: 6469 7374 616c 5f31 e280 9920 746f 2072 distal_1... to r\n-00016e80: 6f74 6174 6520 6173 2061 2075 6e69 742e otate as a unit.\n-00016e90: 2020 5468 6973 2069 7320 7468 6520 7265 This is the re\n-00016ea0: 6173 6f6e 696e 6720 6265 6869 6e64 2074 asoning behind t\n-00016eb0: 6865 206e 6578 740a 6465 6669 6e69 7469 he next.definiti\n-00016ec0: 6f6e 2e0a 2020 6465 6620 6669 6e67 6572 on.. def finger\n-00016ed0: 5f31 207b 0a20 2020 2070 7574 207b 2074 _1 {. put { t\n-00016ee0: 7261 6e73 6c61 7465 286a 6f69 6e74 5f67 ranslate(joint_g\n-00016ef0: 6170 202a 206a 6f69 6e74 5f72 6164 202a ap * joint_rad *\n-00016f00: 205b 4a5d 290a 2020 2020 2020 2020 2020 [J]). \n-00016f10: 7468 656e 2072 6f74 6174 6528 6d69 6464 then rotate(midd\n-00016f20: 6c65 5f31 5f72 6f74 2c20 5b49 5d29 0a20 le_1_rot, [I]). \n-00016f30: 2020 2020 2020 2020 2074 6865 6e20 7472 then tr\n-00016f40: 616e 736c 6174 6528 286d 6964 646c 655f anslate((middle_\n-00016f50: 7261 7469 6f20 2a20 6469 7374 616c 5f6c ratio * distal_l\n-00016f60: 656e 202b 200a 2020 2020 2020 2020 2020 en + . \n-00016f70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00016f80: 6a6f 696e 745f 6761 7020 2a20 6a6f 696e joint_gap * join\n-00016f90: 745f 7261 6429 202a 205b 4a5d 2920 7d0a t_rad) * [J]) }.\n-00016fa0: 2020 2020 2020 7b64 6973 7461 6c5f 317d {distal_1}\n-00016fb0: 0a20 2020 2070 7574 207b 2073 6361 6c65 . put { scale\n-00016fc0: 2870 726f 7869 6d61 6c5f 6469 7374 616c (proximal_distal\n-00016fd0: 5f72 6174 696f 290a 2020 2020 2020 2020 _ratio). \n-00016fe0: 2020 7468 656e 2072 6f74 6174 6528 6d69 then rotate(mi\n-00016ff0: 6464 6c65 5f31 5f72 6f74 202f 2032 2c20 ddle_1_rot / 2, \n-00017000: 5b49 5d29 0a20 2020 2020 2020 2020 2074 [I]). t\n-00017010: 6865 6e20 7472 616e 736c 6174 6528 286d hen translate((m\n-00017020: 6964 646c 655f 7261 7469 6f20 2a20 6469 iddle_ratio * di\n-00017030: 7374 616c 5f6c 656e 202b 200a 2020 2020 stal_len + . \n+000121c0: 4120 6669 6e61 6c20 6361 6d65 7261 2074 A final camera t\n+000121d0: 7261 6e73 666f 726d 6174 696f 6e20 6f66 ransformation of\n+000121e0: 2074 6865 2073 6365 6e65 2e0a 2a20 5069 the scene..* Pi\n+000121f0: 6374 7572 6520 626f 783a 3a20 2020 2020 cture box:: \n+00012200: 2020 2020 2020 2020 2020 2020 5365 7474 Sett\n+00012210: 696e 6720 7468 6520 626f 756e 6469 6e67 ing the bounding\n+00012220: 2062 6f78 2061 6e64 2032 6420 636c 6970 box and 2d clip\n+00012230: 7069 6e67 2e0a 2a20 4672 616d 653a 3a20 ping..* Frame:: \n+00012240: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00012250: 2020 2020 2020 4164 6469 6e67 2061 2062 Adding a b\n+00012260: 6f78 2061 726f 756e 6420 7468 6520 6472 ox around the dr\n+00012270: 6177 696e 672e 0a2a 204c 616e 6775 6167 awing..* Languag\n+00012280: 653a 3a20 2020 2020 2020 2020 2020 2020 e:: \n+00012290: 2020 2020 2020 2053 6574 7469 6e67 2074 Setting t\n+000122a0: 6865 206f 7574 7075 7420 6c61 6e67 7561 he output langua\n+000122b0: 6765 2e0a 0a1f 0a46 696c 653a 2073 6b65 ge.....File: ske\n+000122c0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+000122d0: 2047 6c6f 6261 6c20 6f70 7469 6f6e 732c Global options,\n+000122e0: 2020 4e65 7874 3a20 4361 6d65 7261 2c20 Next: Camera, \n+000122f0: 2050 7265 763a 2047 6c6f 6261 6c20 656e Prev: Global en\n+00012300: 7669 726f 6e6d 656e 742c 2020 5570 3a20 vironment, Up: \n+00012310: 476c 6f62 616c 2065 6e76 6972 6f6e 6d65 Global environme\n+00012320: 6e74 0a0a 332e 342e 3120 476c 6f62 616c nt..3.4.1 Global\n+00012330: 206f 7074 696f 6e73 0a2d 2d2d 2d2d 2d2d options.-------\n+00012340: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a -------------..*\n+00012350: 5379 6e74 6178 3a2a 0a20 2020 2020 7365 Syntax:*. se\n+00012360: 7420 5b20 4f50 5449 4f4e 5320 5d0a 5468 t [ OPTIONS ].Th\n+00012370: 6520 636f 6e74 656e 7473 206f 6620 4f50 e contents of OP\n+00012380: 5449 4f4e 532c 2065 7863 6570 7420 666f TIONS, except fo\n+00012390: 7220 e280 9873 6b65 7463 68e2 8099 2069 r ...sketch... i\n+000123a0: 6e74 6572 6e61 6c20 6f70 7469 6f6e 732c nternal options,\n+000123b0: 2061 7265 0a63 6f70 6965 6420 6173 2d69 are.copied as-i\n+000123c0: 7320 746f 2061 205c 7073 7365 7420 7468 s to a \\psset th\n+000123d0: 6174 2061 7070 6561 7273 2062 6566 6f72 at appears befor\n+000123e0: 6520 616e 7974 6869 6e67 2065 6c73 6520 e anything else \n+000123f0: 696e 2074 6865 206f 7574 7075 740a 6669 in the output.fi\n+00012400: 6c65 2e20 2054 6869 7320 6973 2061 2067 le. This is a g\n+00012410: 6f6f 6420 706c 6163 6520 746f 2073 6574 ood place to set\n+00012420: 20e2 8098 756e 6974 e280 992c 2061 2064 ...unit..., a d\n+00012430: 6566 6175 6c74 20e2 8098 6c69 6e65 7769 efault ...linewi\n+00012440: 6474 68e2 8099 2c20 6574 632e 0a0a 2020 dth..., etc... \n+00012450: 2049 6e74 6572 6e61 6c20 6f70 7469 6f6e Internal option\n+00012460: 7320 776f 726b 206f 6e20 616c 6c20 6f62 s work on all ob\n+00012470: 6a65 6374 7320 7768 6572 6520 7468 6579 jects where they\n+00012480: 206d 616b 6520 7365 6e73 652e 2020 5468 make sense. Th\n+00012490: 6973 0a69 6e63 6c75 6465 7320 e280 9863 is.includes ...c\n+000124a0: 756c 6ce2 8099 2061 6e64 20e2 8098 7370 ull... and ...sp\n+000124b0: 6c69 74e2 8099 2028 6275 7420 6e6f 7420 lit... (but not \n+000124c0: e280 986c 6179 e280 9929 2e20 202a 4e6f ...lay...). *No\n+000124d0: 7465 2049 6e74 6572 6e61 6c20 6f70 7469 te Internal opti\n+000124e0: 6f6e 733a 3a2e 0a0a 1f0a 4669 6c65 3a20 ons::.....File: \n+000124f0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n+00012500: 6465 3a20 4361 6d65 7261 2c20 204e 6578 de: Camera, Nex\n+00012510: 743a 2050 6963 7475 7265 2062 6f78 2c20 t: Picture box, \n+00012520: 2050 7265 763a 2047 6c6f 6261 6c20 6f70 Prev: Global op\n+00012530: 7469 6f6e 732c 2020 5570 3a20 476c 6f62 tions, Up: Glob\n+00012540: 616c 2065 6e76 6972 6f6e 6d65 6e74 0a0a al environment..\n+00012550: 332e 342e 3220 4361 6d65 7261 0a2d 2d2d 3.4.2 Camera.---\n+00012560: 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 ---------..*Synt\n+00012570: 6178 3a2a 0a20 2020 2020 6361 6d65 7261 ax:*. camera\n+00012580: 2054 5241 4e53 464f 524d 5f45 5850 5245 TRANSFORM_EXPRE\n+00012590: 5353 494f 4e0a 2020 2054 6865 2054 5241 SSION. The TRA\n+000125a0: 4e53 464f 524d 5f45 5850 5245 5353 494f NSFORM_EXPRESSIO\n+000125b0: 4e20 6973 2061 7070 6c69 6564 2061 6674 N is applied aft\n+000125c0: 6572 2061 6c6c 206f 7468 6572 2074 7261 er all other tra\n+000125d0: 6e73 666f 726d 6174 696f 6e73 0a6f 6620 nsformations.of \n+000125e0: 7468 6520 7363 656e 652e 2020 5468 6973 the scene. This\n+000125f0: 2069 7320 6375 7272 656e 746c 7920 6f6e is currently on\n+00012600: 6c79 2075 7365 6675 6c20 666f 7220 7472 ly useful for tr\n+00012610: 616e 7366 6f72 6d69 6e67 2074 6865 0a62 ansforming the.b\n+00012620: 6f75 6e64 696e 6720 626f 782e 2020 2a4e ounding box. *N\n+00012630: 6f74 6520 5069 6374 7572 6520 626f 783a ote Picture box:\n+00012640: 3a2e 2020 4974 2077 696c 6c20 706c 6179 :. It will play\n+00012650: 2061 2072 6f6c 6520 696e 2061 6e79 2066 a role in any f\n+00012660: 7574 7572 650a 696d 706c 656d 656e 7461 uture.implementa\n+00012670: 7469 6f6e 206f 6620 636c 6970 7069 6e67 tion of clipping\n+00012680: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+00012690: 682e 696e 666f 2c20 204e 6f64 653a 2050 h.info, Node: P\n+000126a0: 6963 7475 7265 2062 6f78 2c20 204e 6578 icture box, Nex\n+000126b0: 743a 2046 7261 6d65 2c20 2050 7265 763a t: Frame, Prev:\n+000126c0: 2043 616d 6572 612c 2020 5570 3a20 476c Camera, Up: Gl\n+000126d0: 6f62 616c 2065 6e76 6972 6f6e 6d65 6e74 obal environment\n+000126e0: 0a0a 332e 342e 3320 5069 6374 7572 6520 ..3.4.3 Picture \n+000126f0: 626f 780a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d box.------------\n+00012700: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:*\n+00012710: 0a20 2020 2020 7069 6374 7572 6562 6f78 . picturebox\n+00012720: 5b42 4153 454c 494e 455d 0a20 2020 2020 [BASELINE]. \n+00012730: 7069 6374 7572 6562 6f78 5b42 4153 454c picturebox[BASEL\n+00012740: 494e 455d 2028 5031 2928 5032 290a 5468 INE] (P1)(P2).Th\n+00012750: 6520 6669 7273 7420 666f 726d 206f 6620 e first form of \n+00012760: e280 9870 6963 7475 7265 626f 78e2 8099 ...picturebox...\n+00012770: 2063 6175 7365 7320 6120 7363 616c 6172 causes a scalar\n+00012780: 2042 4153 454c 494e 4520 6672 6163 7469 BASELINE fracti\n+00012790: 6f6e 2074 6f20 6265 0a65 6d69 7474 6564 on to be.emitted\n+000127a0: 2069 6e20 7468 6520 e280 9870 7370 6963 in the ...pspic\n+000127b0: 7475 7265 e280 9920 656e 7669 726f 6e6d ture... environm\n+000127c0: 656e 7420 6f66 2074 6865 206f 7574 7075 ent of the outpu\n+000127d0: 742e 2020 5365 6520 e280 9850 5354 7269 t. See ...PSTri\n+000127e0: 636b 73e2 8099 0a64 6f63 756d 656e 7461 cks....documenta\n+000127f0: 7469 6f6e 2066 6f72 20e2 8098 7073 7069 tion for ...pspi\n+00012800: 6374 7572 65e2 8099 2e0a 0a20 2020 496e cture...... In\n+00012810: 2074 6865 2073 6563 6f6e 6420 666f 726d the second form\n+00012820: 2c20 7468 6520 4241 5345 4c49 4e45 2066 , the BASELINE f\n+00012830: 7261 6374 696f 6e20 6973 206f 7074 696f raction is optio\n+00012840: 6e61 6c2c 2061 6e64 2074 6865 2074 776f nal, and the two\n+00012850: 0a70 6f69 6e74 7320 7468 6174 2066 6f6c .points that fol\n+00012860: 6c6f 7720 6465 6669 6e65 2074 6865 2064 low define the d\n+00012870: 6961 676f 6e61 6c20 6f66 2061 2074 6872 iagonal of a thr\n+00012880: 6565 2d64 696d 656e 7369 6f6e 616c 2062 ee-dimensional b\n+00012890: 6f75 6e64 696e 670a 626f 7820 666f 7220 ounding.box for \n+000128a0: 7468 6520 636f 6d70 6c65 7465 6420 7363 the completed sc\n+000128b0: 656e 652e 2020 5468 6520 7061 7261 6c6c ene. The parall\n+000128c0: 656c 2070 726f 6a65 6374 696f 6e20 6f66 el projection of\n+000128d0: 2074 6865 2062 6f75 6e64 696e 670a 626f the bounding.bo\n+000128e0: 7820 6465 7465 726d 696e 6573 2074 6865 x determines the\n+000128f0: 2063 6f72 6e65 7273 206f 6620 7468 6520 corners of the \n+00012900: 6472 6177 696e 6727 7320 e280 9870 7370 drawing's ...psp\n+00012910: 6963 7475 7265 2ae2 8099 2065 6e76 6972 icture*... envir\n+00012920: 6f6e 6d65 6e74 2c0a 7768 6963 6820 6973 onment,.which is\n+00012930: 2075 7365 6420 696e 2070 6c61 6365 206f used in place o\n+00012940: 6620 e280 9870 7370 6963 7475 7265 e280 f ...pspicture..\n+00012950: 992e 2020 5468 6973 2063 6175 7365 7320 .. This causes \n+00012960: 506f 7374 5363 7269 7074 2074 6f20 636c PostScript to cl\n+00012970: 6970 0a74 6865 2066 696e 616c 2064 7261 ip.the final dra\n+00012980: 7769 6e67 2074 6f20 7468 6520 626f 756e wing to the boun\n+00012990: 6469 6e67 2062 6f78 2069 6e20 3264 2e20 ding box in 2d. \n+000129a0: 2049 6620 7468 6572 6520 6973 2061 20e2 If there is a .\n+000129b0: 8098 6361 6d65 7261 e280 990a 7370 6563 ..camera....spec\n+000129c0: 6966 6965 642c 2074 6865 2063 616d 6572 ified, the camer\n+000129d0: 6120 7472 616e 666f 726d 6174 696f 6e20 a tranformation \n+000129e0: 6973 2061 7070 6c69 6564 2074 6f20 7468 is applied to th\n+000129f0: 6520 626f 756e 6469 6e67 2062 6f78 2c20 e bounding box, \n+00012a00: 616e 640a 7468 6520 e280 9870 7370 6963 and.the ...pspic\n+00012a10: 7475 7265 e280 9920 6973 2073 6574 206a ture... is set j\n+00012a20: 7573 7420 6c61 7267 6520 656e 6f75 6768 ust large enough\n+00012a30: 2074 6f20 696e 636c 7564 6520 7468 6520 to include the \n+00012a40: 7472 616e 7366 6f72 6d65 6420 626f 782e transformed box.\n+00012a50: 0a0a 2020 2057 6865 6e20 6e6f 2062 6f75 .. When no bou\n+00012a60: 6e64 696e 6720 626f 7820 6973 2067 6976 nding box is giv\n+00012a70: 656e 2c20 e280 9873 6b65 7463 68e2 8099 en, ...sketch...\n+00012a80: 2063 6f6d 7075 7465 7320 6f6e 6520 6175 computes one au\n+00012a90: 746f 6d61 7469 6361 6c6c 792e 0a0a 1f0a tomatically.....\n+00012aa0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+00012ab0: 6f2c 2020 4e6f 6465 3a20 4672 616d 652c o, Node: Frame,\n+00012ac0: 2020 4e65 7874 3a20 4c61 6e67 7561 6765 Next: Language\n+00012ad0: 2c20 2050 7265 763a 2050 6963 7475 7265 , Prev: Picture\n+00012ae0: 2062 6f78 2c20 2055 703a 2047 6c6f 6261 box, Up: Globa\n+00012af0: 6c20 656e 7669 726f 6e6d 656e 740a 0a33 l environment..3\n+00012b00: 2e34 2e34 2046 7261 6d65 0a2d 2d2d 2d2d .4.4 Frame.-----\n+00012b10: 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 783a ------..*Syntax:\n+00012b20: 2a0a 2020 2020 2066 7261 6d65 205b 4f50 *. frame [OP\n+00012b30: 5449 4f4e 535d 0a43 6175 7365 7320 6120 TIONS].Causes a \n+00012b40: 5c70 7366 7261 6d65 626f 7820 746f 2073 \\psframebox to s\n+00012b50: 7572 726f 756e 6420 7468 6520 e280 9870 urround the ...p\n+00012b60: 7370 6963 7475 7265 e280 9920 656e 7669 spicture... envi\n+00012b70: 726f 6e6d 656e 7420 696e 2074 6865 0a6f ronment in the.o\n+00012b80: 7574 7075 742e 2020 4966 204f 5054 494f utput. If OPTIO\n+00012b90: 4e53 2061 7265 2070 7265 7365 6e74 2c20 NS are present, \n+00012ba0: 7468 6579 2061 7265 2063 6f70 6965 6420 they are copied \n+00012bb0: 6173 2d69 732e 2020 4e6f 726d 616c 6c79 as-is. Normally\n+00012bc0: 206f 6e65 0a77 6f75 6c64 2077 616e 7420 one.would want \n+00012bd0: 746f 2073 6574 20e2 8098 6c69 6e65 7769 to set ...linewi\n+00012be0: 6474 68e2 8099 2c20 e280 986c 696e 6573 dth..., ...lines\n+00012bf0: 7479 6c65 e280 992c 20e2 8098 6c69 6e65 tyle..., ...line\n+00012c00: 636f 6c6f 72e2 8099 2c20 6574 632e 2020 color..., etc. \n+00012c10: 4966 0a6f 6d69 7474 6564 2c20 7468 656e If.omitted, then\n+00012c20: 20e2 8098 6672 616d 6573 6570 3d30 7074 ...framesep=0pt\n+00012c30: e280 9920 6973 2061 6464 6564 2073 6f20 ... is added so \n+00012c40: 7468 6174 2074 6865 2066 7261 6d65 2074 that the frame t\n+00012c50: 6967 6874 6c79 2068 7567 7320 7468 650a ightly hugs the.\n+00012c60: e280 9870 7370 6963 7475 7265 e280 992e ...pspicture....\n+00012c70: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+00012c80: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 4c61 .info, Node: La\n+00012c90: 6e67 7561 6765 2c20 2050 7265 763a 2046 nguage, Prev: F\n+00012ca0: 7261 6d65 2c20 2055 703a 2047 6c6f 6261 rame, Up: Globa\n+00012cb0: 6c20 656e 7669 726f 6e6d 656e 740a 0a33 l environment..3\n+00012cc0: 2e34 2e35 204c 616e 6775 6167 650a 2d2d .4.5 Language.--\n+00012cd0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2020 ------------.. \n+00012ce0: 2020 206c 616e 6775 6167 6520 7469 6b7a language tikz\n+00012cf0: 0a20 2020 2020 6c61 6e67 7561 6765 2074 . language t\n+00012d00: 696b 7a2c 2063 6f6e 7465 7874 0a20 2020 ikz, context. \n+00012d10: 2020 6c61 6e67 7561 6765 2070 7374 7269 language pstri\n+00012d20: 636b 730a 2020 2020 206c 616e 6775 6167 cks. languag\n+00012d30: 6520 7073 7472 6963 6b73 2c20 6c61 7465 e pstricks, late\n+00012d40: 780a 5365 7473 2074 6865 206f 7574 7075 x.Sets the outpu\n+00012d50: 7420 6c61 6e67 7561 6765 2067 656e 6572 t language gener\n+00012d60: 6174 6564 2062 7920 e280 9873 6b65 7463 ated by ...sketc\n+00012d70: 68e2 8099 2e20 2054 6865 2073 6574 206f h.... The set o\n+00012d80: 6620 6f70 7469 6f6e 730a 756e 6465 7273 f options.unders\n+00012d90: 746f 6f64 2062 7920 736b 6574 6368 2061 tood by sketch a\n+00012da0: 6c73 6f20 6368 616e 6765 732e 2020 466f lso changes. Fo\n+00012db0: 7220 6578 616d 706c 652c 2074 6865 20e2 r example, the .\n+00012dc0: 8098 5053 5472 6963 6b73 e280 9920 6f70 ..PSTricks... op\n+00012dd0: 7469 6f6e 0ae2 8098 6c69 6e65 7769 6474 tion....linewidt\n+00012de0: 68e2 8099 2077 696c 6c20 6e6f 7420 6265 h... will not be\n+00012df0: 2070 726f 7065 726c 7920 6861 6e64 6c65 properly handle\n+00012e00: 6420 6966 20e2 8098 6c61 6e67 7561 6765 d if ...language\n+00012e10: e280 9920 6973 2073 6574 2074 6f20 e280 ... is set to ..\n+00012e20: 9874 696b 7ae2 8099 2e0a 5369 6d69 6c61 .tikz.....Simila\n+00012e30: 726c 792c 2074 6865 20e2 8098 5469 6b5a rly, the ...TikZ\n+00012e40: e280 9920 6f70 7469 6f6e 20e2 8098 6c69 ... option ...li\n+00012e50: 6e65 2073 7479 6c65 e280 9920 286e 6f74 ne style... (not\n+00012e60: 6520 7468 6520 7370 6163 6529 2077 696c e the space) wil\n+00012e70: 6c20 6e6f 7420 6265 0a70 726f 7065 726c l not be.properl\n+00012e80: 7920 6861 6e64 6c65 6420 6966 20e2 8098 y handled if ...\n+00012e90: 6c61 6e67 7561 6765 e280 9920 6973 2073 language... is s\n+00012ea0: 6574 2074 6f20 e280 9870 7374 7269 636b et to ...pstrick\n+00012eb0: 73e2 8099 2e20 2049 6620 6e6f 206c 616e s.... If no lan\n+00012ec0: 6775 6167 6520 6973 0a73 7065 6369 6669 guage is.specifi\n+00012ed0: 6564 2c20 7468 6520 6465 6661 756c 7420 ed, the default \n+00012ee0: e280 9870 7374 7269 636b 73e2 8099 2069 ...pstricks... i\n+00012ef0: 7320 7573 6564 2e0a 0a20 2020 416e 206f s used... An o\n+00012f00: 7074 696f 6e61 6c20 636f 6d6d 6120 666f ptional comma fo\n+00012f10: 6c6c 6f77 6564 2062 7920 e280 986c 6174 llowed by ...lat\n+00012f20: 6578 e280 9920 6f72 20e2 8098 636f 6e74 ex... or ...cont\n+00012f30: 6578 74e2 8099 2073 7065 6369 6669 6573 ext... specifies\n+00012f40: 2074 6865 0a6d 6163 726f 2070 6163 6b61 the.macro packa\n+00012f50: 6765 2074 6861 7420 7468 6520 6f75 7470 ge that the outp\n+00012f60: 7574 2073 686f 756c 6420 6173 7375 6d65 ut should assume\n+00012f70: 2e20 2054 6869 7320 6166 6665 6374 7320 . This affects \n+00012f80: 7468 6520 e280 9870 6963 7475 7265 e280 the ...picture..\n+00012f90: 990a 656e 7669 726f 6e6d 656e 7420 636f ..environment co\n+00012fa0: 6d6d 616e 6473 2065 6d69 7474 6564 2061 mmands emitted a\n+00012fb0: 6e64 2074 6865 2064 6f63 756d 656e 7420 nd the document \n+00012fc0: 7465 6d70 6c61 7465 2075 7365 6420 7769 template used wi\n+00012fd0: 7468 2074 6865 0ae2 8098 2d54 e280 9920 th the....-T... \n+00012fe0: 6f70 7469 6f6e 2e20 202a 4e6f 7465 2043 option. *Note C\n+00012ff0: 6f6d 6d61 6e64 206c 696e 653a 3a2e 2020 ommand line::. \n+00013000: 4e6f 7465 2074 6861 7420 6174 2074 6865 Note that at the\n+00013010: 2074 696d 6520 7468 6973 206d 616e 7561 time this manua\n+00013020: 6c0a 7761 7320 6765 6e65 7261 7465 642c l.was generated,\n+00013030: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... \n+00013040: 7761 7320 6e6f 7420 7375 7070 6f72 7465 was not supporte\n+00013050: 6420 6279 204c 6154 6558 206f 7220 6279 d by LaTeX or by\n+00013060: 20e2 8098 436f 6e54 6558 74e2 8099 2e0a ...ConTeXt.....\n+00013070: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+00013080: 696e 666f 2c20 204e 6f64 653a 2042 7569 info, Node: Bui\n+00013090: 6c64 696e 6720 6120 6472 6177 696e 672c lding a drawing,\n+000130a0: 2020 4e65 7874 3a20 436f 6d6d 616e 6420 Next: Command \n+000130b0: 6c69 6e65 2c20 2050 7265 763a 2049 6e70 line, Prev: Inp\n+000130c0: 7574 206c 616e 6775 6167 652c 2020 5570 ut language, Up\n+000130d0: 3a20 546f 700a 0a34 2042 7569 6c64 696e : Top..4 Buildin\n+000130e0: 6720 6120 6472 6177 696e 670a 2a2a 2a2a g a drawing.****\n+000130f0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+00013100: 0a0a 5375 6363 6573 7366 756c 2064 7261 ..Successful dra\n+00013110: 7769 6e67 7320 7769 7468 20e2 8098 736b wings with ...sk\n+00013120: 6574 6368 e280 9920 616e 6420 7769 7468 etch... and with\n+00013130: 2061 6e79 2073 6365 6e65 2064 6573 6372 any scene descr\n+00013140: 6970 7469 6f6e 0a6c 616e 6775 6167 6520 iption.language \n+00013150: 7265 7175 6972 6520 7468 6174 2074 6865 require that the\n+00013160: 2075 7365 7220 6465 7665 6c6f 7020 616e user develop an\n+00013170: 2061 6363 7572 6174 6520 6d65 6e74 616c accurate mental\n+00013180: 2070 6963 7475 7265 206f 6620 6865 720a picture of her.\n+00013190: 636f 6465 2061 6e64 2069 7473 206d 6561 code and its mea\n+000131a0: 6e69 6e67 2e20 2054 6869 7320 696d 6167 ning. This imag\n+000131b0: 6520 6973 2062 6573 7420 6275 696c 7420 e is best built \n+000131c0: 696e 2073 6d61 6c6c 2070 6965 6365 732e in small pieces.\n+000131d0: 0a54 6865 7265 666f 7265 2c20 e280 9873 .Therefore, ...s\n+000131e0: 6b65 7463 68e2 8099 2069 6e70 7574 7320 ketch... inputs \n+000131f0: 6172 6520 6265 7374 2063 7265 6174 6564 are best created\n+00013200: 2069 6e20 736d 616c 6c20 696e 6372 656d in small increm\n+00013210: 656e 7473 2077 6974 680a 6672 6571 7565 ents with.freque\n+00013220: 6e74 2070 6175 7365 7320 746f 2063 6f6d nt pauses to com\n+00013230: 7069 6c65 2061 6e64 2076 6965 7720 7468 pile and view th\n+00013240: 6520 7265 7375 6c74 732e 2020 4361 7265 e results. Care\n+00013250: 6675 6c20 636f 6d6d 656e 7473 2069 6e0a ful comments in.\n+00013260: 7468 6520 696e 7075 7420 6f66 7465 6e20 the input often \n+00013270: 6865 6c70 2061 7320 6120 7363 656e 6520 help as a scene \n+00013280: 6772 6f77 7320 696e 2063 6f6d 706c 6578 grows in complex\n+00013290: 6974 792e 0a0a 2a20 4d65 6e75 3a0a 0a2a ity...* Menu:..*\n+000132a0: 204f 7665 7276 6965 773a 3a20 2020 2020 Overview:: \n+000132b0: 2020 2020 2020 2020 2020 2020 2020 2042 B\n+000132c0: 7569 6c64 696e 6720 6120 7375 6273 7461 uilding a substa\n+000132d0: 6e74 6961 6c20 6472 6177 696e 672e 0a2a ntial drawing..*\n+000132e0: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n+000132f0: 7769 6e67 3a3a 2020 2020 2020 2020 2041 wing:: A\n+00013300: 6e20 6578 616d 706c 6520 7769 7468 2066 n example with f\n+00013310: 696e 6520 706c 6163 656d 656e 742e 0a2a ine placement..*\n+00013320: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical \n+00013330: 6d6f 6465 6c3a 3a20 2020 2020 2020 2041 model:: A\n+00013340: 6e20 6578 616d 706c 6520 7769 7468 2073 n example with s\n+00013350: 7765 6570 7320 616e 6420 7075 7473 2e0a weeps and puts..\n+00013360: 2a20 4361 7665 6174 733a 3a20 2020 2020 * Caveats:: \n+00013370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00013380: 5768 6572 6520 7472 6f75 626c 6520 6361 Where trouble ca\n+00013390: 6e20 6f63 6375 722e 0a0a 1f0a 4669 6c65 n occur.....File\n+000133a0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+000133b0: 4e6f 6465 3a20 4f76 6572 7669 6577 2c20 Node: Overview, \n+000133c0: 204e 6578 743a 2041 2074 6563 686e 6963 Next: A technic\n+000133d0: 616c 2064 7261 7769 6e67 2c20 2050 7265 al drawing, Pre\n+000133e0: 763a 2042 7569 6c64 696e 6720 6120 6472 v: Building a dr\n+000133f0: 6177 696e 672c 2020 5570 3a20 4275 696c awing, Up: Buil\n+00013400: 6469 6e67 2061 2064 7261 7769 6e67 0a0a ding a drawing..\n+00013410: 342e 3120 4f76 6572 7669 6577 0a3d 3d3d 4.1 Overview.===\n+00013420: 3d3d 3d3d 3d3d 3d3d 3d0a 0a41 7320 616e =========..As an\n+00013430: 206f 7665 7276 6965 772c 206c 6574 2773 overview, let's\n+00013440: 2064 6576 656c 6f70 2061 2064 6961 6772 develop a diagr\n+00013450: 616d 2074 6861 7420 7368 6f77 7320 686f am that shows ho\n+00013460: 7720 6120 7065 7273 7065 6374 6976 650a w a perspective.\n+00013470: 7072 6f6a 6563 7469 6f6e 2074 7261 6e73 projection trans\n+00013480: 666f 726d 2077 6f72 6b73 2e20 2057 6527 form works. We'\n+00013490: 6c6c 2073 7461 7274 2077 6974 6820 7468 ll start with th\n+000134a0: 6520 7472 6164 6974 696f 6e61 6c20 7265 e traditional re\n+000134b0: 6665 7265 6e63 650a 6f62 6a65 6374 2075 ference.object u\n+000134c0: 7365 6420 696e 2063 6f6d 7075 7465 7220 sed in computer \n+000134d0: 6772 6170 6869 6373 2074 6578 7462 6f6f graphics textboo\n+000134e0: 6b73 2c20 6120 686f 7573 652d 7368 6170 ks, a house-shap\n+000134f0: 6564 2070 7269 736d 2e20 2042 6567 696e ed prism. Begin\n+00013500: 0a62 7920 6465 6669 6e69 6e67 2074 6865 .by defining the\n+00013510: 2070 6f69 6e74 7320 6f66 2074 6865 2068 points of the h\n+00013520: 6f75 7365 2e20 2052 6174 6865 7220 7468 ouse. Rather th\n+00013530: 616e 2064 6566 696e 696e 6720 7468 6520 an defining the \n+00013540: 6661 6365 7320 6f66 0a74 6865 2068 6f75 faces of.the hou\n+00013550: 7365 2061 7320 706f 6c79 676f 6e73 2061 se as polygons a\n+00013560: 6e64 2074 7261 6e73 666f 726d 696e 6720 nd transforming \n+00013570: 7468 6f73 652c 2077 6520 6172 6520 676f those, we are go\n+00013580: 696e 6720 746f 2074 7261 6e73 666f 726d ing to transform\n+00013590: 0a74 6865 2070 6f69 6e74 7320 7468 656d .the points them\n+000135a0: 7365 6c76 6573 2077 6974 6820 e280 9873 selves with ...s\n+000135b0: 6b65 7463 68e2 8099 2061 7269 7468 6d65 ketch... arithme\n+000135c0: 7469 6320 736f 2074 6861 7420 7765 2068 tic so that we h\n+000135d0: 6176 6520 6e61 6d65 7320 666f 720a 7468 ave names for.th\n+000135e0: 6520 7472 616e 7366 6f72 6d65 6420 706f e transformed po\n+000135f0: 696e 7473 206c 6174 6572 2e0a 2020 2520 ints later.. % \n+00013600: 7269 6768 7420 7369 6465 2028 6f75 7473 right side (outs\n+00013610: 6964 6520 746f 2072 6967 6874 290a 2020 ide to right). \n+00013620: 6465 6620 5231 2028 312c 312c 3129 2064 def R1 (1,1,1) d\n+00013630: 6566 2052 3220 2831 2c2d 312c 3129 2064 ef R2 (1,-1,1) d\n+00013640: 6566 2052 3320 2831 2c2d 312c 2d31 2920 ef R3 (1,-1,-1) \n+00013650: 6465 6620 5234 2028 312c 312c 2d31 290a def R4 (1,1,-1).\n+00013660: 2020 6465 6620 5235 2028 312c 312e 352c def R5 (1,1.5,\n+00013670: 3029 0a0a 2020 2520 6c65 6674 2073 6964 0).. % left sid\n+00013680: 6520 286f 7574 7369 6465 2074 6f20 7269 e (outside to ri\n+00013690: 6768 742d 2d62 6163 6b77 6172 6429 0a20 ght--backward). \n+000136a0: 2064 6566 2057 2020 5b32 2c30 2c30 5d0a def W [2,0,0].\n+000136b0: 2020 6465 6620 4c31 2028 5231 292d 5b57 def L1 (R1)-[W\n+000136c0: 5d20 6465 6620 4c32 2028 5232 292d 5b57 ] def L2 (R2)-[W\n+000136d0: 5d20 6465 6620 4c33 2028 5233 292d 5b57 ] def L3 (R3)-[W\n+000136e0: 5d20 6465 6620 4c34 2028 5234 292d 5b57 ] def L4 (R4)-[W\n+000136f0: 5d0a 2020 6465 6620 4c35 2028 5235 292d ]. def L5 (R5)-\n+00013700: 5b57 5d0a 546f 2061 6464 2061 2064 6f6f [W].To add a doo\n+00013710: 7220 746f 2074 6865 2068 6f75 7365 2c20 r to the house, \n+00013720: 7765 2075 7365 2061 2070 6f6c 7967 6f6e we use a polygon\n+00013730: 2073 6c69 6768 746c 7920 696e 2066 726f slightly in fro\n+00013740: 6e74 206f 6620 7468 650a 666f 7265 6d6f nt of the.foremo\n+00013750: 7374 2066 6163 6520 6f66 2074 6865 2068 st face of the h\n+00013760: 6f75 7365 2e0a 2020 2520 646f 6f72 0a20 ouse.. % door. \n+00013770: 2064 6566 2065 202e 3031 0a20 2064 6566 def e .01. def\n+00013780: 2044 3120 2830 2c2d 312c 312b 6529 2064 D1 (0,-1,1+e) d\n+00013790: 6566 2044 3220 282e 352c 2d31 2c31 2b65 ef D2 (.5,-1,1+e\n+000137a0: 2920 6465 6620 4433 2028 2e35 2c30 2c31 ) def D3 (.5,0,1\n+000137b0: 2b65 2920 6465 6620 4434 2028 302c 302c +e) def D4 (0,0,\n+000137c0: 312b 6529 0a4e 6f77 206c 6574 2773 2063 1+e).Now let's c\n+000137d0: 7265 6174 6520 6120 6e65 7720 7365 7420 reate a new set \n+000137e0: 6f66 2070 6f69 6e74 7320 7468 6174 2061 of points that a\n+000137f0: 7265 2061 2074 6f2d 6265 2d64 6574 6572 re a to-be-deter\n+00013800: 6d69 6e65 640a 7472 616e 7366 6f72 6d20 mined.transform \n+00013810: 6f66 2074 6865 206f 7269 6769 6e61 6c73 of the originals\n+00013820: 2e0a 2020 6465 6620 6870 2073 6361 6c65 .. def hp scale\n+00013830: 2831 2920 2520 686f 7573 6520 706f 7369 (1) % house posi\n+00013840: 7469 6f6e 6572 0a20 2064 6566 2070 5231 tioner. def pR1\n+00013850: 205b 5b68 705d 5d2a 2852 3129 2064 6566 [[hp]]*(R1) def\n+00013860: 2070 5232 205b 5b68 705d 5d2a 2852 3229 pR2 [[hp]]*(R2)\n+00013870: 2064 6566 2070 5233 205b 5b68 705d 5d2a def pR3 [[hp]]*\n+00013880: 2852 3329 0a20 2064 6566 2070 5234 205b (R3). def pR4 [\n+00013890: 5b68 705d 5d2a 2852 3429 2064 6566 2070 [hp]]*(R4) def p\n+000138a0: 5235 205b 5b68 705d 5d2a 2852 3529 0a20 R5 [[hp]]*(R5). \n+000138b0: 2064 6566 2070 4c31 205b 5b68 705d 5d2a def pL1 [[hp]]*\n+000138c0: 284c 3129 2064 6566 2070 4c32 205b 5b68 (L1) def pL2 [[h\n+000138d0: 705d 5d2a 284c 3229 2064 6566 2070 4c33 p]]*(L2) def pL3\n+000138e0: 205b 5b68 705d 5d2a 284c 3329 0a20 2064 [[hp]]*(L3). d\n+000138f0: 6566 2070 4c34 205b 5b68 705d 5d2a 284c ef pL4 [[hp]]*(L\n+00013900: 3429 2064 6566 2070 4c35 205b 5b68 705d 4) def pL5 [[hp]\n+00013910: 5d2a 284c 3529 0a20 2064 6566 2070 4431 ]*(L5). def pD1\n+00013920: 205b 5b68 705d 5d2a 2844 3129 2064 6566 [[hp]]*(D1) def\n+00013930: 2070 4432 205b 5b68 705d 5d2a 2844 3229 pD2 [[hp]]*(D2)\n+00013940: 2064 6566 2070 4433 205b 5b68 705d 5d2a def pD3 [[hp]]*\n+00013950: 2844 3329 0a20 2064 6566 2070 4434 205b (D3). def pD4 [\n+00013960: 5b68 705d 5d2a 2844 3429 200a 4e6f 7465 [hp]]*(D4) .Note\n+00013970: 2074 6865 2075 7365 206f 6620 6120 e280 the use of a ..\n+00013980: 9c74 7261 6e73 666f 726d 2064 6566 696e .transform defin\n+00013990: 6974 696f 6ee2 809d 2061 6e64 20e2 809c ition... and ...\n+000139a0: 7472 616e 7366 6f72 6d20 7265 6665 7265 transform refere\n+000139b0: 6e63 6573 e280 9d2e 0a4e 6f77 2064 6566 nces.....Now def\n+000139c0: 696e 6520 7468 6520 7365 7665 6e20 706f ine the seven po\n+000139d0: 6c79 676f 6e61 6c20 6661 6365 7320 6f66 lygonal faces of\n+000139e0: 2074 6865 2068 6f75 7365 2061 6e64 2074 the house and t\n+000139f0: 6865 2064 6f6f 7220 7573 696e 6720 7468 he door using th\n+00013a00: 650a 7472 616e 7366 6f72 6d65 6420 706f e.transformed po\n+00013a10: 696e 7473 2061 7320 7665 7274 6963 6573 ints as vertices\n+00013a20: 2e20 2042 6520 6361 7265 6675 6c20 7769 . Be careful wi\n+00013a30: 7468 2076 6572 7465 7820 6f72 6465 7221 th vertex order!\n+00013a40: 0a20 2064 6566 2072 6774 2070 6f6c 7967 . def rgt polyg\n+00013a50: 6f6e 2028 7052 3129 2870 5232 2928 7052 on (pR1)(pR2)(pR\n+00013a60: 3329 2870 5234 2928 7052 3529 0a20 2064 3)(pR4)(pR5). d\n+00013a70: 6566 206c 6674 2070 6f6c 7967 6f6e 2028 ef lft polygon (\n+00013a80: 704c 3529 2870 4c34 2928 704c 3329 2870 pL5)(pL4)(pL3)(p\n+00013a90: 4c32 2928 704c 3129 0a20 2064 6566 2066 L2)(pL1). def f\n+00013aa0: 7274 2070 6f6c 7967 6f6e 2028 7052 3229 rt polygon (pR2)\n+00013ab0: 2870 5231 2928 704c 3129 2870 4c32 290a (pR1)(pL1)(pL2).\n+00013ac0: 2020 6465 6620 6263 6b20 706f 6c79 676f def bck polygo\n+00013ad0: 6e20 2870 5234 2928 7052 3329 2870 4c33 n (pR4)(pR3)(pL3\n+00013ae0: 2928 704c 3429 0a20 2064 6566 2074 6672 )(pL4). def tfr\n+00013af0: 2070 6f6c 7967 6f6e 2028 7052 3129 2870 polygon (pR1)(p\n+00013b00: 5235 2928 704c 3529 2870 4c31 290a 2020 R5)(pL5)(pL1). \n+00013b10: 6465 6620 7462 6b20 706f 6c79 676f 6e20 def tbk polygon \n+00013b20: 2870 5235 2928 7052 3429 2870 4c34 2928 (pR5)(pR4)(pL4)(\n+00013b30: 704c 3529 0a20 2064 6566 2062 6f74 2070 pL5). def bot p\n+00013b40: 6f6c 7967 6f6e 2028 7052 3229 2870 4c32 olygon (pR2)(pL2\n+00013b50: 2928 704c 3329 2870 5233 290a 2020 6465 )(pL3)(pR3). de\n+00013b60: 6620 646f 6f72 2070 6f6c 7967 6f6e 5b66 f door polygon[f\n+00013b70: 696c 6c63 6f6c 6f72 3d62 726f 776e 5d20 illcolor=brown] \n+00013b80: 2870 4431 2928 7044 3229 2870 4433 2928 (pD1)(pD2)(pD3)(\n+00013b90: 7044 3429 0a20 2064 6566 2068 6f75 7365 pD4). def house\n+00013ba0: 207b 207b 7267 747d 7b6c 6674 7d7b 6672 { {rgt}{lft}{fr\n+00013bb0: 747d 7b62 636b 7d7b 7466 727d 7b74 626b t}{bck}{tfr}{tbk\n+00013bc0: 7d7b 626f 747d 7b64 6f6f 727d 207d 0a20 }{bot}{door} }. \n+00013bd0: 2020 5469 6d65 2066 6f72 2061 2073 616e Time for a san\n+00013be0: 6974 7920 6368 6563 6b2e 2020 4164 6420 ity check. Add \n+00013bf0: 7468 6520 6c69 6e65 0a20 207b 686f 7573 the line. {hous\n+00013c00: 657d 0a61 6e64 2074 6869 7320 6973 2077 e}.and this is w\n+00013c10: 6861 7420 7765 2067 6574 2e0a 0a00 085b hat we get.....[\n+00013c20: 696d 6167 6520 7372 633d 2265 7831 3330 image src=\"ex130\n+00013c30: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png\" text=\"Imag\n+00013c40: 6520 6578 3133 3020 6f6d 6974 7465 6420 e ex130 omitted \n+00013c50: 696e 2074 6578 7420 7665 7273 696f 6e20 in text version \n+00013c60: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document\n+00013c70: 2e22 0008 5d0a 0a54 6869 7320 6973 2063 .\"..]..This is c\n+00013c80: 6f72 7265 6374 2c20 6275 7420 646f 6573 orrect, but does\n+00013c90: 206e 6f74 2072 6576 6561 6c20 7665 7279 not reveal very\n+00013ca0: 206d 7563 682e 2020 436f 6d6d 6f6e 2065 much. Common e\n+00013cb0: 7272 6f72 7320 6172 650a 6d69 7370 6c61 rrors are.mispla\n+00013cc0: 6365 6420 7665 7274 6963 6573 2061 6e64 ced vertices and\n+00013cd0: 2070 6f6c 7967 6f6e 7320 6d69 7373 696e polygons missin\n+00013ce0: 6720 656e 7469 7265 6c79 2064 7565 2074 g entirely due t\n+00013cf0: 6f20 696e 636f 7272 6563 7420 7665 7274 o incorrect vert\n+00013d00: 6578 0a6f 7264 6572 2e20 2054 6f20 7275 ex.order. To ru\n+00013d10: 6c65 2074 6865 7365 206f 7574 2c20 6c65 le these out, le\n+00013d20: 7427 7320 696e 7370 6563 7420 616c 6c20 t's inspect all \n+00013d30: 7369 6465 7320 6f66 2074 6865 2068 6f75 sides of the hou\n+00013d40: 7365 2e20 2054 6869 730a 6973 206e 6f74 se. This.is not\n+00013d50: 2068 6172 642e 2020 4d65 7265 6c79 2072 hard. Merely r\n+00013d60: 6570 6c61 6365 2074 6865 2072 6566 6572 eplace the refer\n+00013d70: 656e 6365 207b 686f 7573 657d 2077 6974 ence {house} wit\n+00013d80: 6820 6120 e280 9872 6570 6561 74e2 8099 h a ...repeat...\n+00013d90: 2e0a 2a4e 6f74 6520 5265 7065 6174 733a ..*Note Repeats:\n+00013da0: 3a2e 0a20 2072 6570 6561 7420 7b20 3133 :.. repeat { 13\n+00013db0: 2c20 726f 7461 7465 2833 302c 205b 312c , rotate(30, [1,\n+00013dc0: 322c 335d 292c 2074 7261 6e73 6c61 7465 2,3]), translate\n+00013dd0: 285b 332c 302c 305d 2920 7d20 7b68 6f75 ([3,0,0]) } {hou\n+00013de0: 7365 7d0a 0008 5b69 6d61 6765 2073 7263 se}...[image src\n+00013df0: 3d22 6578 3134 302e 706e 6722 2074 6578 =\"ex140.png\" tex\n+00013e00: 743d 2249 6d61 6765 2065 7831 3430 206f t=\"Image ex140 o\n+00013e10: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n+00013e20: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n+00013e30: 6f63 756d 656e 742e 2200 085d 0a0a 4167 ocument.\"..]..Ag\n+00013e40: 6169 6e20 7468 696e 6773 206c 6f6f 6b20 ain things look \n+00013e50: 636f 7272 6563 742e 2020 4e6f 7465 2074 correct. Note t\n+00013e60: 6861 7420 7468 6520 6869 6464 656e 2073 hat the hidden s\n+00013e70: 7572 6661 6365 2061 6c67 6f72 6974 686d urface algorithm\n+00013e80: 0a68 616e 646c 6573 2069 6e74 6572 7365 .handles interse\n+00013e90: 6374 696e 6720 706f 6c79 676f 6e73 2063 cting polygons c\n+00013ea0: 6f72 7265 6374 6c79 2077 6865 7265 2073 orrectly where s\n+00013eb0: 6f6d 6520 636f 7069 6573 206f 6620 7468 ome copies of th\n+00013ec0: 6520 686f 7573 650a 6f76 6572 6c61 702e e house.overlap.\n+00013ed0: 0a0a 2020 204c 6574 2773 206c 6179 206f .. Let's lay o\n+00013ee0: 7574 2074 6865 2067 656f 6d65 7472 7920 ut the geometry \n+00013ef0: 6f66 2070 6572 7370 6563 7469 7665 2070 of perspective p\n+00013f00: 726f 6a65 6374 696f 6e20 6f66 2074 6865 rojection of the\n+00013f10: 2068 6f75 7365 0a6f 6e74 6f20 6120 706c house.onto a pl\n+00013f20: 616e 6520 7769 7468 2072 6179 7320 7061 ane with rays pa\n+00013f30: 7373 696e 6720 7468 726f 7567 6820 7468 ssing through th\n+00013f40: 6520 6f72 6967 696e 2e20 2042 6567 696e e origin. Begin\n+00013f50: 2062 7920 706f 7369 7469 6f6e 696e 670a by positioning.\n+00013f60: 7468 6520 686f 7573 6520 7477 656c 7665 the house twelve\n+00013f70: 2075 6e69 7473 2062 6163 6b20 6f6e 2074 units back on t\n+00013f80: 6865 206e 6567 6174 6976 6520 7a2d 6178 he negative z-ax\n+00013f90: 6973 2061 6e64 2061 6464 696e 6720 6120 is and adding a \n+00013fa0: 7365 7420 6f66 0a63 6f6f 7264 696e 6174 set of.coordinat\n+00013fb0: 6520 6178 6573 2e20 2054 6f20 6d6f 7665 e axes. To move\n+00013fc0: 2074 6865 2068 6f75 7365 2077 6520 6e65 the house we ne\n+00013fd0: 6564 206f 6e6c 7920 6368 616e 6765 2074 ed only change t\n+00013fe0: 6865 2022 686f 7573 650a 706f 7369 7469 he \"house.positi\n+00013ff0: 6f6e 696e 6722 2074 7261 6e73 666f 726d oning\" transform\n+00014000: 2064 6566 696e 6564 2065 6172 6c69 6572 defined earlier\n+00014010: 2e0a 2020 6465 6620 6870 2072 6f74 6174 .. def hp rotat\n+00014020: 6528 2d34 302c 205b 302c 312c 305d 2920 e(-40, [0,1,0]) \n+00014030: 7468 656e 2074 7261 6e73 6c61 7465 285b then translate([\n+00014040: 302c 302c 2d31 325d 290a 2020 6465 6620 0,0,-12]). def \n+00014050: 6178 6573 207b 0a20 2020 2064 6566 2073 axes {. def s\n+00014060: 7a20 310a 2020 2020 6c69 6e65 205b 6172 z 1. line [ar\n+00014070: 726f 7773 3d3c 2d3e 5d20 2873 7a2c 302c rows=<->] (sz,0,\n+00014080: 3029 284f 2928 302c 737a 2c30 290a 2020 0)(O)(0,sz,0). \n+00014090: 2020 6c69 6e65 205b 6172 726f 7773 3d2d line [arrows=-\n+000140a0: 3e5d 2020 284f 2928 302c 302c 737a 290a >] (O)(0,0,sz).\n+000140b0: 2020 2020 6c69 6e65 205b 6c69 6e65 7769 line [linewi\n+000140c0: 6474 683d 2e32 7074 2c6c 696e 6563 6f6c dth=.2pt,linecol\n+000140d0: 6f72 3d62 6c75 652c 6c69 6e65 7374 796c or=blue,linestyl\n+000140e0: 653d 6461 7368 6564 5d20 284f 2928 302c e=dashed] (O)(0,\n+000140f0: 302c 2d31 3029 0a20 2020 2073 7065 6369 0,-10). speci\n+00014100: 616c 207c 5c75 7075 745b 725d 2331 7b24 al |\\uput[r]#1{$\n+00014110: 7824 7d5c 7570 7574 5b75 5d23 327b 2479 x$}\\uput[u]#2{$y\n+00014120: 247d 5c75 7075 745b 6c5d 2333 7b24 7a24 $}\\uput[l]#3{$z$\n+00014130: 7d7c 0a20 2020 2020 2028 737a 2c30 2c30 }|. (sz,0,0\n+00014140: 2928 302c 737a 2c30 2928 302c 302c 737a )(0,sz,0)(0,0,sz\n+00014150: 290a 2020 7d0a 0a20 2020 5469 6d65 2066 ). }.. Time f\n+00014160: 6f72 2061 6e6f 7468 6572 2074 6573 742e or another test.\n+00014170: 2020 4c65 7427 7320 6275 696c 6420 6120 Let's build a \n+00014180: 7265 616c 2076 6965 7720 7472 616e 7366 real view transf\n+00014190: 6f72 6d2c 2063 7265 6174 696e 6720 610a orm, creating a.\n+000141a0: e280 9c76 6972 7475 616c 2063 616d 6572 ...virtual camer\n+000141b0: 61e2 809d 2074 6f20 6c6f 6f6b 2061 7420 a... to look at \n+000141c0: 7468 6520 7363 656e 6520 7765 2061 7265 the scene we are\n+000141d0: 2063 6f6e 7374 7275 6374 696e 672e 2020 constructing. \n+000141e0: 5265 706c 6163 6520 7468 650a e280 9872 Replace the....r\n+000141f0: 6570 6561 74e2 8099 2077 6974 680a 2020 epeat... with. \n+00014200: 6465 6620 6579 6520 2831 302c 342c 3130 def eye (10,4,10\n+00014210: 290a 2020 6465 6620 6c6f 6f6b 5f61 7420 ). def look_at \n+00014220: 2830 2c30 2c2d 3529 0a20 2070 7574 207b (0,0,-5). put {\n+00014230: 2076 6965 7728 2865 7965 292c 2028 6c6f view((eye), (lo\n+00014240: 6f6b 5f61 7429 2920 7d20 7b20 7b68 6f75 ok_at)) } { {hou\n+00014250: 7365 7d7b 6178 6573 7d20 7d0a 2020 2054 se}{axes} }. T\n+00014260: 6865 20e2 809c 7669 6577 2074 7261 6e73 he ...view trans\n+00014270: 666f 726d e280 9d20 7265 706f 7369 7469 form... repositi\n+00014280: 6f6e 7320 7468 6520 7363 656e 6520 736f ons the scene so\n+00014290: 2074 6861 7420 7468 6520 706f 696e 7420 that the point \n+000142a0: e280 9865 7965 e280 9920 6973 0a61 7420 ...eye... is.at \n+000142b0: 7468 6520 6f72 6967 696e 2061 6e64 2074 the origin and t\n+000142c0: 6865 2064 6972 6563 7469 6f6e 2066 726f he direction fro\n+000142d0: 6d20 e280 9865 7965 e280 9920 746f 20e2 m ...eye... to .\n+000142e0: 8098 6c6f 6f6b 5f61 74e2 8099 2069 7320 ..look_at... is \n+000142f0: 7468 6520 6e65 6761 7469 7665 0a7a 2d61 the negative.z-a\n+00014300: 7869 732e 2020 5468 6973 2072 6571 7569 xis. This requi\n+00014310: 7265 7320 6120 726f 7461 7469 6f6e 2061 res a rotation a\n+00014320: 6e64 2061 2074 7261 6e73 6c61 7469 6f6e nd a translation\n+00014330: 2074 6861 7420 6172 6520 616c 6c20 7061 that are all pa\n+00014340: 636b 6564 0a69 6e74 6f20 7468 6520 636f cked.into the co\n+00014350: 6e73 7472 7563 746f 7220 e280 9876 6965 nstructor ...vie\n+00014360: 77e2 8099 2e0a 0a00 085b 696d 6167 6520 w........[image \n+00014370: 7372 633d 2265 7831 3530 2e70 6e67 2220 src=\"ex150.png\" \n+00014380: 7465 7874 3d22 496d 6167 6520 6578 3135 text=\"Image ex15\n+00014390: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex\n+000143a0: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi\n+000143b0: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document.\"..].\n+000143c0: 0a54 6869 7320 6973 2073 7461 7274 696e .This is startin\n+000143d0: 6720 746f 206c 6f6f 6b20 676f 6f64 2120 g to look good! \n+000143e0: 2041 6464 2074 6865 2070 726f 6a65 6374 Add the project\n+000143f0: 696f 6e20 706c 616e 6520 6861 6c66 2077 ion plane half w\n+00014400: 6179 0a62 6574 7765 656e 2074 6865 206f ay.between the o\n+00014410: 7269 6769 6e20 616e 6420 7468 6520 686f rigin and the ho\n+00014420: 7573 6520 6174 207a 3d2d 352e 2020 5765 use at z=-5. We\n+00014430: 276c 6c20 7472 7920 7468 6520 616e 676c 'll try the angl\n+00014440: 6520 6172 6775 6d65 6e74 0a66 6561 7475 e argument.featu\n+00014450: 7265 206f 6620 e280 9873 7065 6369 616c re of ...special\n+00014460: e280 9920 746f 2070 6f73 6974 696f 6e20 ... to position \n+00014470: 6120 6c61 6265 6c2e 0a20 2064 6566 2070 a label.. def p\n+00014480: 2035 2025 2070 726f 6a65 6374 696f 6e20 5 % projection \n+00014490: 6469 7374 616e 6365 2028 706c 616e 6520 distance (plane \n+000144a0: 6174 207a 3d2d 7029 0a20 2064 6566 2070 at z=-p). def p\n+000144b0: 726f 6a65 6374 696f 6e5f 706c 616e 6520 rojection_plane \n+000144c0: 7b0a 2020 2020 6465 6620 737a 2031 2e35 {. def sz 1.5\n+000144d0: 0a20 2020 2070 6f6c 7967 6f6e 2028 2d73 . polygon (-s\n+000144e0: 7a2c 2d73 7a2c 2d70 2928 737a 2c2d 737a z,-sz,-p)(sz,-sz\n+000144f0: 2c2d 7029 2873 7a2c 737a 2c2d 7029 282d ,-p)(sz,sz,-p)(-\n+00014500: 737a 2c73 7a2c 2d70 290a 2020 2020 7370 sz,sz,-p). sp\n+00014510: 6563 6961 6c20 7c5c 7270 7574 5b62 5d23 ecial |\\rput[b]#\n+00014520: 312d 3223 337b 5c66 6f6f 746e 6f74 6573 1-2#3{\\footnotes\n+00014530: 697a 655c 7366 2070 726f 6a65 6374 696f ize\\sf projectio\n+00014540: 6e20 706c 616e 657d 7c20 0a20 2020 2020 n plane}| . \n+00014550: 2028 2d73 7a2c 2d73 7a2c 2d70 2928 737a (-sz,-sz,-p)(sz\n+00014560: 2c2d 737a 2c2d 7029 2830 2c2d 737a 2b2e ,-sz,-p)(0,-sz+.\n+00014570: 312c 2d70 290a 2020 7d0a 4164 6420 7b70 1,-p). }.Add {p\n+00014580: 726f 6a65 6374 696f 6e5f 706c 616e 657d rojection_plane}\n+00014590: 2074 6f20 7468 6520 6c69 7374 206f 6620 to the list of \n+000145a0: 6f62 6a65 6374 7320 696e 2074 6865 20e2 objects in the .\n+000145b0: 8098 7075 74e2 8099 2061 626f 7665 2e0a ..put... above..\n+000145c0: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n+000145d0: 7831 3630 2e70 6e67 2220 7465 7874 3d22 x160.png\" text=\"\n+000145e0: 496d 6167 6520 6578 3136 3020 6f6d 6974 Image ex160 omit\n+000145f0: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n+00014600: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n+00014610: 6d65 6e74 2e22 0008 5d0a 0a20 2020 5468 ment.\"..].. Th\n+00014620: 6520 7761 7920 7765 2063 6f6e 7374 7275 e way we constru\n+00014630: 6374 6564 2074 6865 2070 6f69 6e74 7320 cted the points \n+00014640: 6f66 2074 6865 2068 6f75 7365 206e 6f77 of the house now\n+00014650: 206d 616b 6573 2069 7420 6561 7379 2074 makes it easy t\n+00014660: 6f0a 6472 6177 2072 6179 7320 6f66 2070 o.draw rays of p\n+00014670: 726f 6a65 6374 696f 6e2e 2020 5765 276c rojection. We'l\n+00014680: 6c20 6361 7374 206f 6e65 2072 6179 2066 l cast one ray f\n+00014690: 726f 6d20 6576 6572 7920 7669 7369 626c rom every visibl\n+000146a0: 6520 7665 7274 6578 0a6f 6620 7468 6520 e vertex.of the \n+000146b0: 686f 7573 6520 616e 6420 6465 6669 6e65 house and define\n+000146c0: 206f 7074 696f 6e73 2073 6f20 7468 6520 options so the \n+000146d0: 6170 7065 6172 616e 6365 206f 6620 616c appearance of al\n+000146e0: 6c20 7261 7973 2063 616e 2062 650a 6368 l rays can be.ch\n+000146f0: 616e 6765 6420 6174 2074 6865 2073 616d anged at the sam\n+00014700: 6520 7469 6d65 2e0a 2020 6465 6620 7072 e time.. def pr\n+00014710: 6f6a 6563 7469 6f6e 5f72 6179 7320 7b0a ojection_rays {.\n+00014720: 2020 2020 6465 6620 7261 796f 7074 205b def rayopt [\n+00014730: 6c69 6e65 7769 6474 683d 2e33 7074 2c6c linewidth=.3pt,l\n+00014740: 696e 6563 6f6c 6f72 3d6c 6967 6874 6772 inecolor=lightgr\n+00014750: 6179 5d0a 2020 2020 6c69 6e65 205b 7261 ay]. line [ra\n+00014760: 796f 7074 5d28 4f29 2870 5231 2920 6c69 yopt](O)(pR1) li\n+00014770: 6e65 205b 7261 796f 7074 5d28 4f29 2870 ne [rayopt](O)(p\n+00014780: 5232 2920 6c69 6e65 5b72 6179 6f70 745d R2) line[rayopt]\n+00014790: 284f 2928 7052 3329 0a20 2020 206c 696e (O)(pR3). lin\n+000147a0: 6520 5b72 6179 6f70 745d 284f 2928 7052 e [rayopt](O)(pR\n+000147b0: 3429 206c 696e 6520 5b72 6179 6f70 745d 4) line [rayopt]\n+000147c0: 284f 2928 7052 3529 0a20 2020 206c 696e (O)(pR5). lin\n+000147d0: 6520 5b72 6179 6f70 745d 284f 2928 704c e [rayopt](O)(pL\n+000147e0: 3129 206c 696e 6520 5b72 6179 6f70 745d 1) line [rayopt]\n+000147f0: 284f 2928 704c 3229 206c 696e 655b 7261 (O)(pL2) line[ra\n+00014800: 796f 7074 5d28 4f29 2870 4c35 290a 2020 yopt](O)(pL5). \n+00014810: 2020 6c69 6e65 205b 7261 796f 7074 5d28 line [rayopt](\n+00014820: 4f29 2870 4431 2920 6c69 6e65 205b 7261 O)(pD1) line [ra\n+00014830: 796f 7074 5d28 4f29 2870 4432 2920 0a20 yopt](O)(pD2) . \n+00014840: 2020 206c 696e 6520 5b72 6179 6f70 745d line [rayopt]\n+00014850: 284f 2928 7044 3329 206c 696e 6520 5b72 (O)(pD3) line [r\n+00014860: 6179 6f70 745d 284f 2928 7044 3429 200a ayopt](O)(pD4) .\n+00014870: 2020 7d0a 5468 6520 7265 7375 6c74 2069 }.The result i\n+00014880: 7320 7368 6f77 6e20 6865 7265 2e0a 0a00 s shown here....\n+00014890: 085b 696d 6167 6520 7372 633d 2265 7831 .[image src=\"ex1\n+000148a0: 3730 2e70 6e67 2220 7465 7874 3d22 496d 70.png\" text=\"Im\n+000148b0: 6167 6520 6578 3137 3020 6f6d 6974 7465 age ex170 omitte\n+000148c0: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio\n+000148d0: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume\n+000148e0: 6e74 2e22 0008 5d0a 0a54 6865 2072 6179 nt.\"..]..The ray\n+000148f0: 7320 7069 6572 6365 2074 6865 2070 726f s pierce the pro\n+00014900: 6a65 6374 696f 6e20 706c 616e 6520 6174 jection plane at\n+00014910: 2074 6865 2063 6f72 7265 7370 6f6e 6469 the correspondi\n+00014920: 6e67 2070 6f69 6e74 7320 6f6e 2074 6865 ng points on the\n+00014930: 0a70 6572 7370 6563 7469 7665 2069 6d61 .perspective ima\n+00014940: 6765 2077 6520 6172 6520 7472 7969 6e67 ge we are trying\n+00014950: 2074 6f20 6472 6177 2e20 2041 6c62 7265 to draw. Albre\n+00014960: 6368 7420 44c3 bc72 6572 2061 6e64 2068 cht D..rer and h\n+00014970: 6973 0a52 656e 6169 7373 616e 6365 2063 is.Renaissance c\n+00014980: 6f6e 7465 6d70 6f72 6172 6965 7320 6861 ontemporaries ha\n+00014990: 6420 7468 6520 7361 6d65 2069 6465 6120 d the same idea \n+000149a0: 696e 2074 6865 2065 6172 6c79 2031 3530 in the early 150\n+000149b0: 3027 732e 0a0a 0008 5b69 6d61 6765 2073 0's.....[image s\n+000149c0: 7263 3d22 6475 6572 6572 2e70 6e67 2220 rc=\"duerer.png\" \n+000149d0: 7465 7874 3d22 496d 6167 6520 6f66 2044 text=\"Image of D\n+000149e0: 7565 7265 7227 7320 7065 7273 7065 6374 uerer's perspect\n+000149f0: 6976 6520 636f 6d70 7574 6572 206f 6d69 ive computer omi\n+00014a00: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver\n+00014a10: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc\n+00014a20: 756d 656e 742e 2200 085d 0a0a 2020 2041 ument.\"..].. A\n+00014a30: 6c6c 2074 6861 7427 7320 6c65 6674 2069 ll that's left i\n+00014a40: 7320 746f 2066 696e 6420 6120 7761 7920 s to find a way \n+00014a50: 746f 2063 6f6e 6e65 6374 2074 6865 2070 to connect the p\n+00014a60: 6f69 6e74 7320 6f66 2074 6865 2068 6f75 oints of the hou\n+00014a70: 7365 0a6f 6e20 7468 6520 7072 6f6a 6563 se.on the projec\n+00014a80: 7469 6f6e 2070 6c61 6e65 2e20 2057 6520 tion plane. We \n+00014a90: 636f 756c 6420 7075 6c6c 206f 7574 2061 could pull out a\n+00014aa0: 2067 6f6f 6420 636f 6d70 7574 6572 2067 good computer g\n+00014ab0: 7261 7068 6963 730a 7465 7874 2c20 6669 raphics.text, fi\n+00014ac0: 6e64 2074 6865 206e 6563 6573 7361 7279 nd the necessary\n+00014ad0: 206d 6174 7269 782c 2061 6e64 2065 6e74 matrix, and ent\n+00014ae0: 6572 2069 7420 6f75 7273 656c 7665 7320 er it ourselves \n+00014af0: 6173 2061 2074 7261 6e73 666f 726d 0a6c as a transform.l\n+00014b00: 6974 6572 616c 2e20 202a 4e6f 7465 2054 iteral. *Note T\n+00014b10: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n+00014b20: 733a 3a2e 2020 5468 6174 2077 6f72 6b20 s::. That work \n+00014b30: 6973 2061 6c72 6561 6479 2064 6f6e 652c is already done,\n+00014b40: 0a68 6f77 6576 6572 2e20 2057 6520 6361 .however. We ca\n+00014b50: 6e20 7573 6520 7468 6520 e280 9870 726f n use the ...pro\n+00014b60: 6a65 6374 2870 29e2 8099 2063 6f6e 7374 ject(p)... const\n+00014b70: 7275 6374 6f72 2e0a 0a20 2020 5468 6572 ructor... Ther\n+00014b80: 6520 6172 6520 7374 696c 6c20 736f 6d65 e are still some\n+00014b90: 2064 6574 6169 6c73 2074 6861 7420 7265 details that re\n+00014ba0: 7175 6972 6520 6361 7265 2e20 2050 726f quire care. Pro\n+00014bb0: 6a65 6374 696f 6e20 7769 6c6c 0a66 6c61 jection will.fla\n+00014bc0: 7474 656e 2077 6861 7465 7665 7220 6973 tten whatever is\n+00014bd0: 2074 7261 6e73 666f 726d 6564 206f 6e74 transformed ont\n+00014be0: 6f20 7468 6520 706c 616e 6520 7a3d 2d70 o the plane z=-p\n+00014bf0: 2e20 2054 6865 7265 666f 7265 2061 6e79 . Therefore any\n+00014c00: 2070 6172 740a 6f66 2074 6865 2068 6f75 part.of the hou\n+00014c10: 7365 2063 6f75 6c64 2064 6973 6170 7065 se could disappe\n+00014c20: 6172 2062 6568 696e 6420 7468 6520 7072 ar behind the pr\n+00014c30: 6f6a 6563 7469 6f6e 2070 6c61 6e65 2028 ojection plane (\n+00014c40: 7468 6520 6869 6464 656e 0a73 7572 6661 the hidden.surfa\n+00014c50: 6365 2061 6c67 6f72 6974 686d 206f 7264 ce algorithm ord\n+00014c60: 6572 7320 6f62 6a65 6374 7320 6174 2074 ers objects at t\n+00014c70: 6865 2073 616d 6520 6465 7074 6820 6172 he same depth ar\n+00014c80: 6269 7472 6172 696c 7929 2e20 2054 6865 bitrarily). The\n+00014c90: 0a64 6f6f 7220 6d61 7920 616c 736f 2064 .door may also d\n+00014ca0: 6973 6170 7065 6172 2062 6568 696e 6420 isappear behind \n+00014cb0: 7468 6520 6672 6f6e 7420 6f66 2074 6865 the front of the\n+00014cc0: 2068 6f75 7365 2e20 2054 6f20 6d61 6b65 house. To make\n+00014cd0: 2073 7572 650a 6576 6572 7974 6869 6e67 sure.everything\n+00014ce0: 2072 656d 6169 6e73 2076 6973 6962 6c65 remains visible\n+00014cf0: 2c20 7765 276c 6c20 706c 6163 6520 7468 , we'll place th\n+00014d00: 6520 686f 7573 6520 6120 7469 6e79 2062 e house a tiny b\n+00014d10: 6974 2069 6e20 6672 6f6e 7420 6f66 0a74 it in front of.t\n+00014d20: 6865 2070 726f 6a65 6374 696f 6e20 706c he projection pl\n+00014d30: 616e 6520 616e 6420 6120 7365 636f 6e64 ane and a second\n+00014d40: 2063 6f70 7920 6f66 2074 6865 2064 6f6f copy of the doo\n+00014d50: 7220 696e 2066 726f 6e74 206f 6620 7468 r in front of th\n+00014d60: 650a 686f 7573 652e 0a20 2064 6566 2070 e.house.. def p\n+00014d70: 726f 6a65 6374 696f 6e20 7b0a 2020 2020 rojection {. \n+00014d80: 2520 6520 6973 2061 2073 6d61 6c6c 206e % e is a small n\n+00014d90: 756d 6265 7220 6465 6669 6e65 6420 6162 umber defined ab\n+00014da0: 6f76 650a 2020 2020 7075 7420 7b20 7072 ove. put { pr\n+00014db0: 6f6a 6563 7428 7029 2074 6865 6e20 7472 oject(p) then tr\n+00014dc0: 616e 736c 6174 6528 5b30 2c30 2c31 2a65 anslate([0,0,1*e\n+00014dd0: 5d29 207d 207b 686f 7573 657d 0a20 2020 ]) } {house}. \n+00014de0: 2070 7574 207b 2070 726f 6a65 6374 2870 put { project(p\n+00014df0: 2920 7468 656e 2074 7261 6e73 6c61 7465 ) then translate\n+00014e00: 285b 302c 302c 322a 655d 2920 7d20 7b64 ([0,0,2*e]) } {d\n+00014e10: 6f6f 727d 0a20 207d 0a0a 0008 5b69 6d61 oor}. }....[ima\n+00014e20: 6765 2073 7263 3d22 6578 3138 302e 706e ge src=\"ex180.pn\n+00014e30: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n+00014e40: 7831 3830 206f 6d69 7474 6564 2069 6e20 x180 omitted in \n+00014e50: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n+00014e60: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n+00014e70: 085d 0a0a 2020 2049 6620 796f 7520 6861 .].. If you ha\n+00014e80: 7665 2073 7475 6469 6564 2061 6e64 2075 ve studied and u\n+00014e90: 6e64 6572 7374 616e 6420 616c 6c20 7468 nderstand all th\n+00014ea0: 6973 2c20 796f 7520 6172 6520 7765 6c6c is, you are well\n+00014eb0: 206f 6e20 7468 6520 7761 790a 746f 2073 on the way.to s\n+00014ec0: 7563 6365 7373 2077 6974 6820 e280 9873 uccess with ...s\n+00014ed0: 6b65 7463 68e2 8099 2e20 204e 6f74 2073 ketch.... Not s\n+00014ee0: 686f 776e 2061 7265 2074 6865 2032 3020 hown are the 20 \n+00014ef0: 6f72 2073 6f20 6974 6572 6174 696f 6e73 or so iterations\n+00014f00: 2074 6861 740a 7765 7265 2072 6571 7569 that.were requi\n+00014f10: 7265 6420 746f 2066 696e 6420 6120 7265 red to find a re\n+00014f20: 6173 6f6e 6162 6c65 2076 6965 7769 6e67 asonable viewing\n+00014f30: 2061 6e67 6c65 2061 6e64 2068 6f75 7365 angle and house\n+00014f40: 2070 6f73 6974 696f 6e2c 0a65 7463 2e20 position,.etc. \n+00014f50: 204e 6f6e 6574 6865 6c65 7373 2c20 7468 Nonetheless, th\n+00014f60: 6973 2064 7261 7769 6e67 2077 6173 2063 is drawing was c\n+00014f70: 6f6d 706c 6574 6564 2069 6e20 6162 6f75 ompleted in abou\n+00014f80: 7420 616e 2068 6f75 722e 2020 5768 696c t an hour. Whil\n+00014f90: 6520 610a 4755 4920 746f 6f6c 206d 6179 e a.GUI tool may\n+00014fa0: 2068 6176 6520 6265 656e 2061 206c 6974 have been a lit\n+00014fb0: 746c 6520 6661 7374 6572 2c20 6974 2069 tle faster, it i\n+00014fc0: 7320 756e 6c69 6b65 6c79 2074 6861 7420 s unlikely that \n+00014fd0: 6120 6e65 770a 6472 6177 696e 672c 2069 a new.drawing, i\n+00014fe0: 7473 656c 6620 6120 7065 7273 7065 6374 tself a perspect\n+00014ff0: 6976 6520 7072 6f6a 6563 7469 6f6e 206f ive projection o\n+00015000: 6620 7468 6520 7363 656e 652c 2063 6f75 f the scene, cou\n+00015010: 6c64 2062 650a 6765 6e65 7261 7465 6420 ld be.generated \n+00015020: 7769 7468 2074 776f 206d 6f72 6520 6d69 with two more mi\n+00015030: 6e75 7465 7327 2077 6f72 6b21 2020 4a75 nutes' work! Ju\n+00015040: 7374 2063 6861 6e67 6520 7468 6520 7669 st change the vi\n+00015050: 6577 2074 7261 6e73 666f 726d 0a74 6f0a ew transform.to.\n+00015060: 2020 7075 7420 7b20 7669 6577 2828 6579 put { view((ey\n+00015070: 6529 2c20 286c 6f6f 6b5f 6174 2929 2074 e), (look_at)) t\n+00015080: 6865 6e20 7065 7273 7065 6374 6976 6528 hen perspective(\n+00015090: 3929 207d 207b 202e 2e2e 0a61 6e64 2070 9) } { ....and p\n+000150a0: 726f 6475 6365 2074 6869 732e 0a0a 0008 roduce this.....\n+000150b0: 5b69 6d61 6765 2073 7263 3d22 6578 3139 [image src=\"ex19\n+000150c0: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png\" text=\"Ima\n+000150d0: 6765 2065 7831 3930 206f 6d69 7474 6564 ge ex190 omitted\n+000150e0: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n+000150f0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n+00015100: 742e 2200 085d 0a0a 1f0a 4669 6c65 3a20 t.\"..]....File: \n+00015110: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n+00015120: 6465 3a20 4120 7465 6368 6e69 6361 6c20 de: A technical \n+00015130: 6472 6177 696e 672c 2020 4e65 7874 3a20 drawing, Next: \n+00015140: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m\n+00015150: 6f64 656c 2c20 2050 7265 763a 204f 7665 odel, Prev: Ove\n+00015160: 7276 6965 772c 2020 5570 3a20 4275 696c rview, Up: Buil\n+00015170: 6469 6e67 2061 2064 7261 7769 6e67 0a0a ding a drawing..\n+00015180: 342e 3220 4120 7465 6368 6e69 6361 6c20 4.2 A technical \n+00015190: 6472 6177 696e 670a 3d3d 3d3d 3d3d 3d3d drawing.========\n+000151a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============.\n+000151b0: 0a4c 6574 2773 206c 6f6f 6b20 6174 2061 .Let's look at a\n+000151c0: 2064 7261 7769 6e67 2074 6861 7420 7265 drawing that re\n+000151d0: 7072 6573 656e 7473 2074 6865 206b 696e presents the kin\n+000151e0: 6420 6f66 2070 726f 626c 656d 20e2 8098 d of problem ...\n+000151f0: 736b 6574 6368 e280 9920 7761 730a 6d65 sketch... was.me\n+00015200: 616e 7420 746f 2073 6f6c 7665 2d2d 6120 ant to solve--a \n+00015210: 7061 6972 206f 6620 7465 7874 626f 6f6b pair of textbook\n+00015220: 2066 6967 7572 6573 2072 6567 6172 6469 figures regardi\n+00015230: 6e67 2061 2070 6f6c 7967 6f6e 616c 0a61 ng a polygonal.a\n+00015240: 7070 726f 7869 6d61 7469 6f6e 206f 6620 pproximation of \n+00015250: 6120 7472 756e 6361 7465 6420 636f 6e65 a truncated cone\n+00015260: 2e20 2048 6572 6520 6172 6520 7468 6520 . Here are the \n+00015270: 7069 6374 7572 6573 2077 6520 7769 6c6c pictures we will\n+00015280: 0a70 726f 6475 6365 2e0a 0a00 085b 696d .produce.....[im\n+00015290: 6167 6520 7372 633d 2265 7832 3530 2e70 age src=\"ex250.p\n+000152a0: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng\" text=\"Image \n+000152b0: 6578 3235 3020 6f6d 6974 7465 6420 696e ex250 omitted in\n+000152c0: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of\n+000152d0: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document.\"\n+000152e0: 0008 5d20 2020 2020 0008 5b69 6d61 6765 ..] ..[image\n+000152f0: 2073 7263 3d22 6578 3236 302e 706e 6722 src=\"ex260.png\"\n+00015300: 2074 6578 743d 2249 6d61 6765 2065 7832 text=\"Image ex2\n+00015310: 3630 206f 6d69 7474 6564 2069 6e20 7465 60 omitted in te\n+00015320: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th\n+00015330: 6973 2064 6f63 756d 656e 742e 2200 085d is document.\"..]\n+00015340: 0a0a 2020 2054 6865 2063 6f6e 6520 7368 .. The cone sh\n+00015350: 6170 6520 6973 206a 7573 7420 6120 7377 ape is just a sw\n+00015360: 6570 7420 6c69 6e65 2077 6974 6820 6e6f ept line with no\n+00015370: 2063 6c6f 7375 7265 2074 6167 2061 6e64 closure tag and\n+00015380: 2063 756c 6c69 6e67 0a74 7572 6e65 6420 culling.turned \n+00015390: 6f66 662e 2020 4265 6769 6e20 6279 2073 off. Begin by s\n+000153a0: 6574 7469 6e67 2075 7020 736f 6d65 2075 etting up some u\n+000153b0: 7365 6675 6c20 636f 6e73 7461 6e74 732e seful constants.\n+000153c0: 0a20 2064 6566 204f 2028 302c 302c 3029 . def O (0,0,0)\n+000153d0: 2064 6566 2049 205b 312c 302c 305d 2064 def I [1,0,0] d\n+000153e0: 6566 204a 205b 302c 312c 305d 2064 6566 ef J [0,1,0] def\n+000153f0: 204b 205b 302c 302c 315d 0a20 2064 6566 K [0,0,1]. def\n+00015400: 2070 3020 2831 2c32 2920 6465 6620 7031 p0 (1,2) def p1\n+00015410: 2028 312e 352c 3029 2064 6566 204e 2038 (1.5,0) def N 8\n+00015420: 0a20 2064 6566 2073 6567 5f72 6f74 2072 . def seg_rot r\n+00015430: 6f74 6174 6528 3336 3020 2f20 4e2c 205b otate(360 / N, [\n+00015440: 4a5d 290a 5468 6520 706f 696e 7473 20e2 J]).The points .\n+00015450: 8098 7030 e280 9920 616e 6420 e280 9870 ..p0... and ...p\n+00015460: 31e2 8099 2061 7265 2074 6865 2065 6e64 1... are the end\n+00015470: 2070 6f69 6e74 7320 6f66 2074 6865 206c points of the l\n+00015480: 696e 6520 746f 2062 6520 7377 6570 742e ine to be swept.\n+00015490: 0a54 6865 2064 6566 696e 6974 696f 6e20 .The definition \n+000154a0: e280 9873 6567 5f72 6f74 e280 9920 6973 ...seg_rot... is\n+000154b0: 2074 6865 2073 7765 6570 2074 7261 6e73 the sweep trans\n+000154c0: 666f 726d 6174 696f 6e2e 2020 5769 7468 formation. With\n+000154d0: 2074 6865 7365 2c20 7468 650a 636f 6e65 these, the.cone\n+000154e0: 2069 7473 656c 6620 6973 2073 696d 706c itself is simpl\n+000154f0: 652e 0a20 2073 7765 6570 5b63 756c 6c3d e.. sweep[cull=\n+00015500: 6661 6c73 655d 207b 204e 2c20 5b5b 7365 false] { N, [[se\n+00015510: 675f 726f 745d 5d20 7d20 6c69 6e65 2870 g_rot]] } line(p\n+00015520: 3029 2870 3129 0a0a 2020 2054 6865 2061 0)(p1).. The a\n+00015530: 7865 7320 6172 6520 6e65 7874 2061 6e64 xes are next and\n+00015540: 2069 6e63 6c75 6465 2061 6e20 696e 7465 include an inte\n+00015550: 7265 7369 6e67 2074 7269 636b 2074 6861 resing trick tha\n+00015560: 7420 7368 6f77 7320 7468 650a 6869 6464 t shows the.hidd\n+00015570: 656e 2070 6172 7473 2061 7320 646f 7474 en parts as dott\n+00015580: 6564 206c 696e 6573 2e20 2054 6865 2073 ed lines. The s\n+00015590: 6563 7265 7420 6973 2064 7261 7720 7468 ecret is draw th\n+000155a0: 6520 6178 6573 2074 7769 6365 2d2d 736f e axes twice--so\n+000155b0: 6c69 640a 6c69 6e65 7320 7769 7468 2074 lid.lines with t\n+000155c0: 6865 206e 6f72 6d61 6c20 6869 6464 656e he normal hidden\n+000155d0: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit\n+000155e0: 686d 2069 6e20 6566 6665 6374 2c20 616e hm in effect, an\n+000155f0: 6420 7468 656e 0a64 6f74 7465 6420 7769 d then.dotted wi\n+00015600: 7468 2074 6865 206f 7074 696f 6e20 e280 th the option ..\n+00015610: 986c 6179 3d6f 7665 72e2 8099 2073 6f20 .lay=over... so \n+00015620: 7468 6174 206e 6f20 706f 6c79 676f 6e73 that no polygons\n+00015630: 2063 616e 2068 6964 6520 7468 656d 2e0a can hide them..\n+00015640: 2020 6465 6620 6178 2028 6478 2c30 2c30 def ax (dx,0,0\n+00015650: 2920 2520 7469 7073 206f 6620 7468 6520 ) % tips of the \n+00015660: 6178 6573 0a20 2064 6566 2061 7920 2830 axes. def ay (0\n+00015670: 2c64 792c 3029 0a20 2064 6566 2061 7a20 ,dy,0). def az \n+00015680: 2830 2c30 2c64 7a29 0a20 206c 696e 655b (0,0,dz). line[\n+00015690: 6172 726f 7773 3d3c 2d3e 2c6c 696e 6577 arrows=<->,linew\n+000156a0: 6964 7468 3d2e 3470 745d 2861 7829 284f idth=.4pt](ax)(O\n+000156b0: 2928 6179 290a 2020 6c69 6e65 5b61 7272 )(ay). line[arr\n+000156c0: 6f77 733d 2d3e 2c6c 696e 6577 6964 7468 ows=->,linewidth\n+000156d0: 3d2e 3470 745d 284f 2928 617a 290a 2020 =.4pt](O)(az). \n+000156e0: 2520 7265 7065 6174 2064 6f74 7465 6420 % repeat dotted \n+000156f0: 6173 2061 6e20 6f76 6572 6c61 7920 746f as an overlay to\n+00015700: 2068 696e 7420 6174 2074 6865 2068 6964 hint at the hid\n+00015710: 6465 6e20 6c69 6e65 730a 2020 6c69 6e65 den lines. line\n+00015720: 5b6c 6179 3d6f 7665 722c 6c69 6e65 7374 [lay=over,linest\n+00015730: 796c 653d 646f 7474 6564 2c6c 696e 6577 yle=dotted,linew\n+00015740: 6964 7468 3d2e 3470 745d 2861 7829 284f idth=.4pt](ax)(O\n+00015750: 2928 6179 290a 2020 6c69 6e65 5b6c 6179 )(ay). line[lay\n+00015760: 3d6f 7665 722c 6c69 6e65 7374 796c 653d =over,linestyle=\n+00015770: 646f 7474 6564 2c6c 696e 6577 6964 7468 dotted,linewidth\n+00015780: 3d2e 3470 745d 284f 2928 617a 290a 2020 =.4pt](O)(az). \n+00015790: 7370 6563 6961 6c7c 5c66 6f6f 746e 6f74 special|\\footnot\n+000157a0: 6573 697a 650a 2020 2020 2020 2020 2020 esize. \n+000157b0: 5c75 7075 745b 645d 2331 7b24 7824 7d5c \\uput[d]#1{$x$}\\\n+000157c0: 7570 7574 5b75 5d23 327b 2479 247d 5c75 uput[u]#2{$y$}\\u\n+000157d0: 7075 745b 6c5d 2333 7b24 7a24 7d7c 0a20 put[l]#3{$z$}|. \n+000157e0: 2020 2028 6178 2928 6179 2928 617a 290a (ax)(ay)(az).\n+000157f0: 5468 6520 6c61 6265 6c73 2061 7265 2061 The labels are a\n+00015800: 7070 6c69 6564 2077 6974 6820 e280 9850 pplied with ...P\n+00015810: 5354 7269 636b 73e2 8099 2073 7065 6369 STricks... speci\n+00015820: 616c 206f 626a 6563 7473 2061 7320 7573 al objects as us\n+00015830: 7561 6c2e 0a0a 2020 2046 6f72 2074 6865 ual... For the\n+00015840: 2068 6569 6768 7420 6469 6d65 6e73 696f height dimensio\n+00015850: 6e20 6d61 726b 2c20 7468 6520 706f 7765 n mark, the powe\n+00015860: 7220 6f66 2061 6666 696e 6520 6172 6974 r of affine arit\n+00015870: 6865 7469 6320 6973 2076 6572 790a 6865 hetic is very.he\n+00015880: 6c70 6675 6c2e 0a20 2064 6566 2068 6469 lpful.. def hdi\n+00015890: 6d5f 7265 6620 756e 6974 2828 7031 2920 m_ref unit((p1) \n+000158a0: 2d20 284f 2929 2074 6865 6e20 5b5b 7365 - (O)) then [[se\n+000158b0: 675f 726f 745d 5d5e 320a 2020 6465 6620 g_rot]]^2. def \n+000158c0: 6330 2028 7030 2920 7468 656e 2073 6361 c0 (p0) then sca\n+000158d0: 6c65 285b 4a5d 290a 2020 6465 6620 6830 le([J]). def h0\n+000158e0: 3020 2863 3029 202b 2031 2e31 202a 205b 0 (c0) + 1.1 * [\n+000158f0: 6864 696d 5f72 6566 5d0a 2020 6465 6620 hdim_ref]. def \n+00015900: 6830 3120 2863 3029 202b 2031 2e39 202a h01 (c0) + 1.9 *\n+00015910: 205b 6864 696d 5f72 6566 5d0a 2020 6465 [hdim_ref]. de\n+00015920: 6620 6830 3220 2863 3029 202b 2031 2e38 f h02 (c0) + 1.8\n+00015930: 202a 205b 6864 696d 5f72 6566 5d0a 2020 * [hdim_ref]. \n+00015940: 6c69 6e65 2868 3030 2928 6830 3129 0a20 line(h00)(h01). \n+00015950: 2064 6566 2068 3130 2028 4f29 202b 2031 def h10 (O) + 1\n+00015960: 2e36 202a 205b 6864 696d 5f72 6566 5d0a .6 * [hdim_ref].\n+00015970: 2020 6465 6620 6831 3120 284f 2920 2b20 def h11 (O) + \n+00015980: 312e 3920 2a20 5b68 6469 6d5f 7265 665d 1.9 * [hdim_ref]\n+00015990: 0a20 2064 6566 2068 3132 2028 4f29 202b . def h12 (O) +\n+000159a0: 2031 2e38 202a 205b 6864 696d 5f72 6566 1.8 * [hdim_ref\n+000159b0: 5d0a 2020 6c69 6e65 2868 3130 2928 6831 ]. line(h10)(h1\n+000159c0: 3129 0a20 206c 696e 655b 6172 726f 7773 1). line[arrows\n+000159d0: 3d3c 2d3e 5d28 6830 3229 2868 3132 290a =<->](h02)(h12).\n+000159e0: 2020 6465 6620 686d 3220 2828 6830 3229 def hm2 ((h02)\n+000159f0: 202d 2028 4f29 202b 2028 6831 3229 202d - (O) + (h12) -\n+00015a00: 2028 4f29 2920 2f20 3220 2b20 284f 290a (O)) / 2 + (O).\n+00015a10: 2020 7370 6563 6961 6c7c 5c66 6f6f 746e special|\\footn\n+00015a20: 6f74 6573 697a 655c 7270 7574 2a23 317b otesize\\rput*#1{\n+00015a30: 2468 247d 7c28 686d 3229 0a20 2020 5468 $h$}|(hm2). Th\n+00015a40: 6520 6765 6e65 7261 6c20 6964 6561 2065 e general idea e\n+00015a50: 6d70 6c6f 7965 6420 6865 7265 2069 7320 mployed here is \n+00015a60: 746f 2063 6f6d 7075 7465 2061 2075 6e69 to compute a uni\n+00015a70: 7420 2272 6566 6572 656e 6365 0a76 6563 t \"reference.vec\n+00015a80: 746f 7222 2070 6172 616c 6c65 6c20 746f tor\" parallel to\n+00015a90: 2074 6865 2078 7a2d 706c 616e 6520 696e the xz-plane in\n+00015aa0: 2074 6865 2064 6573 6972 6564 2064 6972 the desired dir\n+00015ab0: 6563 7469 6f6e 206f 6620 7468 650a 6469 ection of the.di\n+00015ac0: 6d65 6e73 696f 6e20 6672 6f6d 2074 6865 mension from the\n+00015ad0: 206f 7269 6769 6e2e 2020 5468 6520 7472 origin. The tr\n+00015ae0: 616e 7366 6f72 6d61 7469 6f6e 20e2 8098 ansformation ...\n+00015af0: 5b5b 7365 675f 726f 745d 5d5e 32e2 8099 [[seg_rot]]^2...\n+00015b00: 2072 6f74 6174 6573 0a74 776f 2073 6567 rotates.two seg\n+00015b10: 6d65 6e74 7320 6162 6f75 7420 7468 6520 ments about the \n+00015b20: 792d 6178 6973 2e20 2057 6865 6e20 6170 y-axis. When ap\n+00015b30: 706c 6965 6420 746f 20e2 8098 2870 3129 plied to ...(p1)\n+00015b40: 202d 2028 4f29 e280 992c 2074 6865 0a72 - (O)..., the.r\n+00015b50: 6573 756c 7469 6e67 2076 6563 746f 7220 esulting vector \n+00015b60: 706f 696e 7473 2074 6f20 7468 6520 7269 points to the ri\n+00015b70: 6768 7420 6173 2073 686f 776e 2e20 2049 ght as shown. I\n+00015b80: 6e20 7468 6973 206d 616e 6e65 722c 2077 n this manner, w\n+00015b90: 6520 6361 6e0a 7069 636b 2061 6e79 2076 e can.pick any v\n+00015ba0: 6572 7465 7820 6173 2074 6865 206c 6f63 ertex as the loc\n+00015bb0: 6174 696f 6e20 6f66 2074 6865 2068 6569 ation of the hei\n+00015bc0: 6768 7420 6469 6d65 6e73 696f 6e20 6c69 ght dimension li\n+00015bd0: 6e65 7320 6279 2076 6172 7969 6e67 0a74 nes by varying.t\n+00015be0: 6865 2065 7870 6f6e 656e 7420 6f66 20e2 he exponent of .\n+00015bf0: 8098 5b5b 7365 675f 726f 745d 5de2 8099 ..[[seg_rot]]...\n+00015c00: 2e20 2054 6869 7320 6973 206f 6e6c 7920 . This is only \n+00015c10: 6f6e 6520 6f66 206d 616e 7920 706f 7373 one of many poss\n+00015c20: 6962 6c65 0a73 7472 6174 6567 6965 732e ible.strategies.\n+00015c30: 0a0a 2020 2054 6865 2063 6f6d 7075 7461 .. The computa\n+00015c40: 7469 6f6e 206f 6620 e280 9868 6d32 e280 tion of ...hm2..\n+00015c50: 9920 6973 2061 2075 7365 6675 6c20 6964 . is a useful id\n+00015c60: 696f 6d20 666f 7220 6669 6e64 696e 6720 iom for finding \n+00015c70: 7468 6520 6365 6e74 726f 6964 0a6f 6620 the centroid.of \n+00015c80: 6120 7365 7420 6f66 2070 6f69 6e74 732e a set of points.\n+00015c90: 0a0a 2020 2054 6865 2074 776f 2072 6164 .. The two rad\n+00015ca0: 6975 7320 6d61 726b 7320 6172 6520 646f ius marks are do\n+00015cb0: 6e65 2073 696d 696c 6172 6c79 2c20 736f ne similarly, so\n+00015cc0: 2077 6520 7072 6573 656e 7420 7468 6520 we present the \n+00015cd0: 636f 6465 0a77 6974 686f 7574 2063 6f6d code.without com\n+00015ce0: 6d65 6e74 2e0a 2020 2520 7261 6469 7573 ment.. % radius\n+00015cf0: 206d 6561 7375 7265 6d65 6e74 206d 6172 measurement mar\n+00015d00: 6b73 0a20 2064 6566 2067 6170 205b 302c ks. def gap [0,\n+00015d10: 2e32 2c30 5d20 2025 2075 7365 6420 746f .2,0] % used to\n+00015d20: 2063 7265 6174 6520 736d 616c 6c20 7665 create small ve\n+00015d30: 7274 6963 616c 2067 6170 730a 0a20 2025 rtical gaps.. %\n+00015d40: 2066 6972 7374 2072 310a 2020 6465 6620 first r1. def \n+00015d50: 7570 3120 5b30 2c33 2e31 2c30 5d20 2520 up1 [0,3.1,0] % \n+00015d60: 7469 636b 2072 6973 6573 2061 626f 7665 tick rises above\n+00015d70: 2064 696d 656e 7369 6f6e 2061 206c 6974 dimension a lit\n+00015d80: 746c 650a 2020 6465 6620 7231 2028 2870 tle. def r1 ((p\n+00015d90: 3129 2074 6865 6e20 5b5b 7365 675f 726f 1) then [[seg_ro\n+00015da0: 745d 5d5e 2d32 2920 2b20 5b75 7031 5d0a t]]^-2) + [up1].\n+00015db0: 2020 6465 6620 7231 6320 2872 3129 2074 def r1c (r1) t\n+00015dc0: 6865 6e20 7363 616c 6528 5b4a 5d29 0a20 hen scale([J]). \n+00015dd0: 2064 6566 2072 3174 2028 7231 2920 2b20 def r1t (r1) + \n+00015de0: 5b67 6170 5d0a 2020 6465 6620 7231 6220 [gap]. def r1b \n+00015df0: 2828 7231 7429 2074 6865 6e20 7363 616c ((r1t) then scal\n+00015e00: 6528 5b31 2c30 2c31 5d29 2920 2b20 5b67 e([1,0,1])) + [g\n+00015e10: 6170 5d0a 2020 6c69 6e65 5b61 7272 6f77 ap]. line[arrow\n+00015e20: 733d 3c2d 3e5d 2872 3163 2928 7231 2920 s=<->](r1c)(r1) \n+00015e30: 2025 2064 696d 656e 7369 6f6e 206c 696e % dimension lin\n+00015e40: 650a 2020 6c69 6e65 2872 3162 2928 7231 e. line(r1b)(r1\n+00015e50: 7429 2020 2020 2020 2020 2020 2020 2025 t) %\n+00015e60: 2074 6963 6b0a 2020 6465 6620 7231 6d20 tick. def r1m \n+00015e70: 2828 7231 2920 2d20 284f 2920 2b20 2872 ((r1) - (O) + (r\n+00015e80: 3163 2920 2d20 284f 2929 202f 2032 202b 1c) - (O)) / 2 +\n+00015e90: 2028 4f29 2025 206c 6162 656c 2070 6f73 (O) % label pos\n+00015ea0: 6974 696f 6e0a 2020 7370 6563 6961 6c20 ition. special \n+00015eb0: 7c5c 666f 6f74 6e6f 7465 7369 7a65 5c72 |\\footnotesize\\r\n+00015ec0: 7075 742a 2331 7b24 725f 3124 7d7c 2872 put*#1{$r_1$}|(r\n+00015ed0: 316d 2920 2025 206c 6162 656c 0a0a 2020 1m) % label.. \n+00015ee0: 2520 7361 6d65 2064 7269 6c6c 2066 6f72 % same drill for\n+00015ef0: 2072 302c 2062 7574 206d 7573 7420 7072 r0, but must pr\n+00015f00: 6f6a 6563 7420 646f 776e 2066 6972 7374 oject down first\n+00015f10: 0a20 2064 6566 2075 7030 205b 302c 322e . def up0 [0,2.\n+00015f20: 372c 305d 0a20 2064 6566 2072 3020 2828 7,0]. def r0 ((\n+00015f30: 7030 2920 7468 656e 2073 6361 6c65 285b p0) then scale([\n+00015f40: 312c 302c 315d 2920 7468 656e 205b 5b73 1,0,1]) then [[s\n+00015f50: 6567 5f72 6f74 5d5d 5e2d 3229 202b 205b eg_rot]]^-2) + [\n+00015f60: 7570 305d 0a20 2064 6566 2072 3063 2028 up0]. def r0c (\n+00015f70: 7230 2920 7468 656e 2073 6361 6c65 285b r0) then scale([\n+00015f80: 4a5d 290a 2020 6465 6620 7230 7420 2872 J]). def r0t (r\n+00015f90: 3029 202b 205b 6761 705d 0a20 2064 6566 0) + [gap]. def\n+00015fa0: 2072 3062 2028 2870 3029 2074 6865 6e20 r0b ((p0) then \n+00015fb0: 5b5b 7365 675f 726f 745d 5d5e 2d32 2920 [[seg_rot]]^-2) \n+00015fc0: 2b20 5b67 6170 5d0a 2020 6c69 6e65 5b61 + [gap]. line[a\n+00015fd0: 7272 6f77 733d 3c2d 3e5d 2872 3063 2928 rrows=<->](r0c)(\n+00015fe0: 7230 290a 2020 6c69 6e65 2872 3062 2928 r0). line(r0b)(\n+00015ff0: 7230 7429 0a20 2064 6566 2072 306d 2028 r0t). def r0m (\n+00016000: 2872 3029 202d 2028 4f29 202b 2028 7230 (r0) - (O) + (r0\n+00016010: 6329 202d 2028 4f29 2920 2f20 3220 2b20 c) - (O)) / 2 + \n+00016020: 284f 290a 2020 7370 6563 6961 6c20 7c5c (O). special |\\\n+00016030: 666f 6f74 6e6f 7465 7369 7a65 5c72 7075 footnotesize\\rpu\n+00016040: 742a 2331 7b24 725f 3024 7d7c 2872 306d t*#1{$r_0$}|(r0m\n+00016050: 290a 0a20 2020 5468 6520 7365 636f 6e64 ).. The second\n+00016060: 2064 7261 7769 6e67 2075 7365 7320 7468 drawing uses th\n+00016070: 6520 7361 6d65 2074 6563 686e 6971 7565 e same technique\n+00016080: 732e 2020 4f6e 6c79 2074 6865 206d 6574 s. Only the met\n+00016090: 686f 6420 666f 720a 6472 6177 696e 6720 hod for.drawing \n+000160a0: 7468 6520 656c 6c69 7074 6963 616c 2061 the elliptical a\n+000160b0: 7263 2069 7320 6e65 772e 2020 4865 7265 rc is new. Here\n+000160c0: 2069 7320 7468 6520 636f 6465 2e0a 2020 is the code.. \n+000160d0: 6465 6620 6d69 6420 2828 7030 3029 2d28 def mid ((p00)-(\n+000160e0: 4f29 2b28 7031 3029 2d28 4f29 2b28 7031 O)+(p10)-(O)+(p1\n+000160f0: 3129 2d28 4f29 2b28 7030 3129 2d28 4f29 1)-(O)+(p01)-(O)\n+00016100: 292f 342b 284f 290a 2020 7370 6563 6961 )/4+(O). specia\n+00016110: 6c7c 5c72 7075 7423 317b 5c70 7363 7573 l|\\rput#1{\\pscus\n+00016120: 746f 6d7b 0a20 2020 205c 7363 616c 657b tom{. \\scale{\n+00016130: 3120 312e 337d 0a20 2020 205c 7073 6172 1 1.3}. \\psar\n+00016140: 635b 6172 726f 776c 656e 6774 683d 2e35 c[arrowlength=.5\n+00016150: 5d7b 2d3e 7d7b 2e32 357d 7b2d 3630 7d7b ]{->}{.25}{-60}{\n+00016160: 3234 307d 7d7d 7c0a 2020 2020 5b6c 6179 240}}}|. [lay\n+00016170: 3d6f 7665 725d 286d 6964 290a 5765 2063 =over](mid).We c\n+00016180: 6f75 6c64 2068 6176 6520 7377 6570 7420 ould have swept \n+00016190: 6120 706f 696e 7420 746f 206d 616b 6520 a point to make \n+000161a0: 7468 6520 6172 6320 7769 7468 20e2 8098 the arc with ...\n+000161b0: 736b 6574 6368 e280 992c 2062 7574 2075 sketch..., but u\n+000161c0: 7369 6e67 2061 0ae2 8098 5053 5472 6963 sing a....PSTric\n+000161d0: 6b73 e280 9920 6375 7374 6f6d 2067 7261 ks... custom gra\n+000161e0: 7068 6963 2077 6173 2073 696d 706c 6572 phic was simpler\n+000161f0: 2e20 2041 6761 696e 2077 6520 636f 6d70 . Again we comp\n+00016200: 7574 6564 2074 6865 2063 656e 7472 6f69 uted the centroi\n+00016210: 640a 6f66 2074 6865 2071 7561 6472 696c d.of the quadril\n+00016220: 6174 6572 616c 2062 7920 6176 6572 6167 ateral by averag\n+00016230: 696e 6720 706f 696e 7473 2e20 204e 6f74 ing points. Not\n+00016240: 6520 7468 6174 2073 6361 6c69 6e67 2069 e that scaling i\n+00016250: 6e0a 506f 7374 7363 7269 7074 2064 6973 n.Postscript dis\n+00016260: 746f 7274 7320 7468 6520 6172 726f 7768 torts the arrowh\n+00016270: 6561 642c 2062 7574 2069 6e20 7468 6973 ead, but in this\n+00016280: 2063 6173 6520 7468 6520 6469 7374 6f72 case the distor\n+00016290: 7469 6f6e 0a61 6374 7561 6c6c 7920 6c6f tion.actually lo\n+000162a0: 6f6b 7320 6265 7474 6572 2069 6e20 7468 oks better in th\n+000162b0: 6520 7072 6f6a 6563 7469 6f6e 206f 6620 e projection of \n+000162c0: 7468 6520 736c 616e 7465 6420 6661 6365 the slanted face\n+000162d0: 2e20 2041 20e2 8098 736b 6574 6368 e280 . A ...sketch..\n+000162e0: 990a 6172 726f 7768 6561 6420 776f 756c ..arrowhead woul\n+000162f0: 6420 6e6f 7420 6861 7665 2062 6565 6e20 d not have been \n+00016300: 6469 7374 6f72 7465 642e 0a0a 2020 2054 distorted... T\n+00016310: 6865 2063 6f6d 706c 6574 6520 636f 6465 he complete code\n+00016320: 2066 6f72 2074 6869 7320 6578 616d 706c for this exampl\n+00016330: 652c 2077 6869 6368 2064 7261 7773 2065 e, which draws e\n+00016340: 6974 6865 7220 6669 6775 7265 0a64 6570 ither figure.dep\n+00016350: 656e 6469 6e67 206f 6e20 7468 6520 6465 ending on the de\n+00016360: 6669 6e69 7469 6f6e 206f 6620 7468 6520 finition of the \n+00016370: 7461 6720 e280 983c 6c61 6265 6c65 643e tag ...\n+00016380: e280 992c 2069 7320 696e 636c 7564 6564 ..., is included\n+00016390: 2069 6e20 7468 650a e280 9873 6b65 7463 in the....sketc\n+000163a0: 68e2 8099 2064 6973 7472 6962 7574 696f h... distributio\n+000163b0: 6e20 696e 2074 6865 2066 696c 6520 e280 n in the file ..\n+000163c0: 9874 7275 6e63 6174 6564 636f 6e65 2e73 .truncatedcone.s\n+000163d0: 6be2 8099 2e0a 0a1f 0a46 696c 653a 2073 k........File: s\n+000163e0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+000163f0: 653a 2041 2068 6965 7261 7263 6869 6361 e: A hierarchica\n+00016400: 6c20 6d6f 6465 6c2c 2020 4e65 7874 3a20 l model, Next: \n+00016410: 4361 7665 6174 732c 2020 5072 6576 3a20 Caveats, Prev: \n+00016420: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n+00016430: 696e 672c 2020 5570 3a20 4275 696c 6469 ing, Up: Buildi\n+00016440: 6e67 2061 2064 7261 7769 6e67 0a0a 342e ng a drawing..4.\n+00016450: 3320 4120 6869 6572 6172 6368 6963 616c 3 A hierarchical\n+00016460: 206d 6f64 656c 0a3d 3d3d 3d3d 3d3d 3d3d model.=========\n+00016470: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============.\n+00016480: 0a57 6869 6c65 20e2 8098 736b 6574 6368 .While ...sketch\n+00016490: e280 9920 7761 7320 6e65 7665 7220 6d65 ... was never me\n+000164a0: 616e 7420 746f 2062 6520 6120 6765 6f6d ant to be a geom\n+000164b0: 6574 7269 6320 6d6f 6465 6c69 6e67 206c etric modeling l\n+000164c0: 616e 6775 6167 652c 2069 740a 636f 6d65 anguage, it.come\n+000164d0: 7320 6661 6972 6c79 2063 6c6f 7365 2e20 s fairly close. \n+000164e0: 2054 6865 2066 6f6c 6c6f 7769 6e67 2065 The following e\n+000164f0: 7861 6d70 6c65 2070 7574 7320 616c 6c20 xample puts all \n+00016500: 7765 2068 6176 6520 7365 656e 2074 6f20 we have seen to \n+00016510: 776f 726b 0a69 6e20 6120 7665 7279 2073 work.in a very s\n+00016520: 696d 706c 6520 6d6f 6465 6c20 6f66 2074 imple model of t\n+00016530: 6865 2068 756d 616e 2068 616e 642e 2020 he human hand. \n+00016540: 5374 6172 7420 6279 2073 7765 6570 696e Start by sweepin\n+00016550: 6720 6120 6c69 6e65 2074 6f0a 6d61 6b65 g a line to.make\n+00016560: 2061 2074 7275 6e63 6174 6564 2063 6f6e a truncated con\n+00016570: 652c 2077 6869 6368 2077 696c 6c20 6265 e, which will be\n+00016580: 2063 6f70 6965 6420 6f76 6572 2061 6e64 copied over and\n+00016590: 206f 7665 7220 6167 6169 6e20 746f 206d over again to m\n+000165a0: 616b 650a 7468 6520 7365 676d 656e 7473 ake.the segments\n+000165b0: 206f 6620 6669 6e67 6572 732e 0a20 2064 of fingers.. d\n+000165c0: 6566 204f 2028 302c 302c 3029 2025 206f ef O (0,0,0) % o\n+000165d0: 7269 6769 6e0a 2020 6465 6620 4920 5b31 rigin. def I [1\n+000165e0: 2c30 2c30 5d20 6465 6620 4a20 5b30 2c31 ,0,0] def J [0,1\n+000165f0: 2c30 5d20 6465 6620 4b20 5b30 2c30 2c31 ,0] def K [0,0,1\n+00016600: 5d20 2520 6361 6e6f 6e69 6361 6c20 756e ] % canonical un\n+00016610: 6974 2076 6563 746f 7273 0a20 2064 6566 it vectors. def\n+00016620: 2073 6567 6d65 6e74 207b 0a20 2020 2064 segment {. d\n+00016630: 6566 206e 5f66 6163 6573 2038 0a20 2020 ef n_faces 8. \n+00016640: 2073 7765 6570 207b 206e 5f66 6163 6573 sweep { n_faces\n+00016650: 3c3e 2c20 726f 7461 7465 2833 3630 202f <>, rotate(360 /\n+00016660: 206e 5f66 6163 6573 2c20 5b4a 5d29 207d n_faces, [J]) }\n+00016670: 200a 2020 2020 2020 6c69 6e65 2870 726f . line(pro\n+00016680: 7869 6d61 6c5f 7261 642c 2030 2928 6469 ximal_rad, 0)(di\n+00016690: 7374 616c 5f72 6164 2c20 6469 7374 616c stal_rad, distal\n+000166a0: 5f6c 656e 290a 2020 7d0a 496e 2068 616e _len). }.In han\n+000166b0: 6420 616e 6174 6f6d 792c 205f 6469 7374 d anatomy, _dist\n+000166c0: 616c 5f20 6973 2022 6174 2074 6865 2074 al_ is \"at the t\n+000166d0: 6970 2220 616e 6420 5f70 726f 7869 6d61 ip\" and _proxima\n+000166e0: 6c5f 2069 7320 2269 6e20 7468 6520 6172 l_ is \"in the ar\n+000166f0: 6561 0a6f 6620 7468 6520 7061 6c6d 2e22 ea.of the palm.\"\n+00016700: 2020 5765 2068 6176 6520 6f6d 6974 7465 We have omitte\n+00016710: 6420 616c 6c20 7468 6520 7363 616c 6172 d all the scalar\n+00016720: 2063 6f6e 7374 616e 7473 2e20 2059 6f75 constants. You\n+00016730: 2063 616e 2066 696e 640a 7468 656d 2069 can find.them i\n+00016740: 6e20 e280 9868 616e 642e 736b e280 992c n ...hand.sk...,\n+00016750: 2077 6869 6368 2069 7320 7072 6f76 6964 which is provid\n+00016760: 6564 2069 6e20 7468 6520 e280 9873 6b65 ed in the ...ske\n+00016770: 7463 68e2 8099 2064 6973 7472 6962 7574 tch... distribut\n+00016780: 696f 6e2e 0a0a 2020 2057 6520 616c 736f ion... We also\n+00016790: 206e 6565 6420 6120 7072 6f74 6f74 7970 need a prototyp\n+000167a0: 6963 616c 2073 7068 6572 6520 746f 2075 ical sphere to u\n+000167b0: 7365 2066 6f72 2074 6865 206a 6f69 6e74 se for the joint\n+000167c0: 7320 7468 656d 7365 6c76 6573 2e0a 2020 s themselves.. \n+000167d0: 6465 6620 6a6f 696e 745f 7370 6865 7265 def joint_sphere\n+000167e0: 207b 0a20 2020 2064 6566 206e 5f6a 6f69 {. def n_joi\n+000167f0: 6e74 5f66 6163 6573 2038 0a20 2020 2073 nt_faces 8. s\n+00016800: 7765 6570 205b 6669 6c6c 636f 6c6f 723d weep [fillcolor=\n+00016810: 7265 645d 207b 206e 5f6a 6f69 6e74 5f66 red] { n_joint_f\n+00016820: 6163 6573 2c20 726f 7461 7465 2833 3630 aces, rotate(360\n+00016830: 202f 206e 5f6a 6f69 6e74 5f66 6163 6573 / n_joint_faces\n+00016840: 2c20 5b4a 5d29 207d 0a20 2020 2020 2073 , [J]) }. s\n+00016850: 7765 6570 207b 206e 5f6a 6f69 6e74 5f66 weep { n_joint_f\n+00016860: 6163 6573 2c20 726f 7461 7465 2831 3830 aces, rotate(180\n+00016870: 202f 206e 5f6a 6f69 6e74 5f66 6163 6573 / n_joint_faces\n+00016880: 2920 7d20 0a20 2020 2020 2020 2028 302c ) } . (0,\n+00016890: 202d 6a6f 696e 745f 7261 6429 0a20 207d -joint_rad). }\n+000168a0: 0a0a 2020 2057 6527 6c6c 206e 6f77 2064 .. We'll now d\n+000168b0: 6573 6967 6e20 7468 6520 696e 6465 7820 esign the index \n+000168c0: 6669 6e67 6572 2028 6e75 6d62 6572 2031 finger (number 1\n+000168d0: 2069 6e20 6f75 7220 6e6f 7461 7469 6f6e in our notation\n+000168e0: 616c 0a63 6f6e 7665 6e74 696f 6e3b 2066 al.convention; f\n+000168f0: 696e 6765 7220 3020 6973 2074 6865 2074 inger 0 is the t\n+00016900: 6875 6d62 292e 2020 5468 6520 6469 7374 humb). The dist\n+00016910: 616c 2072 6f74 6174 696f 6e20 666f 7220 al rotation for \n+00016920: 7468 6520 6669 6e67 6572 0a61 7070 6c69 the finger.appli\n+00016930: 6573 206f 6e6c 7920 746f 2074 6865 2074 es only to the t\n+00016940: 6970 2c20 736f 2077 6520 6465 6669 6e65 ip, so we define\n+00016950: 2074 6865 2066 6f6c 6c6f 7769 6e67 2e0a the following..\n+00016960: 2020 6465 6620 6469 7374 616c 5f31 207b def distal_1 {\n+00016970: 0a20 2020 2070 7574 207b 2074 7261 6e73 . put { trans\n+00016980: 6c61 7465 286a 6f69 6e74 5f67 6170 202a late(joint_gap *\n+00016990: 206a 6f69 6e74 5f72 6164 202a 205b 4a5d joint_rad * [J]\n+000169a0: 2920 0a20 2020 2020 2020 2020 2074 6865 ) . the\n+000169b0: 6e20 726f 7461 7465 2864 6973 7461 6c5f n rotate(distal_\n+000169c0: 315f 726f 742c 205b 495d 2920 0a20 2020 1_rot, [I]) . \n+000169d0: 2020 2020 2020 2074 6865 6e20 7472 616e then tran\n+000169e0: 736c 6174 6528 2864 6973 7461 6c5f 6c65 slate((distal_le\n+000169f0: 6e20 2b20 6a6f 696e 745f 6761 7020 2a20 n + joint_gap * \n+00016a00: 6a6f 696e 745f 7261 6429 202a 205b 4a5d joint_rad) * [J]\n+00016a10: 2920 7d0a 2020 2020 2020 7b73 6567 6d65 ) }. {segme\n+00016a20: 6e74 7d0a 2020 2020 7075 7420 7b20 726f nt}. put { ro\n+00016a30: 7461 7465 2864 6973 7461 6c5f 315f 726f tate(distal_1_ro\n+00016a40: 7420 2f20 322c 205b 495d 290a 2020 2020 t / 2, [I]). \n+00016a50: 2020 2020 2020 7468 656e 2074 7261 6e73 then trans\n+00016a60: 6c61 7465 2828 6469 7374 616c 5f6c 656e late((distal_len\n+00016a70: 202b 206a 6f69 6e74 5f67 6170 202a 206a + joint_gap * j\n+00016a80: 6f69 6e74 5f72 6164 2920 2a20 5b4a 5d29 oint_rad) * [J])\n+00016a90: 207d 200a 2020 2020 2020 7b6a 6f69 6e74 } . {joint\n+00016aa0: 5f73 7068 6572 657d 0a20 2020 2070 7574 _sphere}. put\n+00016ab0: 207b 2073 6361 6c65 2820 5b4a 5d20 2b20 { scale( [J] + \n+00016ac0: 7072 6f78 696d 616c 5f64 6973 7461 6c5f proximal_distal_\n+00016ad0: 7261 7469 6f20 2a20 285b 495d 2b5b 4b5d ratio * ([I]+[K]\n+00016ae0: 2920 2920 7d0a 2020 2020 2020 7b73 6567 ) ) }. {seg\n+00016af0: 6d65 6e74 7d0a 2020 7d20 200a 5468 6520 ment}. } .The \n+00016b00: 6964 656e 7469 6669 6572 7320 6865 7265 identifiers here\n+00016b10: 2061 7265 2066 6f72 2073 697a 6520 616e are for size an\n+00016b20: 6420 6c6f 6361 7469 6f6e 2063 6f6e 7374 d location const\n+00016b30: 616e 7473 2e20 2054 6865 2065 7863 6570 ants. The excep\n+00016b40: 7469 6f6e 0a69 7320 e280 9864 6973 7461 tion.is ...dista\n+00016b50: 6c5f 726f 745f 31e2 8099 2e20 2054 6869 l_rot_1.... Thi\n+00016b60: 7320 726f 7461 7469 6f6e 2070 6172 616d s rotation param\n+00016b70: 6574 6572 206d 6f64 656c 7320 7468 6520 eter models the \n+00016b80: 666c 6578 696e 6720 6f66 2074 6865 0a66 flexing of the.f\n+00016b90: 696e 6765 7220 7469 702e 2020 5468 6520 inger tip. The \n+00016ba0: 6669 7273 7420 e280 9870 7574 e280 9920 first ...put... \n+00016bb0: 6d61 6b65 7320 6120 636f 7079 206f 6620 makes a copy of \n+00016bc0: 7468 6520 6669 6e67 6572 2073 6567 6d65 the finger segme\n+00016bd0: 6e74 2074 6861 7420 6973 0a74 7261 6e73 nt that is.trans\n+00016be0: 6c61 7465 6420 7570 7761 7264 206a 7573 lated upward jus\n+00016bf0: 7420 6661 7220 656e 6f75 6768 2074 6f20 t far enough to \n+00016c00: 6d61 6b65 2072 6f6f 6d20 666f 7220 7468 make room for th\n+00016c10: 6520 7370 6865 7269 6361 6c20 6a6f 696e e spherical join\n+00016c20: 742e 0a54 6865 6e20 6974 2061 7070 6c69 t..Then it appli\n+00016c30: 6573 2074 6865 2064 6973 7461 6c20 726f es the distal ro\n+00016c40: 7461 7469 6f6e 2e20 2046 696e 616c 6c79 tation. Finally\n+00016c50: 2069 7420 7472 616e 736c 6174 6573 2074 it translates t\n+00016c60: 6865 2077 686f 6c65 0a61 7373 656d 626c he whole.assembl\n+00016c70: 7920 7570 7761 7264 2061 6761 696e 2074 y upward again t\n+00016c80: 6f20 6d61 6b65 2072 6f6f 6d20 666f 7220 o make room for \n+00016c90: 7468 6520 6d69 6464 6c65 2070 686c 616e the middle phlan\n+00016ca0: 6765 7320 2874 6865 206e 6578 740a 626f ges (the next.bo\n+00016cb0: 6e65 2074 6f77 6172 6420 7468 6520 7061 ne toward the pa\n+00016cc0: 6c6d 292e 2020 5468 6520 7365 636f 6e64 lm). The second\n+00016cd0: 20e2 8098 7075 74e2 8099 2070 6f73 6974 ...put... posit\n+00016ce0: 696f 6e73 2074 6865 2073 7068 6572 652e ions the sphere.\n+00016cf0: 2020 5468 6572 6520 6973 0a61 2072 6f74 There is.a rot\n+00016d00: 6174 696f 6e20 746f 2070 6c61 6365 2074 ation to place t\n+00016d10: 6865 2067 7269 6420 6f6e 2074 6865 2073 he grid on the s\n+00016d20: 7068 6572 6520 7375 7266 6163 6520 6174 phere surface at\n+00016d30: 2061 6e20 6e69 6365 2061 6e67 6c65 2c0a an nice angle,.\n+00016d40: 7468 656e 2061 2074 7261 6e73 6c61 7469 then a translati\n+00016d50: 6f6e 2074 6f20 7468 6520 6261 7365 206f on to the base o\n+00016d60: 6620 7468 6520 6469 7374 616c 2070 686c f the distal phl\n+00016d70: 616e 6765 732c 2077 6869 6368 2069 7320 anges, which is \n+00016d80: 616c 736f 0a63 656e 7465 7220 6f66 2069 also.center of i\n+00016d90: 7473 2072 6f74 6174 696f 6e2e 2020 4669 ts rotation. Fi\n+00016da0: 6e61 6c6c 792c 2074 6865 206c 6173 7420 nally, the last \n+00016db0: e280 9870 7574 e280 9920 706f 7369 7469 ...put... positi\n+00016dc0: 6f6e 7320 7468 6520 6d69 6464 6c65 0a73 ons the middle.s\n+00016dd0: 6567 6d65 6e74 2069 7473 656c 662e 0a0a egment itself...\n+00016de0: 2020 2054 6865 206d 6964 646c 6520 6a6f The middle jo\n+00016df0: 696e 7420 6973 2074 6865 206e 6578 7420 int is the next \n+00016e00: 6f6e 6520 646f 776e 2c20 7769 7468 2072 one down, with r\n+00016e10: 6f74 6174 696f 6e20 616e 676c 650a e280 otation angle...\n+00016e20: 986d 6964 646c 655f 726f 745f 31e2 8099 .middle_rot_1...\n+00016e30: 2e20 2057 6865 6e20 7468 6973 2061 6e67 . When this ang\n+00016e40: 6c65 2063 6861 6e67 6573 2c20 7765 206e le changes, we n\n+00016e50: 6565 6420 616c 6c20 7468 6520 6f62 6a65 eed all the obje\n+00016e60: 6374 7320 696e 0ae2 8098 6469 7374 616c cts in....distal\n+00016e70: 5f31 e280 9920 746f 2072 6f74 6174 6520 _1... to rotate \n+00016e80: 6173 2061 2075 6e69 742e 2020 5468 6973 as a unit. This\n+00016e90: 2069 7320 7468 6520 7265 6173 6f6e 696e is the reasonin\n+00016ea0: 6720 6265 6869 6e64 2074 6865 206e 6578 g behind the nex\n+00016eb0: 740a 6465 6669 6e69 7469 6f6e 2e0a 2020 t.definition.. \n+00016ec0: 6465 6620 6669 6e67 6572 5f31 207b 0a20 def finger_1 {. \n+00016ed0: 2020 2070 7574 207b 2074 7261 6e73 6c61 put { transla\n+00016ee0: 7465 286a 6f69 6e74 5f67 6170 202a 206a te(joint_gap * j\n+00016ef0: 6f69 6e74 5f72 6164 202a 205b 4a5d 290a oint_rad * [J]).\n+00016f00: 2020 2020 2020 2020 2020 7468 656e 2072 then r\n+00016f10: 6f74 6174 6528 6d69 6464 6c65 5f31 5f72 otate(middle_1_r\n+00016f20: 6f74 2c20 5b49 5d29 0a20 2020 2020 2020 ot, [I]). \n+00016f30: 2020 2074 6865 6e20 7472 616e 736c 6174 then translat\n+00016f40: 6528 286d 6964 646c 655f 7261 7469 6f20 e((middle_ratio \n+00016f50: 2a20 6469 7374 616c 5f6c 656e 202b 200a * distal_len + .\n+00016f60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00016f70: 2020 2020 2020 2020 2020 6a6f 696e 745f joint_\n+00016f80: 6761 7020 2a20 6a6f 696e 745f 7261 6429 gap * joint_rad)\n+00016f90: 202a 205b 4a5d 2920 7d0a 2020 2020 2020 * [J]) }. \n+00016fa0: 7b64 6973 7461 6c5f 317d 0a20 2020 2070 {distal_1}. p\n+00016fb0: 7574 207b 2073 6361 6c65 2870 726f 7869 ut { scale(proxi\n+00016fc0: 6d61 6c5f 6469 7374 616c 5f72 6174 696f mal_distal_ratio\n+00016fd0: 290a 2020 2020 2020 2020 2020 7468 656e ). then\n+00016fe0: 2072 6f74 6174 6528 6d69 6464 6c65 5f31 rotate(middle_1\n+00016ff0: 5f72 6f74 202f 2032 2c20 5b49 5d29 0a20 _rot / 2, [I]). \n+00017000: 2020 2020 2020 2020 2074 6865 6e20 7472 then tr\n+00017010: 616e 736c 6174 6528 286d 6964 646c 655f anslate((middle_\n+00017020: 7261 7469 6f20 2a20 6469 7374 616c 5f6c ratio * distal_l\n+00017030: 656e 202b 200a 2020 2020 2020 2020 2020 en + . \n 00017040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00017050: 2020 2020 2020 6a6f 696e 745f 6761 7020 joint_gap \n-00017060: 2a20 6a6f 696e 745f 7261 6429 202a 205b * joint_rad) * [\n-00017070: 4a5d 2920 7d20 0a20 2020 2020 207b 6a6f J]) } . {jo\n-00017080: 696e 745f 7370 6865 7265 7d0a 2020 2020 int_sphere}. \n-00017090: 7075 7420 7b20 7363 616c 6528 206d 6964 put { scale( mid\n-000170a0: 646c 655f 7261 7469 6f20 2a20 5b4a 5d20 dle_ratio * [J] \n-000170b0: 2b20 0a20 2020 2020 2020 2020 2020 2020 + . \n-000170c0: 2020 2020 7072 6f78 696d 616c 5f64 6973 proximal_dis\n-000170d0: 7461 6c5f 7261 7469 6f5e 3220 2a20 285b tal_ratio^2 * ([\n-000170e0: 495d 2b5b 4b5d 2920 2920 7d0a 2020 2020 I]+[K]) ) }. \n-000170f0: 2020 7b73 6567 6d65 6e74 7d0a 2020 7d0a {segment}. }.\n-00017100: 5468 6973 206c 6f6f 6b73 2076 6572 7920 This looks very \n-00017110: 7369 6d69 6c61 7220 746f 2074 6865 2070 similar to the p\n-00017120: 7265 7669 6f75 7320 6465 6669 6e69 7469 revious definiti\n-00017130: 6f6e 2c20 616e 6420 6974 2069 732e 2020 on, and it is. \n-00017140: 5468 650a 696d 706f 7274 616e 7420 6469 The.important di\n-00017150: 6666 6572 656e 6365 2069 7320 7468 6174 fference is that\n-00017160: 2072 6174 6865 7220 7468 616e 2070 6f73 rather than pos\n-00017170: 6974 696f 6e69 6e67 2061 6e64 2072 6f74 itioning and rot\n-00017180: 6174 696e 6720 610a 7369 6e67 6c65 2073 ating a.single s\n-00017190: 6567 6d65 6e74 2c20 7765 2070 6f73 6974 egment, we posit\n-000171a0: 696f 6e20 616e 6420 726f 7461 7465 2074 ion and rotate t\n-000171b0: 6865 2065 6e74 6972 6520 2261 7373 656d he entire \"assem\n-000171c0: 626c 7922 2064 6566 696e 6564 2061 730a bly\" defined as.\n-000171d0: e280 9864 6973 7461 6c5f 31e2 8099 2e20 ...distal_1.... \n-000171e0: 2054 6865 2072 6573 7420 6973 206a 7573 The rest is jus\n-000171f0: 7420 6172 6974 686d 6574 6963 2074 6f20 t arithmetic to \n-00017200: 636f 6d70 7574 6520 7369 7a65 7320 616e compute sizes an\n-00017210: 6420 706f 7369 7469 6f6e 730a 7468 6174 d positions.that\n-00017220: 206c 6f6f 6b20 6e69 6365 2e20 2054 6865 look nice. The\n-00017230: 206c 6173 7420 e280 9870 7574 e280 9920 last ...put... \n-00017240: 706c 6163 6573 2061 6e20 6170 7072 6f70 places an approp\n-00017250: 7269 6174 656c 7920 7368 6170 6564 2073 riately shaped s\n-00017260: 6567 6d65 6e74 0a74 6861 7420 6973 2074 egment.that is t\n-00017270: 6865 205f 7072 6f78 696d 616c 2070 686c he _proximal phl\n-00017280: 616e 6765 735f 2c20 7468 6520 626f 6e65 anges_, the bone\n-00017290: 2074 6861 7420 6a6f 696e 7320 7468 6520 that joins the \n-000172a0: 7061 6c6d 206f 6620 7468 650a 6861 6e64 palm of the.hand\n-000172b0: 2e20 2054 6869 7320 636f 6d70 6c65 7465 . This complete\n-000172c0: 7320 7468 6520 6669 6e67 6572 2069 7473 s the finger its\n-000172d0: 656c 662e 0a0a 2020 2041 6c6c 2074 6865 elf... All the\n-000172e0: 206f 7468 6572 2066 696e 6765 7273 2061 other fingers a\n-000172f0: 7265 2064 6573 6372 6962 6564 2069 6465 re described ide\n-00017300: 6e74 6963 616c 6c79 2074 6f20 7468 6973 ntically to this\n-00017310: 206f 6e65 2e20 2057 650a 6163 636f 756e one. We.accoun\n-00017320: 7420 666f 7220 7468 6520 6661 6374 2074 t for the fact t\n-00017330: 6861 7420 7265 616c 2066 696e 6765 7273 hat real fingers\n-00017340: 2061 7265 2064 6966 6665 7265 6e74 2073 are different s\n-00017350: 697a 6573 2069 6e20 7468 6520 6e65 7874 izes in the next\n-00017360: 0a73 7465 702c 2077 6869 6368 2069 7320 .step, which is \n-00017370: 746f 2062 7569 6c64 2074 6865 2065 6e74 to build the ent\n-00017380: 6972 6520 6861 6e64 2e0a 0a20 2020 5468 ire hand... Th\n-00017390: 6520 e280 9868 616e 64e2 8099 2064 6566 e ...hand... def\n-000173a0: 696e 6974 696f 6e20 7468 6174 2066 6f6c inition that fol\n-000173b0: 6c6f 7773 2069 6e63 6c75 6465 7320 6120 lows includes a \n-000173c0: 7365 6374 696f 6e20 666f 7220 6561 6368 section for each\n-000173d0: 0a66 696e 6765 722e 2020 5765 276c 6c20 .finger. We'll \n-000173e0: 636f 6e74 696e 7565 2077 6974 6820 6669 continue with fi\n-000173f0: 6e67 6572 2031 2061 6e64 206f 6d69 7420 nger 1 and omit \n-00017400: 616c 6c20 7468 6520 6f74 6865 7273 2e20 all the others. \n-00017410: 2028 4f66 206e 6f74 650a 6973 2074 6861 (Of note.is tha\n-00017420: 7420 7468 6520 7468 756d 6220 6e65 6564 t the thumb need\n-00017430: 7320 736c 6967 6874 6c79 2073 7065 6369 s slightly speci\n-00017440: 616c 2074 7265 6174 6d65 6e74 2d2d 616e al treatment--an\n-00017450: 2065 7874 7261 2072 6f74 6174 696f 6e20 extra rotation \n-00017460: 746f 0a61 6363 6f75 6e74 2066 6f72 2069 to.account for i\n-00017470: 7473 206f 7070 6f73 696e 6720 616e 676c ts opposing angl\n-00017480: 652e 2020 5468 6973 2069 7320 636c 6561 e. This is clea\n-00017490: 7220 696e 2074 6865 2066 756c 6c20 736f r in the full so\n-000174a0: 7572 6365 2063 6f64 652e 290a 4e6f 7420 urce code.).Not \n-000174b0: 7375 7270 7269 7369 6e67 6c79 2c20 7468 surprisingly, th\n-000174c0: 6520 e280 9868 616e 64e2 8099 2064 6566 e ...hand... def\n-000174d0: 696e 6974 696f 6e20 6c6f 6f6b 7320 7665 inition looks ve\n-000174e0: 7279 206d 7563 6820 6c69 6b65 2074 6865 ry much like the\n-000174f0: 0a70 7265 7669 6f75 7320 7477 6f2e 2020 .previous two. \n-00017500: 4974 2073 686f 756c 6420 6265 206e 6f20 It should be no \n-00017510: 7375 7270 7269 7365 2074 6861 7420 7768 surprise that wh\n-00017520: 656e 2074 6865 2072 6f74 6174 696f 6e20 en the rotation \n-00017530: 7061 7261 6d65 7465 720a e280 986d 6574 parameter....met\n-00017540: 615f 315f 726f 74e2 8099 2063 6861 6e67 a_1_rot... chang\n-00017550: 6573 2c20 7468 6520 656e 7469 7265 2066 es, the entire f\n-00017560: 696e 6765 7220 726f 7461 7465 7321 2020 inger rotates! \n-00017570: 5468 6572 6520 6973 2061 6e20 6164 6469 There is an addi\n-00017580: 7469 6f6e 616c 0a72 6f74 6174 696f 6e20 tional.rotation \n-00017590: 7468 6174 2061 6c6c 6f77 7320 7468 6520 that allows the \n-000175a0: 6669 6e67 6572 7320 746f 2073 7072 6561 fingers to sprea\n-000175b0: 6420 6c61 7465 7261 6c6c 792e 2020 5765 d laterally. We\n-000175c0: 2073 6179 2074 6865 7365 0a6a 6f69 6e74 say these.joint\n-000175d0: 7320 6f66 2074 6865 2070 726f 7869 6d61 s of the proxima\n-000175e0: 6c20 7068 6c61 6e67 6573 2068 6176 6520 l phlanges have \n-000175f0: 7477 6f20 5f64 6567 7265 6573 206f 6620 two _degrees of \n-00017600: 6672 6565 646f 6d5f 2e20 2054 6865 0a6a freedom_. The.j\n-00017610: 6f69 6e74 7320 6869 6768 6572 206f 6e20 oints higher on \n-00017620: 7468 6520 6669 6e67 6572 2068 6176 6520 the finger have \n-00017630: 6f6e 6c79 206f 6e65 2e20 2046 696e 616c only one. Final\n-00017640: 6c79 2c20 6561 6368 2066 696e 6765 7220 ly, each finger \n-00017650: 6973 0a73 6361 6c65 6420 6279 2061 2066 is.scaled by a f\n-00017660: 6163 746f 7220 746f 206c 656e 6420 6974 actor to lend it\n-00017670: 2070 726f 706f 7274 696f 6e2e 0a20 2064 proportion.. d\n-00017680: 6566 2068 616e 6420 7b0a 2020 2020 2520 ef hand {. % \n-00017690: 6669 6e67 6572 2031 205b 616c 6c20 6f74 finger 1 [all ot\n-000176a0: 6865 7220 6669 6e67 6572 7320 6f6d 6974 her fingers omit\n-000176b0: 7465 645d 0a20 2020 2064 6566 2073 6361 ted]. def sca\n-000176c0: 6c65 5f31 202e 3835 0a20 2020 2070 7574 le_1 .85. put\n-000176d0: 207b 2073 6361 6c65 2873 6361 6c65 5f31 { scale(scale_1\n-000176e0: 2920 0a20 2020 2020 2020 2020 2074 6865 ) . the\n-000176f0: 6e20 7472 616e 736c 6174 6528 286a 6f69 n translate((joi\n-00017700: 6e74 5f67 6170 202a 206a 6f69 6e74 5f72 nt_gap * joint_r\n-00017710: 6164 2920 2a20 5b4a 5d29 0a09 2020 7468 ad) * [J]).. th\n-00017720: 656e 2072 6f74 6174 6528 6d65 7461 5f31 en rotate(meta_1\n-00017730: 5f72 6f74 2c20 5b49 5d29 0a20 2020 2020 _rot, [I]). \n-00017740: 2020 2020 2074 6865 6e20 726f 7461 7465 then rotate\n-00017750: 282d 7370 7265 6164 5f72 6f74 2c20 5b4b (-spread_rot, [K\n-00017760: 5d29 0a20 2020 2020 2020 2020 2074 6865 ]). the\n-00017770: 6e20 7472 616e 736c 6174 6528 2870 726f n translate((pro\n-00017780: 7869 6d61 6c5f 315f 6c6f 6329 202d 2028 ximal_1_loc) - (\n-00017790: 4f29 2920 7d20 0a20 2020 2020 207b 6669 O)) } . {fi\n-000177a0: 6e67 6572 5f31 7d0a 2020 2020 7075 7420 nger_1}. put \n-000177b0: 7b20 7363 616c 6528 7363 616c 655f 3120 { scale(scale_1 \n-000177c0: 2a20 7072 6f78 696d 616c 5f64 6973 7461 * proximal_dista\n-000177d0: 6c5f 7261 7469 6f5e 3229 0a20 2020 2020 l_ratio^2). \n-000177e0: 2020 2020 2074 6865 6e20 726f 7461 7465 then rotate\n-000177f0: 286d 6574 615f 315f 726f 7420 2f20 322c (meta_1_rot / 2,\n-00017800: 205b 495d 290a 2020 2020 2020 2020 2020 [I]). \n-00017810: 7468 656e 2072 6f74 6174 6528 2d73 7072 then rotate(-spr\n-00017820: 6561 645f 726f 742c 205b 4b5d 290a 2020 ead_rot, [K]). \n-00017830: 2020 2020 2020 2020 7468 656e 2074 7261 then tra\n-00017840: 6e73 6c61 7465 2828 7072 6f78 696d 616c nslate((proximal\n-00017850: 5f31 5f6c 6f63 2920 2d20 284f 2929 207d _1_loc) - (O)) }\n-00017860: 200a 2020 2020 2020 7b6a 6f69 6e74 5f73 . {joint_s\n-00017870: 7068 6572 657d 0a0a 2020 2020 2520 7061 phere}.. % pa\n-00017880: 6c6d 0a20 2020 2073 7765 6570 207b 2031 lm. sweep { 1\n-00017890: 2c20 726f 7461 7465 2836 2c20 2830 2c31 , rotate(6, (0,1\n-000178a0: 352c 3029 2c20 5b49 5d29 207d 0a20 2020 5,0), [I]) }. \n-000178b0: 2020 2070 7574 207b 2072 6f74 6174 6528 put { rotate(\n-000178c0: 2d33 2c20 2830 2c31 352c 3029 2c20 5b49 -3, (0,15,0), [I\n-000178d0: 5d29 207d 207b 0a20 2020 2020 2020 2070 ]) } {. p\n-000178e0: 6f6c 7967 6f6e 2870 726f 7869 6d61 6c5f olygon(proximal_\n-000178f0: 315f 6c6f 6329 2870 726f 7869 6d61 6c5f 1_loc)(proximal_\n-00017900: 325f 6c6f 6329 0a20 2020 2020 2020 2020 2_loc). \n-00017910: 2020 2020 2020 2870 726f 7869 6d61 6c5f (proximal_\n-00017920: 335f 6c6f 6329 2870 726f 7869 6d61 6c5f 3_loc)(proximal_\n-00017930: 345f 6c6f 6329 0a20 2020 2020 2020 2020 4_loc). \n-00017940: 2020 2020 2020 2868 3529 2868 3629 2868 (h5)(h6)(h\n-00017950: 3661 2928 6839 2928 6831 3029 0a20 2020 6a)(h9)(h10). \n-00017960: 2020 2020 2070 6f6c 7967 6f6e 2868 3661 polygon(h6a\n-00017970: 2928 6837 2928 6838 2928 6839 290a 2020 )(h7)(h8)(h9). \n-00017980: 207d 2020 7d0a 5468 6520 6c61 7374 2073 } }.The last s\n-00017990: 6563 7469 6f6e 206f 6620 7468 6520 6465 ection of the de\n-000179a0: 6669 6e69 7469 6f6e 2063 7265 6174 6573 finition creates\n-000179b0: 2074 6865 2070 6f6c 7974 6f70 6520 666f the polytope fo\n-000179c0: 7220 7468 6520 7061 6c6d 206f 660a 7468 r the palm of.th\n-000179d0: 6520 6861 6e64 2062 7920 e280 9873 7765 e hand by ...swe\n-000179e0: 6570 e280 9969 6e67 2061 2031 302d 7369 ep...ing a 10-si\n-000179f0: 6465 6420 706f 6c79 676f 6e20 7468 726f ded polygon thro\n-00017a00: 7567 6820 6120 7665 7279 2073 686f 7274 ugh a very short\n-00017a10: 2061 7263 0a28 3920 6465 6772 6565 7329 arc.(9 degrees)\n-00017a20: 2e20 2054 6869 7320 7072 6f76 6964 6573 . This provides\n-00017a30: 2061 2077 6564 6765 2d73 6861 7065 6420 a wedge-shaped \n-00017a40: 7072 6f66 696c 6520 7768 656e 2076 6965 profile when vie\n-00017a50: 7765 6420 6672 6f6d 2074 6865 0a73 6964 wed from the.sid\n-00017a60: 652e 2020 5468 6520 7468 6963 6b20 656e e. The thick en\n-00017a70: 6420 6f66 2074 6865 2077 6564 6765 2069 d of the wedge i\n-00017a80: 7320 7468 6520 7772 6973 742e 2020 4265 s the wrist. Be\n-00017a90: 6361 7573 6520 7468 6520 706f 6c79 676f cause the polygo\n-00017aa0: 6e20 6973 0a63 6f6e 6361 7665 2c20 6974 n is.concave, it\n-00017ab0: 2069 7320 7370 6c69 7420 696e 746f 2069 is split into i\n-00017ac0: 6e74 6f20 7477 6f20 636f 6e76 6578 2073 nto two convex s\n-00017ad0: 6861 7065 7320 7769 7468 206e 696e 6520 hapes with nine \n-00017ae0: 616e 6420 666f 7572 0a76 6572 7469 6365 and four.vertice\n-00017af0: 732e 0a0a 2020 2057 6520 6361 6e20 6e6f s... We can no\n-00017b00: 7720 6861 7665 2066 756e 2070 6f73 6974 w have fun posit\n-00017b10: 696f 6e69 6e67 2074 6865 2068 616e 6420 ioning the hand \n-00017b20: 6279 2061 646a 7573 7469 6e67 2074 6865 by adjusting the\n-00017b30: 2076 6172 696f 7573 0a72 6f74 6174 696f various.rotatio\n-00017b40: 6e20 616e 676c 6573 2e20 2054 6865 2063 n angles. The c\n-00017b50: 6f6d 706c 6574 6520 736f 7572 6365 2069 omplete source i\n-00017b60: 6e63 6c75 6465 7320 6465 6669 6e69 7469 ncludes definiti\n-00017b70: 6f6e 7320 7769 7468 0a61 6c74 6572 6e61 ons with.alterna\n-00017b80: 7469 7665 7320 7468 6174 2069 6e63 6c75 tives that inclu\n-00017b90: 6465 2074 6865 2066 6f6c 6c6f 7769 6e67 de the following\n-00017ba0: 2076 6965 7773 2061 6e64 206d 6f72 652e views and more.\n-00017bb0: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=\"\n-00017bc0: 6578 3231 302e 706e 6722 2074 6578 743d ex210.png\" text=\n-00017bd0: 2249 6d61 6765 2065 7832 3130 206f 6d69 \"Image ex210 omi\n-00017be0: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver\n-00017bf0: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc\n-00017c00: 756d 656e 742e 2200 085d 0008 5b69 6d61 ument.\"..]..[ima\n-00017c10: 6765 2073 7263 3d22 6578 3232 302e 706e ge src=\"ex220.pn\n-00017c20: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n-00017c30: 7832 3230 206f 6d69 7474 6564 2069 6e20 x220 omitted in \n-00017c40: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n-00017c50: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n-00017c60: 085d 0008 5b69 6d61 6765 2073 7263 3d22 .]..[image src=\"\n-00017c70: 6578 3233 302e 706e 6722 2074 6578 743d ex230.png\" text=\n-00017c80: 2249 6d61 6765 2065 7832 3330 206f 6d69 \"Image ex230 omi\n-00017c90: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver\n-00017ca0: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc\n-00017cb0: 756d 656e 742e 2200 085d 0008 5b69 6d61 ument.\"..]..[ima\n-00017cc0: 6765 2073 7263 3d22 6578 3234 302e 706e ge src=\"ex240.pn\n-00017cd0: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n-00017ce0: 7832 3430 206f 6d69 7474 6564 2069 6e20 x240 omitted in \n-00017cf0: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n-00017d00: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n-00017d10: 085d 0a0a 1f0a 4669 6c65 3a20 736b 6574 .]....File: sket\n-00017d20: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-00017d30: 4361 7665 6174 732c 2020 5072 6576 3a20 Caveats, Prev: \n-00017d40: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m\n-00017d50: 6f64 656c 2c20 2055 703a 2042 7569 6c64 odel, Up: Build\n-00017d60: 696e 6720 6120 6472 6177 696e 670a 0a34 ing a drawing..4\n-00017d70: 2e34 2043 6176 6561 7473 0a3d 3d3d 3d3d .4 Caveats.=====\n-00017d80: 3d3d 3d3d 3d3d 0a0a e280 9853 6b65 7463 ======.....Sketc\n-00017d90: 68e2 8099 2069 7320 6120 6661 6972 6c79 h... is a fairly\n-00017da0: 2070 6f77 6572 6675 6c20 746f 6f6c 2066 powerful tool f\n-00017db0: 6f72 2064 7261 7769 6e67 2c20 6275 742c or drawing, but,\n-00017dc0: 206a 7573 7420 6173 2077 6974 6820 5465 just as with Te\n-00017dd0: 582c 0a74 6865 2070 6f77 6572 2074 6f20 X,.the power to \n-00017de0: 6372 6561 7465 2062 6561 7574 6966 756c create beautiful\n-00017df0: 2072 6573 756c 7473 2063 6f6d 6573 2061 results comes a\n-00017e00: 6c6f 6e67 2077 6974 6820 7468 6520 706f long with the po\n-00017e10: 7765 7220 746f 206d 616b 650a 6d69 7374 wer to make.mist\n-00017e20: 616b 6573 2e20 2054 6865 2066 6f6c 6c6f akes. The follo\n-00017e30: 7769 6e67 2061 7265 2073 6f6d 6520 706f wing are some po\n-00017e40: 696e 7473 2077 6865 7265 2063 6172 6520 ints where care \n-00017e50: 6973 206e 6563 6573 7361 7279 2061 6e64 is necessary and\n-00017e60: 0a77 6865 7265 2074 6865 2063 7572 7265 .where the curre\n-00017e70: 6e74 2076 6572 7369 6f6e 206f 6620 e280 nt version of ..\n-00017e80: 9873 6b65 7463 68e2 8099 2069 7320 6c69 .sketch... is li\n-00017e90: 6d69 7465 6420 6f72 2068 6173 206b 6e6f mited or has kno\n-00017ea0: 776e 2062 7567 732e 0a0a 2a20 4d65 6e75 wn bugs...* Menu\n-00017eb0: 3a0a 0a2a 204c 696d 6974 7320 6f6e 2065 :..* Limits on e\n-00017ec0: 7272 6f72 2064 6574 6563 7469 6f6e 3a3a rror detection::\n-00017ed0: 2020 2057 6861 7420 736b 6574 6368 2064 What sketch d\n-00017ee0: 6f65 736e 2774 2064 6f2e 0a2a 2043 6c69 oesn't do..* Cli\n-00017ef0: 7070 696e 673a 3a20 2020 2020 2020 2020 pping:: \n-00017f00: 2020 2020 2020 2020 2020 204e 6f20 636c No cl\n-00017f10: 6970 7069 6e67 2061 7420 7072 6573 656e ipping at presen\n-00017f20: 742e 0a2a 2048 6964 6465 6e20 7375 7266 t..* Hidden surf\n-00017f30: 6163 6520 7265 6d6f 7661 6c3a 3a20 2020 ace removal:: \n-00017f40: 2020 2049 6d70 6572 6665 6374 696f 6e73 Imperfections\n-00017f50: 2074 6f20 6669 782e 0a0a 1f0a 4669 6c65 to fix.....File\n-00017f60: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n-00017f70: 4e6f 6465 3a20 4c69 6d69 7473 206f 6e20 Node: Limits on \n-00017f80: 6572 726f 7220 6465 7465 6374 696f 6e2c error detection,\n-00017f90: 2020 4e65 7874 3a20 436c 6970 7069 6e67 Next: Clipping\n-00017fa0: 2c20 2050 7265 763a 2043 6176 6561 7473 , Prev: Caveats\n-00017fb0: 2c20 2055 703a 2043 6176 6561 7473 0a0a , Up: Caveats..\n-00017fc0: 342e 342e 3120 4c69 6d69 7473 206f 6e20 4.4.1 Limits on \n-00017fd0: e280 9873 6b65 7463 68e2 8099 2065 7272 ...sketch... err\n-00017fe0: 6f72 2064 6574 6563 7469 6f6e 0a2d 2d2d or detection.---\n+00017050: 6a6f 696e 745f 6761 7020 2a20 6a6f 696e joint_gap * join\n+00017060: 745f 7261 6429 202a 205b 4a5d 2920 7d20 t_rad) * [J]) } \n+00017070: 0a20 2020 2020 207b 6a6f 696e 745f 7370 . {joint_sp\n+00017080: 6865 7265 7d0a 2020 2020 7075 7420 7b20 here}. put { \n+00017090: 7363 616c 6528 206d 6964 646c 655f 7261 scale( middle_ra\n+000170a0: 7469 6f20 2a20 5b4a 5d20 2b20 0a20 2020 tio * [J] + . \n+000170b0: 2020 2020 2020 2020 2020 2020 2020 7072 pr\n+000170c0: 6f78 696d 616c 5f64 6973 7461 6c5f 7261 oximal_distal_ra\n+000170d0: 7469 6f5e 3220 2a20 285b 495d 2b5b 4b5d tio^2 * ([I]+[K]\n+000170e0: 2920 2920 7d0a 2020 2020 2020 7b73 6567 ) ) }. {seg\n+000170f0: 6d65 6e74 7d0a 2020 7d0a 5468 6973 206c ment}. }.This l\n+00017100: 6f6f 6b73 2076 6572 7920 7369 6d69 6c61 ooks very simila\n+00017110: 7220 746f 2074 6865 2070 7265 7669 6f75 r to the previou\n+00017120: 7320 6465 6669 6e69 7469 6f6e 2c20 616e s definition, an\n+00017130: 6420 6974 2069 732e 2020 5468 650a 696d d it is. The.im\n+00017140: 706f 7274 616e 7420 6469 6666 6572 656e portant differen\n+00017150: 6365 2069 7320 7468 6174 2072 6174 6865 ce is that rathe\n+00017160: 7220 7468 616e 2070 6f73 6974 696f 6e69 r than positioni\n+00017170: 6e67 2061 6e64 2072 6f74 6174 696e 6720 ng and rotating \n+00017180: 610a 7369 6e67 6c65 2073 6567 6d65 6e74 a.single segment\n+00017190: 2c20 7765 2070 6f73 6974 696f 6e20 616e , we position an\n+000171a0: 6420 726f 7461 7465 2074 6865 2065 6e74 d rotate the ent\n+000171b0: 6972 6520 2261 7373 656d 626c 7922 2064 ire \"assembly\" d\n+000171c0: 6566 696e 6564 2061 730a e280 9864 6973 efined as....dis\n+000171d0: 7461 6c5f 31e2 8099 2e20 2054 6865 2072 tal_1.... The r\n+000171e0: 6573 7420 6973 206a 7573 7420 6172 6974 est is just arit\n+000171f0: 686d 6574 6963 2074 6f20 636f 6d70 7574 hmetic to comput\n+00017200: 6520 7369 7a65 7320 616e 6420 706f 7369 e sizes and posi\n+00017210: 7469 6f6e 730a 7468 6174 206c 6f6f 6b20 tions.that look \n+00017220: 6e69 6365 2e20 2054 6865 206c 6173 7420 nice. The last \n+00017230: e280 9870 7574 e280 9920 706c 6163 6573 ...put... places\n+00017240: 2061 6e20 6170 7072 6f70 7269 6174 656c an appropriatel\n+00017250: 7920 7368 6170 6564 2073 6567 6d65 6e74 y shaped segment\n+00017260: 0a74 6861 7420 6973 2074 6865 205f 7072 .that is the _pr\n+00017270: 6f78 696d 616c 2070 686c 616e 6765 735f oximal phlanges_\n+00017280: 2c20 7468 6520 626f 6e65 2074 6861 7420 , the bone that \n+00017290: 6a6f 696e 7320 7468 6520 7061 6c6d 206f joins the palm o\n+000172a0: 6620 7468 650a 6861 6e64 2e20 2054 6869 f the.hand. Thi\n+000172b0: 7320 636f 6d70 6c65 7465 7320 7468 6520 s completes the \n+000172c0: 6669 6e67 6572 2069 7473 656c 662e 0a0a finger itself...\n+000172d0: 2020 2041 6c6c 2074 6865 206f 7468 6572 All the other\n+000172e0: 2066 696e 6765 7273 2061 7265 2064 6573 fingers are des\n+000172f0: 6372 6962 6564 2069 6465 6e74 6963 616c cribed identical\n+00017300: 6c79 2074 6f20 7468 6973 206f 6e65 2e20 ly to this one. \n+00017310: 2057 650a 6163 636f 756e 7420 666f 7220 We.account for \n+00017320: 7468 6520 6661 6374 2074 6861 7420 7265 the fact that re\n+00017330: 616c 2066 696e 6765 7273 2061 7265 2064 al fingers are d\n+00017340: 6966 6665 7265 6e74 2073 697a 6573 2069 ifferent sizes i\n+00017350: 6e20 7468 6520 6e65 7874 0a73 7465 702c n the next.step,\n+00017360: 2077 6869 6368 2069 7320 746f 2062 7569 which is to bui\n+00017370: 6c64 2074 6865 2065 6e74 6972 6520 6861 ld the entire ha\n+00017380: 6e64 2e0a 0a20 2020 5468 6520 e280 9868 nd... The ...h\n+00017390: 616e 64e2 8099 2064 6566 696e 6974 696f and... definitio\n+000173a0: 6e20 7468 6174 2066 6f6c 6c6f 7773 2069 n that follows i\n+000173b0: 6e63 6c75 6465 7320 6120 7365 6374 696f ncludes a sectio\n+000173c0: 6e20 666f 7220 6561 6368 0a66 696e 6765 n for each.finge\n+000173d0: 722e 2020 5765 276c 6c20 636f 6e74 696e r. We'll contin\n+000173e0: 7565 2077 6974 6820 6669 6e67 6572 2031 ue with finger 1\n+000173f0: 2061 6e64 206f 6d69 7420 616c 6c20 7468 and omit all th\n+00017400: 6520 6f74 6865 7273 2e20 2028 4f66 206e e others. (Of n\n+00017410: 6f74 650a 6973 2074 6861 7420 7468 6520 ote.is that the \n+00017420: 7468 756d 6220 6e65 6564 7320 736c 6967 thumb needs slig\n+00017430: 6874 6c79 2073 7065 6369 616c 2074 7265 htly special tre\n+00017440: 6174 6d65 6e74 2d2d 616e 2065 7874 7261 atment--an extra\n+00017450: 2072 6f74 6174 696f 6e20 746f 0a61 6363 rotation to.acc\n+00017460: 6f75 6e74 2066 6f72 2069 7473 206f 7070 ount for its opp\n+00017470: 6f73 696e 6720 616e 676c 652e 2020 5468 osing angle. Th\n+00017480: 6973 2069 7320 636c 6561 7220 696e 2074 is is clear in t\n+00017490: 6865 2066 756c 6c20 736f 7572 6365 2063 he full source c\n+000174a0: 6f64 652e 290a 4e6f 7420 7375 7270 7269 ode.).Not surpri\n+000174b0: 7369 6e67 6c79 2c20 7468 6520 e280 9868 singly, the ...h\n+000174c0: 616e 64e2 8099 2064 6566 696e 6974 696f and... definitio\n+000174d0: 6e20 6c6f 6f6b 7320 7665 7279 206d 7563 n looks very muc\n+000174e0: 6820 6c69 6b65 2074 6865 0a70 7265 7669 h like the.previ\n+000174f0: 6f75 7320 7477 6f2e 2020 4974 2073 686f ous two. It sho\n+00017500: 756c 6420 6265 206e 6f20 7375 7270 7269 uld be no surpri\n+00017510: 7365 2074 6861 7420 7768 656e 2074 6865 se that when the\n+00017520: 2072 6f74 6174 696f 6e20 7061 7261 6d65 rotation parame\n+00017530: 7465 720a e280 986d 6574 615f 315f 726f ter....meta_1_ro\n+00017540: 74e2 8099 2063 6861 6e67 6573 2c20 7468 t... changes, th\n+00017550: 6520 656e 7469 7265 2066 696e 6765 7220 e entire finger \n+00017560: 726f 7461 7465 7321 2020 5468 6572 6520 rotates! There \n+00017570: 6973 2061 6e20 6164 6469 7469 6f6e 616c is an additional\n+00017580: 0a72 6f74 6174 696f 6e20 7468 6174 2061 .rotation that a\n+00017590: 6c6c 6f77 7320 7468 6520 6669 6e67 6572 llows the finger\n+000175a0: 7320 746f 2073 7072 6561 6420 6c61 7465 s to spread late\n+000175b0: 7261 6c6c 792e 2020 5765 2073 6179 2074 rally. We say t\n+000175c0: 6865 7365 0a6a 6f69 6e74 7320 6f66 2074 hese.joints of t\n+000175d0: 6865 2070 726f 7869 6d61 6c20 7068 6c61 he proximal phla\n+000175e0: 6e67 6573 2068 6176 6520 7477 6f20 5f64 nges have two _d\n+000175f0: 6567 7265 6573 206f 6620 6672 6565 646f egrees of freedo\n+00017600: 6d5f 2e20 2054 6865 0a6a 6f69 6e74 7320 m_. The.joints \n+00017610: 6869 6768 6572 206f 6e20 7468 6520 6669 higher on the fi\n+00017620: 6e67 6572 2068 6176 6520 6f6e 6c79 206f nger have only o\n+00017630: 6e65 2e20 2046 696e 616c 6c79 2c20 6561 ne. Finally, ea\n+00017640: 6368 2066 696e 6765 7220 6973 0a73 6361 ch finger is.sca\n+00017650: 6c65 6420 6279 2061 2066 6163 746f 7220 led by a factor \n+00017660: 746f 206c 656e 6420 6974 2070 726f 706f to lend it propo\n+00017670: 7274 696f 6e2e 0a20 2064 6566 2068 616e rtion.. def han\n+00017680: 6420 7b0a 2020 2020 2520 6669 6e67 6572 d {. % finger\n+00017690: 2031 205b 616c 6c20 6f74 6865 7220 6669 1 [all other fi\n+000176a0: 6e67 6572 7320 6f6d 6974 7465 645d 0a20 ngers omitted]. \n+000176b0: 2020 2064 6566 2073 6361 6c65 5f31 202e def scale_1 .\n+000176c0: 3835 0a20 2020 2070 7574 207b 2073 6361 85. put { sca\n+000176d0: 6c65 2873 6361 6c65 5f31 2920 0a20 2020 le(scale_1) . \n+000176e0: 2020 2020 2020 2074 6865 6e20 7472 616e then tran\n+000176f0: 736c 6174 6528 286a 6f69 6e74 5f67 6170 slate((joint_gap\n+00017700: 202a 206a 6f69 6e74 5f72 6164 2920 2a20 * joint_rad) * \n+00017710: 5b4a 5d29 0a09 2020 7468 656e 2072 6f74 [J]).. then rot\n+00017720: 6174 6528 6d65 7461 5f31 5f72 6f74 2c20 ate(meta_1_rot, \n+00017730: 5b49 5d29 0a20 2020 2020 2020 2020 2074 [I]). t\n+00017740: 6865 6e20 726f 7461 7465 282d 7370 7265 hen rotate(-spre\n+00017750: 6164 5f72 6f74 2c20 5b4b 5d29 0a20 2020 ad_rot, [K]). \n+00017760: 2020 2020 2020 2074 6865 6e20 7472 616e then tran\n+00017770: 736c 6174 6528 2870 726f 7869 6d61 6c5f slate((proximal_\n+00017780: 315f 6c6f 6329 202d 2028 4f29 2920 7d20 1_loc) - (O)) } \n+00017790: 0a20 2020 2020 207b 6669 6e67 6572 5f31 . {finger_1\n+000177a0: 7d0a 2020 2020 7075 7420 7b20 7363 616c }. put { scal\n+000177b0: 6528 7363 616c 655f 3120 2a20 7072 6f78 e(scale_1 * prox\n+000177c0: 696d 616c 5f64 6973 7461 6c5f 7261 7469 imal_distal_rati\n+000177d0: 6f5e 3229 0a20 2020 2020 2020 2020 2074 o^2). t\n+000177e0: 6865 6e20 726f 7461 7465 286d 6574 615f hen rotate(meta_\n+000177f0: 315f 726f 7420 2f20 322c 205b 495d 290a 1_rot / 2, [I]).\n+00017800: 2020 2020 2020 2020 2020 7468 656e 2072 then r\n+00017810: 6f74 6174 6528 2d73 7072 6561 645f 726f otate(-spread_ro\n+00017820: 742c 205b 4b5d 290a 2020 2020 2020 2020 t, [K]). \n+00017830: 2020 7468 656e 2074 7261 6e73 6c61 7465 then translate\n+00017840: 2828 7072 6f78 696d 616c 5f31 5f6c 6f63 ((proximal_1_loc\n+00017850: 2920 2d20 284f 2929 207d 200a 2020 2020 ) - (O)) } . \n+00017860: 2020 7b6a 6f69 6e74 5f73 7068 6572 657d {joint_sphere}\n+00017870: 0a0a 2020 2020 2520 7061 6c6d 0a20 2020 .. % palm. \n+00017880: 2073 7765 6570 207b 2031 2c20 726f 7461 sweep { 1, rota\n+00017890: 7465 2836 2c20 2830 2c31 352c 3029 2c20 te(6, (0,15,0), \n+000178a0: 5b49 5d29 207d 0a20 2020 2020 2070 7574 [I]) }. put\n+000178b0: 207b 2072 6f74 6174 6528 2d33 2c20 2830 { rotate(-3, (0\n+000178c0: 2c31 352c 3029 2c20 5b49 5d29 207d 207b ,15,0), [I]) } {\n+000178d0: 0a20 2020 2020 2020 2070 6f6c 7967 6f6e . polygon\n+000178e0: 2870 726f 7869 6d61 6c5f 315f 6c6f 6329 (proximal_1_loc)\n+000178f0: 2870 726f 7869 6d61 6c5f 325f 6c6f 6329 (proximal_2_loc)\n+00017900: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00017910: 2870 726f 7869 6d61 6c5f 335f 6c6f 6329 (proximal_3_loc)\n+00017920: 2870 726f 7869 6d61 6c5f 345f 6c6f 6329 (proximal_4_loc)\n+00017930: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00017940: 2868 3529 2868 3629 2868 3661 2928 6839 (h5)(h6)(h6a)(h9\n+00017950: 2928 6831 3029 0a20 2020 2020 2020 2070 )(h10). p\n+00017960: 6f6c 7967 6f6e 2868 3661 2928 6837 2928 olygon(h6a)(h7)(\n+00017970: 6838 2928 6839 290a 2020 207d 2020 7d0a h8)(h9). } }.\n+00017980: 5468 6520 6c61 7374 2073 6563 7469 6f6e The last section\n+00017990: 206f 6620 7468 6520 6465 6669 6e69 7469 of the definiti\n+000179a0: 6f6e 2063 7265 6174 6573 2074 6865 2070 on creates the p\n+000179b0: 6f6c 7974 6f70 6520 666f 7220 7468 6520 olytope for the \n+000179c0: 7061 6c6d 206f 660a 7468 6520 6861 6e64 palm of.the hand\n+000179d0: 2062 7920 e280 9873 7765 6570 e280 9969 by ...sweep...i\n+000179e0: 6e67 2061 2031 302d 7369 6465 6420 706f ng a 10-sided po\n+000179f0: 6c79 676f 6e20 7468 726f 7567 6820 6120 lygon through a \n+00017a00: 7665 7279 2073 686f 7274 2061 7263 0a28 very short arc.(\n+00017a10: 3920 6465 6772 6565 7329 2e20 2054 6869 9 degrees). Thi\n+00017a20: 7320 7072 6f76 6964 6573 2061 2077 6564 s provides a wed\n+00017a30: 6765 2d73 6861 7065 6420 7072 6f66 696c ge-shaped profil\n+00017a40: 6520 7768 656e 2076 6965 7765 6420 6672 e when viewed fr\n+00017a50: 6f6d 2074 6865 0a73 6964 652e 2020 5468 om the.side. Th\n+00017a60: 6520 7468 6963 6b20 656e 6420 6f66 2074 e thick end of t\n+00017a70: 6865 2077 6564 6765 2069 7320 7468 6520 he wedge is the \n+00017a80: 7772 6973 742e 2020 4265 6361 7573 6520 wrist. Because \n+00017a90: 7468 6520 706f 6c79 676f 6e20 6973 0a63 the polygon is.c\n+00017aa0: 6f6e 6361 7665 2c20 6974 2069 7320 7370 oncave, it is sp\n+00017ab0: 6c69 7420 696e 746f 2069 6e74 6f20 7477 lit into into tw\n+00017ac0: 6f20 636f 6e76 6578 2073 6861 7065 7320 o convex shapes \n+00017ad0: 7769 7468 206e 696e 6520 616e 6420 666f with nine and fo\n+00017ae0: 7572 0a76 6572 7469 6365 732e 0a0a 2020 ur.vertices... \n+00017af0: 2057 6520 6361 6e20 6e6f 7720 6861 7665 We can now have\n+00017b00: 2066 756e 2070 6f73 6974 696f 6e69 6e67 fun positioning\n+00017b10: 2074 6865 2068 616e 6420 6279 2061 646a the hand by adj\n+00017b20: 7573 7469 6e67 2074 6865 2076 6172 696f usting the vario\n+00017b30: 7573 0a72 6f74 6174 696f 6e20 616e 676c us.rotation angl\n+00017b40: 6573 2e20 2054 6865 2063 6f6d 706c 6574 es. The complet\n+00017b50: 6520 736f 7572 6365 2069 6e63 6c75 6465 e source include\n+00017b60: 7320 6465 6669 6e69 7469 6f6e 7320 7769 s definitions wi\n+00017b70: 7468 0a61 6c74 6572 6e61 7469 7665 7320 th.alternatives \n+00017b80: 7468 6174 2069 6e63 6c75 6465 2074 6865 that include the\n+00017b90: 2066 6f6c 6c6f 7769 6e67 2076 6965 7773 following views\n+00017ba0: 2061 6e64 206d 6f72 652e 0a0a 0008 5b69 and more.....[i\n+00017bb0: 6d61 6765 2073 7263 3d22 6578 3231 302e mage src=\"ex210.\n+00017bc0: 706e 6722 2074 6578 743d 2249 6d61 6765 png\" text=\"Image\n+00017bd0: 2065 7832 3130 206f 6d69 7474 6564 2069 ex210 omitted i\n+00017be0: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o\n+00017bf0: 6620 7468 6973 2064 6f63 756d 656e 742e f this document.\n+00017c00: 2200 085d 0008 5b69 6d61 6765 2073 7263 \"..]..[image src\n+00017c10: 3d22 6578 3232 302e 706e 6722 2074 6578 =\"ex220.png\" tex\n+00017c20: 743d 2249 6d61 6765 2065 7832 3230 206f t=\"Image ex220 o\n+00017c30: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n+00017c40: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n+00017c50: 6f63 756d 656e 742e 2200 085d 0008 5b69 ocument.\"..]..[i\n+00017c60: 6d61 6765 2073 7263 3d22 6578 3233 302e mage src=\"ex230.\n+00017c70: 706e 6722 2074 6578 743d 2249 6d61 6765 png\" text=\"Image\n+00017c80: 2065 7832 3330 206f 6d69 7474 6564 2069 ex230 omitted i\n+00017c90: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o\n+00017ca0: 6620 7468 6973 2064 6f63 756d 656e 742e f this document.\n+00017cb0: 2200 085d 0008 5b69 6d61 6765 2073 7263 \"..]..[image src\n+00017cc0: 3d22 6578 3234 302e 706e 6722 2074 6578 =\"ex240.png\" tex\n+00017cd0: 743d 2249 6d61 6765 2065 7832 3430 206f t=\"Image ex240 o\n+00017ce0: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n+00017cf0: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n+00017d00: 6f63 756d 656e 742e 2200 085d 0a0a 1f0a ocument.\"..]....\n+00017d10: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+00017d20: 6f2c 2020 4e6f 6465 3a20 4361 7665 6174 o, Node: Caveat\n+00017d30: 732c 2020 5072 6576 3a20 4120 6869 6572 s, Prev: A hier\n+00017d40: 6172 6368 6963 616c 206d 6f64 656c 2c20 archical model, \n+00017d50: 2055 703a 2042 7569 6c64 696e 6720 6120 Up: Building a \n+00017d60: 6472 6177 696e 670a 0a34 2e34 2043 6176 drawing..4.4 Cav\n+00017d70: 6561 7473 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d eats.===========\n+00017d80: 0a0a e280 9853 6b65 7463 68e2 8099 2069 .....Sketch... i\n+00017d90: 7320 6120 6661 6972 6c79 2070 6f77 6572 s a fairly power\n+00017da0: 6675 6c20 746f 6f6c 2066 6f72 2064 7261 ful tool for dra\n+00017db0: 7769 6e67 2c20 6275 742c 206a 7573 7420 wing, but, just \n+00017dc0: 6173 2077 6974 6820 5465 582c 0a74 6865 as with TeX,.the\n+00017dd0: 2070 6f77 6572 2074 6f20 6372 6561 7465 power to create\n+00017de0: 2062 6561 7574 6966 756c 2072 6573 756c beautiful resul\n+00017df0: 7473 2063 6f6d 6573 2061 6c6f 6e67 2077 ts comes along w\n+00017e00: 6974 6820 7468 6520 706f 7765 7220 746f ith the power to\n+00017e10: 206d 616b 650a 6d69 7374 616b 6573 2e20 make.mistakes. \n+00017e20: 2054 6865 2066 6f6c 6c6f 7769 6e67 2061 The following a\n+00017e30: 7265 2073 6f6d 6520 706f 696e 7473 2077 re some points w\n+00017e40: 6865 7265 2063 6172 6520 6973 206e 6563 here care is nec\n+00017e50: 6573 7361 7279 2061 6e64 0a77 6865 7265 essary and.where\n+00017e60: 2074 6865 2063 7572 7265 6e74 2076 6572 the current ver\n+00017e70: 7369 6f6e 206f 6620 e280 9873 6b65 7463 sion of ...sketc\n+00017e80: 68e2 8099 2069 7320 6c69 6d69 7465 6420 h... is limited \n+00017e90: 6f72 2068 6173 206b 6e6f 776e 2062 7567 or has known bug\n+00017ea0: 732e 0a0a 2a20 4d65 6e75 3a0a 0a2a 204c s...* Menu:..* L\n+00017eb0: 696d 6974 7320 6f6e 2065 7272 6f72 2064 imits on error d\n+00017ec0: 6574 6563 7469 6f6e 3a3a 2020 2057 6861 etection:: Wha\n+00017ed0: 7420 736b 6574 6368 2064 6f65 736e 2774 t sketch doesn't\n+00017ee0: 2064 6f2e 0a2a 2043 6c69 7070 696e 673a do..* Clipping:\n+00017ef0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00017f00: 2020 2020 204e 6f20 636c 6970 7069 6e67 No clipping\n+00017f10: 2061 7420 7072 6573 656e 742e 0a2a 2048 at present..* H\n+00017f20: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re\n+00017f30: 6d6f 7661 6c3a 3a20 2020 2020 2049 6d70 moval:: Imp\n+00017f40: 6572 6665 6374 696f 6e73 2074 6f20 6669 erfections to fi\n+00017f50: 782e 0a0a 1f0a 4669 6c65 3a20 736b 6574 x.....File: sket\n+00017f60: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n+00017f70: 4c69 6d69 7473 206f 6e20 6572 726f 7220 Limits on error \n+00017f80: 6465 7465 6374 696f 6e2c 2020 4e65 7874 detection, Next\n+00017f90: 3a20 436c 6970 7069 6e67 2c20 2050 7265 : Clipping, Pre\n+00017fa0: 763a 2043 6176 6561 7473 2c20 2055 703a v: Caveats, Up:\n+00017fb0: 2043 6176 6561 7473 0a0a 342e 342e 3120 Caveats..4.4.1 \n+00017fc0: 4c69 6d69 7473 206f 6e20 e280 9873 6b65 Limits on ...ske\n+00017fd0: 7463 68e2 8099 2065 7272 6f72 2064 6574 tch... error det\n+00017fe0: 6563 7469 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d ection.---------\n 00017ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00018000: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00018010: 2d2d 2d2d 2d0a 0ae2 8098 536b 6574 6368 -----.....Sketch\n-00018020: e280 9920 6361 7463 6865 7320 6d61 6e79 ... catches many\n-00018030: 206b 696e 6473 206f 6620 6572 726f 7273 kinds of errors\n-00018040: 2c20 6275 7420 6e6f 7420 616c 6c2e 2020 , but not all. \n-00018050: 466f 7220 6578 616d 706c 652c 0a6f 7074 For example,.opt\n-00018060: 696f 6e73 2074 6861 7420 736b 6574 6368 ions that sketch\n-00018070: 2064 6f65 7320 6e6f 7420 7265 636f 676e does not recogn\n-00018080: 697a 652c 2065 7665 6e20 696e 636f 7272 ize, even incorr\n-00018090: 6563 7420 6f6e 6573 2c20 6172 6520 7175 ect ones, are qu\n-000180a0: 6965 746c 790a 636f 7069 6564 2074 6f20 ietly.copied to \n-000180b0: e280 9850 5354 7269 636b 73e2 8099 2063 ...PSTricks... c\n-000180c0: 6f6d 6d61 6e64 7320 696e 2074 6865 206f ommands in the o\n-000180d0: 7574 7075 742e 2020 4974 2069 7320 616c utput. It is al\n-000180e0: 736f 2075 6e66 6f72 7475 6e61 7465 6c79 so unfortunately\n-000180f0: 0a65 6173 7920 746f 2070 726f 6475 6365 .easy to produce\n-00018100: 20e2 8098 736b 6574 6368 e280 9920 696e ...sketch... in\n-00018110: 7075 7473 2074 6861 7420 6c65 6164 2074 puts that lead t\n-00018120: 6f20 6e6f 2070 6963 7475 7265 2061 7420 o no picture at \n-00018130: 616c 6c20 2869 6d70 726f 7065 720a 7665 all (improper.ve\n-00018140: 7274 6578 206f 7264 6572 696e 6720 6361 rtex ordering ca\n-00018150: 7573 6573 2065 7665 7279 7468 696e 6720 uses everything \n-00018160: 746f 2062 6520 6375 6c6c 6564 292c 2074 to be culled), t\n-00018170: 6f20 7069 6374 7572 6573 2074 6861 7420 o pictures that \n-00018180: 6172 650a 746f 6f20 6269 6720 6f72 2074 are.too big or t\n-00018190: 6f6f 2073 6d61 6c6c 2066 6f72 20e2 8098 oo small for ...\n-000181a0: 5053 5472 6963 6b73 e280 9920 746f 2064 PSTricks... to d\n-000181b0: 7261 7720 2864 7565 2074 6f20 6c69 6d69 raw (due to limi\n-000181c0: 7473 206f 6620 5465 5820 6d61 7468 292c ts of TeX math),\n-000181d0: 0a61 6e64 2070 6963 7475 7265 7320 7468 .and pictures th\n-000181e0: 6174 206c 6f6f 6b20 6e6f 7468 696e 6720 at look nothing \n-000181f0: 6c69 6b65 2077 6861 7420 7761 7320 696e like what was in\n-00018200: 7465 6e64 6564 2e20 2041 2070 6963 7475 tended. A pictu\n-00018210: 7265 2077 6974 680a 6f6e 6520 6f66 2074 re with.one of t\n-00018220: 6865 7365 2070 726f 626c 656d 7320 6361 hese problems ca\n-00018230: 6e20 6265 2064 6966 6669 6375 6c74 2074 n be difficult t\n-00018240: 6f20 2264 6562 7567 2e22 2020 5765 206f o \"debug.\" We o\n-00018250: 6666 6572 2074 6865 0a66 6f6c 6c6f 7769 ffer the.followi\n-00018260: 6e67 2073 7567 6765 7374 696f 6e73 2e0a ng suggestions..\n-00018270: 2020 20e2 80a2 2046 6f6c 6c6f 7720 7468 ... Follow th\n-00018280: 6520 7375 6767 6573 7465 6420 696e 6372 e suggested incr\n-00018290: 656d 656e 7461 6c20 6465 7665 6c6f 706d emental developm\n-000182a0: 656e 7420 6d65 7468 6f64 2064 6573 6372 ent method descr\n-000182b0: 6962 6564 2069 6e0a 2020 2020 202a 6e6f ibed in. *no\n-000182c0: 7465 204f 7665 7276 6965 773a 3a2e 0a20 te Overview::.. \n-000182d0: 2020 e280 a220 416c 7761 7973 206d 6169 ... Always mai\n-000182e0: 6e74 6169 6e20 6f6e 6520 6f72 2074 776f ntain one or two\n-000182f0: 2062 6163 6b2d 7665 7273 696f 6e73 206f back-versions o\n-00018300: 6620 6120 6472 6177 696e 6720 736f 2074 f a drawing so t\n-00018310: 6861 7420 6974 2069 730a 2020 2020 2065 hat it is. e\n-00018320: 6173 7920 746f 2066 616c 6c20 6261 636b asy to fall back\n-00018330: 2074 6f20 6120 6b6e 6f77 6e2d 676f 6f64 to a known-good\n-00018340: 2069 6e63 7265 6d65 6e74 2e0a 2020 20e2 increment.. .\n-00018350: 80a2 2057 6865 6e20 7573 696e 6720 e280 .. When using ..\n-00018360: 9870 6572 7370 6563 7469 7665 e280 992c .perspective...,\n-00018370: 2065 6e73 7572 6520 616c 6c20 6669 6e61 ensure all fina\n-00018380: 6c6c 7920 7472 616e 7366 6f72 6d65 6420 lly transformed \n-00018390: 6f62 6a65 6374 730a 2020 2020 2073 6174 objects. sat\n-000183a0: 6973 6679 207a 3c30 2061 6e64 2c20 696e isfy z<0 and, in\n-000183b0: 2066 6163 742c 2064 6f20 6e6f 7420 636f fact, do not co\n-000183c0: 6d65 2076 6572 7920 636c 6f73 6520 746f me very close to\n-000183d0: 2074 6865 206f 7269 6769 6e20 6174 0a20 the origin at. \n-000183e0: 2020 2020 616c 6c2e 0a20 2020 e280 a220 all.. ... \n-000183f0: 5465 6d70 6f72 6172 696c 7920 7573 6520 Temporarily use \n-00018400: e280 9863 756c 6c3d 6661 6c73 65e2 8099 ...cull=false...\n-00018410: 2074 6f20 7365 6520 7768 6572 6520 7665 to see where ve\n-00018420: 7274 6578 206f 7264 6572 696e 6720 7072 rtex ordering pr\n-00018430: 6f62 6c65 6d73 0a20 2020 2020 6c69 652e oblems. lie.\n-00018440: 0a20 2020 e280 a220 5573 6520 7465 6d70 . ... Use temp\n-00018450: 6f72 6172 7920 6368 616e 6765 7320 6f66 orary changes of\n-00018460: 2063 6f6c 6f72 206f 6620 6f6e 6520 6f72 color of one or\n-00018470: 206d 6f72 6520 6f62 6a65 6374 7320 746f more objects to\n-00018480: 2065 6e73 7572 650a 2020 2020 2074 6861 ensure. tha\n-00018490: 7420 796f 7572 2075 6e64 6572 7374 616e t your understan\n-000184a0: 6469 6e67 206f 6620 7468 6520 7363 656e ding of the scen\n-000184b0: 6520 6765 6f6d 6574 7279 2069 7320 636f e geometry is co\n-000184c0: 7272 6563 742e 0a20 2020 e280 a220 4966 rrect.. ... If\n-000184d0: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... \n-000184e0: 636f 6d70 6c61 696e 7320 6162 6f75 7420 complains about \n-000184f0: 736f 6d65 7468 696e 672c 2069 6e73 7065 something, inspe\n-00018500: 6374 2074 6865 206f 7574 7075 740a 2020 ct the output. \n-00018510: 2020 2064 6972 6563 746c 7920 666f 7220 directly for \n-00018520: 636c 7565 732e 0a0a 1f0a 4669 6c65 3a20 clues.....File: \n-00018530: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-00018540: 6465 3a20 436c 6970 7069 6e67 2c20 204e de: Clipping, N\n-00018550: 6578 743a 2048 6964 6465 6e20 7375 7266 ext: Hidden surf\n-00018560: 6163 6520 7265 6d6f 7661 6c2c 2020 5072 ace removal, Pr\n-00018570: 6576 3a20 4c69 6d69 7473 206f 6e20 6572 ev: Limits on er\n-00018580: 726f 7220 6465 7465 6374 696f 6e2c 2020 ror detection, \n-00018590: 5570 3a20 4361 7665 6174 730a 0a34 2e34 Up: Caveats..4.4\n-000185a0: 2e32 2043 6c69 7070 696e 670a 2d2d 2d2d .2 Clipping.----\n-000185b0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5468 6520 ----------..The \n-000185c0: 6375 7272 656e 7420 7665 7273 696f 6e20 current version \n-000185d0: 6f66 20e2 8098 736b 6574 6368 e280 9920 of ...sketch... \n-000185e0: 6861 7320 6e6f 2063 6c69 7070 696e 6720 has no clipping \n-000185f0: 6f70 6572 6174 696f 6e73 2e20 2054 6865 operations. The\n-00018600: 2065 6e74 6972 650a 7363 656e 6520 6973 entire.scene is\n-00018610: 2061 6c77 6179 7320 6472 6177 6e2e 2020 always drawn. \n-00018620: 5468 6973 206d 6561 6e73 2074 6861 7420 This means that \n-00018630: 7768 656e 2061 2070 6572 7370 6563 7469 when a perspecti\n-00018640: 7665 2074 7261 6e73 666f 726d 2069 730a ve transform is.\n-00018650: 656d 706c 6f79 6564 2c20 6974 2069 7320 employed, it is \n-00018660: 7468 6520 7573 6572 2773 2072 6573 706f the user's respo\n-00018670: 6e73 6962 696c 6974 7920 746f 206d 616b nsibility to mak\n-00018680: 6520 7375 7265 2074 6865 2065 6e74 6972 e sure the entir\n-00018690: 6520 7363 656e 650a 7265 6d61 696e 7320 e scene.remains \n-000186a0: 696e 2066 726f 6e74 206f 6620 7468 6520 in front of the \n-000186b0: 7669 6577 6572 2c20 7468 6520 7265 6769 viewer, the regi\n-000186c0: 6f6e 207a 3c30 2e0a 0a1f 0a46 696c 653a on z<0.....File:\n-000186d0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-000186e0: 6f64 653a 2048 6964 6465 6e20 7375 7266 ode: Hidden surf\n-000186f0: 6163 6520 7265 6d6f 7661 6c2c 2020 5072 ace removal, Pr\n-00018700: 6576 3a20 436c 6970 7069 6e67 2c20 2055 ev: Clipping, U\n-00018710: 703a 2043 6176 6561 7473 0a0a 342e 342e p: Caveats..4.4.\n-00018720: 3320 4869 6464 656e 2073 7572 6661 6365 3 Hidden surface\n-00018730: 2072 656d 6f76 616c 2061 6e64 2070 6f6c removal and pol\n-00018740: 7967 6f6e 2073 706c 6974 7469 6e67 0a2d ygon splitting.-\n+00018000: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+00018010: 0ae2 8098 536b 6574 6368 e280 9920 6361 ....Sketch... ca\n+00018020: 7463 6865 7320 6d61 6e79 206b 696e 6473 tches many kinds\n+00018030: 206f 6620 6572 726f 7273 2c20 6275 7420 of errors, but \n+00018040: 6e6f 7420 616c 6c2e 2020 466f 7220 6578 not all. For ex\n+00018050: 616d 706c 652c 0a6f 7074 696f 6e73 2074 ample,.options t\n+00018060: 6861 7420 736b 6574 6368 2064 6f65 7320 hat sketch does \n+00018070: 6e6f 7420 7265 636f 676e 697a 652c 2065 not recognize, e\n+00018080: 7665 6e20 696e 636f 7272 6563 7420 6f6e ven incorrect on\n+00018090: 6573 2c20 6172 6520 7175 6965 746c 790a es, are quietly.\n+000180a0: 636f 7069 6564 2074 6f20 e280 9850 5354 copied to ...PST\n+000180b0: 7269 636b 73e2 8099 2063 6f6d 6d61 6e64 ricks... command\n+000180c0: 7320 696e 2074 6865 206f 7574 7075 742e s in the output.\n+000180d0: 2020 4974 2069 7320 616c 736f 2075 6e66 It is also unf\n+000180e0: 6f72 7475 6e61 7465 6c79 0a65 6173 7920 ortunately.easy \n+000180f0: 746f 2070 726f 6475 6365 20e2 8098 736b to produce ...sk\n+00018100: 6574 6368 e280 9920 696e 7075 7473 2074 etch... inputs t\n+00018110: 6861 7420 6c65 6164 2074 6f20 6e6f 2070 hat lead to no p\n+00018120: 6963 7475 7265 2061 7420 616c 6c20 2869 icture at all (i\n+00018130: 6d70 726f 7065 720a 7665 7274 6578 206f mproper.vertex o\n+00018140: 7264 6572 696e 6720 6361 7573 6573 2065 rdering causes e\n+00018150: 7665 7279 7468 696e 6720 746f 2062 6520 verything to be \n+00018160: 6375 6c6c 6564 292c 2074 6f20 7069 6374 culled), to pict\n+00018170: 7572 6573 2074 6861 7420 6172 650a 746f ures that are.to\n+00018180: 6f20 6269 6720 6f72 2074 6f6f 2073 6d61 o big or too sma\n+00018190: 6c6c 2066 6f72 20e2 8098 5053 5472 6963 ll for ...PSTric\n+000181a0: 6b73 e280 9920 746f 2064 7261 7720 2864 ks... to draw (d\n+000181b0: 7565 2074 6f20 6c69 6d69 7473 206f 6620 ue to limits of \n+000181c0: 5465 5820 6d61 7468 292c 0a61 6e64 2070 TeX math),.and p\n+000181d0: 6963 7475 7265 7320 7468 6174 206c 6f6f ictures that loo\n+000181e0: 6b20 6e6f 7468 696e 6720 6c69 6b65 2077 k nothing like w\n+000181f0: 6861 7420 7761 7320 696e 7465 6e64 6564 hat was intended\n+00018200: 2e20 2041 2070 6963 7475 7265 2077 6974 . A picture wit\n+00018210: 680a 6f6e 6520 6f66 2074 6865 7365 2070 h.one of these p\n+00018220: 726f 626c 656d 7320 6361 6e20 6265 2064 roblems can be d\n+00018230: 6966 6669 6375 6c74 2074 6f20 2264 6562 ifficult to \"deb\n+00018240: 7567 2e22 2020 5765 206f 6666 6572 2074 ug.\" We offer t\n+00018250: 6865 0a66 6f6c 6c6f 7769 6e67 2073 7567 he.following sug\n+00018260: 6765 7374 696f 6e73 2e0a 2020 20e2 80a2 gestions.. ...\n+00018270: 2046 6f6c 6c6f 7720 7468 6520 7375 6767 Follow the sugg\n+00018280: 6573 7465 6420 696e 6372 656d 656e 7461 ested incrementa\n+00018290: 6c20 6465 7665 6c6f 706d 656e 7420 6d65 l development me\n+000182a0: 7468 6f64 2064 6573 6372 6962 6564 2069 thod described i\n+000182b0: 6e0a 2020 2020 202a 6e6f 7465 204f 7665 n. *note Ove\n+000182c0: 7276 6965 773a 3a2e 0a20 2020 e280 a220 rview::.. ... \n+000182d0: 416c 7761 7973 206d 6169 6e74 6169 6e20 Always maintain \n+000182e0: 6f6e 6520 6f72 2074 776f 2062 6163 6b2d one or two back-\n+000182f0: 7665 7273 696f 6e73 206f 6620 6120 6472 versions of a dr\n+00018300: 6177 696e 6720 736f 2074 6861 7420 6974 awing so that it\n+00018310: 2069 730a 2020 2020 2065 6173 7920 746f is. easy to\n+00018320: 2066 616c 6c20 6261 636b 2074 6f20 6120 fall back to a \n+00018330: 6b6e 6f77 6e2d 676f 6f64 2069 6e63 7265 known-good incre\n+00018340: 6d65 6e74 2e0a 2020 20e2 80a2 2057 6865 ment.. ... Whe\n+00018350: 6e20 7573 696e 6720 e280 9870 6572 7370 n using ...persp\n+00018360: 6563 7469 7665 e280 992c 2065 6e73 7572 ective..., ensur\n+00018370: 6520 616c 6c20 6669 6e61 6c6c 7920 7472 e all finally tr\n+00018380: 616e 7366 6f72 6d65 6420 6f62 6a65 6374 ansformed object\n+00018390: 730a 2020 2020 2073 6174 6973 6679 207a s. satisfy z\n+000183a0: 3c30 2061 6e64 2c20 696e 2066 6163 742c <0 and, in fact,\n+000183b0: 2064 6f20 6e6f 7420 636f 6d65 2076 6572 do not come ver\n+000183c0: 7920 636c 6f73 6520 746f 2074 6865 206f y close to the o\n+000183d0: 7269 6769 6e20 6174 0a20 2020 2020 616c rigin at. al\n+000183e0: 6c2e 0a20 2020 e280 a220 5465 6d70 6f72 l.. ... Tempor\n+000183f0: 6172 696c 7920 7573 6520 e280 9863 756c arily use ...cul\n+00018400: 6c3d 6661 6c73 65e2 8099 2074 6f20 7365 l=false... to se\n+00018410: 6520 7768 6572 6520 7665 7274 6578 206f e where vertex o\n+00018420: 7264 6572 696e 6720 7072 6f62 6c65 6d73 rdering problems\n+00018430: 0a20 2020 2020 6c69 652e 0a20 2020 e280 . lie.. ..\n+00018440: a220 5573 6520 7465 6d70 6f72 6172 7920 . Use temporary \n+00018450: 6368 616e 6765 7320 6f66 2063 6f6c 6f72 changes of color\n+00018460: 206f 6620 6f6e 6520 6f72 206d 6f72 6520 of one or more \n+00018470: 6f62 6a65 6374 7320 746f 2065 6e73 7572 objects to ensur\n+00018480: 650a 2020 2020 2074 6861 7420 796f 7572 e. that your\n+00018490: 2075 6e64 6572 7374 616e 6469 6e67 206f understanding o\n+000184a0: 6620 7468 6520 7363 656e 6520 6765 6f6d f the scene geom\n+000184b0: 6574 7279 2069 7320 636f 7272 6563 742e etry is correct.\n+000184c0: 0a20 2020 e280 a220 4966 20e2 8098 5053 . ... If ...PS\n+000184d0: 5472 6963 6b73 e280 9920 636f 6d70 6c61 Tricks... compla\n+000184e0: 696e 7320 6162 6f75 7420 736f 6d65 7468 ins about someth\n+000184f0: 696e 672c 2069 6e73 7065 6374 2074 6865 ing, inspect the\n+00018500: 206f 7574 7075 740a 2020 2020 2064 6972 output. dir\n+00018510: 6563 746c 7920 666f 7220 636c 7565 732e ectly for clues.\n+00018520: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+00018530: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 436c .info, Node: Cl\n+00018540: 6970 7069 6e67 2c20 204e 6578 743a 2048 ipping, Next: H\n+00018550: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re\n+00018560: 6d6f 7661 6c2c 2020 5072 6576 3a20 4c69 moval, Prev: Li\n+00018570: 6d69 7473 206f 6e20 6572 726f 7220 6465 mits on error de\n+00018580: 7465 6374 696f 6e2c 2020 5570 3a20 4361 tection, Up: Ca\n+00018590: 7665 6174 730a 0a34 2e34 2e32 2043 6c69 veats..4.4.2 Cli\n+000185a0: 7070 696e 670a 2d2d 2d2d 2d2d 2d2d 2d2d pping.----------\n+000185b0: 2d2d 2d2d 0a0a 5468 6520 6375 7272 656e ----..The curren\n+000185c0: 7420 7665 7273 696f 6e20 6f66 20e2 8098 t version of ...\n+000185d0: 736b 6574 6368 e280 9920 6861 7320 6e6f sketch... has no\n+000185e0: 2063 6c69 7070 696e 6720 6f70 6572 6174 clipping operat\n+000185f0: 696f 6e73 2e20 2054 6865 2065 6e74 6972 ions. The entir\n+00018600: 650a 7363 656e 6520 6973 2061 6c77 6179 e.scene is alway\n+00018610: 7320 6472 6177 6e2e 2020 5468 6973 206d s drawn. This m\n+00018620: 6561 6e73 2074 6861 7420 7768 656e 2061 eans that when a\n+00018630: 2070 6572 7370 6563 7469 7665 2074 7261 perspective tra\n+00018640: 6e73 666f 726d 2069 730a 656d 706c 6f79 nsform is.employ\n+00018650: 6564 2c20 6974 2069 7320 7468 6520 7573 ed, it is the us\n+00018660: 6572 2773 2072 6573 706f 6e73 6962 696c er's responsibil\n+00018670: 6974 7920 746f 206d 616b 6520 7375 7265 ity to make sure\n+00018680: 2074 6865 2065 6e74 6972 6520 7363 656e the entire scen\n+00018690: 650a 7265 6d61 696e 7320 696e 2066 726f e.remains in fro\n+000186a0: 6e74 206f 6620 7468 6520 7669 6577 6572 nt of the viewer\n+000186b0: 2c20 7468 6520 7265 6769 6f6e 207a 3c30 , the region z<0\n+000186c0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+000186d0: 682e 696e 666f 2c20 204e 6f64 653a 2048 h.info, Node: H\n+000186e0: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re\n+000186f0: 6d6f 7661 6c2c 2020 5072 6576 3a20 436c moval, Prev: Cl\n+00018700: 6970 7069 6e67 2c20 2055 703a 2043 6176 ipping, Up: Cav\n+00018710: 6561 7473 0a0a 342e 342e 3320 4869 6464 eats..4.4.3 Hidd\n+00018720: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov\n+00018730: 616c 2061 6e64 2070 6f6c 7967 6f6e 2073 al and polygon s\n+00018740: 706c 6974 7469 6e67 0a2d 2d2d 2d2d 2d2d plitting.-------\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 2d2d 2d2d ----------------\n-00018780: 2d0a 0ae2 8098 536b 6574 6368 e280 9920 -.....Sketch... \n-00018790: 7573 6573 2074 6865 20e2 809c 6465 7074 uses the ...dept\n-000187a0: 6820 736f 7274 2061 6c67 6f72 6974 686d h sort algorithm\n-000187b0: e280 9d20 666f 7220 6869 6464 656e 2073 ... for hidden s\n-000187c0: 7572 6661 6365 2072 656d 6f76 616c 2e0a urface removal..\n-000187d0: 5468 6973 2069 7320 6120 7665 7279 206f This is a very o\n-000187e0: 6c64 2074 6563 686e 6971 7565 2064 7565 ld technique due\n-000187f0: 2074 6f20 4e65 7765 6c6c 2e28 3129 2020 to Newell.(1) \n-00018800: 4974 2069 7320 6765 6e65 7261 6c6c 7920 It is generally \n-00018810: 7265 6761 7264 6564 0a61 7320 746f 6f20 regarded.as too \n-00018820: 736c 6f77 2066 6f72 2072 6561 6c20 7469 slow for real ti\n-00018830: 6d65 2067 7261 7068 6963 732c 2062 7574 me graphics, but\n-00018840: 2069 7420 6973 2069 6465 616c 2066 6f72 it is ideal for\n-00018850: 206f 7572 2070 7572 706f 7365 0a77 6865 our purpose.whe\n-00018860: 7265 2073 7065 6564 2069 7320 6e6f 7420 re speed is not \n-00018870: 7665 7279 2069 6d70 6f72 7461 6e74 2e28 very important.(\n-00018880: 3229 0a0a 2020 2054 6865 2064 6570 7468 2).. The depth\n-00018890: 2073 6f72 7420 616c 676f 7269 7468 6d20 sort algorithm \n-000188a0: 6d65 7265 6c79 2073 6f72 7473 206f 626a merely sorts obj\n-000188b0: 6563 7473 206f 6e20 6120 6b65 7920 6f66 ects on a key of\n-000188c0: 2069 6e63 7265 6173 696e 670a 7a2d 636f increasing.z-co\n-000188d0: 6f72 6469 6e61 7465 2c20 6571 7569 7661 ordinate, equiva\n-000188e0: 6c65 6e74 2074 6f20 6465 6372 6561 7369 lent to decreasi\n-000188f0: 6e67 2064 6570 7468 2e20 204f 626a 6563 ng depth. Objec\n-00018900: 7473 2061 7265 2074 6865 6e20 6472 6177 ts are then draw\n-00018910: 6e20 696e 0a74 6865 2073 6f72 7465 6420 n in.the sorted \n-00018920: 7365 7175 656e 6365 2073 6f20 7468 6174 sequence so that\n-00018930: 2074 686f 7365 2061 7420 7468 6520 7265 those at the re\n-00018940: 6172 206f 6620 7468 6520 7363 656e 6520 ar of the scene \n-00018950: 6172 650a 6f76 6572 7772 6974 7465 6e20 are.overwritten \n-00018960: 6279 2074 686f 7365 2063 6c6f 7365 7220 by those closer \n-00018970: 746f 2074 6865 2076 6965 7765 722e 2020 to the viewer. \n-00018980: 5369 6e63 6520 7468 6973 2069 7320 616c Since this is al\n-00018990: 736f 2068 6f77 206f 696c 0a70 6169 6e74 so how oil.paint\n-000189a0: 6572 7320 7072 6163 7469 6365 2074 6865 ers practice the\n-000189b0: 6972 2061 7274 2c20 6465 7074 6820 736f ir art, depth so\n-000189c0: 7274 2069 7320 736f 6d65 7469 6d65 7320 rt is sometimes \n-000189d0: 6361 6c6c 6564 2022 7468 650a 7061 696e called \"the.pain\n-000189e0: 7465 7227 7320 616c 676f 7269 7468 6d2e ter's algorithm.\n-000189f0: 220a 0a20 2020 496e 2073 6f6d 6520 6361 \".. In some ca\n-00018a00: 7365 7320 6974 2069 7320 696d 706f 7373 ses it is imposs\n-00018a10: 6962 6c65 2074 6f20 7374 7269 6374 6c79 ible to strictly\n-00018a20: 206f 7264 6572 2070 6f6c 7967 6f6e 7320 order polygons \n-00018a30: 6163 636f 7264 696e 670a 746f 2064 6570 according.to dep\n-00018a40: 7468 2e20 204d 6f72 656f 7665 722c 2065 th. Moreover, e\n-00018a50: 7665 6e20 6966 2061 2063 6f72 7265 6374 ven if a correct\n-00018a60: 2064 6570 7468 206f 7264 6572 696e 6720 depth ordering \n-00018a70: 6578 6973 7473 2c20 7468 650a 636f 6d70 exists, the.comp\n-00018a80: 7574 6174 696f 6e20 6e65 6564 6564 2074 utation needed t\n-00018a90: 6f20 6669 6e64 2069 7420 6d61 7920 6265 o find it may be\n-00018aa0: 2074 6f6f 2063 6f6d 706c 6578 2061 6e64 too complex and\n-00018ab0: 2073 6c6f 772e 2020 496e 2074 6865 7365 slow. In these\n-00018ac0: 0a63 6173 6573 2c20 e280 9873 6b65 7463 .cases, ...sketc\n-00018ad0: 68e2 8099 2073 706c 6974 7320 6f6e 6520 h... splits one \n-00018ae0: 6f72 206d 6f72 6520 706f 6c79 676f 6e73 or more polygons\n-00018af0: 2069 6e74 6f20 7069 6563 6573 2e20 2054 into pieces. T\n-00018b00: 6865 0a65 7870 6563 7461 7469 6f6e 2069 he.expectation i\n-00018b10: 7320 7468 6174 2074 6865 206e 6577 2c20 s that the new, \n-00018b20: 736d 616c 6c65 7220 706f 6c79 676f 6e73 smaller polygons\n-00018b30: 2077 696c 6c20 6265 2073 696d 706c 6572 will be simpler\n-00018b40: 2074 6f20 6f72 6465 722e 0ae2 8098 536b to order.....Sk\n-00018b50: 6574 6368 e280 9920 7573 6573 2061 2042 etch... uses a B\n-00018b60: 5350 2028 6269 6e61 7279 2073 7061 6365 SP (binary space\n-00018b70: 2070 6172 7469 7469 6f6e 2920 746f 2068 partition) to h\n-00018b80: 616e 646c 6520 7468 6520 7370 6c69 7474 andle the splitt\n-00018b90: 696e 670a 6f70 6572 6174 696f 6e2e 0a0a ing.operation...\n-00018ba0: 2a20 4d65 6e75 3a0a 0a2a 2053 7461 7469 * Menu:..* Stati\n-00018bb0: 7374 6963 733a 3a20 2020 2020 2020 2020 stics:: \n-00018bc0: 2020 2020 2020 2020 2050 6572 666f 726d Perform\n-00018bd0: 616e 6365 206e 756d 6265 7273 206f 6e20 ance numbers on \n-00018be0: 6465 7074 6820 736f 7274 2e0a 2a20 4275 depth sort..* Bu\n-00018bf0: 6773 2061 6e64 2061 6e6f 6d61 6c69 6573 gs and anomalies\n-00018c00: 3a3a 2020 2020 2020 2020 2020 496d 7065 :: Impe\n-00018c10: 7266 6563 7469 6f6e 7320 696e 2074 6869 rfections in thi\n-00018c20: 7320 696d 706c 656d 656e 7461 7469 6f6e s implementation\n-00018c30: 2e0a 0a20 2020 2d2d 2d2d 2d2d 2d2d 2d2d ... ----------\n-00018c40: 2046 6f6f 746e 6f74 6573 202d 2d2d 2d2d Footnotes -----\n-00018c50: 2d2d 2d2d 2d0a 0a20 2020 2831 2920 4e65 -----.. (1) Ne\n-00018c60: 7765 6c6c 2c20 4d2e 452e 2c20 522e 472e well, M.E., R.G.\n-00018c70: 204e 6577 656c 6c2c 2061 6e64 2054 2e4c Newell, and T.L\n-00018c80: 2e20 5361 6e63 6861 2c20 4120 736f 6c75 . Sancha, A solu\n-00018c90: 7469 6f6e 2074 6f20 7468 650a 6869 6464 tion to the.hidd\n-00018ca0: 656e 2073 7572 6661 6365 2070 726f 626c en surface probl\n-00018cb0: 656d 2e20 2050 726f 6365 6564 696e 6773 em. Proceedings\n-00018cc0: 206f 6620 7468 6520 4143 4d20 616e 6e75 of the ACM annu\n-00018cd0: 616c 2063 6f6e 6665 7265 6e63 6520 2d0a al conference -.\n-00018ce0: 566f 6c75 6d65 2031 2c20 7061 6765 2034 Volume 1, page 4\n-00018cf0: 3433 2d34 3530 2c20 4143 4d20 5072 6573 43-450, ACM Pres\n-00018d00: 732c 2031 3937 322e 0a0a 2020 2028 3229 s, 1972... (2)\n-00018d10: 2057 6520 6861 7665 2072 756e 20e2 8098 We have run ...\n-00018d20: 736b 6574 6368 e280 9920 6f6e 2074 6865 sketch... on the\n-00018d30: 2066 616d 6f75 7320 5374 616e 666f 7264 famous Stanford\n-00018d40: 2042 756e 6e79 2c20 7768 6963 6820 636f Bunny, which co\n-00018d50: 6e73 6973 7473 0a6f 6620 6e65 6172 6c79 nsists.of nearly\n-00018d60: 2037 302c 3030 3020 7472 6961 6e67 6c65 70,000 triangle\n-00018d70: 732e 2020 5275 6e20 7469 6d65 2077 6173 s. Run time was\n-00018d80: 2061 626f 7574 2036 2073 6563 6f6e 6473 about 6 seconds\n-00018d90: 2e20 204d 6f73 7420 6f66 2074 6869 730a . Most of this.\n-00018da0: 7761 7320 7370 656e 7420 7772 6974 696e was spent writin\n-00018db0: 6720 7468 6520 6f75 7470 7574 2066 696c g the output fil\n-00018dc0: 6520 7261 7468 6572 2074 6861 6e20 696e e rather than in\n-00018dd0: 2074 6865 2068 6964 6465 6e20 7375 7266 the hidden surf\n-00018de0: 6163 650a 616c 676f 7269 7468 6d2e 2020 ace.algorithm. \n-00018df0: 4c61 5465 5820 746f 6f6b 206d 7563 6820 LaTeX took much \n-00018e00: 6c6f 6e67 6572 2074 6f20 7072 6f63 6573 longer to proces\n-00018e10: 7320 7468 6520 7265 7375 6c74 696e 6720 s the resulting \n-00018e20: e280 9850 5354 7269 636b 73e2 8099 0a63 ...PSTricks....c\n-00018e30: 6f64 652e 2020 5468 6520 6f62 7669 6f75 ode. The obviou\n-00018e40: 7320 636f 6e63 6c75 7369 6f6e 2069 7320 s conclusion is \n-00018e50: 7468 6174 2074 6865 2073 7065 6564 206f that the speed o\n-00018e60: 6620 7468 6520 6465 7074 6820 736f 7274 f the depth sort\n-00018e70: 0a61 6c67 6f72 6974 686d 2069 7320 6e6f .algorithm is no\n-00018e80: 7420 6120 776f 7272 792e 0a0a 1f0a 4669 t a worry.....Fi\n-00018e90: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-00018ea0: 2020 4e6f 6465 3a20 5374 6174 6973 7469 Node: Statisti\n-00018eb0: 6373 2c20 204e 6578 743a 2042 7567 7320 cs, Next: Bugs \n-00018ec0: 616e 6420 616e 6f6d 616c 6965 732c 2020 and anomalies, \n-00018ed0: 5072 6576 3a20 4869 6464 656e 2073 7572 Prev: Hidden sur\n-00018ee0: 6661 6365 2072 656d 6f76 616c 2c20 2055 face removal, U\n-00018ef0: 703a 2048 6964 6465 6e20 7375 7266 6163 p: Hidden surfac\n-00018f00: 6520 7265 6d6f 7661 6c0a 0a34 2e34 2e33 e removal..4.4.3\n-00018f10: 2e31 2053 7461 7469 7374 6963 730a 2e2e .1 Statistics...\n-00018f20: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00018f30: 0a0a 466f 7220 7468 6520 6375 7269 6f75 ..For the curiou\n-00018f40: 732c 20e2 8098 736b 6574 6368 e280 9920 s, ...sketch... \n-00018f50: 7772 6974 6573 206f 6e65 206c 696e 6520 writes one line \n-00018f60: 6f66 2064 6570 7468 2073 6f72 7420 7374 of depth sort st\n-00018f70: 6174 6973 7469 6373 2e0a 4865 7265 2069 atistics..Here i\n-00018f80: 7320 616e 2065 7861 6d70 6c65 2066 6f72 s an example for\n-00018f90: 2061 206c 6172 6765 2063 6f6c 6c65 6374 a large collect\n-00018fa0: 696f 6e20 6f66 2074 7269 616e 676c 6573 ion of triangles\n-00018fb0: 2e0a 2020 7265 6d61 726b 2c20 6e6f 6465 .. remark, node\n-00018fc0: 3d33 3438 3234 2070 726f 6265 3d35 3831 =34824 probe=581\n-00018fd0: 2e39 2073 7761 703d 3520 7370 6c69 743d .9 swap=5 split=\n-00018fe0: 3220 2869 6e3d 3420 6f75 743d 3629 206f 2 (in=4 out=6) o\n-00018ff0: 6c73 3d32 3438 3531 2f30 0a49 7420 6d65 ls=24851/0.It me\n-00019000: 616e 7320 7468 6174 2033 342c 3832 3420 ans that 34,824 \n-00019010: 6f62 6a65 6374 7320 7765 7265 2064 6570 objects were dep\n-00019020: 7468 2073 6f72 7465 6420 6166 7465 7220 th sorted after \n-00019030: 6375 6c6c 696e 672e 2020 466f 7220 6561 culling. For ea\n-00019040: 6368 2c0a 616e 2061 7665 7261 6765 206f ch,.an average o\n-00019050: 6620 3538 312e 3920 6f74 6865 7273 2068 f 581.9 others h\n-00019060: 6164 2074 6f20 6265 2063 6865 636b 6564 ad to be checked\n-00019070: 2074 6f20 656e 7375 7265 2074 6861 7420 to ensure that \n-00019080: 7468 6520 696e 6974 6961 6c2c 0a61 7070 the initial,.app\n-00019090: 726f 7869 6d61 7465 206f 7264 6572 696e roximate orderin\n-000190a0: 6720 7761 7320 636f 7272 6563 742e 2020 g was correct. \n-000190b0: 416d 6f6e 6720 616c 6c20 7468 6573 6520 Among all these \n-000190c0: 6368 6563 6b73 2c20 6f6e 6c79 2035 0a72 checks, only 5.r\n-000190d0: 6573 756c 7465 6420 696e 2073 7761 7073 esulted in swaps\n-000190e0: 2074 6f20 7265 6f72 6465 7220 7468 6520 to reorder the \n-000190f0: 696e 6974 6961 6c20 736f 7274 2e20 2049 initial sort. I\n-00019100: 6e20 7477 6f20 6361 7365 732c 2061 2063 n two cases, a c\n-00019110: 6f72 7265 6374 0a6f 7264 6572 696e 6720 orrect.ordering \n-00019120: 636f 756c 6420 6e6f 7420 6265 2064 6574 could not be det\n-00019130: 6572 6d69 6e65 642c 2073 6f20 6269 6e61 ermined, so bina\n-00019140: 7279 2073 7061 6365 2070 6172 7469 7469 ry space partiti\n-00019150: 6f6e 7320 7765 7265 0a63 6f6e 7374 7275 ons were.constru\n-00019160: 6374 6564 2066 6f72 2073 706c 6974 7469 cted for splitti\n-00019170: 6e67 2e20 2041 2074 6f74 616c 206f 6620 ng. A total of \n-00019180: 3420 6f62 6a65 6374 7320 2874 7269 616e 4 objects (trian\n-00019190: 676c 6573 2069 6e20 7468 6973 0a63 6173 gles in this.cas\n-000191a0: 6529 2077 6572 6520 696e 7365 7274 6564 e) were inserted\n-000191b0: 2069 6e20 7468 6520 7061 7274 6974 696f in the partitio\n-000191c0: 6e73 2c20 616e 6420 3620 706f 6c79 676f ns, and 6 polygo\n-000191d0: 6e73 2077 6572 6520 7072 6f64 7563 6564 ns were produced\n-000191e0: 2e0a 4669 6e61 6c6c 792c 2032 342c 3835 ..Finally, 24,85\n-000191f0: 3120 226c 6173 7420 7265 736f 7274 2220 1 \"last resort\" \n-00019200: 706f 6c79 676f 6e20 6f76 6572 6c61 7020 polygon overlap \n-00019210: 6368 6563 6b73 2077 6572 6520 7065 7266 checks were perf\n-00019220: 6f72 6d65 640a 6166 7465 7220 7369 6d70 ormed.after simp\n-00019230: 6c65 722c 2066 6173 7465 7220 6368 6563 ler, faster chec\n-00019240: 6b73 2066 6169 6c65 6420 746f 2079 6965 ks failed to yie\n-00019250: 6c64 2063 6f6e 636c 7573 6976 6520 7265 ld conclusive re\n-00019260: 7375 6c74 732e 2020 5468 650a 6669 6e61 sults. The.fina\n-00019270: 6c20 2f30 2069 7320 666f 7220 6c69 6e65 l /0 is for line\n-00019280: 2d70 6f6c 7967 6f6e 206f 7665 726c 6170 -polygon overlap\n-00019290: 2063 6865 636b 732e 2020 466f 7220 636f checks. For co\n-000192a0: 6d70 6172 6973 6f6e 2c20 7468 650a 7374 mparison, the.st\n-000192b0: 6174 6973 7469 6373 2066 6f72 2074 6865 atistics for the\n-000192c0: 206c 6173 7420 6669 6775 7265 2069 6e20 last figure in \n-000192d0: 2a6e 6f74 6520 4f76 6572 7669 6577 3a3a *note Overview::\n-000192e0: 2066 6f6c 6c6f 772e 0a20 2072 656d 6172 follow.. remar\n-000192f0: 6b2c 206e 6f64 653d 3237 2070 726f 6265 k, node=27 probe\n-00019300: 3d31 342e 3620 7377 6170 3d33 3620 7370 =14.6 swap=36 sp\n-00019310: 6c69 743d 3135 2028 696e 3d33 3020 6f75 lit=15 (in=30 ou\n-00019320: 743d 3435 2920 6f6c 733d 302f 3639 0a4e t=45) ols=0/69.N\n-00019330: 6f74 6520 7468 6174 2074 6865 7265 2077 ote that there w\n-00019340: 6173 2070 726f 706f 7274 696f 6e61 6c6c as proportionall\n-00019350: 7920 6d75 6368 206d 6f72 6520 7377 6170 y much more swap\n-00019360: 7069 6e67 2061 6e64 2073 706c 6974 7469 ping and splitti\n-00019370: 6e67 0a61 6374 6976 6974 7920 696e 2074 ng.activity in t\n-00019380: 6869 7320 6869 6768 6c79 2063 6f6e 6e65 his highly conne\n-00019390: 6374 6564 2073 6365 6e65 2e0a 0a1f 0a46 cted scene.....F\n-000193a0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-000193b0: 2c20 204e 6f64 653a 2042 7567 7320 616e , Node: Bugs an\n-000193c0: 6420 616e 6f6d 616c 6965 732c 2020 5072 d anomalies, Pr\n-000193d0: 6576 3a20 5374 6174 6973 7469 6373 2c20 ev: Statistics, \n-000193e0: 2055 703a 2048 6964 6465 6e20 7375 7266 Up: Hidden surf\n-000193f0: 6163 6520 7265 6d6f 7661 6c0a 0a34 2e34 ace removal..4.4\n-00019400: 2e33 2e32 2042 7567 7320 616e 6420 616e .3.2 Bugs and an\n-00019410: 6f6d 616c 6965 730a 2e2e 2e2e 2e2e 2e2e omalies.........\n-00019420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00019430: 2e2e 0a0a 506f 6c79 676f 6e20 616e 6420 ....Polygon and \n-00019440: 6c69 6e65 2073 706c 6974 7469 6e67 2063 line splitting c\n-00019450: 616e 2062 6f74 6820 6361 7573 6520 616e an both cause an\n-00019460: 6f6d 616c 6965 7320 696e 2074 6865 206f omalies in the o\n-00019470: 7574 7075 742e 0ae2 8098 5053 5472 6963 utput.....PSTric\n-00019480: 6b73 e280 9920 6461 7368 2070 6174 7465 ks... dash patte\n-00019490: 726e 732c 2073 7065 6369 6669 6564 2077 rns, specified w\n-000194a0: 6974 6820 e280 986c 696e 6573 7479 6c65 ith ...linestyle\n-000194b0: 3d64 6173 6865 64e2 8099 2c20 6361 6e20 =dashed..., can \n-000194c0: 6265 0a64 6973 7275 7074 6564 2062 7920 be.disrupted by \n-000194d0: 7370 6c69 7474 696e 672e 2020 5468 6973 splitting. This\n-000194e0: 206f 6363 7572 7320 7768 656e 2074 6865 occurs when the\n-000194f0: 2064 6570 7468 2073 6f72 7420 6769 7665 depth sort give\n-00019500: 7320 7570 2074 6f6f 0a65 6172 6c79 2061 s up too.early a\n-00019510: 6e64 2073 706c 6974 7320 6120 6c69 6e65 nd splits a line\n-00019520: 2077 6865 7265 2069 7420 6973 206e 6f74 where it is not\n-00019530: 2072 6561 6c6c 7920 6e65 6365 7373 6172 really necessar\n-00019540: 792e 2020 4120 776f 726b 6172 6f75 6e64 y. A workaround\n-00019550: 0a69 7320 746f 2075 7365 2067 7261 7920 .is to use gray \n-00019560: 6f72 2066 696e 656c 7920 646f 7474 6564 or finely dotted\n-00019570: 206c 696e 6573 2069 6e73 7465 6164 2e20 lines instead. \n-00019580: 2049 6620 796f 7572 2064 7261 7769 6e67 If your drawing\n-00019590: 2069 730a 736d 616c 6c2c 2079 6f75 2063 is.small, you c\n-000195a0: 616e 2061 6c73 6f20 6564 6974 2074 6865 an also edit the\n-000195b0: 20e2 8098 736b 6574 6368 e280 9920 6f75 ...sketch... ou\n-000195c0: 7470 7574 2062 7920 6861 6e64 2074 6f20 tput by hand to \n-000195d0: 6d65 7267 6520 7468 6520 7069 6563 6573 merge the pieces\n-000195e0: 0a6f 6620 7468 6520 6f66 6665 6e64 696e .of the offendin\n-000195f0: 6720 6c69 6e65 2e0a 0a20 2020 416e 6f74 g line... Anot\n-00019600: 6865 7220 616e 6f6d 616c 7920 6973 2074 her anomaly is t\n-00019610: 696e 7920 286f 7220 696e 2064 6567 656e iny (or in degen\n-00019620: 6572 6174 6520 6361 7365 7320 6e6f 742d erate cases not-\n-00019630: 736f 2d74 696e 7929 206e 6f74 6368 6573 so-tiny) notches\n-00019640: 0a69 6e20 7468 6520 6c69 6e65 7320 7468 .in the lines th\n-00019650: 6174 2062 6f72 6465 7220 7370 6c69 7420 at border split \n-00019660: 706f 6c79 676f 6e73 2e20 2054 6865 7365 polygons. These\n-00019670: 2064 6572 6976 6520 6672 6f6d 2074 6865 derive from the\n-00019680: 2077 6179 2065 6163 680a 706f 6c79 676f way each.polygo\n-00019690: 6e20 6973 2070 6169 6e74 6564 3a20 6669 n is painted: fi\n-000196a0: 7273 742c 2061 6c6c 2070 6978 656c 7320 rst, all pixels \n-000196b0: 7769 7468 696e 2074 6865 2062 6f75 6e64 within the bound\n-000196c0: 6172 7920 6172 6520 e280 9c66 696c 6c65 ary are ...fille\n-000196d0: 64e2 809d 0a77 6974 6820 636f 6c6f 7220 d....with color \n-000196e0: 2870 6572 6861 7073 2077 6869 7465 292c (perhaps white),\n-000196f0: 2074 6865 6e20 7468 6520 7361 6d65 2062 then the same b\n-00019700: 6f75 6e64 6172 7920 6973 20e2 809c 7374 oundary is ...st\n-00019710: 726f 6b65 64e2 809d 2028 610a 506f 7374 roked... (a.Post\n-00019720: 7363 7269 7074 2074 6572 6d29 2077 6974 script term) wit\n-00019730: 6820 6120 6c69 6e65 2e20 2054 6865 2072 h a line. The r\n-00019740: 6573 756c 7420 6973 2074 6861 7420 6861 esult is that ha\n-00019750: 6c66 2074 6865 206c 696e 6520 6c69 6573 lf the line lies\n-00019760: 0a69 6e73 6964 6520 7468 6520 626f 756e .inside the boun\n-00019770: 6461 7279 2061 6e64 2068 616c 6620 6f75 dary and half ou\n-00019780: 7473 6964 652c 2077 6869 6c65 2074 6865 tside, while the\n-00019790: 2050 6169 6e74 6572 2773 2061 6c67 6f72 Painter's algor\n-000197a0: 6974 686d 0a61 7373 756d 6573 2074 6865 ithm.assumes the\n-000197b0: 2070 6f6c 7967 6f6e 206c 6965 7320 656e polygon lies en\n-000197c0: 7469 7265 6c79 2077 6974 6869 6e20 6974 tirely within it\n-000197d0: 7320 626f 756e 6461 7279 2e20 2054 6865 s boundary. The\n-000197e0: 206e 6f74 6368 6573 2061 7265 0a64 7565 notches are.due\n-000197f0: 2074 6f20 6f6e 6520 706f 6c79 676f 6e20 to one polygon \n-00019800: 6669 6c6c 206f 7065 7261 7469 6f6e 206f fill operation o\n-00019810: 7665 7277 7269 7469 6e67 2074 6865 2061 verwriting the a\n-00019820: 6c72 6561 6479 2d64 7261 776e 2069 6e73 lready-drawn ins\n-00019830: 6964 650a 6f66 2074 6865 2062 6f72 6465 ide.of the borde\n-00019840: 7220 6f66 2061 6e6f 7468 6572 2070 6f6c r of another pol\n-00019850: 7967 6f6e 2e28 3129 2020 4f6e 6520 776f ygon.(1) One wo\n-00019860: 726b 6172 6f75 6e64 2069 7320 746f 206d rkaround is to m\n-00019870: 616b 6520 626f 7264 6572 0a6c 696e 6573 ake border.lines\n-00019880: 2076 6572 7920 7468 696e 2e20 2049 6e20 very thin. In \n-00019890: 6661 6374 20e2 8098 6c69 6e65 7769 6474 fact ...linewidt\n-000198a0: 683d 3070 74e2 8099 2069 7320 6775 6172 h=0pt... is guar\n-000198b0: 616e 7465 6564 2074 6f20 656c 696d 696e anteed to elimin\n-000198c0: 6174 650a 7468 6973 2070 726f 626c 656d ate.this problem\n-000198d0: 2c20 7468 6f75 6768 2074 6869 7320 7265 , though this re\n-000198e0: 7375 6c74 7320 696e 2074 6865 2074 6869 sults in the thi\n-000198f0: 6e6e 6573 7420 6c69 6e65 2079 6f75 7220 nnest line your \n-00019900: 6f75 7470 7574 0a64 6576 6963 6520 6361 output.device ca\n-00019910: 6e20 6472 6177 2c20 7768 6963 6820 6973 n draw, which is\n-00019920: 2075 7375 616c 6c79 2074 6f6f 2074 6869 usually too thi\n-00019930: 6e2e 2020 596f 7520 6d69 6768 7420 6765 n. You might ge\n-00019940: 7420 6c75 636b 7920 6279 0a6d 6572 656c t lucky by.merel\n-00019950: 7920 7265 6f72 6465 7269 6e67 2074 6869 y reordering thi\n-00019960: 6e67 7320 696e 2074 6865 2069 6e70 7574 ngs in the input\n-00019970: 2066 696c 652c 2077 6869 6368 2069 7320 file, which is \n-00019980: 6c69 6b65 6c79 2074 6f20 6d6f 7665 2074 likely to move t\n-00019990: 6865 0a73 706c 6974 7320 746f 2064 6966 he.splits to dif\n-000199a0: 6665 7265 6e74 2070 6c61 6365 732e 2020 ferent places. \n-000199b0: 5468 6520 6f6e 6c79 2073 7572 652d 6669 The only sure-fi\n-000199c0: 7265 2073 6f6c 7574 696f 6e20 6973 2070 re solution is p\n-000199d0: 7265 7474 790a 7465 7272 6962 6c65 3a20 retty.terrible: \n-000199e0: 6375 7374 6f6d 2066 6974 20e2 8098 7370 custom fit ...sp\n-000199f0: 6563 6961 6ce2 8099 206f 7665 726c 6179 ecial... overlay\n-00019a00: 206c 696e 6573 2028 7769 7468 20e2 8098 lines (with ...\n-00019a10: 5c70 736c 696e 65e2 8099 2920 746f 2063 \\psline...) to c\n-00019a20: 6f76 6572 0a74 6865 206e 6f74 6368 6573 over.the notches\n-00019a30: 2e0a 0a20 2020 506f 6c79 676f 6e20 7370 ... Polygon sp\n-00019a40: 6c69 7474 696e 6720 616c 736f 2062 7265 litting also bre\n-00019a50: 616b 7320 e280 9850 5354 7269 636b 73e2 aks ...PSTricks.\n-00019a60: 8099 2068 6174 6368 2070 6174 7465 726e .. hatch pattern\n-00019a70: 732e 2020 5468 6520 6f6e 6c79 0a6b 6e6f s. The only.kno\n-00019a80: 776e 2077 6f72 6b61 726f 756e 6420 6973 wn workaround is\n-00019a90: 2074 6f20 7375 6273 7469 7475 7465 2061 to substitute a\n-00019aa0: 2073 6f6c 6964 2066 696c 6c20 666f 7220 solid fill for \n-00019ab0: 7468 6520 6861 7463 682e 0a0a 2020 202d the hatch... -\n-00019ac0: 2d2d 2d2d 2d2d 2d2d 2d20 466f 6f74 6e6f --------- Footno\n-00019ad0: 7465 7320 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a tes ----------..\n-00019ae0: 2020 2028 3129 2049 206b 6e6f 7720 686f (1) I know ho\n-00019af0: 7720 746f 2066 6978 2074 6869 7320 7072 w to fix this pr\n-00019b00: 6f62 6c65 6d2c 2062 7574 2049 2064 6f6e oblem, but I don\n-00019b10: 2774 206c 696b 6520 6d79 2073 6f6c 7574 't like my solut\n-00019b20: 696f 6e2c 2061 6e64 0a49 276d 2069 6e74 ion, and.I'm int\n-00019b30: 6572 6573 7465 6420 696e 2079 6f75 7273 erested in yours\n-00019b40: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n-00019b50: 682e 696e 666f 2c20 204e 6f64 653a 2043 h.info, Node: C\n-00019b60: 6f6d 6d61 6e64 206c 696e 652c 2020 4e65 ommand line, Ne\n-00019b70: 7874 3a20 496e 7374 616c 6c69 6e67 2073 xt: Installing s\n-00019b80: 6b65 7463 682c 2020 5072 6576 3a20 4275 ketch, Prev: Bu\n-00019b90: 696c 6469 6e67 2061 2064 7261 7769 6e67 ilding a drawing\n-00019ba0: 2c20 2055 703a 2054 6f70 0a0a 3520 436f , Up: Top..5 Co\n-00019bb0: 6d6d 616e 6420 6c69 6e65 0a2a 2a2a 2a2a mmand line.*****\n-00019bc0: 2a2a 2a2a 2a2a 2a2a 2a0a 0a2a 5379 6e6f *********..*Syno\n-00019bd0: 7073 6973 3a2a 0a20 2020 2020 736b 6574 psis:*. sket\n-00019be0: 6368 205b 2d68 5d5b 2d56 2078 2e79 5d5b ch [-h][-V x.y][\n-00019bf0: 2d76 5d5b 2d62 5d5b 2d64 5d5b 7420 646f -v][-b][-d][t do\n-00019c00: 6374 6d70 5d5b 2d54 5b75 7c65 5d5b 705b ctmp][-T[u|e][p[\n-00019c10: 507c 545d 5b4c 7c43 5d5d 5d5b 2d6f 206f P|T][L|C]]][-o o\n-00019c20: 7574 7075 742e 7465 785d 0a20 2020 2020 utput.tex]. \n-00019c30: 2020 5b2d 4420 5441 4720 2e2e 2e5d 2069 [-D TAG ...] i\n-00019c40: 6e70 7574 312e 736b 205b 2d55 2054 4147 nput1.sk [-U TAG\n-00019c50: 202e 2e2e 5d20 696e 7075 7432 2e73 6b20 ...] input2.sk \n-00019c60: 2e2e 2e0a 0a2a 4465 7363 7269 7074 696f .....*Descriptio\n-00019c70: 6e2a 2050 726f 6365 7373 6573 2074 6865 n* Processes the\n-00019c80: 20e2 8098 736b 6574 6368 e280 9920 696e ...sketch... in\n-00019c90: 7075 7420 6669 6c65 7320 696e 206f 7264 put files in ord\n-00019ca0: 6572 2074 6f20 7072 6f64 7563 650a e280 er to produce...\n-00019cb0: 9850 5354 7269 636b 73e2 8099 206f 7574 .PSTricks... out\n-00019cc0: 7075 7420 636f 6465 2073 7569 7461 626c put code suitabl\n-00019cd0: 6520 666f 7220 696e 636c 7573 696f 6e20 e for inclusion \n-00019ce0: 696e 2061 2054 6558 206f 7220 4c61 5465 in a TeX or LaTe\n-00019cf0: 580a 646f 6375 6d65 6e74 2e0a 0a2a 4f70 X.document...*Op\n-00019d00: 7469 6f6e 733a 2a0a e280 982d 68e2 8099 tions:*....-h...\n-00019d10: 0a20 2020 2020 5072 696e 7420 6120 7368 . Print a sh\n-00019d20: 6f72 7420 6361 7461 6c6f 6720 6f66 206f ort catalog of o\n-00019d30: 7074 696f 6e73 2e0a e280 982d 56e2 8099 ptions.....-V...\n-00019d40: 0a20 2020 2020 5365 7420 7468 6520 e280 . Set the ..\n-00019d50: 9850 5354 7269 636b 73e2 8099 2076 6572 .PSTricks... ver\n-00019d60: 7369 6f6e 2061 7373 756d 6564 2066 6f72 sion assumed for\n-00019d70: 206f 7574 7075 7420 7075 7270 6f73 6573 output purposes\n-00019d80: 2074 6f20 e280 9878 2e79 e280 992c 0a20 to ...x.y...,. \n-00019d90: 2020 2020 666f 7220 6578 616d 706c 6520 for example \n-00019da0: 312e 3139 2e20 2055 7375 616c 6c79 206e 1.19. Usually n\n-00019db0: 6565 6465 6420 6f6e 6c79 2069 6620 796f eeded only if yo\n-00019dc0: 7572 20e2 8098 5053 5472 6963 6b73 e280 ur ...PSTricks..\n-00019dd0: 9920 6973 206f 6c64 0a20 2020 2020 636f . is old. co\n-00019de0: 6d70 6172 6564 2074 6f20 796f 7572 20e2 mpared to your .\n-00019df0: 8098 736b 6574 6368 e280 992e 2020 5573 ..sketch.... Us\n-00019e00: 6520 e280 982d 76e2 8099 2074 6f20 7365 e ...-v... to se\n-00019e10: 6520 7768 6174 20e2 8098 736b 6574 6368 e what ...sketch\n-00019e20: e280 9920 6173 7375 6d65 730a 2020 2020 ... assumes. \n-00019e30: 2062 7920 6465 6661 756c 742e 0ae2 8098 by default.....\n-00019e40: 2d76 e280 990a 2020 2020 2050 7269 6e74 -v.... Print\n-00019e50: 2076 6572 7369 6f6e 2069 6e66 6f72 6d61 version informa\n-00019e60: 7469 6f6e 2074 6f20 7374 616e 6461 7264 tion to standard\n-00019e70: 206f 7574 7075 742c 2069 6e63 6c75 6469 output, includi\n-00019e80: 6e67 2074 6865 2076 6572 7369 6f6e 0a20 ng the version. \n-00019e90: 2020 2020 6f66 20e2 8098 5053 5472 6963 of ...PSTric\n-00019ea0: 6b73 e280 9920 6173 7375 6d65 6420 666f ks... assumed fo\n-00019eb0: 7220 6f75 7470 7574 2028 6361 6e20 6265 r output (can be\n-00019ec0: 2063 6861 6e67 6564 2077 6974 6820 e280 changed with ..\n-00019ed0: 982d 56e2 8099 2061 626f 7665 292e 0ae2 .-V... above)...\n-00019ee0: 8098 2d62 e280 990a 2020 2020 2055 7365 ..-b.... Use\n-00019ef0: 2061 2042 5350 2028 2a4e 6f74 6520 4869 a BSP (*Note Hi\n-00019f00: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem\n-00019f10: 6f76 616c 3a3a 2e29 2020 666f 7220 5f61 oval::.) for _a\n-00019f20: 6c6c 5f20 6869 6464 656e 0a20 2020 2020 ll_ hidden. \n-00019f30: 7375 7266 6163 6520 7265 6d6f 7661 6c20 surface removal \n-00019f40: 7261 7468 6572 2074 6861 6e20 7468 6520 rather than the \n-00019f50: 6465 6661 756c 742c 2077 6869 6368 2069 default, which i\n-00019f60: 7320 7468 6520 6465 7074 6820 736f 7274 s the depth sort\n-00019f70: 0a20 2020 2020 616c 676f 7269 7468 6d20 . algorithm \n-00019f80: 7769 7468 2042 5350 7320 7573 6564 206f with BSPs used o\n-00019f90: 6e6c 7920 666f 7220 6379 636c 6520 7265 nly for cycle re\n-00019fa0: 736f 6c75 7469 6f6e 2e20 2054 6869 7320 solution. This \n-00019fb0: 6d61 790a 2020 2020 2070 726f 6475 6365 may. produce\n-00019fc0: 2063 6f72 7265 6374 206f 7574 7075 7420 correct output \n-00019fd0: 696e 2063 6572 7461 696e 2064 6567 656e in certain degen\n-00019fe0: 6572 6174 6520 6361 7365 7320 7768 6572 erate cases wher\n-00019ff0: 6520 7468 6520 6465 7074 680a 2020 2020 e the depth. \n-0001a000: 2073 6f72 7420 6361 6e6e 6f74 2c20 6275 sort cannot, bu\n-0001a010: 7420 6974 2061 6c73 6f20 6c65 6164 7320 t it also leads \n-0001a020: 746f 206d 616e 7920 6772 6174 7569 746f to many gratuito\n-0001a030: 7573 2073 706c 6974 732c 2068 656e 6365 us splits, hence\n-0001a040: 0a20 2020 2020 6d6f 7265 2061 6e6f 6d61 . more anoma\n-0001a050: 6c69 6573 202a 6e6f 7465 2042 7567 7320 lies *note Bugs \n-0001a060: 616e 6420 616e 6f6d 616c 6965 733a 3a20 and anomalies:: \n-0001a070: 616e 6420 6269 6720 6f75 7470 7574 2066 and big output f\n-0001a080: 696c 6573 2e0a e280 982d 64e2 8099 0a20 iles.....-d.... \n-0001a090: 2020 2020 5275 6e20 e280 9873 6b65 7463 Run ...sketc\n-0001a0a0: 68e2 8099 2773 2070 6172 7365 7220 696e h...'s parser in\n-0001a0b0: 2064 6562 7567 6769 6e67 206d 6f64 652e debugging mode.\n-0001a0c0: 2020 5468 6973 2069 7320 7072 696d 6172 This is primar\n-0001a0d0: 696c 7920 666f 720a 2020 2020 2064 6576 ily for. dev\n-0001a0e0: 656c 6f70 6d65 6e74 2e0a e280 982d 74e2 elopment.....-t.\n-0001a0f0: 8099 0a20 2020 2020 5573 6520 636f 6e74 ... Use cont\n-0001a100: 656e 7473 206f 6620 6669 6c65 20e2 8098 ents of file ...\n-0001a110: 646f 6374 6d70 e280 9920 6173 2061 2064 doctmp... as a d\n-0001a120: 6f63 756d 656e 7420 7465 6d70 6c61 7465 ocument template\n-0001a130: 2069 6e20 7768 6963 6820 746f 0a20 2020 in which to. \n-0001a140: 2020 656e 636c 6f73 6520 e280 9850 5354 enclose ...PST\n-0001a150: 7269 636b 73e2 8099 206f 7574 7075 7420 ricks... output \n-0001a160: 636f 6465 2e20 2054 6865 2063 6f64 6520 code. The code \n-0001a170: 6973 2069 6e73 6572 7465 6420 696e 2070 is inserted in p\n-0001a180: 6c61 6365 206f 660a 2020 2020 2074 6865 lace of. the\n-0001a190: 2066 6972 7374 2069 6e73 7461 6e63 6520 first instance \n-0001a1a0: 6f66 2074 6865 2065 7363 6170 6520 7374 of the escape st\n-0001a1b0: 7269 6e67 2025 2553 4b45 5443 485f 4f55 ring %%SKETCH_OU\n-0001a1c0: 5450 5554 2525 2e0a e280 982d 54e2 8099 TPUT%%.....-T...\n-0001a1d0: 0a20 2020 2020 4361 7573 6573 20e2 8098 . Causes ...\n-0001a1e0: 5053 5472 6963 6b73 e280 9920 6f75 7470 PSTricks... outp\n-0001a1f0: 7574 2074 6f20 6265 2065 6e63 6c6f 7365 ut to be enclose\n-0001a200: 6420 696e 2064 6566 6175 6c74 2055 5320 d in default US \n-0001a210: 646f 6375 6d65 6e74 0a20 2020 2020 7465 document. te\n-0001a220: 6d70 6c61 7465 2074 6578 742e 2020 4f70 mplate text. Op\n-0001a230: 7469 6f6e 20e2 8098 2d54 75e2 8099 2069 tion ...-Tu... i\n-0001a240: 7320 6120 7379 6e6f 6e79 6d2e 2020 4f70 s a synonym. Op\n-0001a250: 7469 6f6e 20e2 8098 2d54 65e2 8099 2063 tion ...-Te... c\n-0001a260: 6175 7365 7320 7468 650a 2020 2020 2045 auses the. E\n-0001a270: 7572 6f20 7374 616e 6461 7264 2064 6f63 uro standard doc\n-0001a280: 756d 656e 7420 7465 6d70 6c61 7465 2074 ument template t\n-0001a290: 6f20 6265 2075 7365 642e 2020 4120 e280 o be used. A ..\n-0001a2a0: 9870 e280 9920 6170 7065 6e64 6564 2074 .p... appended t\n-0001a2b0: 6f20 616e 790a 2020 2020 206f 6620 7468 o any. of th\n-0001a2c0: 6573 6520 6f70 7469 6f6e 7320 6361 7573 ese options caus\n-0001a2d0: 6573 2074 6865 2072 6573 7065 6374 6976 es the respectiv\n-0001a2e0: 6520 6465 6661 756c 7420 e280 9850 5354 e default ...PST\n-0001a2f0: 7269 636b 73e2 8099 2064 6f63 756d 656e ricks... documen\n-0001a300: 740a 2020 2020 2074 656d 706c 6174 6520 t. template \n-0001a310: 746f 2062 6520 7072 696e 7465 6420 746f to be printed to\n-0001a320: 2073 7461 6e64 6172 6420 6f75 7470 7574 standard output\n-0001a330: 2e20 2041 6e20 6170 7065 6e64 6564 20e2 . An appended .\n-0001a340: 8098 50e2 8099 2069 7320 610a 2020 2020 ..P... is a. \n-0001a350: 2073 796e 6f6e 796d 2e20 2041 6e20 6170 synonym. An ap\n-0001a360: 7065 6e64 6564 20e2 8098 54e2 8099 2063 pended ...T... c\n-0001a370: 6175 7365 7320 7468 6520 7468 6520 e280 auses the the ..\n-0001a380: 9854 696b 5a2f 5047 46e2 8099 2074 656d .TikZ/PGF... tem\n-0001a390: 706c 6174 6520 746f 2062 650a 2020 2020 plate to be. \n-0001a3a0: 2070 7269 6e74 6564 2e20 2041 6e20 6170 printed. An ap\n-0001a3b0: 7065 6e64 6564 20e2 8098 4ce2 8099 2070 pended ...L... p\n-0001a3c0: 7269 6e74 7320 7468 6520 4c61 5465 5820 rints the LaTeX \n-0001a3d0: 7665 7273 696f 6e20 6f66 2074 6865 2064 version of the d\n-0001a3e0: 6f63 756d 656e 740a 2020 2020 2074 656d ocument. tem\n-0001a3f0: 706c 6174 652c 2061 2073 796e 6f6e 796d plate, a synonym\n-0001a400: 2066 6f72 2074 6865 2064 6566 6175 6c74 for the default\n-0001a410: 2e20 2041 20e2 8098 43e2 8099 2070 7269 . A ...C... pri\n-0001a420: 6e74 7320 7468 6520 e280 9843 6f6e 5465 nts the ...ConTe\n-0001a430: 5874 e280 990a 2020 2020 2074 656d 706c Xt.... templ\n-0001a440: 6174 652e 0ae2 8098 2d6f e280 990a 2020 ate.....-o.... \n-0001a450: 2020 2055 7365 20e2 8098 6f75 7470 7574 Use ...output\n-0001a460: 2e74 6578 e280 9920 6173 2074 6865 206f .tex... as the o\n-0001a470: 7574 7075 7420 6669 6c65 2e20 2054 6865 utput file. The\n-0001a480: 2064 6566 6175 6c74 2069 7320 7374 616e default is stan\n-0001a490: 6461 7264 0a20 2020 2020 6f75 7470 7574 dard. output\n-0001a4a0: 2e0a e280 982d 44e2 8099 0a20 2020 2020 .....-D.... \n-0001a4b0: 4465 6669 6e65 2061 2074 6167 2066 6f72 Define a tag for\n-0001a4c0: 2070 7572 706f 7365 7320 6f66 2073 656c purposes of sel\n-0001a4d0: 6563 7469 6e67 2064 6566 696e 6974 696f ecting definitio\n-0001a4e0: 6e20 616c 7465 726e 6174 6976 6573 2e0a n alternatives..\n-0001a4f0: 2020 2020 202a 4e6f 7465 2044 6566 696e *Note Defin\n-0001a500: 6974 696f 6e73 3a3a 2e20 2054 6865 2064 itions::. The d\n-0001a510: 6566 696e 6974 696f 6e20 6170 706c 6965 efinition applie\n-0001a520: 7320 666f 7220 616c 6c20 696e 7075 7420 s for all input \n-0001a530: 6669 6c65 730a 2020 2020 2074 6861 7420 files. that \n-0001a540: 666f 6c6c 6f77 2075 6e6c 6573 7320 7468 follow unless th\n-0001a550: 6520 7461 6720 6973 2075 6e64 6566 696e e tag is undefin\n-0001a560: 6564 2077 6974 6820 e280 982d 55e2 8099 ed with ...-U...\n-0001a570: 2e0a e280 9869 6e70 7574 692e 736b e280 .....inputi.sk..\n-0001a580: 990a 2020 2020 2049 6e70 7574 2066 696c .. Input fil\n-0001a590: 6573 2c20 7265 6164 2069 6e20 7468 6520 es, read in the \n-0001a5a0: 7365 7175 656e 6365 2074 6865 7920 6172 sequence they ar\n-0001a5b0: 6520 6769 7665 6e2e 0ae2 8098 2d55 e280 e given.....-U..\n-0001a5c0: 990a 2020 2020 2055 6e2d 6465 6669 6e65 .. Un-define\n-0001a5d0: 2061 2074 6167 2066 6f72 2070 7572 706f a tag for purpo\n-0001a5e0: 7365 7320 6f66 2073 656c 6563 7469 6e67 ses of selecting\n-0001a5f0: 2064 6566 696e 6974 696f 6e20 616c 7465 definition alte\n-0001a600: 726e 6174 6976 6573 2e0a 0a1f 0a46 696c rnatives.....Fil\n-0001a610: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-0001a620: 204e 6f64 653a 2049 6e73 7461 6c6c 696e Node: Installin\n-0001a630: 6720 736b 6574 6368 2c20 204e 6578 743a g sketch, Next:\n-0001a640: 2049 6e64 6578 206f 6620 7379 6e74 6178 Index of syntax\n-0001a650: 2c20 2050 7265 763a 2043 6f6d 6d61 6e64 , Prev: Command\n-0001a660: 206c 696e 652c 2020 5570 3a20 546f 700a line, Up: Top.\n-0001a670: 0a36 2042 7569 6c64 696e 6720 616e 6420 .6 Building and \n-0001a680: 696e 7374 616c 6c69 6e67 20e2 8098 736b installing ...sk\n-0001a690: 6574 6368 e280 990a 2a2a 2a2a 2a2a 2a2a etch....********\n+00018770: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0ae2 8098 -----------.....\n+00018780: 536b 6574 6368 e280 9920 7573 6573 2074 Sketch... uses t\n+00018790: 6865 20e2 809c 6465 7074 6820 736f 7274 he ...depth sort\n+000187a0: 2061 6c67 6f72 6974 686d e280 9d20 666f algorithm... fo\n+000187b0: 7220 6869 6464 656e 2073 7572 6661 6365 r hidden surface\n+000187c0: 2072 656d 6f76 616c 2e0a 5468 6973 2069 removal..This i\n+000187d0: 7320 6120 7665 7279 206f 6c64 2074 6563 s a very old tec\n+000187e0: 686e 6971 7565 2064 7565 2074 6f20 4e65 hnique due to Ne\n+000187f0: 7765 6c6c 2e28 3129 2020 4974 2069 7320 well.(1) It is \n+00018800: 6765 6e65 7261 6c6c 7920 7265 6761 7264 generally regard\n+00018810: 6564 0a61 7320 746f 6f20 736c 6f77 2066 ed.as too slow f\n+00018820: 6f72 2072 6561 6c20 7469 6d65 2067 7261 or real time gra\n+00018830: 7068 6963 732c 2062 7574 2069 7420 6973 phics, but it is\n+00018840: 2069 6465 616c 2066 6f72 206f 7572 2070 ideal for our p\n+00018850: 7572 706f 7365 0a77 6865 7265 2073 7065 urpose.where spe\n+00018860: 6564 2069 7320 6e6f 7420 7665 7279 2069 ed is not very i\n+00018870: 6d70 6f72 7461 6e74 2e28 3229 0a0a 2020 mportant.(2).. \n+00018880: 2054 6865 2064 6570 7468 2073 6f72 7420 The depth sort \n+00018890: 616c 676f 7269 7468 6d20 6d65 7265 6c79 algorithm merely\n+000188a0: 2073 6f72 7473 206f 626a 6563 7473 206f sorts objects o\n+000188b0: 6e20 6120 6b65 7920 6f66 2069 6e63 7265 n a key of incre\n+000188c0: 6173 696e 670a 7a2d 636f 6f72 6469 6e61 asing.z-coordina\n+000188d0: 7465 2c20 6571 7569 7661 6c65 6e74 2074 te, equivalent t\n+000188e0: 6f20 6465 6372 6561 7369 6e67 2064 6570 o decreasing dep\n+000188f0: 7468 2e20 204f 626a 6563 7473 2061 7265 th. Objects are\n+00018900: 2074 6865 6e20 6472 6177 6e20 696e 0a74 then drawn in.t\n+00018910: 6865 2073 6f72 7465 6420 7365 7175 656e he sorted sequen\n+00018920: 6365 2073 6f20 7468 6174 2074 686f 7365 ce so that those\n+00018930: 2061 7420 7468 6520 7265 6172 206f 6620 at the rear of \n+00018940: 7468 6520 7363 656e 6520 6172 650a 6f76 the scene are.ov\n+00018950: 6572 7772 6974 7465 6e20 6279 2074 686f erwritten by tho\n+00018960: 7365 2063 6c6f 7365 7220 746f 2074 6865 se closer to the\n+00018970: 2076 6965 7765 722e 2020 5369 6e63 6520 viewer. Since \n+00018980: 7468 6973 2069 7320 616c 736f 2068 6f77 this is also how\n+00018990: 206f 696c 0a70 6169 6e74 6572 7320 7072 oil.painters pr\n+000189a0: 6163 7469 6365 2074 6865 6972 2061 7274 actice their art\n+000189b0: 2c20 6465 7074 6820 736f 7274 2069 7320 , depth sort is \n+000189c0: 736f 6d65 7469 6d65 7320 6361 6c6c 6564 sometimes called\n+000189d0: 2022 7468 650a 7061 696e 7465 7227 7320 \"the.painter's \n+000189e0: 616c 676f 7269 7468 6d2e 220a 0a20 2020 algorithm.\".. \n+000189f0: 496e 2073 6f6d 6520 6361 7365 7320 6974 In some cases it\n+00018a00: 2069 7320 696d 706f 7373 6962 6c65 2074 is impossible t\n+00018a10: 6f20 7374 7269 6374 6c79 206f 7264 6572 o strictly order\n+00018a20: 2070 6f6c 7967 6f6e 7320 6163 636f 7264 polygons accord\n+00018a30: 696e 670a 746f 2064 6570 7468 2e20 204d ing.to depth. M\n+00018a40: 6f72 656f 7665 722c 2065 7665 6e20 6966 oreover, even if\n+00018a50: 2061 2063 6f72 7265 6374 2064 6570 7468 a correct depth\n+00018a60: 206f 7264 6572 696e 6720 6578 6973 7473 ordering exists\n+00018a70: 2c20 7468 650a 636f 6d70 7574 6174 696f , the.computatio\n+00018a80: 6e20 6e65 6564 6564 2074 6f20 6669 6e64 n needed to find\n+00018a90: 2069 7420 6d61 7920 6265 2074 6f6f 2063 it may be too c\n+00018aa0: 6f6d 706c 6578 2061 6e64 2073 6c6f 772e omplex and slow.\n+00018ab0: 2020 496e 2074 6865 7365 0a63 6173 6573 In these.cases\n+00018ac0: 2c20 e280 9873 6b65 7463 68e2 8099 2073 , ...sketch... s\n+00018ad0: 706c 6974 7320 6f6e 6520 6f72 206d 6f72 plits one or mor\n+00018ae0: 6520 706f 6c79 676f 6e73 2069 6e74 6f20 e polygons into \n+00018af0: 7069 6563 6573 2e20 2054 6865 0a65 7870 pieces. The.exp\n+00018b00: 6563 7461 7469 6f6e 2069 7320 7468 6174 ectation is that\n+00018b10: 2074 6865 206e 6577 2c20 736d 616c 6c65 the new, smalle\n+00018b20: 7220 706f 6c79 676f 6e73 2077 696c 6c20 r polygons will \n+00018b30: 6265 2073 696d 706c 6572 2074 6f20 6f72 be simpler to or\n+00018b40: 6465 722e 0ae2 8098 536b 6574 6368 e280 der.....Sketch..\n+00018b50: 9920 7573 6573 2061 2042 5350 2028 6269 . uses a BSP (bi\n+00018b60: 6e61 7279 2073 7061 6365 2070 6172 7469 nary space parti\n+00018b70: 7469 6f6e 2920 746f 2068 616e 646c 6520 tion) to handle \n+00018b80: 7468 6520 7370 6c69 7474 696e 670a 6f70 the splitting.op\n+00018b90: 6572 6174 696f 6e2e 0a0a 2a20 4d65 6e75 eration...* Menu\n+00018ba0: 3a0a 0a2a 2053 7461 7469 7374 6963 733a :..* Statistics:\n+00018bb0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00018bc0: 2020 2050 6572 666f 726d 616e 6365 206e Performance n\n+00018bd0: 756d 6265 7273 206f 6e20 6465 7074 6820 umbers on depth \n+00018be0: 736f 7274 2e0a 2a20 4275 6773 2061 6e64 sort..* Bugs and\n+00018bf0: 2061 6e6f 6d61 6c69 6573 3a3a 2020 2020 anomalies:: \n+00018c00: 2020 2020 2020 496d 7065 7266 6563 7469 Imperfecti\n+00018c10: 6f6e 7320 696e 2074 6869 7320 696d 706c ons in this impl\n+00018c20: 656d 656e 7461 7469 6f6e 2e0a 0a20 2020 ementation... \n+00018c30: 2d2d 2d2d 2d2d 2d2d 2d2d 2046 6f6f 746e ---------- Footn\n+00018c40: 6f74 6573 202d 2d2d 2d2d 2d2d 2d2d 2d0a otes ----------.\n+00018c50: 0a20 2020 2831 2920 4e65 7765 6c6c 2c20 . (1) Newell, \n+00018c60: 4d2e 452e 2c20 522e 472e 204e 6577 656c M.E., R.G. Newel\n+00018c70: 6c2c 2061 6e64 2054 2e4c 2e20 5361 6e63 l, and T.L. Sanc\n+00018c80: 6861 2c20 4120 736f 6c75 7469 6f6e 2074 ha, A solution t\n+00018c90: 6f20 7468 650a 6869 6464 656e 2073 7572 o the.hidden sur\n+00018ca0: 6661 6365 2070 726f 626c 656d 2e20 2050 face problem. P\n+00018cb0: 726f 6365 6564 696e 6773 206f 6620 7468 roceedings of th\n+00018cc0: 6520 4143 4d20 616e 6e75 616c 2063 6f6e e ACM annual con\n+00018cd0: 6665 7265 6e63 6520 2d0a 566f 6c75 6d65 ference -.Volume\n+00018ce0: 2031 2c20 7061 6765 2034 3433 2d34 3530 1, page 443-450\n+00018cf0: 2c20 4143 4d20 5072 6573 732c 2031 3937 , ACM Press, 197\n+00018d00: 322e 0a0a 2020 2028 3229 2057 6520 6861 2... (2) We ha\n+00018d10: 7665 2072 756e 20e2 8098 736b 6574 6368 ve run ...sketch\n+00018d20: e280 9920 6f6e 2074 6865 2066 616d 6f75 ... on the famou\n+00018d30: 7320 5374 616e 666f 7264 2042 756e 6e79 s Stanford Bunny\n+00018d40: 2c20 7768 6963 6820 636f 6e73 6973 7473 , which consists\n+00018d50: 0a6f 6620 6e65 6172 6c79 2037 302c 3030 .of nearly 70,00\n+00018d60: 3020 7472 6961 6e67 6c65 732e 2020 5275 0 triangles. Ru\n+00018d70: 6e20 7469 6d65 2077 6173 2061 626f 7574 n time was about\n+00018d80: 2036 2073 6563 6f6e 6473 2e20 204d 6f73 6 seconds. Mos\n+00018d90: 7420 6f66 2074 6869 730a 7761 7320 7370 t of this.was sp\n+00018da0: 656e 7420 7772 6974 696e 6720 7468 6520 ent writing the \n+00018db0: 6f75 7470 7574 2066 696c 6520 7261 7468 output file rath\n+00018dc0: 6572 2074 6861 6e20 696e 2074 6865 2068 er than in the h\n+00018dd0: 6964 6465 6e20 7375 7266 6163 650a 616c idden surface.al\n+00018de0: 676f 7269 7468 6d2e 2020 4c61 5465 5820 gorithm. LaTeX \n+00018df0: 746f 6f6b 206d 7563 6820 6c6f 6e67 6572 took much longer\n+00018e00: 2074 6f20 7072 6f63 6573 7320 7468 6520 to process the \n+00018e10: 7265 7375 6c74 696e 6720 e280 9850 5354 resulting ...PST\n+00018e20: 7269 636b 73e2 8099 0a63 6f64 652e 2020 ricks....code. \n+00018e30: 5468 6520 6f62 7669 6f75 7320 636f 6e63 The obvious conc\n+00018e40: 6c75 7369 6f6e 2069 7320 7468 6174 2074 lusion is that t\n+00018e50: 6865 2073 7065 6564 206f 6620 7468 6520 he speed of the \n+00018e60: 6465 7074 6820 736f 7274 0a61 6c67 6f72 depth sort.algor\n+00018e70: 6974 686d 2069 7320 6e6f 7420 6120 776f ithm is not a wo\n+00018e80: 7272 792e 0a0a 1f0a 4669 6c65 3a20 736b rry.....File: sk\n+00018e90: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+00018ea0: 3a20 5374 6174 6973 7469 6373 2c20 204e : Statistics, N\n+00018eb0: 6578 743a 2042 7567 7320 616e 6420 616e ext: Bugs and an\n+00018ec0: 6f6d 616c 6965 732c 2020 5072 6576 3a20 omalies, Prev: \n+00018ed0: 4869 6464 656e 2073 7572 6661 6365 2072 Hidden surface r\n+00018ee0: 656d 6f76 616c 2c20 2055 703a 2048 6964 emoval, Up: Hid\n+00018ef0: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo\n+00018f00: 7661 6c0a 0a34 2e34 2e33 2e31 2053 7461 val..4.4.3.1 Sta\n+00018f10: 7469 7374 6963 730a 2e2e 2e2e 2e2e 2e2e tistics.........\n+00018f20: 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 466f 7220 ............For \n+00018f30: 7468 6520 6375 7269 6f75 732c 20e2 8098 the curious, ...\n+00018f40: 736b 6574 6368 e280 9920 7772 6974 6573 sketch... writes\n+00018f50: 206f 6e65 206c 696e 6520 6f66 2064 6570 one line of dep\n+00018f60: 7468 2073 6f72 7420 7374 6174 6973 7469 th sort statisti\n+00018f70: 6373 2e0a 4865 7265 2069 7320 616e 2065 cs..Here is an e\n+00018f80: 7861 6d70 6c65 2066 6f72 2061 206c 6172 xample for a lar\n+00018f90: 6765 2063 6f6c 6c65 6374 696f 6e20 6f66 ge collection of\n+00018fa0: 2074 7269 616e 676c 6573 2e0a 2020 7265 triangles.. re\n+00018fb0: 6d61 726b 2c20 6e6f 6465 3d33 3438 3234 mark, node=34824\n+00018fc0: 2070 726f 6265 3d35 3831 2e39 2073 7761 probe=581.9 swa\n+00018fd0: 703d 3520 7370 6c69 743d 3220 2869 6e3d p=5 split=2 (in=\n+00018fe0: 3420 6f75 743d 3629 206f 6c73 3d32 3438 4 out=6) ols=248\n+00018ff0: 3531 2f30 0a49 7420 6d65 616e 7320 7468 51/0.It means th\n+00019000: 6174 2033 342c 3832 3420 6f62 6a65 6374 at 34,824 object\n+00019010: 7320 7765 7265 2064 6570 7468 2073 6f72 s were depth sor\n+00019020: 7465 6420 6166 7465 7220 6375 6c6c 696e ted after cullin\n+00019030: 672e 2020 466f 7220 6561 6368 2c0a 616e g. For each,.an\n+00019040: 2061 7665 7261 6765 206f 6620 3538 312e average of 581.\n+00019050: 3920 6f74 6865 7273 2068 6164 2074 6f20 9 others had to \n+00019060: 6265 2063 6865 636b 6564 2074 6f20 656e be checked to en\n+00019070: 7375 7265 2074 6861 7420 7468 6520 696e sure that the in\n+00019080: 6974 6961 6c2c 0a61 7070 726f 7869 6d61 itial,.approxima\n+00019090: 7465 206f 7264 6572 696e 6720 7761 7320 te ordering was \n+000190a0: 636f 7272 6563 742e 2020 416d 6f6e 6720 correct. Among \n+000190b0: 616c 6c20 7468 6573 6520 6368 6563 6b73 all these checks\n+000190c0: 2c20 6f6e 6c79 2035 0a72 6573 756c 7465 , only 5.resulte\n+000190d0: 6420 696e 2073 7761 7073 2074 6f20 7265 d in swaps to re\n+000190e0: 6f72 6465 7220 7468 6520 696e 6974 6961 order the initia\n+000190f0: 6c20 736f 7274 2e20 2049 6e20 7477 6f20 l sort. In two \n+00019100: 6361 7365 732c 2061 2063 6f72 7265 6374 cases, a correct\n+00019110: 0a6f 7264 6572 696e 6720 636f 756c 6420 .ordering could \n+00019120: 6e6f 7420 6265 2064 6574 6572 6d69 6e65 not be determine\n+00019130: 642c 2073 6f20 6269 6e61 7279 2073 7061 d, so binary spa\n+00019140: 6365 2070 6172 7469 7469 6f6e 7320 7765 ce partitions we\n+00019150: 7265 0a63 6f6e 7374 7275 6374 6564 2066 re.constructed f\n+00019160: 6f72 2073 706c 6974 7469 6e67 2e20 2041 or splitting. A\n+00019170: 2074 6f74 616c 206f 6620 3420 6f62 6a65 total of 4 obje\n+00019180: 6374 7320 2874 7269 616e 676c 6573 2069 cts (triangles i\n+00019190: 6e20 7468 6973 0a63 6173 6529 2077 6572 n this.case) wer\n+000191a0: 6520 696e 7365 7274 6564 2069 6e20 7468 e inserted in th\n+000191b0: 6520 7061 7274 6974 696f 6e73 2c20 616e e partitions, an\n+000191c0: 6420 3620 706f 6c79 676f 6e73 2077 6572 d 6 polygons wer\n+000191d0: 6520 7072 6f64 7563 6564 2e0a 4669 6e61 e produced..Fina\n+000191e0: 6c6c 792c 2032 342c 3835 3120 226c 6173 lly, 24,851 \"las\n+000191f0: 7420 7265 736f 7274 2220 706f 6c79 676f t resort\" polygo\n+00019200: 6e20 6f76 6572 6c61 7020 6368 6563 6b73 n overlap checks\n+00019210: 2077 6572 6520 7065 7266 6f72 6d65 640a were performed.\n+00019220: 6166 7465 7220 7369 6d70 6c65 722c 2066 after simpler, f\n+00019230: 6173 7465 7220 6368 6563 6b73 2066 6169 aster checks fai\n+00019240: 6c65 6420 746f 2079 6965 6c64 2063 6f6e led to yield con\n+00019250: 636c 7573 6976 6520 7265 7375 6c74 732e clusive results.\n+00019260: 2020 5468 650a 6669 6e61 6c20 2f30 2069 The.final /0 i\n+00019270: 7320 666f 7220 6c69 6e65 2d70 6f6c 7967 s for line-polyg\n+00019280: 6f6e 206f 7665 726c 6170 2063 6865 636b on overlap check\n+00019290: 732e 2020 466f 7220 636f 6d70 6172 6973 s. For comparis\n+000192a0: 6f6e 2c20 7468 650a 7374 6174 6973 7469 on, the.statisti\n+000192b0: 6373 2066 6f72 2074 6865 206c 6173 7420 cs for the last \n+000192c0: 6669 6775 7265 2069 6e20 2a6e 6f74 6520 figure in *note \n+000192d0: 4f76 6572 7669 6577 3a3a 2066 6f6c 6c6f Overview:: follo\n+000192e0: 772e 0a20 2072 656d 6172 6b2c 206e 6f64 w.. remark, nod\n+000192f0: 653d 3237 2070 726f 6265 3d31 342e 3620 e=27 probe=14.6 \n+00019300: 7377 6170 3d33 3620 7370 6c69 743d 3135 swap=36 split=15\n+00019310: 2028 696e 3d33 3020 6f75 743d 3435 2920 (in=30 out=45) \n+00019320: 6f6c 733d 302f 3639 0a4e 6f74 6520 7468 ols=0/69.Note th\n+00019330: 6174 2074 6865 7265 2077 6173 2070 726f at there was pro\n+00019340: 706f 7274 696f 6e61 6c6c 7920 6d75 6368 portionally much\n+00019350: 206d 6f72 6520 7377 6170 7069 6e67 2061 more swapping a\n+00019360: 6e64 2073 706c 6974 7469 6e67 0a61 6374 nd splitting.act\n+00019370: 6976 6974 7920 696e 2074 6869 7320 6869 ivity in this hi\n+00019380: 6768 6c79 2063 6f6e 6e65 6374 6564 2073 ghly connected s\n+00019390: 6365 6e65 2e0a 0a1f 0a46 696c 653a 2073 cene.....File: s\n+000193a0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+000193b0: 653a 2042 7567 7320 616e 6420 616e 6f6d e: Bugs and anom\n+000193c0: 616c 6965 732c 2020 5072 6576 3a20 5374 alies, Prev: St\n+000193d0: 6174 6973 7469 6373 2c20 2055 703a 2048 atistics, Up: H\n+000193e0: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re\n+000193f0: 6d6f 7661 6c0a 0a34 2e34 2e33 2e32 2042 moval..4.4.3.2 B\n+00019400: 7567 7320 616e 6420 616e 6f6d 616c 6965 ugs and anomalie\n+00019410: 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e s...............\n+00019420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 506f ..............Po\n+00019430: 6c79 676f 6e20 616e 6420 6c69 6e65 2073 lygon and line s\n+00019440: 706c 6974 7469 6e67 2063 616e 2062 6f74 plitting can bot\n+00019450: 6820 6361 7573 6520 616e 6f6d 616c 6965 h cause anomalie\n+00019460: 7320 696e 2074 6865 206f 7574 7075 742e s in the output.\n+00019470: 0ae2 8098 5053 5472 6963 6b73 e280 9920 ....PSTricks... \n+00019480: 6461 7368 2070 6174 7465 726e 732c 2073 dash patterns, s\n+00019490: 7065 6369 6669 6564 2077 6974 6820 e280 pecified with ..\n+000194a0: 986c 696e 6573 7479 6c65 3d64 6173 6865 .linestyle=dashe\n+000194b0: 64e2 8099 2c20 6361 6e20 6265 0a64 6973 d..., can be.dis\n+000194c0: 7275 7074 6564 2062 7920 7370 6c69 7474 rupted by splitt\n+000194d0: 696e 672e 2020 5468 6973 206f 6363 7572 ing. This occur\n+000194e0: 7320 7768 656e 2074 6865 2064 6570 7468 s when the depth\n+000194f0: 2073 6f72 7420 6769 7665 7320 7570 2074 sort gives up t\n+00019500: 6f6f 0a65 6172 6c79 2061 6e64 2073 706c oo.early and spl\n+00019510: 6974 7320 6120 6c69 6e65 2077 6865 7265 its a line where\n+00019520: 2069 7420 6973 206e 6f74 2072 6561 6c6c it is not reall\n+00019530: 7920 6e65 6365 7373 6172 792e 2020 4120 y necessary. A \n+00019540: 776f 726b 6172 6f75 6e64 0a69 7320 746f workaround.is to\n+00019550: 2075 7365 2067 7261 7920 6f72 2066 696e use gray or fin\n+00019560: 656c 7920 646f 7474 6564 206c 696e 6573 ely dotted lines\n+00019570: 2069 6e73 7465 6164 2e20 2049 6620 796f instead. If yo\n+00019580: 7572 2064 7261 7769 6e67 2069 730a 736d ur drawing is.sm\n+00019590: 616c 6c2c 2079 6f75 2063 616e 2061 6c73 all, you can als\n+000195a0: 6f20 6564 6974 2074 6865 20e2 8098 736b o edit the ...sk\n+000195b0: 6574 6368 e280 9920 6f75 7470 7574 2062 etch... output b\n+000195c0: 7920 6861 6e64 2074 6f20 6d65 7267 6520 y hand to merge \n+000195d0: 7468 6520 7069 6563 6573 0a6f 6620 7468 the pieces.of th\n+000195e0: 6520 6f66 6665 6e64 696e 6720 6c69 6e65 e offending line\n+000195f0: 2e0a 0a20 2020 416e 6f74 6865 7220 616e ... Another an\n+00019600: 6f6d 616c 7920 6973 2074 696e 7920 286f omaly is tiny (o\n+00019610: 7220 696e 2064 6567 656e 6572 6174 6520 r in degenerate \n+00019620: 6361 7365 7320 6e6f 742d 736f 2d74 696e cases not-so-tin\n+00019630: 7929 206e 6f74 6368 6573 0a69 6e20 7468 y) notches.in th\n+00019640: 6520 6c69 6e65 7320 7468 6174 2062 6f72 e lines that bor\n+00019650: 6465 7220 7370 6c69 7420 706f 6c79 676f der split polygo\n+00019660: 6e73 2e20 2054 6865 7365 2064 6572 6976 ns. These deriv\n+00019670: 6520 6672 6f6d 2074 6865 2077 6179 2065 e from the way e\n+00019680: 6163 680a 706f 6c79 676f 6e20 6973 2070 ach.polygon is p\n+00019690: 6169 6e74 6564 3a20 6669 7273 742c 2061 ainted: first, a\n+000196a0: 6c6c 2070 6978 656c 7320 7769 7468 696e ll pixels within\n+000196b0: 2074 6865 2062 6f75 6e64 6172 7920 6172 the boundary ar\n+000196c0: 6520 e280 9c66 696c 6c65 64e2 809d 0a77 e ...filled....w\n+000196d0: 6974 6820 636f 6c6f 7220 2870 6572 6861 ith color (perha\n+000196e0: 7073 2077 6869 7465 292c 2074 6865 6e20 ps white), then \n+000196f0: 7468 6520 7361 6d65 2062 6f75 6e64 6172 the same boundar\n+00019700: 7920 6973 20e2 809c 7374 726f 6b65 64e2 y is ...stroked.\n+00019710: 809d 2028 610a 506f 7374 7363 7269 7074 .. (a.Postscript\n+00019720: 2074 6572 6d29 2077 6974 6820 6120 6c69 term) with a li\n+00019730: 6e65 2e20 2054 6865 2072 6573 756c 7420 ne. The result \n+00019740: 6973 2074 6861 7420 6861 6c66 2074 6865 is that half the\n+00019750: 206c 696e 6520 6c69 6573 0a69 6e73 6964 line lies.insid\n+00019760: 6520 7468 6520 626f 756e 6461 7279 2061 e the boundary a\n+00019770: 6e64 2068 616c 6620 6f75 7473 6964 652c nd half outside,\n+00019780: 2077 6869 6c65 2074 6865 2050 6169 6e74 while the Paint\n+00019790: 6572 2773 2061 6c67 6f72 6974 686d 0a61 er's algorithm.a\n+000197a0: 7373 756d 6573 2074 6865 2070 6f6c 7967 ssumes the polyg\n+000197b0: 6f6e 206c 6965 7320 656e 7469 7265 6c79 on lies entirely\n+000197c0: 2077 6974 6869 6e20 6974 7320 626f 756e within its boun\n+000197d0: 6461 7279 2e20 2054 6865 206e 6f74 6368 dary. The notch\n+000197e0: 6573 2061 7265 0a64 7565 2074 6f20 6f6e es are.due to on\n+000197f0: 6520 706f 6c79 676f 6e20 6669 6c6c 206f e polygon fill o\n+00019800: 7065 7261 7469 6f6e 206f 7665 7277 7269 peration overwri\n+00019810: 7469 6e67 2074 6865 2061 6c72 6561 6479 ting the already\n+00019820: 2d64 7261 776e 2069 6e73 6964 650a 6f66 -drawn inside.of\n+00019830: 2074 6865 2062 6f72 6465 7220 6f66 2061 the border of a\n+00019840: 6e6f 7468 6572 2070 6f6c 7967 6f6e 2e28 nother polygon.(\n+00019850: 3129 2020 4f6e 6520 776f 726b 6172 6f75 1) One workarou\n+00019860: 6e64 2069 7320 746f 206d 616b 6520 626f nd is to make bo\n+00019870: 7264 6572 0a6c 696e 6573 2076 6572 7920 rder.lines very \n+00019880: 7468 696e 2e20 2049 6e20 6661 6374 20e2 thin. In fact .\n+00019890: 8098 6c69 6e65 7769 6474 683d 3070 74e2 ..linewidth=0pt.\n+000198a0: 8099 2069 7320 6775 6172 616e 7465 6564 .. is guaranteed\n+000198b0: 2074 6f20 656c 696d 696e 6174 650a 7468 to eliminate.th\n+000198c0: 6973 2070 726f 626c 656d 2c20 7468 6f75 is problem, thou\n+000198d0: 6768 2074 6869 7320 7265 7375 6c74 7320 gh this results \n+000198e0: 696e 2074 6865 2074 6869 6e6e 6573 7420 in the thinnest \n+000198f0: 6c69 6e65 2079 6f75 7220 6f75 7470 7574 line your output\n+00019900: 0a64 6576 6963 6520 6361 6e20 6472 6177 .device can draw\n+00019910: 2c20 7768 6963 6820 6973 2075 7375 616c , which is usual\n+00019920: 6c79 2074 6f6f 2074 6869 6e2e 2020 596f ly too thin. Yo\n+00019930: 7520 6d69 6768 7420 6765 7420 6c75 636b u might get luck\n+00019940: 7920 6279 0a6d 6572 656c 7920 7265 6f72 y by.merely reor\n+00019950: 6465 7269 6e67 2074 6869 6e67 7320 696e dering things in\n+00019960: 2074 6865 2069 6e70 7574 2066 696c 652c the input file,\n+00019970: 2077 6869 6368 2069 7320 6c69 6b65 6c79 which is likely\n+00019980: 2074 6f20 6d6f 7665 2074 6865 0a73 706c to move the.spl\n+00019990: 6974 7320 746f 2064 6966 6665 7265 6e74 its to different\n+000199a0: 2070 6c61 6365 732e 2020 5468 6520 6f6e places. The on\n+000199b0: 6c79 2073 7572 652d 6669 7265 2073 6f6c ly sure-fire sol\n+000199c0: 7574 696f 6e20 6973 2070 7265 7474 790a ution is pretty.\n+000199d0: 7465 7272 6962 6c65 3a20 6375 7374 6f6d terrible: custom\n+000199e0: 2066 6974 20e2 8098 7370 6563 6961 6ce2 fit ...special.\n+000199f0: 8099 206f 7665 726c 6179 206c 696e 6573 .. overlay lines\n+00019a00: 2028 7769 7468 20e2 8098 5c70 736c 696e (with ...\\pslin\n+00019a10: 65e2 8099 2920 746f 2063 6f76 6572 0a74 e...) to cover.t\n+00019a20: 6865 206e 6f74 6368 6573 2e0a 0a20 2020 he notches... \n+00019a30: 506f 6c79 676f 6e20 7370 6c69 7474 696e Polygon splittin\n+00019a40: 6720 616c 736f 2062 7265 616b 7320 e280 g also breaks ..\n+00019a50: 9850 5354 7269 636b 73e2 8099 2068 6174 .PSTricks... hat\n+00019a60: 6368 2070 6174 7465 726e 732e 2020 5468 ch patterns. Th\n+00019a70: 6520 6f6e 6c79 0a6b 6e6f 776e 2077 6f72 e only.known wor\n+00019a80: 6b61 726f 756e 6420 6973 2074 6f20 7375 karound is to su\n+00019a90: 6273 7469 7475 7465 2061 2073 6f6c 6964 bstitute a solid\n+00019aa0: 2066 696c 6c20 666f 7220 7468 6520 6861 fill for the ha\n+00019ab0: 7463 682e 0a0a 2020 202d 2d2d 2d2d 2d2d tch... -------\n+00019ac0: 2d2d 2d20 466f 6f74 6e6f 7465 7320 2d2d --- Footnotes --\n+00019ad0: 2d2d 2d2d 2d2d 2d2d 0a0a 2020 2028 3129 --------.. (1)\n+00019ae0: 2049 206b 6e6f 7720 686f 7720 746f 2066 I know how to f\n+00019af0: 6978 2074 6869 7320 7072 6f62 6c65 6d2c ix this problem,\n+00019b00: 2062 7574 2049 2064 6f6e 2774 206c 696b but I don't lik\n+00019b10: 6520 6d79 2073 6f6c 7574 696f 6e2c 2061 e my solution, a\n+00019b20: 6e64 0a49 276d 2069 6e74 6572 6573 7465 nd.I'm intereste\n+00019b30: 6420 696e 2079 6f75 7273 2e0a 0a1f 0a46 d in yours.....F\n+00019b40: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+00019b50: 2c20 204e 6f64 653a 2043 6f6d 6d61 6e64 , Node: Command\n+00019b60: 206c 696e 652c 2020 4e65 7874 3a20 496e line, Next: In\n+00019b70: 7374 616c 6c69 6e67 2073 6b65 7463 682c stalling sketch,\n+00019b80: 2020 5072 6576 3a20 4275 696c 6469 6e67 Prev: Building\n+00019b90: 2061 2064 7261 7769 6e67 2c20 2055 703a a drawing, Up:\n+00019ba0: 2054 6f70 0a0a 3520 436f 6d6d 616e 6420 Top..5 Command \n+00019bb0: 6c69 6e65 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a line.***********\n+00019bc0: 2a2a 2a0a 0a2a 5379 6e6f 7073 6973 3a2a ***..*Synopsis:*\n+00019bd0: 0a20 2020 2020 736b 6574 6368 205b 2d68 . sketch [-h\n+00019be0: 5d5b 2d56 2078 2e79 5d5b 2d76 5d5b 2d62 ][-V x.y][-v][-b\n+00019bf0: 5d5b 2d64 5d5b 7420 646f 6374 6d70 5d5b ][-d][t doctmp][\n+00019c00: 2d54 5b75 7c65 5d5b 705b 507c 545d 5b4c -T[u|e][p[P|T][L\n+00019c10: 7c43 5d5d 5d5b 2d6f 206f 7574 7075 742e |C]]][-o output.\n+00019c20: 7465 785d 0a20 2020 2020 2020 5b2d 4420 tex]. [-D \n+00019c30: 5441 4720 2e2e 2e5d 2069 6e70 7574 312e TAG ...] input1.\n+00019c40: 736b 205b 2d55 2054 4147 202e 2e2e 5d20 sk [-U TAG ...] \n+00019c50: 696e 7075 7432 2e73 6b20 2e2e 2e0a 0a2a input2.sk .....*\n+00019c60: 4465 7363 7269 7074 696f 6e2a 2050 726f Description* Pro\n+00019c70: 6365 7373 6573 2074 6865 20e2 8098 736b cesses the ...sk\n+00019c80: 6574 6368 e280 9920 696e 7075 7420 6669 etch... input fi\n+00019c90: 6c65 7320 696e 206f 7264 6572 2074 6f20 les in order to \n+00019ca0: 7072 6f64 7563 650a e280 9850 5354 7269 produce....PSTri\n+00019cb0: 636b 73e2 8099 206f 7574 7075 7420 636f cks... output co\n+00019cc0: 6465 2073 7569 7461 626c 6520 666f 7220 de suitable for \n+00019cd0: 696e 636c 7573 696f 6e20 696e 2061 2054 inclusion in a T\n+00019ce0: 6558 206f 7220 4c61 5465 580a 646f 6375 eX or LaTeX.docu\n+00019cf0: 6d65 6e74 2e0a 0a2a 4f70 7469 6f6e 733a ment...*Options:\n+00019d00: 2a0a e280 982d 68e2 8099 0a20 2020 2020 *....-h.... \n+00019d10: 5072 696e 7420 6120 7368 6f72 7420 6361 Print a short ca\n+00019d20: 7461 6c6f 6720 6f66 206f 7074 696f 6e73 talog of options\n+00019d30: 2e0a e280 982d 56e2 8099 0a20 2020 2020 .....-V.... \n+00019d40: 5365 7420 7468 6520 e280 9850 5354 7269 Set the ...PSTri\n+00019d50: 636b 73e2 8099 2076 6572 7369 6f6e 2061 cks... version a\n+00019d60: 7373 756d 6564 2066 6f72 206f 7574 7075 ssumed for outpu\n+00019d70: 7420 7075 7270 6f73 6573 2074 6f20 e280 t purposes to ..\n+00019d80: 9878 2e79 e280 992c 0a20 2020 2020 666f .x.y...,. fo\n+00019d90: 7220 6578 616d 706c 6520 312e 3139 2e20 r example 1.19. \n+00019da0: 2055 7375 616c 6c79 206e 6565 6465 6420 Usually needed \n+00019db0: 6f6e 6c79 2069 6620 796f 7572 20e2 8098 only if your ...\n+00019dc0: 5053 5472 6963 6b73 e280 9920 6973 206f PSTricks... is o\n+00019dd0: 6c64 0a20 2020 2020 636f 6d70 6172 6564 ld. compared\n+00019de0: 2074 6f20 796f 7572 20e2 8098 736b 6574 to your ...sket\n+00019df0: 6368 e280 992e 2020 5573 6520 e280 982d ch.... Use ...-\n+00019e00: 76e2 8099 2074 6f20 7365 6520 7768 6174 v... to see what\n+00019e10: 20e2 8098 736b 6574 6368 e280 9920 6173 ...sketch... as\n+00019e20: 7375 6d65 730a 2020 2020 2062 7920 6465 sumes. by de\n+00019e30: 6661 756c 742e 0ae2 8098 2d76 e280 990a fault.....-v....\n+00019e40: 2020 2020 2050 7269 6e74 2076 6572 7369 Print versi\n+00019e50: 6f6e 2069 6e66 6f72 6d61 7469 6f6e 2074 on information t\n+00019e60: 6f20 7374 616e 6461 7264 206f 7574 7075 o standard outpu\n+00019e70: 742c 2069 6e63 6c75 6469 6e67 2074 6865 t, including the\n+00019e80: 2076 6572 7369 6f6e 0a20 2020 2020 6f66 version. of\n+00019e90: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... \n+00019ea0: 6173 7375 6d65 6420 666f 7220 6f75 7470 assumed for outp\n+00019eb0: 7574 2028 6361 6e20 6265 2063 6861 6e67 ut (can be chang\n+00019ec0: 6564 2077 6974 6820 e280 982d 56e2 8099 ed with ...-V...\n+00019ed0: 2061 626f 7665 292e 0ae2 8098 2d62 e280 above).....-b..\n+00019ee0: 990a 2020 2020 2055 7365 2061 2042 5350 .. Use a BSP\n+00019ef0: 2028 2a4e 6f74 6520 4869 6464 656e 2073 (*Note Hidden s\n+00019f00: 7572 6661 6365 2072 656d 6f76 616c 3a3a urface removal::\n+00019f10: 2e29 2020 666f 7220 5f61 6c6c 5f20 6869 .) for _all_ hi\n+00019f20: 6464 656e 0a20 2020 2020 7375 7266 6163 dden. surfac\n+00019f30: 6520 7265 6d6f 7661 6c20 7261 7468 6572 e removal rather\n+00019f40: 2074 6861 6e20 7468 6520 6465 6661 756c than the defaul\n+00019f50: 742c 2077 6869 6368 2069 7320 7468 6520 t, which is the \n+00019f60: 6465 7074 6820 736f 7274 0a20 2020 2020 depth sort. \n+00019f70: 616c 676f 7269 7468 6d20 7769 7468 2042 algorithm with B\n+00019f80: 5350 7320 7573 6564 206f 6e6c 7920 666f SPs used only fo\n+00019f90: 7220 6379 636c 6520 7265 736f 6c75 7469 r cycle resoluti\n+00019fa0: 6f6e 2e20 2054 6869 7320 6d61 790a 2020 on. This may. \n+00019fb0: 2020 2070 726f 6475 6365 2063 6f72 7265 produce corre\n+00019fc0: 6374 206f 7574 7075 7420 696e 2063 6572 ct output in cer\n+00019fd0: 7461 696e 2064 6567 656e 6572 6174 6520 tain degenerate \n+00019fe0: 6361 7365 7320 7768 6572 6520 7468 6520 cases where the \n+00019ff0: 6465 7074 680a 2020 2020 2073 6f72 7420 depth. sort \n+0001a000: 6361 6e6e 6f74 2c20 6275 7420 6974 2061 cannot, but it a\n+0001a010: 6c73 6f20 6c65 6164 7320 746f 206d 616e lso leads to man\n+0001a020: 7920 6772 6174 7569 746f 7573 2073 706c y gratuitous spl\n+0001a030: 6974 732c 2068 656e 6365 0a20 2020 2020 its, hence. \n+0001a040: 6d6f 7265 2061 6e6f 6d61 6c69 6573 202a more anomalies *\n+0001a050: 6e6f 7465 2042 7567 7320 616e 6420 616e note Bugs and an\n+0001a060: 6f6d 616c 6965 733a 3a20 616e 6420 6269 omalies:: and bi\n+0001a070: 6720 6f75 7470 7574 2066 696c 6573 2e0a g output files..\n+0001a080: e280 982d 64e2 8099 0a20 2020 2020 5275 ...-d.... Ru\n+0001a090: 6e20 e280 9873 6b65 7463 68e2 8099 2773 n ...sketch...'s\n+0001a0a0: 2070 6172 7365 7220 696e 2064 6562 7567 parser in debug\n+0001a0b0: 6769 6e67 206d 6f64 652e 2020 5468 6973 ging mode. This\n+0001a0c0: 2069 7320 7072 696d 6172 696c 7920 666f is primarily fo\n+0001a0d0: 720a 2020 2020 2064 6576 656c 6f70 6d65 r. developme\n+0001a0e0: 6e74 2e0a e280 982d 74e2 8099 0a20 2020 nt.....-t.... \n+0001a0f0: 2020 5573 6520 636f 6e74 656e 7473 206f Use contents o\n+0001a100: 6620 6669 6c65 20e2 8098 646f 6374 6d70 f file ...doctmp\n+0001a110: e280 9920 6173 2061 2064 6f63 756d 656e ... as a documen\n+0001a120: 7420 7465 6d70 6c61 7465 2069 6e20 7768 t template in wh\n+0001a130: 6963 6820 746f 0a20 2020 2020 656e 636c ich to. encl\n+0001a140: 6f73 6520 e280 9850 5354 7269 636b 73e2 ose ...PSTricks.\n+0001a150: 8099 206f 7574 7075 7420 636f 6465 2e20 .. output code. \n+0001a160: 2054 6865 2063 6f64 6520 6973 2069 6e73 The code is ins\n+0001a170: 6572 7465 6420 696e 2070 6c61 6365 206f erted in place o\n+0001a180: 660a 2020 2020 2074 6865 2066 6972 7374 f. the first\n+0001a190: 2069 6e73 7461 6e63 6520 6f66 2074 6865 instance of the\n+0001a1a0: 2065 7363 6170 6520 7374 7269 6e67 2025 escape string %\n+0001a1b0: 2553 4b45 5443 485f 4f55 5450 5554 2525 %SKETCH_OUTPUT%%\n+0001a1c0: 2e0a e280 982d 54e2 8099 0a20 2020 2020 .....-T.... \n+0001a1d0: 4361 7573 6573 20e2 8098 5053 5472 6963 Causes ...PSTric\n+0001a1e0: 6b73 e280 9920 6f75 7470 7574 2074 6f20 ks... output to \n+0001a1f0: 6265 2065 6e63 6c6f 7365 6420 696e 2064 be enclosed in d\n+0001a200: 6566 6175 6c74 2055 5320 646f 6375 6d65 efault US docume\n+0001a210: 6e74 0a20 2020 2020 7465 6d70 6c61 7465 nt. template\n+0001a220: 2074 6578 742e 2020 4f70 7469 6f6e 20e2 text. Option .\n+0001a230: 8098 2d54 75e2 8099 2069 7320 6120 7379 ..-Tu... is a sy\n+0001a240: 6e6f 6e79 6d2e 2020 4f70 7469 6f6e 20e2 nonym. Option .\n+0001a250: 8098 2d54 65e2 8099 2063 6175 7365 7320 ..-Te... causes \n+0001a260: 7468 650a 2020 2020 2045 7572 6f20 7374 the. Euro st\n+0001a270: 616e 6461 7264 2064 6f63 756d 656e 7420 andard document \n+0001a280: 7465 6d70 6c61 7465 2074 6f20 6265 2075 template to be u\n+0001a290: 7365 642e 2020 4120 e280 9870 e280 9920 sed. A ...p... \n+0001a2a0: 6170 7065 6e64 6564 2074 6f20 616e 790a appended to any.\n+0001a2b0: 2020 2020 206f 6620 7468 6573 6520 6f70 of these op\n+0001a2c0: 7469 6f6e 7320 6361 7573 6573 2074 6865 tions causes the\n+0001a2d0: 2072 6573 7065 6374 6976 6520 6465 6661 respective defa\n+0001a2e0: 756c 7420 e280 9850 5354 7269 636b 73e2 ult ...PSTricks.\n+0001a2f0: 8099 2064 6f63 756d 656e 740a 2020 2020 .. document. \n+0001a300: 2074 656d 706c 6174 6520 746f 2062 6520 template to be \n+0001a310: 7072 696e 7465 6420 746f 2073 7461 6e64 printed to stand\n+0001a320: 6172 6420 6f75 7470 7574 2e20 2041 6e20 ard output. An \n+0001a330: 6170 7065 6e64 6564 20e2 8098 50e2 8099 appended ...P...\n+0001a340: 2069 7320 610a 2020 2020 2073 796e 6f6e is a. synon\n+0001a350: 796d 2e20 2041 6e20 6170 7065 6e64 6564 ym. An appended\n+0001a360: 20e2 8098 54e2 8099 2063 6175 7365 7320 ...T... causes \n+0001a370: 7468 6520 7468 6520 e280 9854 696b 5a2f the the ...TikZ/\n+0001a380: 5047 46e2 8099 2074 656d 706c 6174 6520 PGF... template \n+0001a390: 746f 2062 650a 2020 2020 2070 7269 6e74 to be. print\n+0001a3a0: 6564 2e20 2041 6e20 6170 7065 6e64 6564 ed. An appended\n+0001a3b0: 20e2 8098 4ce2 8099 2070 7269 6e74 7320 ...L... prints \n+0001a3c0: 7468 6520 4c61 5465 5820 7665 7273 696f the LaTeX versio\n+0001a3d0: 6e20 6f66 2074 6865 2064 6f63 756d 656e n of the documen\n+0001a3e0: 740a 2020 2020 2074 656d 706c 6174 652c t. template,\n+0001a3f0: 2061 2073 796e 6f6e 796d 2066 6f72 2074 a synonym for t\n+0001a400: 6865 2064 6566 6175 6c74 2e20 2041 20e2 he default. A .\n+0001a410: 8098 43e2 8099 2070 7269 6e74 7320 7468 ..C... prints th\n+0001a420: 6520 e280 9843 6f6e 5465 5874 e280 990a e ...ConTeXt....\n+0001a430: 2020 2020 2074 656d 706c 6174 652e 0ae2 template...\n+0001a440: 8098 2d6f e280 990a 2020 2020 2055 7365 ..-o.... Use\n+0001a450: 20e2 8098 6f75 7470 7574 2e74 6578 e280 ...output.tex..\n+0001a460: 9920 6173 2074 6865 206f 7574 7075 7420 . as the output \n+0001a470: 6669 6c65 2e20 2054 6865 2064 6566 6175 file. The defau\n+0001a480: 6c74 2069 7320 7374 616e 6461 7264 0a20 lt is standard. \n+0001a490: 2020 2020 6f75 7470 7574 2e0a e280 982d output.....-\n+0001a4a0: 44e2 8099 0a20 2020 2020 4465 6669 6e65 D.... Define\n+0001a4b0: 2061 2074 6167 2066 6f72 2070 7572 706f a tag for purpo\n+0001a4c0: 7365 7320 6f66 2073 656c 6563 7469 6e67 ses of selecting\n+0001a4d0: 2064 6566 696e 6974 696f 6e20 616c 7465 definition alte\n+0001a4e0: 726e 6174 6976 6573 2e0a 2020 2020 202a rnatives.. *\n+0001a4f0: 4e6f 7465 2044 6566 696e 6974 696f 6e73 Note Definitions\n+0001a500: 3a3a 2e20 2054 6865 2064 6566 696e 6974 ::. The definit\n+0001a510: 696f 6e20 6170 706c 6965 7320 666f 7220 ion applies for \n+0001a520: 616c 6c20 696e 7075 7420 6669 6c65 730a all input files.\n+0001a530: 2020 2020 2074 6861 7420 666f 6c6c 6f77 that follow\n+0001a540: 2075 6e6c 6573 7320 7468 6520 7461 6720 unless the tag \n+0001a550: 6973 2075 6e64 6566 696e 6564 2077 6974 is undefined wit\n+0001a560: 6820 e280 982d 55e2 8099 2e0a e280 9869 h ...-U........i\n+0001a570: 6e70 7574 692e 736b e280 990a 2020 2020 nputi.sk.... \n+0001a580: 2049 6e70 7574 2066 696c 6573 2c20 7265 Input files, re\n+0001a590: 6164 2069 6e20 7468 6520 7365 7175 656e ad in the sequen\n+0001a5a0: 6365 2074 6865 7920 6172 6520 6769 7665 ce they are give\n+0001a5b0: 6e2e 0ae2 8098 2d55 e280 990a 2020 2020 n.....-U.... \n+0001a5c0: 2055 6e2d 6465 6669 6e65 2061 2074 6167 Un-define a tag\n+0001a5d0: 2066 6f72 2070 7572 706f 7365 7320 6f66 for purposes of\n+0001a5e0: 2073 656c 6563 7469 6e67 2064 6566 696e selecting defin\n+0001a5f0: 6974 696f 6e20 616c 7465 726e 6174 6976 ition alternativ\n+0001a600: 6573 2e0a 0a1f 0a46 696c 653a 2073 6b65 es.....File: ske\n+0001a610: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+0001a620: 2049 6e73 7461 6c6c 696e 6720 736b 6574 Installing sket\n+0001a630: 6368 2c20 204e 6578 743a 2049 6e64 6578 ch, Next: Index\n+0001a640: 206f 6620 7379 6e74 6178 2c20 2050 7265 of syntax, Pre\n+0001a650: 763a 2043 6f6d 6d61 6e64 206c 696e 652c v: Command line,\n+0001a660: 2020 5570 3a20 546f 700a 0a36 2042 7569 Up: Top..6 Bui\n+0001a670: 6c64 696e 6720 616e 6420 696e 7374 616c lding and instal\n+0001a680: 6c69 6e67 20e2 8098 736b 6574 6368 e280 ling ...sketch..\n+0001a690: 990a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ..**************\n 0001a6a0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-0001a6b0: 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a e280 9853 **********.....S\n-0001a6c0: 6b65 7463 68e2 8099 2069 7320 736f 2073 ketch... is so s\n-0001a6d0: 6d61 6c6c 2074 6861 7420 636f 6d70 696c mall that compil\n-0001a6e0: 696e 6720 6279 2062 7275 7465 2066 6f72 ing by brute for\n-0001a6f0: 6365 2069 7320 7072 6f62 6162 6c79 2062 ce is probably b\n-0001a700: 6573 742e 0a54 6865 2066 6f6c 6c6f 7769 est..The followi\n-0001a710: 6e67 2063 6f6d 6d61 6e64 206f 7567 6874 ng command ought\n-0001a720: 2074 6f20 646f 2074 6865 2074 7269 636b to do the trick\n-0001a730: 206f 6e20 616e 7920 7379 7374 656d 7320 on any systems \n-0001a740: 7768 6572 6520 e280 9867 6363 e280 990a where ...gcc....\n-0001a750: 6973 2069 6e73 7461 6c6c 6564 2e20 204d is installed. M\n-0001a760: 616b 6520 7375 7265 2074 6f20 6669 7273 ake sure to firs\n-0001a770: 7420 6368 616e 6765 2063 7572 7265 6e74 t change current\n-0001a780: 2064 6972 6563 746f 7269 6573 2074 6f20 directories to \n-0001a790: 7468 650a 706c 6163 6520 7768 6572 6520 the.place where \n-0001a7a0: 796f 7520 6861 7665 2075 6e70 6163 6b65 you have unpacke\n-0001a7b0: 6420 7468 6520 736f 7572 6365 732e 0a20 d the sources.. \n-0001a7c0: 2020 2020 6763 6320 2a2e 6320 2d6f 2073 gcc *.c -o s\n-0001a7d0: 6b65 7463 682e 6578 6520 2d6c 6d0a 5468 ketch.exe -lm.Th\n-0001a7e0: 6520 e280 982e 6578 65e2 8099 2061 7420 e ....exe... at \n-0001a7f0: 7468 6520 656e 6420 6973 206e 6563 6573 the end is neces\n-0001a800: 7361 7279 2066 6f72 2057 696e 646f 7773 sary for Windows\n-0001a810: 2073 7973 7465 6d73 2e20 2044 726f 7020 systems. Drop \n-0001a820: 6974 2069 6620 796f 7572 0a73 7973 7465 it if your.syste\n-0001a830: 6d20 6973 2073 6f6d 6520 7665 7273 696f m is some versio\n-0001a840: 6e20 6f66 2055 6e69 782e 2020 4f74 6865 n of Unix. Othe\n-0001a850: 7220 4320 636f 6d70 696c 6572 7320 6f75 r C compilers ou\n-0001a860: 6768 7420 746f 2077 6f72 6b20 6173 206a ght to work as j\n-0001a870: 7573 740a 6173 2077 656c 6c2e 2020 466f ust.as well. Fo\n-0001a880: 7220 6578 616d 706c 652c 0a20 2020 2020 r example,. \n-0001a890: 636c 202a 2e63 202d 6f20 736b 6574 6368 cl *.c -o sketch\n-0001a8a0: 2e65 7865 0a69 7320 7468 6520 636f 7272 .exe.is the corr\n-0001a8b0: 6563 7420 636f 6d6d 616e 6420 666f 7220 ect command for \n-0001a8c0: 6d61 6e79 2076 6572 7369 6f6e 7320 6f66 many versions of\n-0001a8d0: 204d 5320 5669 7375 616c 2043 2e20 496e MS Visual C. In\n-0001a8e0: 2074 6865 206c 6174 6573 740a 7665 7273 the latest.vers\n-0001a8f0: 696f 6e73 2c20 4d69 6372 6f73 6f66 7420 ions, Microsoft \n-0001a900: 6861 7320 6465 7072 6563 6174 6564 2074 has deprecated t\n-0001a910: 6865 20e2 8098 2d6f e280 9920 6f70 7469 he ...-o... opti\n-0001a920: 6f6e 2061 6e64 2c20 6279 2064 6566 6175 on and, by defau\n-0001a930: 6c74 2c20 646f 6573 0a6e 6f74 2064 6566 lt, does.not def\n-0001a940: 696e 6520 7468 6520 e280 985f 5f53 5444 ine the ...__STD\n-0001a950: 435f 5fe2 8099 206d 6163 726f 2e20 2054 C__... macro. T\n-0001a960: 6869 7320 6361 7573 6573 2070 726f 626c his causes probl\n-0001a970: 656d 7320 7769 7468 2073 6f6d 650a 7665 ems with some.ve\n-0001a980: 7273 696f 6e73 206f 6620 e280 9866 6c65 rsions of ...fle\n-0001a990: 78e2 8099 2c20 e280 9862 6973 6f6e e280 x..., ...bison..\n-0001a9a0: 992c 20e2 8098 6c65 78e2 8099 2c20 616e ., ...lex..., an\n-0001a9b0: 6420 e280 9879 6163 63e2 8099 2c20 7768 d ...yacc..., wh\n-0001a9c0: 6963 6820 6172 6520 7573 6564 2074 6f20 ich are used to \n-0001a9d0: 6372 6561 7465 0a74 6865 20e2 8098 736b create.the ...sk\n-0001a9e0: 6574 6368 e280 9920 7363 616e 6e65 7220 etch... scanner \n-0001a9f0: 616e 6420 7061 7273 6572 2e20 2049 7427 and parser. It'\n-0001aa00: 7320 6e65 6172 6c79 2061 6c77 6179 7320 s nearly always \n-0001aa10: 706f 7373 6962 6c65 2074 6f20 6669 6e64 possible to find\n-0001aa20: 2061 0a73 6574 206f 6620 6f70 7469 6f6e a.set of option\n-0001aa30: 7320 7468 6174 2063 6f6d 7069 6c65 7320 s that compiles \n-0001aa40: 7769 7468 206e 6f20 6572 726f 7273 206f with no errors o\n-0001aa50: 7220 7761 726e 696e 6773 2c20 616e 6420 r warnings, and \n-0001aa60: 7468 6973 206d 6561 6e73 0ae2 8098 736b this means....sk\n-0001aa70: 6574 6368 e280 9920 6973 205f 7665 7279 etch... is _very\n-0001aa80: 5f20 6c69 6b65 6c79 2074 6f20 776f 726b _ likely to work\n-0001aa90: 2063 6f72 7265 6374 6c79 2e20 2046 6f72 correctly. For\n-0001aaa0: 2065 7861 6d70 6c65 2c20 7468 6520 5669 example, the Vi\n-0001aab0: 7375 616c 0a43 2b2b 2032 3030 3520 4578 sual.C++ 2005 Ex\n-0001aac0: 7072 6573 7320 4564 6974 696f 6e20 636f press Edition co\n-0001aad0: 6d70 696c 6572 2028 6176 6169 6c61 626c mpiler (availabl\n-0001aae0: 6520 6672 6565 206f 6620 6368 6172 6765 e free of charge\n-0001aaf0: 2066 726f 6d20 7468 650a 4d69 6372 6f73 from the.Micros\n-0001ab00: 6f66 7420 7765 6220 7369 7465 292c 20e2 oft web site), .\n-0001ab10: 8098 666c 6578 e280 9920 7665 7273 696f ..flex... versio\n-0001ab20: 6e20 322e 352e 342c 2061 6e64 20e2 8098 n 2.5.4, and ...\n-0001ab30: 6269 736f 6ee2 8099 2076 6572 7369 6f6e bison... version\n-0001ab40: 2032 2e31 2062 7569 6c64 0a65 7272 6f72 2.1 build.error\n-0001ab50: 2d66 7265 6520 7769 7468 0a20 2020 2020 -free with. \n-0001ab60: 636c 202d 4459 595f 4e45 5645 525f 494e cl -DYY_NEVER_IN\n-0001ab70: 5445 5241 4354 4956 453d 3120 2d5a 6120 TERACTIVE=1 -Za \n-0001ab80: 2d4f 7820 2d46 6573 6b65 7463 682e 6578 -Ox -Fesketch.ex\n-0001ab90: 6520 2a2e 630a 0a20 2020 466f 7220 7075 e *.c.. For pu\n-0001aba0: 7269 7374 732c 2074 6865 7265 2069 7320 rists, there is \n-0001abb0: 616c 736f 2061 20e2 8098 6d61 6b65 6669 also a ...makefi\n-0001abc0: 6c65 e280 9920 636f 6d70 6174 6962 6c65 le... compatible\n-0001abd0: 2077 6974 6820 474e 5520 e280 986d 616b with GNU ...mak\n-0001abe0: 65e2 8099 0a61 6e64 20e2 8098 6763 63e2 e....and ...gcc.\n-0001abf0: 8099 2e20 2054 6865 2063 6f6d 6d61 6e64 ... The command\n-0001ac00: 0a20 2020 2020 6d61 6b65 0a77 696c 6c20 . make.will \n-0001ac10: 6275 696c 6420 7468 6520 6578 6563 7574 build the execut\n-0001ac20: 6162 6c65 2c20 696e 636c 7564 696e 6720 able, including \n-0001ac30: 7468 6520 7265 6275 696c 6469 6e67 206f the rebuilding o\n-0001ac40: 6620 7468 6520 7363 616e 6e65 7220 616e f the scanner an\n-0001ac50: 640a 7061 7273 6572 2077 6974 6820 e280 d.parser with ..\n-0001ac60: 9866 6c65 78e2 8099 2061 6e64 20e2 8098 .flex... and ...\n-0001ac70: 6269 736f 6ee2 8099 2069 6620 796f 7520 bison... if you \n-0001ac80: 6861 7665 2063 6861 6e67 6564 20e2 8098 have changed ...\n-0001ac90: 736b 6574 6368 2e6c e280 9920 6f72 0ae2 sketch.l... or..\n-0001aca0: 8098 736b 6574 6368 2e79 e280 9920 7265 ..sketch.y... re\n-0001acb0: 7370 6563 7469 7665 6c79 2e0a 0a20 2020 spectively... \n-0001acc0: 5768 696c 6520 6e6f 7420 6573 7365 6e74 While not essent\n-0001acd0: 6961 6c2c 2062 7569 6c64 696e 6720 7468 ial, building th\n-0001ace0: 6520 6d61 6e75 616c 2069 7320 616e 2065 e manual is an e\n-0001acf0: 7863 656c 6c65 6e74 2074 6573 7420 6f66 xcellent test of\n-0001ad00: 2079 6f75 720a e280 9873 6b65 7463 68e2 your....sketch.\n-0001ad10: 8099 2069 6e73 7461 6c6c 6174 696f 6e2e .. installation.\n-0001ad20: 2020 546f 2062 7569 6c64 2074 6869 7320 To build this \n-0001ad30: 646f 6375 6d65 6e74 2069 6e20 616c 6c20 document in all \n-0001ad40: 6974 7320 6d79 7269 6164 2066 6f72 6d73 its myriad forms\n-0001ad50: 0a28 6173 7375 6d69 6e67 2079 6f75 2068 .(assuming you h\n-0001ad60: 6176 6520 7468 6520 6e65 6365 7373 6172 ave the necessar\n-0001ad70: 7920 636f 6e76 6572 7369 6f6e 2070 726f y conversion pro\n-0001ad80: 6772 616d 7320 6f6e 2079 6f75 7220 7379 grams on your sy\n-0001ad90: 7374 656d 292c 0a75 7365 0a20 2020 2020 stem),.use. \n-0001ada0: 6d61 6b65 2064 6f63 730a 5468 6520 706f make docs.The po\n-0001adb0: 7373 6962 696c 6974 6965 7320 6172 6520 ssibilities are \n-0001adc0: 6c69 7374 6564 2069 6e20 7468 6973 2066 listed in this f\n-0001add0: 6f6c 6c6f 7769 6e67 2074 6162 6c65 2e0a ollowing table..\n-0001ade0: 466f 726d 6174 2020 2020 2020 2020 2020 Format \n-0001adf0: 2020 2020 2020 436f 6e76 6572 7465 7220 Converter \n-0001ae00: 2020 2020 2020 2050 6963 7475 7265 7320 Pictures \n-0001ae10: 2020 4465 7363 7269 7074 696f 6e0a 2d2d Description.--\n+0001a6b0: 2a2a 2a2a 0a0a e280 9853 6b65 7463 68e2 ****.....Sketch.\n+0001a6c0: 8099 2069 7320 736f 2073 6d61 6c6c 2074 .. is so small t\n+0001a6d0: 6861 7420 636f 6d70 696c 696e 6720 6279 hat compiling by\n+0001a6e0: 2062 7275 7465 2066 6f72 6365 2069 7320 brute force is \n+0001a6f0: 7072 6f62 6162 6c79 2062 6573 742e 0a54 probably best..T\n+0001a700: 6865 2066 6f6c 6c6f 7769 6e67 2063 6f6d he following com\n+0001a710: 6d61 6e64 206f 7567 6874 2074 6f20 646f mand ought to do\n+0001a720: 2074 6865 2074 7269 636b 206f 6e20 616e the trick on an\n+0001a730: 7920 7379 7374 656d 7320 7768 6572 6520 y systems where \n+0001a740: e280 9867 6363 e280 990a 6973 2069 6e73 ...gcc....is ins\n+0001a750: 7461 6c6c 6564 2e20 204d 616b 6520 7375 talled. Make su\n+0001a760: 7265 2074 6f20 6669 7273 7420 6368 616e re to first chan\n+0001a770: 6765 2063 7572 7265 6e74 2064 6972 6563 ge current direc\n+0001a780: 746f 7269 6573 2074 6f20 7468 650a 706c tories to the.pl\n+0001a790: 6163 6520 7768 6572 6520 796f 7520 6861 ace where you ha\n+0001a7a0: 7665 2075 6e70 6163 6b65 6420 7468 6520 ve unpacked the \n+0001a7b0: 736f 7572 6365 732e 0a20 2020 2020 6763 sources.. gc\n+0001a7c0: 6320 2a2e 6320 2d6f 2073 6b65 7463 682e c *.c -o sketch.\n+0001a7d0: 6578 6520 2d6c 6d0a 5468 6520 e280 982e exe -lm.The ....\n+0001a7e0: 6578 65e2 8099 2061 7420 7468 6520 656e exe... at the en\n+0001a7f0: 6420 6973 206e 6563 6573 7361 7279 2066 d is necessary f\n+0001a800: 6f72 2057 696e 646f 7773 2073 7973 7465 or Windows syste\n+0001a810: 6d73 2e20 2044 726f 7020 6974 2069 6620 ms. Drop it if \n+0001a820: 796f 7572 0a73 7973 7465 6d20 6973 2073 your.system is s\n+0001a830: 6f6d 6520 7665 7273 696f 6e20 6f66 2055 ome version of U\n+0001a840: 6e69 782e 2020 4f74 6865 7220 4320 636f nix. Other C co\n+0001a850: 6d70 696c 6572 7320 6f75 6768 7420 746f mpilers ought to\n+0001a860: 2077 6f72 6b20 6173 206a 7573 740a 6173 work as just.as\n+0001a870: 2077 656c 6c2e 2020 466f 7220 6578 616d well. For exam\n+0001a880: 706c 652c 0a20 2020 2020 636c 202a 2e63 ple,. cl *.c\n+0001a890: 202d 6f20 736b 6574 6368 2e65 7865 0a69 -o sketch.exe.i\n+0001a8a0: 7320 7468 6520 636f 7272 6563 7420 636f s the correct co\n+0001a8b0: 6d6d 616e 6420 666f 7220 6d61 6e79 2076 mmand for many v\n+0001a8c0: 6572 7369 6f6e 7320 6f66 204d 5320 5669 ersions of MS Vi\n+0001a8d0: 7375 616c 2043 2e20 496e 2074 6865 206c sual C. In the l\n+0001a8e0: 6174 6573 740a 7665 7273 696f 6e73 2c20 atest.versions, \n+0001a8f0: 4d69 6372 6f73 6f66 7420 6861 7320 6465 Microsoft has de\n+0001a900: 7072 6563 6174 6564 2074 6865 20e2 8098 precated the ...\n+0001a910: 2d6f e280 9920 6f70 7469 6f6e 2061 6e64 -o... option and\n+0001a920: 2c20 6279 2064 6566 6175 6c74 2c20 646f , by default, do\n+0001a930: 6573 0a6e 6f74 2064 6566 696e 6520 7468 es.not define th\n+0001a940: 6520 e280 985f 5f53 5444 435f 5fe2 8099 e ...__STDC__...\n+0001a950: 206d 6163 726f 2e20 2054 6869 7320 6361 macro. This ca\n+0001a960: 7573 6573 2070 726f 626c 656d 7320 7769 uses problems wi\n+0001a970: 7468 2073 6f6d 650a 7665 7273 696f 6e73 th some.versions\n+0001a980: 206f 6620 e280 9866 6c65 78e2 8099 2c20 of ...flex..., \n+0001a990: e280 9862 6973 6f6e e280 992c 20e2 8098 ...bison..., ...\n+0001a9a0: 6c65 78e2 8099 2c20 616e 6420 e280 9879 lex..., and ...y\n+0001a9b0: 6163 63e2 8099 2c20 7768 6963 6820 6172 acc..., which ar\n+0001a9c0: 6520 7573 6564 2074 6f20 6372 6561 7465 e used to create\n+0001a9d0: 0a74 6865 20e2 8098 736b 6574 6368 e280 .the ...sketch..\n+0001a9e0: 9920 7363 616e 6e65 7220 616e 6420 7061 . scanner and pa\n+0001a9f0: 7273 6572 2e20 2049 7427 7320 6e65 6172 rser. It's near\n+0001aa00: 6c79 2061 6c77 6179 7320 706f 7373 6962 ly always possib\n+0001aa10: 6c65 2074 6f20 6669 6e64 2061 0a73 6574 le to find a.set\n+0001aa20: 206f 6620 6f70 7469 6f6e 7320 7468 6174 of options that\n+0001aa30: 2063 6f6d 7069 6c65 7320 7769 7468 206e compiles with n\n+0001aa40: 6f20 6572 726f 7273 206f 7220 7761 726e o errors or warn\n+0001aa50: 696e 6773 2c20 616e 6420 7468 6973 206d ings, and this m\n+0001aa60: 6561 6e73 0ae2 8098 736b 6574 6368 e280 eans....sketch..\n+0001aa70: 9920 6973 205f 7665 7279 5f20 6c69 6b65 . is _very_ like\n+0001aa80: 6c79 2074 6f20 776f 726b 2063 6f72 7265 ly to work corre\n+0001aa90: 6374 6c79 2e20 2046 6f72 2065 7861 6d70 ctly. For examp\n+0001aaa0: 6c65 2c20 7468 6520 5669 7375 616c 0a43 le, the Visual.C\n+0001aab0: 2b2b 2032 3030 3520 4578 7072 6573 7320 ++ 2005 Express \n+0001aac0: 4564 6974 696f 6e20 636f 6d70 696c 6572 Edition compiler\n+0001aad0: 2028 6176 6169 6c61 626c 6520 6672 6565 (available free\n+0001aae0: 206f 6620 6368 6172 6765 2066 726f 6d20 of charge from \n+0001aaf0: 7468 650a 4d69 6372 6f73 6f66 7420 7765 the.Microsoft we\n+0001ab00: 6220 7369 7465 292c 20e2 8098 666c 6578 b site), ...flex\n+0001ab10: e280 9920 7665 7273 696f 6e20 322e 352e ... version 2.5.\n+0001ab20: 342c 2061 6e64 20e2 8098 6269 736f 6ee2 4, and ...bison.\n+0001ab30: 8099 2076 6572 7369 6f6e 2032 2e31 2062 .. version 2.1 b\n+0001ab40: 7569 6c64 0a65 7272 6f72 2d66 7265 6520 uild.error-free \n+0001ab50: 7769 7468 0a20 2020 2020 636c 202d 4459 with. cl -DY\n+0001ab60: 595f 4e45 5645 525f 494e 5445 5241 4354 Y_NEVER_INTERACT\n+0001ab70: 4956 453d 3120 2d5a 6120 2d4f 7820 2d46 IVE=1 -Za -Ox -F\n+0001ab80: 6573 6b65 7463 682e 6578 6520 2a2e 630a esketch.exe *.c.\n+0001ab90: 0a20 2020 466f 7220 7075 7269 7374 732c . For purists,\n+0001aba0: 2074 6865 7265 2069 7320 616c 736f 2061 there is also a\n+0001abb0: 20e2 8098 6d61 6b65 6669 6c65 e280 9920 ...makefile... \n+0001abc0: 636f 6d70 6174 6962 6c65 2077 6974 6820 compatible with \n+0001abd0: 474e 5520 e280 986d 616b 65e2 8099 0a61 GNU ...make....a\n+0001abe0: 6e64 20e2 8098 6763 63e2 8099 2e20 2054 nd ...gcc.... T\n+0001abf0: 6865 2063 6f6d 6d61 6e64 0a20 2020 2020 he command. \n+0001ac00: 6d61 6b65 0a77 696c 6c20 6275 696c 6420 make.will build \n+0001ac10: 7468 6520 6578 6563 7574 6162 6c65 2c20 the executable, \n+0001ac20: 696e 636c 7564 696e 6720 7468 6520 7265 including the re\n+0001ac30: 6275 696c 6469 6e67 206f 6620 7468 6520 building of the \n+0001ac40: 7363 616e 6e65 7220 616e 640a 7061 7273 scanner and.pars\n+0001ac50: 6572 2077 6974 6820 e280 9866 6c65 78e2 er with ...flex.\n+0001ac60: 8099 2061 6e64 20e2 8098 6269 736f 6ee2 .. and ...bison.\n+0001ac70: 8099 2069 6620 796f 7520 6861 7665 2063 .. if you have c\n+0001ac80: 6861 6e67 6564 20e2 8098 736b 6574 6368 hanged ...sketch\n+0001ac90: 2e6c e280 9920 6f72 0ae2 8098 736b 6574 .l... or....sket\n+0001aca0: 6368 2e79 e280 9920 7265 7370 6563 7469 ch.y... respecti\n+0001acb0: 7665 6c79 2e0a 0a20 2020 5768 696c 6520 vely... While \n+0001acc0: 6e6f 7420 6573 7365 6e74 6961 6c2c 2062 not essential, b\n+0001acd0: 7569 6c64 696e 6720 7468 6520 6d61 6e75 uilding the manu\n+0001ace0: 616c 2069 7320 616e 2065 7863 656c 6c65 al is an excelle\n+0001acf0: 6e74 2074 6573 7420 6f66 2079 6f75 720a nt test of your.\n+0001ad00: e280 9873 6b65 7463 68e2 8099 2069 6e73 ...sketch... ins\n+0001ad10: 7461 6c6c 6174 696f 6e2e 2020 546f 2062 tallation. To b\n+0001ad20: 7569 6c64 2074 6869 7320 646f 6375 6d65 uild this docume\n+0001ad30: 6e74 2069 6e20 616c 6c20 6974 7320 6d79 nt in all its my\n+0001ad40: 7269 6164 2066 6f72 6d73 0a28 6173 7375 riad forms.(assu\n+0001ad50: 6d69 6e67 2079 6f75 2068 6176 6520 7468 ming you have th\n+0001ad60: 6520 6e65 6365 7373 6172 7920 636f 6e76 e necessary conv\n+0001ad70: 6572 7369 6f6e 2070 726f 6772 616d 7320 ersion programs \n+0001ad80: 6f6e 2079 6f75 7220 7379 7374 656d 292c on your system),\n+0001ad90: 0a75 7365 0a20 2020 2020 6d61 6b65 2064 .use. make d\n+0001ada0: 6f63 730a 5468 6520 706f 7373 6962 696c ocs.The possibil\n+0001adb0: 6974 6965 7320 6172 6520 6c69 7374 6564 ities are listed\n+0001adc0: 2069 6e20 7468 6973 2066 6f6c 6c6f 7769 in this followi\n+0001add0: 6e67 2074 6162 6c65 2e0a 466f 726d 6174 ng table..Format\n+0001ade0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001adf0: 436f 6e76 6572 7465 7220 2020 2020 2020 Converter \n+0001ae00: 2050 6963 7475 7265 7320 2020 4465 7363 Pictures Desc\n+0001ae10: 7269 7074 696f 6e0a 2d2d 2d2d 2d2d 2d2d ription.--------\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 2d2d 2d2d 2d0a 6d61 6e75 616c ---------.manual\n-0001ae90: 2e69 6e66 6f20 2020 2020 2020 2020 2020 .info \n-0001aea0: 6d61 6b65 696e 666f 2020 2020 2020 2020 makeinfo \n-0001aeb0: 20e2 8098 2e74 7874 e280 9920 2020 2020 ....txt... \n-0001aec0: 474e 5520 496e 666f 2e0a 6d61 6e75 616c GNU Info..manual\n-0001aed0: 2e64 7669 2020 2020 2020 2020 2020 2020 .dvi \n-0001aee0: 7465 7869 3264 7669 2020 2020 2020 2020 texi2dvi \n-0001aef0: 20e2 8098 2e65 7073 e280 9920 2020 2020 ....eps... \n-0001af00: 5465 5820 7479 7065 7365 7420 6f75 7470 TeX typeset outp\n-0001af10: 7574 2e0a 6d61 6e75 616c 2e70 7320 2020 ut..manual.ps \n-0001af20: 2020 2020 2020 2020 2020 7465 7869 3264 texi2d\n-0001af30: 7669 2c64 7669 7073 2020 20e2 8098 2e65 vi,dvips ....e\n-0001af40: 7073 e280 9920 2020 2020 506f 7374 7363 ps... Postsc\n-0001af50: 7269 7074 2e0a 6d61 6e75 616c 2e70 6466 ript..manual.pdf\n-0001af60: 2020 2020 2020 2020 2020 2020 7465 7869 texi\n-0001af70: 3264 7669 2020 2020 2020 2020 20e2 8098 2dvi ...\n-0001af80: 2e70 6466 e280 9920 2020 2020 4164 6f62 .pdf... Adob\n-0001af90: 6520 5044 462e 0a6d 616e 7561 6c2e 6874 e PDF..manual.ht\n-0001afa0: 6d6c 2020 2020 2020 2020 2020 206d 616b ml mak\n-0001afb0: 6569 6e66 6f20 2020 2020 2020 2020 e280 einfo ..\n-0001afc0: 982e 706e 67e2 8099 2020 2020 2041 2073 ..png... A s\n-0001afd0: 696e 676c 6520 7765 6220 7061 6765 2e0a ingle web page..\n-0001afe0: 6d61 6e75 616c 2f69 6e64 6578 2e68 746d manual/index.htm\n-0001aff0: 6c20 2020 2020 6d61 6b65 696e 666f 2020 l makeinfo \n-0001b000: 2020 2020 2020 20e2 8098 2e70 6e67 e280 ....png..\n-0001b010: 9920 2020 2020 4c69 6e6b 6564 2077 6562 . Linked web\n-0001b020: 2070 6167 6573 2c20 6f6e 6520 7065 7220 pages, one per \n-0001b030: 6e6f 6465 2e0a 2020 2041 6c6c 2074 6865 node.. All the\n-0001b040: 2072 6571 7569 7265 6420 746f 6f6c 7320 required tools \n-0001b050: 6172 6520 696e 636c 7564 6564 2069 6e20 are included in \n-0001b060: 7468 6520 7374 616e 6461 7264 20e2 8098 the standard ...\n-0001b070: 5465 5820 4c69 7665 e280 990a 6469 7374 TeX Live....dist\n-0001b080: 7269 6275 7469 6f6e 2065 7863 6570 7420 ribution except \n-0001b090: 7468 6174 2061 6e20 6164 6469 7469 6f6e that an addition\n-0001b0a0: 616c 206f 7065 6e20 736f 7572 6365 2070 al open source p\n-0001b0b0: 726f 6772 616d 20e2 8098 6570 7374 6f6f rogram ...epstoo\n-0001b0c0: 6ce2 8099 2069 730a 6e65 6564 6564 2074 l... is.needed t\n-0001b0d0: 6f20 7265 6669 6e65 2074 6865 2045 6e63 o refine the Enc\n-0001b0e0: 6170 7375 6c61 7465 6420 506f 7374 7363 apsulated Postsc\n-0001b0f0: 7269 7074 2062 6f75 6e64 696e 6720 626f ript bounding bo\n-0001b100: 7865 7320 6f66 0ae2 8098 736b 6574 6368 xes of....sketch\n-0001b110: e280 992d 6765 6e65 7261 7465 6420 6669 ...-generated fi\n-0001b120: 6775 7265 7320 696e 2074 6865 206d 616e gures in the man\n-0001b130: 7561 6c2e 2020 5468 6973 2074 6f6f 6c20 ual. This tool \n-0001b140: 6973 2061 7661 696c 6162 6c65 2069 6e0a is available in.\n-0001b150: 6269 6e61 7279 2066 6f72 6d20 666f 7220 binary form for \n-0001b160: 5769 6e64 6f77 732c 2061 6e64 2069 7420 Windows, and it \n-0001b170: 6275 696c 6473 2065 6173 696c 7920 7769 builds easily wi\n-0001b180: 7468 2061 2073 696d 706c 6520 e280 986d th a simple ...m\n-0001b190: 616b 65e2 8099 2075 6e64 6572 0a6c 696e ake... under.lin\n-0001b1a0: 7578 206f 7220 4379 6777 696e 2069 6e73 ux or Cygwin ins\n-0001b1b0: 7461 6c6c 6174 696f 6e73 2074 6861 7420 tallations that \n-0001b1c0: 6861 7665 2064 6576 656c 6f70 6d65 6e74 have development\n-0001b1d0: 2074 6f6f 6c73 2069 6e73 7461 6c6c 6564 tools installed\n-0001b1e0: 206f 720a 756e 6465 7220 e280 984d 6163 or.under ...Mac\n-0001b1f0: 204f 5320 58e2 8099 2077 6974 6820 e280 OS X... with ..\n-0001b200: 9858 436f 6465 e280 9920 696e 7374 616c .XCode... instal\n-0001b210: 6c65 642e 0a0a 1f0a 4669 6c65 3a20 736b led.....File: sk\n-0001b220: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-0001b230: 3a20 496e 6465 7820 6f66 2073 796e 7461 : Index of synta\n-0001b240: 782c 2020 4e65 7874 3a20 496e 6465 782c x, Next: Index,\n-0001b250: 2020 5072 6576 3a20 496e 7374 616c 6c69 Prev: Installi\n-0001b260: 6e67 2073 6b65 7463 682c 2020 5570 3a20 ng sketch, Up: \n-0001b270: 546f 700a 0a49 6e64 6578 206f 6620 7379 Top..Index of sy\n-0001b280: 6e74 6178 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a ntax.***********\n-0001b290: 2a2a 2a2a 0a0a 0008 5b69 6e64 6578 0008 ****....[index..\n-0001b2a0: 5d0a 2a20 4d65 6e75 3a0a 0a2a 202d 2c20 ].* Menu:..* -, \n-0001b2b0: 6d69 6e75 7320 6f70 6572 6174 6f72 3a20 minus operator: \n-0001b2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b2d0: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand \n-0001b2e0: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms..\n+0001ae80: 2d2d 2d0a 6d61 6e75 616c 2e69 6e66 6f20 ---.manual.info \n+0001ae90: 2020 2020 2020 2020 2020 6d61 6b65 696e makein\n+0001aea0: 666f 2020 2020 2020 2020 20e2 8098 2e74 fo ....t\n+0001aeb0: 7874 e280 9920 2020 2020 474e 5520 496e xt... GNU In\n+0001aec0: 666f 2e0a 6d61 6e75 616c 2e64 7669 2020 fo..manual.dvi \n+0001aed0: 2020 2020 2020 2020 2020 7465 7869 3264 texi2d\n+0001aee0: 7669 2020 2020 2020 2020 20e2 8098 2e65 vi ....e\n+0001aef0: 7073 e280 9920 2020 2020 5465 5820 7479 ps... TeX ty\n+0001af00: 7065 7365 7420 6f75 7470 7574 2e0a 6d61 peset output..ma\n+0001af10: 6e75 616c 2e70 7320 2020 2020 2020 2020 nual.ps \n+0001af20: 2020 2020 7465 7869 3264 7669 2c64 7669 texi2dvi,dvi\n+0001af30: 7073 2020 20e2 8098 2e65 7073 e280 9920 ps ....eps... \n+0001af40: 2020 2020 506f 7374 7363 7269 7074 2e0a Postscript..\n+0001af50: 6d61 6e75 616c 2e70 6466 2020 2020 2020 manual.pdf \n+0001af60: 2020 2020 2020 7465 7869 3264 7669 2020 texi2dvi \n+0001af70: 2020 2020 2020 20e2 8098 2e70 6466 e280 ....pdf..\n+0001af80: 9920 2020 2020 4164 6f62 6520 5044 462e . Adobe PDF.\n+0001af90: 0a6d 616e 7561 6c2e 6874 6d6c 2020 2020 .manual.html \n+0001afa0: 2020 2020 2020 206d 616b 6569 6e66 6f20 makeinfo \n+0001afb0: 2020 2020 2020 2020 e280 982e 706e 67e2 ....png.\n+0001afc0: 8099 2020 2020 2041 2073 696e 676c 6520 .. A single \n+0001afd0: 7765 6220 7061 6765 2e0a 6d61 6e75 616c web page..manual\n+0001afe0: 2f69 6e64 6578 2e68 746d 6c20 2020 2020 /index.html \n+0001aff0: 6d61 6b65 696e 666f 2020 2020 2020 2020 makeinfo \n+0001b000: 20e2 8098 2e70 6e67 e280 9920 2020 2020 ....png... \n+0001b010: 4c69 6e6b 6564 2077 6562 2070 6167 6573 Linked web pages\n+0001b020: 2c20 6f6e 6520 7065 7220 6e6f 6465 2e0a , one per node..\n+0001b030: 2020 2041 6c6c 2074 6865 2072 6571 7569 All the requi\n+0001b040: 7265 6420 746f 6f6c 7320 6172 6520 696e red tools are in\n+0001b050: 636c 7564 6564 2069 6e20 7468 6520 7374 cluded in the st\n+0001b060: 616e 6461 7264 20e2 8098 5465 5820 4c69 andard ...TeX Li\n+0001b070: 7665 e280 990a 6469 7374 7269 6275 7469 ve....distributi\n+0001b080: 6f6e 2065 7863 6570 7420 7468 6174 2061 on except that a\n+0001b090: 6e20 6164 6469 7469 6f6e 616c 206f 7065 n additional ope\n+0001b0a0: 6e20 736f 7572 6365 2070 726f 6772 616d n source program\n+0001b0b0: 20e2 8098 6570 7374 6f6f 6ce2 8099 2069 ...epstool... i\n+0001b0c0: 730a 6e65 6564 6564 2074 6f20 7265 6669 s.needed to refi\n+0001b0d0: 6e65 2074 6865 2045 6e63 6170 7375 6c61 ne the Encapsula\n+0001b0e0: 7465 6420 506f 7374 7363 7269 7074 2062 ted Postscript b\n+0001b0f0: 6f75 6e64 696e 6720 626f 7865 7320 6f66 ounding boxes of\n+0001b100: 0ae2 8098 736b 6574 6368 e280 992d 6765 ....sketch...-ge\n+0001b110: 6e65 7261 7465 6420 6669 6775 7265 7320 nerated figures \n+0001b120: 696e 2074 6865 206d 616e 7561 6c2e 2020 in the manual. \n+0001b130: 5468 6973 2074 6f6f 6c20 6973 2061 7661 This tool is ava\n+0001b140: 696c 6162 6c65 2069 6e0a 6269 6e61 7279 ilable in.binary\n+0001b150: 2066 6f72 6d20 666f 7220 5769 6e64 6f77 form for Window\n+0001b160: 732c 2061 6e64 2069 7420 6275 696c 6473 s, and it builds\n+0001b170: 2065 6173 696c 7920 7769 7468 2061 2073 easily with a s\n+0001b180: 696d 706c 6520 e280 986d 616b 65e2 8099 imple ...make...\n+0001b190: 2075 6e64 6572 0a6c 696e 7578 206f 7220 under.linux or \n+0001b1a0: 4379 6777 696e 2069 6e73 7461 6c6c 6174 Cygwin installat\n+0001b1b0: 696f 6e73 2074 6861 7420 6861 7665 2064 ions that have d\n+0001b1c0: 6576 656c 6f70 6d65 6e74 2074 6f6f 6c73 evelopment tools\n+0001b1d0: 2069 6e73 7461 6c6c 6564 206f 720a 756e installed or.un\n+0001b1e0: 6465 7220 e280 984d 6163 204f 5320 58e2 der ...Mac OS X.\n+0001b1f0: 8099 2077 6974 6820 e280 9858 436f 6465 .. with ...XCode\n+0001b200: e280 9920 696e 7374 616c 6c65 642e 0a0a ... installed...\n+0001b210: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+0001b220: 6e66 6f2c 2020 4e6f 6465 3a20 496e 6465 nfo, Node: Inde\n+0001b230: 7820 6f66 2073 796e 7461 782c 2020 4e65 x of syntax, Ne\n+0001b240: 7874 3a20 496e 6465 782c 2020 5072 6576 xt: Index, Prev\n+0001b250: 3a20 496e 7374 616c 6c69 6e67 2073 6b65 : Installing ske\n+0001b260: 7463 682c 2020 5570 3a20 546f 700a 0a49 tch, Up: Top..I\n+0001b270: 6e64 6578 206f 6620 7379 6e74 6178 0a2a ndex of syntax.*\n+0001b280: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a **************..\n+0001b290: 0008 5b69 6e64 6578 0008 5d0a 2a20 4d65 ..[index..].* Me\n+0001b2a0: 6e75 3a0a 0a2a 202d 2c20 6d69 6e75 7320 nu:..* -, minus \n+0001b2b0: 6f70 6572 6174 6f72 3a20 2020 2020 2020 operator: \n+0001b2c0: 2020 2020 2020 2020 2020 2020 2020 5477 Tw\n+0001b2d0: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar\n+0001b2e0: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. \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 2020 2020 2028 (\n-0001b330: 6c69 6e65 2031 3529 0a2a 202d 2c20 756e line 15).* -, un\n-0001b340: 6172 7920 6d69 6e75 7320 6f70 6572 6174 ary minus operat\n-0001b350: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: \n-0001b360: 2020 556e 6172 7920 666f 726d 732e 2020 Unary forms. \n-0001b370: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10\n-0001b380: 290a 2a20 2e2c 2064 6f74 206f 7065 7261 ).* ., dot opera\n-0001b390: 746f 723a 2020 2020 2020 2020 2020 2020 tor: \n-0001b3a0: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o\n-0001b3b0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n-0001b3c0: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. \n+0001b320: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n+0001b330: 3529 0a2a 202d 2c20 756e 6172 7920 6d69 5).* -, unary mi\n+0001b340: 6e75 7320 6f70 6572 6174 6f72 3a20 2020 nus operator: \n+0001b350: 2020 2020 2020 2020 2020 2020 556e 6172 Unar\n+0001b360: 7920 666f 726d 732e 2020 2020 2020 2020 y forms. \n+0001b370: 2020 286c 696e 6520 3130 290a 2a20 2e2c (line 10).* .,\n+0001b380: 2064 6f74 206f 7065 7261 746f 723a 2020 dot operator: \n+0001b390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b3a0: 2020 2020 2054 776f 2d6f 7065 7261 6e64 Two-operand\n+0001b3b0: 2028 6269 6e61 7279 2920 666f 726d 732e (binary) forms.\n+0001b3c0: 0a20 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 2020 2020 286c 696e 6520 3139 290a (line 19).\n-0001b410: 2a20 2e2c 2064 6f74 206f 7065 7261 746f * ., dot operato\n-0001b420: 7220 3c31 3e3a 2020 2020 2020 2020 2020 r <1>: \n-0001b430: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope\n-0001b440: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo\n-0001b450: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. \n+0001b400: 286c 696e 6520 3139 290a 2a20 2e2c 2064 (line 19).* ., d\n+0001b410: 6f74 206f 7065 7261 746f 7220 3c31 3e3a ot operator <1>:\n+0001b420: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b430: 2020 2054 776f 2d6f 7065 7261 6e64 2028 Two-operand (\n+0001b440: 6269 6e61 7279 2920 666f 726d 732e 0a20 binary) 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: 2020 2020 286c 696e 6520 3631 290a 2a20 (line 61).* \n-0001b4a0: 2778 2c20 2779 2c20 616e 6420 277a 3a20 'x, 'y, and 'z: \n+0001b480: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0001b490: 696e 6520 3631 290a 2a20 2778 2c20 2779 ine 61).* 'x, 'y\n+0001b4a0: 2c20 616e 6420 277a 3a20 2020 2020 2020 , and 'z: \n 0001b4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b4c0: 2020 2020 2020 2041 6666 696e 6520 6172 Affine ar\n-0001b4d0: 6974 686d 6574 6963 2e20 2020 2028 6c69 ithmetic. (li\n-0001b4e0: 6e65 2033 3729 0a2a 2027 782c 2027 792c ne 37).* 'x, 'y,\n-0001b4f0: 2061 6e64 2027 7a20 3c31 3e3a 2020 2020 and 'z <1>: \n-0001b500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b510: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin\n-0001b520: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. \n+0001b4c0: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet\n+0001b4d0: 6963 2e20 2020 2028 6c69 6e65 2033 3729 ic. (line 37)\n+0001b4e0: 0a2a 2027 782c 2027 792c 2061 6e64 2027 .* 'x, 'y, and '\n+0001b4f0: 7a20 3c31 3e3a 2020 2020 2020 2020 2020 z <1>: \n+0001b500: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op\n+0001b510: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n+0001b520: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. \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 2020 2020 2028 6c69 6e65 (line\n-0001b570: 2034 3129 0a2a 2028 2029 2c20 6772 6f75 41).* ( ), grou\n-0001b580: 7069 6e67 3a20 2020 2020 2020 2020 2020 ping: \n-0001b590: 2020 2020 2020 2020 2020 2020 2020 5477 Tw\n-0001b5a0: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar\n-0001b5b0: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. \n+0001b560: 2020 2020 2028 6c69 6e65 2034 3129 0a2a (line 41).*\n+0001b570: 2028 2029 2c20 6772 6f75 7069 6e67 3a20 ( ), grouping: \n+0001b580: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b590: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper\n+0001b5a0: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for\n+0001b5b0: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. \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 2020 2020 2028 6c69 6e65 2035 (line 5\n-0001b600: 3829 0a2a 2028 666f 6f29 2c20 706f 696e 8).* (foo), poin\n-0001b610: 7420 7265 6665 7265 6e63 653a 2020 2020 t reference: \n-0001b620: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n-0001b630: 696e 6720 6120 736f 6c69 642e 2020 2020 ing a solid. \n-0001b640: 2020 286c 696e 6520 3234 290a 2a20 2866 (line 24).* (f\n-0001b650: 6f6f 292c 2070 6f69 6e74 2072 6566 6572 oo), point refer\n-0001b660: 656e 6365 203c 313e 3a20 2020 2020 2020 ence <1>: \n-0001b670: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re\n-0001b680: 6665 7265 6e63 6573 2e20 2028 6c69 6e65 ferences. (line\n-0001b690: 2031 3429 0a2a 205b 5b20 5d5b 205d 5b20 14).* [[ ][ ][ \n-0001b6a0: 5d5b 205d 5d2c 2074 7261 6e73 666f 726d ][ ]], transform\n-0001b6b0: 206c 6974 6572 616c 3a20 2020 2020 5472 literal: Tr\n-0001b6c0: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n-0001b6d0: 2e20 2020 286c 696e 6520 3437 290a 2a20 . (line 47).* \n-0001b6e0: 5b5b 205d 5b20 5d5b 205d 5b20 5d5d 2c20 [[ ][ ][ ][ ]], \n-0001b6f0: 7472 616e 7366 6f72 6d20 6c69 7465 7261 transform litera\n-0001b700: 6c20 3c31 3e3a 2054 7261 6e73 666f 726d l <1>: Transform\n-0001b710: 206c 6974 6572 616c 732e 2020 2028 6c69 literals. (li\n-0001b720: 6e65 2035 3329 0a2a 205b 5b66 6f6f 5d5d ne 53).* [[foo]]\n-0001b730: 2c20 7472 616e 7366 6f72 6d20 7265 6665 , transform refe\n-0001b740: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: \n-0001b750: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n-0001b760: 6365 732e 2020 286c 696e 6520 3136 290a ces. (line 16).\n-0001b770: 2a20 5b5b 666f 6f5d 5d2c 2074 7261 6e73 * [[foo]], trans\n-0001b780: 666f 726d 2072 6566 6572 656e 6365 203c form reference <\n-0001b790: 313e 3a20 2020 2020 204f 7665 7276 6965 1>: Overvie\n-0001b7a0: 772e 2020 2020 2020 2020 2020 2020 2028 w. (\n-0001b7b0: 6c69 6e65 2033 3529 0a2a 205b 5b66 6f6f line 35).* [[foo\n-0001b7c0: 5d5d 2c20 7472 616e 7366 6f72 6d20 7265 ]], transform re\n-0001b7d0: 6665 7265 6e63 6520 3c32 3e3a 2020 2020 ference <2>: \n-0001b7e0: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n-0001b7f0: 2020 2020 2020 2020 286c 696e 6520 3335 (line 35\n-0001b800: 290a 2a20 5b66 6f6f 2c2e 2e2e 2c62 6172 ).* [foo,...,bar\n-0001b810: 5d2c 206d 756c 7469 706c 6520 6f70 7469 ], multiple opti\n-0001b820: 6f6e 7320 7265 6665 7265 6e63 653a 2046 ons reference: F\n-0001b830: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc\n-0001b840: 6573 2e0a 2020 2020 2020 2020 2020 2020 es.. \n+0001b5f0: 2020 2028 6c69 6e65 2035 3829 0a2a 2028 (line 58).* (\n+0001b600: 666f 6f29 2c20 706f 696e 7420 7265 6665 foo), point refe\n+0001b610: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: \n+0001b620: 2020 2020 2020 4472 6177 696e 6720 6120 Drawing a \n+0001b630: 736f 6c69 642e 2020 2020 2020 286c 696e solid. (lin\n+0001b640: 6520 3234 290a 2a20 2866 6f6f 292c 2070 e 24).* (foo), p\n+0001b650: 6f69 6e74 2072 6566 6572 656e 6365 203c oint reference <\n+0001b660: 313e 3a20 2020 2020 2020 2020 2020 2046 1>: F\n+0001b670: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc\n+0001b680: 6573 2e20 2028 6c69 6e65 2031 3429 0a2a es. (line 14).*\n+0001b690: 205b 5b20 5d5b 205d 5b20 5d5b 205d 5d2c [[ ][ ][ ][ ]],\n+0001b6a0: 2074 7261 6e73 666f 726d 206c 6974 6572 transform liter\n+0001b6b0: 616c 3a20 2020 2020 5472 616e 7366 6f72 al: Transfor\n+0001b6c0: 6d20 6c69 7465 7261 6c73 2e20 2020 286c m literals. (l\n+0001b6d0: 696e 6520 3437 290a 2a20 5b5b 205d 5b20 ine 47).* [[ ][ \n+0001b6e0: 5d5b 205d 5b20 5d5d 2c20 7472 616e 7366 ][ ][ ]], transf\n+0001b6f0: 6f72 6d20 6c69 7465 7261 6c20 3c31 3e3a orm literal <1>:\n+0001b700: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n+0001b710: 616c 732e 2020 2028 6c69 6e65 2035 3329 als. (line 53)\n+0001b720: 0a2a 205b 5b66 6f6f 5d5d 2c20 7472 616e .* [[foo]], tran\n+0001b730: 7366 6f72 6d20 7265 6665 7265 6e63 653a sform reference:\n+0001b740: 2020 2020 2020 2020 2020 466f 726d 7320 Forms \n+0001b750: 6f66 2072 6566 6572 656e 6365 732e 2020 of references. \n+0001b760: 286c 696e 6520 3136 290a 2a20 5b5b 666f (line 16).* [[fo\n+0001b770: 6f5d 5d2c 2074 7261 6e73 666f 726d 2072 o]], transform r\n+0001b780: 6566 6572 656e 6365 203c 313e 3a20 2020 eference <1>: \n+0001b790: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n+0001b7a0: 2020 2020 2020 2020 2028 6c69 6e65 2033 (line 3\n+0001b7b0: 3529 0a2a 205b 5b66 6f6f 5d5d 2c20 7472 5).* [[foo]], tr\n+0001b7c0: 616e 7366 6f72 6d20 7265 6665 7265 6e63 ansform referenc\n+0001b7d0: 6520 3c32 3e3a 2020 2020 2020 4f76 6572 e <2>: Over\n+0001b7e0: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n+0001b7f0: 2020 286c 696e 6520 3335 290a 2a20 5b66 (line 35).* [f\n+0001b800: 6f6f 2c2e 2e2e 2c62 6172 5d2c 206d 756c oo,...,bar], mul\n+0001b810: 7469 706c 6520 6f70 7469 6f6e 7320 7265 tiple options re\n+0001b820: 6665 7265 6e63 653a 2046 6f72 6d73 206f ference: Forms o\n+0001b830: 6620 7265 6665 7265 6e63 6573 2e0a 2020 f references.. \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 2020 \n-0001b880: 2020 2028 6c69 6e65 2031 3829 0a2a 205b (line 18).* [\n-0001b890: 666f 6f5d 2c20 6f70 7469 6f6e 7320 7265 foo], options re\n-0001b8a0: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: \n-0001b8b0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n-0001b8c0: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu\n-0001b8d0: 7265 2e0a 2020 2020 2020 2020 2020 2020 re.. \n+0001b870: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001b880: 6e65 2031 3829 0a2a 205b 666f 6f5d 2c20 ne 18).* [foo], \n+0001b890: 6f70 7469 6f6e 7320 7265 6665 7265 6e63 options referenc\n+0001b8a0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+0001b8b0: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps \n+0001b8c0: 7769 7468 2063 6c6f 7375 7265 2e0a 2020 with 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 2020 \n-0001b910: 2020 2028 6c69 6e65 2032 3429 0a2a 205b (line 24).* [\n-0001b920: 666f 6f5d 2c20 6f70 7469 6f6e 7320 7265 foo], options re\n-0001b930: 6665 7265 6e63 6520 3c31 3e3a 2020 2020 ference <1>: \n-0001b940: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r\n-0001b950: 6566 6572 656e 6365 732e 2020 286c 696e eferences. (lin\n-0001b960: 6520 3138 290a 2a20 5b66 6f6f 5d2c 2076 e 18).* [foo], v\n-0001b970: 6563 746f 7220 7265 6665 7265 6e63 653a ector reference:\n-0001b980: 2020 2020 2020 2020 2020 2020 2020 2050 P\n-0001b990: 6f6c 796c 696e 6520 7377 6565 7073 2e20 olyline sweeps. \n-0001b9a0: 2020 2020 2028 6c69 6e65 2032 3029 0a2a (line 20).*\n-0001b9b0: 205b 666f 6f5d 2c20 7665 6374 6f72 2072 [foo], vector r\n-0001b9c0: 6566 6572 656e 6365 203c 313e 3a20 2020 eference <1>: \n-0001b9d0: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of\n-0001b9e0: 2072 6566 6572 656e 6365 732e 2020 286c references. (l\n-0001b9f0: 696e 6520 3135 290a 2a20 7b20 7d2c 2062 ine 15).* { }, b\n-0001ba00: 6c6f 636b 2064 7261 7761 626c 653a 2020 lock drawable: \n-0001ba10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ba20: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n-0001ba30: 6d73 2e20 2020 2028 6c69 6e65 2032 3429 ms. (line 24)\n-0001ba40: 0a2a 207b 207d 2c20 626c 6f63 6b20 6472 .* { }, block dr\n-0001ba50: 6177 6162 6c65 203c 313e 3a20 2020 2020 awable <1>: \n-0001ba60: 2020 2020 2020 2020 2020 4e65 7374 6564 Nested\n-0001ba70: 2073 7765 6570 732e 2020 2020 2020 2020 sweeps. \n-0001ba80: 286c 696e 6520 3235 290a 2a20 7b20 7d2c (line 25).* { },\n-0001ba90: 2062 6c6f 636b 2064 7261 7761 626c 6520 block drawable \n-0001baa0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n-0001bab0: 2020 2053 7765 7074 2062 6c6f 636b 732e Swept blocks.\n-0001bac0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0001bad0: 3729 0a2a 207b 207d 2c20 626c 6f63 6b20 7).* { }, block \n-0001bae0: 6472 6177 6162 6c65 203c 333e 3a20 2020 drawable <3>: \n-0001baf0: 2020 2020 2020 2020 2020 2020 426c 6f63 Bloc\n-0001bb00: 6b73 2e20 2020 2020 2020 2020 2020 2020 ks. \n-0001bb10: 2020 286c 696e 6520 2036 290a 2a20 7b20 (line 6).* { \n-0001bb20: 7d2c 2062 6c6f 636b 2064 7261 7761 626c }, block drawabl\n-0001bb30: 6520 3c34 3e3a 2020 2020 2020 2020 2020 e <4>: \n-0001bb40: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n-0001bb50: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0001bb60: 2033 3729 0a2a 207b 666f 6f7d 2c20 6472 37).* {foo}, dr\n-0001bb70: 6177 6162 6c65 2072 6566 6572 656e 6365 awable reference\n-0001bb80: 3a20 2020 2020 2020 2020 2020 2020 4f62 : Ob\n-0001bb90: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n-0001bba0: 2020 2020 286c 696e 6520 3333 290a 2a20 (line 33).* \n-0001bbb0: 7b66 6f6f 7d2c 2064 7261 7761 626c 6520 {foo}, drawable \n-0001bbc0: 7265 6665 7265 6e63 6520 3c31 3e3a 2020 reference <1>: \n-0001bbd0: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of \n-0001bbe0: 7265 6665 7265 6e63 6573 2e20 2028 6c69 references. (li\n-0001bbf0: 6e65 2031 3729 0a2a 207b 666f 6f7d 2c20 ne 17).* {foo}, \n-0001bc00: 6472 6177 6162 6c65 2072 6566 6572 656e drawable referen\n-0001bc10: 6365 203c 323e 3a20 2020 2020 2020 2020 ce <2>: \n-0001bc20: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. \n-0001bc30: 2020 2020 2020 286c 696e 6520 3437 290a (line 47).\n-0001bc40: 2a20 7b66 6f6f 7d2c 2064 7261 7761 626c * {foo}, drawabl\n-0001bc50: 6520 7265 6665 7265 6e63 6520 3c33 3e3a e reference <3>:\n-0001bc60: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n-0001bc70: 772e 2020 2020 2020 2020 2020 2020 2028 w. (\n-0001bc80: 6c69 6e65 2035 3729 0a2a 202a 2c20 6d75 line 57).* *, mu\n-0001bc90: 6c74 6970 6c69 6361 7469 6f6e 206f 7065 ltiplication ope\n-0001bca0: 7261 746f 723a 2020 2020 2020 2020 2020 rator: \n-0001bcb0: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b\n-0001bcc0: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. \n+0001b900: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001b910: 6e65 2032 3429 0a2a 205b 666f 6f5d 2c20 ne 24).* [foo], \n+0001b920: 6f70 7469 6f6e 7320 7265 6665 7265 6e63 options referenc\n+0001b930: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: \n+0001b940: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n+0001b950: 6365 732e 2020 286c 696e 6520 3138 290a ces. (line 18).\n+0001b960: 2a20 5b66 6f6f 5d2c 2076 6563 746f 7220 * [foo], vector \n+0001b970: 7265 6665 7265 6e63 653a 2020 2020 2020 reference: \n+0001b980: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin\n+0001b990: 6520 7377 6565 7073 2e20 2020 2020 2028 e sweeps. (\n+0001b9a0: 6c69 6e65 2032 3029 0a2a 205b 666f 6f5d line 20).* [foo]\n+0001b9b0: 2c20 7665 6374 6f72 2072 6566 6572 656e , vector referen\n+0001b9c0: 6365 203c 313e 3a20 2020 2020 2020 2020 ce <1>: \n+0001b9d0: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer\n+0001b9e0: 656e 6365 732e 2020 286c 696e 6520 3135 ences. (line 15\n+0001b9f0: 290a 2a20 7b20 7d2c 2062 6c6f 636b 2064 ).* { }, block d\n+0001ba00: 7261 7761 626c 653a 2020 2020 2020 2020 rawable: \n+0001ba10: 2020 2020 2020 2020 2020 204f 626a 6563 Objec\n+0001ba20: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. \n+0001ba30: 2028 6c69 6e65 2032 3429 0a2a 207b 207d (line 24).* { }\n+0001ba40: 2c20 626c 6f63 6b20 6472 6177 6162 6c65 , block drawable\n+0001ba50: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+0001ba60: 2020 2020 4e65 7374 6564 2073 7765 6570 Nested sweep\n+0001ba70: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line \n+0001ba80: 3235 290a 2a20 7b20 7d2c 2062 6c6f 636b 25).* { }, block\n+0001ba90: 2064 7261 7761 626c 6520 3c32 3e3a 2020 drawable <2>: \n+0001baa0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+0001bab0: 7074 2062 6c6f 636b 732e 2020 2020 2020 pt blocks. \n+0001bac0: 2020 2028 6c69 6e65 2020 3729 0a2a 207b (line 7).* {\n+0001bad0: 207d 2c20 626c 6f63 6b20 6472 6177 6162 }, block drawab\n+0001bae0: 6c65 203c 333e 3a20 2020 2020 2020 2020 le <3>: \n+0001baf0: 2020 2020 2020 426c 6f63 6b73 2e20 2020 Blocks. \n+0001bb00: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001bb10: 6520 2036 290a 2a20 7b20 7d2c 2062 6c6f e 6).* { }, blo\n+0001bb20: 636b 2064 7261 7761 626c 6520 3c34 3e3a ck drawable <4>:\n+0001bb30: 2020 2020 2020 2020 2020 2020 2020 204f O\n+0001bb40: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n+0001bb50: 2020 2020 2028 6c69 6e65 2033 3729 0a2a (line 37).*\n+0001bb60: 207b 666f 6f7d 2c20 6472 6177 6162 6c65 {foo}, drawable\n+0001bb70: 2072 6566 6572 656e 6365 3a20 2020 2020 reference: \n+0001bb80: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t\n+0001bb90: 7261 6e73 666f 726d 732e 2020 2020 286c ransforms. (l\n+0001bba0: 696e 6520 3333 290a 2a20 7b66 6f6f 7d2c ine 33).* {foo},\n+0001bbb0: 2064 7261 7761 626c 6520 7265 6665 7265 drawable refere\n+0001bbc0: 6e63 6520 3c31 3e3a 2020 2020 2020 2020 nce <1>: \n+0001bbd0: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere\n+0001bbe0: 6e63 6573 2e20 2028 6c69 6e65 2031 3729 nces. (line 17)\n+0001bbf0: 0a2a 207b 666f 6f7d 2c20 6472 6177 6162 .* {foo}, drawab\n+0001bc00: 6c65 2072 6566 6572 656e 6365 203c 323e le reference <2>\n+0001bc10: 3a20 2020 2020 2020 2020 4f76 6572 7669 : Overvi\n+0001bc20: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. \n+0001bc30: 286c 696e 6520 3437 290a 2a20 7b66 6f6f (line 47).* {foo\n+0001bc40: 7d2c 2064 7261 7761 626c 6520 7265 6665 }, drawable refe\n+0001bc50: 7265 6e63 6520 3c33 3e3a 2020 2020 2020 rence <3>: \n+0001bc60: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n+0001bc70: 2020 2020 2020 2020 2028 6c69 6e65 2035 (line 5\n+0001bc80: 3729 0a2a 202a 2c20 6d75 6c74 6970 6c69 7).* *, multipli\n+0001bc90: 6361 7469 6f6e 206f 7065 7261 746f 723a cation operator:\n+0001bca0: 2020 2020 2020 2020 2020 2020 5477 6f2d Two-\n+0001bcb0: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary)\n+0001bcc0: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. \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 2020 2020 2028 6c69 (li\n-0001bd10: 6e65 2031 3929 0a2a 202a 2c20 6d75 6c74 ne 19).* *, mult\n-0001bd20: 6970 6c69 6361 7469 6f6e 206f 7065 7261 iplication opera\n-0001bd30: 746f 7220 3c31 3e3a 2020 2020 2020 2020 tor <1>: \n-0001bd40: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin\n-0001bd50: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. \n+0001bd00: 2020 2020 2020 2028 6c69 6e65 2031 3929 (line 19)\n+0001bd10: 0a2a 202a 2c20 6d75 6c74 6970 6c69 6361 .* *, multiplica\n+0001bd20: 7469 6f6e 206f 7065 7261 746f 7220 3c31 tion operator <1\n+0001bd30: 3e3a 2020 2020 2020 2020 5477 6f2d 6f70 >: Two-op\n+0001bd40: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n+0001bd50: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. \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 2020 2020 2028 6c69 6e65 (line\n-0001bda0: 2036 3829 0a2a 202f 2c20 6469 7669 7369 68).* /, divisi\n-0001bdb0: 6f6e 206f 7065 7261 746f 723a 2020 2020 on operator: \n-0001bdc0: 2020 2020 2020 2020 2020 2020 2020 5477 Tw\n-0001bdd0: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar\n-0001bde0: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. \n+0001bd90: 2020 2020 2028 6c69 6e65 2036 3829 0a2a (line 68).*\n+0001bda0: 202f 2c20 6469 7669 7369 6f6e 206f 7065 /, division ope\n+0001bdb0: 7261 746f 723a 2020 2020 2020 2020 2020 rator: \n+0001bdc0: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper\n+0001bdd0: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for\n+0001bde0: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. \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 2020 2020 2028 6c69 6e65 2033 (line 3\n-0001be30: 3829 0a2a 205e 2c20 6578 706f 6e65 6e74 8).* ^, exponent\n-0001be40: 6961 7469 6f6e 206f 7065 7261 746f 723a iation operator:\n-0001be50: 2020 2020 2020 2020 2020 2020 5477 6f2d Two-\n-0001be60: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary)\n-0001be70: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. \n+0001be20: 2020 2028 6c69 6e65 2033 3829 0a2a 205e (line 38).* ^\n+0001be30: 2c20 6578 706f 6e65 6e74 6961 7469 6f6e , exponentiation\n+0001be40: 206f 7065 7261 746f 723a 2020 2020 2020 operator: \n+0001be50: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan\n+0001be60: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms\n+0001be70: 2e0a 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 2020 2020 2028 6c69 6e65 2032 3729 (line 27)\n-0001bec0: 0a2a 202b 2c20 706c 7573 206f 7065 7261 .* +, plus opera\n-0001bed0: 746f 723a 2020 2020 2020 2020 2020 2020 tor: \n-0001bee0: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op\n-0001bef0: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n-0001bf00: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. \n+0001beb0: 2028 6c69 6e65 2032 3729 0a2a 202b 2c20 (line 27).* +, \n+0001bec0: 706c 7573 206f 7065 7261 746f 723a 2020 plus operator: \n+0001bed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001bee0: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand \n+0001bef0: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) 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: 2020 2020 2028 6c69 6e65 2031 3129 0a2a (line 11).*\n-0001bf50: 203c 3e2c 2063 6c6f 7375 7265 2074 6167 <>, closure tag\n-0001bf60: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001bf70: 2020 2020 2020 2020 506f 696e 7420 7377 Point sw\n-0001bf80: 6565 7073 2e20 2020 2020 2020 2020 286c eeps. (l\n-0001bf90: 696e 6520 3138 290a 2a20 3c3e 2c20 636c ine 18).* <>, cl\n-0001bfa0: 6f73 7572 6520 7461 6720 3c31 3e3a 2020 osure tag <1>: \n-0001bfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001bfc0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-0001bfd0: 2077 6974 6820 636c 6f73 7572 652e 0a20 with closure.. \n+0001bf30: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0001bf40: 6c69 6e65 2031 3129 0a2a 203c 3e2c 2063 line 11).* <>, c\n+0001bf50: 6c6f 7375 7265 2074 6167 3a20 2020 2020 losure tag: \n+0001bf60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001bf70: 2020 506f 696e 7420 7377 6565 7073 2e20 Point sweeps. \n+0001bf80: 2020 2020 2020 2020 286c 696e 6520 3138 (line 18\n+0001bf90: 290a 2a20 3c3e 2c20 636c 6f73 7572 6520 ).* <>, closure \n+0001bfa0: 7461 6720 3c31 3e3a 2020 2020 2020 2020 tag <1>: \n+0001bfb0: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl\n+0001bfc0: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with \n+0001bfd0: 636c 6f73 7572 652e 0a20 2020 2020 2020 closure.. \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 2020 2020 286c (l\n-0001c020: 696e 6520 2036 290a 2a20 3c3e 2c20 636c ine 6).* <>, cl\n-0001c030: 6f73 7572 6520 7461 6720 3c32 3e3a 2020 osure tag <2>: \n-0001c040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c050: 2053 7765 6570 732e 2020 2020 2020 2020 Sweeps. \n-0001c060: 2020 2020 2020 2028 6c69 6e65 2031 3929 (line 19)\n-0001c070: 0a2a 203c 3e2c 2063 6c6f 7375 7265 2074 .* <>, closure t\n-0001c080: 6167 203c 333e 3a20 2020 2020 2020 2020 ag <3>: \n-0001c090: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-0001c0a0: 706f 696e 7473 2e20 2020 2020 2020 2020 points. \n-0001c0b0: 286c 696e 6520 2036 290a 2a20 3c3e 2c20 (line 6).* <>, \n-0001c0c0: 636c 6f73 7572 6520 7461 6720 3c34 3e3a closure tag <4>:\n-0001c0d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c0e0: 2020 2053 7765 7074 2070 6f69 6e74 732e Swept points.\n-0001c0f0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-0001c100: 3329 0a2a 203c 3e2c 2063 6c6f 7375 7265 3).* <>, closure\n-0001c110: 2074 6167 203c 353e 3a20 2020 2020 2020 tag <5>: \n-0001c120: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-0001c130: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. \n-0001c140: 2020 286c 696e 6520 2036 290a 2a20 3c3e (line 6).* <>\n-0001c150: 2c20 636c 6f73 7572 6520 7461 6720 3c36 , closure tag <6\n-0001c160: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001c170: 2020 2020 2053 7765 7074 206c 696e 6573 Swept lines\n-0001c180: 2e20 2020 2020 2020 2020 2028 6c69 6e65 . (line\n-0001c190: 2032 3829 0a2a 203c 3e2c 2063 6c6f 7375 28).* <>, closu\n-0001c1a0: 7265 2074 6167 203c 373e 3a20 2020 2020 re tag <7>: \n-0001c1b0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-0001c1c0: 6565 7020 6661 6365 2073 706c 6974 7469 eep face splitti\n-0001c1d0: 6e67 2e20 286c 696e 6520 3131 290a 2a20 ng. (line 11).* \n-0001c1e0: 3c66 6f6f 3e2c 2074 6167 2072 6566 6572 , tag refer\n-0001c1f0: 656e 6365 3a20 2020 2020 2020 2020 2020 ence: \n-0001c200: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of \n-0001c210: 6465 6669 6e69 7469 6f6e 732e 2028 6c69 definitions. (li\n-0001c220: 6e65 2032 3029 0a2a 203c 666f 6f3e 2c20 ne 20).* , \n-0001c230: 7461 6720 7265 6665 7265 6e63 6520 3c31 tag reference <1\n-0001c240: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001c250: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n-0001c260: 6365 732e 2020 286c 696e 6520 3139 290a ces. (line 19).\n-0001c270: 2a20 7c58 7c2c 206d 6167 6e69 7475 6465 * |X|, magnitude\n-0001c280: 206f 7065 7261 746f 723a 2020 2020 2020 operator: \n-0001c290: 2020 2020 2020 2020 2055 6e61 7279 2066 Unary f\n-0001c2a0: 6f72 6d73 2e20 2020 2020 2020 2020 2028 orms. (\n-0001c2b0: 6c69 6e65 2031 3229 0a2a 2061 636f 733a line 12).* acos:\n+0001c010: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n+0001c020: 290a 2a20 3c3e 2c20 636c 6f73 7572 6520 ).* <>, closure \n+0001c030: 7461 6720 3c32 3e3a 2020 2020 2020 2020 tag <2>: \n+0001c040: 2020 2020 2020 2020 2020 2053 7765 6570 Sweep\n+0001c050: 732e 2020 2020 2020 2020 2020 2020 2020 s. \n+0001c060: 2028 6c69 6e65 2031 3929 0a2a 203c 3e2c (line 19).* <>,\n+0001c070: 2063 6c6f 7375 7265 2074 6167 203c 333e closure tag <3>\n+0001c080: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001c090: 2020 2020 5377 6570 7420 706f 696e 7473 Swept points\n+0001c0a0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n+0001c0b0: 2036 290a 2a20 3c3e 2c20 636c 6f73 7572 6).* <>, closur\n+0001c0c0: 6520 7461 6720 3c34 3e3a 2020 2020 2020 e tag <4>: \n+0001c0d0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+0001c0e0: 7074 2070 6f69 6e74 732e 2020 2020 2020 pt points. \n+0001c0f0: 2020 2028 6c69 6e65 2031 3329 0a2a 203c (line 13).* <\n+0001c100: 3e2c 2063 6c6f 7375 7265 2074 6167 203c >, closure tag <\n+0001c110: 353e 3a20 2020 2020 2020 2020 2020 2020 5>: \n+0001c120: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line\n+0001c130: 732e 2020 2020 2020 2020 2020 286c 696e s. (lin\n+0001c140: 6520 2036 290a 2a20 3c3e 2c20 636c 6f73 e 6).* <>, clos\n+0001c150: 7572 6520 7461 6720 3c36 3e3a 2020 2020 ure tag <6>: \n+0001c160: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0001c170: 7765 7074 206c 696e 6573 2e20 2020 2020 wept lines. \n+0001c180: 2020 2020 2028 6c69 6e65 2032 3829 0a2a (line 28).*\n+0001c190: 203c 3e2c 2063 6c6f 7375 7265 2074 6167 <>, closure tag\n+0001c1a0: 203c 373e 3a20 2020 2020 2020 2020 2020 <7>: \n+0001c1b0: 2020 2020 2020 2020 5377 6565 7020 6661 Sweep fa\n+0001c1c0: 6365 2073 706c 6974 7469 6e67 2e20 286c ce splitting. (l\n+0001c1d0: 696e 6520 3131 290a 2a20 3c66 6f6f 3e2c ine 11).* ,\n+0001c1e0: 2074 6167 2072 6566 6572 656e 6365 3a20 tag reference: \n+0001c1f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c200: 2046 6f72 6d73 206f 6620 6465 6669 6e69 Forms of defini\n+0001c210: 7469 6f6e 732e 2028 6c69 6e65 2032 3029 tions. (line 20)\n+0001c220: 0a2a 203c 666f 6f3e 2c20 7461 6720 7265 .* , tag re\n+0001c230: 6665 7265 6e63 6520 3c31 3e3a 2020 2020 ference <1>: \n+0001c240: 2020 2020 2020 2020 2020 466f 726d 7320 Forms \n+0001c250: 6f66 2072 6566 6572 656e 6365 732e 2020 of references. \n+0001c260: 286c 696e 6520 3139 290a 2a20 7c58 7c2c (line 19).* |X|,\n+0001c270: 206d 6167 6e69 7475 6465 206f 7065 7261 magnitude opera\n+0001c280: 746f 723a 2020 2020 2020 2020 2020 2020 tor: \n+0001c290: 2020 2055 6e61 7279 2066 6f72 6d73 2e20 Unary forms. \n+0001c2a0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n+0001c2b0: 3229 0a2a 2061 636f 733a 2020 2020 2020 2).* acos: \n 0001c2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c2d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c2e0: 2020 556e 6172 7920 666f 726d 732e 2020 Unary forms. \n-0001c2f0: 2020 2020 2020 2020 286c 696e 6520 3138 (line 18\n-0001c300: 290a 2a20 6172 726f 7773 3a20 2020 2020 ).* arrows: \n+0001c2d0: 2020 2020 2020 2020 2020 2020 556e 6172 Unar\n+0001c2e0: 7920 666f 726d 732e 2020 2020 2020 2020 y forms. \n+0001c2f0: 2020 286c 696e 6520 3138 290a 2a20 6172 (line 18).* ar\n+0001c300: 726f 7773 3a20 2020 2020 2020 2020 2020 rows: \n 0001c310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c320: 2020 2020 2020 2020 2020 2041 6666 696e Affin\n-0001c330: 6520 6172 6974 686d 6574 6963 2e20 2020 e arithmetic. \n-0001c340: 2028 6c69 6e65 2031 3129 0a2a 2061 7272 (line 11).* arr\n-0001c350: 6f77 7320 3c31 3e3a 2020 2020 2020 2020 ows <1>: \n-0001c360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c370: 2020 2020 4166 6669 6e65 2061 7269 7468 Affine arith\n-0001c380: 6d65 7469 632e 2020 2020 286c 696e 6520 metic. (line \n-0001c390: 3238 290a 2a20 6172 726f 7773 203c 323e 28).* arrows <2>\n-0001c3a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001c3b0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n-0001c3c0: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n-0001c3d0: 2020 2028 6c69 6e65 2036 3929 0a2a 2061 (line 69).* a\n-0001c3e0: 7272 6f77 7320 3c33 3e3a 2020 2020 2020 rrows <3>: \n+0001c320: 2020 2020 2041 6666 696e 6520 6172 6974 Affine arit\n+0001c330: 686d 6574 6963 2e20 2020 2028 6c69 6e65 hmetic. (line\n+0001c340: 2031 3129 0a2a 2061 7272 6f77 7320 3c31 11).* arrows <1\n+0001c350: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001c360: 2020 2020 2020 2020 2020 2020 2020 4166 Af\n+0001c370: 6669 6e65 2061 7269 7468 6d65 7469 632e fine arithmetic.\n+0001c380: 2020 2020 286c 696e 6520 3238 290a 2a20 (line 28).* \n+0001c390: 6172 726f 7773 203c 323e 3a20 2020 2020 arrows <2>: \n+0001c3a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c3b0: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n+0001c3c0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001c3d0: 6e65 2036 3929 0a2a 2061 7272 6f77 7320 ne 69).* arrows \n+0001c3e0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: \n 0001c3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c400: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica\n-0001c410: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin\n-0001c420: 6520 3236 290a 2a20 6172 726f 7773 203c e 26).* arrows <\n-0001c430: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: \n-0001c440: 2020 2020 2020 2020 2020 2020 2020 2041 A\n-0001c450: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi\n-0001c460: 6e67 2e20 2028 6c69 6e65 2036 3829 0a2a ng. (line 68).*\n-0001c470: 2061 7369 6e3a 2020 2020 2020 2020 2020 asin: \n+0001c400: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n+0001c410: 696e 672e 2020 286c 696e 6520 3236 290a ing. (line 26).\n+0001c420: 2a20 6172 726f 7773 203c 343e 3a20 2020 * arrows <4>: \n+0001c430: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c440: 2020 2020 2020 2020 2041 2074 6563 686e A techn\n+0001c450: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. (\n+0001c460: 6c69 6e65 2036 3829 0a2a 2061 7369 6e3a line 68).* asin:\n+0001c470: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001c480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c490: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo\n-0001c4a0: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l\n-0001c4b0: 696e 6520 3137 290a 2a20 6174 616e 323a ine 17).* atan2:\n+0001c490: 2020 556e 6172 7920 666f 726d 732e 2020 Unary forms. \n+0001c4a0: 2020 2020 2020 2020 286c 696e 6520 3137 (line 17\n+0001c4b0: 290a 2a20 6174 616e 323a 2020 2020 2020 ).* atan2: \n 0001c4c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c4e0: 2055 6e61 7279 2066 6f72 6d73 2e20 2020 Unary forms. \n-0001c4f0: 2020 2020 2020 2028 6c69 6e65 2031 3929 (line 19)\n-0001c500: 0a2a 2063 616d 6572 613a 2020 2020 2020 .* camera: \n+0001c4d0: 2020 2020 2020 2020 2020 2055 6e61 7279 Unary\n+0001c4e0: 2066 6f72 6d73 2e20 2020 2020 2020 2020 forms. \n+0001c4f0: 2028 6c69 6e65 2031 3929 0a2a 2063 616d (line 19).* cam\n+0001c500: 6572 613a 2020 2020 2020 2020 2020 2020 era: \n 0001c510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c520: 2020 2020 2020 2020 2020 4361 6d65 7261 Camera\n-0001c530: 2e20 2020 2020 2020 2020 2020 2020 2020 . \n-0001c540: 286c 696e 6520 2036 290a 2a20 636f 6e74 (line 6).* cont\n-0001c550: 6578 743a 2020 2020 2020 2020 2020 2020 ext: \n-0001c560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c570: 2020 204c 616e 6775 6167 652e 2020 2020 Language. \n-0001c580: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-0001c590: 3729 0a2a 2063 6f73 3a20 2020 2020 2020 7).* cos: \n+0001c520: 2020 2020 4361 6d65 7261 2e20 2020 2020 Camera. \n+0001c530: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0001c540: 2036 290a 2a20 636f 6e74 6578 743a 2020 6).* context: \n+0001c550: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c560: 2020 2020 2020 2020 2020 2020 204c 616e Lan\n+0001c570: 6775 6167 652e 2020 2020 2020 2020 2020 guage. \n+0001c580: 2020 2028 6c69 6e65 2031 3729 0a2a 2063 (line 17).* c\n+0001c590: 6f73 3a20 2020 2020 2020 2020 2020 2020 os: \n 0001c5a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c5b0: 2020 2020 2020 2020 2020 2020 556e 6172 Unar\n-0001c5c0: 7920 666f 726d 732e 2020 2020 2020 2020 y forms. \n-0001c5d0: 2020 286c 696e 6520 3136 290a 2a20 6375 (line 16).* cu\n-0001c5e0: 6c6c 3a20 2020 2020 2020 2020 2020 2020 ll: \n-0001c5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c600: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s\n-0001c610: 6f6c 6964 2e20 2020 2020 2028 6c69 6e65 olid. (line\n-0001c620: 2034 3529 0a2a 2063 756c 6c20 3c31 3e3a 45).* cull <1>:\n+0001c5b0: 2020 2020 2020 556e 6172 7920 666f 726d Unary form\n+0001c5c0: 732e 2020 2020 2020 2020 2020 286c 696e s. (lin\n+0001c5d0: 6520 3136 290a 2a20 6375 6c6c 3a20 2020 e 16).* cull: \n+0001c5e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c5f0: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+0001c600: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. \n+0001c610: 2020 2020 2028 6c69 6e65 2034 3529 0a2a (line 45).*\n+0001c620: 2063 756c 6c20 3c31 3e3a 2020 2020 2020 cull <1>: \n 0001c630: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c640: 2020 2020 2020 2020 2020 2020 2020 506f Po\n-0001c650: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. \n-0001c660: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n-0001c670: 6375 6c6c 203c 323e 3a20 2020 2020 2020 cull <2>: \n+0001c640: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n+0001c650: 2073 7765 6570 732e 2020 2020 2020 286c sweeps. (l\n+0001c660: 696e 6520 2039 290a 2a20 6375 6c6c 203c ine 9).* cull <\n+0001c670: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n 0001c680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c690: 2020 2020 2020 2054 7261 6e73 7061 7265 Transpare\n-0001c6a0: 6e63 792e 2020 2020 2020 2020 2028 6c69 ncy. (li\n-0001c6b0: 6e65 2031 3529 0a2a 2063 756c 6c20 3c33 ne 15).* cull <3\n-0001c6c0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001c6d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c6e0: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n-0001c6f0: 696e 672e 2020 286c 696e 6520 3230 290a ing. (line 20).\n-0001c700: 2a20 6375 6c6c 203c 343e 3a20 2020 2020 * cull <4>: \n+0001c690: 2054 7261 6e73 7061 7265 6e63 792e 2020 Transparency. \n+0001c6a0: 2020 2020 2020 2028 6c69 6e65 2031 3529 (line 15)\n+0001c6b0: 0a2a 2063 756c 6c20 3c33 3e3a 2020 2020 .* cull <3>: \n+0001c6c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c6d0: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n+0001c6e0: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. \n+0001c6f0: 286c 696e 6520 3230 290a 2a20 6375 6c6c (line 20).* cull\n+0001c700: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n 0001c710: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c720: 2020 2020 2020 2020 2049 6e74 6572 6e61 Interna\n-0001c730: 6c20 6f70 7469 6f6e 732e 2020 2020 2028 l options. (\n-0001c740: 6c69 6e65 2020 3729 0a2a 2063 756c 6c20 line 7).* cull \n-0001c750: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n-0001c760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c770: 2020 476c 6f62 616c 206f 7074 696f 6e73 Global options\n-0001c780: 2e20 2020 2020 2020 286c 696e 6520 3133 . (line 13\n-0001c790: 290a 2a20 6375 7276 653a 2020 2020 2020 ).* curve: \n+0001c720: 2020 2049 6e74 6572 6e61 6c20 6f70 7469 Internal opti\n+0001c730: 6f6e 732e 2020 2020 2028 6c69 6e65 2020 ons. (line \n+0001c740: 3729 0a2a 2063 756c 6c20 3c35 3e3a 2020 7).* cull <5>: \n+0001c750: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c760: 2020 2020 2020 2020 2020 2020 476c 6f62 Glob\n+0001c770: 616c 206f 7074 696f 6e73 2e20 2020 2020 al options. \n+0001c780: 2020 286c 696e 6520 3133 290a 2a20 6375 (line 13).* cu\n+0001c790: 7276 653a 2020 2020 2020 2020 2020 2020 rve: \n 0001c7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c7b0: 2020 2020 2020 2020 2020 2043 7572 7665 Curve\n-0001c7c0: 732e 2020 2020 2020 2020 2020 2020 2020 s. \n-0001c7d0: 2028 6c69 6e65 2020 3629 0a2a 2064 6566 (line 6).* def\n-0001c7e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001c7f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c800: 2020 2020 4472 6177 696e 6720 6120 736f Drawing a so\n-0001c810: 6c69 642e 2020 2020 2020 286c 696e 6520 lid. (line \n-0001c820: 2039 290a 2a20 6465 6620 3c31 3e3a 2020 9).* def <1>: \n+0001c7b0: 2020 2020 2043 7572 7665 732e 2020 2020 Curves. \n+0001c7c0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001c7d0: 2020 3629 0a2a 2064 6566 3a20 2020 2020 6).* def: \n+0001c7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c7f0: 2020 2020 2020 2020 2020 2020 2020 4472 Dr\n+0001c800: 6177 696e 6720 6120 736f 6c69 642e 2020 awing a solid. \n+0001c810: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n+0001c820: 6465 6620 3c31 3e3a 2020 2020 2020 2020 def <1>: \n 0001c830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c840: 2020 2020 2020 2020 2020 2020 2044 7261 Dra\n-0001c850: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. \n-0001c860: 2020 2028 6c69 6e65 2032 3229 0a2a 2064 (line 22).* d\n-0001c870: 6566 203c 323e 3a20 2020 2020 2020 2020 ef <2>: \n+0001c840: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a\n+0001c850: 2073 6f6c 6964 2e20 2020 2020 2028 6c69 solid. (li\n+0001c860: 6e65 2032 3229 0a2a 2064 6566 203c 323e ne 22).* def <2>\n+0001c870: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n 0001c880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c890: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra\n-0001c8a0: 6e73 666f 726d 732e 2020 2020 286c 696e nsforms. (lin\n-0001c8b0: 6520 3130 290a 2a20 6465 6620 3c33 3e3a e 10).* def <3>:\n+0001c890: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform\n+0001c8a0: 732e 2020 2020 286c 696e 6520 3130 290a s. (line 10).\n+0001c8b0: 2a20 6465 6620 3c33 3e3a 2020 2020 2020 * def <3>: \n 0001c8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c8d0: 2020 2020 2020 2020 2020 2020 2020 2050 P\n-0001c8e0: 6f69 6e74 2073 7765 6570 732e 2020 2020 oint sweeps. \n-0001c8f0: 2020 2020 2028 6c69 6e65 2031 3929 0a2a (line 19).*\n-0001c900: 2064 6566 203c 343e 3a20 2020 2020 2020 def <4>: \n+0001c8d0: 2020 2020 2020 2020 2050 6f69 6e74 2073 Point s\n+0001c8e0: 7765 6570 732e 2020 2020 2020 2020 2028 weeps. (\n+0001c8f0: 6c69 6e65 2031 3929 0a2a 2064 6566 203c line 19).* def <\n+0001c900: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: \n 0001c910: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c920: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n-0001c930: 2073 7765 6570 732e 2020 2020 2020 286c sweeps. (l\n-0001c940: 696e 6520 2039 290a 2a20 6465 6620 3c35 ine 9).* def <5\n-0001c950: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001c960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c970: 204e 6573 7465 6420 7377 6565 7073 2e20 Nested sweeps. \n-0001c980: 2020 2020 2020 2028 6c69 6e65 2020 3829 (line 8)\n-0001c990: 0a2a 2064 6566 203c 363e 3a20 2020 2020 .* def <6>: \n+0001c920: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n+0001c930: 732e 2020 2020 2020 286c 696e 6520 2039 s. (line 9\n+0001c940: 290a 2a20 6465 6620 3c35 3e3a 2020 2020 ).* def <5>: \n+0001c950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c960: 2020 2020 2020 2020 2020 204e 6573 7465 Neste\n+0001c970: 6420 7377 6565 7073 2e20 2020 2020 2020 d sweeps. \n+0001c980: 2028 6c69 6e65 2020 3829 0a2a 2064 6566 (line 8).* def\n+0001c990: 203c 363e 3a20 2020 2020 2020 2020 2020 <6>: \n 0001c9a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c9b0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli\n-0001c9c0: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c\n-0001c9d0: 6c6f 7375 7265 2e0a 2020 2020 2020 2020 losure.. \n+0001c9b0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n+0001c9c0: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure\n+0001c9d0: 2e0a 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 2020 2020 2028 6c69 6e65 2031 3029 (line 10)\n-0001ca20: 0a2a 2064 6566 203c 373e 3a20 2020 2020 .* def <7>: \n+0001ca10: 2028 6c69 6e65 2031 3029 0a2a 2064 6566 (line 10).* def\n+0001ca20: 203c 373e 3a20 2020 2020 2020 2020 2020 <7>: \n 0001ca30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ca40: 2020 2020 2020 2020 2020 4166 6669 6e65 Affine\n-0001ca50: 2061 7269 7468 6d65 7469 632e 2020 2020 arithmetic. \n-0001ca60: 286c 696e 6520 3131 290a 2a20 6465 6620 (line 11).* def \n-0001ca70: 3c38 3e3a 2020 2020 2020 2020 2020 2020 <8>: \n-0001ca80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ca90: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n-0001caa0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-0001cab0: 3229 0a2a 2064 6566 203c 393e 3a20 2020 2).* def <9>: \n+0001ca40: 2020 2020 4166 6669 6e65 2061 7269 7468 Affine arith\n+0001ca50: 6d65 7469 632e 2020 2020 286c 696e 6520 metic. (line \n+0001ca60: 3131 290a 2a20 6465 6620 3c38 3e3a 2020 11).* def <8>: \n+0001ca70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ca80: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n+0001ca90: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n+0001caa0: 2020 2028 6c69 6e65 2031 3229 0a2a 2064 (line 12).* d\n+0001cab0: 6566 203c 393e 3a20 2020 2020 2020 2020 ef <9>: \n 0001cac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cad0: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n-0001cae0: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n-0001caf0: 2020 286c 696e 6520 3337 290a 2a20 6465 (line 37).* de\n-0001cb00: 6620 3c31 303e 3a20 2020 2020 2020 2020 f <10>: \n-0001cb10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cb20: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n-0001cb30: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0001cb40: 2036 3929 0a2a 2064 6566 203c 3131 3e3a 69).* def <11>:\n+0001cad0: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n+0001cae0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001caf0: 6520 3337 290a 2a20 6465 6620 3c31 303e e 37).* def <10>\n+0001cb00: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001cb10: 2020 2020 2020 2020 2020 2020 2020 204f O\n+0001cb20: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n+0001cb30: 2020 2020 2028 6c69 6e65 2036 3929 0a2a (line 69).*\n+0001cb40: 2064 6566 203c 3131 3e3a 2020 2020 2020 def <11>: \n 0001cb50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cb60: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-0001cb70: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n-0001cb80: 672e 2020 286c 696e 6520 3134 290a 2a20 g. (line 14).* \n-0001cb90: 6465 6620 3c31 323e 3a20 2020 2020 2020 def <12>: \n+0001cb60: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni\n+0001cb70: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l\n+0001cb80: 696e 6520 3134 290a 2a20 6465 6620 3c31 ine 14).* def <1\n+0001cb90: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n 0001cba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cbb0: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n-0001cbc0: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li\n-0001cbd0: 6e65 2032 3629 0a2a 2064 6566 203c 3133 ne 26).* def <13\n-0001cbe0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001cbf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cc00: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n-0001cc10: 696e 672e 2020 286c 696e 6520 3431 290a ing. (line 41).\n-0001cc20: 2a20 6465 6620 3c31 343e 3a20 2020 2020 * def <14>: \n+0001cbb0: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n+0001cbc0: 7769 6e67 2e20 2028 6c69 6e65 2032 3629 wing. (line 26)\n+0001cbd0: 0a2a 2064 6566 203c 3133 3e3a 2020 2020 .* def <13>: \n+0001cbe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cbf0: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n+0001cc00: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. \n+0001cc10: 286c 696e 6520 3431 290a 2a20 6465 6620 (line 41).* def \n+0001cc20: 3c31 343e 3a20 2020 2020 2020 2020 2020 <14>: \n 0001cc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cc40: 2020 2020 2020 2020 2041 2074 6563 686e A techn\n-0001cc50: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. (\n-0001cc60: 6c69 6e65 2036 3829 0a2a 2064 6566 203c line 68).* def <\n-0001cc70: 3135 3e3a 2020 2020 2020 2020 2020 2020 15>: \n-0001cc80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cc90: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr\n-0001cca0: 6177 696e 672e 2020 286c 696e 6520 3935 awing. (line 95\n-0001ccb0: 290a 2a20 6465 6620 3c31 363e 3a20 2020 ).* def <16>: \n+0001cc40: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n+0001cc50: 7261 7769 6e67 2e20 2028 6c69 6e65 2036 rawing. (line 6\n+0001cc60: 3829 0a2a 2064 6566 203c 3135 3e3a 2020 8).* def <15>: \n+0001cc70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cc80: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n+0001cc90: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n+0001cca0: 2020 286c 696e 6520 3935 290a 2a20 6465 (line 95).* de\n+0001ccb0: 6620 3c31 363e 3a20 2020 2020 2020 2020 f <16>: \n 0001ccc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ccd0: 2020 2020 2020 2020 2020 2041 2068 6965 A hie\n-0001cce0: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model.\n-0001ccf0: 2028 6c69 6e65 2031 3029 0a2a 2064 6566 (line 10).* def\n-0001cd00: 203c 3137 3e3a 2020 2020 2020 2020 2020 <17>: \n-0001cd10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cd20: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic\n-0001cd30: 616c 206d 6f64 656c 2e20 286c 696e 6520 al model. (line \n-0001cd40: 3233 290a 2a20 6465 6620 3c31 383e 3a20 23).* def <18>: \n+0001ccd0: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi\n+0001cce0: 6361 6c20 6d6f 6465 6c2e 2028 6c69 6e65 cal model. (line\n+0001ccf0: 2031 3029 0a2a 2064 6566 203c 3137 3e3a 10).* def <17>:\n+0001cd00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cd10: 2020 2020 2020 2020 2020 2020 2020 4120 A \n+0001cd20: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod\n+0001cd30: 656c 2e20 286c 696e 6520 3233 290a 2a20 el. (line 23).* \n+0001cd40: 6465 6620 3c31 383e 3a20 2020 2020 2020 def <18>: \n 0001cd50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cd60: 2020 2020 2020 2020 2020 2020 2041 2068 A h\n-0001cd70: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n-0001cd80: 6c2e 2028 6c69 6e65 2033 3229 0a2a 2064 l. (line 32).* d\n-0001cd90: 6f74 733a 2020 2020 2020 2020 2020 2020 ots: \n+0001cd60: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc\n+0001cd70: 6869 6361 6c20 6d6f 6465 6c2e 2028 6c69 hical model. (li\n+0001cd80: 6e65 2033 3229 0a2a 2064 6f74 733a 2020 ne 32).* dots: \n+0001cd90: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001cda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cdb0: 2020 2020 2020 446f 7473 2e20 2020 2020 Dots. \n-0001cdc0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0001cdd0: 6520 2036 290a 2a20 6669 6c6c 206f 7061 e 6).* fill opa\n-0001cde0: 6369 7479 3a20 2020 2020 2020 2020 2020 city: \n-0001cdf0: 2020 2020 2020 2020 2020 2020 2020 2054 T\n-0001ce00: 7261 6e73 7061 7265 6e63 792e 2020 2020 ransparency. \n-0001ce10: 2020 2020 2028 6c69 6e65 2031 3029 0a2a (line 10).*\n-0001ce20: 2066 696c 6c20 7374 796c 653a 2020 2020 fill style: \n+0001cdb0: 446f 7473 2e20 2020 2020 2020 2020 2020 Dots. \n+0001cdc0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0001cdd0: 2a20 6669 6c6c 206f 7061 6369 7479 3a20 * fill opacity: \n+0001cde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cdf0: 2020 2020 2020 2020 2054 7261 6e73 7061 Transpa\n+0001ce00: 7265 6e63 792e 2020 2020 2020 2020 2028 rency. (\n+0001ce10: 6c69 6e65 2031 3029 0a2a 2066 696c 6c20 line 10).* fill \n+0001ce20: 7374 796c 653a 2020 2020 2020 2020 2020 style: \n 0001ce30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ce40: 2020 2020 2020 2020 5469 6b5a 2f50 4746 TikZ/PGF\n-0001ce50: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st\n-0001ce60: 796c 6573 2e0a 2020 2020 2020 2020 2020 yles.. \n+0001ce40: 2020 5469 6b5a 2f50 4746 2075 7365 722d TikZ/PGF user-\n+0001ce50: 6465 6669 6e65 6420 7374 796c 6573 2e0a defined 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: 2020 2020 2028 6c69 6e65 2032 3529 0a2a (line 25).*\n-0001ceb0: 2066 696c 6c63 6f6c 6f72 3a20 2020 2020 fillcolor: \n+0001ce90: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0001cea0: 6c69 6e65 2032 3529 0a2a 2066 696c 6c63 line 25).* fillc\n+0001ceb0: 6f6c 6f72 3a20 2020 2020 2020 2020 2020 olor: \n 0001cec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ced0: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t\n-0001cee0: 7261 6e73 666f 726d 732e 2020 2020 286c ransforms. (l\n-0001cef0: 696e 6520 3130 290a 2a20 6669 6c6c 636f ine 10).* fillco\n-0001cf00: 6c6f 7220 3c31 3e3a 2020 2020 2020 2020 lor <1>: \n-0001cf10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cf20: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-0001cf30: 2077 6974 6820 636c 6f73 7572 652e 0a20 with closure.. \n+0001ced0: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n+0001cee0: 726d 732e 2020 2020 286c 696e 6520 3130 rms. (line 10\n+0001cef0: 290a 2a20 6669 6c6c 636f 6c6f 7220 3c31 ).* fillcolor <1\n+0001cf00: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001cf10: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl\n+0001cf20: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with \n+0001cf30: 636c 6f73 7572 652e 0a20 2020 2020 2020 closure.. \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 2020 2020 286c (l\n-0001cf80: 696e 6520 3130 290a 2a20 6669 6c6c 636f ine 10).* fillco\n-0001cf90: 6c6f 7220 3c32 3e3a 2020 2020 2020 2020 lor <2>: \n-0001cfa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cfb0: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. \n-0001cfc0: 2020 2020 2020 2028 6c69 6e65 2033 3729 (line 37)\n-0001cfd0: 0a2a 2066 7261 6d65 3a20 2020 2020 2020 .* frame: \n+0001cf70: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10\n+0001cf80: 290a 2a20 6669 6c6c 636f 6c6f 7220 3c32 ).* fillcolor <2\n+0001cf90: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001cfa0: 2020 2020 2020 2020 2020 204f 7665 7276 Overv\n+0001cfb0: 6965 772e 2020 2020 2020 2020 2020 2020 iew. \n+0001cfc0: 2028 6c69 6e65 2033 3729 0a2a 2066 7261 (line 37).* fra\n+0001cfd0: 6d65 3a20 2020 2020 2020 2020 2020 2020 me: \n 0001cfe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cff0: 2020 2020 2020 2020 2020 4672 616d 652e Frame.\n-0001d000: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d010: 286c 696e 6520 2036 290a 2a20 6672 616d (line 6).* fram\n-0001d020: 6573 6570 3a20 2020 2020 2020 2020 2020 esep: \n-0001d030: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d040: 2020 2046 7261 6d65 2e20 2020 2020 2020 Frame. \n-0001d050: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-0001d060: 3129 0a2a 2067 6c6f 6261 6c3a 2020 2020 1).* global: \n+0001cff0: 2020 2020 4672 616d 652e 2020 2020 2020 Frame. \n+0001d000: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0001d010: 2036 290a 2a20 6672 616d 6573 6570 3a20 6).* framesep: \n+0001d020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d030: 2020 2020 2020 2020 2020 2020 2046 7261 Fra\n+0001d040: 6d65 2e20 2020 2020 2020 2020 2020 2020 me. \n+0001d050: 2020 2028 6c69 6e65 2031 3129 0a2a 2067 (line 11).* g\n+0001d060: 6c6f 6261 6c3a 2020 2020 2020 2020 2020 lobal: \n 0001d070: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d080: 2020 2020 2020 2020 2020 2020 476c 6f62 Glob\n-0001d090: 616c 2065 6e76 6972 6f6e 6d65 6e74 2e20 al environment. \n-0001d0a0: 2020 286c 696e 6520 3132 290a 2a20 696e (line 12).* in\n-0001d0b0: 7075 743a 2020 2020 2020 2020 2020 2020 put: \n-0001d0c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d0d0: 2020 2020 204c 616e 6775 6167 6520 6261 Language ba\n-0001d0e0: 7369 6373 2e20 2020 2020 2028 6c69 6e65 sics. (line\n-0001d0f0: 2031 3929 0a2a 2069 6e76 6572 7365 3a20 19).* inverse: \n+0001d080: 2020 2020 2020 476c 6f62 616c 2065 6e76 Global env\n+0001d090: 6972 6f6e 6d65 6e74 2e20 2020 286c 696e ironment. (lin\n+0001d0a0: 6520 3132 290a 2a20 696e 7075 743a 2020 e 12).* input: \n+0001d0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d0c0: 2020 2020 2020 2020 2020 2020 2020 204c L\n+0001d0d0: 616e 6775 6167 6520 6261 7369 6373 2e20 anguage basics. \n+0001d0e0: 2020 2020 2028 6c69 6e65 2031 3929 0a2a (line 19).*\n+0001d0f0: 2069 6e76 6572 7365 3a20 2020 2020 2020 inverse: \n 0001d100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d110: 2020 2020 2020 2020 2020 2020 2020 556e Un\n-0001d120: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. \n-0001d130: 2020 2020 286c 696e 6520 3231 290a 2a20 (line 21).* \n-0001d140: 6c61 6e67 7561 6765 3a20 2020 2020 2020 language: \n+0001d110: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo\n+0001d120: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l\n+0001d130: 696e 6520 3231 290a 2a20 6c61 6e67 7561 ine 21).* langua\n+0001d140: 6765 3a20 2020 2020 2020 2020 2020 2020 ge: \n 0001d150: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d160: 2020 2020 2020 204c 616e 6775 6167 652e Language.\n-0001d170: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0001d180: 6e65 2020 3629 0a2a 206c 6174 6578 3a20 ne 6).* latex: \n+0001d160: 204c 616e 6775 6167 652e 2020 2020 2020 Language. \n+0001d170: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+0001d180: 0a2a 206c 6174 6578 3a20 2020 2020 2020 .* latex: \n 0001d190: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d1a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d1b0: 4c61 6e67 7561 6765 2e20 2020 2020 2020 Language. \n-0001d1c0: 2020 2020 2020 286c 696e 6520 3137 290a (line 17).\n-0001d1d0: 2a20 6c61 793a 2020 2020 2020 2020 2020 * lay: \n+0001d1a0: 2020 2020 2020 2020 2020 4c61 6e67 7561 Langua\n+0001d1b0: 6765 2e20 2020 2020 2020 2020 2020 2020 ge. \n+0001d1c0: 286c 696e 6520 3137 290a 2a20 6c61 793a (line 17).* lay:\n+0001d1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001d1e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d1f0: 2020 2020 2020 2020 2053 7065 6369 616c Special\n-0001d200: 206f 626a 6563 7473 2e20 2020 2020 2028 objects. (\n-0001d210: 6c69 6e65 2034 3829 0a2a 206c 6179 203c line 48).* lay <\n-0001d220: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0001d230: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d240: 2020 5469 6b5a 2f50 4746 2075 7365 722d TikZ/PGF user-\n-0001d250: 6465 6669 6e65 6420 7374 796c 6573 2e0a defined styles..\n+0001d1f0: 2020 2053 7065 6369 616c 206f 626a 6563 Special objec\n+0001d200: 7473 2e20 2020 2020 2028 6c69 6e65 2034 ts. (line 4\n+0001d210: 3829 0a2a 206c 6179 203c 313e 3a20 2020 8).* lay <1>: \n+0001d220: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d230: 2020 2020 2020 2020 2020 2020 5469 6b5a TikZ\n+0001d240: 2f50 4746 2075 7365 722d 6465 6669 6e65 /PGF user-define\n+0001d250: 6420 7374 796c 6573 2e0a 2020 2020 2020 d styles.. \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 2020 2020 2028 (\n-0001d2a0: 6c69 6e65 2033 3629 0a2a 206c 6179 203c line 36).* lay <\n-0001d2b0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n-0001d2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d2d0: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr\n-0001d2e0: 6177 696e 672e 2020 286c 696e 6520 3236 awing. (line 26\n-0001d2f0: 290a 2a20 6c61 7920 3c33 3e3a 2020 2020 ).* lay <3>: \n+0001d290: 2020 2020 2020 2020 2028 6c69 6e65 2033 (line 3\n+0001d2a0: 3629 0a2a 206c 6179 203c 323e 3a20 2020 6).* lay <2>: \n+0001d2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d2c0: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n+0001d2d0: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n+0001d2e0: 2020 286c 696e 6520 3236 290a 2a20 6c61 (line 26).* la\n+0001d2f0: 7920 3c33 3e3a 2020 2020 2020 2020 2020 y <3>: \n 0001d300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d310: 2020 2020 2020 2020 2020 2041 2074 6563 A tec\n-0001d320: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. \n-0001d330: 2028 6c69 6e65 2032 3629 0a2a 206c 6179 (line 26).* lay\n-0001d340: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n-0001d350: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d360: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n-0001d370: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n-0001d380: 3935 290a 2a20 6c61 7920 3c35 3e3a 2020 95).* lay <5>: \n+0001d310: 2020 2020 2041 2074 6563 686e 6963 616c A technical\n+0001d320: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line\n+0001d330: 2032 3629 0a2a 206c 6179 203c 343e 3a20 26).* lay <4>: \n+0001d340: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d350: 2020 2020 2020 2020 2020 2020 2020 4120 A \n+0001d360: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n+0001d370: 672e 2020 286c 696e 6520 3935 290a 2a20 g. (line 95).* \n+0001d380: 6c61 7920 3c35 3e3a 2020 2020 2020 2020 lay <5>: \n 0001d390: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d3a0: 2020 2020 2020 2020 2020 2020 2049 6e74 Int\n-0001d3b0: 6572 6e61 6c20 6f70 7469 6f6e 732e 2020 ernal options. \n-0001d3c0: 2020 2028 6c69 6e65 2020 3729 0a2a 206c (line 7).* l\n-0001d3d0: 6179 203c 363e 3a20 2020 2020 2020 2020 ay <6>: \n+0001d3a0: 2020 2020 2020 2049 6e74 6572 6e61 6c20 Internal \n+0001d3b0: 6f70 7469 6f6e 732e 2020 2020 2028 6c69 options. (li\n+0001d3c0: 6e65 2020 3729 0a2a 206c 6179 203c 363e ne 7).* lay <6>\n+0001d3d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n 0001d3e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d3f0: 2020 2020 2020 5370 6563 6961 6c73 2e20 Specials. \n-0001d400: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0001d410: 6520 3432 290a 2a20 6c61 7920 3c37 3e3a e 42).* lay <7>:\n+0001d3f0: 5370 6563 6961 6c73 2e20 2020 2020 2020 Specials. \n+0001d400: 2020 2020 2020 286c 696e 6520 3432 290a (line 42).\n+0001d410: 2a20 6c61 7920 3c37 3e3a 2020 2020 2020 * lay <7>: \n 0001d420: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d430: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0001d440: 6c6f 6261 6c20 6f70 7469 6f6e 732e 2020 lobal options. \n-0001d450: 2020 2020 2028 6c69 6e65 2031 3329 0a2a (line 13).*\n-0001d460: 206c 696e 653a 2020 2020 2020 2020 2020 line: \n+0001d430: 2020 2020 2020 2020 2047 6c6f 6261 6c20 Global \n+0001d440: 6f70 7469 6f6e 732e 2020 2020 2020 2028 options. (\n+0001d450: 6c69 6e65 2031 3329 0a2a 206c 696e 653a line 13).* line:\n+0001d460: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001d470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d480: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n-0001d490: 6f70 7469 6f6e 732e 2020 2020 2020 286c options. (l\n-0001d4a0: 696e 6520 2037 290a 2a20 6c69 6e65 203c ine 7).* line <\n-0001d4b0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0001d4c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d4d0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n-0001d4e0: 6d73 2e20 2020 2028 6c69 6e65 2031 3029 ms. (line 10)\n-0001d4f0: 0a2a 206c 696e 6520 3c32 3e3a 2020 2020 .* line <2>: \n+0001d480: 2020 4472 6177 696e 6720 6f70 7469 6f6e Drawing option\n+0001d490: 732e 2020 2020 2020 286c 696e 6520 2037 s. (line 7\n+0001d4a0: 290a 2a20 6c69 6e65 203c 313e 3a20 2020 ).* line <1>: \n+0001d4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d4c0: 2020 2020 2020 2020 2020 204f 626a 6563 Objec\n+0001d4d0: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. \n+0001d4e0: 2028 6c69 6e65 2031 3029 0a2a 206c 696e (line 10).* lin\n+0001d4f0: 6520 3c32 3e3a 2020 2020 2020 2020 2020 e <2>: \n 0001d500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d510: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli\n-0001d520: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c\n-0001d530: 6c6f 7375 7265 2e0a 2020 2020 2020 2020 losure.. \n+0001d510: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n+0001d520: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure\n+0001d530: 2e0a 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 2020 2020 2028 6c69 6e65 2031 3029 (line 10)\n-0001d580: 0a2a 206c 696e 6520 3c33 3e3a 2020 2020 .* line <3>: \n+0001d570: 2028 6c69 6e65 2031 3029 0a2a 206c 696e (line 10).* lin\n+0001d580: 6520 3c33 3e3a 2020 2020 2020 2020 2020 e <3>: \n 0001d590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d5a0: 2020 2020 2020 2020 2020 4166 6669 6e65 Affine\n-0001d5b0: 2061 7269 7468 6d65 7469 632e 2020 2020 arithmetic. \n-0001d5c0: 286c 696e 6520 3131 290a 2a20 6c69 6e65 (line 11).* line\n-0001d5d0: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n-0001d5e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d5f0: 2020 204c 696e 6573 2e20 2020 2020 2020 Lines. \n-0001d600: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0001d610: 3629 0a2a 206c 696e 6520 3c35 3e3a 2020 6).* line <5>: \n+0001d5a0: 2020 2020 4166 6669 6e65 2061 7269 7468 Affine arith\n+0001d5b0: 6d65 7469 632e 2020 2020 286c 696e 6520 metic. (line \n+0001d5c0: 3131 290a 2a20 6c69 6e65 203c 343e 3a20 11).* line <4>: \n+0001d5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d5e0: 2020 2020 2020 2020 2020 2020 204c 696e Lin\n+0001d5f0: 6573 2e20 2020 2020 2020 2020 2020 2020 es. \n+0001d600: 2020 2028 6c69 6e65 2020 3629 0a2a 206c (line 6).* l\n+0001d610: 696e 6520 3c35 3e3a 2020 2020 2020 2020 ine <5>: \n 0001d620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d630: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-0001d640: 7420 626c 6f63 6b73 2e20 2020 2020 2020 t blocks. \n-0001d650: 2020 286c 696e 6520 2037 290a 2a20 6c69 (line 7).* li\n-0001d660: 6e65 203c 363e 3a20 2020 2020 2020 2020 ne <6>: \n-0001d670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d680: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n-0001d690: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0001d6a0: 2036 3929 0a2a 206c 696e 6520 3c37 3e3a 69).* line <7>:\n+0001d630: 2020 2020 2020 5377 6570 7420 626c 6f63 Swept bloc\n+0001d640: 6b73 2e20 2020 2020 2020 2020 286c 696e ks. (lin\n+0001d650: 6520 2037 290a 2a20 6c69 6e65 203c 363e e 7).* line <6>\n+0001d660: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001d670: 2020 2020 2020 2020 2020 2020 2020 204f O\n+0001d680: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n+0001d690: 2020 2020 2028 6c69 6e65 2036 3929 0a2a (line 69).*\n+0001d6a0: 206c 696e 6520 3c37 3e3a 2020 2020 2020 line <7>: \n 0001d6b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d6c0: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-0001d6d0: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n-0001d6e0: 672e 2020 286c 696e 6520 3230 290a 2a20 g. (line 20).* \n-0001d6f0: 6c69 6e65 203c 383e 3a20 2020 2020 2020 line <8>: \n+0001d6c0: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni\n+0001d6d0: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l\n+0001d6e0: 696e 6520 3230 290a 2a20 6c69 6e65 203c ine 20).* line <\n+0001d6f0: 383e 3a20 2020 2020 2020 2020 2020 2020 8>: \n 0001d700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d710: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n-0001d720: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li\n-0001d730: 6e65 2032 3629 0a2a 206c 696e 6520 3c39 ne 26).* line <9\n-0001d740: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001d750: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d760: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n-0001d770: 696e 672e 2020 286c 696e 6520 3431 290a ing. (line 41).\n-0001d780: 2a20 6c69 6e65 203c 3130 3e3a 2020 2020 * line <10>: \n+0001d710: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n+0001d720: 7769 6e67 2e20 2028 6c69 6e65 2032 3629 wing. (line 26)\n+0001d730: 0a2a 206c 696e 6520 3c39 3e3a 2020 2020 .* line <9>: \n+0001d740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d750: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n+0001d760: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. \n+0001d770: 286c 696e 6520 3431 290a 2a20 6c69 6e65 (line 41).* line\n+0001d780: 203c 3130 3e3a 2020 2020 2020 2020 2020 <10>: \n 0001d790: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d7a0: 2020 2020 2020 2020 2041 2074 6563 686e A techn\n-0001d7b0: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. (\n-0001d7c0: 6c69 6e65 2036 3829 0a2a 206c 696e 6520 line 68).* line \n-0001d7d0: 3c31 313e 3a20 2020 2020 2020 2020 2020 <11>: \n-0001d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d7f0: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical\n-0001d800: 206d 6f64 656c 2e20 286c 696e 6520 3130 model. (line 10\n-0001d810: 290a 2a20 6c69 6e65 2073 7479 6c65 3a20 ).* line style: \n+0001d7a0: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n+0001d7b0: 7261 7769 6e67 2e20 2028 6c69 6e65 2036 rawing. (line 6\n+0001d7c0: 3829 0a2a 206c 696e 6520 3c31 313e 3a20 8).* line <11>: \n+0001d7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d7e0: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n+0001d7f0: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n+0001d800: 2e20 286c 696e 6520 3130 290a 2a20 6c69 . (line 10).* li\n+0001d810: 6e65 2073 7479 6c65 3a20 2020 2020 2020 ne style: \n 0001d820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d830: 2020 2020 2020 2020 2020 2054 696b 5a2f TikZ/\n-0001d840: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined\n-0001d850: 2073 7479 6c65 732e 0a20 2020 2020 2020 styles.. \n+0001d830: 2020 2020 2054 696b 5a2f 5047 4620 7573 TikZ/PGF us\n+0001d840: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style\n+0001d850: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \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 2020 2020 286c 696e 6520 3235 (line 25\n-0001d8a0: 290a 2a20 6c69 6e65 636f 6c6f 723a 2020 ).* linecolor: \n+0001d890: 2020 286c 696e 6520 3235 290a 2a20 6c69 (line 25).* li\n+0001d8a0: 6e65 636f 6c6f 723a 2020 2020 2020 2020 necolor: \n 0001d8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d8c0: 2020 2020 2020 2020 2020 204f 626a 6563 Objec\n-0001d8d0: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. \n-0001d8e0: 2028 6c69 6e65 2031 3029 0a2a 206c 696e (line 10).* lin\n-0001d8f0: 6563 6f6c 6f72 203c 313e 3a20 2020 2020 ecolor <1>: \n-0001d900: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d910: 2020 2020 4672 616d 652e 2020 2020 2020 Frame. \n-0001d920: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001d930: 3130 290a 2a20 6c69 6e65 636f 6c6f 7220 10).* linecolor \n-0001d940: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n-0001d950: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n-0001d960: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n-0001d970: 2020 2028 6c69 6e65 2036 3929 0a2a 206c (line 69).* l\n-0001d980: 696e 6573 7479 6c65 3a20 2020 2020 2020 inestyle: \n+0001d8c0: 2020 2020 204f 626a 6563 7420 7472 616e Object tran\n+0001d8d0: 7366 6f72 6d73 2e20 2020 2028 6c69 6e65 sforms. (line\n+0001d8e0: 2031 3029 0a2a 206c 696e 6563 6f6c 6f72 10).* linecolor\n+0001d8f0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+0001d900: 2020 2020 2020 2020 2020 2020 2020 4672 Fr\n+0001d910: 616d 652e 2020 2020 2020 2020 2020 2020 ame. \n+0001d920: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n+0001d930: 6c69 6e65 636f 6c6f 7220 3c32 3e3a 2020 linecolor <2>: \n+0001d940: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d950: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n+0001d960: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001d970: 6e65 2036 3929 0a2a 206c 696e 6573 7479 ne 69).* linesty\n+0001d980: 6c65 3a20 2020 2020 2020 2020 2020 2020 le: \n 0001d990: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d9a0: 2020 2020 2020 4672 616d 652e 2020 2020 Frame. \n-0001d9b0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0001d9c0: 6520 3130 290a 2a20 6c69 6e65 7374 796c e 10).* linestyl\n-0001d9d0: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: \n-0001d9e0: 2020 2020 2020 2020 2020 2020 2020 204f O\n-0001d9f0: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n-0001da00: 2020 2020 2028 6c69 6e65 2036 3929 0a2a (line 69).*\n-0001da10: 206c 696e 6573 7479 6c65 203c 323e 3a20 linestyle <2>: \n+0001d9a0: 4672 616d 652e 2020 2020 2020 2020 2020 Frame. \n+0001d9b0: 2020 2020 2020 286c 696e 6520 3130 290a (line 10).\n+0001d9c0: 2a20 6c69 6e65 7374 796c 6520 3c31 3e3a * linestyle <1>:\n+0001d9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d9e0: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n+0001d9f0: 772e 2020 2020 2020 2020 2020 2020 2028 w. (\n+0001da00: 6c69 6e65 2036 3929 0a2a 206c 696e 6573 line 69).* lines\n+0001da10: 7479 6c65 203c 323e 3a20 2020 2020 2020 tyle <2>: \n 0001da20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001da30: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni\n-0001da40: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l\n-0001da50: 696e 6520 3236 290a 2a20 6c69 6e65 7374 ine 26).* linest\n-0001da60: 796c 6520 3c33 3e3a 2020 2020 2020 2020 yle <3>: \n-0001da70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001da80: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal\n-0001da90: 6965 732e 2020 2028 6c69 6e65 2020 3729 ies. (line 7)\n-0001daa0: 0a2a 206c 696e 6577 6964 7468 3a20 2020 .* linewidth: \n+0001da30: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr\n+0001da40: 6177 696e 672e 2020 286c 696e 6520 3236 awing. (line 26\n+0001da50: 290a 2a20 6c69 6e65 7374 796c 6520 3c33 ).* linestyle <3\n+0001da60: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001da70: 2020 2020 2020 2020 2020 2042 7567 7320 Bugs \n+0001da80: 616e 6420 616e 6f6d 616c 6965 732e 2020 and anomalies. \n+0001da90: 2028 6c69 6e65 2020 3729 0a2a 206c 696e (line 7).* lin\n+0001daa0: 6577 6964 7468 3a20 2020 2020 2020 2020 ewidth: \n 0001dab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dac0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli\n-0001dad0: 6e65 2073 7765 6570 732e 2020 2020 2020 ne sweeps. \n-0001dae0: 286c 696e 6520 2039 290a 2a20 6c69 6e65 (line 9).* line\n-0001daf0: 7769 6474 6820 3c31 3e3a 2020 2020 2020 width <1>: \n-0001db00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001db10: 2020 2046 7261 6d65 2e20 2020 2020 2020 Frame. \n-0001db20: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-0001db30: 3029 0a2a 206c 696e 6577 6964 7468 203c 0).* linewidth <\n-0001db40: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n-0001db50: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n-0001db60: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n-0001db70: 2020 286c 696e 6520 3639 290a 2a20 6c69 (line 69).* li\n-0001db80: 6e65 7769 6474 6820 3c33 3e3a 2020 2020 newidth <3>: \n-0001db90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dba0: 2020 2020 2041 2074 6563 686e 6963 616c A technical\n-0001dbb0: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line\n-0001dbc0: 2032 3629 0a2a 206f 7061 6369 7479 3a20 26).* opacity: \n+0001dac0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n+0001dad0: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line \n+0001dae0: 2039 290a 2a20 6c69 6e65 7769 6474 6820 9).* linewidth \n+0001daf0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+0001db00: 2020 2020 2020 2020 2020 2020 2046 7261 Fra\n+0001db10: 6d65 2e20 2020 2020 2020 2020 2020 2020 me. \n+0001db20: 2020 2028 6c69 6e65 2031 3029 0a2a 206c (line 10).* l\n+0001db30: 696e 6577 6964 7468 203c 323e 3a20 2020 inewidth <2>: \n+0001db40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001db50: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n+0001db60: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001db70: 6520 3639 290a 2a20 6c69 6e65 7769 6474 e 69).* linewidt\n+0001db80: 6820 3c33 3e3a 2020 2020 2020 2020 2020 h <3>: \n+0001db90: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0001dba0: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi\n+0001dbb0: 6e67 2e20 2028 6c69 6e65 2032 3629 0a2a ng. (line 26).*\n+0001dbc0: 206f 7061 6369 7479 3a20 2020 2020 2020 opacity: \n 0001dbd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dbe0: 2020 2020 2020 2020 2020 2020 2020 5472 Tr\n-0001dbf0: 616e 7370 6172 656e 6379 2e20 2020 2020 ansparency. \n-0001dc00: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n-0001dc10: 7065 7273 7065 6374 6976 653a 2020 2020 perspective: \n+0001dbe0: 2020 2020 2020 2020 5472 616e 7370 6172 Transpar\n+0001dbf0: 656e 6379 2e20 2020 2020 2020 2020 286c ency. (l\n+0001dc00: 696e 6520 3130 290a 2a20 7065 7273 7065 ine 10).* perspe\n+0001dc10: 6374 6976 653a 2020 2020 2020 2020 2020 ctive: \n 0001dc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dc30: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n-0001dc40: 206c 6974 6572 616c 732e 2020 2028 6c69 literals. (li\n-0001dc50: 6e65 2032 3129 0a2a 2070 6963 7475 7265 ne 21).* picture\n-0001dc60: 626f 783a 2020 2020 2020 2020 2020 2020 box: \n-0001dc70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dc80: 5069 6374 7572 6520 626f 782e 2020 2020 Picture box. \n-0001dc90: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n-0001dca0: 2a20 706f 696e 7420 6c69 7374 3a20 2020 * point list: \n+0001dc30: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n+0001dc40: 616c 732e 2020 2028 6c69 6e65 2032 3129 als. (line 21)\n+0001dc50: 0a2a 2070 6963 7475 7265 626f 783a 2020 .* picturebox: \n+0001dc60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001dc70: 2020 2020 2020 2020 2020 5069 6374 7572 Pictur\n+0001dc80: 6520 626f 782e 2020 2020 2020 2020 2020 e box. \n+0001dc90: 286c 696e 6520 2036 290a 2a20 706f 696e (line 6).* poin\n+0001dca0: 7420 6c69 7374 3a20 2020 2020 2020 2020 t list: \n 0001dcb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dcc0: 2020 2020 2020 2020 2049 6e74 6572 6e61 Interna\n-0001dcd0: 6c20 6f70 7469 6f6e 732e 2020 2020 2028 l options. (\n-0001dce0: 6c69 6e65 2032 3429 0a2a 2070 6f6c 7967 line 24).* polyg\n-0001dcf0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n-0001dd00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dd10: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. \n-0001dd20: 2020 2020 2020 2020 286c 696e 6520 3338 (line 38\n-0001dd30: 290a 2a20 706f 6c79 676f 6e20 3c31 3e3a ).* polygon <1>:\n+0001dcc0: 2020 2049 6e74 6572 6e61 6c20 6f70 7469 Internal opti\n+0001dcd0: 6f6e 732e 2020 2020 2028 6c69 6e65 2032 ons. (line 2\n+0001dce0: 3429 0a2a 2070 6f6c 7967 6f6e 3a20 2020 4).* polygon: \n+0001dcf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001dd00: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell\n+0001dd10: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. \n+0001dd20: 2020 286c 696e 6520 3338 290a 2a20 706f (line 38).* po\n+0001dd30: 6c79 676f 6e20 3c31 3e3a 2020 2020 2020 lygon <1>: \n 0001dd40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dd50: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi\n-0001dd60: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. \n-0001dd70: 2028 6c69 6e65 2020 3929 0a2a 2070 6f6c (line 9).* pol\n-0001dd80: 7967 6f6e 203c 323e 3a20 2020 2020 2020 ygon <2>: \n-0001dd90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dda0: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n-0001ddb0: 666f 726d 732e 2020 2020 286c 696e 6520 forms. (line \n-0001ddc0: 3130 290a 2a20 706f 6c79 676f 6e20 3c33 10).* polygon <3\n-0001ddd0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001dde0: 2020 2020 2020 2020 2020 2020 2041 6666 Aff\n-0001ddf0: 696e 6520 6172 6974 686d 6574 6963 2e20 ine arithmetic. \n-0001de00: 2020 2028 6c69 6e65 2031 3129 0a2a 2070 (line 11).* p\n-0001de10: 6f6c 7967 6f6e 203c 343e 3a20 2020 2020 olygon <4>: \n+0001dd50: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s\n+0001dd60: 6f6c 6964 2e20 2020 2020 2028 6c69 6e65 olid. (line\n+0001dd70: 2020 3929 0a2a 2070 6f6c 7967 6f6e 203c 9).* polygon <\n+0001dd80: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n+0001dd90: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n+0001dda0: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n+0001ddb0: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n+0001ddc0: 706f 6c79 676f 6e20 3c33 3e3a 2020 2020 polygon <3>: \n+0001ddd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001dde0: 2020 2020 2020 2041 6666 696e 6520 6172 Affine ar\n+0001ddf0: 6974 686d 6574 6963 2e20 2020 2028 6c69 ithmetic. (li\n+0001de00: 6e65 2031 3129 0a2a 2070 6f6c 7967 6f6e ne 11).* polygon\n+0001de10: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n 0001de20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001de30: 2020 2020 2020 506f 6c79 676f 6e73 2e20 Polygons. \n-0001de40: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0001de50: 6520 2036 290a 2a20 706f 6c79 676f 6e20 e 6).* polygon \n-0001de60: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n-0001de70: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0001de80: 7765 7074 2062 6c6f 636b 732e 2020 2020 wept blocks. \n-0001de90: 2020 2020 2028 6c69 6e65 2020 3729 0a2a (line 7).*\n-0001dea0: 2070 6f6c 7967 6f6e 203c 363e 3a20 2020 polygon <6>: \n+0001de30: 506f 6c79 676f 6e73 2e20 2020 2020 2020 Polygons. \n+0001de40: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0001de50: 2a20 706f 6c79 676f 6e20 3c35 3e3a 2020 * polygon <5>: \n+0001de60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001de70: 2020 2020 2020 2020 2053 7765 7074 2062 Swept b\n+0001de80: 6c6f 636b 732e 2020 2020 2020 2020 2028 locks. (\n+0001de90: 6c69 6e65 2020 3729 0a2a 2070 6f6c 7967 line 7).* polyg\n+0001dea0: 6f6e 203c 363e 3a20 2020 2020 2020 2020 on <6>: \n 0001deb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dec0: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview\n-0001ded0: 2e20 2020 2020 2020 2020 2020 2020 286c . (l\n-0001dee0: 696e 6520 3337 290a 2a20 7072 6f6a 6563 ine 37).* projec\n-0001def0: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n-0001df00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001df10: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-0001df20: 616c 732e 2020 2028 6c69 6e65 2031 3829 als. (line 18)\n-0001df30: 0a2a 2070 726f 6a65 6374 203c 313e 3a20 .* project <1>: \n+0001dec0: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n+0001ded0: 2020 2020 2020 2020 286c 696e 6520 3337 (line 37\n+0001dee0: 290a 2a20 7072 6f6a 6563 743a 2020 2020 ).* project: \n+0001def0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001df00: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n+0001df10: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n+0001df20: 2028 6c69 6e65 2031 3829 0a2a 2070 726f (line 18).* pro\n+0001df30: 6a65 6374 203c 313e 3a20 2020 2020 2020 ject <1>: \n 0001df40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001df50: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n-0001df60: 6f72 6d20 6c69 7465 7261 6c73 2e20 2020 orm literals. \n-0001df70: 286c 696e 6520 3139 290a 2a20 7072 6f6a (line 19).* proj\n-0001df80: 6563 7420 3c32 3e3a 2020 2020 2020 2020 ect <2>: \n-0001df90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dfa0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n-0001dfb0: 6572 616c 732e 2020 2028 6c69 6e65 2034 erals. (line 4\n-0001dfc0: 3729 0a2a 2070 7374 7269 636b 733a 2020 7).* pstricks: \n+0001df50: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n+0001df60: 7465 7261 6c73 2e20 2020 286c 696e 6520 terals. (line \n+0001df70: 3139 290a 2a20 7072 6f6a 6563 7420 3c32 19).* project <2\n+0001df80: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001df90: 2020 2020 2020 2020 2020 2020 2054 7261 Tra\n+0001dfa0: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n+0001dfb0: 2020 2028 6c69 6e65 2034 3729 0a2a 2070 (line 47).* p\n+0001dfc0: 7374 7269 636b 733a 2020 2020 2020 2020 stricks: \n 0001dfd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dfe0: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang\n-0001dff0: 7561 6765 2e20 2020 2020 2020 2020 2020 uage. \n-0001e000: 2020 286c 696e 6520 3130 290a 2a20 7075 (line 10).* pu\n-0001e010: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n-0001e020: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e030: 2020 2020 204f 626a 6563 7420 7472 616e Object tran\n-0001e040: 7366 6f72 6d73 2e20 2020 2028 6c69 6e65 sforms. (line\n-0001e050: 2031 3029 0a2a 2070 7574 203c 313e 3a20 10).* put <1>: \n+0001dfe0: 2020 2020 2020 4c61 6e67 7561 6765 2e20 Language. \n+0001dff0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001e000: 6520 3130 290a 2a20 7075 743a 2020 2020 e 10).* put: \n+0001e010: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e020: 2020 2020 2020 2020 2020 2020 2020 204f O\n+0001e030: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n+0001e040: 2e20 2020 2028 6c69 6e65 2031 3029 0a2a . (line 10).*\n+0001e050: 2070 7574 203c 313e 3a20 2020 2020 2020 put <1>: \n 0001e060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e070: 2020 2020 2020 2020 2020 2020 2020 4e65 Ne\n-0001e080: 7374 6564 2073 7765 6570 732e 2020 2020 sted sweeps. \n-0001e090: 2020 2020 286c 696e 6520 3235 290a 2a20 (line 25).* \n-0001e0a0: 7075 7420 3c32 3e3a 2020 2020 2020 2020 put <2>: \n+0001e070: 2020 2020 2020 2020 4e65 7374 6564 2073 Nested s\n+0001e080: 7765 6570 732e 2020 2020 2020 2020 286c weeps. (l\n+0001e090: 696e 6520 3235 290a 2a20 7075 7420 3c32 ine 25).* put <2\n+0001e0a0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n 0001e0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e0c0: 2020 2020 2020 2050 7574 732e 2020 2020 Puts. \n-0001e0d0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0001e0e0: 6e65 2020 3629 0a2a 2070 7574 203c 333e ne 6).* put <3>\n-0001e0f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001e100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e110: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m\n-0001e120: 6f64 656c 2e20 286c 696e 6520 3332 290a odel. (line 32).\n-0001e130: 2a20 7265 7065 6174 3a20 2020 2020 2020 * repeat: \n+0001e0c0: 2050 7574 732e 2020 2020 2020 2020 2020 Puts. \n+0001e0d0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n+0001e0e0: 0a2a 2070 7574 203c 333e 3a20 2020 2020 .* put <3>: \n+0001e0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e100: 2020 2020 2020 2020 2020 4120 6869 6572 A hier\n+0001e110: 6172 6368 6963 616c 206d 6f64 656c 2e20 archical model. \n+0001e120: 286c 696e 6520 3332 290a 2a20 7265 7065 (line 32).* repe\n+0001e130: 6174 3a20 2020 2020 2020 2020 2020 2020 at: \n 0001e140: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e150: 2020 2020 2020 2020 2052 6570 6561 7465 Repeate\n-0001e160: 6420 6f62 6a65 6374 732e 2020 2020 2028 d objects. (\n-0001e170: 6c69 6e65 2020 3829 0a2a 2072 6570 6561 line 8).* repea\n-0001e180: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: \n-0001e190: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e1a0: 2020 4e65 7374 6564 2073 7765 6570 732e Nested sweeps.\n-0001e1b0: 2020 2020 2020 2020 286c 696e 6520 3235 (line 25\n-0001e1c0: 290a 2a20 7265 7065 6174 203c 323e 3a20 ).* repeat <2>: \n+0001e150: 2020 2052 6570 6561 7465 6420 6f62 6a65 Repeated obje\n+0001e160: 6374 732e 2020 2020 2028 6c69 6e65 2020 cts. (line \n+0001e170: 3829 0a2a 2072 6570 6561 7420 3c31 3e3a 8).* repeat <1>:\n+0001e180: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e190: 2020 2020 2020 2020 2020 2020 4e65 7374 Nest\n+0001e1a0: 6564 2073 7765 6570 732e 2020 2020 2020 ed sweeps. \n+0001e1b0: 2020 286c 696e 6520 3235 290a 2a20 7265 (line 25).* re\n+0001e1c0: 7065 6174 203c 323e 3a20 2020 2020 2020 peat <2>: \n 0001e1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e1e0: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl\n-0001e1f0: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with \n-0001e200: 636c 6f73 7572 652e 0a20 2020 2020 2020 closure.. \n+0001e1e0: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw\n+0001e1f0: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur\n+0001e200: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. \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 2020 2020 286c 696e 6520 3130 (line 10\n-0001e250: 290a 2a20 7265 7065 6174 203c 333e 3a20 ).* repeat <3>: \n+0001e240: 2020 286c 696e 6520 3130 290a 2a20 7265 (line 10).* re\n+0001e250: 7065 6174 203c 333e 3a20 2020 2020 2020 peat <3>: \n 0001e260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e270: 2020 2020 2020 2020 2020 2052 6570 6561 Repea\n-0001e280: 7473 2e20 2020 2020 2020 2020 2020 2020 ts. \n-0001e290: 2028 6c69 6e65 2020 3629 0a2a 2072 6570 (line 6).* rep\n-0001e2a0: 6561 7420 3c34 3e3a 2020 2020 2020 2020 eat <4>: \n-0001e2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e2c0: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. \n-0001e2d0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001e2e0: 3537 290a 2a20 726f 7461 7465 3a20 2020 57).* rotate: \n+0001e270: 2020 2020 2052 6570 6561 7473 2e20 2020 Repeats. \n+0001e280: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001e290: 2020 3629 0a2a 2072 6570 6561 7420 3c34 6).* repeat <4\n+0001e2a0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001e2b0: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov\n+0001e2c0: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. \n+0001e2d0: 2020 2020 286c 696e 6520 3537 290a 2a20 (line 57).* \n+0001e2e0: 726f 7461 7465 3a20 2020 2020 2020 2020 rotate: \n 0001e2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e300: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n-0001e310: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n-0001e320: 2020 2028 6c69 6e65 2031 3029 0a2a 2072 (line 10).* r\n-0001e330: 6f74 6174 6520 3c31 3e3a 2020 2020 2020 otate <1>: \n+0001e300: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n+0001e310: 616e 7366 6f72 6d73 2e20 2020 2028 6c69 ansforms. (li\n+0001e320: 6e65 2031 3029 0a2a 2072 6f74 6174 6520 ne 10).* rotate \n+0001e330: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n 0001e340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e350: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra\n-0001e360: 6e73 666f 726d 732e 2020 2020 286c 696e nsforms. (lin\n-0001e370: 6520 3339 290a 2a20 726f 7461 7465 203c e 39).* rotate <\n-0001e380: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n-0001e390: 2020 2020 2020 2020 2020 2020 2020 2052 R\n-0001e3a0: 6570 6561 7465 6420 6f62 6a65 6374 732e epeated objects.\n-0001e3b0: 2020 2020 2028 6c69 6e65 2020 3829 0a2a (line 8).*\n-0001e3c0: 2072 6f74 6174 6520 3c33 3e3a 2020 2020 rotate <3>: \n+0001e350: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform\n+0001e360: 732e 2020 2020 286c 696e 6520 3339 290a s. (line 39).\n+0001e370: 2a20 726f 7461 7465 203c 323e 3a20 2020 * rotate <2>: \n+0001e380: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e390: 2020 2020 2020 2020 2052 6570 6561 7465 Repeate\n+0001e3a0: 6420 6f62 6a65 6374 732e 2020 2020 2028 d objects. (\n+0001e3b0: 6c69 6e65 2020 3829 0a2a 2072 6f74 6174 line 8).* rotat\n+0001e3c0: 6520 3c33 3e3a 2020 2020 2020 2020 2020 e <3>: \n 0001e3d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e3e0: 2020 2020 2020 2020 5377 6570 7420 6f62 Swept ob\n-0001e3f0: 6a65 6374 732e 2020 2020 2020 2020 286c jects. (l\n-0001e400: 696e 6520 2038 290a 2a20 726f 7461 7465 ine 8).* rotate\n-0001e410: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n-0001e420: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e430: 2050 6f69 6e74 2073 7765 6570 732e 2020 Point sweeps. \n-0001e440: 2020 2020 2020 2028 6c69 6e65 2031 3929 (line 19)\n-0001e450: 0a2a 2072 6f74 6174 6520 3c35 3e3a 2020 .* rotate <5>: \n+0001e3e0: 2020 5377 6570 7420 6f62 6a65 6374 732e Swept objects.\n+0001e3f0: 2020 2020 2020 2020 286c 696e 6520 2038 (line 8\n+0001e400: 290a 2a20 726f 7461 7465 203c 343e 3a20 ).* rotate <4>: \n+0001e410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e420: 2020 2020 2020 2020 2020 2050 6f69 6e74 Point\n+0001e430: 2073 7765 6570 732e 2020 2020 2020 2020 sweeps. \n+0001e440: 2028 6c69 6e65 2031 3929 0a2a 2072 6f74 (line 19).* rot\n+0001e450: 6174 6520 3c35 3e3a 2020 2020 2020 2020 ate <5>: \n 0001e460: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e470: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli\n-0001e480: 6e65 2073 7765 6570 732e 2020 2020 2020 ne sweeps. \n-0001e490: 286c 696e 6520 2039 290a 2a20 726f 7461 (line 9).* rota\n-0001e4a0: 7465 203c 363e 3a20 2020 2020 2020 2020 te <6>: \n-0001e4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e4c0: 2020 204e 6573 7465 6420 7377 6565 7073 Nested sweeps\n-0001e4d0: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line \n-0001e4e0: 3829 0a2a 2072 6f74 6174 6520 3c37 3e3a 8).* rotate <7>:\n+0001e470: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n+0001e480: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line \n+0001e490: 2039 290a 2a20 726f 7461 7465 203c 363e 9).* rotate <6>\n+0001e4a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001e4b0: 2020 2020 2020 2020 2020 2020 204e 6573 Nes\n+0001e4c0: 7465 6420 7377 6565 7073 2e20 2020 2020 ted sweeps. \n+0001e4d0: 2020 2028 6c69 6e65 2020 3829 0a2a 2072 (line 8).* r\n+0001e4e0: 6f74 6174 6520 3c37 3e3a 2020 2020 2020 otate <7>: \n 0001e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e500: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n-0001e510: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with\n-0001e520: 2063 6c6f 7375 7265 2e0a 2020 2020 2020 closure.. \n+0001e500: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n+0001e510: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu\n+0001e520: 7265 2e0a 2020 2020 2020 2020 2020 2020 re.. \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 2020 2020 2028 6c69 6e65 2031 (line 1\n-0001e570: 3029 0a2a 2072 6f74 6174 6520 3c38 3e3a 0).* rotate <8>:\n+0001e560: 2020 2028 6c69 6e65 2031 3029 0a2a 2072 (line 10).* r\n+0001e570: 6f74 6174 6520 3c38 3e3a 2020 2020 2020 otate <8>: \n 0001e580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e590: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n-0001e5a0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n-0001e5b0: 2020 286c 696e 6520 3130 290a 2a20 726f (line 10).* ro\n-0001e5c0: 7461 7465 203c 393e 3a20 2020 2020 2020 tate <9>: \n-0001e5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e5e0: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n-0001e5f0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0001e600: 2035 3729 0a2a 2072 6f74 6174 6520 3c31 57).* rotate <1\n-0001e610: 303e 3a20 2020 2020 2020 2020 2020 2020 0>: \n-0001e620: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov\n-0001e630: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. \n-0001e640: 2020 2020 286c 696e 6520 3639 290a 2a20 (line 69).* \n-0001e650: 726f 7461 7465 203c 3131 3e3a 2020 2020 rotate <11>: \n+0001e590: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n+0001e5a0: 6c69 7465 7261 6c73 2e20 2020 286c 696e literals. (lin\n+0001e5b0: 6520 3130 290a 2a20 726f 7461 7465 203c e 10).* rotate <\n+0001e5c0: 393e 3a20 2020 2020 2020 2020 2020 2020 9>: \n+0001e5d0: 2020 2020 2020 2020 2020 2020 2020 204f O\n+0001e5e0: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n+0001e5f0: 2020 2020 2028 6c69 6e65 2035 3729 0a2a (line 57).*\n+0001e600: 2072 6f74 6174 6520 3c31 303e 3a20 2020 rotate <10>: \n+0001e610: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e620: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview\n+0001e630: 2e20 2020 2020 2020 2020 2020 2020 286c . (l\n+0001e640: 696e 6520 3639 290a 2a20 726f 7461 7465 ine 69).* rotate\n+0001e650: 203c 3131 3e3a 2020 2020 2020 2020 2020 <11>: \n 0001e660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e670: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n-0001e680: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li\n-0001e690: 6e65 2031 3429 0a2a 2072 6f74 6174 6520 ne 14).* rotate \n-0001e6a0: 3c31 323e 3a20 2020 2020 2020 2020 2020 <12>: \n-0001e6b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e6c0: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m\n-0001e6d0: 6f64 656c 2e20 286c 696e 6520 3130 290a odel. (line 10).\n-0001e6e0: 2a20 726f 7461 7465 203c 3133 3e3a 2020 * rotate <13>: \n+0001e670: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n+0001e680: 7769 6e67 2e20 2028 6c69 6e65 2031 3429 wing. (line 14)\n+0001e690: 0a2a 2072 6f74 6174 6520 3c31 323e 3a20 .* rotate <12>: \n+0001e6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e6b0: 2020 2020 2020 2020 2020 4120 6869 6572 A hier\n+0001e6c0: 6172 6368 6963 616c 206d 6f64 656c 2e20 archical model. \n+0001e6d0: 286c 696e 6520 3130 290a 2a20 726f 7461 (line 10).* rota\n+0001e6e0: 7465 203c 3133 3e3a 2020 2020 2020 2020 te <13>: \n 0001e6f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e700: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n-0001e710: 7263 6869 6361 6c20 6d6f 6465 6c2e 2028 rchical model. (\n-0001e720: 6c69 6e65 2032 3329 0a2a 2072 6f74 6174 line 23).* rotat\n-0001e730: 6520 3c31 343e 3a20 2020 2020 2020 2020 e <14>: \n-0001e740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e750: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical\n-0001e760: 206d 6f64 656c 2e20 286c 696e 6520 3332 model. (line 32\n-0001e770: 290a 2a20 7363 616c 653a 2020 2020 2020 ).* scale: \n+0001e700: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica\n+0001e710: 6c20 6d6f 6465 6c2e 2028 6c69 6e65 2032 l model. (line 2\n+0001e720: 3329 0a2a 2072 6f74 6174 6520 3c31 343e 3).* rotate <14>\n+0001e730: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001e740: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n+0001e750: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n+0001e760: 2e20 286c 696e 6520 3332 290a 2a20 7363 . (line 32).* sc\n+0001e770: 616c 653a 2020 2020 2020 2020 2020 2020 ale: \n 0001e780: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e790: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n-0001e7a0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n-0001e7b0: 2028 6c69 6e65 2031 3629 0a2a 2073 6361 (line 16).* sca\n-0001e7c0: 6c65 203c 313e 3a20 2020 2020 2020 2020 le <1>: \n-0001e7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e7e0: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n-0001e7f0: 7465 7261 6c73 2e20 2020 286c 696e 6520 terals. (line \n-0001e800: 3137 290a 2a20 7363 616c 6520 3c32 3e3a 17).* scale <2>:\n+0001e790: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n+0001e7a0: 6974 6572 616c 732e 2020 2028 6c69 6e65 iterals. (line\n+0001e7b0: 2031 3629 0a2a 2073 6361 6c65 203c 313e 16).* scale <1>\n+0001e7c0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001e7d0: 2020 2020 2020 2020 2020 2020 2020 5472 Tr\n+0001e7e0: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n+0001e7f0: 2e20 2020 286c 696e 6520 3137 290a 2a20 . (line 17).* \n+0001e800: 7363 616c 6520 3c32 3e3a 2020 2020 2020 scale <2>: \n 0001e810: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e820: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n-0001e830: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n-0001e840: 2e20 2028 6c69 6e65 2034 3129 0a2a 2073 . (line 41).* s\n-0001e850: 6361 6c65 203c 333e 3a20 2020 2020 2020 cale <3>: \n+0001e820: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n+0001e830: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li\n+0001e840: 6e65 2034 3129 0a2a 2073 6361 6c65 203c ne 41).* scale <\n+0001e850: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: \n 0001e860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e870: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica\n-0001e880: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin\n-0001e890: 6520 3638 290a 2a20 7363 616c 6520 3c34 e 68).* scale <4\n-0001e8a0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001e8b0: 2020 2020 2020 2020 2020 2020 2020 2041 A\n-0001e8c0: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n-0001e8d0: 6465 6c2e 2028 6c69 6e65 2033 3229 0a2a del. (line 32).*\n-0001e8e0: 2073 6574 3a20 2020 2020 2020 2020 2020 set: \n+0001e870: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n+0001e880: 696e 672e 2020 286c 696e 6520 3638 290a ing. (line 68).\n+0001e890: 2a20 7363 616c 6520 3c34 3e3a 2020 2020 * scale <4>: \n+0001e8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e8b0: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n+0001e8c0: 7263 6869 6361 6c20 6d6f 6465 6c2e 2028 rchical model. (\n+0001e8d0: 6c69 6e65 2033 3229 0a2a 2073 6574 3a20 line 32).* set: \n+0001e8e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001e8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e900: 2020 2020 2020 2020 476c 6f62 616c 206f Global o\n-0001e910: 7074 696f 6e73 2e20 2020 2020 2020 286c ptions. (l\n-0001e920: 696e 6520 2036 290a 2a20 7369 6e3a 2020 ine 6).* sin: \n+0001e900: 2020 476c 6f62 616c 206f 7074 696f 6e73 Global options\n+0001e910: 2e20 2020 2020 2020 286c 696e 6520 2036 . (line 6\n+0001e920: 290a 2a20 7369 6e3a 2020 2020 2020 2020 ).* sin: \n 0001e930: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e950: 2055 6e61 7279 2066 6f72 6d73 2e20 2020 Unary forms. \n-0001e960: 2020 2020 2020 2028 6c69 6e65 2031 3529 (line 15)\n-0001e970: 0a2a 2073 7065 6369 616c 3a20 2020 2020 .* special: \n+0001e940: 2020 2020 2020 2020 2020 2055 6e61 7279 Unary\n+0001e950: 2066 6f72 6d73 2e20 2020 2020 2020 2020 forms. \n+0001e960: 2028 6c69 6e65 2031 3529 0a2a 2073 7065 (line 15).* spe\n+0001e970: 6369 616c 3a20 2020 2020 2020 2020 2020 cial: \n 0001e980: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e990: 2020 2020 2020 2020 2020 5370 6563 6961 Specia\n-0001e9a0: 6c20 6f62 6a65 6374 732e 2020 2020 2020 l objects. \n-0001e9b0: 286c 696e 6520 2036 290a 2a20 7370 6563 (line 6).* spec\n-0001e9c0: 6961 6c20 3c31 3e3a 2020 2020 2020 2020 ial <1>: \n-0001e9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e9e0: 2020 2053 7065 6369 616c 732e 2020 2020 Specials. \n-0001e9f0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0001ea00: 3629 0a2a 2073 7065 6369 616c 203c 323e 6).* special <2>\n-0001ea10: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001ea20: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n-0001ea30: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n-0001ea40: 2020 286c 696e 6520 3639 290a 2a20 7370 (line 69).* sp\n-0001ea50: 6563 6961 6c20 3c33 3e3a 2020 2020 2020 ecial <3>: \n-0001ea60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ea70: 2020 2020 2041 2074 6563 686e 6963 616c A technical\n-0001ea80: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line\n-0001ea90: 2032 3629 0a2a 2073 7065 6369 616c 203c 26).* special <\n-0001eaa0: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: \n-0001eab0: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-0001eac0: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n-0001ead0: 672e 2020 286c 696e 6520 3431 290a 2a20 g. (line 41).* \n-0001eae0: 7370 6563 6961 6c20 3c35 3e3a 2020 2020 special <5>: \n+0001e990: 2020 2020 5370 6563 6961 6c20 6f62 6a65 Special obje\n+0001e9a0: 6374 732e 2020 2020 2020 286c 696e 6520 cts. (line \n+0001e9b0: 2036 290a 2a20 7370 6563 6961 6c20 3c31 6).* special <1\n+0001e9c0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001e9d0: 2020 2020 2020 2020 2020 2020 2053 7065 Spe\n+0001e9e0: 6369 616c 732e 2020 2020 2020 2020 2020 cials. \n+0001e9f0: 2020 2028 6c69 6e65 2020 3629 0a2a 2073 (line 6).* s\n+0001ea00: 7065 6369 616c 203c 323e 3a20 2020 2020 pecial <2>: \n+0001ea10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ea20: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n+0001ea30: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001ea40: 6520 3639 290a 2a20 7370 6563 6961 6c20 e 69).* special \n+0001ea50: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: \n+0001ea60: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0001ea70: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi\n+0001ea80: 6e67 2e20 2028 6c69 6e65 2032 3629 0a2a ng. (line 26).*\n+0001ea90: 2073 7065 6369 616c 203c 343e 3a20 2020 special <4>: \n+0001eaa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001eab0: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni\n+0001eac0: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l\n+0001ead0: 696e 6520 3431 290a 2a20 7370 6563 6961 ine 41).* specia\n+0001eae0: 6c20 3c35 3e3a 2020 2020 2020 2020 2020 l <5>: \n 0001eaf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eb00: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n-0001eb10: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li\n-0001eb20: 6e65 2036 3829 0a2a 2073 7065 6369 616c ne 68).* special\n-0001eb30: 203c 363e 3a20 2020 2020 2020 2020 2020 <6>: \n-0001eb40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eb50: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n-0001eb60: 696e 672e 2020 286c 696e 6520 3935 290a ing. (line 95).\n-0001eb70: 2a20 7370 6c69 743a 2020 2020 2020 2020 * split: \n+0001eb00: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n+0001eb10: 7769 6e67 2e20 2028 6c69 6e65 2036 3829 wing. (line 68)\n+0001eb20: 0a2a 2073 7065 6369 616c 203c 363e 3a20 .* special <6>: \n+0001eb30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001eb40: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n+0001eb50: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. \n+0001eb60: 286c 696e 6520 3935 290a 2a20 7370 6c69 (line 95).* spli\n+0001eb70: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n 0001eb80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eb90: 2020 2020 2020 2020 2049 6e74 6572 6e61 Interna\n-0001eba0: 6c20 6f70 7469 6f6e 732e 2020 2020 2028 l options. (\n-0001ebb0: 6c69 6e65 2020 3729 0a2a 2073 706c 6974 line 7).* split\n-0001ebc0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-0001ebd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ebe0: 2020 476c 6f62 616c 206f 7074 696f 6e73 Global options\n-0001ebf0: 2e20 2020 2020 2020 286c 696e 6520 3133 . (line 13\n-0001ec00: 290a 2a20 7371 7274 3a20 2020 2020 2020 ).* sqrt: \n+0001eb90: 2020 2049 6e74 6572 6e61 6c20 6f70 7469 Internal opti\n+0001eba0: 6f6e 732e 2020 2020 2028 6c69 6e65 2020 ons. (line \n+0001ebb0: 3729 0a2a 2073 706c 6974 203c 313e 3a20 7).* split <1>: \n+0001ebc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ebd0: 2020 2020 2020 2020 2020 2020 476c 6f62 Glob\n+0001ebe0: 616c 206f 7074 696f 6e73 2e20 2020 2020 al options. \n+0001ebf0: 2020 286c 696e 6520 3133 290a 2a20 7371 (line 13).* sq\n+0001ec00: 7274 3a20 2020 2020 2020 2020 2020 2020 rt: \n 0001ec10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ec20: 2020 2020 2020 2020 2020 2055 6e61 7279 Unary\n-0001ec30: 2066 6f72 6d73 2e20 2020 2020 2020 2020 forms. \n-0001ec40: 2028 6c69 6e65 2031 3429 0a2a 2073 7765 (line 14).* swe\n-0001ec50: 6570 3a20 2020 2020 2020 2020 2020 2020 ep: \n-0001ec60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ec70: 2020 2020 5377 6570 7420 6f62 6a65 6374 Swept object\n-0001ec80: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line \n-0001ec90: 2038 290a 2a20 7377 6565 7020 3c31 3e3a 8).* sweep <1>:\n+0001ec20: 2020 2020 2055 6e61 7279 2066 6f72 6d73 Unary forms\n+0001ec30: 2e20 2020 2020 2020 2020 2028 6c69 6e65 . (line\n+0001ec40: 2031 3429 0a2a 2073 7765 6570 3a20 2020 14).* sweep: \n+0001ec50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ec60: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n+0001ec70: 6570 7420 6f62 6a65 6374 732e 2020 2020 ept objects. \n+0001ec80: 2020 2020 286c 696e 6520 2038 290a 2a20 (line 8).* \n+0001ec90: 7377 6565 7020 3c31 3e3a 2020 2020 2020 sweep <1>: \n 0001eca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ecb0: 2020 2020 2020 2020 2020 2020 2050 6f69 Poi\n-0001ecc0: 6e74 2073 7765 6570 732e 2020 2020 2020 nt sweeps. \n-0001ecd0: 2020 2028 6c69 6e65 2031 3929 0a2a 2073 (line 19).* s\n-0001ece0: 7765 6570 203c 323e 3a20 2020 2020 2020 weep <2>: \n+0001ecb0: 2020 2020 2020 2050 6f69 6e74 2073 7765 Point swe\n+0001ecc0: 6570 732e 2020 2020 2020 2020 2028 6c69 eps. (li\n+0001ecd0: 6e65 2031 3929 0a2a 2073 7765 6570 203c ne 19).* sweep <\n+0001ece0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n 0001ecf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ed00: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n-0001ed10: 7765 6570 732e 2020 2020 2020 286c 696e weeps. (lin\n-0001ed20: 6520 2039 290a 2a20 7377 6565 7020 3c33 e 9).* sweep <3\n-0001ed30: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001ed40: 2020 2020 2020 2020 2020 2020 2020 204e N\n-0001ed50: 6573 7465 6420 7377 6565 7073 2e20 2020 ested sweeps. \n-0001ed60: 2020 2020 2028 6c69 6e65 2020 3829 0a2a (line 8).*\n-0001ed70: 2073 7765 6570 203c 343e 3a20 2020 2020 sweep <4>: \n+0001ed00: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps.\n+0001ed10: 2020 2020 2020 286c 696e 6520 2039 290a (line 9).\n+0001ed20: 2a20 7377 6565 7020 3c33 3e3a 2020 2020 * sweep <3>: \n+0001ed30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ed40: 2020 2020 2020 2020 204e 6573 7465 6420 Nested \n+0001ed50: 7377 6565 7073 2e20 2020 2020 2020 2028 sweeps. (\n+0001ed60: 6c69 6e65 2020 3829 0a2a 2073 7765 6570 line 8).* sweep\n+0001ed70: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n 0001ed80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ed90: 2020 2020 2020 2020 4e65 7374 6564 2073 Nested s\n-0001eda0: 7765 6570 732e 2020 2020 2020 2020 286c weeps. (l\n-0001edb0: 696e 6520 3232 290a 2a20 7377 6565 7020 ine 22).* sweep \n-0001edc0: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n-0001edd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ede0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-0001edf0: 2077 6974 6820 636c 6f73 7572 652e 0a20 with closure.. \n+0001ed90: 2020 4e65 7374 6564 2073 7765 6570 732e Nested sweeps.\n+0001eda0: 2020 2020 2020 2020 286c 696e 6520 3232 (line 22\n+0001edb0: 290a 2a20 7377 6565 7020 3c35 3e3a 2020 ).* sweep <5>: \n+0001edc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001edd0: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl\n+0001ede0: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with \n+0001edf0: 636c 6f73 7572 652e 0a20 2020 2020 2020 closure.. \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 2020 2020 286c (l\n-0001ee40: 696e 6520 3130 290a 2a20 7377 6565 7020 ine 10).* sweep \n-0001ee50: 3c36 3e3a 2020 2020 2020 2020 2020 2020 <6>: \n-0001ee60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ee70: 2053 7765 6570 732e 2020 2020 2020 2020 Sweeps. \n-0001ee80: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-0001ee90: 0a2a 2073 7765 6570 203c 373e 3a20 2020 .* sweep <7>: \n+0001ee30: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10\n+0001ee40: 290a 2a20 7377 6565 7020 3c36 3e3a 2020 ).* sweep <6>: \n+0001ee50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ee60: 2020 2020 2020 2020 2020 2053 7765 6570 Sweep\n+0001ee70: 732e 2020 2020 2020 2020 2020 2020 2020 s. \n+0001ee80: 2028 6c69 6e65 2020 3629 0a2a 2073 7765 (line 6).* swe\n+0001ee90: 6570 203c 373e 3a20 2020 2020 2020 2020 ep <7>: \n 0001eea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eeb0: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n-0001eec0: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. \n-0001eed0: 286c 696e 6520 3230 290a 2a20 7377 6565 (line 20).* swee\n-0001eee0: 7020 3c38 3e3a 2020 2020 2020 2020 2020 p <8>: \n-0001eef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ef00: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica\n-0001ef10: 6c20 6d6f 6465 6c2e 2028 6c69 6e65 2031 l model. (line 1\n-0001ef20: 3029 0a2a 2073 7765 6570 203c 393e 3a20 0).* sweep <9>: \n+0001eeb0: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n+0001eec0: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n+0001eed0: 3230 290a 2a20 7377 6565 7020 3c38 3e3a 20).* sweep <8>:\n+0001eee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001eef0: 2020 2020 2020 2020 2020 2020 2041 2068 A h\n+0001ef00: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n+0001ef10: 6c2e 2028 6c69 6e65 2031 3029 0a2a 2073 l. (line 10).* s\n+0001ef20: 7765 6570 203c 393e 3a20 2020 2020 2020 weep <9>: \n 0001ef30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ef40: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n-0001ef50: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n-0001ef60: 2e20 286c 696e 6520 3233 290a 2a20 7468 . (line 23).* th\n-0001ef70: 656e 3a20 2020 2020 2020 2020 2020 2020 en: \n-0001ef80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ef90: 2020 2020 204f 626a 6563 7420 7472 616e Object tran\n-0001efa0: 7366 6f72 6d73 2e20 2020 2028 6c69 6e65 sforms. (line\n-0001efb0: 2031 3029 0a2a 2074 6865 6e20 3c31 3e3a 10).* then <1>:\n+0001ef40: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch\n+0001ef50: 6963 616c 206d 6f64 656c 2e20 286c 696e ical model. (lin\n+0001ef60: 6520 3233 290a 2a20 7468 656e 3a20 2020 e 23).* then: \n+0001ef70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ef80: 2020 2020 2020 2020 2020 2020 2020 204f O\n+0001ef90: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n+0001efa0: 2e20 2020 2028 6c69 6e65 2031 3029 0a2a . (line 10).*\n+0001efb0: 2074 6865 6e20 3c31 3e3a 2020 2020 2020 then <1>: \n 0001efc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001efd0: 2020 2020 2020 2020 2020 2020 2020 506f Po\n-0001efe0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi\n-0001eff0: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. \n+0001efd0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n+0001efe0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n+0001eff0: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. \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 2020 2020 2028 6c69 6e65 (line\n-0001f040: 2031 3029 0a2a 2074 6865 6e20 3c32 3e3a 10).* then <2>:\n+0001f030: 2020 2020 2028 6c69 6e65 2031 3029 0a2a (line 10).*\n+0001f040: 2074 6865 6e20 3c32 3e3a 2020 2020 2020 then <2>: \n 0001f050: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f060: 2020 2020 2020 2020 2020 2020 2020 5477 Tw\n-0001f070: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar\n-0001f080: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. \n+0001f060: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper\n+0001f070: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for\n+0001f080: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. \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 2020 2020 2028 6c69 6e65 2033 (line 3\n-0001f0d0: 3629 0a2a 2074 6865 6e20 3c33 3e3a 2020 6).* then <3>: \n+0001f0c0: 2020 2028 6c69 6e65 2033 3629 0a2a 2074 (line 36).* t\n+0001f0d0: 6865 6e20 3c33 3e3a 2020 2020 2020 2020 hen <3>: \n 0001f0e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f0f0: 2020 2020 2020 2020 2020 2020 5477 6f2d Two-\n-0001f100: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary)\n-0001f110: 2066 6f72 6d73 2e0a 2020 2020 2020 2020 forms.. \n+0001f0f0: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan\n+0001f100: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms\n+0001f110: 2e0a 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 2020 2020 2028 6c69 6e65 2036 3329 (line 63)\n-0001f160: 0a2a 2074 696b 7a3a 2020 2020 2020 2020 .* tikz: \n+0001f150: 2028 6c69 6e65 2036 3329 0a2a 2074 696b (line 63).* tik\n+0001f160: 7a3a 2020 2020 2020 2020 2020 2020 2020 z: \n 0001f170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f180: 2020 2020 2020 2020 2020 4c61 6e67 7561 Langua\n-0001f190: 6765 2e20 2020 2020 2020 2020 2020 2020 ge. \n-0001f1a0: 286c 696e 6520 3130 290a 2a20 7472 616e (line 10).* tran\n-0001f1b0: 736c 6174 653a 2020 2020 2020 2020 2020 slate: \n-0001f1c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f1d0: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n-0001f1e0: 6f72 6d73 2e20 2020 2028 6c69 6e65 2031 orms. (line 1\n-0001f1f0: 3029 0a2a 2074 7261 6e73 6c61 7465 203c 0).* translate <\n-0001f200: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0001f210: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje\n-0001f220: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. \n-0001f230: 2020 286c 696e 6520 3437 290a 2a20 7472 (line 47).* tr\n-0001f240: 616e 736c 6174 6520 3c32 3e3a 2020 2020 anslate <2>: \n-0001f250: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f260: 2020 2020 2052 6570 6561 7465 6420 6f62 Repeated ob\n-0001f270: 6a65 6374 732e 2020 2020 2028 6c69 6e65 jects. (line\n-0001f280: 2020 3829 0a2a 2074 7261 6e73 6c61 7465 8).* translate\n-0001f290: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: \n-0001f2a0: 2020 2020 2020 2020 2020 2020 2020 506f Po\n-0001f2b0: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. \n-0001f2c0: 2020 2020 286c 696e 6520 2039 290a 2a20 (line 9).* \n-0001f2d0: 7472 616e 736c 6174 6520 3c34 3e3a 2020 translate <4>: \n+0001f180: 2020 2020 4c61 6e67 7561 6765 2e20 2020 Language. \n+0001f190: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0001f1a0: 3130 290a 2a20 7472 616e 736c 6174 653a 10).* translate:\n+0001f1b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f1c0: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n+0001f1d0: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n+0001f1e0: 2020 2028 6c69 6e65 2031 3029 0a2a 2074 (line 10).* t\n+0001f1f0: 7261 6e73 6c61 7465 203c 313e 3a20 2020 ranslate <1>: \n+0001f200: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f210: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra\n+0001f220: 6e73 666f 726d 732e 2020 2020 286c 696e nsforms. (lin\n+0001f230: 6520 3437 290a 2a20 7472 616e 736c 6174 e 47).* translat\n+0001f240: 6520 3c32 3e3a 2020 2020 2020 2020 2020 e <2>: \n+0001f250: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+0001f260: 6570 6561 7465 6420 6f62 6a65 6374 732e epeated objects.\n+0001f270: 2020 2020 2028 6c69 6e65 2020 3829 0a2a (line 8).*\n+0001f280: 2074 7261 6e73 6c61 7465 203c 333e 3a20 translate <3>: \n+0001f290: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f2a0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n+0001f2b0: 2073 7765 6570 732e 2020 2020 2020 286c sweeps. (l\n+0001f2c0: 696e 6520 2039 290a 2a20 7472 616e 736c ine 9).* transl\n+0001f2d0: 6174 6520 3c34 3e3a 2020 2020 2020 2020 ate <4>: \n 0001f2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f2f0: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n-0001f300: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n-0001f310: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. \n+0001f2f0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n+0001f300: 2077 6974 6820 636c 6f73 7572 652e 0a20 with 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: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n-0001f360: 7472 616e 736c 6174 6520 3c35 3e3a 2020 translate <5>: \n+0001f340: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0001f350: 696e 6520 3130 290a 2a20 7472 616e 736c ine 10).* transl\n+0001f360: 6174 6520 3c35 3e3a 2020 2020 2020 2020 ate <5>: \n 0001f370: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f380: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n-0001f390: 206c 6974 6572 616c 732e 2020 2028 6c69 literals. (li\n-0001f3a0: 6e65 2031 3529 0a2a 2074 7261 6e73 6c61 ne 15).* transla\n-0001f3b0: 7465 203c 363e 3a20 2020 2020 2020 2020 te <6>: \n-0001f3c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f3d0: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. \n-0001f3e0: 2020 2020 2020 286c 696e 6520 3537 290a (line 57).\n-0001f3f0: 2a20 7472 616e 736c 6174 6520 3c37 3e3a * translate <7>:\n+0001f380: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n+0001f390: 616c 732e 2020 2028 6c69 6e65 2031 3529 als. (line 15)\n+0001f3a0: 0a2a 2074 7261 6e73 6c61 7465 203c 363e .* translate <6>\n+0001f3b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001f3c0: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi\n+0001f3d0: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. \n+0001f3e0: 286c 696e 6520 3537 290a 2a20 7472 616e (line 57).* tran\n+0001f3f0: 736c 6174 6520 3c37 3e3a 2020 2020 2020 slate <7>: \n 0001f400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f410: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n-0001f420: 772e 2020 2020 2020 2020 2020 2020 2028 w. (\n-0001f430: 6c69 6e65 2036 3929 0a2a 2074 7261 6e73 line 69).* trans\n-0001f440: 6c61 7465 203c 383e 3a20 2020 2020 2020 late <8>: \n-0001f450: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f460: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical\n-0001f470: 206d 6f64 656c 2e20 286c 696e 6520 3332 model. (line 32\n-0001f480: 290a 2a20 7472 616e 7370 616c 7068 613a ).* transpalpha:\n+0001f410: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n+0001f420: 2020 2020 2020 2020 2028 6c69 6e65 2036 (line 6\n+0001f430: 3929 0a2a 2074 7261 6e73 6c61 7465 203c 9).* translate <\n+0001f440: 383e 3a20 2020 2020 2020 2020 2020 2020 8>: \n+0001f450: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n+0001f460: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n+0001f470: 2e20 286c 696e 6520 3332 290a 2a20 7472 . (line 32).* tr\n+0001f480: 616e 7370 616c 7068 613a 2020 2020 2020 anspalpha: \n 0001f490: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f4a0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n-0001f4b0: 7061 7265 6e63 792e 2020 2020 2020 2020 parency. \n-0001f4c0: 2028 6c69 6e65 2031 3029 0a2a 2075 6e69 (line 10).* uni\n-0001f4d0: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n-0001f4e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f4f0: 2020 2020 556e 6172 7920 666f 726d 732e Unary forms.\n-0001f500: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001f510: 3133 290a 2a20 756e 6974 203c 313e 3a20 13).* unit <1>: \n+0001f4a0: 2020 2020 2054 7261 6e73 7061 7265 6e63 Transparenc\n+0001f4b0: 792e 2020 2020 2020 2020 2028 6c69 6e65 y. (line\n+0001f4c0: 2031 3029 0a2a 2075 6e69 743a 2020 2020 10).* unit: \n+0001f4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f4e0: 2020 2020 2020 2020 2020 2020 2020 556e Un\n+0001f4f0: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. \n+0001f500: 2020 2020 286c 696e 6520 3133 290a 2a20 (line 13).* \n+0001f510: 756e 6974 203c 313e 3a20 2020 2020 2020 unit <1>: \n 0001f520: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f530: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n-0001f540: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n-0001f550: 2e20 2028 6c69 6e65 2034 3129 0a2a 2076 . (line 41).* v\n-0001f560: 6965 773a 2020 2020 2020 2020 2020 2020 iew: \n+0001f530: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n+0001f540: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li\n+0001f550: 6e65 2034 3129 0a2a 2076 6965 773a 2020 ne 41).* view: \n+0001f560: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001f570: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f580: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n-0001f590: 6c69 7465 7261 6c73 2e20 2020 286c 696e literals. (lin\n-0001f5a0: 6520 3235 290a 2a20 7669 6577 203c 313e e 25).* view <1>\n-0001f5b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001f5c0: 2020 2020 2020 2020 2020 2020 2020 2054 T\n-0001f5d0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n-0001f5e0: 732e 2020 2028 6c69 6e65 2033 3529 0a0a s. (line 35)..\n-0001f5f0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-0001f600: 6e66 6f2c 2020 4e6f 6465 3a20 496e 6465 nfo, Node: Inde\n-0001f610: 782c 2020 5072 6576 3a20 496e 6465 7820 x, Prev: Index \n-0001f620: 6f66 2073 796e 7461 782c 2020 5570 3a20 of syntax, Up: \n-0001f630: 546f 700a 0a49 6e64 6578 206f 6620 636f Top..Index of co\n-0001f640: 6e63 6570 7473 0a2a 2a2a 2a2a 2a2a 2a2a ncepts.*********\n-0001f650: 2a2a 2a2a 2a2a 2a2a 0a0a 0008 5b69 6e64 ********....[ind\n-0001f660: 6578 0008 5d0a 2a20 4d65 6e75 3a0a 0a2a ex..].* Menu:..*\n-0001f670: 2061 6666 696e 6520 6172 6974 686d 6574 affine arithmet\n-0001f680: 6963 3a20 2020 2020 2020 2020 2020 2020 ic: \n-0001f690: 2020 2020 2020 2020 4166 6669 6e65 2061 Affine a\n-0001f6a0: 7269 7468 6d65 7469 632e 2020 2028 6c69 rithmetic. (li\n-0001f6b0: 6e65 2020 2038 290a 2a20 6166 6669 6e65 ne 8).* affine\n-0001f6c0: 2061 7269 7468 6d65 7469 6320 3c31 3e3a arithmetic <1>:\n-0001f6d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f6e0: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n-0001f6f0: 7769 6e67 2e20 286c 696e 6520 2034 3029 wing. (line 40)\n-0001f700: 0a2a 2061 6c74 6572 6e61 7469 7665 732c .* alternatives,\n-0001f710: 2064 6566 696e 6974 696f 6e3a 2020 2020 definition: \n-0001f720: 2020 2020 2020 2020 2020 466f 726d 7320 Forms \n-0001f730: 6f66 2064 6566 696e 6974 696f 6e73 2e0a of definitions..\n+0001f580: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n+0001f590: 6c73 2e20 2020 286c 696e 6520 3235 290a ls. (line 25).\n+0001f5a0: 2a20 7669 6577 203c 313e 3a20 2020 2020 * view <1>: \n+0001f5b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f5c0: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo\n+0001f5d0: 726d 206c 6974 6572 616c 732e 2020 2028 rm literals. (\n+0001f5e0: 6c69 6e65 2033 3529 0a0a 1f0a 4669 6c65 line 35)....File\n+0001f5f0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+0001f600: 4e6f 6465 3a20 496e 6465 782c 2020 5072 Node: Index, Pr\n+0001f610: 6576 3a20 496e 6465 7820 6f66 2073 796e ev: Index of syn\n+0001f620: 7461 782c 2020 5570 3a20 546f 700a 0a49 tax, Up: Top..I\n+0001f630: 6e64 6578 206f 6620 636f 6e63 6570 7473 ndex of concepts\n+0001f640: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a .***************\n+0001f650: 2a2a 0a0a 0008 5b69 6e64 6578 0008 5d0a **....[index..].\n+0001f660: 2a20 4d65 6e75 3a0a 0a2a 2061 6666 696e * Menu:..* affin\n+0001f670: 6520 6172 6974 686d 6574 6963 3a20 2020 e arithmetic: \n+0001f680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f690: 2020 4166 6669 6e65 2061 7269 7468 6d65 Affine arithme\n+0001f6a0: 7469 632e 2020 2028 6c69 6e65 2020 2038 tic. (line 8\n+0001f6b0: 290a 2a20 6166 6669 6e65 2061 7269 7468 ).* affine arith\n+0001f6c0: 6d65 7469 6320 3c31 3e3a 2020 2020 2020 metic <1>: \n+0001f6d0: 2020 2020 2020 2020 2020 2041 2074 6563 A tec\n+0001f6e0: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. \n+0001f6f0: 286c 696e 6520 2034 3029 0a2a 2061 6c74 (line 40).* alt\n+0001f700: 6572 6e61 7469 7665 732c 2064 6566 696e ernatives, defin\n+0001f710: 6974 696f 6e3a 2020 2020 2020 2020 2020 ition: \n+0001f720: 2020 2020 466f 726d 7320 6f66 2064 6566 Forms of def\n+0001f730: 696e 6974 696f 6e73 2e0a 2020 2020 2020 initions.. \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 2020 2020 286c (l\n-0001f780: 696e 6520 2020 3629 0a2a 2061 7267 756d ine 6).* argum\n-0001f790: 656e 742c 2073 7065 6369 616c 3a20 2020 ent, special: \n-0001f7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f7b0: 2020 5370 6563 6961 6c20 6f62 6a65 6374 Special object\n-0001f7c0: 732e 2020 2020 2028 6c69 6e65 2020 3235 s. (line 25\n-0001f7d0: 290a 2a20 6172 6775 6d65 6e74 2c20 7370 ).* argument, sp\n-0001f7e0: 6563 6961 6c20 3c31 3e3a 2020 2020 2020 ecial <1>: \n-0001f7f0: 2020 2020 2020 2020 2020 2053 7065 6369 Speci\n-0001f800: 616c 732e 2020 2020 2020 2020 2020 2020 als. \n-0001f810: 286c 696e 6520 2031 3029 0a2a 2061 7373 (line 10).* ass\n-0001f820: 6f63 6961 7469 7669 7479 2c20 6f70 6572 ociativity, oper\n-0001f830: 6174 6f72 3a20 2020 2020 2020 2020 2020 ator: \n-0001f840: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand \n-0001f850: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms..\n+0001f770: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n+0001f780: 3629 0a2a 2061 7267 756d 656e 742c 2073 6).* argument, s\n+0001f790: 7065 6369 616c 3a20 2020 2020 2020 2020 pecial: \n+0001f7a0: 2020 2020 2020 2020 2020 2020 5370 6563 Spec\n+0001f7b0: 6961 6c20 6f62 6a65 6374 732e 2020 2020 ial objects. \n+0001f7c0: 2028 6c69 6e65 2020 3235 290a 2a20 6172 (line 25).* ar\n+0001f7d0: 6775 6d65 6e74 2c20 7370 6563 6961 6c20 gument, special \n+0001f7e0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+0001f7f0: 2020 2020 2053 7065 6369 616c 732e 2020 Specials. \n+0001f800: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0001f810: 2031 3029 0a2a 2061 7373 6f63 6961 7469 10).* associati\n+0001f820: 7669 7479 2c20 6f70 6572 6174 6f72 3a20 vity, operator: \n+0001f830: 2020 2020 2020 2020 2020 2020 2020 5477 Tw\n+0001f840: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar\n+0001f850: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. \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 2020 2020 286c (l\n-0001f8a0: 696e 6520 2035 3829 0a2a 2061 7869 732c ine 58).* axis,\n-0001f8b0: 2072 6f74 6174 696f 6e3a 2020 2020 2020 rotation: \n-0001f8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f8d0: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n-0001f8e0: 726d 732e 2020 2028 6c69 6e65 2020 3430 rms. (line 40\n-0001f8f0: 290a 2a20 6261 636b 2066 6163 653a 2020 ).* back face: \n+0001f890: 2020 2020 2020 2020 286c 696e 6520 2035 (line 5\n+0001f8a0: 3829 0a2a 2061 7869 732c 2072 6f74 6174 8).* axis, rotat\n+0001f8b0: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: \n+0001f8c0: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje\n+0001f8d0: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. \n+0001f8e0: 2028 6c69 6e65 2020 3430 290a 2a20 6261 (line 40).* ba\n+0001f8f0: 636b 2066 6163 653a 2020 2020 2020 2020 ck face: \n 0001f900: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f910: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi\n-0001f920: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. \n-0001f930: 286c 696e 6520 2033 3529 0a2a 2062 6173 (line 35).* bas\n-0001f940: 656c 696e 6520 6672 6163 7469 6f6e 3a20 eline fraction: \n-0001f950: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f960: 2020 2020 5069 6374 7572 6520 626f 782e Picture box.\n-0001f970: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0001f980: 3130 290a 2a20 6269 6e61 7279 2066 6f72 10).* binary for\n-0001f990: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: \n-0001f9a0: 2020 2020 2020 2020 2020 2020 2054 776f Two\n-0001f9b0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary\n-0001f9c0: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. \n+0001f910: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s\n+0001f920: 6f6c 6964 2e20 2020 2020 286c 696e 6520 olid. (line \n+0001f930: 2033 3529 0a2a 2062 6173 656c 696e 6520 35).* baseline \n+0001f940: 6672 6163 7469 6f6e 3a20 2020 2020 2020 fraction: \n+0001f950: 2020 2020 2020 2020 2020 2020 2020 5069 Pi\n+0001f960: 6374 7572 6520 626f 782e 2020 2020 2020 cture box. \n+0001f970: 2020 2028 6c69 6e65 2020 3130 290a 2a20 (line 10).* \n+0001f980: 6269 6e61 7279 2066 6f72 6d3a 2020 2020 binary form: \n+0001f990: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f9a0: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera\n+0001f9b0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n+0001f9c0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \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 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n-0001fa10: 290a 2a20 6269 6e61 7279 2073 7061 6365 ).* binary space\n-0001fa20: 2070 6172 7469 7469 6f6e 3a20 2020 2020 partition: \n-0001fa30: 2020 2020 2020 2020 2020 2048 6964 6465 Hidde\n-0001fa40: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova\n-0001fa50: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. \n+0001fa00: 2028 6c69 6e65 2020 2036 290a 2a20 6269 (line 6).* bi\n+0001fa10: 6e61 7279 2073 7061 6365 2070 6172 7469 nary space parti\n+0001fa20: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n+0001fa30: 2020 2020 2048 6964 6465 6e20 7375 7266 Hidden surf\n+0001fa40: 6163 6520 7265 6d6f 7661 6c2e 0a20 2020 ace 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 2020 2020 \n-0001fa90: 2028 6c69 6e65 2020 3233 290a 2a20 6269 (line 23).* bi\n-0001faa0: 6e61 7279 2073 7061 6365 2070 6172 7469 nary space parti\n-0001fab0: 7469 6f6e 203c 313e 3a20 2020 2020 2020 tion <1>: \n-0001fac0: 2020 2020 2053 7461 7469 7374 6963 732e Statistics.\n-0001fad0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001fae0: 2031 3329 0a2a 2062 696e 6172 7920 7370 13).* binary sp\n-0001faf0: 6163 6520 7061 7274 6974 696f 6e20 3c32 ace partition <2\n-0001fb00: 3e3a 2020 2020 2020 2020 2020 2020 436f >: Co\n-0001fb10: 6d6d 616e 6420 6c69 6e65 2e20 2020 2020 mmand line. \n-0001fb20: 2020 2028 6c69 6e65 2020 3236 290a 2a20 (line 26).* \n-0001fb30: 626c 6f63 6b3a 2020 2020 2020 2020 2020 block: \n+0001fa80: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001fa90: 2020 3233 290a 2a20 6269 6e61 7279 2073 23).* binary s\n+0001faa0: 7061 6365 2070 6172 7469 7469 6f6e 203c pace partition <\n+0001fab0: 313e 3a20 2020 2020 2020 2020 2020 2053 1>: S\n+0001fac0: 7461 7469 7374 6963 732e 2020 2020 2020 tatistics. \n+0001fad0: 2020 2020 286c 696e 6520 2031 3329 0a2a (line 13).*\n+0001fae0: 2062 696e 6172 7920 7370 6163 6520 7061 binary space pa\n+0001faf0: 7274 6974 696f 6e20 3c32 3e3a 2020 2020 rtition <2>: \n+0001fb00: 2020 2020 2020 2020 436f 6d6d 616e 6420 Command \n+0001fb10: 6c69 6e65 2e20 2020 2020 2020 2028 6c69 line. (li\n+0001fb20: 6e65 2020 3236 290a 2a20 626c 6f63 6b3a ne 26).* block:\n+0001fb30: 2020 2020 2020 2020 2020 2020 2020 2020 \n 0001fb40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fb50: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n-0001fb60: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin\n-0001fb70: 6520 2032 3429 0a2a 2062 6c6f 636b 203c e 24).* block <\n-0001fb80: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0001fb90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fba0: 5377 6570 7420 626c 6f63 6b73 2e20 2020 Swept blocks. \n-0001fbb0: 2020 2020 2028 6c69 6e65 2020 2037 290a (line 7).\n-0001fbc0: 2a20 626c 6f63 6b20 3c32 3e3a 2020 2020 * block <2>: \n+0001fb50: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n+0001fb60: 6d73 2e20 2020 286c 696e 6520 2032 3429 ms. (line 24)\n+0001fb70: 0a2a 2062 6c6f 636b 203c 313e 3a20 2020 .* block <1>: \n+0001fb80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001fb90: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+0001fba0: 626c 6f63 6b73 2e20 2020 2020 2020 2028 blocks. (\n+0001fbb0: 6c69 6e65 2020 2037 290a 2a20 626c 6f63 line 7).* bloc\n+0001fbc0: 6b20 3c32 3e3a 2020 2020 2020 2020 2020 k <2>: \n 0001fbd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fbe0: 2020 2020 2020 2020 2042 6c6f 636b 732e Blocks.\n-0001fbf0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0001fc00: 696e 6520 2020 3629 0a2a 2062 6c6f 636b ine 6).* block\n-0001fc10: 2073 7765 6570 3a20 2020 2020 2020 2020 sweep: \n-0001fc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fc30: 2020 5377 6570 7420 626c 6f63 6b73 2e20 Swept blocks. \n-0001fc40: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n-0001fc50: 290a 2a20 626f 6479 2070 6f6c 7967 6f6e ).* body polygon\n-0001fc60: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001fc70: 2020 2020 2020 2020 2020 2049 6e74 6572 Inter\n-0001fc80: 6e61 6c20 6f70 7469 6f6e 732e 2020 2020 nal options. \n-0001fc90: 286c 696e 6520 2031 3629 0a2a 2062 6f64 (line 16).* bod\n-0001fca0: 7920 706f 6c79 676f 6e20 3c31 3e3a 2020 y polygon <1>: \n-0001fcb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fcc0: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines.\n-0001fcd0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0001fce0: 3130 290a 2a20 626f 6479 2070 6f6c 7967 10).* body polyg\n-0001fcf0: 6f6e 203c 323e 3a20 2020 2020 2020 2020 on <2>: \n-0001fd00: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-0001fd10: 7074 2070 6f6c 7967 6f6e 732e 2020 2020 pt polygons. \n-0001fd20: 2020 286c 696e 6520 2020 3929 0a2a 2062 (line 9).* b\n-0001fd30: 6f75 6e64 696e 6720 626f 783a 2020 2020 ounding box: \n+0001fbe0: 2020 2042 6c6f 636b 732e 2020 2020 2020 Blocks. \n+0001fbf0: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n+0001fc00: 3629 0a2a 2062 6c6f 636b 2073 7765 6570 6).* block sweep\n+0001fc10: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001fc20: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n+0001fc30: 7420 626c 6f63 6b73 2e20 2020 2020 2020 t blocks. \n+0001fc40: 2028 6c69 6e65 2020 2036 290a 2a20 626f (line 6).* bo\n+0001fc50: 6479 2070 6f6c 7967 6f6e 3a20 2020 2020 dy polygon: \n+0001fc60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001fc70: 2020 2020 2049 6e74 6572 6e61 6c20 6f70 Internal op\n+0001fc80: 7469 6f6e 732e 2020 2020 286c 696e 6520 tions. (line \n+0001fc90: 2031 3629 0a2a 2062 6f64 7920 706f 6c79 16).* body poly\n+0001fca0: 676f 6e20 3c31 3e3a 2020 2020 2020 2020 gon <1>: \n+0001fcb0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n+0001fcc0: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. \n+0001fcd0: 2020 2028 6c69 6e65 2020 3130 290a 2a20 (line 10).* \n+0001fce0: 626f 6479 2070 6f6c 7967 6f6e 203c 323e body polygon <2>\n+0001fcf0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001fd00: 2020 2020 2020 2053 7765 7074 2070 6f6c Swept pol\n+0001fd10: 7967 6f6e 732e 2020 2020 2020 286c 696e ygons. (lin\n+0001fd20: 6520 2020 3929 0a2a 2062 6f75 6e64 696e e 9).* boundin\n+0001fd30: 6720 626f 783a 2020 2020 2020 2020 2020 g box: \n 0001fd40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fd50: 2020 2020 2020 5069 6374 7572 6520 626f Picture bo\n-0001fd60: 782e 2020 2020 2020 2020 2028 6c69 6e65 x. (line\n-0001fd70: 2020 3135 290a 2a20 4253 502c 2062 696e 15).* BSP, bin\n-0001fd80: 6172 7920 7370 6163 6520 7061 7274 6974 ary space partit\n-0001fd90: 696f 6e3a 2020 2020 2020 2020 2020 2048 ion: H\n-0001fda0: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re\n-0001fdb0: 6d6f 7661 6c2e 0a20 2020 2020 2020 2020 moval.. \n+0001fd50: 5069 6374 7572 6520 626f 782e 2020 2020 Picture box. \n+0001fd60: 2020 2020 2028 6c69 6e65 2020 3135 290a (line 15).\n+0001fd70: 2a20 4253 502c 2062 696e 6172 7920 7370 * BSP, binary sp\n+0001fd80: 6163 6520 7061 7274 6974 696f 6e3a 2020 ace partition: \n+0001fd90: 2020 2020 2020 2020 2048 6964 6465 6e20 Hidden \n+0001fda0: 7375 7266 6163 6520 7265 6d6f 7661 6c2e surface removal.\n+0001fdb0: 0a20 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: 2020 2020 2028 6c69 6e65 2020 3233 290a (line 23).\n-0001fe00: 2a20 4253 502c 2062 696e 6172 7920 7370 * BSP, binary sp\n-0001fe10: 6163 6520 7061 7274 6974 696f 6e20 3c31 ace partition <1\n-0001fe20: 3e3a 2020 2020 2020 2043 6f6d 6d61 6e64 >: Command\n-0001fe30: 206c 696e 652e 2020 2020 2020 2020 286c line. (l\n-0001fe40: 696e 6520 2032 3629 0a2a 2063 616d 6572 ine 26).* camer\n-0001fe50: 613a 2020 2020 2020 2020 2020 2020 2020 a: \n-0001fe60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fe70: 2020 4361 6d65 7261 2e20 2020 2020 2020 Camera. \n-0001fe80: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n-0001fe90: 290a 2a20 6365 6e74 6572 206f 6620 726f ).* center of ro\n-0001fea0: 7461 7469 6f6e 3a20 2020 2020 2020 2020 tation: \n-0001feb0: 2020 2020 2020 2020 2020 204f 626a 6563 Objec\n-0001fec0: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. \n-0001fed0: 286c 696e 6520 2020 3829 0a2a 2063 656e (line 8).* cen\n-0001fee0: 7465 7220 6f66 2072 6f74 6174 696f 6e20 ter of rotation \n-0001fef0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-0001ff00: 2020 2020 4e65 7374 6564 2073 7765 6570 Nested sweep\n-0001ff10: 732e 2020 2020 2020 2028 6c69 6e65 2020 s. (line \n-0001ff20: 2036 290a 2a20 6365 6e74 726f 6964 3a20 6).* centroid: \n+0001fde0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0001fdf0: 6c69 6e65 2020 3233 290a 2a20 4253 502c line 23).* BSP,\n+0001fe00: 2062 696e 6172 7920 7370 6163 6520 7061 binary space pa\n+0001fe10: 7274 6974 696f 6e20 3c31 3e3a 2020 2020 rtition <1>: \n+0001fe20: 2020 2043 6f6d 6d61 6e64 206c 696e 652e Command line.\n+0001fe30: 2020 2020 2020 2020 286c 696e 6520 2032 (line 2\n+0001fe40: 3629 0a2a 2063 616d 6572 613a 2020 2020 6).* camera: \n+0001fe50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001fe60: 2020 2020 2020 2020 2020 2020 4361 6d65 Came\n+0001fe70: 7261 2e20 2020 2020 2020 2020 2020 2020 ra. \n+0001fe80: 2028 6c69 6e65 2020 2036 290a 2a20 6365 (line 6).* ce\n+0001fe90: 6e74 6572 206f 6620 726f 7461 7469 6f6e nter of rotation\n+0001fea0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001feb0: 2020 2020 204f 626a 6563 7420 7472 616e Object tran\n+0001fec0: 7366 6f72 6d73 2e20 2020 286c 696e 6520 sforms. (line \n+0001fed0: 2020 3829 0a2a 2063 656e 7465 7220 6f66 8).* center of\n+0001fee0: 2072 6f74 6174 696f 6e20 3c31 3e3a 2020 rotation <1>: \n+0001fef0: 2020 2020 2020 2020 2020 2020 2020 4e65 Ne\n+0001ff00: 7374 6564 2073 7765 6570 732e 2020 2020 sted sweeps. \n+0001ff10: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+0001ff20: 6365 6e74 726f 6964 3a20 2020 2020 2020 centroid: \n 0001ff30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ff40: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n-0001ff50: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n-0001ff60: 2e20 286c 696e 6520 2036 3429 0a2a 2063 . (line 64).* c\n-0001ff70: 656e 7472 6f69 6420 3c31 3e3a 2020 2020 entroid <1>: \n+0001ff40: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n+0001ff50: 616c 2064 7261 7769 6e67 2e20 286c 696e al drawing. (lin\n+0001ff60: 6520 2036 3429 0a2a 2063 656e 7472 6f69 e 64).* centroi\n+0001ff70: 6420 3c31 3e3a 2020 2020 2020 2020 2020 d <1>: \n 0001ff80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ff90: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica\n-0001ffa0: 6c20 6472 6177 696e 672e 2028 6c69 6e65 l drawing. (line\n-0001ffb0: 2031 3032 290a 2a20 636c 6970 7069 6e67 102).* clipping\n-0001ffc0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001ffd0: 2020 2020 2020 2020 2020 2020 2020 2050 P\n-0001ffe0: 6963 7475 7265 2062 6f78 2e20 2020 2020 icture box. \n-0001fff0: 2020 2020 286c 696e 6520 2031 3729 0a2a (line 17).*\n-00020000: 2063 6c69 7070 696e 6720 3c31 3e3a 2020 clipping <1>: \n+0001ff90: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n+0001ffa0: 696e 672e 2028 6c69 6e65 2031 3032 290a ing. (line 102).\n+0001ffb0: 2a20 636c 6970 7069 6e67 3a20 2020 2020 * clipping: \n+0001ffc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ffd0: 2020 2020 2020 2020 2050 6963 7475 7265 Picture\n+0001ffe0: 2062 6f78 2e20 2020 2020 2020 2020 286c box. (l\n+0001fff0: 696e 6520 2031 3729 0a2a 2063 6c69 7070 ine 17).* clipp\n+00020000: 696e 6720 3c31 3e3a 2020 2020 2020 2020 ing <1>: \n 00020010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020020: 2020 2020 2020 2020 436c 6970 7069 6e67 Clipping\n-00020030: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li\n-00020040: 6e65 2020 2036 290a 2a20 636c 6f73 7572 ne 6).* closur\n-00020050: 6520 7461 672c 203c 3e3a 2020 2020 2020 e tag, <>: \n-00020060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020070: 2050 6f69 6e74 2073 7765 6570 732e 2020 Point sweeps. \n-00020080: 2020 2020 2020 286c 696e 6520 2031 3829 (line 18)\n-00020090: 0a2a 2063 6c6f 7375 7265 2074 6167 2c20 .* closure tag, \n-000200a0: 3c3e 203c 313e 3a20 2020 2020 2020 2020 <> <1>: \n-000200b0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli\n-000200c0: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c\n-000200d0: 6c6f 7375 7265 2e0a 2020 2020 2020 2020 losure.. \n+00020020: 2020 436c 6970 7069 6e67 2e20 2020 2020 Clipping. \n+00020030: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n+00020040: 290a 2a20 636c 6f73 7572 6520 7461 672c ).* closure tag,\n+00020050: 203c 3e3a 2020 2020 2020 2020 2020 2020 <>: \n+00020060: 2020 2020 2020 2020 2020 2050 6f69 6e74 Point\n+00020070: 2073 7765 6570 732e 2020 2020 2020 2020 sweeps. \n+00020080: 286c 696e 6520 2031 3829 0a2a 2063 6c6f (line 18).* clo\n+00020090: 7375 7265 2074 6167 2c20 3c3e 203c 313e sure tag, <> <1>\n+000200a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000200b0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n+000200c0: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure\n+000200d0: 2e0a 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 2020 2020 286c 696e 6520 2020 3629 (line 6)\n-00020120: 0a2a 2063 6c6f 7375 7265 2074 6167 2c20 .* closure tag, \n-00020130: 3c3e 203c 323e 3a20 2020 2020 2020 2020 <> <2>: \n-00020140: 2020 2020 2020 2020 2020 5377 6565 7073 Sweeps\n-00020150: 2e20 2020 2020 2020 2020 2020 2020 2028 . (\n-00020160: 6c69 6e65 2020 3139 290a 2a20 636c 6f73 line 19).* clos\n-00020170: 7572 6520 7461 672c 203c 3e20 3c33 3e3a ure tag, <> <3>:\n-00020180: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020190: 2020 2053 7765 7074 2070 6f69 6e74 732e Swept points.\n-000201a0: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n-000201b0: 3629 0a2a 2063 6c6f 7375 7265 2074 6167 6).* closure tag\n-000201c0: 2c20 3c3e 203c 343e 3a20 2020 2020 2020 , <> <4>: \n-000201d0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-000201e0: 7420 706f 696e 7473 2e20 2020 2020 2020 t points. \n-000201f0: 2028 6c69 6e65 2020 3133 290a 2a20 636c (line 13).* cl\n-00020200: 6f73 7572 6520 7461 672c 203c 3e20 3c35 osure tag, <> <5\n-00020210: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00020220: 2020 2020 2053 7765 7074 206c 696e 6573 Swept lines\n-00020230: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n-00020240: 2020 3629 0a2a 2063 6c6f 7375 7265 2074 6).* closure t\n-00020250: 6167 2c20 3c3e 203c 363e 3a20 2020 2020 ag, <> <6>: \n-00020260: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-00020270: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. \n-00020280: 2020 2028 6c69 6e65 2020 3238 290a 2a20 (line 28).* \n-00020290: 636c 6f73 7572 6520 7461 672c 203c 3e20 closure tag, <> \n-000202a0: 3c37 3e3a 2020 2020 2020 2020 2020 2020 <7>: \n-000202b0: 2020 2020 2020 2053 7765 6570 2066 6163 Sweep fac\n-000202c0: 6520 7370 6c69 7474 696e 672e 0a20 2020 e splitting.. \n+00020110: 286c 696e 6520 2020 3629 0a2a 2063 6c6f (line 6).* clo\n+00020120: 7375 7265 2074 6167 2c20 3c3e 203c 323e sure tag, <> <2>\n+00020130: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00020140: 2020 2020 5377 6565 7073 2e20 2020 2020 Sweeps. \n+00020150: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00020160: 3139 290a 2a20 636c 6f73 7572 6520 7461 19).* closure ta\n+00020170: 672c 203c 3e20 3c33 3e3a 2020 2020 2020 g, <> <3>: \n+00020180: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+00020190: 7074 2070 6f69 6e74 732e 2020 2020 2020 pt points. \n+000201a0: 2020 286c 696e 6520 2020 3629 0a2a 2063 (line 6).* c\n+000201b0: 6c6f 7375 7265 2074 6167 2c20 3c3e 203c losure tag, <> <\n+000201c0: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: \n+000201d0: 2020 2020 2020 5377 6570 7420 706f 696e Swept poin\n+000201e0: 7473 2e20 2020 2020 2020 2028 6c69 6e65 ts. (line\n+000201f0: 2020 3133 290a 2a20 636c 6f73 7572 6520 13).* closure \n+00020200: 7461 672c 203c 3e20 3c35 3e3a 2020 2020 tag, <> <5>: \n+00020210: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00020220: 7765 7074 206c 696e 6573 2e20 2020 2020 wept lines. \n+00020230: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+00020240: 2063 6c6f 7375 7265 2074 6167 2c20 3c3e closure tag, <>\n+00020250: 203c 363e 3a20 2020 2020 2020 2020 2020 <6>: \n+00020260: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li\n+00020270: 6e65 732e 2020 2020 2020 2020 2028 6c69 nes. (li\n+00020280: 6e65 2020 3238 290a 2a20 636c 6f73 7572 ne 28).* closur\n+00020290: 6520 7461 672c 203c 3e20 3c37 3e3a 2020 e tag, <> <7>: \n+000202a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000202b0: 2053 7765 6570 2066 6163 6520 7370 6c69 Sweep face spli\n+000202c0: 7474 696e 672e 0a20 2020 2020 2020 2020 tting.. \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 2020 2020 2028 6c69 6e65 (line\n-00020310: 2020 3131 290a 2a20 636f 6d6d 616e 6420 11).* command \n-00020320: 6c69 6e65 206f 7074 696f 6e3a 2020 2020 line option: \n-00020330: 2020 2020 2020 2020 2020 2020 2020 2048 H\n-00020340: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. \n-00020350: 2020 2020 286c 696e 6520 2033 3029 0a2a (line 30).*\n-00020360: 2063 6f6d 6d61 6e64 206c 696e 6520 6f70 command line op\n-00020370: 7469 6f6e 733a 2020 2020 2020 2020 2020 tions: \n-00020380: 2020 2020 2020 2020 436f 6d6d 616e 6420 Command \n-00020390: 6c69 6e65 2e20 2020 2020 2020 2028 6c69 line. (li\n-000203a0: 6e65 2020 3134 290a 2a20 636f 6d6d 616e ne 14).* comman\n-000203b0: 6420 6c69 6e65 2c20 736b 6574 6368 3a20 d line, sketch: \n-000203c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000203d0: 2048 656c 6c6f 2077 6f72 6c64 2e20 2020 Hello world. \n-000203e0: 2020 2020 2020 286c 696e 6520 2020 3929 (line 9)\n-000203f0: 0a2a 2063 6f6d 6d61 6e64 206c 696e 652c .* command line,\n-00020400: 2073 6b65 7463 6820 3c31 3e3a 2020 2020 sketch <1>: \n-00020410: 2020 2020 2020 2020 2020 436f 6d6d 616e Comman\n-00020420: 6420 6c69 6e65 2e20 2020 2020 2020 2028 d line. (\n-00020430: 6c69 6e65 2020 2036 290a 2a20 636f 6d6d line 6).* comm\n-00020440: 656e 7473 3a20 2020 2020 2020 2020 2020 ents: \n-00020450: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020460: 2020 2044 7261 7769 6e67 2061 2073 6f6c Drawing a sol\n-00020470: 6964 2e20 2020 2020 286c 696e 6520 2032 id. (line 2\n-00020480: 3829 0a2a 2063 6f6d 6d65 6e74 7320 3c31 8).* comments <1\n-00020490: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-000204a0: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang\n-000204b0: 7561 6765 2062 6173 6963 732e 2020 2020 uage basics. \n-000204c0: 2028 6c69 6e65 2020 3138 290a 2a20 636f (line 18).* co\n-000204d0: 6e73 7472 7563 746f 723a 2020 2020 2020 nstructor: \n-000204e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000204f0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n-00020500: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line \n-00020510: 2020 3629 0a2a 2063 6f6f 7264 696e 6174 6).* coordinat\n-00020520: 6520 7379 7374 656d 2c20 7269 6768 742d e system, right-\n-00020530: 6861 6e64 6564 3a20 2020 2020 2020 496e handed: In\n-00020540: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex\n-00020550: 616d 706c 652e 0a20 2020 2020 2020 2020 ample.. \n+00020300: 2020 2020 2028 6c69 6e65 2020 3131 290a (line 11).\n+00020310: 2a20 636f 6d6d 616e 6420 6c69 6e65 206f * command line o\n+00020320: 7074 696f 6e3a 2020 2020 2020 2020 2020 ption: \n+00020330: 2020 2020 2020 2020 2048 656c 6c6f 2077 Hello w\n+00020340: 6f72 6c64 2e20 2020 2020 2020 2020 286c orld. (l\n+00020350: 696e 6520 2033 3029 0a2a 2063 6f6d 6d61 ine 30).* comma\n+00020360: 6e64 206c 696e 6520 6f70 7469 6f6e 733a nd line options:\n+00020370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020380: 2020 436f 6d6d 616e 6420 6c69 6e65 2e20 Command line. \n+00020390: 2020 2020 2020 2028 6c69 6e65 2020 3134 (line 14\n+000203a0: 290a 2a20 636f 6d6d 616e 6420 6c69 6e65 ).* command line\n+000203b0: 2c20 736b 6574 6368 3a20 2020 2020 2020 , sketch: \n+000203c0: 2020 2020 2020 2020 2020 2048 656c 6c6f Hello\n+000203d0: 2077 6f72 6c64 2e20 2020 2020 2020 2020 world. \n+000203e0: 286c 696e 6520 2020 3929 0a2a 2063 6f6d (line 9).* com\n+000203f0: 6d61 6e64 206c 696e 652c 2073 6b65 7463 mand line, sketc\n+00020400: 6820 3c31 3e3a 2020 2020 2020 2020 2020 h <1>: \n+00020410: 2020 2020 436f 6d6d 616e 6420 6c69 6e65 Command line\n+00020420: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line \n+00020430: 2036 290a 2a20 636f 6d6d 656e 7473 3a20 6).* comments: \n+00020440: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020450: 2020 2020 2020 2020 2020 2020 2044 7261 Dra\n+00020460: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. \n+00020470: 2020 286c 696e 6520 2032 3829 0a2a 2063 (line 28).* c\n+00020480: 6f6d 6d65 6e74 7320 3c31 3e3a 2020 2020 omments <1>: \n+00020490: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000204a0: 2020 2020 2020 4c61 6e67 7561 6765 2062 Language b\n+000204b0: 6173 6963 732e 2020 2020 2028 6c69 6e65 asics. (line\n+000204c0: 2020 3138 290a 2a20 636f 6e73 7472 7563 18).* construc\n+000204d0: 746f 723a 2020 2020 2020 2020 2020 2020 tor: \n+000204e0: 2020 2020 2020 2020 2020 2020 2020 2054 T\n+000204f0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n+00020500: 732e 2020 286c 696e 6520 2020 3629 0a2a s. (line 6).*\n+00020510: 2063 6f6f 7264 696e 6174 6520 7379 7374 coordinate syst\n+00020520: 656d 2c20 7269 6768 742d 6861 6e64 6564 em, right-handed\n+00020530: 3a20 2020 2020 2020 496e 7472 6f64 7563 : Introduc\n+00020540: 7469 6f6e 2062 7920 6578 616d 706c 652e tion by example.\n+00020550: 0a20 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: 2020 2020 2028 6c69 6e65 2020 3131 290a (line 11).\n-000205a0: 2a20 636f 756e 7465 722d 636c 6f63 6b77 * counter-clockw\n-000205b0: 6973 6520 706f 6c79 676f 6e20 7665 7274 ise polygon vert\n-000205c0: 6578 206f 7264 6572 3a20 4865 6c6c 6f20 ex order: Hello \n-000205d0: 776f 726c 642e 2020 2020 2020 2020 286c world. (l\n-000205e0: 696e 6520 2033 3929 0a2a 2063 756c 6c69 ine 39).* culli\n-000205f0: 6e67 3a20 2020 2020 2020 2020 2020 2020 ng: \n-00020600: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020610: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. \n-00020620: 2020 2020 2020 2028 6c69 6e65 2020 3433 (line 43\n-00020630: 290a 2a20 6375 6c6c 696e 6720 3c31 3e3a ).* culling <1>:\n+00020580: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00020590: 6c69 6e65 2020 3131 290a 2a20 636f 756e line 11).* coun\n+000205a0: 7465 722d 636c 6f63 6b77 6973 6520 706f ter-clockwise po\n+000205b0: 6c79 676f 6e20 7665 7274 6578 206f 7264 lygon vertex ord\n+000205c0: 6572 3a20 4865 6c6c 6f20 776f 726c 642e er: Hello world.\n+000205d0: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3\n+000205e0: 3929 0a2a 2063 756c 6c69 6e67 3a20 2020 9).* culling: \n+000205f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020600: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell\n+00020610: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. \n+00020620: 2028 6c69 6e65 2020 3433 290a 2a20 6375 (line 43).* cu\n+00020630: 6c6c 696e 6720 3c31 3e3a 2020 2020 2020 lling <1>: \n 00020640: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020650: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi\n-00020660: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. \n-00020670: 286c 696e 6520 2033 3529 0a2a 2063 756c (line 35).* cul\n-00020680: 6c69 6e67 203c 323e 3a20 2020 2020 2020 ling <2>: \n-00020690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000206a0: 2020 2020 4472 6177 696e 6720 6120 736f Drawing a so\n-000206b0: 6c69 642e 2020 2020 2028 6c69 6e65 2020 lid. (line \n-000206c0: 3431 290a 2a20 6375 6c6c 696e 6720 3c33 41).* culling <3\n-000206d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-000206e0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-000206f0: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. \n-00020700: 2020 286c 696e 6520 2031 3629 0a2a 2064 (line 16).* d\n-00020710: 6563 6c61 7261 7469 7665 206c 616e 6775 eclarative langu\n-00020720: 6167 653a 2020 2020 2020 2020 2020 2020 age: \n-00020730: 2020 2020 2020 4c61 6e67 7561 6765 2062 Language b\n-00020740: 6173 6963 732e 2020 2020 2028 6c69 6e65 asics. (line\n-00020750: 2020 2038 290a 2a20 6465 6669 6e69 7469 8).* definiti\n-00020760: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n-00020770: 2020 2020 2020 2020 2020 2020 2020 2044 D\n-00020780: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. \n-00020790: 2020 2020 286c 696e 6520 2032 3229 0a2a (line 22).*\n-000207a0: 2064 6566 696e 6974 696f 6e20 3c31 3e3a definition <1>:\n+00020650: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s\n+00020660: 6f6c 6964 2e20 2020 2020 286c 696e 6520 olid. (line \n+00020670: 2033 3529 0a2a 2063 756c 6c69 6e67 203c 35).* culling <\n+00020680: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n+00020690: 2020 2020 2020 2020 2020 2020 2020 4472 Dr\n+000206a0: 6177 696e 6720 6120 736f 6c69 642e 2020 awing a solid. \n+000206b0: 2020 2028 6c69 6e65 2020 3431 290a 2a20 (line 41).* \n+000206c0: 6375 6c6c 696e 6720 3c33 3e3a 2020 2020 culling <3>: \n+000206d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000206e0: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin\n+000206f0: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin\n+00020700: 6520 2031 3629 0a2a 2064 6563 6c61 7261 e 16).* declara\n+00020710: 7469 7665 206c 616e 6775 6167 653a 2020 tive language: \n+00020720: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020730: 4c61 6e67 7561 6765 2062 6173 6963 732e Language basics.\n+00020740: 2020 2020 2028 6c69 6e65 2020 2038 290a (line 8).\n+00020750: 2a20 6465 6669 6e69 7469 6f6e 3a20 2020 * definition: \n+00020760: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020770: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing\n+00020780: 2061 2073 6f6c 6964 2e20 2020 2020 286c a solid. (l\n+00020790: 696e 6520 2032 3229 0a2a 2064 6566 696e ine 22).* defin\n+000207a0: 6974 696f 6e20 3c31 3e3a 2020 2020 2020 ition <1>: \n 000207b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000207c0: 2020 2020 2020 2020 4465 6669 6e69 7469 Definiti\n-000207d0: 6f6e 732e 2020 2020 2020 2020 2028 6c69 ons. (li\n-000207e0: 6e65 2020 2036 290a 2a20 6465 6669 6e69 ne 6).* defini\n-000207f0: 7469 6f6e 2077 6974 6820 616c 7465 726e tion with altern\n-00020800: 6174 6976 6573 3a20 2020 2020 2020 2020 atives: \n-00020810: 2046 6f72 6d73 206f 6620 6465 6669 6e69 Forms of defini\n-00020820: 7469 6f6e 732e 0a20 2020 2020 2020 2020 tions.. \n+000207c0: 2020 4465 6669 6e69 7469 6f6e 732e 2020 Definitions. \n+000207d0: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n+000207e0: 290a 2a20 6465 6669 6e69 7469 6f6e 2077 ).* definition w\n+000207f0: 6974 6820 616c 7465 726e 6174 6976 6573 ith alternatives\n+00020800: 3a20 2020 2020 2020 2020 2046 6f72 6d73 : Forms\n+00020810: 206f 6620 6465 6669 6e69 7469 6f6e 732e of definitions.\n+00020820: 0a20 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: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-00020870: 2a20 6465 6669 6e69 7469 6f6e 2c20 6472 * definition, dr\n-00020880: 6177 6162 6c65 3a20 2020 2020 2020 2020 awable: \n-00020890: 2020 2020 2020 2020 204f 626a 6563 7420 Object \n-000208a0: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l\n-000208b0: 696e 6520 2032 3729 0a2a 2064 6566 696e ine 27).* defin\n-000208c0: 6974 696f 6e2c 206f 7074 696f 6e73 3a20 ition, options: \n-000208d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000208e0: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n-000208f0: 7320 7769 7468 2063 6c6f 7375 7265 2e0a s with closure..\n+00020850: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00020860: 6c69 6e65 2020 2036 290a 2a20 6465 6669 line 6).* defi\n+00020870: 6e69 7469 6f6e 2c20 6472 6177 6162 6c65 nition, drawable\n+00020880: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00020890: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n+000208a0: 6f72 6d73 2e20 2020 286c 696e 6520 2032 orms. (line 2\n+000208b0: 3729 0a2a 2064 6566 696e 6974 696f 6e2c 7).* definition,\n+000208c0: 206f 7074 696f 6e73 3a20 2020 2020 2020 options: \n+000208d0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n+000208e0: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with\n+000208f0: 2063 6c6f 7375 7265 2e0a 2020 2020 2020 closure.. \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 2020 2020 286c (l\n-00020940: 696e 6520 2032 3329 0a2a 2064 6566 696e ine 23).* defin\n-00020950: 6974 696f 6e2c 2070 6f69 6e74 3a20 2020 ition, point: \n-00020960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020970: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli\n-00020980: 642e 2020 2020 2028 6c69 6e65 2020 3233 d. (line 23\n-00020990: 290a 2a20 6465 6669 6e69 7469 6f6e 2c20 ).* definition, \n-000209a0: 7363 616c 6172 3a20 2020 2020 2020 2020 scalar: \n-000209b0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-000209c0: 206f 626a 6563 7473 2e20 2020 2020 2020 objects. \n-000209d0: 286c 696e 6520 2031 3329 0a2a 2064 6566 (line 13).* def\n-000209e0: 696e 6974 696f 6e2c 2073 696d 706c 653a inition, simple:\n-000209f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020a00: 2020 2020 466f 726d 7320 6f66 2064 6566 Forms of def\n-00020a10: 696e 6974 696f 6e73 2e0a 2020 2020 2020 initions.. \n+00020930: 2020 2020 2020 2020 286c 696e 6520 2032 (line 2\n+00020940: 3329 0a2a 2064 6566 696e 6974 696f 6e2c 3).* definition,\n+00020950: 2070 6f69 6e74 3a20 2020 2020 2020 2020 point: \n+00020960: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n+00020970: 696e 6720 6120 736f 6c69 642e 2020 2020 ing a solid. \n+00020980: 2028 6c69 6e65 2020 3233 290a 2a20 6465 (line 23).* de\n+00020990: 6669 6e69 7469 6f6e 2c20 7363 616c 6172 finition, scalar\n+000209a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000209b0: 2020 2020 2053 7765 7074 206f 626a 6563 Swept objec\n+000209c0: 7473 2e20 2020 2020 2020 286c 696e 6520 ts. (line \n+000209d0: 2031 3329 0a2a 2064 6566 696e 6974 696f 13).* definitio\n+000209e0: 6e2c 2073 696d 706c 653a 2020 2020 2020 n, simple: \n+000209f0: 2020 2020 2020 2020 2020 2020 2020 466f Fo\n+00020a00: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio\n+00020a10: 6e73 2e0a 2020 2020 2020 2020 2020 2020 ns.. \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 2020 2020 286c 696e 6520 2020 (line \n-00020a60: 3629 0a2a 2064 6566 696e 6974 696f 6e2c 6).* definition,\n-00020a70: 2074 6167 3a20 2020 2020 2020 2020 2020 tag: \n-00020a80: 2020 2020 2020 2020 2020 2020 4465 6669 Defi\n-00020a90: 6e69 7469 6f6e 732e 2020 2020 2020 2020 nitions. \n-00020aa0: 2028 6c69 6e65 2020 3138 290a 2a20 6465 (line 18).* de\n-00020ab0: 6669 6e69 7469 6f6e 2c20 7461 6720 3c31 finition, tag <1\n-00020ac0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00020ad0: 2020 2020 2046 6f72 6d73 206f 6620 6465 Forms of de\n-00020ae0: 6669 6e69 7469 6f6e 732e 0a20 2020 2020 finitions.. \n+00020a50: 2020 286c 696e 6520 2020 3629 0a2a 2064 (line 6).* d\n+00020a60: 6566 696e 6974 696f 6e2c 2074 6167 3a20 efinition, tag: \n+00020a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020a80: 2020 2020 2020 4465 6669 6e69 7469 6f6e Definition\n+00020a90: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line\n+00020aa0: 2020 3138 290a 2a20 6465 6669 6e69 7469 18).* definiti\n+00020ab0: 6f6e 2c20 7461 6720 3c31 3e3a 2020 2020 on, tag <1>: \n+00020ac0: 2020 2020 2020 2020 2020 2020 2020 2046 F\n+00020ad0: 6f72 6d73 206f 6620 6465 6669 6e69 7469 orms of definiti\n+00020ae0: 6f6e 732e 0a20 2020 2020 2020 2020 2020 ons.. \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 2020 2020 2028 6c69 6e65 2020 (line \n-00020b30: 2037 290a 2a20 6465 6669 6e69 7469 6f6e 7).* definition\n-00020b40: 2c20 7461 6720 3c32 3e3a 2020 2020 2020 , tag <2>: \n-00020b50: 2020 2020 2020 2020 2020 2020 2043 6f6d Com\n-00020b60: 6d61 6e64 206c 696e 652e 2020 2020 2020 mand line. \n-00020b70: 2020 286c 696e 6520 2035 3329 0a2a 2064 (line 53).* d\n-00020b80: 6566 696e 6974 696f 6e2c 2074 7261 6e73 efinition, trans\n-00020b90: 666f 726d 3a20 2020 2020 2020 2020 2020 form: \n-00020ba0: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n-00020bb0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00020bc0: 2020 3335 290a 2a20 6465 6669 6e69 7469 35).* definiti\n-00020bd0: 6f6e 2c20 7665 6374 6f72 3a20 2020 2020 on, vector: \n-00020be0: 2020 2020 2020 2020 2020 2020 2020 2050 P\n-00020bf0: 6f6c 796c 696e 6520 7377 6565 7073 2e20 olyline sweeps. \n-00020c00: 2020 2020 286c 696e 6520 2031 3929 0a2a (line 19).*\n-00020c10: 2064 6570 7468 2073 6f72 743a 2020 2020 depth sort: \n+00020b20: 2020 2028 6c69 6e65 2020 2037 290a 2a20 (line 7).* \n+00020b30: 6465 6669 6e69 7469 6f6e 2c20 7461 6720 definition, tag \n+00020b40: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n+00020b50: 2020 2020 2020 2043 6f6d 6d61 6e64 206c Command l\n+00020b60: 696e 652e 2020 2020 2020 2020 286c 696e ine. (lin\n+00020b70: 6520 2035 3329 0a2a 2064 6566 696e 6974 e 53).* definit\n+00020b80: 696f 6e2c 2074 7261 6e73 666f 726d 3a20 ion, transform: \n+00020b90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020ba0: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. \n+00020bb0: 2020 2020 2028 6c69 6e65 2020 3335 290a (line 35).\n+00020bc0: 2a20 6465 6669 6e69 7469 6f6e 2c20 7665 * definition, ve\n+00020bd0: 6374 6f72 3a20 2020 2020 2020 2020 2020 ctor: \n+00020be0: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin\n+00020bf0: 6520 7377 6565 7073 2e20 2020 2020 286c e sweeps. (l\n+00020c00: 696e 6520 2031 3929 0a2a 2064 6570 7468 ine 19).* depth\n+00020c10: 2073 6f72 743a 2020 2020 2020 2020 2020 sort: \n 00020c20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020c30: 2020 2020 2020 2020 496e 7465 726e 616c Internal\n-00020c40: 206f 7074 696f 6e73 2e20 2020 2028 6c69 options. (li\n-00020c50: 6e65 2020 3133 290a 2a20 6465 7074 6820 ne 13).* depth \n-00020c60: 736f 7274 203c 313e 3a20 2020 2020 2020 sort <1>: \n-00020c70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020c80: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface \n-00020c90: 7265 6d6f 7661 6c2e 0a20 2020 2020 2020 removal.. \n+00020c30: 2020 496e 7465 726e 616c 206f 7074 696f Internal optio\n+00020c40: 6e73 2e20 2020 2028 6c69 6e65 2020 3133 ns. (line 13\n+00020c50: 290a 2a20 6465 7074 6820 736f 7274 203c ).* depth sort <\n+00020c60: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00020c70: 2020 2020 2020 2020 2020 2048 6964 6465 Hidde\n+00020c80: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova\n+00020c90: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. \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 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n-00020ce0: 290a 2a20 6465 7074 6820 736f 7274 203c ).* depth sort <\n-00020cf0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n-00020d00: 2020 2020 2020 2020 2020 2042 7567 7320 Bugs \n-00020d10: 616e 6420 616e 6f6d 616c 6965 732e 2020 and anomalies. \n-00020d20: 286c 696e 6520 2020 3829 0a2a 2064 6972 (line 8).* dir\n-00020d30: 6563 7420 7472 616e 7366 6f72 6d3a 2020 ect transform: \n-00020d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020d50: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n-00020d60: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line \n-00020d70: 3437 290a 2a20 6469 7265 6374 2074 7261 47).* direct tra\n-00020d80: 6e73 666f 726d 203c 313e 3a20 2020 2020 nsform <1>: \n-00020d90: 2020 2020 2020 2020 2020 2020 2054 7261 Tra\n-00020da0: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n-00020db0: 2020 286c 696e 6520 2035 3329 0a2a 2064 (line 53).* d\n-00020dc0: 6f63 756d 656e 7420 7465 6d70 6c61 7465 ocument template\n-00020dd0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00020de0: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl\n-00020df0: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line\n-00020e00: 2020 3332 290a 2a20 646f 6375 6d65 6e74 32).* document\n-00020e10: 2074 656d 706c 6174 6520 3c31 3e3a 2020 template <1>: \n-00020e20: 2020 2020 2020 2020 2020 2020 2020 2043 C\n-00020e30: 6f6d 6d61 6e64 206c 696e 652e 2020 2020 ommand line. \n-00020e40: 2020 2020 286c 696e 6520 2033 3629 0a2a (line 36).*\n-00020e50: 2064 7261 7761 626c 653a 2020 2020 2020 drawable: \n+00020cd0: 2028 6c69 6e65 2020 2036 290a 2a20 6465 (line 6).* de\n+00020ce0: 7074 6820 736f 7274 203c 323e 3a20 2020 pth sort <2>: \n+00020cf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020d00: 2020 2020 2042 7567 7320 616e 6420 616e Bugs and an\n+00020d10: 6f6d 616c 6965 732e 2020 286c 696e 6520 omalies. (line \n+00020d20: 2020 3829 0a2a 2064 6972 6563 7420 7472 8).* direct tr\n+00020d30: 616e 7366 6f72 6d3a 2020 2020 2020 2020 ansform: \n+00020d40: 2020 2020 2020 2020 2020 2020 2020 5472 Tr\n+00020d50: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n+00020d60: 2e20 2028 6c69 6e65 2020 3437 290a 2a20 . (line 47).* \n+00020d70: 6469 7265 6374 2074 7261 6e73 666f 726d direct transform\n+00020d80: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+00020d90: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n+00020da0: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin\n+00020db0: 6520 2035 3329 0a2a 2064 6f63 756d 656e e 53).* documen\n+00020dc0: 7420 7465 6d70 6c61 7465 3a20 2020 2020 t template: \n+00020dd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020de0: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. \n+00020df0: 2020 2020 2028 6c69 6e65 2020 3332 290a (line 32).\n+00020e00: 2a20 646f 6375 6d65 6e74 2074 656d 706c * document templ\n+00020e10: 6174 6520 3c31 3e3a 2020 2020 2020 2020 ate <1>: \n+00020e20: 2020 2020 2020 2020 2043 6f6d 6d61 6e64 Command\n+00020e30: 206c 696e 652e 2020 2020 2020 2020 286c line. (l\n+00020e40: 696e 6520 2033 3629 0a2a 2064 7261 7761 ine 36).* drawa\n+00020e50: 626c 653a 2020 2020 2020 2020 2020 2020 ble: \n 00020e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020e70: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t\n-00020e80: 7261 6e73 666f 726d 732e 2020 2028 6c69 ransforms. (li\n-00020e90: 6e65 2020 3237 290a 2a20 6472 6177 6162 ne 27).* drawab\n-00020ea0: 6c65 203c 313e 3a20 2020 2020 2020 2020 le <1>: \n-00020eb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020ec0: 2044 7261 7761 626c 6573 2e20 2020 2020 Drawables. \n-00020ed0: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n-00020ee0: 0a2a 2064 7261 7761 626c 6520 6465 6669 .* drawable defi\n-00020ef0: 6e69 7469 6f6e 3a20 2020 2020 2020 2020 nition: \n-00020f00: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object\n-00020f10: 2074 7261 6e73 666f 726d 732e 2020 2028 transforms. (\n-00020f20: 6c69 6e65 2020 3237 290a 2a20 6472 6177 line 27).* draw\n-00020f30: 6162 6c65 2072 6566 6572 656e 6365 3a20 able reference: \n-00020f40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020f50: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe\n-00020f60: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1\n-00020f70: 3729 0a2a 2065 6e64 2070 6f6c 7967 6f6e 7).* end polygon\n-00020f80: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00020f90: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-00020fa0: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. \n-00020fb0: 2028 6c69 6e65 2020 3338 290a 2a20 656e (line 38).* en\n-00020fc0: 6420 706f 6c79 676f 6e20 3c31 3e3a 2020 d polygon <1>: \n-00020fd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020fe0: 2020 2020 2053 7765 7074 2070 6f6c 7967 Swept polyg\n-00020ff0: 6f6e 732e 2020 2020 2020 286c 696e 6520 ons. (line \n-00021000: 2031 3529 0a2a 2066 6163 6573 3a20 2020 15).* faces: \n+00020e70: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n+00020e80: 726d 732e 2020 2028 6c69 6e65 2020 3237 rms. (line 27\n+00020e90: 290a 2a20 6472 6177 6162 6c65 203c 313e ).* drawable <1>\n+00020ea0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00020eb0: 2020 2020 2020 2020 2020 2044 7261 7761 Drawa\n+00020ec0: 626c 6573 2e20 2020 2020 2020 2020 2020 bles. \n+00020ed0: 286c 696e 6520 2020 3629 0a2a 2064 7261 (line 6).* dra\n+00020ee0: 7761 626c 6520 6465 6669 6e69 7469 6f6e wable definition\n+00020ef0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00020f00: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n+00020f10: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line \n+00020f20: 3237 290a 2a20 6472 6177 6162 6c65 2072 27).* drawable r\n+00020f30: 6566 6572 656e 6365 3a20 2020 2020 2020 eference: \n+00020f40: 2020 2020 2020 2020 2020 2020 2046 6f72 For\n+00020f50: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n+00020f60: 2e20 286c 696e 6520 2031 3729 0a2a 2065 . (line 17).* e\n+00020f70: 6e64 2070 6f6c 7967 6f6e 3a20 2020 2020 nd polygon: \n+00020f80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020f90: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line\n+00020fa0: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line\n+00020fb0: 2020 3338 290a 2a20 656e 6420 706f 6c79 38).* end poly\n+00020fc0: 676f 6e20 3c31 3e3a 2020 2020 2020 2020 gon <1>: \n+00020fd0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00020fe0: 7765 7074 2070 6f6c 7967 6f6e 732e 2020 wept polygons. \n+00020ff0: 2020 2020 286c 696e 6520 2031 3529 0a2a (line 15).*\n+00021000: 2066 6163 6573 3a20 2020 2020 2020 2020 faces: \n 00021010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021020: 2020 2020 2020 2020 2020 2020 2020 4472 Dr\n-00021030: 6177 696e 6720 6120 736f 6c69 642e 2020 awing a solid. \n-00021040: 2020 2028 6c69 6e65 2020 2037 290a 2a20 (line 7).* \n-00021050: 6661 6365 7320 3c31 3e3a 2020 2020 2020 faces <1>: \n+00021020: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n+00021030: 6120 736f 6c69 642e 2020 2020 2028 6c69 a solid. (li\n+00021040: 6e65 2020 2037 290a 2a20 6661 6365 7320 ne 7).* faces \n+00021050: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n 00021060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021070: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n-00021080: 7377 6565 7073 2e20 2020 2020 286c 696e sweeps. (lin\n-00021090: 6520 2020 3629 0a2a 2066 696c 652c 2069 e 6).* file, i\n-000210a0: 6e63 6c75 6465 3a20 2020 2020 2020 2020 nclude: \n-000210b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000210c0: 4c61 6e67 7561 6765 2062 6173 6963 732e Language basics.\n-000210d0: 2020 2020 2028 6c69 6e65 2020 3139 290a (line 19).\n-000210e0: 2a20 6669 6c65 2c20 696e 7075 743a 2020 * file, input: \n+00021070: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n+00021080: 2e20 2020 2020 286c 696e 6520 2020 3629 . (line 6)\n+00021090: 0a2a 2066 696c 652c 2069 6e63 6c75 6465 .* file, include\n+000210a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000210b0: 2020 2020 2020 2020 2020 4c61 6e67 7561 Langua\n+000210c0: 6765 2062 6173 6963 732e 2020 2020 2028 ge basics. (\n+000210d0: 6c69 6e65 2020 3139 290a 2a20 6669 6c65 line 19).* file\n+000210e0: 2c20 696e 7075 743a 2020 2020 2020 2020 , input: \n 000210f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021100: 2020 2020 2020 2020 204c 616e 6775 6167 Languag\n-00021110: 6520 6261 7369 6373 2e20 2020 2020 286c e basics. (l\n-00021120: 696e 6520 2020 3629 0a2a 2066 7261 6d65 ine 6).* frame\n-00021130: 2062 6f78 3a20 2020 2020 2020 2020 2020 box: \n-00021140: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021150: 2020 4672 616d 652e 2020 2020 2020 2020 Frame. \n-00021160: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n-00021170: 290a 2a20 676c 6f62 616c 206f 7074 696f ).* global optio\n-00021180: 6e73 3a20 2020 2020 2020 2020 2020 2020 ns: \n-00021190: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi\n-000211a0: 6e67 206f 7074 696f 6e73 2e20 2020 2020 ng options. \n-000211b0: 286c 696e 6520 2031 3829 0a2a 2067 6c6f (line 18).* glo\n-000211c0: 6261 6c20 6f70 7469 6f6e 7320 3c31 3e3a bal options <1>:\n-000211d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000211e0: 2020 2020 476c 6f62 616c 206f 7074 696f Global optio\n-000211f0: 6e73 2e20 2020 2020 2028 6c69 6e65 2020 ns. (line \n-00021200: 2036 290a 2a20 6865 6c69 783a 2020 2020 6).* helix: \n+00021100: 2020 204c 616e 6775 6167 6520 6261 7369 Language basi\n+00021110: 6373 2e20 2020 2020 286c 696e 6520 2020 cs. (line \n+00021120: 3629 0a2a 2066 7261 6d65 2062 6f78 3a20 6).* frame box: \n+00021130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021140: 2020 2020 2020 2020 2020 2020 4672 616d Fram\n+00021150: 652e 2020 2020 2020 2020 2020 2020 2020 e. \n+00021160: 2028 6c69 6e65 2020 2036 290a 2a20 676c (line 6).* gl\n+00021170: 6f62 616c 206f 7074 696f 6e73 3a20 2020 obal options: \n+00021180: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021190: 2020 2020 2044 7261 7769 6e67 206f 7074 Drawing opt\n+000211a0: 696f 6e73 2e20 2020 2020 286c 696e 6520 ions. (line \n+000211b0: 2031 3829 0a2a 2067 6c6f 6261 6c20 6f70 18).* global op\n+000211c0: 7469 6f6e 7320 3c31 3e3a 2020 2020 2020 tions <1>: \n+000211d0: 2020 2020 2020 2020 2020 2020 2020 476c Gl\n+000211e0: 6f62 616c 206f 7074 696f 6e73 2e20 2020 obal options. \n+000211f0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00021200: 6865 6c69 783a 2020 2020 2020 2020 2020 helix: \n 00021210: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021220: 2020 2020 2020 2020 2020 2020 2044 7261 Dra\n-00021230: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. \n-00021240: 2020 286c 696e 6520 2034 3729 0a2a 2068 (line 47).* h\n-00021250: 656c 6978 203c 313e 3a20 2020 2020 2020 elix <1>: \n+00021220: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a\n+00021230: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin\n+00021240: 6520 2034 3729 0a2a 2068 656c 6978 203c e 47).* helix <\n+00021250: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n 00021260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021270: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n-00021280: 7765 6570 732e 2020 2020 2028 6c69 6e65 weeps. (line\n-00021290: 2020 3135 290a 2a20 6865 6c6c 6f20 776f 15).* hello wo\n-000212a0: 726c 643a 2020 2020 2020 2020 2020 2020 rld: \n-000212b0: 2020 2020 2020 2020 2020 2020 2020 2048 H\n-000212c0: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. \n-000212d0: 2020 2020 286c 696e 6520 2020 3729 0a2a (line 7).*\n-000212e0: 2068 6964 6465 6e20 7375 7266 6163 6520 hidden surface \n-000212f0: 616c 676f 7269 7468 6d3a 2020 2020 2020 algorithm: \n-00021300: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo\n-00021310: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li\n-00021320: 6e65 2020 3139 290a 2a20 6869 6464 656e ne 19).* hidden\n-00021330: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit\n-00021340: 686d 203c 313e 3a20 2020 2020 2020 2020 hm <1>: \n-00021350: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects\n-00021360: 2e20 2020 2020 286c 696e 6520 2034 3829 . (line 48)\n-00021370: 0a2a 2068 6964 6465 6e20 7375 7266 6163 .* hidden surfac\n-00021380: 6520 616c 676f 7269 7468 6d20 3c32 3e3a e algorithm <2>:\n-00021390: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n-000213a0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n-000213b0: 6c69 6e65 2020 3234 290a 2a20 6869 6464 line 24).* hidd\n-000213c0: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor\n-000213d0: 6974 686d 203c 333e 3a20 2020 2020 2020 ithm <3>: \n-000213e0: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n-000213f0: 7261 7769 6e67 2e20 286c 696e 6520 2032 rawing. (line 2\n-00021400: 3529 0a2a 2068 6964 6465 6e20 7375 7266 5).* hidden surf\n-00021410: 6163 6520 616c 676f 7269 7468 6d20 3c34 ace algorithm <4\n-00021420: 3e3a 2020 2020 2020 2020 2020 4869 6464 >: Hidd\n-00021430: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov\n-00021440: 616c 2e0a 2020 2020 2020 2020 2020 2020 al.. \n+00021270: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps.\n+00021280: 2020 2020 2028 6c69 6e65 2020 3135 290a (line 15).\n+00021290: 2a20 6865 6c6c 6f20 776f 726c 643a 2020 * hello world: \n+000212a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000212b0: 2020 2020 2020 2020 2048 656c 6c6f 2077 Hello w\n+000212c0: 6f72 6c64 2e20 2020 2020 2020 2020 286c orld. (l\n+000212d0: 696e 6520 2020 3729 0a2a 2068 6964 6465 ine 7).* hidde\n+000212e0: 6e20 7375 7266 6163 6520 616c 676f 7269 n surface algori\n+000212f0: 7468 6d3a 2020 2020 2020 2020 2020 2020 thm: \n+00021300: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. \n+00021310: 2020 2020 2020 2028 6c69 6e65 2020 3139 (line 19\n+00021320: 290a 2a20 6869 6464 656e 2073 7572 6661 ).* hidden surfa\n+00021330: 6365 2061 6c67 6f72 6974 686d 203c 313e ce algorithm <1>\n+00021340: 3a20 2020 2020 2020 2020 2053 7065 6369 : Speci\n+00021350: 616c 206f 626a 6563 7473 2e20 2020 2020 al objects. \n+00021360: 286c 696e 6520 2034 3829 0a2a 2068 6964 (line 48).* hid\n+00021370: 6465 6e20 7375 7266 6163 6520 616c 676f den surface algo\n+00021380: 7269 7468 6d20 3c32 3e3a 2020 2020 2020 rithm <2>: \n+00021390: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n+000213a0: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line \n+000213b0: 3234 290a 2a20 6869 6464 656e 2073 7572 24).* hidden sur\n+000213c0: 6661 6365 2061 6c67 6f72 6974 686d 203c face algorithm <\n+000213d0: 333e 3a20 2020 2020 2020 2020 2041 2074 3>: A t\n+000213e0: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n+000213f0: 2e20 286c 696e 6520 2032 3529 0a2a 2068 . (line 25).* h\n+00021400: 6964 6465 6e20 7375 7266 6163 6520 616c idden surface al\n+00021410: 676f 7269 7468 6d20 3c34 3e3a 2020 2020 gorithm <4>: \n+00021420: 2020 2020 2020 4869 6464 656e 2073 7572 Hidden sur\n+00021430: 6661 6365 2072 656d 6f76 616c 2e0a 2020 face 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 2020 \n-00021480: 2020 286c 696e 6520 2020 3629 0a2a 2068 (line 6).* h\n-00021490: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n-000214a0: 6c3a 2020 2020 2020 2020 2020 2020 2020 l: \n-000214b0: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch\n-000214c0: 6963 616c 206d 6f64 656c 2e0a 2020 2020 ical model.. \n+00021470: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00021480: 6520 2020 3629 0a2a 2068 6965 7261 7263 e 6).* hierarc\n+00021490: 6869 6361 6c20 6d6f 6465 6c3a 2020 2020 hical model: \n+000214a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000214b0: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m\n+000214c0: 6f64 656c 2e0a 2020 2020 2020 2020 2020 odel.. \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 2020 2020 286c 696e 6520 (line \n-00021510: 2020 3629 0a2a 2069 6465 6e74 6966 6965 6).* identifie\n-00021520: 7273 3a20 2020 2020 2020 2020 2020 2020 rs: \n-00021530: 2020 2020 2020 2020 2020 2020 2020 4964 Id\n-00021540: 656e 7469 6669 6572 732e 2020 2020 2020 entifiers. \n-00021550: 2020 2028 6c69 6e65 2020 2037 290a 2a20 (line 7).* \n-00021560: 696e 636c 7564 6520 6669 6c65 3a20 2020 include file: \n+00021500: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+00021510: 2069 6465 6e74 6966 6965 7273 3a20 2020 identifiers: \n+00021520: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021530: 2020 2020 2020 2020 4964 656e 7469 6669 Identifi\n+00021540: 6572 732e 2020 2020 2020 2020 2028 6c69 ers. (li\n+00021550: 6e65 2020 2037 290a 2a20 696e 636c 7564 ne 7).* includ\n+00021560: 6520 6669 6c65 3a20 2020 2020 2020 2020 e file: \n 00021570: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021580: 2020 2020 2020 204c 616e 6775 6167 6520 Language \n-00021590: 6261 7369 6373 2e20 2020 2020 286c 696e basics. (lin\n-000215a0: 6520 2031 3929 0a2a 2069 6e70 7574 2066 e 19).* input f\n-000215b0: 696c 653a 2020 2020 2020 2020 2020 2020 ile: \n-000215c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000215d0: 4c61 6e67 7561 6765 2062 6173 6963 732e Language basics.\n-000215e0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-000215f0: 2a20 696e 7465 726e 616c 206f 7074 696f * internal optio\n-00021600: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n-00021610: 2020 2020 2020 2020 2053 7065 6369 616c Special\n-00021620: 206f 626a 6563 7473 2e20 2020 2020 286c objects. (l\n-00021630: 696e 6520 2034 3729 0a2a 2069 6e74 6572 ine 47).* inter\n-00021640: 6e61 6c20 6f70 7469 6f6e 733a 2020 2020 nal options: \n-00021650: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021660: 2020 496e 7465 726e 616c 206f 7074 696f Internal optio\n-00021670: 6e73 2e20 2020 2028 6c69 6e65 2020 2036 ns. (line 6\n-00021680: 290a 2a20 696e 7465 726e 616c 206f 7074 ).* internal opt\n-00021690: 696f 6e73 203c 313e 3a20 2020 2020 2020 ions <1>: \n-000216a0: 2020 2020 2020 2020 2020 2047 6c6f 6261 Globa\n-000216b0: 6c20 6f70 7469 6f6e 732e 2020 2020 2020 l options. \n-000216c0: 286c 696e 6520 2031 3229 0a2a 206b 6579 (line 12).* key\n-000216d0: 776f 7264 733a 2020 2020 2020 2020 2020 words: \n-000216e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000216f0: 2020 2020 4b65 7920 616e 6420 7265 7365 Key and rese\n-00021700: 7276 6564 2077 6f72 6473 2e0a 2020 2020 rved words.. \n+00021580: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics\n+00021590: 2e20 2020 2020 286c 696e 6520 2031 3929 . (line 19)\n+000215a0: 0a2a 2069 6e70 7574 2066 696c 653a 2020 .* input file: \n+000215b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000215c0: 2020 2020 2020 2020 2020 4c61 6e67 7561 Langua\n+000215d0: 6765 2062 6173 6963 732e 2020 2020 2028 ge basics. (\n+000215e0: 6c69 6e65 2020 2036 290a 2a20 696e 7465 line 6).* inte\n+000215f0: 726e 616c 206f 7074 696f 6e3a 2020 2020 rnal option: \n+00021600: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021610: 2020 2053 7065 6369 616c 206f 626a 6563 Special objec\n+00021620: 7473 2e20 2020 2020 286c 696e 6520 2034 ts. (line 4\n+00021630: 3729 0a2a 2069 6e74 6572 6e61 6c20 6f70 7).* internal op\n+00021640: 7469 6f6e 733a 2020 2020 2020 2020 2020 tions: \n+00021650: 2020 2020 2020 2020 2020 2020 496e 7465 Inte\n+00021660: 726e 616c 206f 7074 696f 6e73 2e20 2020 rnal options. \n+00021670: 2028 6c69 6e65 2020 2036 290a 2a20 696e (line 6).* in\n+00021680: 7465 726e 616c 206f 7074 696f 6e73 203c ternal options <\n+00021690: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+000216a0: 2020 2020 2047 6c6f 6261 6c20 6f70 7469 Global opti\n+000216b0: 6f6e 732e 2020 2020 2020 286c 696e 6520 ons. (line \n+000216c0: 2031 3229 0a2a 206b 6579 776f 7264 733a 12).* keywords:\n+000216d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000216e0: 2020 2020 2020 2020 2020 2020 2020 4b65 Ke\n+000216f0: 7920 616e 6420 7265 7365 7276 6564 2077 y and reserved w\n+00021700: 6f72 6473 2e0a 2020 2020 2020 2020 2020 ords.. \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 2020 2020 286c 696e 6520 (line \n-00021750: 2020 3629 0a2a 206c 6162 656c 733a 2020 6).* labels: \n+00021740: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+00021750: 206c 6162 656c 733a 2020 2020 2020 2020 labels: \n 00021760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021770: 2020 2020 2020 2020 2020 2020 2020 5370 Sp\n-00021780: 6563 6961 6c20 6f62 6a65 6374 732e 2020 ecial objects. \n-00021790: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n-000217a0: 6c61 6e67 7561 6765 2c20 6465 636c 6172 language, declar\n-000217b0: 6174 6976 653a 2020 2020 2020 2020 2020 ative: \n-000217c0: 2020 2020 2020 204c 616e 6775 6167 6520 Language \n-000217d0: 6261 7369 6373 2e20 2020 2020 286c 696e basics. (lin\n-000217e0: 6520 2020 3829 0a2a 206c 616e 6775 6167 e 8).* languag\n-000217f0: 652c 206f 7574 7075 743a 2020 2020 2020 e, output: \n-00021800: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021810: 4c61 6e67 7561 6765 2e20 2020 2020 2020 Language. \n-00021820: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-00021830: 2a20 6c61 6e67 7561 6765 2c20 7363 656e * language, scen\n-00021840: 6520 6465 7363 7269 7074 696f 6e3a 2020 e description: \n-00021850: 2020 2020 2020 2020 204c 616e 6775 6167 Languag\n-00021860: 6520 6261 7369 6373 2e20 2020 2020 286c e basics. (l\n-00021870: 696e 6520 2020 3829 0a2a 206c 6578 6963 ine 8).* lexic\n-00021880: 616c 2073 636f 7065 3a20 2020 2020 2020 al scope: \n-00021890: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000218a0: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n-000218b0: 726d 732e 2020 2028 6c69 6e65 2020 3236 rms. (line 26\n-000218c0: 290a 2a20 6c65 7869 6361 6c20 7363 6f70 ).* lexical scop\n-000218d0: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: \n-000218e0: 2020 2020 2020 2020 2020 2042 6c6f 636b Block\n-000218f0: 732e 2020 2020 2020 2020 2020 2020 2020 s. \n-00021900: 286c 696e 6520 2031 3329 0a2a 206c 696e (line 13).* lin\n-00021910: 6520 7377 6565 703a 2020 2020 2020 2020 e sweep: \n-00021920: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021930: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n-00021940: 6570 732e 2020 2020 2028 6c69 6e65 2020 eps. (line \n-00021950: 2036 290a 2a20 6c69 6e65 2073 7765 6570 6).* line sweep\n-00021960: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00021970: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-00021980: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. \n-00021990: 2020 286c 696e 6520 2020 3629 0a2a 206c (line 6).* l\n-000219a0: 696e 6520 7377 6565 7020 3c32 3e3a 2020 ine sweep <2>: \n+00021770: 2020 2020 2020 2020 5370 6563 6961 6c20 Special \n+00021780: 6f62 6a65 6374 732e 2020 2020 2028 6c69 objects. (li\n+00021790: 6e65 2020 2036 290a 2a20 6c61 6e67 7561 ne 6).* langua\n+000217a0: 6765 2c20 6465 636c 6172 6174 6976 653a ge, declarative:\n+000217b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000217c0: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics\n+000217d0: 2e20 2020 2020 286c 696e 6520 2020 3829 . (line 8)\n+000217e0: 0a2a 206c 616e 6775 6167 652c 206f 7574 .* language, out\n+000217f0: 7075 743a 2020 2020 2020 2020 2020 2020 put: \n+00021800: 2020 2020 2020 2020 2020 4c61 6e67 7561 Langua\n+00021810: 6765 2e20 2020 2020 2020 2020 2020 2028 ge. (\n+00021820: 6c69 6e65 2020 2036 290a 2a20 6c61 6e67 line 6).* lang\n+00021830: 7561 6765 2c20 7363 656e 6520 6465 7363 uage, scene desc\n+00021840: 7269 7074 696f 6e3a 2020 2020 2020 2020 ription: \n+00021850: 2020 204c 616e 6775 6167 6520 6261 7369 Language basi\n+00021860: 6373 2e20 2020 2020 286c 696e 6520 2020 cs. (line \n+00021870: 3829 0a2a 206c 6578 6963 616c 2073 636f 8).* lexical sco\n+00021880: 7065 3a20 2020 2020 2020 2020 2020 2020 pe: \n+00021890: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje\n+000218a0: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. \n+000218b0: 2028 6c69 6e65 2020 3236 290a 2a20 6c65 (line 26).* le\n+000218c0: 7869 6361 6c20 7363 6f70 6520 3c31 3e3a xical scope <1>:\n+000218d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000218e0: 2020 2020 2042 6c6f 636b 732e 2020 2020 Blocks. \n+000218f0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00021900: 2031 3329 0a2a 206c 696e 6520 7377 6565 13).* line swee\n+00021910: 703a 2020 2020 2020 2020 2020 2020 2020 p: \n+00021920: 2020 2020 2020 2020 2020 2020 2020 506f Po\n+00021930: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. \n+00021940: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00021950: 6c69 6e65 2073 7765 6570 203c 313e 3a20 line sweep <1>: \n+00021960: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021970: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin\n+00021980: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin\n+00021990: 6520 2020 3629 0a2a 206c 696e 6520 7377 e 6).* line sw\n+000219a0: 6565 7020 3c32 3e3a 2020 2020 2020 2020 eep <2>: \n 000219b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000219c0: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica\n-000219d0: 6c20 6472 6177 696e 672e 2028 6c69 6e65 l drawing. (line\n-000219e0: 2020 3230 290a 2a20 6c69 7465 7261 6c2c 20).* literal,\n-000219f0: 2070 6f69 6e74 3a20 2020 2020 2020 2020 point: \n-00021a00: 2020 2020 2020 2020 2020 2020 2020 2050 P\n-00021a10: 6f69 6e74 2061 6e64 2076 6563 746f 7220 oint and vector \n-00021a20: 6c69 7465 7261 6c73 2e0a 2020 2020 2020 literals.. \n+000219c0: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n+000219d0: 696e 672e 2028 6c69 6e65 2020 3230 290a ing. (line 20).\n+000219e0: 2a20 6c69 7465 7261 6c2c 2070 6f69 6e74 * literal, point\n+000219f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00021a00: 2020 2020 2020 2020 2050 6f69 6e74 2061 Point a\n+00021a10: 6e64 2076 6563 746f 7220 6c69 7465 7261 nd vector litera\n+00021a20: 6c73 2e0a 2020 2020 2020 2020 2020 2020 ls.. \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 2020 2020 286c 696e 6520 2020 (line \n-00021a70: 3629 0a2a 206c 6974 6572 616c 2c20 7363 6).* literal, sc\n-00021a80: 616c 6172 3a20 2020 2020 2020 2020 2020 alar: \n-00021a90: 2020 2020 2020 2020 2020 2020 5363 616c Scal\n-00021aa0: 6172 206c 6974 6572 616c 732e 2020 2020 ar literals. \n-00021ab0: 2028 6c69 6e65 2020 2036 290a 2a20 6c69 (line 6).* li\n-00021ac0: 7465 7261 6c2c 2074 7261 6e73 666f 726d teral, transform\n-00021ad0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00021ae0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n-00021af0: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line \n-00021b00: 2020 3629 0a2a 206c 6974 6572 616c 2c20 6).* literal, \n-00021b10: 7665 6374 6f72 3a20 2020 2020 2020 2020 vector: \n-00021b20: 2020 2020 2020 2020 2020 2020 2020 506f Po\n-00021b30: 696e 7420 616e 6420 7665 6374 6f72 206c int and vector l\n-00021b40: 6974 6572 616c 732e 0a20 2020 2020 2020 iterals.. \n+00021a60: 2020 286c 696e 6520 2020 3629 0a2a 206c (line 6).* l\n+00021a70: 6974 6572 616c 2c20 7363 616c 6172 3a20 iteral, scalar: \n+00021a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021a90: 2020 2020 2020 5363 616c 6172 206c 6974 Scalar lit\n+00021aa0: 6572 616c 732e 2020 2020 2028 6c69 6e65 erals. (line\n+00021ab0: 2020 2036 290a 2a20 6c69 7465 7261 6c2c 6).* literal,\n+00021ac0: 2074 7261 6e73 666f 726d 3a20 2020 2020 transform: \n+00021ad0: 2020 2020 2020 2020 2020 2020 2020 2054 T\n+00021ae0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n+00021af0: 732e 2020 286c 696e 6520 2020 3629 0a2a s. (line 6).*\n+00021b00: 206c 6974 6572 616c 2c20 7665 6374 6f72 literal, vector\n+00021b10: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00021b20: 2020 2020 2020 2020 506f 696e 7420 616e Point an\n+00021b30: 6420 7665 6374 6f72 206c 6974 6572 616c d vector literal\n+00021b40: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \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 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n-00021b90: 290a 2a20 6e65 7374 696e 672c 2073 7765 ).* nesting, swe\n-00021ba0: 7074 206f 626a 6563 743a 2020 2020 2020 pt object: \n-00021bb0: 2020 2020 2020 2020 2020 204e 6573 7465 Neste\n-00021bc0: 6420 7377 6565 7073 2e20 2020 2020 2020 d sweeps. \n-00021bd0: 286c 696e 6520 2032 3229 0a2a 206f 6e65 (line 22).* one\n-00021be0: 2d6f 7065 7261 6e64 2066 6f72 6d3a 2020 -operand form: \n-00021bf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021c00: 2020 2020 556e 6172 7920 666f 726d 732e Unary forms.\n-00021c10: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00021c20: 2036 290a 2a20 6f70 6572 6174 6f72 2061 6).* operator a\n-00021c30: 7373 6f63 6961 7469 7669 7479 3a20 2020 ssociativity: \n-00021c40: 2020 2020 2020 2020 2020 2020 2054 776f Two\n-00021c50: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary\n-00021c60: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. \n+00021b80: 2028 6c69 6e65 2020 2036 290a 2a20 6e65 (line 6).* ne\n+00021b90: 7374 696e 672c 2073 7765 7074 206f 626a sting, swept obj\n+00021ba0: 6563 743a 2020 2020 2020 2020 2020 2020 ect: \n+00021bb0: 2020 2020 204e 6573 7465 6420 7377 6565 Nested swee\n+00021bc0: 7073 2e20 2020 2020 2020 286c 696e 6520 ps. (line \n+00021bd0: 2032 3229 0a2a 206f 6e65 2d6f 7065 7261 22).* one-opera\n+00021be0: 6e64 2066 6f72 6d3a 2020 2020 2020 2020 nd form: \n+00021bf0: 2020 2020 2020 2020 2020 2020 2020 556e Un\n+00021c00: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. \n+00021c10: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00021c20: 6f70 6572 6174 6f72 2061 7373 6f63 6961 operator associa\n+00021c30: 7469 7669 7479 3a20 2020 2020 2020 2020 tivity: \n+00021c40: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera\n+00021c50: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n+00021c60: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \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 2020 2020 2028 6c69 6e65 2020 3538 (line 58\n-00021cb0: 290a 2a20 6f70 6572 6174 6f72 2070 7265 ).* operator pre\n-00021cc0: 6365 6465 6e63 653a 2020 2020 2020 2020 cedence: \n-00021cd0: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o\n-00021ce0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n-00021cf0: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. \n+00021ca0: 2028 6c69 6e65 2020 3538 290a 2a20 6f70 (line 58).* op\n+00021cb0: 6572 6174 6f72 2070 7265 6365 6465 6e63 erator precedenc\n+00021cc0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+00021cd0: 2020 2020 2054 776f 2d6f 7065 7261 6e64 Two-operand\n+00021ce0: 2028 6269 6e61 7279 2920 666f 726d 732e (binary) forms.\n+00021cf0: 0a20 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: 2020 2020 2028 6c69 6e65 2020 3435 290a (line 45).\n-00021d40: 2a20 6f70 7469 6f6e 3a20 2020 2020 2020 * option: \n+00021d20: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00021d30: 6c69 6e65 2020 3435 290a 2a20 6f70 7469 line 45).* opti\n+00021d40: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n 00021d50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021d60: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing\n-00021d70: 206f 7074 696f 6e73 2e20 2020 2020 286c options. (l\n-00021d80: 696e 6520 2020 3629 0a2a 206f 7074 696f ine 6).* optio\n-00021d90: 6e2c 2063 6f6d 6d61 6e64 206c 696e 653a n, command line:\n-00021da0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021db0: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. \n-00021dc0: 2020 2020 2020 2028 6c69 6e65 2020 3330 (line 30\n-00021dd0: 290a 2a20 6f70 7469 6f6e 2c20 696e 7465 ).* option, inte\n-00021de0: 726e 616c 3a20 2020 2020 2020 2020 2020 rnal: \n-00021df0: 2020 2020 2020 2020 2020 2053 7065 6369 Speci\n-00021e00: 616c 206f 626a 6563 7473 2e20 2020 2020 al objects. \n-00021e10: 286c 696e 6520 2034 3729 0a2a 206f 7074 (line 47).* opt\n-00021e20: 696f 6e73 3a20 2020 2020 2020 2020 2020 ions: \n-00021e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021e40: 2020 2020 4f70 7469 6f6e 732e 2020 2020 Options. \n-00021e50: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00021e60: 2036 290a 2a20 6f70 7469 6f6e 7320 6465 6).* options de\n-00021e70: 6669 6e69 7469 6f6e 3a20 2020 2020 2020 finition: \n-00021e80: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol\n-00021e90: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit\n-00021ea0: 6820 636c 6f73 7572 652e 0a20 2020 2020 h closure.. \n+00021d60: 2020 2044 7261 7769 6e67 206f 7074 696f Drawing optio\n+00021d70: 6e73 2e20 2020 2020 286c 696e 6520 2020 ns. (line \n+00021d80: 3629 0a2a 206f 7074 696f 6e2c 2063 6f6d 6).* option, com\n+00021d90: 6d61 6e64 206c 696e 653a 2020 2020 2020 mand line: \n+00021da0: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell\n+00021db0: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. \n+00021dc0: 2028 6c69 6e65 2020 3330 290a 2a20 6f70 (line 30).* op\n+00021dd0: 7469 6f6e 2c20 696e 7465 726e 616c 3a20 tion, internal: \n+00021de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021df0: 2020 2020 2053 7065 6369 616c 206f 626a Special obj\n+00021e00: 6563 7473 2e20 2020 2020 286c 696e 6520 ects. (line \n+00021e10: 2034 3729 0a2a 206f 7074 696f 6e73 3a20 47).* options: \n+00021e20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021e30: 2020 2020 2020 2020 2020 2020 2020 4f70 Op\n+00021e40: 7469 6f6e 732e 2020 2020 2020 2020 2020 tions. \n+00021e50: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00021e60: 6f70 7469 6f6e 7320 6465 6669 6e69 7469 options definiti\n+00021e70: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n+00021e80: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n+00021e90: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n+00021ea0: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. \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 2020 2020 2028 6c69 6e65 2020 (line \n-00021ef0: 3233 290a 2a20 6f70 7469 6f6e 7320 6d75 23).* options mu\n-00021f00: 6c74 6970 6c65 2072 6566 6572 656e 6365 ltiple reference\n-00021f10: 3a20 2020 2020 2020 2020 2020 2046 6f72 : For\n-00021f20: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n-00021f30: 2e20 286c 696e 6520 2031 3829 0a2a 206f . (line 18).* o\n-00021f40: 7074 696f 6e73 2072 6566 6572 656e 6365 ptions reference\n-00021f50: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00021f60: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r\n-00021f70: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line\n-00021f80: 2020 3138 290a 2a20 6f70 7469 6f6e 732c 18).* options,\n-00021f90: 2063 6f6d 6d61 6e64 206c 696e 653a 2020 command line: \n-00021fa0: 2020 2020 2020 2020 2020 2020 2020 2043 C\n-00021fb0: 6f6d 6d61 6e64 206c 696e 652e 2020 2020 ommand line. \n-00021fc0: 2020 2020 286c 696e 6520 2031 3429 0a2a (line 14).*\n-00021fd0: 206f 7074 696f 6e73 2c20 676c 6f62 616c options, global\n-00021fe0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00021ff0: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n-00022000: 6f70 7469 6f6e 732e 2020 2020 2028 6c69 options. (li\n-00022010: 6e65 2020 3138 290a 2a20 6f70 7469 6f6e ne 18).* option\n-00022020: 732c 2067 6c6f 6261 6c20 3c31 3e3a 2020 s, global <1>: \n-00022030: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022040: 2047 6c6f 6261 6c20 6f70 7469 6f6e 732e Global options.\n-00022050: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n-00022060: 0a2a 206f 7074 696f 6e73 2c20 696e 7465 .* options, inte\n-00022070: 726e 616c 3a20 2020 2020 2020 2020 2020 rnal: \n-00022080: 2020 2020 2020 2020 2020 496e 7465 726e Intern\n-00022090: 616c 206f 7074 696f 6e73 2e20 2020 2028 al options. (\n-000220a0: 6c69 6e65 2020 2036 290a 2a20 6f70 7469 line 6).* opti\n-000220b0: 6f6e 732c 2069 6e74 6572 6e61 6c20 3c31 ons, internal <1\n-000220c0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-000220d0: 2020 2047 6c6f 6261 6c20 6f70 7469 6f6e Global option\n-000220e0: 732e 2020 2020 2020 286c 696e 6520 2031 s. (line 1\n-000220f0: 3229 0a2a 206f 7074 696f 6e73 2c20 7377 2).* options, sw\n-00022100: 6565 703a 2020 2020 2020 2020 2020 2020 eep: \n-00022110: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n-00022120: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. \n-00022130: 2028 6c69 6e65 2020 3136 290a 2a20 6f70 (line 16).* op\n-00022140: 7469 6f6e 732c 2073 7765 6570 203c 313e tions, sweep <1>\n-00022150: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00022160: 2020 2020 2050 6f6c 7967 6f6e 2073 7765 Polygon swe\n-00022170: 6570 732e 2020 2020 2020 286c 696e 6520 eps. (line \n-00022180: 2020 3929 0a2a 206f 7074 696f 6e73 2c20 9).* options, \n-00022190: 7377 6565 7020 3c32 3e3a 2020 2020 2020 sweep <2>: \n-000221a0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-000221b0: 6570 7420 706f 696e 7473 2e20 2020 2020 ept points. \n-000221c0: 2020 2028 6c69 6e65 2020 3231 290a 2a20 (line 21).* \n-000221d0: 6f70 7469 6f6e 732c 2073 7765 6570 203c options, sweep <\n-000221e0: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: \n-000221f0: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin\n-00022200: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin\n-00022210: 6520 2032 3529 0a2a 206f 7074 696f 6e73 e 25).* options\n-00022220: 2c20 7377 6565 7020 3c34 3e3a 2020 2020 , sweep <4>: \n-00022230: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022240: 5377 6570 7420 6c69 6e65 732e 2020 2020 Swept lines. \n-00022250: 2020 2020 2028 6c69 6e65 2020 3438 290a (line 48).\n-00022260: 2a20 6f70 7469 6f6e 732c 2073 7765 7074 * options, swept\n-00022270: 206f 626a 6563 743a 2020 2020 2020 2020 object: \n-00022280: 2020 2020 2020 2020 2050 6f6c 7967 6f6e Polygon\n-00022290: 2073 7765 6570 732e 2020 2020 2020 286c sweeps. (l\n-000222a0: 696e 6520 2020 3829 0a2a 206f 7074 696f ine 8).* optio\n-000222b0: 6e73 2c20 7377 6570 7420 6f62 6a65 6374 ns, swept object\n-000222c0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-000222d0: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n-000222e0: 7320 7769 7468 2063 6c6f 7375 7265 2e0a s with closure..\n+00021ee0: 2020 2028 6c69 6e65 2020 3233 290a 2a20 (line 23).* \n+00021ef0: 6f70 7469 6f6e 7320 6d75 6c74 6970 6c65 options multiple\n+00021f00: 2072 6566 6572 656e 6365 3a20 2020 2020 reference: \n+00021f10: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of \n+00021f20: 7265 6665 7265 6e63 6573 2e20 286c 696e references. (lin\n+00021f30: 6520 2031 3829 0a2a 206f 7074 696f 6e73 e 18).* options\n+00021f40: 2072 6566 6572 656e 6365 3a20 2020 2020 reference: \n+00021f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021f60: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n+00021f70: 6365 732e 2028 6c69 6e65 2020 3138 290a ces. (line 18).\n+00021f80: 2a20 6f70 7469 6f6e 732c 2063 6f6d 6d61 * options, comma\n+00021f90: 6e64 206c 696e 653a 2020 2020 2020 2020 nd line: \n+00021fa0: 2020 2020 2020 2020 2043 6f6d 6d61 6e64 Command\n+00021fb0: 206c 696e 652e 2020 2020 2020 2020 286c line. (l\n+00021fc0: 696e 6520 2031 3429 0a2a 206f 7074 696f ine 14).* optio\n+00021fd0: 6e73 2c20 676c 6f62 616c 3a20 2020 2020 ns, global: \n+00021fe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021ff0: 2020 4472 6177 696e 6720 6f70 7469 6f6e Drawing option\n+00022000: 732e 2020 2020 2028 6c69 6e65 2020 3138 s. (line 18\n+00022010: 290a 2a20 6f70 7469 6f6e 732c 2067 6c6f ).* options, glo\n+00022020: 6261 6c20 3c31 3e3a 2020 2020 2020 2020 bal <1>: \n+00022030: 2020 2020 2020 2020 2020 2047 6c6f 6261 Globa\n+00022040: 6c20 6f70 7469 6f6e 732e 2020 2020 2020 l options. \n+00022050: 286c 696e 6520 2020 3629 0a2a 206f 7074 (line 6).* opt\n+00022060: 696f 6e73 2c20 696e 7465 726e 616c 3a20 ions, internal: \n+00022070: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022080: 2020 2020 496e 7465 726e 616c 206f 7074 Internal opt\n+00022090: 696f 6e73 2e20 2020 2028 6c69 6e65 2020 ions. (line \n+000220a0: 2036 290a 2a20 6f70 7469 6f6e 732c 2069 6).* options, i\n+000220b0: 6e74 6572 6e61 6c20 3c31 3e3a 2020 2020 nternal <1>: \n+000220c0: 2020 2020 2020 2020 2020 2020 2047 6c6f Glo\n+000220d0: 6261 6c20 6f70 7469 6f6e 732e 2020 2020 bal options. \n+000220e0: 2020 286c 696e 6520 2031 3229 0a2a 206f (line 12).* o\n+000220f0: 7074 696f 6e73 2c20 7377 6565 703a 2020 ptions, sweep: \n+00022100: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022110: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n+00022120: 7765 6570 732e 2020 2020 2028 6c69 6e65 weeps. (line\n+00022130: 2020 3136 290a 2a20 6f70 7469 6f6e 732c 16).* options,\n+00022140: 2073 7765 6570 203c 313e 3a20 2020 2020 sweep <1>: \n+00022150: 2020 2020 2020 2020 2020 2020 2020 2050 P\n+00022160: 6f6c 7967 6f6e 2073 7765 6570 732e 2020 olygon sweeps. \n+00022170: 2020 2020 286c 696e 6520 2020 3929 0a2a (line 9).*\n+00022180: 206f 7074 696f 6e73 2c20 7377 6565 7020 options, sweep \n+00022190: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n+000221a0: 2020 2020 2020 2020 5377 6570 7420 706f Swept po\n+000221b0: 696e 7473 2e20 2020 2020 2020 2028 6c69 ints. (li\n+000221c0: 6e65 2020 3231 290a 2a20 6f70 7469 6f6e ne 21).* option\n+000221d0: 732c 2073 7765 6570 203c 333e 3a20 2020 s, sweep <3>: \n+000221e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000221f0: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. \n+00022200: 2020 2020 2020 286c 696e 6520 2032 3529 (line 25)\n+00022210: 0a2a 206f 7074 696f 6e73 2c20 7377 6565 .* options, swee\n+00022220: 7020 3c34 3e3a 2020 2020 2020 2020 2020 p <4>: \n+00022230: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+00022240: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. (\n+00022250: 6c69 6e65 2020 3438 290a 2a20 6f70 7469 line 48).* opti\n+00022260: 6f6e 732c 2073 7765 7074 206f 626a 6563 ons, swept objec\n+00022270: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+00022280: 2020 2050 6f6c 7967 6f6e 2073 7765 6570 Polygon sweep\n+00022290: 732e 2020 2020 2020 286c 696e 6520 2020 s. (line \n+000222a0: 3829 0a2a 206f 7074 696f 6e73 2c20 7377 8).* options, sw\n+000222b0: 6570 7420 6f62 6a65 6374 203c 313e 3a20 ept object <1>: \n+000222c0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n+000222d0: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with\n+000222e0: 2063 6c6f 7375 7265 2e0a 2020 2020 2020 closure.. \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 2020 2020 286c (l\n-00022330: 696e 6520 2032 3229 0a2a 206f 7074 696f ine 22).* optio\n-00022340: 6e73 2c20 7377 6570 7420 6f62 6a65 6374 ns, swept object\n-00022350: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-00022360: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. \n-00022370: 2020 2020 2020 2028 6c69 6e65 2020 3236 (line 26\n-00022380: 290a 2a20 6f70 7469 6f6e 732c 2073 7765 ).* options, swe\n-00022390: 7074 206f 626a 6563 7420 3c33 3e3a 2020 pt object <3>: \n-000223a0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-000223b0: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. \n-000223c0: 286c 696e 6520 2034 3829 0a2a 206f 7264 (line 48).* ord\n-000223d0: 6572 2c20 706f 6c79 676f 6e20 7665 7274 er, polygon vert\n-000223e0: 6578 3a20 2020 2020 2020 2020 2020 2020 ex: \n-000223f0: 2020 2020 4865 6c6c 6f20 776f 726c 642e Hello world.\n-00022400: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00022410: 3339 290a 2a20 6f72 6465 722c 2070 6f6c 39).* order, pol\n-00022420: 7967 6f6e 2076 6572 7465 7820 3c31 3e3a ygon vertex <1>:\n-00022430: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-00022440: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. \n-00022450: 2020 286c 696e 6520 2031 3429 0a2a 206f (line 14).* o\n-00022460: 7264 6572 2c20 706f 6c79 676f 6e20 7665 rder, polygon ve\n-00022470: 7274 6578 203c 323e 3a20 2020 2020 2020 rtex <2>: \n-00022480: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line\n-00022490: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line\n-000224a0: 2020 3430 290a 2a20 6f72 6465 722c 2070 40).* order, p\n-000224b0: 6f6c 7967 6f6e 2076 6572 7465 7820 3c33 olygon vertex <3\n-000224c0: 3e3a 2020 2020 2020 2020 2020 2020 2053 >: S\n-000224d0: 7765 7074 2070 6f6c 7967 6f6e 732e 2020 wept polygons. \n-000224e0: 2020 2020 286c 696e 6520 2031 3929 0a2a (line 19).*\n-000224f0: 206f 7264 6572 2c20 706f 6c79 676f 6e20 order, polygon \n-00022500: 7665 7274 6578 203c 343e 3a20 2020 2020 vertex <4>: \n-00022510: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview\n-00022520: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li\n-00022530: 6e65 2020 3337 290a 2a20 6f72 6465 722c ne 37).* order,\n-00022540: 2070 6f6c 7967 6f6e 2076 6572 7465 7820 polygon vertex \n-00022550: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n-00022560: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. \n-00022570: 2020 2020 2020 286c 696e 6520 2035 3529 (line 55)\n-00022580: 0a2a 206f 7574 7075 7420 6c61 6e67 7561 .* output langua\n-00022590: 6765 3a20 2020 2020 2020 2020 2020 2020 ge: \n-000225a0: 2020 2020 2020 2020 2020 4c61 6e67 7561 Langua\n-000225b0: 6765 2e20 2020 2020 2020 2020 2020 2028 ge. (\n-000225c0: 6c69 6e65 2020 2036 290a 2a20 6f75 7473 line 6).* outs\n-000225d0: 6964 6520 6f66 2061 2070 6f6c 7967 6f6e ide of a polygon\n-000225e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000225f0: 2020 2048 656c 6c6f 2077 6f72 6c64 2e20 Hello world. \n-00022600: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3\n-00022610: 3729 0a2a 2070 6172 616c 6c65 6c20 7072 7).* parallel pr\n-00022620: 6f6a 6563 7469 6f6e 3a20 2020 2020 2020 ojection: \n-00022630: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell\n-00022640: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. \n-00022650: 2028 6c69 6e65 2020 3236 290a 2a20 7061 (line 26).* pa\n-00022660: 7261 6c6c 656c 2070 726f 6a65 6374 696f rallel projectio\n-00022670: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: \n-00022680: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n-00022690: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line \n-000226a0: 2031 3829 0a2a 2070 6172 616c 6c65 6c20 18).* parallel \n-000226b0: 7072 6f6a 6563 7469 6f6e 203c 323e 3a20 projection <2>: \n-000226c0: 2020 2020 2020 2020 2020 2020 2020 5069 Pi\n-000226d0: 6374 7572 6520 626f 782e 2020 2020 2020 cture box. \n-000226e0: 2020 2028 6c69 6e65 2020 3135 290a 2a20 (line 15).* \n-000226f0: 7061 7265 6e74 6865 7365 733a 2020 2020 parentheses: \n+00022320: 2020 2020 2020 2020 286c 696e 6520 2032 (line 2\n+00022330: 3229 0a2a 206f 7074 696f 6e73 2c20 7377 2).* options, sw\n+00022340: 6570 7420 6f62 6a65 6374 203c 323e 3a20 ept object <2>: \n+00022350: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n+00022360: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. \n+00022370: 2028 6c69 6e65 2020 3236 290a 2a20 6f70 (line 26).* op\n+00022380: 7469 6f6e 732c 2073 7765 7074 206f 626a tions, swept obj\n+00022390: 6563 7420 3c33 3e3a 2020 2020 2020 2020 ect <3>: \n+000223a0: 2020 2020 2053 7765 7074 206c 696e 6573 Swept lines\n+000223b0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n+000223c0: 2034 3829 0a2a 206f 7264 6572 2c20 706f 48).* order, po\n+000223d0: 6c79 676f 6e20 7665 7274 6578 3a20 2020 lygon vertex: \n+000223e0: 2020 2020 2020 2020 2020 2020 2020 4865 He\n+000223f0: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. \n+00022400: 2020 2028 6c69 6e65 2020 3339 290a 2a20 (line 39).* \n+00022410: 6f72 6465 722c 2070 6f6c 7967 6f6e 2076 order, polygon v\n+00022420: 6572 7465 7820 3c31 3e3a 2020 2020 2020 ertex <1>: \n+00022430: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin\n+00022440: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin\n+00022450: 6520 2031 3429 0a2a 206f 7264 6572 2c20 e 14).* order, \n+00022460: 706f 6c79 676f 6e20 7665 7274 6578 203c polygon vertex <\n+00022470: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n+00022480: 5377 6570 7420 6c69 6e65 732e 2020 2020 Swept lines. \n+00022490: 2020 2020 2028 6c69 6e65 2020 3430 290a (line 40).\n+000224a0: 2a20 6f72 6465 722c 2070 6f6c 7967 6f6e * order, polygon\n+000224b0: 2076 6572 7465 7820 3c33 3e3a 2020 2020 vertex <3>: \n+000224c0: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p\n+000224d0: 6f6c 7967 6f6e 732e 2020 2020 2020 286c olygons. (l\n+000224e0: 696e 6520 2031 3929 0a2a 206f 7264 6572 ine 19).* order\n+000224f0: 2c20 706f 6c79 676f 6e20 7665 7274 6578 , polygon vertex\n+00022500: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n+00022510: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n+00022520: 2020 2020 2020 2028 6c69 6e65 2020 3337 (line 37\n+00022530: 290a 2a20 6f72 6465 722c 2070 6f6c 7967 ).* order, polyg\n+00022540: 6f6e 2076 6572 7465 7820 3c35 3e3a 2020 on vertex <5>: \n+00022550: 2020 2020 2020 2020 2020 204f 7665 7276 Overv\n+00022560: 6965 772e 2020 2020 2020 2020 2020 2020 iew. \n+00022570: 286c 696e 6520 2035 3529 0a2a 206f 7574 (line 55).* out\n+00022580: 7075 7420 6c61 6e67 7561 6765 3a20 2020 put language: \n+00022590: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000225a0: 2020 2020 4c61 6e67 7561 6765 2e20 2020 Language. \n+000225b0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+000225c0: 2036 290a 2a20 6f75 7473 6964 6520 6f66 6).* outside of\n+000225d0: 2061 2070 6f6c 7967 6f6e 3a20 2020 2020 a polygon: \n+000225e0: 2020 2020 2020 2020 2020 2020 2048 656c Hel\n+000225f0: 6c6f 2077 6f72 6c64 2e20 2020 2020 2020 lo world. \n+00022600: 2020 286c 696e 6520 2033 3729 0a2a 2070 (line 37).* p\n+00022610: 6172 616c 6c65 6c20 7072 6f6a 6563 7469 arallel projecti\n+00022620: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n+00022630: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl\n+00022640: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line\n+00022650: 2020 3236 290a 2a20 7061 7261 6c6c 656c 26).* parallel\n+00022660: 2070 726f 6a65 6374 696f 6e20 3c31 3e3a projection <1>:\n+00022670: 2020 2020 2020 2020 2020 2020 2020 2054 T\n+00022680: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n+00022690: 732e 2020 286c 696e 6520 2031 3829 0a2a s. (line 18).*\n+000226a0: 2070 6172 616c 6c65 6c20 7072 6f6a 6563 parallel projec\n+000226b0: 7469 6f6e 203c 323e 3a20 2020 2020 2020 tion <2>: \n+000226c0: 2020 2020 2020 2020 5069 6374 7572 6520 Picture \n+000226d0: 626f 782e 2020 2020 2020 2020 2028 6c69 box. (li\n+000226e0: 6e65 2020 3135 290a 2a20 7061 7265 6e74 ne 15).* parent\n+000226f0: 6865 7365 733a 2020 2020 2020 2020 2020 heses: \n 00022700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022710: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera\n-00022720: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n-00022730: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+00022710: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi\n+00022720: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) 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 2020 2020 \n-00022770: 2028 6c69 6e65 2020 3538 290a 2a20 7065 (line 58).* pe\n-00022780: 7273 7065 6374 6976 6520 7072 6f6a 6563 rspective projec\n-00022790: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n-000227a0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n-000227b0: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line \n-000227c0: 2031 3929 0a2a 2070 6572 7370 6563 7469 19).* perspecti\n-000227d0: 7665 2070 726f 6a65 6374 696f 6e20 3c31 ve projection <1\n-000227e0: 3e3a 2020 2020 2020 2020 2020 2020 5472 >: Tr\n-000227f0: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n-00022800: 2e20 2028 6c69 6e65 2020 3231 290a 2a20 . (line 21).* \n-00022810: 7065 7273 7065 6374 6976 6520 7072 6f6a perspective proj\n-00022820: 6563 7469 6f6e 203c 323e 3a20 2020 2020 ection <2>: \n-00022830: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n-00022840: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00022850: 6520 2020 3729 0a2a 2070 6963 7475 7265 e 7).* picture\n-00022860: 2062 6f78 3a20 2020 2020 2020 2020 2020 box: \n-00022870: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022880: 5069 6374 7572 6520 626f 782e 2020 2020 Picture box. \n-00022890: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-000228a0: 2a20 706c 616e 6172 6974 7920 6f66 2070 * planarity of p\n-000228b0: 6f6c 7967 6f6e 733a 2020 2020 2020 2020 olygons: \n-000228c0: 2020 2020 2020 2020 2050 6f6c 7967 6f6e Polygon\n-000228d0: 732e 2020 2020 2020 2020 2020 2020 286c s. (l\n-000228e0: 696e 6520 2031 3029 0a2a 2070 6c61 6e61 ine 10).* plana\n-000228f0: 7269 7479 206f 6620 706f 6c79 676f 6e73 rity of polygons\n-00022900: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00022910: 2020 5377 6565 7020 6661 6365 2073 706c Sweep face spl\n-00022920: 6974 7469 6e67 2e0a 2020 2020 2020 2020 itting.. \n+00022760: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00022770: 2020 3538 290a 2a20 7065 7273 7065 6374 58).* perspect\n+00022780: 6976 6520 7072 6f6a 6563 7469 6f6e 3a20 ive projection: \n+00022790: 2020 2020 2020 2020 2020 2020 2020 2054 T\n+000227a0: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n+000227b0: 732e 2020 286c 696e 6520 2031 3929 0a2a s. (line 19).*\n+000227c0: 2070 6572 7370 6563 7469 7665 2070 726f perspective pro\n+000227d0: 6a65 6374 696f 6e20 3c31 3e3a 2020 2020 jection <1>: \n+000227e0: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor\n+000227f0: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li\n+00022800: 6e65 2020 3231 290a 2a20 7065 7273 7065 ne 21).* perspe\n+00022810: 6374 6976 6520 7072 6f6a 6563 7469 6f6e ctive projection\n+00022820: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+00022830: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. \n+00022840: 2020 2020 2020 286c 696e 6520 2020 3729 (line 7)\n+00022850: 0a2a 2070 6963 7475 7265 2062 6f78 3a20 .* picture box: \n+00022860: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022870: 2020 2020 2020 2020 2020 5069 6374 7572 Pictur\n+00022880: 6520 626f 782e 2020 2020 2020 2020 2028 e box. (\n+00022890: 6c69 6e65 2020 2036 290a 2a20 706c 616e line 6).* plan\n+000228a0: 6172 6974 7920 6f66 2070 6f6c 7967 6f6e arity of polygon\n+000228b0: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n+000228c0: 2020 2050 6f6c 7967 6f6e 732e 2020 2020 Polygons. \n+000228d0: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1\n+000228e0: 3029 0a2a 2070 6c61 6e61 7269 7479 206f 0).* planarity o\n+000228f0: 6620 706f 6c79 676f 6e73 203c 313e 3a20 f polygons <1>: \n+00022900: 2020 2020 2020 2020 2020 2020 5377 6565 Swee\n+00022910: 7020 6661 6365 2073 706c 6974 7469 6e67 p face splitting\n+00022920: 2e0a 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 2020 2020 286c 696e 6520 2020 3729 (line 7)\n-00022970: 0a2a 2070 6f69 6e74 2064 6566 696e 6974 .* point definit\n-00022980: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: \n-00022990: 2020 2020 2020 2020 2020 4472 6177 696e Drawin\n-000229a0: 6720 6120 736f 6c69 642e 2020 2020 2028 g a solid. (\n-000229b0: 6c69 6e65 2020 3233 290a 2a20 706f 696e line 23).* poin\n-000229c0: 7420 6c69 7374 3a20 2020 2020 2020 2020 t list: \n-000229d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000229e0: 2020 2053 7765 7074 2070 6f69 6e74 732e Swept points.\n-000229f0: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n-00022a00: 3929 0a2a 2070 6f69 6e74 206c 6974 6572 9).* point liter\n-00022a10: 616c 3a20 2020 2020 2020 2020 2020 2020 al: \n-00022a20: 2020 2020 2020 2020 2020 2020 506f 696e Poin\n-00022a30: 7420 616e 6420 7665 6374 6f72 206c 6974 t and vector lit\n-00022a40: 6572 616c 732e 0a20 2020 2020 2020 2020 erals.. \n+00022960: 286c 696e 6520 2020 3729 0a2a 2070 6f69 (line 7).* poi\n+00022970: 6e74 2064 6566 696e 6974 696f 6e3a 2020 nt definition: \n+00022980: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022990: 2020 2020 4472 6177 696e 6720 6120 736f Drawing a so\n+000229a0: 6c69 642e 2020 2020 2028 6c69 6e65 2020 lid. (line \n+000229b0: 3233 290a 2a20 706f 696e 7420 6c69 7374 23).* point list\n+000229c0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000229d0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+000229e0: 7074 2070 6f69 6e74 732e 2020 2020 2020 pt points. \n+000229f0: 2020 286c 696e 6520 2020 3929 0a2a 2070 (line 9).* p\n+00022a00: 6f69 6e74 206c 6974 6572 616c 3a20 2020 oint literal: \n+00022a10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022a20: 2020 2020 2020 506f 696e 7420 616e 6420 Point and \n+00022a30: 7665 6374 6f72 206c 6974 6572 616c 732e vector literals.\n+00022a40: 0a20 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: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-00022a90: 2a20 706f 696e 7420 7265 6665 7265 6e63 * point referenc\n-00022aa0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-00022ab0: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o\n-00022ac0: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l\n-00022ad0: 696e 6520 2031 3429 0a2a 2070 6f69 6e74 ine 14).* point\n-00022ae0: 2073 7765 6570 3a20 2020 2020 2020 2020 sweep: \n-00022af0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022b00: 2020 5377 6570 7420 6f62 6a65 6374 732e Swept objects.\n-00022b10: 2020 2020 2020 2028 6c69 6e65 2020 3131 (line 11\n-00022b20: 290a 2a20 706f 696e 7420 7377 6565 7020 ).* point sweep \n-00022b30: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-00022b40: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-00022b50: 2070 6f69 6e74 732e 2020 2020 2020 2020 points. \n-00022b60: 286c 696e 6520 2020 3629 0a2a 2070 6f6c (line 6).* pol\n-00022b70: 7967 6f6e 2073 7765 6570 3a20 2020 2020 ygon sweep: \n-00022b80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022b90: 2020 2020 506f 6c79 676f 6e20 7377 6565 Polygon swee\n-00022ba0: 7073 2e20 2020 2020 2028 6c69 6e65 2020 ps. (line \n-00022bb0: 2036 290a 2a20 706f 6c79 676f 6e20 7377 6).* polygon sw\n-00022bc0: 6565 7020 3c31 3e3a 2020 2020 2020 2020 eep <1>: \n-00022bd0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-00022be0: 7074 2070 6f6c 7967 6f6e 732e 2020 2020 pt polygons. \n-00022bf0: 2020 286c 696e 6520 2020 3629 0a2a 2070 (line 6).* p\n-00022c00: 6f6c 7967 6f6e 2073 7765 6570 203c 323e olygon sweep <2>\n-00022c10: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00022c20: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch\n-00022c30: 6963 616c 206d 6f64 656c 2e0a 2020 2020 ical model.. \n+00022a70: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00022a80: 6c69 6e65 2020 2036 290a 2a20 706f 696e line 6).* poin\n+00022a90: 7420 7265 6665 7265 6e63 653a 2020 2020 t reference: \n+00022aa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022ab0: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe\n+00022ac0: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1\n+00022ad0: 3429 0a2a 2070 6f69 6e74 2073 7765 6570 4).* point sweep\n+00022ae0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00022af0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n+00022b00: 7420 6f62 6a65 6374 732e 2020 2020 2020 t objects. \n+00022b10: 2028 6c69 6e65 2020 3131 290a 2a20 706f (line 11).* po\n+00022b20: 696e 7420 7377 6565 7020 3c31 3e3a 2020 int sweep <1>: \n+00022b30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022b40: 2020 2020 2053 7765 7074 2070 6f69 6e74 Swept point\n+00022b50: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line \n+00022b60: 2020 3629 0a2a 2070 6f6c 7967 6f6e 2073 6).* polygon s\n+00022b70: 7765 6570 3a20 2020 2020 2020 2020 2020 weep: \n+00022b80: 2020 2020 2020 2020 2020 2020 2020 506f Po\n+00022b90: 6c79 676f 6e20 7377 6565 7073 2e20 2020 lygon sweeps. \n+00022ba0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00022bb0: 706f 6c79 676f 6e20 7377 6565 7020 3c31 polygon sweep <1\n+00022bc0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00022bd0: 2020 2020 2020 2053 7765 7074 2070 6f6c Swept pol\n+00022be0: 7967 6f6e 732e 2020 2020 2020 286c 696e ygons. (lin\n+00022bf0: 6520 2020 3629 0a2a 2070 6f6c 7967 6f6e e 6).* polygon\n+00022c00: 2073 7765 6570 203c 323e 3a20 2020 2020 sweep <2>: \n+00022c10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022c20: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m\n+00022c30: 6f64 656c 2e0a 2020 2020 2020 2020 2020 odel.. \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 2020 2020 286c 696e 6520 (line \n-00022c80: 3132 3229 0a2a 2070 6f6c 7967 6f6e 2076 122).* polygon v\n-00022c90: 6572 7465 7820 6f72 6465 723a 2020 2020 ertex order: \n-00022ca0: 2020 2020 2020 2020 2020 2020 2020 4865 He\n-00022cb0: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. \n-00022cc0: 2020 2028 6c69 6e65 2020 3339 290a 2a20 (line 39).* \n-00022cd0: 706f 6c79 676f 6e20 7665 7274 6578 206f polygon vertex o\n-00022ce0: 7264 6572 203c 313e 3a20 2020 2020 2020 rder <1>: \n-00022cf0: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin\n-00022d00: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin\n-00022d10: 6520 2031 3429 0a2a 2070 6f6c 7967 6f6e e 14).* polygon\n-00022d20: 2076 6572 7465 7820 6f72 6465 7220 3c32 vertex order <2\n-00022d30: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00022d40: 5377 6570 7420 6c69 6e65 732e 2020 2020 Swept lines. \n-00022d50: 2020 2020 2028 6c69 6e65 2020 3430 290a (line 40).\n-00022d60: 2a20 706f 6c79 676f 6e20 7665 7274 6578 * polygon vertex\n-00022d70: 206f 7264 6572 203c 333e 3a20 2020 2020 order <3>: \n-00022d80: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p\n-00022d90: 6f6c 7967 6f6e 732e 2020 2020 2020 286c olygons. (l\n-00022da0: 696e 6520 2031 3929 0a2a 2070 6f6c 7967 ine 19).* polyg\n-00022db0: 6f6e 2076 6572 7465 7820 6f72 6465 7220 on vertex order \n-00022dc0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: \n-00022dd0: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n-00022de0: 2020 2020 2020 2028 6c69 6e65 2020 3337 (line 37\n-00022df0: 290a 2a20 706f 6c79 676f 6e20 7665 7274 ).* polygon vert\n-00022e00: 6578 206f 7264 6572 203c 353e 3a20 2020 ex order <5>: \n-00022e10: 2020 2020 2020 2020 2020 204f 7665 7276 Overv\n-00022e20: 6965 772e 2020 2020 2020 2020 2020 2020 iew. \n-00022e30: 286c 696e 6520 2035 3529 0a2a 2070 6f6c (line 55).* pol\n-00022e40: 7967 6f6e 2c20 626f 6479 3a20 2020 2020 ygon, body: \n-00022e50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022e60: 2020 2020 496e 7465 726e 616c 206f 7074 Internal opt\n-00022e70: 696f 6e73 2e20 2020 2028 6c69 6e65 2020 ions. (line \n-00022e80: 3136 290a 2a20 706f 6c79 676f 6e2c 2062 16).* polygon, b\n-00022e90: 6f64 7920 3c31 3e3a 2020 2020 2020 2020 ody <1>: \n-00022ea0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-00022eb0: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. \n-00022ec0: 2020 286c 696e 6520 2031 3029 0a2a 2070 (line 10).* p\n-00022ed0: 6f6c 7967 6f6e 2c20 626f 6479 203c 323e olygon, body <2>\n-00022ee0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00022ef0: 2020 2020 2020 5377 6570 7420 706f 6c79 Swept poly\n-00022f00: 676f 6e73 2e20 2020 2020 2028 6c69 6e65 gons. (line\n-00022f10: 2020 2039 290a 2a20 706f 6c79 676f 6e2c 9).* polygon,\n-00022f20: 2065 6e64 3a20 2020 2020 2020 2020 2020 end: \n-00022f30: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00022f40: 7765 7074 206c 696e 6573 2e20 2020 2020 wept lines. \n-00022f50: 2020 2020 286c 696e 6520 2033 3829 0a2a (line 38).*\n-00022f60: 2070 6f6c 7967 6f6e 2c20 656e 6420 3c31 polygon, end <1\n-00022f70: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00022f80: 2020 2020 2020 2020 5377 6570 7420 706f Swept po\n-00022f90: 6c79 676f 6e73 2e20 2020 2020 2028 6c69 lygons. (li\n-00022fa0: 6e65 2020 3135 290a 2a20 706f 6c79 676f ne 15).* polygo\n-00022fb0: 6e2c 206f 7574 7369 6465 206f 663a 2020 n, outside of: \n-00022fc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022fd0: 2048 656c 6c6f 2077 6f72 6c64 2e20 2020 Hello world. \n-00022fe0: 2020 2020 2020 286c 696e 6520 2033 3729 (line 37)\n-00022ff0: 0a2a 2070 6f6c 7967 6f6e 2c20 706c 616e .* polygon, plan\n-00023000: 6172 3a20 2020 2020 2020 2020 2020 2020 ar: \n-00023010: 2020 2020 2020 2020 2020 506f 6c79 676f Polygo\n-00023020: 6e73 2e20 2020 2020 2020 2020 2020 2028 ns. (\n-00023030: 6c69 6e65 2020 3130 290a 2a20 706f 6c79 line 10).* poly\n-00023040: 676f 6e2c 2070 6c61 6e61 7220 3c31 3e3a gon, planar <1>:\n-00023050: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023060: 2020 2053 7765 6570 2066 6163 6520 7370 Sweep face sp\n-00023070: 6c69 7474 696e 672e 0a20 2020 2020 2020 litting.. \n+00022c70: 2020 2020 286c 696e 6520 3132 3229 0a2a (line 122).*\n+00022c80: 2070 6f6c 7967 6f6e 2076 6572 7465 7820 polygon vertex \n+00022c90: 6f72 6465 723a 2020 2020 2020 2020 2020 order: \n+00022ca0: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo\n+00022cb0: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li\n+00022cc0: 6e65 2020 3339 290a 2a20 706f 6c79 676f ne 39).* polygo\n+00022cd0: 6e20 7665 7274 6578 206f 7264 6572 203c n vertex order <\n+00022ce0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00022cf0: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. \n+00022d00: 2020 2020 2020 286c 696e 6520 2031 3429 (line 14)\n+00022d10: 0a2a 2070 6f6c 7967 6f6e 2076 6572 7465 .* polygon verte\n+00022d20: 7820 6f72 6465 7220 3c32 3e3a 2020 2020 x order <2>: \n+00022d30: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+00022d40: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. (\n+00022d50: 6c69 6e65 2020 3430 290a 2a20 706f 6c79 line 40).* poly\n+00022d60: 676f 6e20 7665 7274 6578 206f 7264 6572 gon vertex order\n+00022d70: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: \n+00022d80: 2020 2053 7765 7074 2070 6f6c 7967 6f6e Swept polygon\n+00022d90: 732e 2020 2020 2020 286c 696e 6520 2031 s. (line 1\n+00022da0: 3929 0a2a 2070 6f6c 7967 6f6e 2076 6572 9).* polygon ver\n+00022db0: 7465 7820 6f72 6465 7220 3c34 3e3a 2020 tex order <4>: \n+00022dc0: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n+00022dd0: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n+00022de0: 2028 6c69 6e65 2020 3337 290a 2a20 706f (line 37).* po\n+00022df0: 6c79 676f 6e20 7665 7274 6578 206f 7264 lygon vertex ord\n+00022e00: 6572 203c 353e 3a20 2020 2020 2020 2020 er <5>: \n+00022e10: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n+00022e20: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00022e30: 2035 3529 0a2a 2070 6f6c 7967 6f6e 2c20 55).* polygon, \n+00022e40: 626f 6479 3a20 2020 2020 2020 2020 2020 body: \n+00022e50: 2020 2020 2020 2020 2020 2020 2020 496e In\n+00022e60: 7465 726e 616c 206f 7074 696f 6e73 2e20 ternal options. \n+00022e70: 2020 2028 6c69 6e65 2020 3136 290a 2a20 (line 16).* \n+00022e80: 706f 6c79 676f 6e2c 2062 6f64 7920 3c31 polygon, body <1\n+00022e90: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00022ea0: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin\n+00022eb0: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin\n+00022ec0: 6520 2031 3029 0a2a 2070 6f6c 7967 6f6e e 10).* polygon\n+00022ed0: 2c20 626f 6479 203c 323e 3a20 2020 2020 , body <2>: \n+00022ee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022ef0: 5377 6570 7420 706f 6c79 676f 6e73 2e20 Swept polygons. \n+00022f00: 2020 2020 2028 6c69 6e65 2020 2039 290a (line 9).\n+00022f10: 2a20 706f 6c79 676f 6e2c 2065 6e64 3a20 * polygon, end: \n+00022f20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022f30: 2020 2020 2020 2020 2053 7765 7074 206c Swept l\n+00022f40: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l\n+00022f50: 696e 6520 2033 3829 0a2a 2070 6f6c 7967 ine 38).* polyg\n+00022f60: 6f6e 2c20 656e 6420 3c31 3e3a 2020 2020 on, end <1>: \n+00022f70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022f80: 2020 5377 6570 7420 706f 6c79 676f 6e73 Swept polygons\n+00022f90: 2e20 2020 2020 2028 6c69 6e65 2020 3135 . (line 15\n+00022fa0: 290a 2a20 706f 6c79 676f 6e2c 206f 7574 ).* polygon, out\n+00022fb0: 7369 6465 206f 663a 2020 2020 2020 2020 side of: \n+00022fc0: 2020 2020 2020 2020 2020 2048 656c 6c6f Hello\n+00022fd0: 2077 6f72 6c64 2e20 2020 2020 2020 2020 world. \n+00022fe0: 286c 696e 6520 2033 3729 0a2a 2070 6f6c (line 37).* pol\n+00022ff0: 7967 6f6e 2c20 706c 616e 6172 3a20 2020 ygon, planar: \n+00023000: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023010: 2020 2020 506f 6c79 676f 6e73 2e20 2020 Polygons. \n+00023020: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00023030: 3130 290a 2a20 706f 6c79 676f 6e2c 2070 10).* polygon, p\n+00023040: 6c61 6e61 7220 3c31 3e3a 2020 2020 2020 lanar <1>: \n+00023050: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+00023060: 6570 2066 6163 6520 7370 6c69 7474 696e ep face splittin\n+00023070: 672e 0a20 2020 2020 2020 2020 2020 2020 g.. \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 2020 2020 2028 6c69 6e65 2020 2037 (line 7\n-000230c0: 290a 2a20 7072 6563 6564 656e 6365 2c20 ).* precedence, \n-000230d0: 6f70 6572 6174 6f72 3a20 2020 2020 2020 operator: \n-000230e0: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o\n-000230f0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n-00023100: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. \n+000230b0: 2028 6c69 6e65 2020 2037 290a 2a20 7072 (line 7).* pr\n+000230c0: 6563 6564 656e 6365 2c20 6f70 6572 6174 ecedence, operat\n+000230d0: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: \n+000230e0: 2020 2020 2054 776f 2d6f 7065 7261 6e64 Two-operand\n+000230f0: 2028 6269 6e61 7279 2920 666f 726d 732e (binary) forms.\n+00023100: 0a20 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: 2020 2020 2028 6c69 6e65 2020 3435 290a (line 45).\n-00023150: 2a20 7072 6f67 7261 6d2c 2068 656c 6c6f * program, hello\n-00023160: 2077 6f72 6c64 3a20 2020 2020 2020 2020 world: \n-00023170: 2020 2020 2020 2020 2048 656c 6c6f 2077 Hello w\n-00023180: 6f72 6c64 2e20 2020 2020 2020 2020 286c orld. (l\n-00023190: 696e 6520 2020 3729 0a2a 2070 726f 6a65 ine 7).* proje\n-000231a0: 6374 696f 6e2c 2070 6172 616c 6c65 6c3a ction, parallel:\n-000231b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000231c0: 2020 4865 6c6c 6f20 776f 726c 642e 2020 Hello world. \n-000231d0: 2020 2020 2020 2028 6c69 6e65 2020 3236 (line 26\n-000231e0: 290a 2a20 7072 6f6a 6563 7469 6f6e 2c20 ).* projection, \n-000231f0: 7061 7261 6c6c 656c 203c 313e 3a20 2020 parallel <1>: \n-00023200: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n-00023210: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n-00023220: 286c 696e 6520 2031 3829 0a2a 2070 726f (line 18).* pro\n-00023230: 6a65 6374 696f 6e2c 2070 6172 616c 6c65 jection, paralle\n-00023240: 6c20 3c32 3e3a 2020 2020 2020 2020 2020 l <2>: \n-00023250: 2020 2020 5069 6374 7572 6520 626f 782e Picture box.\n-00023260: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00023270: 3135 290a 2a20 7072 6f6a 6563 7469 6f6e 15).* projection\n-00023280: 2c20 7065 7273 7065 6374 6976 653a 2020 , perspective: \n-00023290: 2020 2020 2020 2020 2020 2020 2054 7261 Tra\n-000232a0: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n-000232b0: 2020 286c 696e 6520 2031 3929 0a2a 2070 (line 19).* p\n-000232c0: 726f 6a65 6374 696f 6e2c 2070 6572 7370 rojection, persp\n-000232d0: 6563 7469 7665 203c 313e 3a20 2020 2020 ective <1>: \n-000232e0: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n-000232f0: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line\n-00023300: 2020 3231 290a 2a20 7072 6f6a 6563 7469 21).* projecti\n-00023310: 6f6e 2c20 7065 7273 7065 6374 6976 6520 on, perspective \n-00023320: 3c32 3e3a 2020 2020 2020 2020 2020 204f <2>: O\n-00023330: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n-00023340: 2020 2020 286c 696e 6520 2020 3729 0a2a (line 7).*\n-00023350: 2070 7365 7564 6f2d 6f70 7469 6f6e 733a pseudo-options:\n+00023130: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00023140: 6c69 6e65 2020 3435 290a 2a20 7072 6f67 line 45).* prog\n+00023150: 7261 6d2c 2068 656c 6c6f 2077 6f72 6c64 ram, hello world\n+00023160: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00023170: 2020 2048 656c 6c6f 2077 6f72 6c64 2e20 Hello world. \n+00023180: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n+00023190: 3729 0a2a 2070 726f 6a65 6374 696f 6e2c 7).* projection,\n+000231a0: 2070 6172 616c 6c65 6c3a 2020 2020 2020 parallel: \n+000231b0: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell\n+000231c0: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. \n+000231d0: 2028 6c69 6e65 2020 3236 290a 2a20 7072 (line 26).* pr\n+000231e0: 6f6a 6563 7469 6f6e 2c20 7061 7261 6c6c ojection, parall\n+000231f0: 656c 203c 313e 3a20 2020 2020 2020 2020 el <1>: \n+00023200: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n+00023210: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line \n+00023220: 2031 3829 0a2a 2070 726f 6a65 6374 696f 18).* projectio\n+00023230: 6e2c 2070 6172 616c 6c65 6c20 3c32 3e3a n, parallel <2>:\n+00023240: 2020 2020 2020 2020 2020 2020 2020 5069 Pi\n+00023250: 6374 7572 6520 626f 782e 2020 2020 2020 cture box. \n+00023260: 2020 2028 6c69 6e65 2020 3135 290a 2a20 (line 15).* \n+00023270: 7072 6f6a 6563 7469 6f6e 2c20 7065 7273 projection, pers\n+00023280: 7065 6374 6976 653a 2020 2020 2020 2020 pective: \n+00023290: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n+000232a0: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin\n+000232b0: 6520 2031 3929 0a2a 2070 726f 6a65 6374 e 19).* project\n+000232c0: 696f 6e2c 2070 6572 7370 6563 7469 7665 ion, perspective\n+000232d0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+000232e0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n+000232f0: 6c73 2e20 2028 6c69 6e65 2020 3231 290a ls. (line 21).\n+00023300: 2a20 7072 6f6a 6563 7469 6f6e 2c20 7065 * projection, pe\n+00023310: 7273 7065 6374 6976 6520 3c32 3e3a 2020 rspective <2>: \n+00023320: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n+00023330: 772e 2020 2020 2020 2020 2020 2020 286c w. (l\n+00023340: 696e 6520 2020 3729 0a2a 2070 7365 7564 ine 7).* pseud\n+00023350: 6f2d 6f70 7469 6f6e 733a 2020 2020 2020 o-options: \n 00023360: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023370: 2020 2020 2020 2020 5469 6b5a 2f50 4746 TikZ/PGF\n-00023380: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st\n-00023390: 796c 6573 2e0a 2020 2020 2020 2020 2020 yles.. \n+00023370: 2020 5469 6b5a 2f50 4746 2075 7365 722d TikZ/PGF user-\n+00023380: 6465 6669 6e65 6420 7374 796c 6573 2e0a defined 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: 2020 2020 286c 696e 6520 2032 3529 0a2a (line 25).*\n-000233e0: 2070 7366 7261 6d65 626f 783a 2020 2020 psframebox: \n+000233c0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+000233d0: 696e 6520 2032 3529 0a2a 2070 7366 7261 ine 25).* psfra\n+000233e0: 6d65 626f 783a 2020 2020 2020 2020 2020 mebox: \n 000233f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023400: 2020 2020 2020 2020 4672 616d 652e 2020 Frame. \n-00023410: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-00023420: 6e65 2020 2038 290a 2a20 7073 7069 6374 ne 8).* pspict\n-00023430: 7572 653a 2020 2020 2020 2020 2020 2020 ure: \n-00023440: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023450: 2050 6963 7475 7265 2062 6f78 2e20 2020 Picture box. \n-00023460: 2020 2020 2020 286c 696e 6520 2031 3029 (line 10)\n-00023470: 0a2a 2050 5354 7269 636b 733a 2020 2020 .* PSTricks: \n+00023400: 2020 4672 616d 652e 2020 2020 2020 2020 Frame. \n+00023410: 2020 2020 2020 2028 6c69 6e65 2020 2038 (line 8\n+00023420: 290a 2a20 7073 7069 6374 7572 653a 2020 ).* pspicture: \n+00023430: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023440: 2020 2020 2020 2020 2020 2050 6963 7475 Pictu\n+00023450: 7265 2062 6f78 2e20 2020 2020 2020 2020 re box. \n+00023460: 286c 696e 6520 2031 3029 0a2a 2050 5354 (line 10).* PST\n+00023470: 7269 636b 733a 2020 2020 2020 2020 2020 ricks: \n 00023480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023490: 2020 2020 2020 2020 2020 4162 6f75 7420 About \n-000234a0: 736b 6574 6368 2e20 2020 2020 2020 2028 sketch. (\n-000234b0: 6c69 6e65 2020 3231 290a 2a20 7175 6f74 line 21).* quot\n-000234c0: 696e 672c 2073 7065 6369 616c 3a20 2020 ing, special: \n-000234d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000234e0: 2020 2053 7065 6369 616c 206f 626a 6563 Special objec\n-000234f0: 7473 2e20 2020 2020 286c 696e 6520 2032 ts. (line 2\n-00023500: 3029 0a2a 2071 756f 7469 6e67 2c20 7370 0).* quoting, sp\n-00023510: 6563 6961 6c20 3c31 3e3a 2020 2020 2020 ecial <1>: \n-00023520: 2020 2020 2020 2020 2020 2020 5370 6563 Spec\n-00023530: 6961 6c73 2e20 2020 2020 2020 2020 2020 ials. \n-00023540: 2028 6c69 6e65 2020 2038 290a 2a20 7265 (line 8).* re\n-00023550: 6665 7265 6e63 652c 2064 7261 7761 626c ference, drawabl\n-00023560: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n-00023570: 2020 2020 204f 626a 6563 7420 7472 616e Object tran\n-00023580: 7366 6f72 6d73 2e20 2020 286c 696e 6520 sforms. (line \n-00023590: 2033 3329 0a2a 2072 6566 6572 656e 6365 33).* reference\n-000235a0: 2c20 6472 6177 6162 6c65 203c 313e 3a20 , drawable <1>: \n-000235b0: 2020 2020 2020 2020 2020 2020 2020 466f Fo\n-000235c0: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference\n-000235d0: 732e 2028 6c69 6e65 2020 3137 290a 2a20 s. (line 17).* \n-000235e0: 7265 6665 7265 6e63 652c 2064 7261 7761 reference, drawa\n-000235f0: 626c 6520 3c32 3e3a 2020 2020 2020 2020 ble <2>: \n-00023600: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n-00023610: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00023620: 6520 2034 3729 0a2a 2072 6566 6572 656e e 47).* referen\n-00023630: 6365 2c20 6472 6177 6162 6c65 203c 333e ce, drawable <3>\n-00023640: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00023650: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. \n-00023660: 2020 2020 2028 6c69 6e65 2020 3537 290a (line 57).\n-00023670: 2a20 7265 6665 7265 6e63 652c 206d 756c * reference, mul\n-00023680: 7469 706c 6520 6f70 7469 6f6e 733a 2020 tiple options: \n-00023690: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o\n-000236a0: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l\n-000236b0: 696e 6520 2031 3829 0a2a 2072 6566 6572 ine 18).* refer\n-000236c0: 656e 6365 2c20 6f70 7469 6f6e 733a 2020 ence, options: \n-000236d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000236e0: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n-000236f0: 7320 7769 7468 2063 6c6f 7375 7265 2e0a s with closure..\n+00023490: 2020 2020 4162 6f75 7420 736b 6574 6368 About sketch\n+000234a0: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line \n+000234b0: 3231 290a 2a20 7175 6f74 696e 672c 2073 21).* quoting, s\n+000234c0: 7065 6369 616c 3a20 2020 2020 2020 2020 pecial: \n+000234d0: 2020 2020 2020 2020 2020 2020 2053 7065 Spe\n+000234e0: 6369 616c 206f 626a 6563 7473 2e20 2020 cial objects. \n+000234f0: 2020 286c 696e 6520 2032 3029 0a2a 2071 (line 20).* q\n+00023500: 756f 7469 6e67 2c20 7370 6563 6961 6c20 uoting, special \n+00023510: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00023520: 2020 2020 2020 5370 6563 6961 6c73 2e20 Specials. \n+00023530: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00023540: 2020 2038 290a 2a20 7265 6665 7265 6e63 8).* referenc\n+00023550: 652c 2064 7261 7761 626c 653a 2020 2020 e, drawable: \n+00023560: 2020 2020 2020 2020 2020 2020 2020 204f O\n+00023570: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n+00023580: 2e20 2020 286c 696e 6520 2033 3329 0a2a . (line 33).*\n+00023590: 2072 6566 6572 656e 6365 2c20 6472 6177 reference, draw\n+000235a0: 6162 6c65 203c 313e 3a20 2020 2020 2020 able <1>: \n+000235b0: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of\n+000235c0: 2072 6566 6572 656e 6365 732e 2028 6c69 references. (li\n+000235d0: 6e65 2020 3137 290a 2a20 7265 6665 7265 ne 17).* refere\n+000235e0: 6e63 652c 2064 7261 7761 626c 6520 3c32 nce, drawable <2\n+000235f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00023600: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. \n+00023610: 2020 2020 2020 286c 696e 6520 2034 3729 (line 47)\n+00023620: 0a2a 2072 6566 6572 656e 6365 2c20 6472 .* reference, dr\n+00023630: 6177 6162 6c65 203c 333e 3a20 2020 2020 awable <3>: \n+00023640: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi\n+00023650: 6577 2e20 2020 2020 2020 2020 2020 2028 ew. (\n+00023660: 6c69 6e65 2020 3537 290a 2a20 7265 6665 line 57).* refe\n+00023670: 7265 6e63 652c 206d 756c 7469 706c 6520 rence, multiple \n+00023680: 6f70 7469 6f6e 733a 2020 2020 2020 2020 options: \n+00023690: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe\n+000236a0: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1\n+000236b0: 3829 0a2a 2072 6566 6572 656e 6365 2c20 8).* reference, \n+000236c0: 6f70 7469 6f6e 733a 2020 2020 2020 2020 options: \n+000236d0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n+000236e0: 6c69 6e65 2073 7765 6570 7320 7769 7468 line sweeps with\n+000236f0: 2063 6c6f 7375 7265 2e0a 2020 2020 2020 closure.. \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 2020 2020 286c (l\n-00023740: 696e 6520 2032 3429 0a2a 2072 6566 6572 ine 24).* refer\n-00023750: 656e 6365 2c20 6f70 7469 6f6e 7320 3c31 ence, options <1\n-00023760: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00023770: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer\n-00023780: 656e 6365 732e 2028 6c69 6e65 2020 3138 ences. (line 18\n-00023790: 290a 2a20 7265 6665 7265 6e63 652c 2070 ).* reference, p\n-000237a0: 6f69 6e74 3a20 2020 2020 2020 2020 2020 oint: \n-000237b0: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi\n-000237c0: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. \n-000237d0: 286c 696e 6520 2032 3329 0a2a 2072 6566 (line 23).* ref\n-000237e0: 6572 656e 6365 2c20 706f 696e 7420 3c31 erence, point <1\n-000237f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00023800: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref\n-00023810: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line \n-00023820: 3134 290a 2a20 7265 6665 7265 6e63 652c 14).* reference,\n-00023830: 2073 6361 6c61 723a 2020 2020 2020 2020 scalar: \n-00023840: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-00023850: 7074 206f 626a 6563 7473 2e20 2020 2020 pt objects. \n-00023860: 2020 286c 696e 6520 2031 3329 0a2a 2072 (line 13).* r\n-00023870: 6566 6572 656e 6365 2c20 7363 616c 6172 eference, scalar\n-00023880: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00023890: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r\n-000238a0: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line\n-000238b0: 2020 3133 290a 2a20 7265 6665 7265 6e63 13).* referenc\n-000238c0: 652c 2074 6167 3a20 2020 2020 2020 2020 e, tag: \n-000238d0: 2020 2020 2020 2020 2020 2020 2020 2046 F\n-000238e0: 6f72 6d73 206f 6620 6465 6669 6e69 7469 orms of definiti\n-000238f0: 6f6e 732e 0a20 2020 2020 2020 2020 2020 ons.. \n+00023730: 2020 2020 2020 2020 286c 696e 6520 2032 (line 2\n+00023740: 3429 0a2a 2072 6566 6572 656e 6365 2c20 4).* reference, \n+00023750: 6f70 7469 6f6e 7320 3c31 3e3a 2020 2020 options <1>: \n+00023760: 2020 2020 2020 2020 2020 2020 466f 726d Form\n+00023770: 7320 6f66 2072 6566 6572 656e 6365 732e s of references.\n+00023780: 2028 6c69 6e65 2020 3138 290a 2a20 7265 (line 18).* re\n+00023790: 6665 7265 6e63 652c 2070 6f69 6e74 3a20 ference, point: \n+000237a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000237b0: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s\n+000237c0: 6f6c 6964 2e20 2020 2020 286c 696e 6520 olid. (line \n+000237d0: 2032 3329 0a2a 2072 6566 6572 656e 6365 23).* reference\n+000237e0: 2c20 706f 696e 7420 3c31 3e3a 2020 2020 , point <1>: \n+000237f0: 2020 2020 2020 2020 2020 2020 2020 466f Fo\n+00023800: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference\n+00023810: 732e 2028 6c69 6e65 2020 3134 290a 2a20 s. (line 14).* \n+00023820: 7265 6665 7265 6e63 652c 2073 6361 6c61 reference, scala\n+00023830: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n+00023840: 2020 2020 2020 2053 7765 7074 206f 626a Swept obj\n+00023850: 6563 7473 2e20 2020 2020 2020 286c 696e ects. (lin\n+00023860: 6520 2031 3329 0a2a 2072 6566 6572 656e e 13).* referen\n+00023870: 6365 2c20 7363 616c 6172 203c 313e 3a20 ce, scalar <1>: \n+00023880: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023890: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n+000238a0: 6365 732e 2028 6c69 6e65 2020 3133 290a ces. (line 13).\n+000238b0: 2a20 7265 6665 7265 6e63 652c 2074 6167 * reference, tag\n+000238c0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000238d0: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o\n+000238e0: 6620 6465 6669 6e69 7469 6f6e 732e 0a20 f definitions.. \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 2020 \n-00023930: 2020 2028 6c69 6e65 2020 3230 290a 2a20 (line 20).* \n-00023940: 7265 6665 7265 6e63 652c 2074 6167 203c reference, tag <\n-00023950: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-00023960: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of \n-00023970: 7265 6665 7265 6e63 6573 2e20 286c 696e references. (lin\n-00023980: 6520 2031 3929 0a2a 2072 6566 6572 656e e 19).* referen\n-00023990: 6365 2c20 7472 616e 7366 6f72 6d3a 2020 ce, transform: \n-000239a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000239b0: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n-000239c0: 6365 732e 2028 6c69 6e65 2020 3136 290a ces. (line 16).\n-000239d0: 2a20 7265 6665 7265 6e63 652c 2074 7261 * reference, tra\n-000239e0: 6e73 666f 726d 203c 313e 3a20 2020 2020 nsform <1>: \n-000239f0: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n-00023a00: 772e 2020 2020 2020 2020 2020 2020 286c w. (l\n-00023a10: 696e 6520 2033 3529 0a2a 2072 6566 6572 ine 35).* refer\n-00023a20: 656e 6365 2c20 7665 6374 6f72 3a20 2020 ence, vector: \n-00023a30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023a40: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n-00023a50: 732e 2020 2020 2028 6c69 6e65 2020 3230 s. (line 20\n-00023a60: 290a 2a20 7265 6665 7265 6e63 652c 2076 ).* reference, v\n-00023a70: 6563 746f 7220 3c31 3e3a 2020 2020 2020 ector <1>: \n-00023a80: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms\n-00023a90: 206f 6620 7265 6665 7265 6e63 6573 2e20 of references. \n-00023aa0: 286c 696e 6520 2031 3529 0a2a 2072 6570 (line 15).* rep\n-00023ab0: 6561 7465 6420 6f62 6a65 6374 3a20 2020 eated object: \n-00023ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023ad0: 2020 2020 5265 7065 6174 732e 2020 2020 Repeats. \n-00023ae0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00023af0: 2036 290a 2a20 7265 7365 7276 6564 2077 6).* reserved w\n-00023b00: 6f72 6473 3a20 2020 2020 2020 2020 2020 ords: \n-00023b10: 2020 2020 2020 2020 2020 2020 204b 6579 Key\n-00023b20: 2061 6e64 2072 6573 6572 7665 6420 776f and reserved wo\n-00023b30: 7264 732e 0a20 2020 2020 2020 2020 2020 rds.. \n+00023920: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00023930: 6e65 2020 3230 290a 2a20 7265 6665 7265 ne 20).* refere\n+00023940: 6e63 652c 2074 6167 203c 313e 3a20 2020 nce, tag <1>: \n+00023950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023960: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere\n+00023970: 6e63 6573 2e20 286c 696e 6520 2031 3929 nces. (line 19)\n+00023980: 0a2a 2072 6566 6572 656e 6365 2c20 7472 .* reference, tr\n+00023990: 616e 7366 6f72 6d3a 2020 2020 2020 2020 ansform: \n+000239a0: 2020 2020 2020 2020 2020 466f 726d 7320 Forms \n+000239b0: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. (\n+000239c0: 6c69 6e65 2020 3136 290a 2a20 7265 6665 line 16).* refe\n+000239d0: 7265 6e63 652c 2074 7261 6e73 666f 726d rence, transform\n+000239e0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+000239f0: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n+00023a00: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3\n+00023a10: 3529 0a2a 2072 6566 6572 656e 6365 2c20 5).* reference, \n+00023a20: 7665 6374 6f72 3a20 2020 2020 2020 2020 vector: \n+00023a30: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n+00023a40: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. \n+00023a50: 2028 6c69 6e65 2020 3230 290a 2a20 7265 (line 20).* re\n+00023a60: 6665 7265 6e63 652c 2076 6563 746f 7220 ference, vector \n+00023a70: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00023a80: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re\n+00023a90: 6665 7265 6e63 6573 2e20 286c 696e 6520 ferences. (line \n+00023aa0: 2031 3529 0a2a 2072 6570 6561 7465 6420 15).* repeated \n+00023ab0: 6f62 6a65 6374 3a20 2020 2020 2020 2020 object: \n+00023ac0: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+00023ad0: 7065 6174 732e 2020 2020 2020 2020 2020 peats. \n+00023ae0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00023af0: 7265 7365 7276 6564 2077 6f72 6473 3a20 reserved words: \n+00023b00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023b10: 2020 2020 2020 204b 6579 2061 6e64 2072 Key and r\n+00023b20: 6573 6572 7665 6420 776f 7264 732e 0a20 eserved 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 2020 \n-00023b70: 2020 2028 6c69 6e65 2020 3131 290a 2a20 (line 11).* \n-00023b80: 7269 6768 7420 6861 6e64 2072 756c 653a right hand rule:\n+00023b60: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00023b70: 6e65 2020 3131 290a 2a20 7269 6768 7420 ne 11).* right \n+00023b80: 6861 6e64 2072 756c 653a 2020 2020 2020 hand rule: \n 00023b90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023ba0: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n-00023bb0: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin\n-00023bc0: 6520 2034 3129 0a2a 2072 6967 6874 2d68 e 41).* right-h\n-00023bd0: 616e 6420 636f 6f72 6469 6e61 7465 2073 and coordinate s\n-00023be0: 7973 7465 6d3a 2020 2020 2020 2020 2020 ystem: \n-00023bf0: 496e 7472 6f64 7563 7469 6f6e 2062 7920 Introduction by \n-00023c00: 6578 616d 706c 652e 0a20 2020 2020 2020 example.. \n+00023ba0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n+00023bb0: 6d73 2e20 2020 286c 696e 6520 2034 3129 ms. (line 41)\n+00023bc0: 0a2a 2072 6967 6874 2d68 616e 6420 636f .* right-hand co\n+00023bd0: 6f72 6469 6e61 7465 2073 7973 7465 6d3a ordinate system:\n+00023be0: 2020 2020 2020 2020 2020 496e 7472 6f64 Introd\n+00023bf0: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl\n+00023c00: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. \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 2020 2020 2028 6c69 6e65 2020 3131 (line 11\n-00023c50: 290a 2a20 726f 7461 7469 6f6e 3a20 2020 ).* rotation: \n+00023c40: 2028 6c69 6e65 2020 3131 290a 2a20 726f (line 11).* ro\n+00023c50: 7461 7469 6f6e 3a20 2020 2020 2020 2020 tation: \n 00023c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023c70: 2020 2020 2020 2020 2020 204f 626a 6563 Objec\n-00023c80: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. \n-00023c90: 286c 696e 6520 2033 3929 0a2a 2072 6f74 (line 39).* rot\n-00023ca0: 6174 696f 6e20 7472 616e 7366 6f72 6d3a ation transform:\n-00023cb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023cc0: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n-00023cd0: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line \n-00023ce0: 3130 290a 2a20 726f 7461 7469 6f6e 2074 10).* rotation t\n-00023cf0: 7261 6e73 666f 726d 203c 313e 3a20 2020 ransform <1>: \n-00023d00: 2020 2020 2020 2020 2020 2020 2041 2068 A h\n-00023d10: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n-00023d20: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. \n+00023c70: 2020 2020 204f 626a 6563 7420 7472 616e Object tran\n+00023c80: 7366 6f72 6d73 2e20 2020 286c 696e 6520 sforms. (line \n+00023c90: 2033 3929 0a2a 2072 6f74 6174 696f 6e20 39).* rotation \n+00023ca0: 7472 616e 7366 6f72 6d3a 2020 2020 2020 transform: \n+00023cb0: 2020 2020 2020 2020 2020 2020 2020 5472 Tr\n+00023cc0: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n+00023cd0: 2e20 2028 6c69 6e65 2020 3130 290a 2a20 . (line 10).* \n+00023ce0: 726f 7461 7469 6f6e 2074 7261 6e73 666f rotation transfo\n+00023cf0: 726d 203c 313e 3a20 2020 2020 2020 2020 rm <1>: \n+00023d00: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc\n+00023d10: 6869 6361 6c20 6d6f 6465 6c2e 0a20 2020 hical 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 2020 2020 \n-00023d60: 2028 6c69 6e65 2020 3438 290a 2a20 726f (line 48).* ro\n-00023d70: 7461 7469 6f6e 2074 7261 6e73 666f 726d tation transform\n-00023d80: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-00023d90: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi\n-00023da0: 6361 6c20 6d6f 6465 6c2e 0a20 2020 2020 cal model.. \n+00023d50: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00023d60: 2020 3438 290a 2a20 726f 7461 7469 6f6e 48).* rotation\n+00023d70: 2074 7261 6e73 666f 726d 203c 323e 3a20 transform <2>: \n+00023d80: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+00023d90: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n+00023da0: 6465 6c2e 0a20 2020 2020 2020 2020 2020 del.. \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 2020 2020 2028 6c69 6e65 2020 (line \n-00023df0: 3538 290a 2a20 726f 7461 7469 6f6e 2074 58).* rotation t\n-00023e00: 7261 6e73 666f 726d 203c 333e 3a20 2020 ransform <3>: \n-00023e10: 2020 2020 2020 2020 2020 2020 2041 2068 A h\n-00023e20: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n-00023e30: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. \n+00023de0: 2020 2028 6c69 6e65 2020 3538 290a 2a20 (line 58).* \n+00023df0: 726f 7461 7469 6f6e 2074 7261 6e73 666f rotation transfo\n+00023e00: 726d 203c 333e 3a20 2020 2020 2020 2020 rm <3>: \n+00023e10: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc\n+00023e20: 6869 6361 6c20 6d6f 6465 6c2e 0a20 2020 hical 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 2020 2020 \n-00023e70: 2028 6c69 6e65 2020 3738 290a 2a20 726f (line 78).* ro\n-00023e80: 7461 7469 6f6e 2074 7261 6e73 666f 726d tation transform\n-00023e90: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n-00023ea0: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi\n-00023eb0: 6361 6c20 6d6f 6465 6c2e 0a20 2020 2020 cal model.. \n+00023e60: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00023e70: 2020 3738 290a 2a20 726f 7461 7469 6f6e 78).* rotation\n+00023e80: 2074 7261 6e73 666f 726d 203c 343e 3a20 transform <4>: \n+00023e90: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+00023ea0: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n+00023eb0: 6465 6c2e 0a20 2020 2020 2020 2020 2020 del.. \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 2020 2020 2028 6c69 6e65 2020 (line \n-00023f00: 3933 290a 2a20 726f 7461 7469 6f6e 2c20 93).* rotation, \n-00023f10: 6365 6e74 6572 206f 663a 2020 2020 2020 center of: \n-00023f20: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n-00023f30: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n-00023f40: 2020 286c 696e 6520 2020 3829 0a2a 2072 (line 8).* r\n-00023f50: 6f74 6174 696f 6e2c 2063 656e 7465 7220 otation, center \n-00023f60: 6f66 203c 313e 3a20 2020 2020 2020 2020 of <1>: \n-00023f70: 2020 2020 2020 4e65 7374 6564 2073 7765 Nested swe\n-00023f80: 6570 732e 2020 2020 2020 2028 6c69 6e65 eps. (line\n-00023f90: 2020 2036 290a 2a20 7275 6e6e 696e 6720 6).* running \n-00023fa0: 736b 6574 6368 3a20 2020 2020 2020 2020 sketch: \n-00023fb0: 2020 2020 2020 2020 2020 2020 2020 2048 H\n-00023fc0: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. \n-00023fd0: 2020 2020 286c 696e 6520 2020 3929 0a2a (line 9).*\n-00023fe0: 2073 6361 6c61 7220 6465 6669 6e69 7469 scalar definiti\n-00023ff0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n-00024000: 2020 2020 2020 2020 5377 6570 7420 6f62 Swept ob\n-00024010: 6a65 6374 732e 2020 2020 2020 2028 6c69 jects. (li\n-00024020: 6e65 2020 3133 290a 2a20 7363 616c 6172 ne 13).* scalar\n-00024030: 206c 6974 6572 616c 3a20 2020 2020 2020 literal: \n-00024040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024050: 2053 6361 6c61 7220 6c69 7465 7261 6c73 Scalar literals\n-00024060: 2e20 2020 2020 286c 696e 6520 2020 3629 . (line 6)\n-00024070: 0a2a 2073 6361 6c61 7220 7265 6665 7265 .* scalar refere\n-00024080: 6e63 653a 2020 2020 2020 2020 2020 2020 nce: \n-00024090: 2020 2020 2020 2020 2020 466f 726d 7320 Forms \n-000240a0: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. (\n-000240b0: 6c69 6e65 2020 3133 290a 2a20 7363 616c line 13).* scal\n-000240c0: 6520 7472 616e 7366 6f72 6d3a 2020 2020 e transform: \n-000240d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000240e0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n-000240f0: 6572 616c 732e 2020 286c 696e 6520 2031 erals. (line 1\n-00024100: 3629 0a2a 2073 6361 6c65 2074 7261 6e73 6).* scale trans\n-00024110: 666f 726d 203c 313e 3a20 2020 2020 2020 form <1>: \n-00024120: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n-00024130: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n-00024140: 2028 6c69 6e65 2020 3137 290a 2a20 7363 (line 17).* sc\n-00024150: 656e 6520 6465 7363 7269 7074 696f 6e20 ene description \n-00024160: 6c61 6e67 7561 6765 3a20 2020 2020 2020 language: \n-00024170: 2020 2020 204c 616e 6775 6167 6520 6261 Language ba\n-00024180: 7369 6373 2e20 2020 2020 286c 696e 6520 sics. (line \n-00024190: 2020 3829 0a2a 2073 6365 6e65 2064 6573 8).* scene des\n-000241a0: 6372 6970 7469 6f6e 206c 616e 6775 6167 cription languag\n-000241b0: 6520 3c31 3e3a 2020 2020 2020 2020 4275 e <1>: Bu\n-000241c0: 696c 6469 6e67 2061 2064 7261 7769 6e67 ilding a drawing\n-000241d0: 2e20 2028 6c69 6e65 2020 2037 290a 2a20 . (line 7).* \n-000241e0: 7363 6f70 652c 2069 6465 6e74 6966 6965 scope, identifie\n-000241f0: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n-00024200: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n-00024210: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin\n-00024220: 6520 2032 3629 0a2a 2073 636f 7065 2c20 e 26).* scope, \n-00024230: 6964 656e 7469 6669 6572 203c 313e 3a20 identifier <1>: \n-00024240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024250: 426c 6f63 6b73 2e20 2020 2020 2020 2020 Blocks. \n-00024260: 2020 2020 2028 6c69 6e65 2020 3133 290a (line 13).\n-00024270: 2a20 7369 6d70 6c65 2064 6566 696e 6974 * simple definit\n-00024280: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: \n-00024290: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o\n-000242a0: 6620 6465 6669 6e69 7469 6f6e 732e 0a20 f definitions.. \n+00023ef0: 2020 2028 6c69 6e65 2020 3933 290a 2a20 (line 93).* \n+00023f00: 726f 7461 7469 6f6e 2c20 6365 6e74 6572 rotation, center\n+00023f10: 206f 663a 2020 2020 2020 2020 2020 2020 of: \n+00023f20: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n+00023f30: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin\n+00023f40: 6520 2020 3829 0a2a 2072 6f74 6174 696f e 8).* rotatio\n+00023f50: 6e2c 2063 656e 7465 7220 6f66 203c 313e n, center of <1>\n+00023f60: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00023f70: 4e65 7374 6564 2073 7765 6570 732e 2020 Nested sweeps. \n+00023f80: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n+00023f90: 2a20 7275 6e6e 696e 6720 736b 6574 6368 * running sketch\n+00023fa0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00023fb0: 2020 2020 2020 2020 2048 656c 6c6f 2077 Hello w\n+00023fc0: 6f72 6c64 2e20 2020 2020 2020 2020 286c orld. (l\n+00023fd0: 696e 6520 2020 3929 0a2a 2073 6361 6c61 ine 9).* scala\n+00023fe0: 7220 6465 6669 6e69 7469 6f6e 3a20 2020 r definition: \n+00023ff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024000: 2020 5377 6570 7420 6f62 6a65 6374 732e Swept objects.\n+00024010: 2020 2020 2020 2028 6c69 6e65 2020 3133 (line 13\n+00024020: 290a 2a20 7363 616c 6172 206c 6974 6572 ).* scalar liter\n+00024030: 616c 3a20 2020 2020 2020 2020 2020 2020 al: \n+00024040: 2020 2020 2020 2020 2020 2053 6361 6c61 Scala\n+00024050: 7220 6c69 7465 7261 6c73 2e20 2020 2020 r literals. \n+00024060: 286c 696e 6520 2020 3629 0a2a 2073 6361 (line 6).* sca\n+00024070: 6c61 7220 7265 6665 7265 6e63 653a 2020 lar reference: \n+00024080: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024090: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref\n+000240a0: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line \n+000240b0: 3133 290a 2a20 7363 616c 6520 7472 616e 13).* scale tran\n+000240c0: 7366 6f72 6d3a 2020 2020 2020 2020 2020 sform: \n+000240d0: 2020 2020 2020 2020 2020 2020 2054 7261 Tra\n+000240e0: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n+000240f0: 2020 286c 696e 6520 2031 3629 0a2a 2073 (line 16).* s\n+00024100: 6361 6c65 2074 7261 6e73 666f 726d 203c cale transform <\n+00024110: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00024120: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n+00024130: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line\n+00024140: 2020 3137 290a 2a20 7363 656e 6520 6465 17).* scene de\n+00024150: 7363 7269 7074 696f 6e20 6c61 6e67 7561 scription langua\n+00024160: 6765 3a20 2020 2020 2020 2020 2020 204c ge: L\n+00024170: 616e 6775 6167 6520 6261 7369 6373 2e20 anguage basics. \n+00024180: 2020 2020 286c 696e 6520 2020 3829 0a2a (line 8).*\n+00024190: 2073 6365 6e65 2064 6573 6372 6970 7469 scene descripti\n+000241a0: 6f6e 206c 616e 6775 6167 6520 3c31 3e3a on language <1>:\n+000241b0: 2020 2020 2020 2020 4275 696c 6469 6e67 Building\n+000241c0: 2061 2064 7261 7769 6e67 2e20 2028 6c69 a drawing. (li\n+000241d0: 6e65 2020 2037 290a 2a20 7363 6f70 652c ne 7).* scope,\n+000241e0: 2069 6465 6e74 6966 6965 723a 2020 2020 identifier: \n+000241f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024200: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n+00024210: 6d73 2e20 2020 286c 696e 6520 2032 3629 ms. (line 26)\n+00024220: 0a2a 2073 636f 7065 2c20 6964 656e 7469 .* scope, identi\n+00024230: 6669 6572 203c 313e 3a20 2020 2020 2020 fier <1>: \n+00024240: 2020 2020 2020 2020 2020 426c 6f63 6b73 Blocks\n+00024250: 2e20 2020 2020 2020 2020 2020 2020 2028 . (\n+00024260: 6c69 6e65 2020 3133 290a 2a20 7369 6d70 line 13).* simp\n+00024270: 6c65 2064 6566 696e 6974 696f 6e3a 2020 le definition: \n+00024280: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024290: 2020 2046 6f72 6d73 206f 6620 6465 6669 Forms of defi\n+000242a0: 6e69 7469 6f6e 732e 0a20 2020 2020 2020 nitions.. \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 2020 2020 2028 6c69 (li\n-000242f0: 6e65 2020 2036 290a 2a20 736f 6c69 643a ne 6).* solid:\n+000242e0: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n+000242f0: 290a 2a20 736f 6c69 643a 2020 2020 2020 ).* solid: \n 00024300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024320: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid\n-00024330: 2e20 2020 2020 286c 696e 6520 2020 3629 . (line 6)\n-00024340: 0a2a 2073 7065 6369 616c 2061 7267 756d .* special argum\n-00024350: 656e 7420 7375 6273 7469 7475 7469 6f6e ent substitution\n-00024360: 3a20 2020 2020 2020 2020 5370 6563 6961 : Specia\n-00024370: 6c20 6f62 6a65 6374 732e 2020 2020 2028 l objects. (\n-00024380: 6c69 6e65 2020 3238 290a 2a20 7370 6563 line 28).* spec\n-00024390: 6961 6c20 6172 6775 6d65 6e74 2073 7562 ial argument sub\n-000243a0: 7374 6974 7574 696f 6e20 3c31 3e3a 2020 stitution <1>: \n-000243b0: 2020 2053 7065 6369 616c 732e 2020 2020 Specials. \n-000243c0: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1\n-000243d0: 3029 0a2a 2073 7065 6369 616c 206f 626a 0).* special obj\n-000243e0: 6563 743a 2020 2020 2020 2020 2020 2020 ect: \n-000243f0: 2020 2020 2020 2020 2020 2020 5370 6563 Spec\n-00024400: 6961 6c20 6f62 6a65 6374 732e 2020 2020 ial objects. \n-00024410: 2028 6c69 6e65 2020 2036 290a 2a20 7370 (line 6).* sp\n-00024420: 6563 6961 6c20 6f62 6a65 6374 733a 2020 ecial objects: \n-00024430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024440: 2020 2020 2041 2074 6563 686e 6963 616c A technical\n-00024450: 2064 7261 7769 6e67 2e20 286c 696e 6520 drawing. (line \n-00024460: 2033 3829 0a2a 2073 706c 6974 7469 6e67 38).* splitting\n-00024470: 2c20 6c69 6e65 2061 6e64 2073 7572 6661 , line and surfa\n-00024480: 6365 3a20 2020 2020 2020 2020 2020 4865 ce: He\n-00024490: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. \n-000244a0: 2020 2028 6c69 6e65 2020 3139 290a 2a20 (line 19).* \n-000244b0: 7370 6c69 7474 696e 672c 206c 696e 6520 splitting, line \n-000244c0: 616e 6420 7375 7266 6163 6520 3c31 3e3a and surface <1>:\n-000244d0: 2020 2020 2020 2048 6964 6465 6e20 7375 Hidden su\n-000244e0: 7266 6163 6520 7265 6d6f 7661 6c2e 0a20 rface removal.. \n+00024310: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi\n+00024320: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. \n+00024330: 286c 696e 6520 2020 3629 0a2a 2073 7065 (line 6).* spe\n+00024340: 6369 616c 2061 7267 756d 656e 7420 7375 cial argument su\n+00024350: 6273 7469 7475 7469 6f6e 3a20 2020 2020 bstitution: \n+00024360: 2020 2020 5370 6563 6961 6c20 6f62 6a65 Special obje\n+00024370: 6374 732e 2020 2020 2028 6c69 6e65 2020 cts. (line \n+00024380: 3238 290a 2a20 7370 6563 6961 6c20 6172 28).* special ar\n+00024390: 6775 6d65 6e74 2073 7562 7374 6974 7574 gument substitut\n+000243a0: 696f 6e20 3c31 3e3a 2020 2020 2053 7065 ion <1>: Spe\n+000243b0: 6369 616c 732e 2020 2020 2020 2020 2020 cials. \n+000243c0: 2020 286c 696e 6520 2031 3029 0a2a 2073 (line 10).* s\n+000243d0: 7065 6369 616c 206f 626a 6563 743a 2020 pecial object: \n+000243e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000243f0: 2020 2020 2020 5370 6563 6961 6c20 6f62 Special ob\n+00024400: 6a65 6374 732e 2020 2020 2028 6c69 6e65 jects. (line\n+00024410: 2020 2036 290a 2a20 7370 6563 6961 6c20 6).* special \n+00024420: 6f62 6a65 6374 733a 2020 2020 2020 2020 objects: \n+00024430: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+00024440: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi\n+00024450: 6e67 2e20 286c 696e 6520 2033 3829 0a2a ng. (line 38).*\n+00024460: 2073 706c 6974 7469 6e67 2c20 6c69 6e65 splitting, line\n+00024470: 2061 6e64 2073 7572 6661 6365 3a20 2020 and surface: \n+00024480: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo\n+00024490: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li\n+000244a0: 6e65 2020 3139 290a 2a20 7370 6c69 7474 ne 19).* splitt\n+000244b0: 696e 672c 206c 696e 6520 616e 6420 7375 ing, line and su\n+000244c0: 7266 6163 6520 3c31 3e3a 2020 2020 2020 rface <1>: \n+000244d0: 2048 6964 6465 6e20 7375 7266 6163 6520 Hidden surface \n+000244e0: 7265 6d6f 7661 6c2e 0a20 2020 2020 2020 removal.. \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 2020 2020 2028 6c69 (li\n-00024530: 6e65 2020 3231 290a 2a20 7375 6273 7469 ne 21).* substi\n-00024540: 7475 7469 6f6e 2c20 7370 6563 6961 6c3a tution, special:\n-00024550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024560: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects\n-00024570: 2e20 2020 2020 286c 696e 6520 2032 3829 . (line 28)\n-00024580: 0a2a 2073 7572 6661 6365 3a20 2020 2020 .* surface: \n+00024520: 2020 2020 2020 2028 6c69 6e65 2020 3231 (line 21\n+00024530: 290a 2a20 7375 6273 7469 7475 7469 6f6e ).* substitution\n+00024540: 2c20 7370 6563 6961 6c3a 2020 2020 2020 , special: \n+00024550: 2020 2020 2020 2020 2020 2053 7065 6369 Speci\n+00024560: 616c 206f 626a 6563 7473 2e20 2020 2020 al objects. \n+00024570: 286c 696e 6520 2032 3829 0a2a 2073 7572 (line 28).* sur\n+00024580: 6661 6365 3a20 2020 2020 2020 2020 2020 face: \n 00024590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000245a0: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli\n-000245b0: 6e65 2073 7765 6570 732e 2020 2020 2028 ne sweeps. (\n-000245c0: 6c69 6e65 2020 2036 290a 2a20 7377 6565 line 6).* swee\n-000245d0: 703a 2020 2020 2020 2020 2020 2020 2020 p: \n-000245e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000245f0: 2020 2053 7765 7074 206f 626a 6563 7473 Swept objects\n-00024600: 2e20 2020 2020 2020 286c 696e 6520 2020 . (line \n-00024610: 3629 0a2a 2073 7765 7074 2062 6f63 6b3a 6).* swept bock:\n+000245a0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n+000245b0: 6570 732e 2020 2020 2028 6c69 6e65 2020 eps. (line \n+000245c0: 2036 290a 2a20 7377 6565 703a 2020 2020 6).* sweep: \n+000245d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000245e0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+000245f0: 7074 206f 626a 6563 7473 2e20 2020 2020 pt objects. \n+00024600: 2020 286c 696e 6520 2020 3629 0a2a 2073 (line 6).* s\n+00024610: 7765 7074 2062 6f63 6b3a 2020 2020 2020 wept bock: \n 00024620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024630: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-00024640: 7420 626c 6f63 6b73 2e20 2020 2020 2020 t blocks. \n-00024650: 2028 6c69 6e65 2020 2036 290a 2a20 7377 (line 6).* sw\n-00024660: 6570 7420 6c69 6e65 3a20 2020 2020 2020 ept line: \n-00024670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024680: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw\n-00024690: 6565 7073 2e20 2020 2020 286c 696e 6520 eeps. (line \n-000246a0: 2020 3629 0a2a 2073 7765 7074 206c 696e 6).* swept lin\n-000246b0: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: \n-000246c0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-000246d0: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. \n-000246e0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n-000246f0: 7377 6570 7420 6c69 6e65 203c 323e 3a20 swept line <2>: \n+00024630: 2020 2020 2020 5377 6570 7420 626c 6f63 Swept bloc\n+00024640: 6b73 2e20 2020 2020 2020 2028 6c69 6e65 ks. (line\n+00024650: 2020 2036 290a 2a20 7377 6570 7420 6c69 6).* swept li\n+00024660: 6e65 3a20 2020 2020 2020 2020 2020 2020 ne: \n+00024670: 2020 2020 2020 2020 2020 2020 2020 2050 P\n+00024680: 6f6c 796c 696e 6520 7377 6565 7073 2e20 olyline sweeps. \n+00024690: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+000246a0: 2073 7765 7074 206c 696e 6520 3c31 3e3a swept line <1>:\n+000246b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000246c0: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li\n+000246d0: 6e65 732e 2020 2020 2020 2020 2028 6c69 nes. (li\n+000246e0: 6e65 2020 2036 290a 2a20 7377 6570 7420 ne 6).* swept \n+000246f0: 6c69 6e65 203c 323e 3a20 2020 2020 2020 line <2>: \n 00024700: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024710: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n-00024720: 616c 2064 7261 7769 6e67 2e20 286c 696e al drawing. (lin\n-00024730: 6520 2032 3029 0a2a 2073 7765 7074 206f e 20).* swept o\n-00024740: 626a 6563 743a 2020 2020 2020 2020 2020 bject: \n-00024750: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024760: 5377 6570 7420 6f62 6a65 6374 732e 2020 Swept objects. \n-00024770: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-00024780: 2a20 7377 6570 7420 6f62 6a65 6374 203c * swept object <\n-00024790: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-000247a0: 2020 2020 2020 2020 2053 7765 6570 732e Sweeps.\n-000247b0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-000247c0: 696e 6520 2020 3929 0a2a 2073 7765 7074 ine 9).* swept\n-000247d0: 2070 6f69 6e74 3a20 2020 2020 2020 2020 point: \n-000247e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000247f0: 2020 5377 6570 7420 6f62 6a65 6374 732e Swept objects.\n-00024800: 2020 2020 2020 2028 6c69 6e65 2020 3131 (line 11\n-00024810: 290a 2a20 7377 6570 7420 706f 696e 7420 ).* swept point \n-00024820: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-00024830: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-00024840: 2070 6f69 6e74 732e 2020 2020 2020 2020 points. \n-00024850: 286c 696e 6520 2020 3629 0a2a 2073 7765 (line 6).* swe\n-00024860: 7074 2070 6f6c 7967 6f6e 3a20 2020 2020 pt polygon: \n-00024870: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024880: 2020 2020 506f 6c79 676f 6e20 7377 6565 Polygon swee\n-00024890: 7073 2e20 2020 2020 2028 6c69 6e65 2020 ps. (line \n-000248a0: 2036 290a 2a20 7377 6570 7420 706f 6c79 6).* swept poly\n-000248b0: 676f 6e20 3c31 3e3a 2020 2020 2020 2020 gon <1>: \n-000248c0: 2020 2020 2020 2020 2020 2020 2041 2068 A h\n-000248d0: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n-000248e0: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. \n+00024710: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n+00024720: 7769 6e67 2e20 286c 696e 6520 2032 3029 wing. (line 20)\n+00024730: 0a2a 2073 7765 7074 206f 626a 6563 743a .* swept object:\n+00024740: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024750: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+00024760: 6f62 6a65 6374 732e 2020 2020 2020 2028 objects. (\n+00024770: 6c69 6e65 2020 2036 290a 2a20 7377 6570 line 6).* swep\n+00024780: 7420 6f62 6a65 6374 203c 313e 3a20 2020 t object <1>: \n+00024790: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000247a0: 2020 2053 7765 6570 732e 2020 2020 2020 Sweeps. \n+000247b0: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n+000247c0: 3929 0a2a 2073 7765 7074 2070 6f69 6e74 9).* swept point\n+000247d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000247e0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n+000247f0: 7420 6f62 6a65 6374 732e 2020 2020 2020 t objects. \n+00024800: 2028 6c69 6e65 2020 3131 290a 2a20 7377 (line 11).* sw\n+00024810: 6570 7420 706f 696e 7420 3c31 3e3a 2020 ept point <1>: \n+00024820: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024830: 2020 2020 2053 7765 7074 2070 6f69 6e74 Swept point\n+00024840: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line \n+00024850: 2020 3629 0a2a 2073 7765 7074 2070 6f6c 6).* swept pol\n+00024860: 7967 6f6e 3a20 2020 2020 2020 2020 2020 ygon: \n+00024870: 2020 2020 2020 2020 2020 2020 2020 506f Po\n+00024880: 6c79 676f 6e20 7377 6565 7073 2e20 2020 lygon sweeps. \n+00024890: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+000248a0: 7377 6570 7420 706f 6c79 676f 6e20 3c31 swept polygon <1\n+000248b0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+000248c0: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc\n+000248d0: 6869 6361 6c20 6d6f 6465 6c2e 0a20 2020 hical 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 2020 2020 \n-00024920: 2028 6c69 6e65 2031 3232 290a 2a20 7461 (line 122).* ta\n-00024930: 6720 6465 6669 6e69 7469 6f6e 3a20 2020 g definition: \n-00024940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024950: 2020 2020 2044 6566 696e 6974 696f 6e73 Definitions\n-00024960: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n-00024970: 2031 3829 0a2a 2074 6167 2064 6566 696e 18).* tag defin\n-00024980: 6974 696f 6e20 3c31 3e3a 2020 2020 2020 ition <1>: \n-00024990: 2020 2020 2020 2020 2020 2020 2020 466f Fo\n-000249a0: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio\n-000249b0: 6e73 2e0a 2020 2020 2020 2020 2020 2020 ns.. \n+00024910: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00024920: 2031 3232 290a 2a20 7461 6720 6465 6669 122).* tag defi\n+00024930: 6e69 7469 6f6e 3a20 2020 2020 2020 2020 nition: \n+00024940: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+00024950: 6566 696e 6974 696f 6e73 2e20 2020 2020 efinitions. \n+00024960: 2020 2020 286c 696e 6520 2031 3829 0a2a (line 18).*\n+00024970: 2074 6167 2064 6566 696e 6974 696f 6e20 tag definition \n+00024980: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00024990: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of\n+000249a0: 2064 6566 696e 6974 696f 6e73 2e0a 2020 definitions.. \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 2020 \n-000249f0: 2020 286c 696e 6520 2020 3729 0a2a 2074 (line 7).* t\n-00024a00: 6167 2064 6566 696e 6974 696f 6e20 3c32 ag definition <2\n-00024a10: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00024a20: 2020 2020 2020 436f 6d6d 616e 6420 6c69 Command li\n-00024a30: 6e65 2e20 2020 2020 2020 2028 6c69 6e65 ne. (line\n-00024a40: 2020 3533 290a 2a20 7461 6720 7265 6665 53).* tag refe\n-00024a50: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: \n-00024a60: 2020 2020 2020 2020 2020 2020 2020 2046 F\n-00024a70: 6f72 6d73 206f 6620 6465 6669 6e69 7469 orms of definiti\n-00024a80: 6f6e 732e 0a20 2020 2020 2020 2020 2020 ons.. \n+000249e0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+000249f0: 6520 2020 3729 0a2a 2074 6167 2064 6566 e 7).* tag def\n+00024a00: 696e 6974 696f 6e20 3c32 3e3a 2020 2020 inition <2>: \n+00024a10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024a20: 436f 6d6d 616e 6420 6c69 6e65 2e20 2020 Command line. \n+00024a30: 2020 2020 2028 6c69 6e65 2020 3533 290a (line 53).\n+00024a40: 2a20 7461 6720 7265 6665 7265 6e63 653a * tag reference:\n+00024a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024a60: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o\n+00024a70: 6620 6465 6669 6e69 7469 6f6e 732e 0a20 f definitions.. \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 2020 \n-00024ac0: 2020 2028 6c69 6e65 2020 3230 290a 2a20 (line 20).* \n-00024ad0: 7461 6720 7265 6665 7265 6e63 6520 3c31 tag reference <1\n-00024ae0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00024af0: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of \n-00024b00: 7265 6665 7265 6e63 6573 2e20 286c 696e references. (lin\n-00024b10: 6520 2031 3929 0a2a 2074 656d 706c 6174 e 19).* templat\n-00024b20: 652c 2064 6f63 756d 656e 743a 2020 2020 e, document: \n-00024b30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024b40: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. \n-00024b50: 2020 2020 2028 6c69 6e65 2020 3332 290a (line 32).\n-00024b60: 2a20 7465 6d70 6c61 7465 2c20 646f 6375 * template, docu\n-00024b70: 6d65 6e74 203c 313e 3a20 2020 2020 2020 ment <1>: \n-00024b80: 2020 2020 2020 2020 2043 6f6d 6d61 6e64 Command\n-00024b90: 206c 696e 652e 2020 2020 2020 2020 286c line. (l\n-00024ba0: 696e 6520 2033 3629 0a2a 2074 6574 7261 ine 36).* tetra\n-00024bb0: 6865 6472 6f6e 3a20 2020 2020 2020 2020 hedron: \n-00024bc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024bd0: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli\n-00024be0: 642e 2020 2020 2028 6c69 6e65 2020 2039 d. (line 9\n-00024bf0: 290a 2a20 7469 636b 206f 7065 7261 746f ).* tick operato\n-00024c00: 7220 2827 293a 2020 2020 2020 2020 2020 r ('): \n-00024c10: 2020 2020 2020 2020 2020 2041 6666 696e Affin\n-00024c20: 6520 6172 6974 686d 6574 6963 2e20 2020 e arithmetic. \n-00024c30: 286c 696e 6520 2033 3729 0a2a 2074 6963 (line 37).* tic\n-00024c40: 6b20 6f70 6572 6174 6f72 2028 2729 203c k operator (') <\n-00024c50: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-00024c60: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand \n-00024c70: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms..\n+00024ab0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00024ac0: 6e65 2020 3230 290a 2a20 7461 6720 7265 ne 20).* tag re\n+00024ad0: 6665 7265 6e63 6520 3c31 3e3a 2020 2020 ference <1>: \n+00024ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024af0: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere\n+00024b00: 6e63 6573 2e20 286c 696e 6520 2031 3929 nces. (line 19)\n+00024b10: 0a2a 2074 656d 706c 6174 652c 2064 6f63 .* template, doc\n+00024b20: 756d 656e 743a 2020 2020 2020 2020 2020 ument: \n+00024b30: 2020 2020 2020 2020 2020 4865 6c6c 6f20 Hello \n+00024b40: 776f 726c 642e 2020 2020 2020 2020 2028 world. (\n+00024b50: 6c69 6e65 2020 3332 290a 2a20 7465 6d70 line 32).* temp\n+00024b60: 6c61 7465 2c20 646f 6375 6d65 6e74 203c late, document <\n+00024b70: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00024b80: 2020 2043 6f6d 6d61 6e64 206c 696e 652e Command line.\n+00024b90: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3\n+00024ba0: 3629 0a2a 2074 6574 7261 6865 6472 6f6e 6).* tetrahedron\n+00024bb0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00024bc0: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n+00024bd0: 696e 6720 6120 736f 6c69 642e 2020 2020 ing a solid. \n+00024be0: 2028 6c69 6e65 2020 2039 290a 2a20 7469 (line 9).* ti\n+00024bf0: 636b 206f 7065 7261 746f 7220 2827 293a ck operator ('):\n+00024c00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024c10: 2020 2020 2041 6666 696e 6520 6172 6974 Affine arit\n+00024c20: 686d 6574 6963 2e20 2020 286c 696e 6520 hmetic. (line \n+00024c30: 2033 3729 0a2a 2074 6963 6b20 6f70 6572 37).* tick oper\n+00024c40: 6174 6f72 2028 2729 203c 313e 3a20 2020 ator (') <1>: \n+00024c50: 2020 2020 2020 2020 2020 2020 2020 5477 Tw\n+00024c60: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar\n+00024c70: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. \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 2020 2020 286c (l\n-00024cc0: 696e 6520 2034 3129 0a2a 2054 696b 5a2f ine 41).* TikZ/\n-00024cd0: 5047 463a 2020 2020 2020 2020 2020 2020 PGF: \n-00024ce0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024cf0: 2020 4162 6f75 7420 736b 6574 6368 2e20 About sketch. \n-00024d00: 2020 2020 2020 2028 6c69 6e65 2020 3232 (line 22\n-00024d10: 290a 2a20 746f 726f 6964 3a20 2020 2020 ).* toroid: \n+00024cb0: 2020 2020 2020 2020 286c 696e 6520 2034 (line 4\n+00024cc0: 3129 0a2a 2054 696b 5a2f 5047 463a 2020 1).* TikZ/PGF: \n+00024cd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024ce0: 2020 2020 2020 2020 2020 2020 4162 6f75 Abou\n+00024cf0: 7420 736b 6574 6368 2e20 2020 2020 2020 t sketch. \n+00024d00: 2028 6c69 6e65 2020 3232 290a 2a20 746f (line 22).* to\n+00024d10: 726f 6964 3a20 2020 2020 2020 2020 2020 roid: \n 00024d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024d30: 2020 2020 2020 2020 2020 204e 6573 7465 Neste\n-00024d40: 6420 7377 6565 7073 2e20 2020 2020 2020 d sweeps. \n-00024d50: 286c 696e 6520 2020 3829 0a2a 2074 7261 (line 8).* tra\n-00024d60: 6e73 666f 726d 3a20 2020 2020 2020 2020 nsform: \n-00024d70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024d80: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n-00024d90: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line \n-00024da0: 2036 290a 2a20 7472 616e 7366 6f72 6d20 6).* transform \n-00024db0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-00024dc0: 2020 2020 2020 2020 2020 2020 2054 776f Two\n-00024dd0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary\n-00024de0: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. \n+00024d30: 2020 2020 204e 6573 7465 6420 7377 6565 Nested swee\n+00024d40: 7073 2e20 2020 2020 2020 286c 696e 6520 ps. (line \n+00024d50: 2020 3829 0a2a 2074 7261 6e73 666f 726d 8).* transform\n+00024d60: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00024d70: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n+00024d80: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n+00024d90: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00024da0: 7472 616e 7366 6f72 6d20 3c31 3e3a 2020 transform <1>: \n+00024db0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024dc0: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera\n+00024dd0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n+00024de0: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \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 2020 2020 2028 6c69 6e65 2020 3238 (line 28\n-00024e30: 290a 2a20 7472 616e 7366 6f72 6d20 3c32 ).* transform <2\n-00024e40: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00024e50: 2020 2020 2020 2020 2020 2053 7765 6570 Sweep\n-00024e60: 732e 2020 2020 2020 2020 2020 2020 2020 s. \n-00024e70: 286c 696e 6520 2031 3129 0a2a 2074 7261 (line 11).* tra\n-00024e80: 6e73 666f 726d 203c 333e 3a20 2020 2020 nsform <3>: \n-00024e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024ea0: 2020 2020 5265 7065 6174 732e 2020 2020 Repeats. \n-00024eb0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00024ec0: 2039 290a 2a20 7472 616e 7366 6f72 6d20 9).* transform \n-00024ed0: 3c34 3e3a 2020 2020 2020 2020 2020 2020 <4>: \n-00024ee0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n-00024ef0: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n-00024f00: 2020 286c 696e 6520 2020 3729 0a2a 2074 (line 7).* t\n-00024f10: 7261 6e73 666f 726d 2064 6566 696e 6974 ransform definit\n-00024f20: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: \n-00024f30: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n-00024f40: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00024f50: 2020 3335 290a 2a20 7472 616e 7366 6f72 35).* transfor\n-00024f60: 6d20 6c69 7465 7261 6c3a 2020 2020 2020 m literal: \n-00024f70: 2020 2020 2020 2020 2020 2020 2020 2054 T\n-00024f80: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n-00024f90: 732e 2020 286c 696e 6520 2020 3629 0a2a s. (line 6).*\n-00024fa0: 2074 7261 6e73 666f 726d 2072 6566 6572 transform refer\n-00024fb0: 656e 6365 3a20 2020 2020 2020 2020 2020 ence: \n-00024fc0: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of\n-00024fd0: 2072 6566 6572 656e 6365 732e 2028 6c69 references. (li\n-00024fe0: 6e65 2020 3136 290a 2a20 7472 616e 7366 ne 16).* transf\n-00024ff0: 6f72 6d20 7265 6665 7265 6e63 6520 3c31 orm reference <1\n-00025000: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00025010: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. \n-00025020: 2020 2020 2020 286c 696e 6520 2033 3529 (line 35)\n-00025030: 0a2a 2074 7261 6e73 666f 726d 2c20 6469 .* transform, di\n-00025040: 7265 6374 3a20 2020 2020 2020 2020 2020 rect: \n-00025050: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n-00025060: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n-00025070: 6c69 6e65 2020 3437 290a 2a20 7472 616e line 47).* tran\n-00025080: 7366 6f72 6d2c 2064 6972 6563 7420 3c31 sform, direct <1\n-00025090: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-000250a0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n-000250b0: 6572 616c 732e 2020 286c 696e 6520 2035 erals. (line 5\n-000250c0: 3329 0a2a 2074 7261 6e73 666f 726d 2c20 3).* transform, \n-000250d0: 726f 7461 7469 6f6e 3a20 2020 2020 2020 rotation: \n-000250e0: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n-000250f0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n-00025100: 2028 6c69 6e65 2020 3130 290a 2a20 7472 (line 10).* tr\n-00025110: 616e 7366 6f72 6d2c 2072 6f74 6174 696f ansform, rotatio\n-00025120: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: \n-00025130: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi\n-00025140: 6361 6c20 6d6f 6465 6c2e 0a20 2020 2020 cal model.. \n+00024e20: 2028 6c69 6e65 2020 3238 290a 2a20 7472 (line 28).* tr\n+00024e30: 616e 7366 6f72 6d20 3c32 3e3a 2020 2020 ansform <2>: \n+00024e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024e50: 2020 2020 2053 7765 6570 732e 2020 2020 Sweeps. \n+00024e60: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00024e70: 2031 3129 0a2a 2074 7261 6e73 666f 726d 11).* transform\n+00024e80: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: \n+00024e90: 2020 2020 2020 2020 2020 2020 2020 5265 Re\n+00024ea0: 7065 6174 732e 2020 2020 2020 2020 2020 peats. \n+00024eb0: 2020 2028 6c69 6e65 2020 2039 290a 2a20 (line 9).* \n+00024ec0: 7472 616e 7366 6f72 6d20 3c34 3e3a 2020 transform <4>: \n+00024ed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024ee0: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n+00024ef0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00024f00: 6520 2020 3729 0a2a 2074 7261 6e73 666f e 7).* transfo\n+00024f10: 726d 2064 6566 696e 6974 696f 6e3a 2020 rm definition: \n+00024f20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024f30: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. \n+00024f40: 2020 2020 2028 6c69 6e65 2020 3335 290a (line 35).\n+00024f50: 2a20 7472 616e 7366 6f72 6d20 6c69 7465 * transform lite\n+00024f60: 7261 6c3a 2020 2020 2020 2020 2020 2020 ral: \n+00024f70: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo\n+00024f80: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l\n+00024f90: 696e 6520 2020 3629 0a2a 2074 7261 6e73 ine 6).* trans\n+00024fa0: 666f 726d 2072 6566 6572 656e 6365 3a20 form reference: \n+00024fb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024fc0: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer\n+00024fd0: 656e 6365 732e 2028 6c69 6e65 2020 3136 ences. (line 16\n+00024fe0: 290a 2a20 7472 616e 7366 6f72 6d20 7265 ).* transform re\n+00024ff0: 6665 7265 6e63 6520 3c31 3e3a 2020 2020 ference <1>: \n+00025000: 2020 2020 2020 2020 2020 204f 7665 7276 Overv\n+00025010: 6965 772e 2020 2020 2020 2020 2020 2020 iew. \n+00025020: 286c 696e 6520 2033 3529 0a2a 2074 7261 (line 35).* tra\n+00025030: 6e73 666f 726d 2c20 6469 7265 6374 3a20 nsform, direct: \n+00025040: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025050: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n+00025060: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line \n+00025070: 3437 290a 2a20 7472 616e 7366 6f72 6d2c 47).* transform,\n+00025080: 2064 6972 6563 7420 3c31 3e3a 2020 2020 direct <1>: \n+00025090: 2020 2020 2020 2020 2020 2020 2054 7261 Tra\n+000250a0: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n+000250b0: 2020 286c 696e 6520 2035 3329 0a2a 2074 (line 53).* t\n+000250c0: 7261 6e73 666f 726d 2c20 726f 7461 7469 ransform, rotati\n+000250d0: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n+000250e0: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n+000250f0: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line\n+00025100: 2020 3130 290a 2a20 7472 616e 7366 6f72 10).* transfor\n+00025110: 6d2c 2072 6f74 6174 696f 6e20 3c31 3e3a m, rotation <1>:\n+00025120: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+00025130: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n+00025140: 6465 6c2e 0a20 2020 2020 2020 2020 2020 del.. \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 2020 2020 2028 6c69 6e65 2020 (line \n-00025190: 3438 290a 2a20 7472 616e 7366 6f72 6d2c 48).* transform,\n-000251a0: 2072 6f74 6174 696f 6e20 3c32 3e3a 2020 rotation <2>: \n-000251b0: 2020 2020 2020 2020 2020 2020 2041 2068 A h\n-000251c0: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n-000251d0: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. \n+00025180: 2020 2028 6c69 6e65 2020 3438 290a 2a20 (line 48).* \n+00025190: 7472 616e 7366 6f72 6d2c 2072 6f74 6174 transform, rotat\n+000251a0: 696f 6e20 3c32 3e3a 2020 2020 2020 2020 ion <2>: \n+000251b0: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc\n+000251c0: 6869 6361 6c20 6d6f 6465 6c2e 0a20 2020 hical 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 2020 2020 \n-00025210: 2028 6c69 6e65 2020 3538 290a 2a20 7472 (line 58).* tr\n-00025220: 616e 7366 6f72 6d2c 2072 6f74 6174 696f ansform, rotatio\n-00025230: 6e20 3c33 3e3a 2020 2020 2020 2020 2020 n <3>: \n-00025240: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi\n-00025250: 6361 6c20 6d6f 6465 6c2e 0a20 2020 2020 cal model.. \n+00025200: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00025210: 2020 3538 290a 2a20 7472 616e 7366 6f72 58).* transfor\n+00025220: 6d2c 2072 6f74 6174 696f 6e20 3c33 3e3a m, rotation <3>:\n+00025230: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+00025240: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n+00025250: 6465 6c2e 0a20 2020 2020 2020 2020 2020 del.. \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 2020 2020 2028 6c69 6e65 2020 (line \n-000252a0: 3738 290a 2a20 7472 616e 7366 6f72 6d2c 78).* transform,\n-000252b0: 2072 6f74 6174 696f 6e20 3c34 3e3a 2020 rotation <4>: \n-000252c0: 2020 2020 2020 2020 2020 2020 2041 2068 A h\n-000252d0: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n-000252e0: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. \n+00025290: 2020 2028 6c69 6e65 2020 3738 290a 2a20 (line 78).* \n+000252a0: 7472 616e 7366 6f72 6d2c 2072 6f74 6174 transform, rotat\n+000252b0: 696f 6e20 3c34 3e3a 2020 2020 2020 2020 ion <4>: \n+000252c0: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc\n+000252d0: 6869 6361 6c20 6d6f 6465 6c2e 0a20 2020 hical 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 2020 2020 \n-00025320: 2028 6c69 6e65 2020 3933 290a 2a20 7472 (line 93).* tr\n-00025330: 616e 7366 6f72 6d2c 2073 6361 6c65 3a20 ansform, scale: \n-00025340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025350: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n-00025360: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line \n-00025370: 2031 3629 0a2a 2074 7261 6e73 666f 726d 16).* transform\n-00025380: 2c20 7363 616c 6520 3c31 3e3a 2020 2020 , scale <1>: \n-00025390: 2020 2020 2020 2020 2020 2020 2020 5472 Tr\n-000253a0: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n-000253b0: 2e20 2028 6c69 6e65 2020 3137 290a 2a20 . (line 17).* \n-000253c0: 7472 616e 7366 6f72 6d2c 2074 7261 6e73 transform, trans\n-000253d0: 6c61 7469 6f6e 3a20 2020 2020 2020 2020 lation: \n-000253e0: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n-000253f0: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin\n-00025400: 6520 2034 3729 0a2a 2074 7261 6e73 666f e 47).* transfo\n-00025410: 726d 2c20 7472 616e 736c 6174 696f 6e20 rm, translation \n-00025420: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-00025430: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n-00025440: 6c73 2e20 2028 6c69 6e65 2020 3135 290a ls. (line 15).\n-00025450: 2a20 7472 616e 7366 6f72 6d2c 2074 7261 * transform, tra\n-00025460: 6e73 6c61 7469 6f6e 203c 323e 3a20 2020 nslation <2>: \n-00025470: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n-00025480: 7263 6869 6361 6c20 6d6f 6465 6c2e 0a20 rchical model.. \n+00025310: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00025320: 2020 3933 290a 2a20 7472 616e 7366 6f72 93).* transfor\n+00025330: 6d2c 2073 6361 6c65 3a20 2020 2020 2020 m, scale: \n+00025340: 2020 2020 2020 2020 2020 2020 2020 2054 T\n+00025350: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n+00025360: 732e 2020 286c 696e 6520 2031 3629 0a2a s. (line 16).*\n+00025370: 2074 7261 6e73 666f 726d 2c20 7363 616c transform, scal\n+00025380: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: \n+00025390: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor\n+000253a0: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li\n+000253b0: 6e65 2020 3137 290a 2a20 7472 616e 7366 ne 17).* transf\n+000253c0: 6f72 6d2c 2074 7261 6e73 6c61 7469 6f6e orm, translation\n+000253d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000253e0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n+000253f0: 6d73 2e20 2020 286c 696e 6520 2034 3729 ms. (line 47)\n+00025400: 0a2a 2074 7261 6e73 666f 726d 2c20 7472 .* transform, tr\n+00025410: 616e 736c 6174 696f 6e20 3c31 3e3a 2020 anslation <1>: \n+00025420: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n+00025430: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n+00025440: 6c69 6e65 2020 3135 290a 2a20 7472 616e line 15).* tran\n+00025450: 7366 6f72 6d2c 2074 7261 6e73 6c61 7469 sform, translati\n+00025460: 6f6e 203c 323e 3a20 2020 2020 2020 2020 on <2>: \n+00025470: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica\n+00025480: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. \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 2020 2020 2028 6c69 (li\n-000254d0: 6e65 2020 3437 290a 2a20 7472 616e 7366 ne 47).* transf\n-000254e0: 6f72 6d2c 2076 6965 773a 2020 2020 2020 orm, view: \n-000254f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025500: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-00025510: 616c 732e 2020 286c 696e 6520 2032 3529 als. (line 25)\n-00025520: 0a2a 2074 7261 6e73 666f 726d 2c20 7669 .* transform, vi\n-00025530: 6577 203c 313e 3a20 2020 2020 2020 2020 ew <1>: \n-00025540: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n-00025550: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n-00025560: 6c69 6e65 2020 3335 290a 2a20 7472 616e line 35).* tran\n-00025570: 736c 6174 696f 6e20 7472 616e 7366 6f72 slation transfor\n-00025580: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: \n-00025590: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n-000255a0: 6f72 6d73 2e20 2020 286c 696e 6520 2034 orms. (line 4\n-000255b0: 3729 0a2a 2074 7261 6e73 6c61 7469 6f6e 7).* translation\n-000255c0: 2074 7261 6e73 666f 726d 203c 313e 3a20 transform <1>: \n-000255d0: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n-000255e0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n-000255f0: 2028 6c69 6e65 2020 3135 290a 2a20 7472 (line 15).* tr\n-00025600: 616e 736c 6174 696f 6e20 7472 616e 7366 anslation transf\n-00025610: 6f72 6d20 3c32 3e3a 2020 2020 2020 2020 orm <2>: \n-00025620: 2020 2020 2041 2068 6965 7261 7263 6869 A hierarchi\n-00025630: 6361 6c20 6d6f 6465 6c2e 0a20 2020 2020 cal model.. \n+000254c0: 2020 2020 2020 2028 6c69 6e65 2020 3437 (line 47\n+000254d0: 290a 2a20 7472 616e 7366 6f72 6d2c 2076 ).* transform, v\n+000254e0: 6965 773a 2020 2020 2020 2020 2020 2020 iew: \n+000254f0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n+00025500: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n+00025510: 286c 696e 6520 2032 3529 0a2a 2074 7261 (line 25).* tra\n+00025520: 6e73 666f 726d 2c20 7669 6577 203c 313e nsform, view <1>\n+00025530: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00025540: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n+00025550: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line \n+00025560: 3335 290a 2a20 7472 616e 736c 6174 696f 35).* translatio\n+00025570: 6e20 7472 616e 7366 6f72 6d3a 2020 2020 n transform: \n+00025580: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n+00025590: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n+000255a0: 2020 286c 696e 6520 2034 3729 0a2a 2074 (line 47).* t\n+000255b0: 7261 6e73 6c61 7469 6f6e 2074 7261 6e73 ranslation trans\n+000255c0: 666f 726d 203c 313e 3a20 2020 2020 2020 form <1>: \n+000255d0: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n+000255e0: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line\n+000255f0: 2020 3135 290a 2a20 7472 616e 736c 6174 15).* translat\n+00025600: 696f 6e20 7472 616e 7366 6f72 6d20 3c32 ion transform <2\n+00025610: 3e3a 2020 2020 2020 2020 2020 2020 2041 >: A\n+00025620: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n+00025630: 6465 6c2e 0a20 2020 2020 2020 2020 2020 del.. \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 2020 2020 2028 6c69 6e65 2020 (line \n-00025680: 3437 290a 2a20 7472 616e 7370 6172 656e 47).* transparen\n-00025690: 6379 3a20 2020 2020 2020 2020 2020 2020 cy: \n-000256a0: 2020 2020 2020 2020 2020 2020 2054 7261 Tra\n-000256b0: 6e73 7061 7265 6e63 792e 2020 2020 2020 nsparency. \n-000256c0: 2020 286c 696e 6520 2020 3629 0a2a 2074 (line 6).* t\n-000256d0: 776f 2d6f 7065 7261 6e64 2066 6f72 6d3a wo-operand form:\n+00025670: 2020 2028 6c69 6e65 2020 3437 290a 2a20 (line 47).* \n+00025680: 7472 616e 7370 6172 656e 6379 3a20 2020 transparency: \n+00025690: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000256a0: 2020 2020 2020 2054 7261 6e73 7061 7265 Transpare\n+000256b0: 6e63 792e 2020 2020 2020 2020 286c 696e ncy. (lin\n+000256c0: 6520 2020 3629 0a2a 2074 776f 2d6f 7065 e 6).* two-ope\n+000256d0: 7261 6e64 2066 6f72 6d3a 2020 2020 2020 rand form: \n 000256e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000256f0: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan\n-00025700: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms\n-00025710: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+000256f0: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin\n+00025700: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) 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 2020 2020 \n-00025750: 286c 696e 6520 2020 3629 0a2a 2075 6e61 (line 6).* una\n-00025760: 7279 2066 6f72 6d3a 2020 2020 2020 2020 ry form: \n-00025770: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025780: 2020 2020 556e 6172 7920 666f 726d 732e Unary forms.\n-00025790: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-000257a0: 2036 290a 2a20 7665 6374 6f72 3a20 2020 6).* vector: \n+00025740: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00025750: 2020 3629 0a2a 2075 6e61 7279 2066 6f72 6).* unary for\n+00025760: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: \n+00025770: 2020 2020 2020 2020 2020 2020 2020 556e Un\n+00025780: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. \n+00025790: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+000257a0: 7665 6374 6f72 3a20 2020 2020 2020 2020 vector: \n 000257b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000257c0: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n-000257d0: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n-000257e0: 2020 286c 696e 6520 2034 3829 0a2a 2076 (line 48).* v\n-000257f0: 6563 746f 7220 6465 6669 6e69 7469 6f6e ector definition\n-00025800: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00025810: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n-00025820: 7765 6570 732e 2020 2020 2028 6c69 6e65 weeps. (line\n-00025830: 2020 3139 290a 2a20 7665 6374 6f72 206c 19).* vector l\n-00025840: 6974 6572 616c 3a20 2020 2020 2020 2020 iteral: \n-00025850: 2020 2020 2020 2020 2020 2020 2020 2050 P\n-00025860: 6f69 6e74 2061 6e64 2076 6563 746f 7220 oint and vector \n-00025870: 6c69 7465 7261 6c73 2e0a 2020 2020 2020 literals.. \n+000257c0: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n+000257d0: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin\n+000257e0: 6520 2034 3829 0a2a 2076 6563 746f 7220 e 48).* vector \n+000257f0: 6465 6669 6e69 7469 6f6e 3a20 2020 2020 definition: \n+00025800: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025810: 506f 6c79 6c69 6e65 2073 7765 6570 732e Polyline sweeps.\n+00025820: 2020 2020 2028 6c69 6e65 2020 3139 290a (line 19).\n+00025830: 2a20 7665 6374 6f72 206c 6974 6572 616c * vector literal\n+00025840: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00025850: 2020 2020 2020 2020 2050 6f69 6e74 2061 Point a\n+00025860: 6e64 2076 6563 746f 7220 6c69 7465 7261 nd vector litera\n+00025870: 6c73 2e0a 2020 2020 2020 2020 2020 2020 ls.. \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 2020 2020 286c 696e 6520 2020 (line \n-000258c0: 3629 0a2a 2076 6563 746f 7220 7265 6665 6).* vector refe\n-000258d0: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: \n-000258e0: 2020 2020 2020 2020 2020 2020 466f 726d Form\n-000258f0: 7320 6f66 2072 6566 6572 656e 6365 732e s of references.\n-00025900: 2028 6c69 6e65 2020 3135 290a 2a20 7669 (line 15).* vi\n-00025910: 6577 2074 7261 6e73 666f 726d 3a20 2020 ew transform: \n-00025920: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025930: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n-00025940: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line \n-00025950: 2032 3529 0a2a 2076 6965 7720 7472 616e 25).* view tran\n-00025960: 7366 6f72 6d20 3c31 3e3a 2020 2020 2020 sform <1>: \n-00025970: 2020 2020 2020 2020 2020 2020 2020 5472 Tr\n-00025980: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n-00025990: 2e20 2028 6c69 6e65 2020 3335 290a 2a20 . (line 35).* \n-000259a0: 7669 7274 7561 6c20 6361 6d65 7261 3a20 virtual camera: \n+000258b0: 2020 286c 696e 6520 2020 3629 0a2a 2076 (line 6).* v\n+000258c0: 6563 746f 7220 7265 6665 7265 6e63 653a ector reference:\n+000258d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000258e0: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r\n+000258f0: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line\n+00025900: 2020 3135 290a 2a20 7669 6577 2074 7261 15).* view tra\n+00025910: 6e73 666f 726d 3a20 2020 2020 2020 2020 nsform: \n+00025920: 2020 2020 2020 2020 2020 2020 2020 2054 T\n+00025930: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n+00025940: 732e 2020 286c 696e 6520 2032 3529 0a2a s. (line 25).*\n+00025950: 2076 6965 7720 7472 616e 7366 6f72 6d20 view transform \n+00025960: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00025970: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor\n+00025980: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li\n+00025990: 6e65 2020 3335 290a 2a20 7669 7274 7561 ne 35).* virtua\n+000259a0: 6c20 6361 6d65 7261 3a20 2020 2020 2020 l camera: \n 000259b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000259c0: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n-000259d0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-000259e0: 6520 2038 3129 0a2a 2077 6869 7465 2073 e 81).* white s\n-000259f0: 7061 6365 3a20 2020 2020 2020 2020 2020 pace: \n-00025a00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025a10: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid.\n-00025a20: 2020 2020 2028 6c69 6e65 2020 3235 290a (line 25).\n-00025a30: 2a20 7768 6974 6520 7370 6163 6520 3c31 * white space <1\n-00025a40: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00025a50: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing\n-00025a60: 2061 2073 6f6c 6964 2e20 2020 2020 286c a solid. (l\n-00025a70: 696e 6520 2032 3929 0a2a 2077 6869 7465 ine 29).* white\n-00025a80: 2073 7061 6365 203c 323e 3a20 2020 2020 space <2>: \n-00025a90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025aa0: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n-00025ab0: 726d 732e 2020 2028 6c69 6e65 2020 3332 rms. (line 32\n-00025ac0: 290a 2a20 7768 6974 6520 7370 6163 6520 ).* white space \n-00025ad0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: \n-00025ae0: 2020 2020 2020 2020 2020 204c 616e 6775 Langu\n-00025af0: 6167 6520 6261 7369 6373 2e20 2020 2020 age basics. \n-00025b00: 286c 696e 6520 2031 3629 0a0a 0a1f 0a54 (line 16).....T\n-00025b10: 6167 2054 6162 6c65 3a0a 4e6f 6465 3a20 ag Table:.Node: \n-00025b20: 546f 707f 3131 3638 0a4e 6f64 653a 2041 Top.1168.Node: A\n-00025b30: 626f 7574 2073 6b65 7463 687f 3731 3932 bout sketch.7192\n-00025b40: 0a4e 6f64 653a 2052 6570 6f72 7469 6e67 .Node: Reporting\n-00025b50: 2062 7567 737f 3834 3534 0a4e 6f64 653a bugs.8454.Node:\n-00025b60: 2043 6f6e 7472 6962 7574 696f 6e73 7f39 Contributions.9\n-00025b70: 3439 330a 5265 663a 2053 6f6c 6964 2063 493.Ref: Solid c\n-00025b80: 6f69 6c20 6578 616d 706c 657f 3939 3131 oil example.9911\n-00025b90: 0a4e 6f64 653a 2049 6e74 726f 6475 6374 .Node: Introduct\n-00025ba0: 696f 6e20 6279 2065 7861 6d70 6c65 7f39 ion by example.9\n-00025bb0: 3931 320a 4e6f 6465 3a20 4865 6c6c 6f20 912.Node: Hello \n-00025bc0: 776f 726c 647f 3130 3934 360a 5265 663a world.10946.Ref:\n-00025bd0: 2048 656c 6c6f 2077 6f72 6c64 2d46 6f6f Hello world-Foo\n-00025be0: 746e 6f74 652d 317f 3133 3133 380a 4e6f tnote-1.13138.No\n-00025bf0: 6465 3a20 4472 6177 696e 6720 6f70 7469 de: Drawing opti\n-00025c00: 6f6e 737f 3133 3139 370a 4e6f 6465 3a20 ons.13197.Node: \n-00025c10: 4472 6177 696e 6720 6120 736f 6c69 647f Drawing a solid.\n-00025c20: 3134 3338 330a 5265 663a 2048 656c 6978 14383.Ref: Helix\n-00025c30: 2077 6974 6820 6375 6c6c 2073 6574 2066 with cull set f\n-00025c40: 616c 7365 2074 6865 6e20 7472 7565 7f31 alse then true.1\n-00025c50: 3637 3536 0a4e 6f64 653a 2053 7065 6369 6756.Node: Speci\n-00025c60: 616c 206f 626a 6563 7473 7f31 3732 3839 al objects.17289\n-00025c70: 0a4e 6f64 653a 204f 626a 6563 7420 7472 .Node: Object tr\n-00025c80: 616e 7366 6f72 6d73 7f32 3033 3837 0a52 ansforms.20387.R\n-00025c90: 6566 3a20 5269 6768 7420 6861 6e64 2072 ef: Right hand r\n-00025ca0: 756c 657f 3232 3634 340a 4e6f 6465 3a20 ule.22644.Node: \n-00025cb0: 5265 7065 6174 6564 206f 626a 6563 7473 Repeated objects\n-00025cc0: 7f32 3330 3932 0a4e 6f64 653a 2053 7765 .23092.Node: Swe\n-00025cd0: 7074 206f 626a 6563 7473 7f32 3336 3531 pt objects.23651\n-00025ce0: 0a4e 6f64 653a 2050 6f69 6e74 2073 7765 .Node: Point swe\n-00025cf0: 6570 737f 3234 3736 340a 4e6f 6465 3a20 eps.24764.Node: \n-00025d00: 506f 6c79 6c69 6e65 2073 7765 6570 737f Polyline sweeps.\n-00025d10: 3235 3737 360a 4e6f 6465 3a20 4e65 7374 25776.Node: Nest\n-00025d20: 6564 2073 7765 6570 737f 3236 3731 320a ed sweeps.26712.\n-00025d30: 4e6f 6465 3a20 506f 6c79 676f 6e20 7377 Node: Polygon sw\n-00025d40: 6565 7073 7f32 3830 3234 0a4e 6f64 653a eeps.28024.Node:\n-00025d50: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-00025d60: 2077 6974 6820 636c 6f73 7572 657f 3238 with closure.28\n-00025d70: 3437 370a 4e6f 6465 3a20 4166 6669 6e65 477.Node: Affine\n-00025d80: 2061 7269 7468 6d65 7469 637f 3330 3137 arithmetic.3017\n-00025d90: 360a 4e6f 6465 3a20 4d6f 7265 2074 6f20 6.Node: More to \n-00025da0: 6c65 6172 6e7f 3332 3131 340a 4e6f 6465 learn.32114.Node\n-00025db0: 3a20 496e 7075 7420 6c61 6e67 7561 6765 : Input language\n-00025dc0: 7f33 3235 3034 0a4e 6f64 653a 204c 616e .32504.Node: Lan\n-00025dd0: 6775 6167 6520 6261 7369 6373 7f33 3239 guage basics.329\n-00025de0: 3639 0a4e 6f64 653a 2049 6465 6e74 6966 69.Node: Identif\n-00025df0: 6965 7273 7f33 3434 3037 0a4e 6f64 653a iers.34407.Node:\n-00025e00: 204b 6579 2061 6e64 2072 6573 6572 7665 Key and reserve\n-00025e10: 6420 776f 7264 737f 3334 3939 380a 4e6f d words.34998.No\n-00025e20: 6465 3a20 4c69 7465 7261 6c73 7f33 3538 de: Literals.358\n-00025e30: 3731 0a4e 6f64 653a 2053 6361 6c61 7220 71.Node: Scalar \n-00025e40: 6c69 7465 7261 6c73 7f33 3633 3435 0a4e literals.36345.N\n-00025e50: 6f64 653a 2050 6f69 6e74 2061 6e64 2076 ode: Point and v\n-00025e60: 6563 746f 7220 6c69 7465 7261 6c73 7f33 ector literals.3\n-00025e70: 3637 3236 0a4e 6f64 653a 2054 7261 6e73 6726.Node: Trans\n-00025e80: 666f 726d 206c 6974 6572 616c 737f 3337 form literals.37\n-00025e90: 3130 330a 4e6f 6465 3a20 4172 6974 686d 103.Node: Arithm\n-00025ea0: 6574 6963 7f34 3231 3833 0a4e 6f64 653a etic.42183.Node:\n-00025eb0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi\n-00025ec0: 6e61 7279 2920 666f 726d 737f 3432 3535 nary) forms.4255\n-00025ed0: 310a 4e6f 6465 3a20 556e 6172 7920 666f 1.Node: Unary fo\n-00025ee0: 726d 737f 3436 3233 320a 4e6f 6465 3a20 rms.46232.Node: \n-00025ef0: 4f70 7469 6f6e 737f 3437 3538 300a 4e6f Options.47580.No\n-00025f00: 6465 3a20 5053 5472 6963 6b73 206f 7074 de: PSTricks opt\n-00025f10: 696f 6e73 7f34 3832 3939 0a4e 6f64 653a ions.48299.Node:\n-00025f20: 2054 696b 5a2f 5047 4620 6f70 7469 6f6e TikZ/PGF option\n-00025f30: 737f 3439 3431 310a 4e6f 6465 3a20 446f s.49411.Node: Do\n-00025f40: 7473 2069 6e20 5469 6b5a 2f50 4746 7f35 ts in TikZ/PGF.5\n-00025f50: 3131 3532 0a4e 6f64 653a 2054 696b 5a2f 1152.Node: TikZ/\n-00025f60: 5047 4620 7573 6572 2d64 6566 696e 6564 PGF user-defined\n-00025f70: 2073 7479 6c65 737f 3531 3737 330a 5265 styles.51773.Re\n-00025f80: 663a 2054 696b 5a2f 5047 4620 7573 6572 f: TikZ/PGF user\n-00025f90: 2d64 6566 696e 6564 2073 7479 6c65 732d -defined styles-\n-00025fa0: 466f 6f74 6e6f 7465 2d31 7f35 3338 3331 Footnote-1.53831\n-00025fb0: 0a4e 6f64 653a 2054 7261 6e73 7061 7265 .Node: Transpare\n-00025fc0: 6e63 797f 3533 3838 370a 4e6f 6465 3a20 ncy.53887.Node: \n-00025fd0: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options\n-00025fe0: 7f35 3437 3335 0a4e 6f64 653a 2044 7261 .54735.Node: Dra\n-00025ff0: 7761 626c 6573 7f35 3635 3036 0a4e 6f64 wables.56506.Nod\n-00026000: 653a 2044 6f74 737f 3537 3530 350a 4e6f e: Dots.57505.No\n-00026010: 6465 3a20 4c69 6e65 737f 3537 3734 350a de: Lines.57745.\n-00026020: 4e6f 6465 3a20 4375 7276 6573 7f35 3739 Node: Curves.579\n-00026030: 3834 0a4e 6f64 653a 2050 6f6c 7967 6f6e 84.Node: Polygon\n-00026040: 737f 3538 3239 340a 4e6f 6465 3a20 5370 s.58294.Node: Sp\n-00026050: 6563 6961 6c73 7f35 3837 3331 0a4e 6f64 ecials.58731.Nod\n-00026060: 653a 2053 7765 6570 737f 3631 3130 360a e: Sweeps.61106.\n-00026070: 4e6f 6465 3a20 5377 6570 7420 706f 696e Node: Swept poin\n-00026080: 7473 7f36 3233 3839 0a4e 6f64 653a 2053 ts.62389.Node: S\n-00026090: 7765 7074 206c 696e 6573 7f36 3334 3838 wept lines.63488\n-000260a0: 0a4e 6f64 653a 2053 7765 7074 2070 6f6c .Node: Swept pol\n-000260b0: 7967 6f6e 737f 3636 3131 340a 4e6f 6465 ygons.66114.Node\n-000260c0: 3a20 5377 6570 7420 626c 6f63 6b73 7f36 : Swept blocks.6\n-000260d0: 3736 3837 0a4e 6f64 653a 2053 7765 6570 7687.Node: Sweep\n-000260e0: 2066 6163 6520 7370 6c69 7474 696e 677f face splitting.\n-000260f0: 3638 3235 350a 4e6f 6465 3a20 426c 6f63 68255.Node: Bloc\n-00026100: 6b73 7f36 3838 3631 0a4e 6f64 653a 2052 ks.68861.Node: R\n-00026110: 6570 6561 7473 7f36 3934 3636 0a4e 6f64 epeats.69466.Nod\n-00026120: 653a 2050 7574 737f 3730 3131 360a 4e6f e: Puts.70116.No\n-00026130: 6465 3a20 4465 6669 6e69 7469 6f6e 737f de: Definitions.\n-00026140: 3730 3330 310a 4e6f 6465 3a20 466f 726d 70301.Node: Form\n-00026150: 7320 6f66 2064 6566 696e 6974 696f 6e73 s of definitions\n-00026160: 7f37 3135 3437 0a4e 6f64 653a 2046 6f72 .71547.Node: For\n-00026170: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n-00026180: 7f37 3234 3734 0a4e 6f64 653a 2047 6c6f .72474.Node: Glo\n-00026190: 6261 6c20 656e 7669 726f 6e6d 656e 747f bal environment.\n-000261a0: 3733 3532 350a 4e6f 6465 3a20 476c 6f62 73525.Node: Glob\n-000261b0: 616c 206f 7074 696f 6e73 7f37 3434 3237 al options.74427\n-000261c0: 0a4e 6f64 653a 2043 616d 6572 617f 3734 .Node: Camera.74\n-000261d0: 3939 300a 4e6f 6465 3a20 5069 6374 7572 990.Node: Pictur\n-000261e0: 6520 626f 787f 3735 3430 310a 4e6f 6465 e box.75401.Node\n-000261f0: 3a20 4672 616d 657f 3736 3435 320a 4e6f : Frame.76452.No\n-00026200: 6465 3a20 4c61 6e67 7561 6765 7f37 3639 de: Language.769\n-00026210: 3230 0a4e 6f64 653a 2042 7569 6c64 696e 20.Node: Buildin\n-00026220: 6720 6120 6472 6177 696e 677f 3737 3934 g a drawing.7794\n-00026230: 330a 4e6f 6465 3a20 4f76 6572 7669 6577 3.Node: Overview\n-00026240: 7f37 3837 3532 0a4e 6f64 653a 2041 2074 .78752.Node: A t\n-00026250: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n-00026260: 7f38 3632 3836 0a4e 6f64 653a 2041 2068 .86286.Node: A h\n-00026270: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n-00026280: 6c7f 3931 3130 310a 4e6f 6465 3a20 4361 l.91101.Node: Ca\n-00026290: 7665 6174 737f 3937 3535 360a 4e6f 6465 veats.97556.Node\n-000262a0: 3a20 4c69 6d69 7473 206f 6e20 6572 726f : Limits on erro\n-000262b0: 7220 6465 7465 6374 696f 6e7f 3938 3133 r detection.9813\n-000262c0: 380a 4e6f 6465 3a20 436c 6970 7069 6e67 8.Node: Clipping\n-000262d0: 7f39 3936 3234 0a4e 6f64 653a 2048 6964 .99624.Node: Hid\n-000262e0: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo\n-000262f0: 7661 6c7f 3130 3030 3431 0a52 6566 3a20 val.100041.Ref: \n-00026300: 4869 6464 656e 2073 7572 6661 6365 2072 Hidden surface r\n-00026310: 656d 6f76 616c 2d46 6f6f 746e 6f74 652d emoval-Footnote-\n-00026320: 317f 3130 3134 3633 0a52 6566 3a20 4869 1.101463.Ref: Hi\n-00026330: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem\n-00026340: 6f76 616c 2d46 6f6f 746e 6f74 652d 327f oval-Footnote-2.\n-00026350: 3130 3136 3432 0a4e 6f64 653a 2053 7461 101642.Node: Sta\n-00026360: 7469 7374 6963 737f 3130 3230 3238 0a4e tistics.102028.N\n-00026370: 6f64 653a 2042 7567 7320 616e 6420 616e ode: Bugs and an\n-00026380: 6f6d 616c 6965 737f 3130 3333 3235 0a52 omalies.103325.R\n-00026390: 6566 3a20 4275 6773 2061 6e64 2061 6e6f ef: Bugs and ano\n-000263a0: 6d61 6c69 6573 2d46 6f6f 746e 6f74 652d malies-Footnote-\n-000263b0: 317f 3130 3531 3834 0a4e 6f64 653a 2043 1.105184.Node: C\n-000263c0: 6f6d 6d61 6e64 206c 696e 657f 3130 3532 ommand line.1052\n-000263d0: 3833 0a4e 6f64 653a 2049 6e73 7461 6c6c 83.Node: Install\n-000263e0: 696e 6720 736b 6574 6368 7f31 3038 3034 ing sketch.10804\n-000263f0: 330a 4e6f 6465 3a20 496e 6465 7820 6f66 3.Node: Index of\n-00026400: 2073 796e 7461 787f 3131 3131 3236 0a4e syntax.111126.N\n-00026410: 6f64 653a 2049 6e64 6578 7f31 3238 3439 ode: Index.12849\n-00026420: 360a 1f0a 456e 6420 5461 6720 5461 626c 6...End Tag Tabl\n-00026430: 650a 0a1f 0a4c 6f63 616c 2056 6172 6961 e....Local Varia\n-00026440: 626c 6573 3a0a 636f 6469 6e67 3a20 7574 bles:.coding: ut\n-00026450: 662d 380a 456e 643a 0a f-8.End:.\n+000259c0: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. \n+000259d0: 2020 2020 2020 286c 696e 6520 2038 3129 (line 81)\n+000259e0: 0a2a 2077 6869 7465 2073 7061 6365 3a20 .* white space: \n+000259f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025a00: 2020 2020 2020 2020 2020 4472 6177 696e Drawin\n+00025a10: 6720 6120 736f 6c69 642e 2020 2020 2028 g a solid. (\n+00025a20: 6c69 6e65 2020 3235 290a 2a20 7768 6974 line 25).* whit\n+00025a30: 6520 7370 6163 6520 3c31 3e3a 2020 2020 e space <1>: \n+00025a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025a50: 2020 2044 7261 7769 6e67 2061 2073 6f6c Drawing a sol\n+00025a60: 6964 2e20 2020 2020 286c 696e 6520 2032 id. (line 2\n+00025a70: 3929 0a2a 2077 6869 7465 2073 7061 6365 9).* white space\n+00025a80: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+00025a90: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje\n+00025aa0: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. \n+00025ab0: 2028 6c69 6e65 2020 3332 290a 2a20 7768 (line 32).* wh\n+00025ac0: 6974 6520 7370 6163 6520 3c33 3e3a 2020 ite space <3>: \n+00025ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025ae0: 2020 2020 204c 616e 6775 6167 6520 6261 Language ba\n+00025af0: 7369 6373 2e20 2020 2020 286c 696e 6520 sics. (line \n+00025b00: 2031 3629 0a0a 0a1f 0a54 6167 2054 6162 16).....Tag Tab\n+00025b10: 6c65 3a0a 4e6f 6465 3a20 546f 707f 3131 le:.Node: Top.11\n+00025b20: 3635 0a4e 6f64 653a 2041 626f 7574 2073 65.Node: About s\n+00025b30: 6b65 7463 687f 3731 3836 0a4e 6f64 653a ketch.7186.Node:\n+00025b40: 2052 6570 6f72 7469 6e67 2062 7567 737f Reporting bugs.\n+00025b50: 3834 3438 0a4e 6f64 653a 2043 6f6e 7472 8448.Node: Contr\n+00025b60: 6962 7574 696f 6e73 7f39 3438 370a 5265 ibutions.9487.Re\n+00025b70: 663a 2053 6f6c 6964 2063 6f69 6c20 6578 f: Solid coil ex\n+00025b80: 616d 706c 657f 3939 3035 0a4e 6f64 653a ample.9905.Node:\n+00025b90: 2049 6e74 726f 6475 6374 696f 6e20 6279 Introduction by\n+00025ba0: 2065 7861 6d70 6c65 7f39 3930 360a 4e6f example.9906.No\n+00025bb0: 6465 3a20 4865 6c6c 6f20 776f 726c 647f de: Hello world.\n+00025bc0: 3130 3934 300a 5265 663a 2048 656c 6c6f 10940.Ref: Hello\n+00025bd0: 2077 6f72 6c64 2d46 6f6f 746e 6f74 652d world-Footnote-\n+00025be0: 317f 3133 3133 320a 4e6f 6465 3a20 4472 1.13132.Node: Dr\n+00025bf0: 6177 696e 6720 6f70 7469 6f6e 737f 3133 awing options.13\n+00025c00: 3139 310a 4e6f 6465 3a20 4472 6177 696e 191.Node: Drawin\n+00025c10: 6720 6120 736f 6c69 647f 3134 3337 370a g a solid.14377.\n+00025c20: 5265 663a 2048 656c 6978 2077 6974 6820 Ref: Helix with \n+00025c30: 6375 6c6c 2073 6574 2066 616c 7365 2074 cull set false t\n+00025c40: 6865 6e20 7472 7565 7f31 3637 3530 0a4e hen true.16750.N\n+00025c50: 6f64 653a 2053 7065 6369 616c 206f 626a ode: Special obj\n+00025c60: 6563 7473 7f31 3732 3833 0a4e 6f64 653a ects.17283.Node:\n+00025c70: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n+00025c80: 6d73 7f32 3033 3831 0a52 6566 3a20 5269 ms.20381.Ref: Ri\n+00025c90: 6768 7420 6861 6e64 2072 756c 657f 3232 ght hand rule.22\n+00025ca0: 3633 380a 4e6f 6465 3a20 5265 7065 6174 638.Node: Repeat\n+00025cb0: 6564 206f 626a 6563 7473 7f32 3330 3836 ed objects.23086\n+00025cc0: 0a4e 6f64 653a 2053 7765 7074 206f 626a .Node: Swept obj\n+00025cd0: 6563 7473 7f32 3336 3435 0a4e 6f64 653a ects.23645.Node:\n+00025ce0: 2050 6f69 6e74 2073 7765 6570 737f 3234 Point sweeps.24\n+00025cf0: 3735 380a 4e6f 6465 3a20 506f 6c79 6c69 758.Node: Polyli\n+00025d00: 6e65 2073 7765 6570 737f 3235 3737 300a ne sweeps.25770.\n+00025d10: 4e6f 6465 3a20 4e65 7374 6564 2073 7765 Node: Nested swe\n+00025d20: 6570 737f 3236 3730 360a 4e6f 6465 3a20 eps.26706.Node: \n+00025d30: 506f 6c79 676f 6e20 7377 6565 7073 7f32 Polygon sweeps.2\n+00025d40: 3830 3138 0a4e 6f64 653a 2050 6f6c 796c 8018.Node: Polyl\n+00025d50: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with \n+00025d60: 636c 6f73 7572 657f 3238 3437 310a 4e6f closure.28471.No\n+00025d70: 6465 3a20 4166 6669 6e65 2061 7269 7468 de: Affine arith\n+00025d80: 6d65 7469 637f 3330 3137 300a 4e6f 6465 metic.30170.Node\n+00025d90: 3a20 4d6f 7265 2074 6f20 6c65 6172 6e7f : More to learn.\n+00025da0: 3332 3130 380a 4e6f 6465 3a20 496e 7075 32108.Node: Inpu\n+00025db0: 7420 6c61 6e67 7561 6765 7f33 3234 3938 t language.32498\n+00025dc0: 0a4e 6f64 653a 204c 616e 6775 6167 6520 .Node: Language \n+00025dd0: 6261 7369 6373 7f33 3239 3633 0a4e 6f64 basics.32963.Nod\n+00025de0: 653a 2049 6465 6e74 6966 6965 7273 7f33 e: Identifiers.3\n+00025df0: 3434 3031 0a4e 6f64 653a 204b 6579 2061 4401.Node: Key a\n+00025e00: 6e64 2072 6573 6572 7665 6420 776f 7264 nd reserved word\n+00025e10: 737f 3334 3939 320a 4e6f 6465 3a20 4c69 s.34992.Node: Li\n+00025e20: 7465 7261 6c73 7f33 3538 3635 0a4e 6f64 terals.35865.Nod\n+00025e30: 653a 2053 6361 6c61 7220 6c69 7465 7261 e: Scalar litera\n+00025e40: 6c73 7f33 3633 3339 0a4e 6f64 653a 2050 ls.36339.Node: P\n+00025e50: 6f69 6e74 2061 6e64 2076 6563 746f 7220 oint and vector \n+00025e60: 6c69 7465 7261 6c73 7f33 3637 3230 0a4e literals.36720.N\n+00025e70: 6f64 653a 2054 7261 6e73 666f 726d 206c ode: Transform l\n+00025e80: 6974 6572 616c 737f 3337 3039 370a 4e6f iterals.37097.No\n+00025e90: 6465 3a20 4172 6974 686d 6574 6963 7f34 de: Arithmetic.4\n+00025ea0: 3231 3737 0a4e 6f64 653a 2054 776f 2d6f 2177.Node: Two-o\n+00025eb0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n+00025ec0: 666f 726d 737f 3432 3534 350a 4e6f 6465 forms.42545.Node\n+00025ed0: 3a20 556e 6172 7920 666f 726d 737f 3436 : Unary forms.46\n+00025ee0: 3232 360a 4e6f 6465 3a20 4f70 7469 6f6e 226.Node: Option\n+00025ef0: 737f 3437 3537 340a 4e6f 6465 3a20 5053 s.47574.Node: PS\n+00025f00: 5472 6963 6b73 206f 7074 696f 6e73 7f34 Tricks options.4\n+00025f10: 3832 3933 0a4e 6f64 653a 2054 696b 5a2f 8293.Node: TikZ/\n+00025f20: 5047 4620 6f70 7469 6f6e 737f 3439 3430 PGF options.4940\n+00025f30: 350a 4e6f 6465 3a20 446f 7473 2069 6e20 5.Node: Dots in \n+00025f40: 5469 6b5a 2f50 4746 7f35 3131 3436 0a4e TikZ/PGF.51146.N\n+00025f50: 6f64 653a 2054 696b 5a2f 5047 4620 7573 ode: TikZ/PGF us\n+00025f60: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style\n+00025f70: 737f 3531 3736 370a 5265 663a 2054 696b s.51767.Ref: Tik\n+00025f80: 5a2f 5047 4620 7573 6572 2d64 6566 696e Z/PGF user-defin\n+00025f90: 6564 2073 7479 6c65 732d 466f 6f74 6e6f ed styles-Footno\n+00025fa0: 7465 2d31 7f35 3338 3235 0a4e 6f64 653a te-1.53825.Node:\n+00025fb0: 2054 7261 6e73 7061 7265 6e63 797f 3533 Transparency.53\n+00025fc0: 3838 310a 4e6f 6465 3a20 496e 7465 726e 881.Node: Intern\n+00025fd0: 616c 206f 7074 696f 6e73 7f35 3437 3239 al options.54729\n+00025fe0: 0a4e 6f64 653a 2044 7261 7761 626c 6573 .Node: Drawables\n+00025ff0: 7f35 3635 3030 0a4e 6f64 653a 2044 6f74 .56500.Node: Dot\n+00026000: 737f 3537 3439 390a 4e6f 6465 3a20 4c69 s.57499.Node: Li\n+00026010: 6e65 737f 3537 3733 390a 4e6f 6465 3a20 nes.57739.Node: \n+00026020: 4375 7276 6573 7f35 3739 3738 0a4e 6f64 Curves.57978.Nod\n+00026030: 653a 2050 6f6c 7967 6f6e 737f 3538 3238 e: Polygons.5828\n+00026040: 380a 4e6f 6465 3a20 5370 6563 6961 6c73 8.Node: Specials\n+00026050: 7f35 3837 3235 0a4e 6f64 653a 2053 7765 .58725.Node: Swe\n+00026060: 6570 737f 3631 3130 300a 4e6f 6465 3a20 eps.61100.Node: \n+00026070: 5377 6570 7420 706f 696e 7473 7f36 3233 Swept points.623\n+00026080: 3833 0a4e 6f64 653a 2053 7765 7074 206c 83.Node: Swept l\n+00026090: 696e 6573 7f36 3334 3832 0a4e 6f64 653a ines.63482.Node:\n+000260a0: 2053 7765 7074 2070 6f6c 7967 6f6e 737f Swept polygons.\n+000260b0: 3636 3130 380a 4e6f 6465 3a20 5377 6570 66108.Node: Swep\n+000260c0: 7420 626c 6f63 6b73 7f36 3736 3831 0a4e t blocks.67681.N\n+000260d0: 6f64 653a 2053 7765 6570 2066 6163 6520 ode: Sweep face \n+000260e0: 7370 6c69 7474 696e 677f 3638 3234 390a splitting.68249.\n+000260f0: 4e6f 6465 3a20 426c 6f63 6b73 7f36 3838 Node: Blocks.688\n+00026100: 3535 0a4e 6f64 653a 2052 6570 6561 7473 55.Node: Repeats\n+00026110: 7f36 3934 3630 0a4e 6f64 653a 2050 7574 .69460.Node: Put\n+00026120: 737f 3730 3131 300a 4e6f 6465 3a20 4465 s.70110.Node: De\n+00026130: 6669 6e69 7469 6f6e 737f 3730 3239 350a finitions.70295.\n+00026140: 4e6f 6465 3a20 466f 726d 7320 6f66 2064 Node: Forms of d\n+00026150: 6566 696e 6974 696f 6e73 7f37 3135 3431 efinitions.71541\n+00026160: 0a4e 6f64 653a 2046 6f72 6d73 206f 6620 .Node: Forms of \n+00026170: 7265 6665 7265 6e63 6573 7f37 3234 3638 references.72468\n+00026180: 0a4e 6f64 653a 2047 6c6f 6261 6c20 656e .Node: Global en\n+00026190: 7669 726f 6e6d 656e 747f 3733 3531 390a vironment.73519.\n+000261a0: 4e6f 6465 3a20 476c 6f62 616c 206f 7074 Node: Global opt\n+000261b0: 696f 6e73 7f37 3434 3231 0a4e 6f64 653a ions.74421.Node:\n+000261c0: 2043 616d 6572 617f 3734 3938 340a 4e6f Camera.74984.No\n+000261d0: 6465 3a20 5069 6374 7572 6520 626f 787f de: Picture box.\n+000261e0: 3735 3339 350a 4e6f 6465 3a20 4672 616d 75395.Node: Fram\n+000261f0: 657f 3736 3434 360a 4e6f 6465 3a20 4c61 e.76446.Node: La\n+00026200: 6e67 7561 6765 7f37 3639 3134 0a4e 6f64 nguage.76914.Nod\n+00026210: 653a 2042 7569 6c64 696e 6720 6120 6472 e: Building a dr\n+00026220: 6177 696e 677f 3737 3933 370a 4e6f 6465 awing.77937.Node\n+00026230: 3a20 4f76 6572 7669 6577 7f37 3837 3436 : Overview.78746\n+00026240: 0a4e 6f64 653a 2041 2074 6563 686e 6963 .Node: A technic\n+00026250: 616c 2064 7261 7769 6e67 7f38 3632 3830 al drawing.86280\n+00026260: 0a4e 6f64 653a 2041 2068 6965 7261 7263 .Node: A hierarc\n+00026270: 6869 6361 6c20 6d6f 6465 6c7f 3931 3039 hical model.9109\n+00026280: 350a 4e6f 6465 3a20 4361 7665 6174 737f 5.Node: Caveats.\n+00026290: 3937 3535 300a 4e6f 6465 3a20 4c69 6d69 97550.Node: Limi\n+000262a0: 7473 206f 6e20 6572 726f 7220 6465 7465 ts on error dete\n+000262b0: 6374 696f 6e7f 3938 3133 320a 4e6f 6465 ction.98132.Node\n+000262c0: 3a20 436c 6970 7069 6e67 7f39 3936 3138 : Clipping.99618\n+000262d0: 0a4e 6f64 653a 2048 6964 6465 6e20 7375 .Node: Hidden su\n+000262e0: 7266 6163 6520 7265 6d6f 7661 6c7f 3130 rface removal.10\n+000262f0: 3030 3335 0a52 6566 3a20 4869 6464 656e 0035.Ref: Hidden\n+00026300: 2073 7572 6661 6365 2072 656d 6f76 616c surface removal\n+00026310: 2d46 6f6f 746e 6f74 652d 317f 3130 3134 -Footnote-1.1014\n+00026320: 3537 0a52 6566 3a20 4869 6464 656e 2073 57.Ref: Hidden s\n+00026330: 7572 6661 6365 2072 656d 6f76 616c 2d46 urface removal-F\n+00026340: 6f6f 746e 6f74 652d 327f 3130 3136 3336 ootnote-2.101636\n+00026350: 0a4e 6f64 653a 2053 7461 7469 7374 6963 .Node: Statistic\n+00026360: 737f 3130 3230 3232 0a4e 6f64 653a 2042 s.102022.Node: B\n+00026370: 7567 7320 616e 6420 616e 6f6d 616c 6965 ugs and anomalie\n+00026380: 737f 3130 3333 3139 0a52 6566 3a20 4275 s.103319.Ref: Bu\n+00026390: 6773 2061 6e64 2061 6e6f 6d61 6c69 6573 gs and anomalies\n+000263a0: 2d46 6f6f 746e 6f74 652d 317f 3130 3531 -Footnote-1.1051\n+000263b0: 3738 0a4e 6f64 653a 2043 6f6d 6d61 6e64 78.Node: Command\n+000263c0: 206c 696e 657f 3130 3532 3737 0a4e 6f64 line.105277.Nod\n+000263d0: 653a 2049 6e73 7461 6c6c 696e 6720 736b e: Installing sk\n+000263e0: 6574 6368 7f31 3038 3033 370a 4e6f 6465 etch.108037.Node\n+000263f0: 3a20 496e 6465 7820 6f66 2073 796e 7461 : Index of synta\n+00026400: 787f 3131 3131 3230 0a4e 6f64 653a 2049 x.111120.Node: I\n+00026410: 6e64 6578 7f31 3238 3439 300a 1f0a 456e ndex.128490...En\n+00026420: 6420 5461 6720 5461 626c 650a 0a1f 0a4c d Tag Table....L\n+00026430: 6f63 616c 2056 6172 6961 626c 6573 3a0a ocal Variables:.\n+00026440: 636f 6469 6e67 3a20 7574 662d 380a 456e coding: utf-8.En\n+00026450: 643a 0a d:.\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 62048 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: 7650dc15a6ae52e350fb5731e73e4b7d4c6a1db9\n+ GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\t Build ID: 8427b51de64a9230453d4169cef3ed5687ff8892\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": "@@ -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, Sat Feb 15 05:01:39 2025)\n+0.3 (build 7d, Sat Mar 21 13:29:16 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, Sat Feb 15 05:01:39 2025)\n+%% Sketch output, version 0.3 (build 7d, Sat Mar 21 13:29:16 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 61742046 65622031 ld 7d, Sat Feb 1\n- 0x0001b470 35203035 3a30313a 33392032 30323529 5 05:01:39 2025)\n+ 0x0001b460 6c642037 642c2053 6174204d 61722032 ld 7d, Sat Mar 2\n+ 0x0001b470 31203133 3a32393a 31362032 30323629 1 13:29:16 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 20536174 20466562 20313520 30353a30 Sat Feb 15 05:0\n- 0x0001b910 313a3339 20323032 35290a25 25204f75 1:39 2025).%% Ou\n+ 0x0001b900 20536174 204d6172 20323120 31333a32 Sat Mar 21 13:2\n+ 0x0001b910 393a3136 20323032 36290a25 25204f75 9:16 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 35306463 31356136 61653532 65333530 50dc15a6ae52e350\n- 0x00000010 66623537 33316537 33653462 37643463 fb5731e73e4b7d4c\n- 0x00000020 36613164 62392e64 65627567 00000000 6a1db9.debug....\n- 0x00000030 d8aaa075 ...u\n+ 0x00000000 32376235 31646536 34613932 33303435 27b51de64a923045\n+ 0x00000010 33643431 36396365 66336564 35363837 3d4169cef3ed5687\n+ 0x00000020 66663838 39322e64 65627567 00000000 ff8892.debug....\n+ 0x00000030 89ef0365 ...e\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 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+-rw-r--r-- 0 0 0 200104 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: 7650dc15a6ae52e350fb5731e73e4b7d4c6a1db9\n+Build-Ids: 8427b51de64a9230453d4169cef3ed5687ff8892\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/76/50dc15a6ae52e350fb5731e73e4b7d4c6a1db9.debug\n+usr/lib/debug/.build-id/84/27b51de64a9230453d4169cef3ed5687ff8892.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/76/\n--rw-r--r-- 0 root (0) root (0) 276096 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/76/50dc15a6ae52e350fb5731e73e4b7d4c6a1db9.debug\n+drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/84/\n+-rw-r--r-- 0 root (0) root (0) 276096 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/84/27b51de64a9230453d4169cef3ed5687ff8892.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/76/50dc15a6ae52e350fb5731e73e4b7d4c6a1db9.debug", "source2": "./usr/lib/debug/.build-id/84/27b51de64a9230453d4169cef3ed5687ff8892.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: 7650dc15a6ae52e350fb5731e73e4b7d4c6a1db9\n+ GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\t Build ID: 8427b51de64a9230453d4169cef3ed5687ff8892\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"}]}]}]}]}]}