{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.a0YaEvsr/b1/sketch_0.3.7-12_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.a0YaEvsr/b2/sketch_0.3.7-12_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,4 +1,4 @@\n \n- 9a7069961c0e2efa9bf0221cacd06b09 200996 debug optional sketch-dbgsym_0.3.7-12_amd64.deb\n- 60abd764d9fe667492388baf233eff18 1165856 doc optional sketch-doc_0.3.7-12_all.deb\n- 4e814cbd6c4080c7d4fcd73a267e44f6 63284 graphics optional sketch_0.3.7-12_amd64.deb\n+ 4bcaf26b9dd64aad277fce7b14f5dccc 200996 debug optional sketch-dbgsym_0.3.7-12_amd64.deb\n+ 3405bbaf11aaf2e5adbc1463c0e30190 1165924 doc optional sketch-doc_0.3.7-12_all.deb\n+ 6a2d923b0b3c5c076b94758d96f8e1f5 63268 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 4296 2020-11-07 02:36:18.000000 control.tar.xz\n--rw-r--r-- 0 0 0 1161368 2020-11-07 02:36:18.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 4292 2020-11-07 02:36:18.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 1161440 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) 708407 2020-11-07 02:36:18.000000 ./usr/share/doc/sketch-doc/sketch.pdf.gz\n+-rw-r--r-- 0 root (0) root (0) 708455 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) 40126 2020-11-07 02:36:18.000000 ./usr/share/info/sketch.info.gz\n+-rw-r--r-- 0 root (0) root (0) 40125 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,18 +1,17 @@\n Sketch\n Simple 3D sketching\n-Version 0.3 (build 7), Sunday, October 04, 2026\n+Version 0.3 (build 7), Tuesday, September 02, 2025\n \n Gene Ressler\n \n \fCopyright c 2005 to 2012 Eugene K. Ressler.\n-This manual is for sketch, version 0.3 (build 7), Sunday, October 04, 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+This manual is for sketch, version 0.3 (build 7), Tuesday, September 02, 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 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,9793 +5,9794 @@\n 00000040: 682e 7465 7869 2e0a 0a43 6f70 7972 6967 h.texi...Copyrig\n 00000050: 6874 20c2 a920 3230 3035 2074 6f20 3230 ht .. 2005 to 20\n 00000060: 3132 2045 7567 656e 6520 4b2e 2052 6573 12 Eugene K. Res\n 00000070: 736c 6572 2e0a 0a20 2020 5468 6973 206d sler... This m\n 00000080: 616e 7561 6c20 6973 2066 6f72 20e2 8098 anual is for ...\n 00000090: 736b 6574 6368 e280 992c 2076 6572 7369 sketch..., versi\n 000000a0: 6f6e 2030 2e33 2028 6275 696c 6420 3729 on 0.3 (build 7)\n-000000b0: 2c20 5375 6e64 6179 2c20 4f63 746f 6265 , Sunday, Octobe\n-000000c0: 720a 3034 2c20 3230 3236 2c20 6120 7072 r.04, 2026, a pr\n-000000d0: 6f67 7261 6d20 7468 6174 2063 6f6e 7665 ogram that conve\n-000000e0: 7274 7320 6465 7363 7269 7074 696f 6e73 rts descriptions\n-000000f0: 206f 6620 7369 6d70 6c65 0a74 6872 6565 of simple.three\n-00000100: 2d64 696d 656e 7369 6f6e 616c 2073 6365 -dimensional sce\n-00000110: 6e65 7320 696e 746f 206c 696e 6520 6472 nes into line dr\n-00000120: 6177 696e 6773 2e20 2054 6869 7320 7665 awings. This ve\n-00000130: 7273 696f 6e20 6765 6e65 7261 7465 730a rsion generates.\n-00000140: e280 9850 5354 7269 636b 73e2 8099 206f ...PSTricks... o\n-00000150: 7220 e280 9850 4746 2f54 696b 5ae2 8099 r ...PGF/TikZ...\n-00000160: 2063 6f64 6520 7375 6974 6162 6c65 2066 code suitable f\n-00000170: 6f72 2075 7365 2077 6974 6820 7468 6520 or use with the \n-00000180: 5465 5820 646f 6375 6d65 6e74 0a70 726f TeX document.pro\n-00000190: 6365 7373 696e 6720 7379 7374 656d 2e0a cessing system..\n-000001a0: 0a20 2020 e280 9853 6b65 7463 68e2 8099 . ...Sketch...\n-000001b0: 2069 7320 6672 6565 2073 6f66 7477 6172 is free softwar\n-000001c0: 652e 2020 596f 7520 6361 6e20 7265 6469 e. You can redi\n-000001d0: 7374 7269 6275 7465 2069 7420 616e 642f stribute it and/\n-000001e0: 6f72 206d 6f64 6966 7920 6974 0a75 6e64 or modify it.und\n-000001f0: 6572 2074 6865 2074 6572 6d73 206f 6620 er the terms of \n-00000200: 7468 6520 474e 5520 4765 6e65 7261 6c20 the GNU General \n-00000210: 5075 626c 6963 204c 6963 656e 7365 2061 Public License a\n-00000220: 7320 7075 626c 6973 6865 6420 6279 2074 s published by t\n-00000230: 6865 0a46 7265 6520 536f 6674 7761 7265 he.Free Software\n-00000240: 2046 6f75 6e64 6174 696f 6e3b 2065 6974 Foundation; eit\n-00000250: 6865 7220 7665 7273 696f 6e20 332c 206f her version 3, o\n-00000260: 7220 2861 7420 796f 7572 206f 7074 696f r (at your optio\n-00000270: 6e29 2061 6e79 0a6c 6174 6572 2076 6572 n) any.later ver\n-00000280: 7369 6f6e 2e0a 0a20 2020 536b 6574 6368 sion... Sketch\n-00000290: 2069 7320 6469 7374 7269 6275 7465 6420 is distributed \n-000002a0: 696e 2074 6865 2068 6f70 6520 7468 6174 in the hope that\n-000002b0: 2069 7420 7769 6c6c 2062 6520 7573 6566 it will be usef\n-000002c0: 756c 2c20 6275 7420 5749 5448 4f55 540a ul, but WITHOUT.\n-000002d0: 414e 5920 5741 5252 414e 5459 3b20 7769 ANY WARRANTY; wi\n-000002e0: 7468 6f75 7420 6576 656e 2074 6865 2069 thout even the i\n-000002f0: 6d70 6c69 6564 2077 6172 7261 6e74 7920 mplied warranty \n-00000300: 6f66 204d 4552 4348 414e 5441 4249 4c49 of MERCHANTABILI\n-00000310: 5459 206f 720a 4649 544e 4553 5320 464f TY or.FITNESS FO\n-00000320: 5220 4120 5041 5254 4943 554c 4152 2050 R A PARTICULAR P\n-00000330: 5552 504f 5345 2e20 5365 6520 7468 6520 URPOSE. See the \n-00000340: 474e 5520 4765 6e65 7261 6c20 5075 626c GNU General Publ\n-00000350: 6963 204c 6963 656e 7365 2066 6f72 0a6d ic License for.m\n-00000360: 6f72 6520 6465 7461 696c 732e 0a0a 2020 ore details... \n-00000370: 2059 6f75 2073 686f 756c 6420 6861 7665 You should have\n-00000380: 2072 6563 6569 7665 6420 6120 636f 7079 received a copy\n-00000390: 206f 6620 7468 6520 474e 5520 4765 6e65 of the GNU Gene\n-000003a0: 7261 6c20 5075 626c 6963 204c 6963 656e ral Public Licen\n-000003b0: 7365 0a61 6c6f 6e67 2077 6974 6820 e280 se.along with ..\n-000003c0: 9873 6b65 7463 68e2 8099 3b20 7365 6520 .sketch...; see \n-000003d0: 7468 6520 6669 6c65 2043 4f50 5949 4e47 the file COPYING\n-000003e0: 2e74 7874 2e20 2049 6620 6e6f 742c 2073 .txt. If not, s\n-000003f0: 6565 0a68 7474 703a 2f2f 7777 772e 676e ee.http://www.gn\n-00000400: 752e 6f72 672f 636f 7079 6c65 6674 2e0a u.org/copyleft..\n-00000410: 0a49 4e46 4f2d 4449 522d 5345 4354 494f .INFO-DIR-SECTIO\n-00000420: 4e20 5465 580a 5354 4152 542d 494e 464f N TeX.START-INFO\n-00000430: 2d44 4952 2d45 4e54 5259 0a2a 2053 6b65 -DIR-ENTRY.* Ske\n-00000440: 7463 683a 2028 736b 6574 6368 292e 2020 tch: (sketch). \n-00000450: 2020 2020 2020 2020 2020 2053 696d 706c Simpl\n-00000460: 6520 3344 2073 6b65 7463 6869 6e67 2066 e 3D sketching f\n-00000470: 6f72 2054 6558 0a45 4e44 2d49 4e46 4f2d or TeX.END-INFO-\n-00000480: 4449 522d 454e 5452 590a 0a1f 0a46 696c DIR-ENTRY....Fil\n-00000490: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-000004a0: 204e 6f64 653a 2054 6f70 2c20 204e 6578 Node: Top, Nex\n-000004b0: 743a 2041 626f 7574 2073 6b65 7463 682c t: About sketch,\n-000004c0: 2020 5072 6576 3a20 2864 6972 292c 2020 Prev: (dir), \n-000004d0: 5570 3a20 2864 6972 290a 0a53 6b65 7463 Up: (dir)..Sketc\n-000004e0: 680a 2a2a 2a2a 2a2a 0a0a 436f 7079 7269 h.******..Copyri\n-000004f0: 6768 7420 c2a9 2032 3030 3520 746f 2032 ght .. 2005 to 2\n-00000500: 3031 3220 4575 6765 6e65 204b 2e20 5265 012 Eugene K. Re\n-00000510: 7373 6c65 722e 0a0a 2020 2054 6869 7320 ssler... This \n-00000520: 6d61 6e75 616c 2069 7320 666f 7220 e280 manual is for ..\n-00000530: 9873 6b65 7463 68e2 8099 2c20 7665 7273 .sketch..., vers\n-00000540: 696f 6e20 302e 3320 2862 7569 6c64 2037 ion 0.3 (build 7\n-00000550: 292c 2053 756e 6461 792c 204f 6374 6f62 ), Sunday, Octob\n-00000560: 6572 0a30 342c 2032 3032 362c 2061 2070 er.04, 2026, a p\n-00000570: 726f 6772 616d 2074 6861 7420 636f 6e76 rogram that conv\n-00000580: 6572 7473 2064 6573 6372 6970 7469 6f6e erts description\n-00000590: 7320 6f66 2073 696d 706c 650a 7468 7265 s of simple.thre\n-000005a0: 652d 6469 6d65 6e73 696f 6e61 6c20 7363 e-dimensional sc\n-000005b0: 656e 6573 2069 6e74 6f20 6c69 6e65 2064 enes into line d\n-000005c0: 7261 7769 6e67 732e 2020 5468 6973 2076 rawings. This v\n-000005d0: 6572 7369 6f6e 2067 656e 6572 6174 6573 ersion generates\n-000005e0: 0ae2 8098 5053 5472 6963 6b73 e280 9920 ....PSTricks... \n-000005f0: 6f72 20e2 8098 5047 462f 5469 6b5a e280 or ...PGF/TikZ..\n-00000600: 9920 636f 6465 2073 7569 7461 626c 6520 . code suitable \n-00000610: 666f 7220 7573 6520 7769 7468 2074 6865 for use with the\n-00000620: 2054 6558 2064 6f63 756d 656e 740a 7072 TeX document.pr\n-00000630: 6f63 6573 7369 6e67 2073 7973 7465 6d2e ocessing system.\n-00000640: 0a0a 2020 20e2 8098 536b 6574 6368 e280 .. ...Sketch..\n-00000650: 9920 6973 2066 7265 6520 736f 6674 7761 . is free softwa\n-00000660: 7265 2e20 2059 6f75 2063 616e 2072 6564 re. You can red\n-00000670: 6973 7472 6962 7574 6520 6974 2061 6e64 istribute it and\n-00000680: 2f6f 7220 6d6f 6469 6679 2069 740a 756e /or modify it.un\n-00000690: 6465 7220 7468 6520 7465 726d 7320 6f66 der the terms of\n-000006a0: 2074 6865 2047 4e55 2047 656e 6572 616c the GNU General\n-000006b0: 2050 7562 6c69 6320 4c69 6365 6e73 6520 Public License \n-000006c0: 6173 2070 7562 6c69 7368 6564 2062 7920 as published by \n-000006d0: 7468 650a 4672 6565 2053 6f66 7477 6172 the.Free Softwar\n-000006e0: 6520 466f 756e 6461 7469 6f6e 3b20 6569 e Foundation; ei\n-000006f0: 7468 6572 2076 6572 7369 6f6e 2033 2c20 ther version 3, \n-00000700: 6f72 2028 6174 2079 6f75 7220 6f70 7469 or (at your opti\n-00000710: 6f6e 2920 616e 790a 6c61 7465 7220 7665 on) any.later ve\n-00000720: 7273 696f 6e2e 0a0a 2020 2053 6b65 7463 rsion... Sketc\n-00000730: 6820 6973 2064 6973 7472 6962 7574 6564 h is distributed\n-00000740: 2069 6e20 7468 6520 686f 7065 2074 6861 in the hope tha\n-00000750: 7420 6974 2077 696c 6c20 6265 2075 7365 t it will be use\n-00000760: 6675 6c2c 2062 7574 2057 4954 484f 5554 ful, but WITHOUT\n-00000770: 0a41 4e59 2057 4152 5241 4e54 593b 2077 .ANY WARRANTY; w\n-00000780: 6974 686f 7574 2065 7665 6e20 7468 6520 ithout even the \n-00000790: 696d 706c 6965 6420 7761 7272 616e 7479 implied warranty\n-000007a0: 206f 6620 4d45 5243 4841 4e54 4142 494c of MERCHANTABIL\n-000007b0: 4954 5920 6f72 0a46 4954 4e45 5353 2046 ITY or.FITNESS F\n-000007c0: 4f52 2041 2050 4152 5449 4355 4c41 5220 OR A PARTICULAR \n-000007d0: 5055 5250 4f53 452e 2053 6565 2074 6865 PURPOSE. See the\n-000007e0: 2047 4e55 2047 656e 6572 616c 2050 7562 GNU General Pub\n-000007f0: 6c69 6320 4c69 6365 6e73 6520 666f 720a lic License for.\n-00000800: 6d6f 7265 2064 6574 6169 6c73 2e0a 0a20 more details... \n-00000810: 2020 596f 7520 7368 6f75 6c64 2068 6176 You should hav\n-00000820: 6520 7265 6365 6976 6564 2061 2063 6f70 e received a cop\n-00000830: 7920 6f66 2074 6865 2047 4e55 2047 656e y of the GNU Gen\n-00000840: 6572 616c 2050 7562 6c69 6320 4c69 6365 eral Public Lice\n-00000850: 6e73 650a 616c 6f6e 6720 7769 7468 20e2 nse.along with .\n-00000860: 8098 736b 6574 6368 e280 993b 2073 6565 ..sketch...; see\n-00000870: 2074 6865 2066 696c 6520 434f 5059 494e the file COPYIN\n-00000880: 472e 7478 742e 2020 4966 206e 6f74 2c20 G.txt. If not, \n-00000890: 7365 650a 6874 7470 3a2f 2f77 7777 2e67 see.http://www.g\n-000008a0: 6e75 2e6f 7267 2f63 6f70 796c 6566 742e nu.org/copyleft.\n-000008b0: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2041 626f ..* Menu:..* Abo\n-000008c0: 7574 2073 6b65 7463 683a 3a20 2020 2020 ut sketch:: \n-000008d0: 2020 2020 2020 2020 2020 2057 6879 2073 Why s\n-000008e0: 6b65 7463 6820 6578 6973 7473 2061 6e64 ketch exists and\n-000008f0: 2077 6861 7420 6974 2064 6f65 732e 0a2a what it does..*\n-00000900: 2049 6e74 726f 6475 6374 696f 6e20 6279 Introduction by\n-00000910: 2065 7861 6d70 6c65 3a3a 2020 2020 204d example:: M\n-00000920: 6f73 7420 6665 6174 7572 6573 2073 686f ost features sho\n-00000930: 776e 2061 7320 776f 726b 696e 6720 636f wn as working co\n-00000940: 6465 2e0a 2a20 496e 7075 7420 6c61 6e67 de..* Input lang\n-00000950: 7561 6765 3a3a 2020 2020 2020 2020 2020 uage:: \n-00000960: 2020 2020 5379 6e74 6178 2061 6e64 2073 Syntax and s\n-00000970: 656d 616e 7469 6373 206f 6620 e280 9873 emantics of ...s\n-00000980: 6b65 7463 68e2 8099 2063 6f6d 6d61 6e64 ketch... command\n-00000990: 732e 0a2a 2042 7569 6c64 696e 6720 6120 s..* Building a \n-000009a0: 6472 6177 696e 673a 3a20 2020 2020 2020 drawing:: \n-000009b0: 2020 2048 6f77 2074 6f20 7573 6520 e280 How to use ..\n-000009c0: 9873 6b65 7463 68e2 8099 2070 726f 6475 .sketch... produ\n-000009d0: 6374 6976 656c 792e 0a2a 2043 6f6d 6d61 ctively..* Comma\n-000009e0: 6e64 206c 696e 653a 3a20 2020 2020 2020 nd line:: \n-000009f0: 2020 2020 2020 2020 204f 7074 696f 6e73 Options\n-00000a00: 2061 6e64 2074 6865 6972 2075 7361 6765 and their usage\n-00000a10: 2e0a 2a20 496e 7374 616c 6c69 6e67 2073 ..* Installing s\n-00000a20: 6b65 7463 683a 3a20 2020 2020 2020 2020 ketch:: \n-00000a30: 2020 4275 696c 6469 6e67 2061 6e64 2069 Building and i\n-00000a40: 6e73 7461 6c6c 696e 6720 6672 6f6d 2073 nstalling from s\n-00000a50: 6f75 7263 6573 2e0a 2a20 496e 6465 7820 ources..* Index \n-00000a60: 6f66 2073 796e 7461 783a 3a0a 2a20 496e of syntax::.* In\n-00000a70: 6465 783a 3a0a 0a20 2d2d 2054 6865 2044 dex::.. -- The D\n-00000a80: 6574 6169 6c65 6420 4e6f 6465 204c 6973 etailed Node Lis\n-00000a90: 7469 6e67 202d 2d0a 0a41 626f 7574 2073 ting --..About s\n-00000aa0: 6b65 7463 680a 0a2a 2052 6570 6f72 7469 ketch..* Reporti\n-00000ab0: 6e67 2062 7567 733a 3a20 2020 2020 2020 ng bugs:: \n-00000ac0: 2020 2020 2020 204c 6574 2075 7365 206b Let use k\n-00000ad0: 6e6f 7720 7768 6174 2773 2077 726f 6e67 now what's wrong\n-00000ae0: 210a 2a20 436f 6e74 7269 6275 7469 6f6e !.* Contribution\n-00000af0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n-00000b00: 2020 486f 7720 796f 7520 6361 6e20 6865 How you can he\n-00000b10: 6c70 2e2e 2e2e 0a0a 496e 7472 6f64 7563 lp......Introduc\n-00000b20: 7469 6f6e 2062 7920 6578 616d 706c 650a tion by example.\n-00000b30: 0a2a 2048 656c 6c6f 2077 6f72 6c64 3a3a .* Hello world::\n-00000b40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00000b50: 2053 696d 706c 6573 7420 706f 7373 6962 Simplest possib\n-00000b60: 6c65 20e2 8098 736b 6574 6368 e280 9920 le ...sketch... \n-00000b70: 7072 6f67 7261 6d2e 0a2a 2044 7261 7769 program..* Drawi\n-00000b80: 6e67 206f 7074 696f 6e73 3a3a 2020 2020 ng options:: \n-00000b90: 2020 2020 2020 2020 2043 6f6e 7472 6f6c Control\n-00000ba0: 6c69 6e67 206f 626a 6563 7420 6170 7065 ling object appe\n-00000bb0: 6172 616e 6365 2e0a 2a20 4472 6177 696e arance..* Drawin\n-00000bc0: 6720 6120 736f 6c69 643a 3a20 2020 2020 g a solid:: \n-00000bd0: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n-00000be0: 616e 206f 626a 6563 7420 7769 7468 2033 an object with 3\n-00000bf0: 6420 6170 7065 6172 616e 6365 2e0a 2a20 d appearance..* \n-00000c00: 5370 6563 6961 6c20 6f62 6a65 6374 733a Special objects:\n-00000c10: 3a20 2020 2020 2020 2020 2020 2020 4c61 : La\n-00000c20: 7969 6e67 2054 6558 206f 7665 722c 2069 ying TeX over, i\n-00000c30: 6e2c 206f 7220 756e 6465 7220 6472 6177 n, or under draw\n-00000c40: 696e 6773 2e0a 2a20 4f62 6a65 6374 2074 ings..* Object t\n-00000c50: 7261 6e73 666f 726d 733a 3a20 2020 2020 ransforms:: \n-00000c60: 2020 2020 2020 526f 7461 7465 2c20 7472 Rotate, tr\n-00000c70: 616e 736c 6174 652c 2073 6361 6c65 2c20 anslate, scale, \n-00000c80: 616e 6420 6f74 6865 7273 2e0a 2a20 5265 and others..* Re\n-00000c90: 7065 6174 6564 206f 626a 6563 7473 3a3a peated objects::\n-00000ca0: 2020 2020 2020 2020 2020 2020 4d61 6b69 Maki\n-00000cb0: 6e67 2074 7261 6e73 666f 726d 6564 2063 ng transformed c\n-00000cc0: 6f70 6965 732e 0a2a 2053 7765 7074 206f opies..* Swept o\n-00000cd0: 626a 6563 7473 3a3a 2020 2020 2020 2020 bjects:: \n-00000ce0: 2020 2020 2020 2053 7765 6570 696e 6720 Sweeping \n-00000cf0: 6f62 6a65 6374 7320 696e 2073 7061 6365 objects in space\n-00000d00: 2074 6f20 6d61 6b65 206e 6577 2073 6861 to make new sha\n-00000d10: 7065 732e 0a0a 5377 6570 7420 6f62 6a65 pes...Swept obje\n-00000d20: 6374 730a 0a2a 2050 6f69 6e74 2073 7765 cts..* Point swe\n-00000d30: 6570 733a 3a20 2020 2020 2020 2020 2020 eps:: \n-00000d40: 2020 2020 2053 7765 7074 2070 6f69 6e74 Swept point\n-00000d50: 7320 6d61 6b65 206c 696e 6573 2061 6e64 s make lines and\n-00000d60: 2070 6f6c 7967 6f6e 732e 0a2a 2050 6f6c polygons..* Pol\n-00000d70: 796c 696e 6520 7377 6565 7073 3a3a 2020 yline sweeps:: \n-00000d80: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-00000d90: 206c 696e 6573 206d 616b 6520 7375 7266 lines make surf\n-00000da0: 6163 6573 2e0a 2a20 4e65 7374 6564 2073 aces..* Nested s\n-00000db0: 7765 6570 733a 3a20 2020 2020 2020 2020 weeps:: \n-00000dc0: 2020 2020 2020 5377 6570 7420 7377 6565 Swept swee\n-00000dd0: 7073 2061 7265 2075 7365 6675 6c21 0a2a ps are useful!.*\n-00000de0: 2050 6f6c 7967 6f6e 2073 7765 6570 733a Polygon sweeps:\n-00000df0: 3a20 2020 2020 2020 2020 2020 2020 2053 : S\n-00000e00: 7765 7074 2070 6f6c 7967 6f6e 7320 6d61 wept polygons ma\n-00000e10: 6b65 2073 6f6c 6964 732e 2e2e 0a2a 2050 ke solids....* P\n-00000e20: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w\n-00000e30: 6974 6820 636c 6f73 7572 653a 3a20 2061 ith closure:: a\n-00000e40: 6e64 2073 6f20 646f 2063 6c6f 7365 6420 nd so do closed \n-00000e50: 706f 6c79 6c69 6e65 2073 7765 6570 732e polyline sweeps.\n-00000e60: 0a2a 2041 6666 696e 6520 6172 6974 686d .* Affine arithm\n-00000e70: 6574 6963 3a3a 2020 2020 2020 2020 2020 etic:: \n-00000e80: 2053 6b65 7463 6820 7573 6566 756c 206d Sketch useful m\n-00000e90: 6174 6820 6578 7072 6573 7369 6f6e 2e0a ath expression..\n-00000ea0: 2a20 4d6f 7265 2074 6f20 6c65 6172 6e3a * More to learn:\n-00000eb0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00000ec0: 4368 6563 6b20 6f75 7420 7468 6520 4d6f Check out the Mo\n-00000ed0: 6269 7573 2073 7472 6970 210a 0a49 6e70 bius strip!..Inp\n-00000ee0: 7574 206c 616e 6775 6167 650a 0a2a 204c ut language..* L\n-00000ef0: 616e 6775 6167 6520 6261 7369 6373 3a3a anguage basics::\n-00000f00: 2020 2020 2020 2020 2020 2020 2043 6173 Cas\n-00000f10: 652c 2073 7061 6365 2c20 636f 6d6d 656e e, space, commen\n-00000f20: 7473 2c20 696e 636c 7564 6520 6669 6c65 ts, include file\n-00000f30: 732e 0a2a 2044 7261 7761 626c 6573 3a3a s..* Drawables::\n-00000f40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00000f50: 2020 2054 6869 6e67 7320 7468 6174 2063 Things that c\n-00000f60: 616e 2062 6520 6472 6177 6e2e 0a2a 2044 an be drawn..* D\n-00000f70: 6566 696e 6974 696f 6e73 3a3a 2020 2020 efinitions:: \n-00000f80: 2020 2020 2020 2020 2020 2020 2047 6976 Giv\n-00000f90: 696e 6720 7468 696e 6773 206e 616d 6573 ing things names\n-00000fa0: 2e0a 2a20 476c 6f62 616c 2065 6e76 6972 ..* Global envir\n-00000fb0: 6f6e 6d65 6e74 3a3a 2020 2020 2020 2020 onment:: \n-00000fc0: 2020 4166 6665 6374 2074 6865 2065 6e74 Affect the ent\n-00000fd0: 6972 6520 6472 6177 696e 672e 0a0a 4261 ire drawing...Ba\n-00000fe0: 7369 6373 0a0a 2a20 4964 656e 7469 6669 sics..* Identifi\n-00000ff0: 6572 733a 3a20 2020 2020 2020 2020 2020 ers:: \n-00001000: 2020 2020 2020 4e61 6d65 7320 666f 7220 Names for \n-00001010: 7468 696e 6773 2e0a 2a20 4b65 7920 616e things..* Key an\n-00001020: 6420 7265 7365 7276 6564 2077 6f72 6473 d reserved words\n-00001030: 3a3a 2020 2020 2020 4e61 6d65 7320 796f :: Names yo\n-00001040: 7520 7368 6f75 6c64 6e27 7420 7573 652e u shouldn't use.\n-00001050: 0a2a 204c 6974 6572 616c 733a 3a20 2020 .* Literals:: \n-00001060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001070: 2043 6f6e 7374 616e 7473 2061 6e64 2063 Constants and c\n-00001080: 6f6e 7374 7275 6374 6f72 732e 0a2a 2041 onstructors..* A\n-00001090: 7269 7468 6d65 7469 633a 3a20 2020 2020 rithmetic:: \n-000010a0: 2020 2020 2020 2020 2020 2020 2052 756c Rul\n-000010b0: 6573 2066 6f72 2065 7870 7265 7373 696f es for expressio\n-000010c0: 6e73 2e0a 2a20 4f70 7469 6f6e 733a 3a20 ns..* Options:: \n-000010d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000010e0: 2020 2020 4d6f 6469 6679 696e 6720 6f62 Modifying ob\n-000010f0: 6a65 6374 2061 7070 6561 7261 6e63 652e ject appearance.\n-00001100: 0a0a 4c69 7465 7261 6c73 0a0a 2a20 5363 ..Literals..* Sc\n-00001110: 616c 6172 206c 6974 6572 616c 733a 3a20 alar literals:: \n-00001120: 2020 2020 2020 2020 2020 2020 4a75 7374 Just\n-00001130: 2074 6865 206e 756d 6265 7273 2e0a 2a20 the numbers..* \n-00001140: 506f 696e 7420 616e 6420 7665 6374 6f72 Point and vector\n-00001150: 206c 6974 6572 616c 733a 3a20 2020 3364 literals:: 3d\n-00001160: 2071 7561 6e74 6974 6965 732e 0a2a 2054 quantities..* T\n-00001170: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n-00001180: 733a 3a20 2020 2020 2020 2020 204d 6174 s:: Mat\n-00001190: 7269 7820 666f 726d 2e0a 0a41 7269 7468 rix form...Arith\n-000011a0: 6d65 7469 6320 6578 7072 6573 7369 6f6e metic expression\n-000011b0: 730a 0a2a 2054 776f 2d6f 7065 7261 6e64 s..* Two-operand\n-000011c0: 2028 6269 6e61 7279 2920 666f 726d 733a (binary) forms:\n-000011d0: 3a20 2041 206f 7020 420a 2a20 556e 6172 : A op B.* Unar\n-000011e0: 7920 666f 726d 733a 3a20 2020 2020 2020 y forms:: \n-000011f0: 2020 2020 2020 2020 2020 6f70 2041 2028 op A (\n-00001200: 616e 6420 6f74 6865 7273 290a 0a4f 7074 and others)..Opt\n-00001210: 696f 6e73 0a0a 2a20 5053 5472 6963 6b73 ions..* PSTricks\n-00001220: 206f 7074 696f 6e73 3a3a 2020 2020 2020 options:: \n-00001230: 2020 2020 2020 4f70 7469 6f6e 7320 696e Options in\n-00001240: 6865 7269 7465 6420 6672 6f6d 20e2 8098 herited from ...\n-00001250: 5053 5472 6963 6b73 e280 992e 0a2a 2054 PSTricks.....* T\n-00001260: 696b 5a2f 5047 4620 6f70 7469 6f6e 733a ikZ/PGF options:\n-00001270: 3a20 2020 2020 2020 2020 2020 204f 7074 : Opt\n-00001280: 696f 6e73 2069 6e68 6572 6974 6564 2066 ions inherited f\n-00001290: 726f 6d20 e280 9854 696b 5a2f 5047 46e2 rom ...TikZ/PGF.\n-000012a0: 8099 2e0a 2a20 446f 7473 2069 6e20 5469 ....* Dots in Ti\n-000012b0: 6b5a 2f50 4746 3a3a 2020 2020 2020 2020 kZ/PGF:: \n-000012c0: 2020 2020 536b 6574 6368 2075 7365 7320 Sketch uses \n-000012d0: e280 9854 696b 5a2f 5047 46e2 8099 2063 ...TikZ/PGF... c\n-000012e0: 6972 636c 6573 2066 6f72 2064 6f74 732e ircles for dots.\n-000012f0: 0a2a 2054 696b 5a2f 5047 4620 7573 6572 .* TikZ/PGF user\n-00001300: 2d64 6566 696e 6564 2073 7479 6c65 733a -defined styles:\n-00001310: 3a20 2053 7570 706f 7274 2066 6f72 20e2 : Support for .\n-00001320: 8098 5469 6b5a 2f50 4746 e280 9920 6e61 ..TikZ/PGF... na\n-00001330: 6d65 642c 2075 7365 722d 6465 6669 6e65 med, user-define\n-00001340: 6420 7374 796c 6573 2e0a 2a20 5472 616e d styles..* Tran\n-00001350: 7370 6172 656e 6379 3a3a 2020 2020 2020 sparency:: \n-00001360: 2020 2020 2020 2020 2020 5365 652d 7468 See-th\n-00001370: 726f 7567 6820 706f 6c79 676f 6e73 2e0a rough polygons..\n-00001380: 2a20 496e 7465 726e 616c 206f 7074 696f * Internal optio\n-00001390: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: \n-000013a0: 4f70 7469 6f6e 7320 7573 6564 2062 7920 Options used by \n-000013b0: e280 9873 6b65 7463 68e2 8099 2e0a 0a50 ...sketch......P\n-000013c0: 6f69 6e74 206c 6973 7473 0a0a 2a20 4472 oint lists..* Dr\n-000013d0: 6177 6162 6c65 733a 3a20 2020 2020 2020 awables:: \n-000013e0: 2020 2020 2020 2020 2020 2020 5468 696e Thin\n-000013f0: 6773 2074 6861 7420 6172 6520 6472 6177 gs that are draw\n-00001400: 6e2e 0a2a 2044 6566 696e 6974 696f 6e73 n..* Definitions\n-00001410: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-00001420: 2020 2054 6869 6e67 7320 7769 7468 206e Things with n\n-00001430: 616d 6573 2e0a 0a44 7261 7761 626c 6573 ames...Drawables\n-00001440: 0a0a 2a20 446f 7473 3a3a 2020 2020 2020 ..* Dots:: \n+000000b0: 2c20 5475 6573 6461 792c 0a53 6570 7465 , Tuesday,.Septe\n+000000c0: 6d62 6572 2030 322c 2032 3032 352c 2061 mber 02, 2025, a\n+000000d0: 2070 726f 6772 616d 2074 6861 7420 636f program that co\n+000000e0: 6e76 6572 7473 2064 6573 6372 6970 7469 nverts descripti\n+000000f0: 6f6e 7320 6f66 2073 696d 706c 650a 7468 ons of simple.th\n+00000100: 7265 652d 6469 6d65 6e73 696f 6e61 6c20 ree-dimensional \n+00000110: 7363 656e 6573 2069 6e74 6f20 6c69 6e65 scenes into line\n+00000120: 2064 7261 7769 6e67 732e 2020 5468 6973 drawings. This\n+00000130: 2076 6572 7369 6f6e 2067 656e 6572 6174 version generat\n+00000140: 6573 0ae2 8098 5053 5472 6963 6b73 e280 es....PSTricks..\n+00000150: 9920 6f72 20e2 8098 5047 462f 5469 6b5a . or ...PGF/TikZ\n+00000160: e280 9920 636f 6465 2073 7569 7461 626c ... code suitabl\n+00000170: 6520 666f 7220 7573 6520 7769 7468 2074 e for use with t\n+00000180: 6865 2054 6558 2064 6f63 756d 656e 740a he TeX document.\n+00000190: 7072 6f63 6573 7369 6e67 2073 7973 7465 processing syste\n+000001a0: 6d2e 0a0a 2020 20e2 8098 536b 6574 6368 m... ...Sketch\n+000001b0: e280 9920 6973 2066 7265 6520 736f 6674 ... is free soft\n+000001c0: 7761 7265 2e20 2059 6f75 2063 616e 2072 ware. You can r\n+000001d0: 6564 6973 7472 6962 7574 6520 6974 2061 edistribute it a\n+000001e0: 6e64 2f6f 7220 6d6f 6469 6679 2069 740a nd/or modify it.\n+000001f0: 756e 6465 7220 7468 6520 7465 726d 7320 under the terms \n+00000200: 6f66 2074 6865 2047 4e55 2047 656e 6572 of the GNU Gener\n+00000210: 616c 2050 7562 6c69 6320 4c69 6365 6e73 al Public Licens\n+00000220: 6520 6173 2070 7562 6c69 7368 6564 2062 e as published b\n+00000230: 7920 7468 650a 4672 6565 2053 6f66 7477 y the.Free Softw\n+00000240: 6172 6520 466f 756e 6461 7469 6f6e 3b20 are Foundation; \n+00000250: 6569 7468 6572 2076 6572 7369 6f6e 2033 either version 3\n+00000260: 2c20 6f72 2028 6174 2079 6f75 7220 6f70 , or (at your op\n+00000270: 7469 6f6e 2920 616e 790a 6c61 7465 7220 tion) any.later \n+00000280: 7665 7273 696f 6e2e 0a0a 2020 2053 6b65 version... Ske\n+00000290: 7463 6820 6973 2064 6973 7472 6962 7574 tch is distribut\n+000002a0: 6564 2069 6e20 7468 6520 686f 7065 2074 ed in the hope t\n+000002b0: 6861 7420 6974 2077 696c 6c20 6265 2075 hat it will be u\n+000002c0: 7365 6675 6c2c 2062 7574 2057 4954 484f seful, but WITHO\n+000002d0: 5554 0a41 4e59 2057 4152 5241 4e54 593b UT.ANY WARRANTY;\n+000002e0: 2077 6974 686f 7574 2065 7665 6e20 7468 without even th\n+000002f0: 6520 696d 706c 6965 6420 7761 7272 616e e implied warran\n+00000300: 7479 206f 6620 4d45 5243 4841 4e54 4142 ty of MERCHANTAB\n+00000310: 494c 4954 5920 6f72 0a46 4954 4e45 5353 ILITY or.FITNESS\n+00000320: 2046 4f52 2041 2050 4152 5449 4355 4c41 FOR A PARTICULA\n+00000330: 5220 5055 5250 4f53 452e 2053 6565 2074 R PURPOSE. See t\n+00000340: 6865 2047 4e55 2047 656e 6572 616c 2050 he GNU General P\n+00000350: 7562 6c69 6320 4c69 6365 6e73 6520 666f ublic License fo\n+00000360: 720a 6d6f 7265 2064 6574 6169 6c73 2e0a r.more details..\n+00000370: 0a20 2020 596f 7520 7368 6f75 6c64 2068 . You should h\n+00000380: 6176 6520 7265 6365 6976 6564 2061 2063 ave received a c\n+00000390: 6f70 7920 6f66 2074 6865 2047 4e55 2047 opy of the GNU G\n+000003a0: 656e 6572 616c 2050 7562 6c69 6320 4c69 eneral Public Li\n+000003b0: 6365 6e73 650a 616c 6f6e 6720 7769 7468 cense.along with\n+000003c0: 20e2 8098 736b 6574 6368 e280 993b 2073 ...sketch...; s\n+000003d0: 6565 2074 6865 2066 696c 6520 434f 5059 ee the file COPY\n+000003e0: 494e 472e 7478 742e 2020 4966 206e 6f74 ING.txt. If not\n+000003f0: 2c20 7365 650a 6874 7470 3a2f 2f77 7777 , see.http://www\n+00000400: 2e67 6e75 2e6f 7267 2f63 6f70 796c 6566 .gnu.org/copylef\n+00000410: 742e 0a0a 494e 464f 2d44 4952 2d53 4543 t...INFO-DIR-SEC\n+00000420: 5449 4f4e 2054 6558 0a53 5441 5254 2d49 TION TeX.START-I\n+00000430: 4e46 4f2d 4449 522d 454e 5452 590a 2a20 NFO-DIR-ENTRY.* \n+00000440: 536b 6574 6368 3a20 2873 6b65 7463 6829 Sketch: (sketch)\n+00000450: 2e20 2020 2020 2020 2020 2020 2020 5369 . Si\n+00000460: 6d70 6c65 2033 4420 736b 6574 6368 696e mple 3D sketchin\n+00000470: 6720 666f 7220 5465 580a 454e 442d 494e g for TeX.END-IN\n+00000480: 464f 2d44 4952 2d45 4e54 5259 0a0a 1f0a FO-DIR-ENTRY....\n+00000490: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+000004a0: 6f2c 2020 4e6f 6465 3a20 546f 702c 2020 o, Node: Top, \n+000004b0: 4e65 7874 3a20 4162 6f75 7420 736b 6574 Next: About sket\n+000004c0: 6368 2c20 2050 7265 763a 2028 6469 7229 ch, Prev: (dir)\n+000004d0: 2c20 2055 703a 2028 6469 7229 0a0a 536b , Up: (dir)..Sk\n+000004e0: 6574 6368 0a2a 2a2a 2a2a 2a0a 0a43 6f70 etch.******..Cop\n+000004f0: 7972 6967 6874 20c2 a920 3230 3035 2074 yright .. 2005 t\n+00000500: 6f20 3230 3132 2045 7567 656e 6520 4b2e o 2012 Eugene K.\n+00000510: 2052 6573 736c 6572 2e0a 0a20 2020 5468 Ressler... Th\n+00000520: 6973 206d 616e 7561 6c20 6973 2066 6f72 is manual is for\n+00000530: 20e2 8098 736b 6574 6368 e280 992c 2076 ...sketch..., v\n+00000540: 6572 7369 6f6e 2030 2e33 2028 6275 696c ersion 0.3 (buil\n+00000550: 6420 3729 2c20 5475 6573 6461 792c 0a53 d 7), Tuesday,.S\n+00000560: 6570 7465 6d62 6572 2030 322c 2032 3032 eptember 02, 202\n+00000570: 352c 2061 2070 726f 6772 616d 2074 6861 5, a program tha\n+00000580: 7420 636f 6e76 6572 7473 2064 6573 6372 t converts descr\n+00000590: 6970 7469 6f6e 7320 6f66 2073 696d 706c iptions of simpl\n+000005a0: 650a 7468 7265 652d 6469 6d65 6e73 696f e.three-dimensio\n+000005b0: 6e61 6c20 7363 656e 6573 2069 6e74 6f20 nal scenes into \n+000005c0: 6c69 6e65 2064 7261 7769 6e67 732e 2020 line drawings. \n+000005d0: 5468 6973 2076 6572 7369 6f6e 2067 656e This version gen\n+000005e0: 6572 6174 6573 0ae2 8098 5053 5472 6963 erates....PSTric\n+000005f0: 6b73 e280 9920 6f72 20e2 8098 5047 462f ks... or ...PGF/\n+00000600: 5469 6b5a e280 9920 636f 6465 2073 7569 TikZ... code sui\n+00000610: 7461 626c 6520 666f 7220 7573 6520 7769 table for use wi\n+00000620: 7468 2074 6865 2054 6558 2064 6f63 756d th the TeX docum\n+00000630: 656e 740a 7072 6f63 6573 7369 6e67 2073 ent.processing s\n+00000640: 7973 7465 6d2e 0a0a 2020 20e2 8098 536b ystem... ...Sk\n+00000650: 6574 6368 e280 9920 6973 2066 7265 6520 etch... is free \n+00000660: 736f 6674 7761 7265 2e20 2059 6f75 2063 software. You c\n+00000670: 616e 2072 6564 6973 7472 6962 7574 6520 an redistribute \n+00000680: 6974 2061 6e64 2f6f 7220 6d6f 6469 6679 it and/or modify\n+00000690: 2069 740a 756e 6465 7220 7468 6520 7465 it.under the te\n+000006a0: 726d 7320 6f66 2074 6865 2047 4e55 2047 rms of the GNU G\n+000006b0: 656e 6572 616c 2050 7562 6c69 6320 4c69 eneral Public Li\n+000006c0: 6365 6e73 6520 6173 2070 7562 6c69 7368 cense as publish\n+000006d0: 6564 2062 7920 7468 650a 4672 6565 2053 ed by the.Free S\n+000006e0: 6f66 7477 6172 6520 466f 756e 6461 7469 oftware Foundati\n+000006f0: 6f6e 3b20 6569 7468 6572 2076 6572 7369 on; either versi\n+00000700: 6f6e 2033 2c20 6f72 2028 6174 2079 6f75 on 3, or (at you\n+00000710: 7220 6f70 7469 6f6e 2920 616e 790a 6c61 r option) any.la\n+00000720: 7465 7220 7665 7273 696f 6e2e 0a0a 2020 ter version... \n+00000730: 2053 6b65 7463 6820 6973 2064 6973 7472 Sketch is distr\n+00000740: 6962 7574 6564 2069 6e20 7468 6520 686f ibuted in the ho\n+00000750: 7065 2074 6861 7420 6974 2077 696c 6c20 pe that it will \n+00000760: 6265 2075 7365 6675 6c2c 2062 7574 2057 be useful, but W\n+00000770: 4954 484f 5554 0a41 4e59 2057 4152 5241 ITHOUT.ANY WARRA\n+00000780: 4e54 593b 2077 6974 686f 7574 2065 7665 NTY; without eve\n+00000790: 6e20 7468 6520 696d 706c 6965 6420 7761 n the implied wa\n+000007a0: 7272 616e 7479 206f 6620 4d45 5243 4841 rranty of MERCHA\n+000007b0: 4e54 4142 494c 4954 5920 6f72 0a46 4954 NTABILITY or.FIT\n+000007c0: 4e45 5353 2046 4f52 2041 2050 4152 5449 NESS FOR A PARTI\n+000007d0: 4355 4c41 5220 5055 5250 4f53 452e 2053 CULAR PURPOSE. S\n+000007e0: 6565 2074 6865 2047 4e55 2047 656e 6572 ee the GNU Gener\n+000007f0: 616c 2050 7562 6c69 6320 4c69 6365 6e73 al Public Licens\n+00000800: 6520 666f 720a 6d6f 7265 2064 6574 6169 e for.more detai\n+00000810: 6c73 2e0a 0a20 2020 596f 7520 7368 6f75 ls... You shou\n+00000820: 6c64 2068 6176 6520 7265 6365 6976 6564 ld have received\n+00000830: 2061 2063 6f70 7920 6f66 2074 6865 2047 a copy of the G\n+00000840: 4e55 2047 656e 6572 616c 2050 7562 6c69 NU General Publi\n+00000850: 6320 4c69 6365 6e73 650a 616c 6f6e 6720 c License.along \n+00000860: 7769 7468 20e2 8098 736b 6574 6368 e280 with ...sketch..\n+00000870: 993b 2073 6565 2074 6865 2066 696c 6520 .; see the file \n+00000880: 434f 5059 494e 472e 7478 742e 2020 4966 COPYING.txt. If\n+00000890: 206e 6f74 2c20 7365 650a 6874 7470 3a2f not, see.http:/\n+000008a0: 2f77 7777 2e67 6e75 2e6f 7267 2f63 6f70 /www.gnu.org/cop\n+000008b0: 796c 6566 742e 0a0a 2a20 4d65 6e75 3a0a yleft...* Menu:.\n+000008c0: 0a2a 2041 626f 7574 2073 6b65 7463 683a .* About sketch:\n+000008d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000008e0: 2057 6879 2073 6b65 7463 6820 6578 6973 Why sketch exis\n+000008f0: 7473 2061 6e64 2077 6861 7420 6974 2064 ts and what it d\n+00000900: 6f65 732e 0a2a 2049 6e74 726f 6475 6374 oes..* Introduct\n+00000910: 696f 6e20 6279 2065 7861 6d70 6c65 3a3a ion by example::\n+00000920: 2020 2020 204d 6f73 7420 6665 6174 7572 Most featur\n+00000930: 6573 2073 686f 776e 2061 7320 776f 726b es shown as work\n+00000940: 696e 6720 636f 6465 2e0a 2a20 496e 7075 ing code..* Inpu\n+00000950: 7420 6c61 6e67 7561 6765 3a3a 2020 2020 t language:: \n+00000960: 2020 2020 2020 2020 2020 5379 6e74 6178 Syntax\n+00000970: 2061 6e64 2073 656d 616e 7469 6373 206f and semantics o\n+00000980: 6620 e280 9873 6b65 7463 68e2 8099 2063 f ...sketch... c\n+00000990: 6f6d 6d61 6e64 732e 0a2a 2042 7569 6c64 ommands..* Build\n+000009a0: 696e 6720 6120 6472 6177 696e 673a 3a20 ing a drawing:: \n+000009b0: 2020 2020 2020 2020 2048 6f77 2074 6f20 How to \n+000009c0: 7573 6520 e280 9873 6b65 7463 68e2 8099 use ...sketch...\n+000009d0: 2070 726f 6475 6374 6976 656c 792e 0a2a productively..*\n+000009e0: 2043 6f6d 6d61 6e64 206c 696e 653a 3a20 Command line:: \n+000009f0: 2020 2020 2020 2020 2020 2020 2020 204f O\n+00000a00: 7074 696f 6e73 2061 6e64 2074 6865 6972 ptions and their\n+00000a10: 2075 7361 6765 2e0a 2a20 496e 7374 616c usage..* Instal\n+00000a20: 6c69 6e67 2073 6b65 7463 683a 3a20 2020 ling sketch:: \n+00000a30: 2020 2020 2020 2020 4275 696c 6469 6e67 Building\n+00000a40: 2061 6e64 2069 6e73 7461 6c6c 696e 6720 and installing \n+00000a50: 6672 6f6d 2073 6f75 7263 6573 2e0a 2a20 from sources..* \n+00000a60: 496e 6465 7820 6f66 2073 796e 7461 783a Index of syntax:\n+00000a70: 3a0a 2a20 496e 6465 783a 3a0a 0a20 2d2d :.* Index::.. --\n+00000a80: 2054 6865 2044 6574 6169 6c65 6420 4e6f The Detailed No\n+00000a90: 6465 204c 6973 7469 6e67 202d 2d0a 0a41 de Listing --..A\n+00000aa0: 626f 7574 2073 6b65 7463 680a 0a2a 2052 bout sketch..* R\n+00000ab0: 6570 6f72 7469 6e67 2062 7567 733a 3a20 eporting bugs:: \n+00000ac0: 2020 2020 2020 2020 2020 2020 204c 6574 Let\n+00000ad0: 2075 7365 206b 6e6f 7720 7768 6174 2773 use know what's\n+00000ae0: 2077 726f 6e67 210a 2a20 436f 6e74 7269 wrong!.* Contri\n+00000af0: 6275 7469 6f6e 733a 3a20 2020 2020 2020 butions:: \n+00000b00: 2020 2020 2020 2020 486f 7720 796f 7520 How you \n+00000b10: 6361 6e20 6865 6c70 2e2e 2e2e 0a0a 496e can help......In\n+00000b20: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex\n+00000b30: 616d 706c 650a 0a2a 2048 656c 6c6f 2077 ample..* Hello w\n+00000b40: 6f72 6c64 3a3a 2020 2020 2020 2020 2020 orld:: \n+00000b50: 2020 2020 2020 2053 696d 706c 6573 7420 Simplest \n+00000b60: 706f 7373 6962 6c65 20e2 8098 736b 6574 possible ...sket\n+00000b70: 6368 e280 9920 7072 6f67 7261 6d2e 0a2a ch... program..*\n+00000b80: 2044 7261 7769 6e67 206f 7074 696f 6e73 Drawing options\n+00000b90: 3a3a 2020 2020 2020 2020 2020 2020 2043 :: C\n+00000ba0: 6f6e 7472 6f6c 6c69 6e67 206f 626a 6563 ontrolling objec\n+00000bb0: 7420 6170 7065 6172 616e 6365 2e0a 2a20 t appearance..* \n+00000bc0: 4472 6177 696e 6720 6120 736f 6c69 643a Drawing a solid:\n+00000bd0: 3a20 2020 2020 2020 2020 2020 2020 4472 : Dr\n+00000be0: 6177 696e 6720 616e 206f 626a 6563 7420 awing an object \n+00000bf0: 7769 7468 2033 6420 6170 7065 6172 616e with 3d appearan\n+00000c00: 6365 2e0a 2a20 5370 6563 6961 6c20 6f62 ce..* Special ob\n+00000c10: 6a65 6374 733a 3a20 2020 2020 2020 2020 jects:: \n+00000c20: 2020 2020 4c61 7969 6e67 2054 6558 206f Laying TeX o\n+00000c30: 7665 722c 2069 6e2c 206f 7220 756e 6465 ver, in, or unde\n+00000c40: 7220 6472 6177 696e 6773 2e0a 2a20 4f62 r drawings..* Ob\n+00000c50: 6a65 6374 2074 7261 6e73 666f 726d 733a ject transforms:\n+00000c60: 3a20 2020 2020 2020 2020 2020 526f 7461 : Rota\n+00000c70: 7465 2c20 7472 616e 736c 6174 652c 2073 te, translate, s\n+00000c80: 6361 6c65 2c20 616e 6420 6f74 6865 7273 cale, and others\n+00000c90: 2e0a 2a20 5265 7065 6174 6564 206f 626a ..* Repeated obj\n+00000ca0: 6563 7473 3a3a 2020 2020 2020 2020 2020 ects:: \n+00000cb0: 2020 4d61 6b69 6e67 2074 7261 6e73 666f Making transfo\n+00000cc0: 726d 6564 2063 6f70 6965 732e 0a2a 2053 rmed copies..* S\n+00000cd0: 7765 7074 206f 626a 6563 7473 3a3a 2020 wept objects:: \n+00000ce0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+00000cf0: 6570 696e 6720 6f62 6a65 6374 7320 696e eping objects in\n+00000d00: 2073 7061 6365 2074 6f20 6d61 6b65 206e space to make n\n+00000d10: 6577 2073 6861 7065 732e 0a0a 5377 6570 ew shapes...Swep\n+00000d20: 7420 6f62 6a65 6374 730a 0a2a 2050 6f69 t objects..* Poi\n+00000d30: 6e74 2073 7765 6570 733a 3a20 2020 2020 nt sweeps:: \n+00000d40: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n+00000d50: 2070 6f69 6e74 7320 6d61 6b65 206c 696e points make lin\n+00000d60: 6573 2061 6e64 2070 6f6c 7967 6f6e 732e es and polygons.\n+00000d70: 0a2a 2050 6f6c 796c 696e 6520 7377 6565 .* Polyline swee\n+00000d80: 7073 3a3a 2020 2020 2020 2020 2020 2020 ps:: \n+00000d90: 2053 7765 7074 206c 696e 6573 206d 616b Swept lines mak\n+00000da0: 6520 7375 7266 6163 6573 2e0a 2a20 4e65 e surfaces..* Ne\n+00000db0: 7374 6564 2073 7765 6570 733a 3a20 2020 sted sweeps:: \n+00000dc0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n+00000dd0: 7420 7377 6565 7073 2061 7265 2075 7365 t sweeps are use\n+00000de0: 6675 6c21 0a2a 2050 6f6c 7967 6f6e 2073 ful!.* Polygon s\n+00000df0: 7765 6570 733a 3a20 2020 2020 2020 2020 weeps:: \n+00000e00: 2020 2020 2053 7765 7074 2070 6f6c 7967 Swept polyg\n+00000e10: 6f6e 7320 6d61 6b65 2073 6f6c 6964 732e ons make solids.\n+00000e20: 2e2e 0a2a 2050 6f6c 796c 696e 6520 7377 ...* Polyline sw\n+00000e30: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur\n+00000e40: 653a 3a20 2061 6e64 2073 6f20 646f 2063 e:: and so do c\n+00000e50: 6c6f 7365 6420 706f 6c79 6c69 6e65 2073 losed polyline s\n+00000e60: 7765 6570 732e 0a2a 2041 6666 696e 6520 weeps..* Affine \n+00000e70: 6172 6974 686d 6574 6963 3a3a 2020 2020 arithmetic:: \n+00000e80: 2020 2020 2020 2053 6b65 7463 6820 7573 Sketch us\n+00000e90: 6566 756c 206d 6174 6820 6578 7072 6573 eful math expres\n+00000ea0: 7369 6f6e 2e0a 2a20 4d6f 7265 2074 6f20 sion..* More to \n+00000eb0: 6c65 6172 6e3a 3a20 2020 2020 2020 2020 learn:: \n+00000ec0: 2020 2020 2020 4368 6563 6b20 6f75 7420 Check out \n+00000ed0: 7468 6520 4d6f 6269 7573 2073 7472 6970 the Mobius strip\n+00000ee0: 210a 0a49 6e70 7574 206c 616e 6775 6167 !..Input languag\n+00000ef0: 650a 0a2a 204c 616e 6775 6167 6520 6261 e..* Language ba\n+00000f00: 7369 6373 3a3a 2020 2020 2020 2020 2020 sics:: \n+00000f10: 2020 2043 6173 652c 2073 7061 6365 2c20 Case, space, \n+00000f20: 636f 6d6d 656e 7473 2c20 696e 636c 7564 comments, includ\n+00000f30: 6520 6669 6c65 732e 0a2a 2044 7261 7761 e files..* Drawa\n+00000f40: 626c 6573 3a3a 2020 2020 2020 2020 2020 bles:: \n+00000f50: 2020 2020 2020 2020 2054 6869 6e67 7320 Things \n+00000f60: 7468 6174 2063 616e 2062 6520 6472 6177 that can be draw\n+00000f70: 6e2e 0a2a 2044 6566 696e 6974 696f 6e73 n..* Definitions\n+00000f80: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n+00000f90: 2020 2047 6976 696e 6720 7468 696e 6773 Giving things\n+00000fa0: 206e 616d 6573 2e0a 2a20 476c 6f62 616c names..* Global\n+00000fb0: 2065 6e76 6972 6f6e 6d65 6e74 3a3a 2020 environment:: \n+00000fc0: 2020 2020 2020 2020 4166 6665 6374 2074 Affect t\n+00000fd0: 6865 2065 6e74 6972 6520 6472 6177 696e he entire drawin\n+00000fe0: 672e 0a0a 4261 7369 6373 0a0a 2a20 4964 g...Basics..* Id\n+00000ff0: 656e 7469 6669 6572 733a 3a20 2020 2020 entifiers:: \n+00001000: 2020 2020 2020 2020 2020 2020 4e61 6d65 Name\n+00001010: 7320 666f 7220 7468 696e 6773 2e0a 2a20 s for things..* \n+00001020: 4b65 7920 616e 6420 7265 7365 7276 6564 Key and reserved\n+00001030: 2077 6f72 6473 3a3a 2020 2020 2020 4e61 words:: Na\n+00001040: 6d65 7320 796f 7520 7368 6f75 6c64 6e27 mes you shouldn'\n+00001050: 7420 7573 652e 0a2a 204c 6974 6572 616c t use..* Literal\n+00001060: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+00001070: 2020 2020 2020 2043 6f6e 7374 616e 7473 Constants\n+00001080: 2061 6e64 2063 6f6e 7374 7275 6374 6f72 and constructor\n+00001090: 732e 0a2a 2041 7269 7468 6d65 7469 633a s..* Arithmetic:\n+000010a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000010b0: 2020 2052 756c 6573 2066 6f72 2065 7870 Rules for exp\n+000010c0: 7265 7373 696f 6e73 2e0a 2a20 4f70 7469 ressions..* Opti\n+000010d0: 6f6e 733a 3a20 2020 2020 2020 2020 2020 ons:: \n+000010e0: 2020 2020 2020 2020 2020 4d6f 6469 6679 Modify\n+000010f0: 696e 6720 6f62 6a65 6374 2061 7070 6561 ing object appea\n+00001100: 7261 6e63 652e 0a0a 4c69 7465 7261 6c73 rance...Literals\n+00001110: 0a0a 2a20 5363 616c 6172 206c 6974 6572 ..* Scalar liter\n+00001120: 616c 733a 3a20 2020 2020 2020 2020 2020 als:: \n+00001130: 2020 4a75 7374 2074 6865 206e 756d 6265 Just the numbe\n+00001140: 7273 2e0a 2a20 506f 696e 7420 616e 6420 rs..* Point and \n+00001150: 7665 6374 6f72 206c 6974 6572 616c 733a vector literals:\n+00001160: 3a20 2020 3364 2071 7561 6e74 6974 6965 : 3d quantitie\n+00001170: 732e 0a2a 2054 7261 6e73 666f 726d 206c s..* Transform l\n+00001180: 6974 6572 616c 733a 3a20 2020 2020 2020 iterals:: \n+00001190: 2020 204d 6174 7269 7820 666f 726d 2e0a Matrix form..\n+000011a0: 0a41 7269 7468 6d65 7469 6320 6578 7072 .Arithmetic expr\n+000011b0: 6573 7369 6f6e 730a 0a2a 2054 776f 2d6f essions..* Two-o\n+000011c0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n+000011d0: 666f 726d 733a 3a20 2041 206f 7020 420a forms:: A op B.\n+000011e0: 2a20 556e 6172 7920 666f 726d 733a 3a20 * Unary forms:: \n+000011f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00001200: 6f70 2041 2028 616e 6420 6f74 6865 7273 op A (and others\n+00001210: 290a 0a4f 7074 696f 6e73 0a0a 2a20 5053 )..Options..* PS\n+00001220: 5472 6963 6b73 206f 7074 696f 6e73 3a3a Tricks options::\n+00001230: 2020 2020 2020 2020 2020 2020 4f70 7469 Opti\n+00001240: 6f6e 7320 696e 6865 7269 7465 6420 6672 ons inherited fr\n+00001250: 6f6d 20e2 8098 5053 5472 6963 6b73 e280 om ...PSTricks..\n+00001260: 992e 0a2a 2054 696b 5a2f 5047 4620 6f70 ...* TikZ/PGF op\n+00001270: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: \n+00001280: 2020 204f 7074 696f 6e73 2069 6e68 6572 Options inher\n+00001290: 6974 6564 2066 726f 6d20 e280 9854 696b ited from ...Tik\n+000012a0: 5a2f 5047 46e2 8099 2e0a 2a20 446f 7473 Z/PGF.....* Dots\n+000012b0: 2069 6e20 5469 6b5a 2f50 4746 3a3a 2020 in TikZ/PGF:: \n+000012c0: 2020 2020 2020 2020 2020 536b 6574 6368 Sketch\n+000012d0: 2075 7365 7320 e280 9854 696b 5a2f 5047 uses ...TikZ/PG\n+000012e0: 46e2 8099 2063 6972 636c 6573 2066 6f72 F... circles for\n+000012f0: 2064 6f74 732e 0a2a 2054 696b 5a2f 5047 dots..* TikZ/PG\n+00001300: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s\n+00001310: 7479 6c65 733a 3a20 2053 7570 706f 7274 tyles:: Support\n+00001320: 2066 6f72 20e2 8098 5469 6b5a 2f50 4746 for ...TikZ/PGF\n+00001330: e280 9920 6e61 6d65 642c 2075 7365 722d ... named, user-\n+00001340: 6465 6669 6e65 6420 7374 796c 6573 2e0a defined styles..\n+00001350: 2a20 5472 616e 7370 6172 656e 6379 3a3a * Transparency::\n+00001360: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00001370: 5365 652d 7468 726f 7567 6820 706f 6c79 See-through poly\n+00001380: 676f 6e73 2e0a 2a20 496e 7465 726e 616c gons..* Internal\n+00001390: 206f 7074 696f 6e73 3a3a 2020 2020 2020 options:: \n+000013a0: 2020 2020 2020 4f70 7469 6f6e 7320 7573 Options us\n+000013b0: 6564 2062 7920 e280 9873 6b65 7463 68e2 ed by ...sketch.\n+000013c0: 8099 2e0a 0a50 6f69 6e74 206c 6973 7473 .....Point lists\n+000013d0: 0a0a 2a20 4472 6177 6162 6c65 733a 3a20 ..* Drawables:: \n+000013e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000013f0: 2020 5468 696e 6773 2074 6861 7420 6172 Things that ar\n+00001400: 6520 6472 6177 6e2e 0a2a 2044 6566 696e e drawn..* Defin\n+00001410: 6974 696f 6e73 3a3a 2020 2020 2020 2020 itions:: \n+00001420: 2020 2020 2020 2020 2054 6869 6e67 7320 Things \n+00001430: 7769 7468 206e 616d 6573 2e0a 0a44 7261 with names...Dra\n+00001440: 7761 626c 6573 0a0a 2a20 446f 7473 3a3a wables..* Dots::\n 00001450: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00001460: 2020 4472 6177 2064 6f74 732e 0a2a 204c Draw dots..* L\n-00001470: 696e 6573 3a3a 2020 2020 2020 2020 2020 ines:: \n-00001480: 2020 2020 2020 2020 2020 2020 2044 7261 Dra\n-00001490: 7720 706f 6c79 6c69 6e65 732e 0a2a 2043 w polylines..* C\n-000014a0: 7572 7665 733a 3a20 2020 2020 2020 2020 urves:: \n-000014b0: 2020 2020 2020 2020 2020 2020 2044 7261 Dra\n-000014c0: 7720 6375 7276 6573 2e0a 2a20 506f 6c79 w curves..* Poly\n-000014d0: 676f 6e73 3a3a 2020 2020 2020 2020 2020 gons:: \n-000014e0: 2020 2020 2020 2020 2020 4472 6177 2070 Draw p\n-000014f0: 6f6c 7967 6f6e 732e 0a2a 2053 7065 6369 olygons..* Speci\n-00001500: 616c 733a 3a20 2020 2020 2020 2020 2020 als:: \n-00001510: 2020 2020 2020 2020 2045 6d62 6564 2072 Embed r\n-00001520: 6177 204c 6154 6558 2061 6e64 20e2 8098 aw LaTeX and ...\n-00001530: 5053 5472 6963 6b73 e280 992e 0a2a 2053 PSTricks.....* S\n-00001540: 7765 6570 733a 3a20 2020 2020 2020 2020 weeps:: \n-00001550: 2020 2020 2020 2020 2020 2020 2044 7261 Dra\n-00001560: 7720 7377 6565 7073 206f 6620 646f 7473 w sweeps of dots\n-00001570: 2061 6e64 2070 6f6c 796c 696e 6573 2e0a and polylines..\n-00001580: 2a20 426c 6f63 6b73 3a3a 2020 2020 2020 * Blocks:: \n+00001460: 2020 2020 2020 2020 4472 6177 2064 6f74 Draw dot\n+00001470: 732e 0a2a 204c 696e 6573 3a3a 2020 2020 s..* Lines:: \n+00001480: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00001490: 2020 2044 7261 7720 706f 6c79 6c69 6e65 Draw polyline\n+000014a0: 732e 0a2a 2043 7572 7665 733a 3a20 2020 s..* Curves:: \n+000014b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000014c0: 2020 2044 7261 7720 6375 7276 6573 2e0a Draw curves..\n+000014d0: 2a20 506f 6c79 676f 6e73 3a3a 2020 2020 * Polygons:: \n+000014e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000014f0: 4472 6177 2070 6f6c 7967 6f6e 732e 0a2a Draw polygons..*\n+00001500: 2053 7065 6369 616c 733a 3a20 2020 2020 Specials:: \n+00001510: 2020 2020 2020 2020 2020 2020 2020 2045 E\n+00001520: 6d62 6564 2072 6177 204c 6154 6558 2061 mbed raw LaTeX a\n+00001530: 6e64 20e2 8098 5053 5472 6963 6b73 e280 nd ...PSTricks..\n+00001540: 992e 0a2a 2053 7765 6570 733a 3a20 2020 ...* Sweeps:: \n+00001550: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00001560: 2020 2044 7261 7720 7377 6565 7073 206f Draw sweeps o\n+00001570: 6620 646f 7473 2061 6e64 2070 6f6c 796c f dots and polyl\n+00001580: 696e 6573 2e0a 2a20 426c 6f63 6b73 3a3a ines..* Blocks::\n 00001590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000015a0: 4772 6f75 7020 6f74 6865 7220 6472 6177 Group other draw\n-000015b0: 6162 6c65 732e 0a2a 2052 6570 6561 7473 ables..* Repeats\n-000015c0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-000015d0: 2020 2020 2020 2044 7261 7720 7472 616e Draw tran\n-000015e0: 7366 6f72 6d65 6420 636f 7069 6573 206f sformed copies o\n-000015f0: 6620 6f62 6a65 6374 732e 0a2a 2050 7574 f objects..* Put\n-00001600: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n-00001610: 2020 2020 2020 2020 2020 2044 7261 7720 Draw \n-00001620: 6f6e 6520 6f62 6a65 6374 2074 7261 6e73 one object trans\n-00001630: 666f 726d 6564 2e0a 0a53 7765 6570 730a formed...Sweeps.\n-00001640: 0a2a 2053 7765 7074 2070 6f69 6e74 733a .* Swept points:\n-00001650: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00001660: 2053 7765 7074 2070 6f69 6e74 7320 6d61 Swept points ma\n-00001670: 6b65 206c 696e 6573 206f 7220 706f 6c79 ke lines or poly\n-00001680: 676f 6e73 2e0a 2a20 5377 6570 7420 6c69 gons..* Swept li\n-00001690: 6e65 733a 3a20 2020 2020 2020 2020 2020 nes:: \n-000016a0: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line\n-000016b0: 7320 6d61 6b65 206f 7065 6e20 6f72 2063 s make open or c\n-000016c0: 6c6f 7365 6420 7375 7266 6163 6573 2e0a losed surfaces..\n-000016d0: 2a20 5377 6570 7420 706f 6c79 676f 6e73 * Swept polygons\n-000016e0: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-000016f0: 5377 6570 7420 706f 6c79 676f 6e73 206d Swept polygons m\n-00001700: 616b 6520 636c 6f73 6564 2073 7572 6661 ake closed surfa\n-00001710: 6365 732e 0a2a 2053 7765 7074 2062 6c6f ces..* Swept blo\n-00001720: 636b 733a 3a20 2020 2020 2020 2020 2020 cks:: \n-00001730: 2020 2020 2053 7765 7074 2062 6c6f 636b Swept block\n-00001740: 20e2 89a1 2062 6c6f 636b 206f 6620 7377 ... block of sw\n-00001750: 6565 7073 2e0a 2a20 5377 6565 7020 6661 eeps..* Sweep fa\n-00001760: 6365 2073 706c 6974 7469 6e67 3a3a 2020 ce splitting:: \n-00001770: 2020 2020 2020 4669 7869 6e67 2077 6172 Fixing war\n-00001780: 7065 6420 6661 6365 7320 7769 7468 2074 ped faces with t\n-00001790: 7269 616e 676c 6573 2e0a 0a44 6566 696e riangles...Defin\n-000017a0: 6974 696f 6e73 0a0a 2a20 466f 726d 7320 itions..* Forms \n-000017b0: 6f66 2064 6566 696e 6974 696f 6e73 3a3a of definitions::\n-000017c0: 2020 2020 2020 2020 4469 6666 6572 656e Differen\n-000017d0: 7420 6465 6673 2066 6f72 2064 6966 6665 t defs for diffe\n-000017e0: 7265 6e74 2070 7572 706f 7365 732e 0a2a rent purposes..*\n-000017f0: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere\n-00001800: 6e63 6573 3a3a 2020 2020 2020 2020 2048 nces:: H\n-00001810: 6f77 2072 6566 6572 656e 6365 7320 6465 ow references de\n-00001820: 6e6f 7465 2074 7970 6573 2e0a 0a47 6c6f note types...Glo\n-00001830: 6261 6c20 656e 7669 726f 6e6d 656e 740a bal environment.\n-00001840: 0a2a 2047 6c6f 6261 6c20 6f70 7469 6f6e .* Global option\n-00001850: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n-00001860: 2041 7474 7269 6275 7465 7320 6f66 2074 Attributes of t\n-00001870: 6865 2065 6e74 6972 6520 6472 6177 696e he entire drawin\n-00001880: 672e 0a2a 2043 616d 6572 613a 3a20 2020 g..* Camera:: \n-00001890: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000018a0: 2020 2041 2066 696e 616c 2063 616d 6572 A final camer\n-000018b0: 6120 7472 616e 7366 6f72 6d61 7469 6f6e a transformation\n-000018c0: 206f 6620 7468 6520 7363 656e 652e 0a2a of the scene..*\n-000018d0: 2050 6963 7475 7265 2062 6f78 3a3a 2020 Picture box:: \n-000018e0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-000018f0: 6574 7469 6e67 2074 6865 2062 6f75 6e64 etting the bound\n-00001900: 696e 6720 626f 7820 616e 6420 3264 2063 ing box and 2d c\n-00001910: 6c69 7070 696e 672e 0a2a 2046 7261 6d65 lipping..* Frame\n-00001920: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-00001930: 2020 2020 2020 2020 2041 6464 696e 6720 Adding \n-00001940: 6120 626f 7820 6172 6f75 6e64 2074 6865 a box around the\n-00001950: 2064 7261 7769 6e67 2e0a 2a20 4c61 6e67 drawing..* Lang\n-00001960: 7561 6765 3a3a 2020 2020 2020 2020 2020 uage:: \n-00001970: 2020 2020 2020 2020 2020 5365 7474 696e Settin\n-00001980: 6720 7468 6520 6f75 7470 7574 206c 616e g the output lan\n-00001990: 6775 6167 652e 0a0a 4275 696c 6469 6e67 guage...Building\n-000019a0: 2061 2064 7261 7769 6e67 0a0a 2a20 4f76 a drawing..* Ov\n-000019b0: 6572 7669 6577 3a3a 2020 2020 2020 2020 erview:: \n-000019c0: 2020 2020 2020 2020 2020 2020 4275 696c Buil\n-000019d0: 6469 6e67 2061 2073 7562 7374 616e 7469 ding a substanti\n-000019e0: 616c 2064 7261 7769 6e67 2e0a 2a20 4120 al drawing..* A \n-000019f0: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n-00001a00: 673a 3a20 2020 2020 2020 2020 416e 2065 g:: An e\n-00001a10: 7861 6d70 6c65 2077 6974 6820 6669 6e65 xample with fine\n-00001a20: 2070 6c61 6365 6d65 6e74 2e0a 2a20 4120 placement..* A \n-00001a30: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod\n-00001a40: 656c 3a3a 2020 2020 2020 2020 416e 2065 el:: An e\n-00001a50: 7861 6d70 6c65 2077 6974 6820 7377 6565 xample with swee\n-00001a60: 7073 2061 6e64 2070 7574 732e 0a2a 2043 ps and puts..* C\n-00001a70: 6176 6561 7473 3a3a 2020 2020 2020 2020 aveats:: \n-00001a80: 2020 2020 2020 2020 2020 2020 2057 6865 Whe\n-00001a90: 7265 2074 726f 7562 6c65 2063 616e 206f re trouble can o\n-00001aa0: 6363 7572 2e0a 0a43 6176 6561 7473 0a0a ccur...Caveats..\n-00001ab0: 2a20 4c69 6d69 7473 206f 6e20 6572 726f * Limits on erro\n-00001ac0: 7220 6465 7465 6374 696f 6e3a 3a20 2020 r detection:: \n-00001ad0: 5768 6174 2073 6b65 7463 6820 646f 6573 What sketch does\n-00001ae0: 6e27 7420 646f 2e0a 2a20 436c 6970 7069 n't do..* Clippi\n-00001af0: 6e67 3a3a 2020 2020 2020 2020 2020 2020 ng:: \n-00001b00: 2020 2020 2020 2020 4e6f 2063 6c69 7070 No clipp\n-00001b10: 696e 6720 6174 2070 7265 7365 6e74 2e0a ing at present..\n-00001b20: 2a20 4869 6464 656e 2073 7572 6661 6365 * Hidden surface\n-00001b30: 2072 656d 6f76 616c 3a3a 2020 2020 2020 removal:: \n-00001b40: 496d 7065 7266 6563 7469 6f6e 7320 746f Imperfections to\n-00001b50: 2066 6978 2e0a 0a48 6964 6465 6e20 7375 fix...Hidden su\n-00001b60: 7266 6163 6520 7265 6d6f 7661 6c20 616e rface removal an\n-00001b70: 6420 706f 6c79 676f 6e20 7370 6c69 7474 d polygon splitt\n-00001b80: 696e 670a 0a2a 2053 7461 7469 7374 6963 ing..* Statistic\n-00001b90: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n-00001ba0: 2020 2020 2050 6572 666f 726d 616e 6365 Performance\n-00001bb0: 206e 756d 6265 7273 206f 6e20 6465 7074 numbers on dept\n-00001bc0: 6820 736f 7274 2e0a 2a20 4275 6773 2061 h sort..* Bugs a\n-00001bd0: 6e64 2061 6e6f 6d61 6c69 6573 3a3a 2020 nd anomalies:: \n-00001be0: 2020 2020 2020 2020 496d 7065 7266 6563 Imperfec\n-00001bf0: 7469 6f6e 7320 696e 2074 6869 7320 696d tions in this im\n-00001c00: 706c 656d 656e 7461 7469 6f6e 2e0a 0a1f plementation....\n-00001c10: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00001c20: 666f 2c20 204e 6f64 653a 2041 626f 7574 fo, Node: About\n-00001c30: 2073 6b65 7463 682c 2020 4e65 7874 3a20 sketch, Next: \n-00001c40: 496e 7472 6f64 7563 7469 6f6e 2062 7920 Introduction by \n-00001c50: 6578 616d 706c 652c 2020 5072 6576 3a20 example, Prev: \n-00001c60: 546f 702c 2020 5570 3a20 546f 700a 0a31 Top, Up: Top..1\n-00001c70: 2041 626f 7574 2073 6b65 7463 680a 2a2a About sketch.**\n-00001c80: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 0a0a 2a20 ************..* \n-00001c90: 4d65 6e75 3a0a 0a2a 2052 6570 6f72 7469 Menu:..* Reporti\n-00001ca0: 6e67 2062 7567 733a 3a20 2020 2020 2020 ng bugs:: \n-00001cb0: 2020 2020 2020 204c 6574 2075 7365 206b Let use k\n-00001cc0: 6e6f 7720 7768 6174 2773 2077 726f 6e67 now what's wrong\n-00001cd0: 210a 2a20 436f 6e74 7269 6275 7469 6f6e !.* Contribution\n-00001ce0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n-00001cf0: 2020 486f 7720 796f 7520 6361 6e20 6865 How you can he\n-00001d00: 6c70 2e2e 2e2e 0a0a e280 9853 6b65 7463 lp.........Sketc\n-00001d10: 68e2 8099 2069 7320 6120 736d 616c 6c2c h... is a small,\n-00001d20: 2073 696d 706c 6520 7379 7374 656d 2066 simple system f\n-00001d30: 6f72 2070 726f 6475 6369 6e67 206c 696e or producing lin\n-00001d40: 6520 6472 6177 696e 6773 206f 6620 7477 e drawings of tw\n-00001d50: 6f2d 0a6f 7220 7468 7265 652d 6469 6d65 o-.or three-dime\n-00001d60: 6e73 696f 6e61 6c20 6f62 6a65 6374 7320 nsional objects \n-00001d70: 616e 6420 7363 656e 6573 2e20 2049 7420 and scenes. It \n-00001d80: 6265 6761 6e20 6173 2061 2077 6179 2074 began as a way t\n-00001d90: 6f20 6d61 6b65 0a69 6c6c 7573 7472 6174 o make.illustrat\n-00001da0: 696f 6e73 2066 6f72 2061 2074 6578 7462 ions for a textb\n-00001db0: 6f6f 6b20 6166 7465 7220 7765 2063 6f75 ook after we cou\n-00001dc0: 6c64 2066 696e 6420 6e6f 2073 7569 7461 ld find no suita\n-00001dd0: 626c 6520 746f 6f6c 2066 6f72 0a74 6869 ble tool for.thi\n-00001de0: 7320 7075 7270 6f73 652e 2020 4578 6973 s purpose. Exis\n-00001df0: 7469 6e67 2073 6365 6e65 2070 726f 6365 ting scene proce\n-00001e00: 7373 6f72 7320 656d 7068 6173 697a 6564 ssors emphasized\n-00001e10: 2047 5549 7320 616e 642f 6f72 0a70 686f GUIs and/or.pho\n-00001e20: 746f 2d72 6561 6c69 736d 2c20 626f 7468 to-realism, both\n-00001e30: 2075 6e2d 7573 6566 756c 2074 6f20 7573 un-useful to us\n-00001e40: 2e20 2057 6520 7761 6e74 6564 2074 6f20 . We wanted to \n-00001e50: 7072 6f64 7563 6520 6669 6e65 6c79 0a77 produce finely.w\n-00001e60: 726f 7567 6874 2c20 6d61 7468 656d 6174 rought, mathemat\n-00001e70: 6963 616c 6c79 2d62 6173 6564 2069 6c6c ically-based ill\n-00001e80: 7573 7472 6174 696f 6e73 2077 6974 6820 ustrations with \n-00001e90: 6e6f 2065 7874 7261 6e65 6f75 7320 6465 no extraneous de\n-00001ea0: 7461 696c 2e0a 0a20 2020 e280 9853 6b65 tail... ...Ske\n-00001eb0: 7463 68e2 8099 2061 6363 6570 7473 2061 tch... accepts a\n-00001ec0: 2074 696e 7920 7363 656e 6520 6465 7363 tiny scene desc\n-00001ed0: 7269 7074 696f 6e20 6c61 6e67 7561 6765 ription language\n-00001ee0: 2061 6e64 2067 656e 6572 6174 6573 0ae2 and generates..\n-00001ef0: 8098 5053 5472 6963 6b73 e280 9920 6f72 ..PSTricks... or\n-00001f00: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... \n-00001f10: 636f 6465 2066 6f72 204c 6154 6558 2e20 code for LaTeX. \n-00001f20: 2054 6865 20e2 8098 736b 6574 6368 e280 The ...sketch..\n-00001f30: 9920 6c61 6e67 7561 6765 2069 730a 7369 . language is.si\n-00001f40: 6d69 6c61 7220 746f 20e2 8098 5053 5472 milar to ...PSTr\n-00001f50: 6963 6b73 e280 992c 206d 616b 696e 6720 icks..., making \n-00001f60: 6974 2065 6173 7920 746f 206c 6561 726e it easy to learn\n-00001f70: 2066 6f72 2063 7572 7265 6e74 20e2 8098 for current ...\n-00001f80: 5053 5472 6963 6b73 e280 990a 7573 6572 PSTricks....user\n-00001f90: 732e 2020 5365 6520 7777 772e 7073 7472 s. See www.pstr\n-00001fa0: 6963 6b73 2e64 6520 666f 7220 696e 666f icks.de for info\n-00001fb0: 726d 6174 696f 6e20 6f6e 20e2 8098 5053 rmation on ...PS\n-00001fc0: 5472 6963 6b73 e280 992e 2020 e280 9854 Tricks.... ...T\n-00001fd0: 696b 5a2f 5047 46e2 8099 0a69 7320 7369 ikZ/PGF....is si\n-00001fe0: 6d69 6c61 722e 2020 5365 6520 6874 7470 milar. See http\n-00001ff0: 3a2f 2f73 6f75 7263 6566 6f72 6765 2e6e ://sourceforge.n\n-00002000: 6574 2f70 726f 6a65 6374 732f 7067 662e et/projects/pgf.\n-00002010: 2020 4f6e 6520 6361 6e20 6561 7369 6c79 One can easily\n-00002020: 0a69 6e63 6c75 6465 2061 7262 6974 7261 .include arbitra\n-00002030: 7279 20e2 8098 5053 5472 6963 6b73 e280 ry ...PSTricks..\n-00002040: 9920 6f72 20e2 8098 5469 6b5a 2f50 4746 . or ...TikZ/PGF\n-00002050: e280 9920 6472 6177 696e 6773 2061 6e64 ... drawings and\n-00002060: 2074 6578 7420 6f76 6572 2c20 696e 2c0a text over, in,.\n-00002070: 6f72 2075 6e64 6572 20e2 8098 736b 6574 or under ...sket\n-00002080: 6368 e280 9920 6472 6177 696e 6773 2c20 ch... drawings, \n-00002090: 7072 6f76 6964 696e 6720 6163 6365 7373 providing access\n-000020a0: 2074 6f20 7468 6520 6675 6c6c 2070 6f77 to the full pow\n-000020b0: 6572 206f 6620 4c61 5465 580a 7465 7874 er of LaTeX.text\n-000020c0: 2061 6e64 206d 6174 6865 6d61 7469 6373 and mathematics\n-000020d0: 2066 6f72 6d61 7474 696e 6720 696e 2061 formatting in a\n-000020e0: 2074 6872 6565 2d64 696d 656e 7369 6f6e three-dimension\n-000020f0: 616c 2073 6574 7469 6e67 2e0a 0a1f 0a46 al setting.....F\n-00002100: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-00002110: 2c20 204e 6f64 653a 2052 6570 6f72 7469 , Node: Reporti\n-00002120: 6e67 2062 7567 732c 2020 4e65 7874 3a20 ng bugs, Next: \n-00002130: 436f 6e74 7269 6275 7469 6f6e 732c 2020 Contributions, \n-00002140: 5072 6576 3a20 4162 6f75 7420 736b 6574 Prev: About sket\n-00002150: 6368 2c20 2055 703a 2041 626f 7574 2073 ch, Up: About s\n-00002160: 6b65 7463 680a 0a31 2e31 2052 6570 6f72 ketch..1.1 Repor\n-00002170: 7469 6e67 2062 7567 7320 616e 6420 7265 ting bugs and re\n-00002180: 636f 6d6d 656e 6469 6e67 2069 6d70 726f commending impro\n-00002190: 7665 6d65 6e74 732e 0a3d 3d3d 3d3d 3d3d vements..=======\n+000015a0: 2020 2020 2020 4772 6f75 7020 6f74 6865 Group othe\n+000015b0: 7220 6472 6177 6162 6c65 732e 0a2a 2052 r drawables..* R\n+000015c0: 6570 6561 7473 3a3a 2020 2020 2020 2020 epeats:: \n+000015d0: 2020 2020 2020 2020 2020 2020 2044 7261 Dra\n+000015e0: 7720 7472 616e 7366 6f72 6d65 6420 636f w transformed co\n+000015f0: 7069 6573 206f 6620 6f62 6a65 6374 732e pies of objects.\n+00001600: 0a2a 2050 7574 733a 3a20 2020 2020 2020 .* Puts:: \n+00001610: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00001620: 2044 7261 7720 6f6e 6520 6f62 6a65 6374 Draw one object\n+00001630: 2074 7261 6e73 666f 726d 6564 2e0a 0a53 transformed...S\n+00001640: 7765 6570 730a 0a2a 2053 7765 7074 2070 weeps..* Swept p\n+00001650: 6f69 6e74 733a 3a20 2020 2020 2020 2020 oints:: \n+00001660: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi\n+00001670: 6e74 7320 6d61 6b65 206c 696e 6573 206f nts make lines o\n+00001680: 7220 706f 6c79 676f 6e73 2e0a 2a20 5377 r polygons..* Sw\n+00001690: 6570 7420 6c69 6e65 733a 3a20 2020 2020 ept lines:: \n+000016a0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n+000016b0: 7420 6c69 6e65 7320 6d61 6b65 206f 7065 t lines make ope\n+000016c0: 6e20 6f72 2063 6c6f 7365 6420 7375 7266 n or closed surf\n+000016d0: 6163 6573 2e0a 2a20 5377 6570 7420 706f aces..* Swept po\n+000016e0: 6c79 676f 6e73 3a3a 2020 2020 2020 2020 lygons:: \n+000016f0: 2020 2020 2020 5377 6570 7420 706f 6c79 Swept poly\n+00001700: 676f 6e73 206d 616b 6520 636c 6f73 6564 gons make closed\n+00001710: 2073 7572 6661 6365 732e 0a2a 2053 7765 surfaces..* Swe\n+00001720: 7074 2062 6c6f 636b 733a 3a20 2020 2020 pt blocks:: \n+00001730: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n+00001740: 2062 6c6f 636b 20e2 89a1 2062 6c6f 636b block ... block\n+00001750: 206f 6620 7377 6565 7073 2e0a 2a20 5377 of sweeps..* Sw\n+00001760: 6565 7020 6661 6365 2073 706c 6974 7469 eep face splitti\n+00001770: 6e67 3a3a 2020 2020 2020 2020 4669 7869 ng:: Fixi\n+00001780: 6e67 2077 6172 7065 6420 6661 6365 7320 ng warped faces \n+00001790: 7769 7468 2074 7269 616e 676c 6573 2e0a with triangles..\n+000017a0: 0a44 6566 696e 6974 696f 6e73 0a0a 2a20 .Definitions..* \n+000017b0: 466f 726d 7320 6f66 2064 6566 696e 6974 Forms of definit\n+000017c0: 696f 6e73 3a3a 2020 2020 2020 2020 4469 ions:: Di\n+000017d0: 6666 6572 656e 7420 6465 6673 2066 6f72 fferent defs for\n+000017e0: 2064 6966 6665 7265 6e74 2070 7572 706f different purpo\n+000017f0: 7365 732e 0a2a 2046 6f72 6d73 206f 6620 ses..* Forms of \n+00001800: 7265 6665 7265 6e63 6573 3a3a 2020 2020 references:: \n+00001810: 2020 2020 2048 6f77 2072 6566 6572 656e How referen\n+00001820: 6365 7320 6465 6e6f 7465 2074 7970 6573 ces denote types\n+00001830: 2e0a 0a47 6c6f 6261 6c20 656e 7669 726f ...Global enviro\n+00001840: 6e6d 656e 740a 0a2a 2047 6c6f 6261 6c20 nment..* Global \n+00001850: 6f70 7469 6f6e 733a 3a20 2020 2020 2020 options:: \n+00001860: 2020 2020 2020 2041 7474 7269 6275 7465 Attribute\n+00001870: 7320 6f66 2074 6865 2065 6e74 6972 6520 s of the entire \n+00001880: 6472 6177 696e 672e 0a2a 2043 616d 6572 drawing..* Camer\n+00001890: 613a 3a20 2020 2020 2020 2020 2020 2020 a:: \n+000018a0: 2020 2020 2020 2020 2041 2066 696e 616c A final\n+000018b0: 2063 616d 6572 6120 7472 616e 7366 6f72 camera transfor\n+000018c0: 6d61 7469 6f6e 206f 6620 7468 6520 7363 mation of the sc\n+000018d0: 656e 652e 0a2a 2050 6963 7475 7265 2062 ene..* Picture b\n+000018e0: 6f78 3a3a 2020 2020 2020 2020 2020 2020 ox:: \n+000018f0: 2020 2020 2053 6574 7469 6e67 2074 6865 Setting the\n+00001900: 2062 6f75 6e64 696e 6720 626f 7820 616e bounding box an\n+00001910: 6420 3264 2063 6c69 7070 696e 672e 0a2a d 2d clipping..*\n+00001920: 2046 7261 6d65 3a3a 2020 2020 2020 2020 Frame:: \n+00001930: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+00001940: 6464 696e 6720 6120 626f 7820 6172 6f75 dding a box arou\n+00001950: 6e64 2074 6865 2064 7261 7769 6e67 2e0a nd the drawing..\n+00001960: 2a20 4c61 6e67 7561 6765 3a3a 2020 2020 * Language:: \n+00001970: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00001980: 5365 7474 696e 6720 7468 6520 6f75 7470 Setting the outp\n+00001990: 7574 206c 616e 6775 6167 652e 0a0a 4275 ut language...Bu\n+000019a0: 696c 6469 6e67 2061 2064 7261 7769 6e67 ilding a drawing\n+000019b0: 0a0a 2a20 4f76 6572 7669 6577 3a3a 2020 ..* Overview:: \n+000019c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000019d0: 2020 4275 696c 6469 6e67 2061 2073 7562 Building a sub\n+000019e0: 7374 616e 7469 616c 2064 7261 7769 6e67 stantial drawing\n+000019f0: 2e0a 2a20 4120 7465 6368 6e69 6361 6c20 ..* A technical \n+00001a00: 6472 6177 696e 673a 3a20 2020 2020 2020 drawing:: \n+00001a10: 2020 416e 2065 7861 6d70 6c65 2077 6974 An example wit\n+00001a20: 6820 6669 6e65 2070 6c61 6365 6d65 6e74 h fine placement\n+00001a30: 2e0a 2a20 4120 6869 6572 6172 6368 6963 ..* A hierarchic\n+00001a40: 616c 206d 6f64 656c 3a3a 2020 2020 2020 al model:: \n+00001a50: 2020 416e 2065 7861 6d70 6c65 2077 6974 An example wit\n+00001a60: 6820 7377 6565 7073 2061 6e64 2070 7574 h sweeps and put\n+00001a70: 732e 0a2a 2043 6176 6561 7473 3a3a 2020 s..* Caveats:: \n+00001a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00001a90: 2020 2057 6865 7265 2074 726f 7562 6c65 Where trouble\n+00001aa0: 2063 616e 206f 6363 7572 2e0a 0a43 6176 can occur...Cav\n+00001ab0: 6561 7473 0a0a 2a20 4c69 6d69 7473 206f eats..* Limits o\n+00001ac0: 6e20 6572 726f 7220 6465 7465 6374 696f n error detectio\n+00001ad0: 6e3a 3a20 2020 5768 6174 2073 6b65 7463 n:: What sketc\n+00001ae0: 6820 646f 6573 6e27 7420 646f 2e0a 2a20 h doesn't do..* \n+00001af0: 436c 6970 7069 6e67 3a3a 2020 2020 2020 Clipping:: \n+00001b00: 2020 2020 2020 2020 2020 2020 2020 4e6f No\n+00001b10: 2063 6c69 7070 696e 6720 6174 2070 7265 clipping at pre\n+00001b20: 7365 6e74 2e0a 2a20 4869 6464 656e 2073 sent..* Hidden s\n+00001b30: 7572 6661 6365 2072 656d 6f76 616c 3a3a urface removal::\n+00001b40: 2020 2020 2020 496d 7065 7266 6563 7469 Imperfecti\n+00001b50: 6f6e 7320 746f 2066 6978 2e0a 0a48 6964 ons to fix...Hid\n+00001b60: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo\n+00001b70: 7661 6c20 616e 6420 706f 6c79 676f 6e20 val and polygon \n+00001b80: 7370 6c69 7474 696e 670a 0a2a 2053 7461 splitting..* Sta\n+00001b90: 7469 7374 6963 733a 3a20 2020 2020 2020 tistics:: \n+00001ba0: 2020 2020 2020 2020 2020 2050 6572 666f Perfo\n+00001bb0: 726d 616e 6365 206e 756d 6265 7273 206f rmance numbers o\n+00001bc0: 6e20 6465 7074 6820 736f 7274 2e0a 2a20 n depth sort..* \n+00001bd0: 4275 6773 2061 6e64 2061 6e6f 6d61 6c69 Bugs and anomali\n+00001be0: 6573 3a3a 2020 2020 2020 2020 2020 496d es:: Im\n+00001bf0: 7065 7266 6563 7469 6f6e 7320 696e 2074 perfections in t\n+00001c00: 6869 7320 696d 706c 656d 656e 7461 7469 his implementati\n+00001c10: 6f6e 2e0a 0a1f 0a46 696c 653a 2073 6b65 on.....File: ske\n+00001c20: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+00001c30: 2041 626f 7574 2073 6b65 7463 682c 2020 About sketch, \n+00001c40: 4e65 7874 3a20 496e 7472 6f64 7563 7469 Next: Introducti\n+00001c50: 6f6e 2062 7920 6578 616d 706c 652c 2020 on by example, \n+00001c60: 5072 6576 3a20 546f 702c 2020 5570 3a20 Prev: Top, Up: \n+00001c70: 546f 700a 0a31 2041 626f 7574 2073 6b65 Top..1 About ske\n+00001c80: 7463 680a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a tch.************\n+00001c90: 2a2a 0a0a 2a20 4d65 6e75 3a0a 0a2a 2052 **..* Menu:..* R\n+00001ca0: 6570 6f72 7469 6e67 2062 7567 733a 3a20 eporting bugs:: \n+00001cb0: 2020 2020 2020 2020 2020 2020 204c 6574 Let\n+00001cc0: 2075 7365 206b 6e6f 7720 7768 6174 2773 use know what's\n+00001cd0: 2077 726f 6e67 210a 2a20 436f 6e74 7269 wrong!.* Contri\n+00001ce0: 6275 7469 6f6e 733a 3a20 2020 2020 2020 butions:: \n+00001cf0: 2020 2020 2020 2020 486f 7720 796f 7520 How you \n+00001d00: 6361 6e20 6865 6c70 2e2e 2e2e 0a0a e280 can help........\n+00001d10: 9853 6b65 7463 68e2 8099 2069 7320 6120 .Sketch... is a \n+00001d20: 736d 616c 6c2c 2073 696d 706c 6520 7379 small, simple sy\n+00001d30: 7374 656d 2066 6f72 2070 726f 6475 6369 stem for produci\n+00001d40: 6e67 206c 696e 6520 6472 6177 696e 6773 ng line drawings\n+00001d50: 206f 6620 7477 6f2d 0a6f 7220 7468 7265 of two-.or thre\n+00001d60: 652d 6469 6d65 6e73 696f 6e61 6c20 6f62 e-dimensional ob\n+00001d70: 6a65 6374 7320 616e 6420 7363 656e 6573 jects and scenes\n+00001d80: 2e20 2049 7420 6265 6761 6e20 6173 2061 . It began as a\n+00001d90: 2077 6179 2074 6f20 6d61 6b65 0a69 6c6c way to make.ill\n+00001da0: 7573 7472 6174 696f 6e73 2066 6f72 2061 ustrations for a\n+00001db0: 2074 6578 7462 6f6f 6b20 6166 7465 7220 textbook after \n+00001dc0: 7765 2063 6f75 6c64 2066 696e 6420 6e6f we could find no\n+00001dd0: 2073 7569 7461 626c 6520 746f 6f6c 2066 suitable tool f\n+00001de0: 6f72 0a74 6869 7320 7075 7270 6f73 652e or.this purpose.\n+00001df0: 2020 4578 6973 7469 6e67 2073 6365 6e65 Existing scene\n+00001e00: 2070 726f 6365 7373 6f72 7320 656d 7068 processors emph\n+00001e10: 6173 697a 6564 2047 5549 7320 616e 642f asized GUIs and/\n+00001e20: 6f72 0a70 686f 746f 2d72 6561 6c69 736d or.photo-realism\n+00001e30: 2c20 626f 7468 2075 6e2d 7573 6566 756c , both un-useful\n+00001e40: 2074 6f20 7573 2e20 2057 6520 7761 6e74 to us. We want\n+00001e50: 6564 2074 6f20 7072 6f64 7563 6520 6669 ed to produce fi\n+00001e60: 6e65 6c79 0a77 726f 7567 6874 2c20 6d61 nely.wrought, ma\n+00001e70: 7468 656d 6174 6963 616c 6c79 2d62 6173 thematically-bas\n+00001e80: 6564 2069 6c6c 7573 7472 6174 696f 6e73 ed illustrations\n+00001e90: 2077 6974 6820 6e6f 2065 7874 7261 6e65 with no extrane\n+00001ea0: 6f75 7320 6465 7461 696c 2e0a 0a20 2020 ous detail... \n+00001eb0: e280 9853 6b65 7463 68e2 8099 2061 6363 ...Sketch... acc\n+00001ec0: 6570 7473 2061 2074 696e 7920 7363 656e epts a tiny scen\n+00001ed0: 6520 6465 7363 7269 7074 696f 6e20 6c61 e description la\n+00001ee0: 6e67 7561 6765 2061 6e64 2067 656e 6572 nguage and gener\n+00001ef0: 6174 6573 0ae2 8098 5053 5472 6963 6b73 ates....PSTricks\n+00001f00: e280 9920 6f72 20e2 8098 5469 6b5a 2f50 ... or ...TikZ/P\n+00001f10: 4746 e280 9920 636f 6465 2066 6f72 204c GF... code for L\n+00001f20: 6154 6558 2e20 2054 6865 20e2 8098 736b aTeX. The ...sk\n+00001f30: 6574 6368 e280 9920 6c61 6e67 7561 6765 etch... language\n+00001f40: 2069 730a 7369 6d69 6c61 7220 746f 20e2 is.similar to .\n+00001f50: 8098 5053 5472 6963 6b73 e280 992c 206d ..PSTricks..., m\n+00001f60: 616b 696e 6720 6974 2065 6173 7920 746f aking it easy to\n+00001f70: 206c 6561 726e 2066 6f72 2063 7572 7265 learn for curre\n+00001f80: 6e74 20e2 8098 5053 5472 6963 6b73 e280 nt ...PSTricks..\n+00001f90: 990a 7573 6572 732e 2020 5365 6520 7777 ..users. See ww\n+00001fa0: 772e 7073 7472 6963 6b73 2e64 6520 666f w.pstricks.de fo\n+00001fb0: 7220 696e 666f 726d 6174 696f 6e20 6f6e r information on\n+00001fc0: 20e2 8098 5053 5472 6963 6b73 e280 992e ...PSTricks....\n+00001fd0: 2020 e280 9854 696b 5a2f 5047 46e2 8099 ...TikZ/PGF...\n+00001fe0: 0a69 7320 7369 6d69 6c61 722e 2020 5365 .is similar. Se\n+00001ff0: 6520 6874 7470 3a2f 2f73 6f75 7263 6566 e http://sourcef\n+00002000: 6f72 6765 2e6e 6574 2f70 726f 6a65 6374 orge.net/project\n+00002010: 732f 7067 662e 2020 4f6e 6520 6361 6e20 s/pgf. One can \n+00002020: 6561 7369 6c79 0a69 6e63 6c75 6465 2061 easily.include a\n+00002030: 7262 6974 7261 7279 20e2 8098 5053 5472 rbitrary ...PSTr\n+00002040: 6963 6b73 e280 9920 6f72 20e2 8098 5469 icks... or ...Ti\n+00002050: 6b5a 2f50 4746 e280 9920 6472 6177 696e kZ/PGF... drawin\n+00002060: 6773 2061 6e64 2074 6578 7420 6f76 6572 gs and text over\n+00002070: 2c20 696e 2c0a 6f72 2075 6e64 6572 20e2 , in,.or under .\n+00002080: 8098 736b 6574 6368 e280 9920 6472 6177 ..sketch... draw\n+00002090: 696e 6773 2c20 7072 6f76 6964 696e 6720 ings, providing \n+000020a0: 6163 6365 7373 2074 6f20 7468 6520 6675 access to the fu\n+000020b0: 6c6c 2070 6f77 6572 206f 6620 4c61 5465 ll power of LaTe\n+000020c0: 580a 7465 7874 2061 6e64 206d 6174 6865 X.text and mathe\n+000020d0: 6d61 7469 6373 2066 6f72 6d61 7474 696e matics formattin\n+000020e0: 6720 696e 2061 2074 6872 6565 2d64 696d g in a three-dim\n+000020f0: 656e 7369 6f6e 616c 2073 6574 7469 6e67 ensional setting\n+00002100: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+00002110: 682e 696e 666f 2c20 204e 6f64 653a 2052 h.info, Node: R\n+00002120: 6570 6f72 7469 6e67 2062 7567 732c 2020 eporting bugs, \n+00002130: 4e65 7874 3a20 436f 6e74 7269 6275 7469 Next: Contributi\n+00002140: 6f6e 732c 2020 5072 6576 3a20 4162 6f75 ons, Prev: Abou\n+00002150: 7420 736b 6574 6368 2c20 2055 703a 2041 t sketch, Up: A\n+00002160: 626f 7574 2073 6b65 7463 680a 0a31 2e31 bout sketch..1.1\n+00002170: 2052 6570 6f72 7469 6e67 2062 7567 7320 Reporting bugs \n+00002180: 616e 6420 7265 636f 6d6d 656e 6469 6e67 and recommending\n+00002190: 2069 6d70 726f 7665 6d65 6e74 732e 0a3d improvements..=\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 0a0a 5468 6520 ==========..The \n-000021d0: 6772 6f75 7020 6874 7470 3a2f 2f67 726f group http://gro\n-000021e0: 7570 732e 676f 6f67 6c65 2e63 6f6d 2f67 ups.google.com/g\n-000021f0: 726f 7570 2f73 6b65 7463 682d 7573 6572 roup/sketch-user\n-00002200: 7320 6973 2074 6865 2062 6573 7420 706c s is the best pl\n-00002210: 6163 650a 746f 2072 6570 6f72 7420 6275 ace.to report bu\n-00002220: 6773 2061 6e64 206d 616b 6520 696d 7072 gs and make impr\n-00002230: 6f76 656d 656e 7473 2e20 2041 2073 6563 ovements. A sec\n-00002240: 6f6e 6420 6d65 7468 6f64 2074 6861 7420 ond method that \n-00002250: 7769 6c6c 0a70 726f 6261 626c 7920 7072 will.probably pr\n-00002260: 6f64 7563 6520 6120 736c 6f77 6572 2072 oduce a slower r\n-00002270: 6573 706f 6e73 6520 6973 2065 6d61 696c esponse is email\n-00002280: 2074 6f20 736b 6574 6368 4066 726f 6e74 to sketch@front\n-00002290: 6965 726e 6574 2e6e 6574 2e0a 5765 2077 iernet.net..We w\n-000022a0: 696c 6c20 7472 7920 746f 2072 6573 706f ill try to respo\n-000022b0: 6e64 2c20 6275 7420 6361 6e27 7420 7072 nd, but can't pr\n-000022c0: 6f6d 6973 652e 2020 496e 2061 6e79 2065 omise. In any e\n-000022d0: 7665 6e74 2c20 646f 6e27 7420 6265 0a6f vent, don't be.o\n-000022e0: 6666 656e 6465 6420 6966 2061 2072 6570 ffended if a rep\n-000022f0: 6c79 2069 7320 6e6f 7420 666f 7274 6863 ly is not forthc\n-00002300: 6f6d 696e 672e 2020 5765 2772 6520 6a75 oming. We're ju\n-00002310: 7374 2062 7573 7920 616e 6420 7769 6c6c st busy and will\n-00002320: 2067 6574 2074 6f0a 796f 7572 2073 7567 get to.your sug\n-00002330: 6765 7374 696f 6e20 6576 656e 7475 616c gestion eventual\n-00002340: 6c79 2e0a 0a20 2020 466f 7220 6275 6773 ly... For bugs\n-00002350: 2c20 6174 7461 6368 2061 20e2 8098 736b , attach a ...sk\n-00002360: 6574 6368 e280 9920 696e 7075 7420 6669 etch... input fi\n-00002370: 6c65 2074 6861 7420 6361 7573 6573 2074 le that causes t\n-00002380: 6865 2062 6164 2062 6568 6176 696f 722e he bad behavior.\n-00002390: 0a45 6d62 6564 2063 6f6d 6d65 6e74 7320 .Embed comments \n-000023a0: 7468 6174 2065 7870 6c61 696e 2077 6861 that explain wha\n-000023b0: 7420 746f 206c 6f6f 6b20 666f 7220 696e t to look for in\n-000023c0: 2074 6865 2062 6568 6176 696f 7220 6f66 the behavior of\n-000023d0: 20e2 8098 736b 6574 6368 e280 990a 6f72 ...sketch....or\n-000023e0: 2069 7473 206f 7574 7075 742e 0a0a 2020 its output... \n-000023f0: 2041 2072 6563 6f6d 6d65 6e64 6174 696f A recommendatio\n-00002400: 6e20 666f 7220 696d 7072 6f76 656d 656e n for improvemen\n-00002410: 7420 6672 6f6d 206f 6e65 2075 6e6b 6e6f t from one unkno\n-00002420: 776e 2070 6572 736f 6e20 636f 756e 7473 wn person counts\n-00002430: 2061 730a 6f6e 6520 766f 7465 2e20 2057 as.one vote. W\n-00002440: 6520 7573 6520 6f76 6572 616c 6c20 766f e use overall vo\n-00002450: 7465 2074 616c 6c69 6573 2074 6f20 6465 te tallies to de\n-00002460: 6369 6465 2077 6861 7420 746f 2064 6f20 cide what to do \n-00002470: 6e65 7874 2061 730a 7265 736f 7572 6365 next as.resource\n-00002480: 7320 7065 726d 6974 2e20 2057 6520 7265 s permit. We re\n-00002490: 7365 7276 6520 7468 6520 7269 6768 7420 serve the right \n-000024a0: 746f 2061 7373 6967 6e20 616e 7920 6e75 to assign any nu\n-000024b0: 6d62 6572 206f 6620 766f 7465 7320 746f mber of votes to\n-000024c0: 0a73 7567 6765 7374 696f 6e73 2066 726f .suggestions fro\n-000024d0: 6d20 7065 6f70 6c65 2077 686f 2068 6176 m people who hav\n-000024e0: 6520 6265 656e 2068 656c 7066 756c 2061 e been helpful a\n-000024f0: 6e64 2073 7570 706f 7274 6976 6520 696e nd supportive in\n-00002500: 2074 6865 0a70 6173 742e 0a0a 1f0a 4669 the.past.....Fi\n-00002510: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-00002520: 2020 4e6f 6465 3a20 436f 6e74 7269 6275 Node: Contribu\n-00002530: 7469 6f6e 732c 2020 5072 6576 3a20 5265 tions, Prev: Re\n-00002540: 706f 7274 696e 6720 6275 6773 2c20 2055 porting bugs, U\n-00002550: 703a 2041 626f 7574 2073 6b65 7463 680a p: About sketch.\n-00002560: 0a31 2e32 2043 6f6e 7472 6962 7574 696f .1.2 Contributio\n-00002570: 6e73 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ns.=============\n-00002580: 3d3d 3d3d 0a0a 4966 2079 6f75 2069 6e74 ====..If you int\n-00002590: 656e 6420 746f 2069 6d70 6c65 6d65 6e74 end to implement\n-000025a0: 2061 6e20 656e 6861 6e63 656d 656e 7420 an enhancement \n-000025b0: 6f66 2079 6f75 7220 6f77 6e2c 2074 6861 of your own, tha\n-000025c0: 7427 7320 7465 7272 6966 6963 210a 436f t's terrific!.Co\n-000025d0: 6e73 6964 6572 2063 6f6c 6c61 626f 7261 nsider collabora\n-000025e0: 7469 6e67 2077 6974 6820 7573 2066 6972 ting with us fir\n-000025f0: 7374 2074 6f20 7365 6520 6966 2077 6527 st to see if we'\n-00002600: 7265 2061 6c72 6561 6479 2077 6f72 6b69 re already worki\n-00002610: 6e67 206f 6e0a 796f 7572 2069 6465 6120 ng on.your idea \n-00002620: 6f72 2069 6620 7765 2063 616e 2075 7365 or if we can use\n-00002630: 2079 6f75 7220 776f 726b 2069 6e20 7468 your work in th\n-00002640: 6520 6f66 6669 6369 616c 2072 656c 6561 e official relea\n-00002650: 7365 2e0a 0a00 085b 696d 6167 6520 7372 se.....[image sr\n-00002660: 633d 2265 7830 3030 2e70 6e67 2220 7465 c=\"ex000.png\" te\n-00002670: 7874 3d22 496d 6167 6520 6578 3030 3020 xt=\"Image ex000 \n-00002680: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text \n-00002690: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this \n-000026a0: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a1f document.\"..]...\n-000026b0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-000026c0: 666f 2c20 204e 6f64 653a 2049 6e74 726f fo, Node: Intro\n-000026d0: 6475 6374 696f 6e20 6279 2065 7861 6d70 duction by examp\n-000026e0: 6c65 2c20 204e 6578 743a 2049 6e70 7574 le, Next: Input\n-000026f0: 206c 616e 6775 6167 652c 2020 5072 6576 language, Prev\n-00002700: 3a20 4162 6f75 7420 736b 6574 6368 2c20 : About sketch, \n-00002710: 2055 703a 2054 6f70 0a0a 3220 496e 7472 Up: Top..2 Intr\n-00002720: 6f64 7563 7469 6f6e 2062 7920 6578 616d oduction by exam\n-00002730: 706c 650a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ple.************\n-00002740: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a54 *************..T\n-00002750: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... \n-00002760: 696e 7075 7420 6c61 6e67 7561 6765 2077 input language w\n-00002770: 696c 6c20 7365 656d 2066 616d 696c 6961 ill seem familia\n-00002780: 7220 746f 2075 7365 7273 206f 6620 7468 r to users of th\n-00002790: 650a e280 9850 5354 7269 636b 73e2 8099 e....PSTricks...\n-000027a0: 2070 6163 6b61 6765 2066 6f72 204c 6154 package for LaT\n-000027b0: 6558 2e20 2054 6865 2066 6f6c 6c6f 7769 eX. The followi\n-000027c0: 6e67 2070 726f 6772 616d 2064 7261 7773 ng program draws\n-000027d0: 2061 2074 7269 616e 6775 6c61 720a 706f a triangular.po\n-000027e0: 6c79 676f 6e20 7069 6572 6365 6420 6279 lygon pierced by\n-000027f0: 2061 206c 696e 652e 0a20 2070 6f6c 7967 a line.. polyg\n-00002800: 6f6e 2830 2c30 2c31 2928 312c 302c 3029 on(0,0,1)(1,0,0)\n-00002810: 2830 2c31 2c30 290a 2020 6c69 6e65 282d (0,1,0). line(-\n-00002820: 312c 2d31 2c2d 3129 2832 2c32 2c32 290a 1,-1,-1)(2,2,2).\n-00002830: 5468 6520 636f 6f72 6469 6e61 7465 2073 The coordinate s\n-00002840: 7973 7465 6d20 6973 2061 2073 7461 6e64 ystem is a stand\n-00002850: 6172 6420 7269 6768 742d 6861 6e64 6564 ard right-handed\n-00002860: 2043 6172 7465 7369 616e 206f 6e65 2e0a Cartesian one..\n-00002870: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n-00002880: 7830 3130 2e70 6e67 2220 7465 7874 3d22 x010.png\" text=\"\n-00002890: 496d 6167 6520 6578 3031 3020 6f6d 6974 Image ex010 omit\n-000028a0: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n-000028b0: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n-000028c0: 6d65 6e74 2e22 0008 5d0a 0a2a 204d 656e ment.\"..]..* Men\n-000028d0: 753a 0a0a 2a20 4865 6c6c 6f20 776f 726c u:..* Hello worl\n-000028e0: 643a 3a20 2020 2020 2020 2020 2020 2020 d:: \n-000028f0: 2020 2020 5369 6d70 6c65 7374 2070 6f73 Simplest pos\n-00002900: 7369 626c 6520 e280 9873 6b65 7463 68e2 sible ...sketch.\n-00002910: 8099 2070 726f 6772 616d 2e0a 2a20 4472 .. program..* Dr\n-00002920: 6177 696e 6720 6f70 7469 6f6e 733a 3a20 awing options:: \n-00002930: 2020 2020 2020 2020 2020 2020 436f 6e74 Cont\n-00002940: 726f 6c6c 696e 6720 6f62 6a65 6374 2061 rolling object a\n-00002950: 7070 6561 7261 6e63 652e 0a2a 2044 7261 ppearance..* Dra\n-00002960: 7769 6e67 2061 2073 6f6c 6964 3a3a 2020 wing a solid:: \n-00002970: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi\n-00002980: 6e67 2061 6e20 6f62 6a65 6374 2077 6974 ng an object wit\n-00002990: 6820 3364 2061 7070 6561 7261 6e63 652e h 3d appearance.\n-000029a0: 0a2a 2053 7065 6369 616c 206f 626a 6563 .* Special objec\n-000029b0: 7473 3a3a 2020 2020 2020 2020 2020 2020 ts:: \n-000029c0: 204c 6179 696e 6720 5465 5820 6f76 6572 Laying TeX over\n-000029d0: 2c20 696e 2c20 6f72 2075 6e64 6572 2064 , in, or under d\n-000029e0: 7261 7769 6e67 732e 0a2a 204f 626a 6563 rawings..* Objec\n-000029f0: 7420 7472 616e 7366 6f72 6d73 3a3a 2020 t transforms:: \n-00002a00: 2020 2020 2020 2020 2052 6f74 6174 652c Rotate,\n-00002a10: 2074 7261 6e73 6c61 7465 2c20 7363 616c translate, scal\n-00002a20: 652c 2061 6e64 206f 7468 6572 732e 0a2a e, and others..*\n-00002a30: 2052 6570 6561 7465 6420 6f62 6a65 6374 Repeated object\n-00002a40: 733a 3a20 2020 2020 2020 2020 2020 204d s:: M\n-00002a50: 616b 696e 6720 7472 616e 7366 6f72 6d65 aking transforme\n-00002a60: 6420 636f 7069 6573 2e0a 2a20 5377 6570 d copies..* Swep\n-00002a70: 7420 6f62 6a65 6374 733a 3a20 2020 2020 t objects:: \n-00002a80: 2020 2020 2020 2020 2020 5377 6565 7069 Sweepi\n-00002a90: 6e67 206f 626a 6563 7473 2069 6e20 7370 ng objects in sp\n-00002aa0: 6163 6520 746f 206d 616b 6520 6e65 7720 ace to make new \n-00002ab0: 7368 6170 6573 2e0a 0a1f 0a46 696c 653a shapes.....File:\n-00002ac0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-00002ad0: 6f64 653a 2048 656c 6c6f 2077 6f72 6c64 ode: Hello world\n-00002ae0: 2c20 204e 6578 743a 2044 7261 7769 6e67 , Next: Drawing\n-00002af0: 206f 7074 696f 6e73 2c20 2050 7265 763a options, Prev:\n-00002b00: 2049 6e74 726f 6475 6374 696f 6e20 6279 Introduction by\n-00002b10: 2065 7861 6d70 6c65 2c20 2055 703a 2049 example, Up: I\n-00002b20: 6e74 726f 6475 6374 696f 6e20 6279 2065 ntroduction by e\n-00002b30: 7861 6d70 6c65 0a0a 322e 3120 4865 6c6c xample..2.1 Hell\n-00002b40: 6f20 776f 726c 640a 3d3d 3d3d 3d3d 3d3d o world.========\n-00002b50: 3d3d 3d3d 3d3d 3d0a 0a54 6865 20e2 8098 =======..The ...\n-00002b60: 736b 6574 6368 e280 9920 7072 6f67 7261 sketch... progra\n-00002b70: 6d20 6162 6f76 6520 6973 206e 6561 726c m above is nearl\n-00002b80: 7920 7468 6520 7369 6d70 6c65 7374 206f y the simplest o\n-00002b90: 6e65 2070 6f73 7369 626c 652c 2074 6865 ne possible, the\n-00002ba0: 0a65 7175 6976 616c 656e 7420 6f66 2061 .equivalent of a\n-00002bb0: 2022 6865 6c6c 6f20 776f 726c 6422 2070 \"hello world\" p\n-00002bc0: 726f 6772 616d 2079 6f75 206d 6967 6874 rogram you might\n-00002bd0: 2066 696e 6420 6174 2074 6865 2073 7461 find at the sta\n-00002be0: 7274 206f 6620 610a 7072 6f67 7261 6d6d rt of a.programm\n-00002bf0: 696e 6720 6c61 6e67 7561 6765 2074 6578 ing language tex\n-00002c00: 742e 2020 4966 2069 7420 6973 2073 6176 t. If it is sav\n-00002c10: 6564 2069 6e20 7468 6520 6669 6c65 20e2 ed in the file .\n-00002c20: 8098 7369 6d70 6c65 2e73 6be2 8099 2c20 ..simple.sk..., \n-00002c30: 7468 656e 0a74 6865 2063 6f6d 6d61 6e64 then.the command\n-00002c40: 0a20 2073 6b65 7463 6820 7369 6d70 6c65 . sketch simple\n-00002c50: 2e73 6b20 2d6f 2073 696d 706c 652e 7465 .sk -o simple.te\n-00002c60: 780a 6372 6561 7465 7320 6120 6669 6c65 x.creates a file\n-00002c70: 20e2 8098 7369 6d70 6c65 2e74 6578 e280 ...simple.tex..\n-00002c80: 9920 636f 6e74 6169 6e69 6e67 20e2 8098 . containing ...\n-00002c90: 5053 5472 6963 6b73 e280 9920 636f 6d6d PSTricks... comm\n-00002ca0: 616e 6473 2074 6f20 6472 6177 2074 6865 ands to draw the\n-00002cb0: 7365 0a6f 626a 6563 7473 206f 6e20 7061 se.objects on pa\n-00002cc0: 7065 722e 2020 5468 6520 636f 6e74 656e per. The conten\n-00002cd0: 7473 206f 6620 e280 9873 696d 706c 652e ts of ...simple.\n-00002ce0: 7465 78e2 8099 206c 6f6f 6b20 6c69 6b65 tex... look like\n-00002cf0: 2074 6869 732e 0a20 205c 6265 6769 6e7b this.. \\begin{\n-00002d00: 7073 7069 6374 7572 657d 282d 312c 2d31 pspicture}(-1,-1\n-00002d10: 2928 322c 3229 0a20 205c 7073 7456 6572 )(2,2). \\pstVer\n-00002d20: 627b 3120 7365 746c 696e 656a 6f69 6e7d b{1 setlinejoin}\n-00002d30: 0a20 205c 7073 6c69 6e65 282d 312c 2d31 . \\psline(-1,-1\n-00002d40: 2928 2e33 3333 2c2e 3333 3329 0a20 205c )(.333,.333). \\\n-00002d50: 7073 706f 6c79 676f 6e5b 6669 6c6c 7374 pspolygon[fillst\n-00002d60: 796c 653d 736f 6c69 642c 6669 6c6c 636f yle=solid,fillco\n-00002d70: 6c6f 723d 7768 6974 655d 2830 2c30 2928 lor=white](0,0)(\n-00002d80: 312c 3029 2830 2c31 290a 2020 5c70 736c 1,0)(0,1). \\psl\n-00002d90: 696e 6528 2e33 3333 2c2e 3333 3329 2832 ine(.333,.333)(2\n-00002da0: 2c32 290a 2020 5c65 6e64 7b70 7370 6963 ,2). \\end{pspic\n-00002db0: 7475 7265 7d0a 5468 6520 6869 6464 656e ture}.The hidden\n-00002dc0: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit\n-00002dd0: 686d 206f 6620 e280 9873 6b65 7463 68e2 hm of ...sketch.\n-00002de0: 8099 2068 6173 2073 706c 6974 2074 6865 .. has split the\n-00002df0: 206c 696e 6520 696e 746f 2074 776f 0a70 line into two.p\n-00002e00: 6965 6365 7320 616e 6420 6f72 6465 7265 ieces and ordere\n-00002e10: 6420 7468 6520 7468 7265 6520 7265 7375 d the three resu\n-00002e20: 6c74 696e 6720 6f62 6a65 6374 7320 736f lting objects so\n-00002e30: 2074 6861 7420 7468 6520 636f 7272 6563 that the correc\n-00002e40: 740a 706f 7274 696f 6e20 6f66 2074 6865 t.portion of the\n-00002e50: 206c 696e 6520 6973 2068 6964 6465 6e2e line is hidden.\n-00002e60: 0a0a 2020 2049 6620 796f 7527 7665 206e .. If you've n\n-00002e70: 6f74 6963 6564 2074 6861 7420 7468 6520 oticed that the \n-00002e80: 7072 6f6a 6563 7469 6f6e 2077 6520 6172 projection we ar\n-00002e90: 6520 7573 696e 6720 7365 656d 7320 6571 e using seems eq\n-00002ea0: 7569 7661 6c65 6e74 0a74 6f20 6572 6173 uivalent.to eras\n-00002eb0: 696e 6720 7468 6520 7a2d 636f 6f72 6469 ing the z-coordi\n-00002ec0: 6e61 7465 206f 6620 7468 6520 7468 7265 nate of the thre\n-00002ed0: 652d 6469 6d65 6e73 696f 6e61 6c20 696e e-dimensional in\n-00002ee0: 7075 7420 706f 696e 7473 2c20 7061 740a put points, pat.\n-00002ef0: 796f 7572 7365 6c66 206f 6e20 7468 6520 yourself on the \n-00002f00: 6261 636b 2e20 2059 6f75 2061 7265 2063 back. You are c\n-00002f10: 6f72 7265 6374 2e20 2054 6869 7320 6973 orrect. This is\n-00002f20: 2063 616c 6c65 6420 6120 e280 9c70 6172 called a ...par\n-00002f30: 616c 6c65 6c0a 7072 6f6a 6563 7469 6f6e allel.projection\n-00002f40: e280 9d2e 2020 5468 6520 7a2d 636f 6f72 .... The z-coor\n-00002f50: 6469 6e61 7465 2061 7869 7320 6973 2070 dinate axis is p\n-00002f60: 6f69 6e74 696e 6720 7374 7261 6967 6874 ointing straight\n-00002f70: 206f 7574 206f 6620 7468 650a 7061 7065 out of the.pape\n-00002f80: 7220 6174 2075 732c 2077 6869 6c65 2074 r at us, while t\n-00002f90: 6865 2078 2d20 616e 6420 792d 6178 6573 he x- and y-axes\n-00002fa0: 2070 6f69 6e74 2074 6f20 7468 6520 7269 point to the ri\n-00002fb0: 6768 7420 616e 6420 7570 2061 7320 7573 ght and up as us\n-00002fc0: 7561 6c2e 0a0a 2020 2054 6865 2072 6573 ual... The res\n-00002fd0: 756c 7469 6e67 2070 6963 7475 7265 2066 ulting picture f\n-00002fe0: 696c 6520 6361 6e20 6265 2069 6e63 6c75 ile can be inclu\n-00002ff0: 6465 6420 696e 2061 204c 6154 6558 2064 ded in a LaTeX d\n-00003000: 6f63 756d 656e 7420 7769 7468 0a5c 696e ocument with.\\in\n-00003010: 7075 747b 7369 6d70 6c65 7d2e 2020 416c put{simple}. Al\n-00003020: 7465 726e 6174 656c 792c 2061 6464 696e ternately, addin\n-00003030: 6720 7468 6520 636f 6d6d 616e 6420 6c69 g the command li\n-00003040: 6e65 206f 7074 696f 6e20 e280 982d 54e2 ne option ...-T.\n-00003050: 8099 2831 290a 6361 7573 6573 2074 6865 ..(1).causes the\n-00003060: 20e2 8098 7073 7069 6374 7572 65e2 8099 ...pspicture...\n-00003070: 2074 6f20 6265 2077 7261 7070 6564 2069 to be wrapped i\n-00003080: 6e20 6120 7368 6f72 7420 6275 7420 636f n a short but co\n-00003090: 6d70 6c65 7465 2064 6f63 756d 656e 742c mplete document,\n-000030a0: 0a72 6561 6479 2074 6f20 7275 6e20 7468 .ready to run th\n-000030b0: 6f75 6768 204c 6154 6558 2e20 2049 6e20 ough LaTeX. In \n-000030c0: 6120 6669 6e69 7368 6564 2c20 7479 7065 a finished, type\n-000030d0: 7365 7420 646f 6375 6d65 6e74 2c20 7468 set document, th\n-000030e0: 6520 7069 6374 7572 650a 6c6f 6f6b 7320 e picture.looks \n-000030f0: 6c69 6b65 2074 6869 732e 2020 2854 6865 like this. (The\n-00003100: 2061 7865 7320 6861 7665 2062 6565 6e20 axes have been \n-00003110: 6164 6465 6420 696e 206c 6967 6874 2067 added in light g\n-00003120: 7261 792e 290a 0a00 085b 696d 6167 6520 ray.)....[image \n-00003130: 7372 633d 2265 7830 3230 2e70 6e67 2220 src=\"ex020.png\" \n-00003140: 7465 7874 3d22 496d 6167 6520 6578 3032 text=\"Image ex02\n-00003150: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex\n-00003160: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi\n-00003170: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document.\"..].\n-00003180: 0a49 7420 6973 2069 6d70 6f72 7461 6e74 .It is important\n-00003190: 2074 6f20 6b6e 6f77 2074 6861 7420 6f6e to know that on\n-000031a0: 6c79 2074 6865 2022 6f75 7473 6964 6522 ly the \"outside\"\n-000031b0: 206f 6620 6120 706f 6c79 676f 6e20 6973 of a polygon is\n-000031c0: 206e 6f72 6d61 6c6c 790a 6472 6177 6e2e normally.drawn.\n-000031d0: 2020 5468 6520 e280 9c6f 7574 7369 6465 The ...outside\n-000031e0: e280 9d20 6973 2077 6865 7265 2074 6865 ... is where the\n-000031f0: 2076 6572 7469 6365 7320 6769 7665 6e20 vertices given \n-00003200: 696e 2074 6865 20e2 8098 706f 6c79 676f in the ...polygo\n-00003210: 6ee2 8099 0a63 6f6d 6d61 6e64 2061 7070 n....command app\n-00003220: 6561 7220 696e 205f 636f 756e 7465 722d ear in _counter-\n-00003230: 636c 6f63 6b77 6973 655f 206f 7264 6572 clockwise_ order\n-00003240: 2e20 2054 6875 732c 2069 6620 7468 6520 . Thus, if the \n-00003250: 636f 6d6d 616e 6420 6162 6f76 650a 6861 command above.ha\n-00003260: 6420 6265 656e 0a20 2070 6f6c 7967 6f6e d been. polygon\n-00003270: 2830 2c31 2c30 2928 312c 302c 3029 2830 (0,1,0)(1,0,0)(0\n-00003280: 2c30 2c31 290a 7468 6520 706f 6c79 676f ,0,1).the polygo\n-00003290: 6e20 776f 756c 6420 6e6f 7420 6170 7065 n would not appe\n-000032a0: 6172 2069 6e20 7468 6520 7069 6374 7572 ar in the pictur\n-000032b0: 6520 6174 2061 6c6c 2e20 2049 7420 776f e at all. It wo\n-000032c0: 756c 6420 6861 7665 2062 6565 6e0a e280 uld have been...\n-000032d0: 9c63 756c 6c65 64e2 809d 2066 726f 6d20 .culled... from \n-000032e0: 7468 6520 7363 656e 652e 2020 5468 6973 the scene. This\n-000032f0: 2063 756c 6c69 6e67 2062 6568 6176 696f culling behavio\n-00003300: 7220 6d61 7920 7365 656d 2073 7472 616e r may seem stran\n-00003310: 6765 2c20 6275 740a 7374 6179 2074 756e ge, but.stay tun\n-00003320: 6564 2e0a 0a20 2020 2d2d 2d2d 2d2d 2d2d ed... --------\n-00003330: 2d2d 2046 6f6f 746e 6f74 6573 202d 2d2d -- Footnotes ---\n-00003340: 2d2d 2d2d 2d2d 2d0a 0a20 2020 2831 2920 -------.. (1) \n-00003350: 4f72 2066 6f72 2045 7572 6f70 6561 6e20 Or for European \n-00003360: 7573 6572 7320 6f66 2041 3420 7369 7a65 users of A4 size\n-00003370: 2070 6170 6572 2c20 e280 982d 5465 e280 paper, ...-Te..\n-00003380: 992e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ......File: sket\n-00003390: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-000033a0: 4472 6177 696e 6720 6f70 7469 6f6e 732c Drawing options,\n-000033b0: 2020 4e65 7874 3a20 4472 6177 696e 6720 Next: Drawing \n-000033c0: 6120 736f 6c69 642c 2020 5072 6576 3a20 a solid, Prev: \n-000033d0: 4865 6c6c 6f20 776f 726c 642c 2020 5570 Hello world, Up\n-000033e0: 3a20 496e 7472 6f64 7563 7469 6f6e 2062 : Introduction b\n-000033f0: 7920 6578 616d 706c 650a 0a32 2e32 204f y example..2.2 O\n-00003400: 7074 696f 6e73 0a3d 3d3d 3d3d 3d3d 3d3d ptions.=========\n-00003410: 3d3d 0a0a 4d61 6e79 20e2 8098 5053 5472 ==..Many ...PSTr\n-00003420: 6963 6b73 e280 9920 616e 6420 e280 9854 icks... and ...T\n-00003430: 696b 5a2f 5047 46e2 8099 206f 7074 696f ikZ/PGF... optio\n-00003440: 6e73 2077 6f72 6b20 6a75 7374 2066 696e ns work just fin\n-00003450: 6520 696e 20e2 8098 736b 6574 6368 e280 e in ...sketch..\n-00003460: 992e 2020 4966 0a67 656e 6572 6174 696e .. If.generatin\n-00003470: 6720 e280 9850 5354 7269 636b 73e2 8099 g ...PSTricks...\n-00003480: 2c20 7468 6520 636f 6465 0a20 2070 6f6c , the code. pol\n-00003490: 7967 6f6e 5b66 696c 6c63 6f6c 6f72 3d6c ygon[fillcolor=l\n-000034a0: 6967 6874 6772 6179 2c6c 696e 6577 6964 ightgray,linewid\n-000034b0: 7468 3d33 7074 5d28 302c 302c 3129 2831 th=3pt](0,0,1)(1\n-000034c0: 2c30 2c30 2928 302c 312c 3029 0a20 206c ,0,0)(0,1,0). l\n-000034d0: 696e 655b 6c69 6e65 7374 796c 653d 646f ine[linestyle=do\n-000034e0: 7474 6564 5d28 2d31 2c2d 312c 2d31 2928 tted](-1,-1,-1)(\n-000034f0: 322c 322c 3229 0a70 726f 6475 6365 730a 2,2,2).produces.\n-00003500: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n-00003510: 7830 3330 2e70 6e67 2220 7465 7874 3d22 x030.png\" text=\"\n-00003520: 496d 6167 6520 6578 3033 3020 6f6d 6974 Image ex030 omit\n-00003530: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n-00003540: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n-00003550: 6d65 6e74 2e22 0008 5d0a 0a20 2020 546f ment.\"..].. To\n-00003560: 2070 726f 6475 6365 20e2 8098 5469 6b5a produce ...TikZ\n-00003570: 2f50 4746 e280 992c 2074 6865 2063 6f72 /PGF..., the cor\n-00003580: 7265 7370 6f6e 6469 6e67 2063 6f64 6520 responding code \n-00003590: 6973 0a20 2070 6f6c 7967 6f6e 5b66 696c is. polygon[fil\n-000035a0: 6c3d 6c69 6768 7467 7261 792c 6c69 6e65 l=lightgray,line\n-000035b0: 2077 6964 7468 3d33 7074 5d28 302c 302c width=3pt](0,0,\n-000035c0: 3129 2831 2c30 2c30 2928 302c 312c 3029 1)(1,0,0)(0,1,0)\n-000035d0: 0a20 206c 696e 655b 7374 796c 653d 646f . line[style=do\n-000035e0: 7474 6564 5d28 2d31 2c2d 312c 2d31 2928 tted](-1,-1,-1)(\n-000035f0: 322c 322c 3229 0a20 2067 6c6f 6261 6c20 2,2,2). global \n-00003600: 7b20 6c61 6e67 7561 6765 2074 696b 7a20 { language tikz \n-00003610: 7d0a 5468 6520 6669 6e61 6c20 e280 9867 }.The final ...g\n-00003620: 6c6f 6261 6ce2 8099 2069 6e73 7472 7563 lobal... instruc\n-00003630: 7473 20e2 8098 736b 6574 6368 e280 9920 ts ...sketch... \n-00003640: 746f 2070 726f 6475 6365 20e2 8098 5469 to produce ...Ti\n-00003650: 6b5a 2f50 4746 e280 9920 636f 6465 2061 kZ/PGF... code a\n-00003660: 730a 6f75 7470 7574 2072 6174 6865 7220 s.output rather \n-00003670: 7468 616e 2074 6865 2064 6566 6175 6c74 than the default\n-00003680: 2c20 e280 9850 5354 7269 636b 73e2 8099 , ...PSTricks...\n-00003690: 2e20 204e 6f74 6520 7468 6174 20e2 8098 . Note that ...\n-000036a0: 706f 6c79 676f 6ee2 8099 2066 696c 6c0a polygon... fill.\n-000036b0: 636f 6c6f 7220 616e 6420 e280 986c 696e color and ...lin\n-000036c0: 65e2 8099 2073 7479 6c65 206f 7074 696f e... style optio\n-000036d0: 6e73 2062 6f74 6820 636f 6e66 6f72 6d20 ns both conform \n-000036e0: 746f 20e2 8098 5469 6b5a e280 9920 7379 to ...TikZ... sy\n-000036f0: 6e74 6178 2072 756c 6573 2e20 2054 6865 ntax rules. The\n-00003700: 0a72 6573 756c 7469 6e67 20e2 8098 5469 .resulting ...Ti\n-00003710: 6b5a 2f50 4746 e280 9920 6f75 7470 7574 kZ/PGF... output\n-00003720: 2069 730a 2020 5c62 6567 696e 7b74 696b is. \\begin{tik\n-00003730: 7a70 6963 7475 7265 7d5b 6a6f 696e 3d72 zpicture}[join=r\n-00003740: 6f75 6e64 5d0a 2020 5c64 7261 775b 646f ound]. \\draw[do\n-00003750: 7474 6564 5d28 2d31 2c2d 3129 2d2d 282e tted](-1,-1)--(.\n-00003760: 3333 332c 2e33 3333 293b 0a20 205c 6669 333,.333);. \\fi\n-00003770: 6c6c 6472 6177 5b66 696c 6c3d 6c69 6768 lldraw[fill=ligh\n-00003780: 7467 7261 792c 6c69 6e65 2077 6964 7468 tgray,line width\n-00003790: 3d33 7074 5d28 302c 3029 2d2d 2831 2c30 =3pt](0,0)--(1,0\n-000037a0: 292d 2d28 302c 3129 2d2d 6379 636c 653b )--(0,1)--cycle;\n-000037b0: 0a20 205c 6472 6177 5b64 6f74 7465 645d . \\draw[dotted]\n-000037c0: 282e 3333 332c 2e33 3333 292d 2d28 322c (.333,.333)--(2,\n-000037d0: 3229 3b0a 2020 5c65 6e64 7b74 696b 7a70 2);. \\end{tikzp\n-000037e0: 6963 7475 7265 7d0a 5468 6520 7265 6d61 icture}.The rema\n-000037f0: 696e 696e 6720 6578 616d 706c 6573 206f ining examples o\n-00003800: 6620 7468 6973 206d 616e 7561 6c20 6172 f this manual ar\n-00003810: 6520 696e 2050 5354 7269 636b 7320 7374 e in PSTricks st\n-00003820: 796c 652e 0a0a 1f0a 4669 6c65 3a20 736b yle.....File: sk\n-00003830: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-00003840: 3a20 4472 6177 696e 6720 6120 736f 6c69 : Drawing a soli\n-00003850: 642c 2020 4e65 7874 3a20 5370 6563 6961 d, Next: Specia\n-00003860: 6c20 6f62 6a65 6374 732c 2020 5072 6576 l objects, Prev\n-00003870: 3a20 4472 6177 696e 6720 6f70 7469 6f6e : Drawing option\n-00003880: 732c 2020 5570 3a20 496e 7472 6f64 7563 s, Up: Introduc\n-00003890: 7469 6f6e 2062 7920 6578 616d 706c 650a tion by example.\n-000038a0: 0a32 2e33 2044 7261 7769 6e67 2061 2073 .2.3 Drawing a s\n-000038b0: 6f6c 6964 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d olid.===========\n-000038c0: 3d3d 3d3d 3d3d 3d3d 0a0a 4c65 7427 7320 ========..Let's \n-000038d0: 7472 7920 736f 6d65 7468 696e 6720 6d6f try something mo\n-000038e0: 7265 2065 7863 6974 696e 672e 2020 e280 re exciting. ..\n-000038f0: 9853 6b65 7463 68e2 8099 2068 6173 206e .Sketch... has n\n-00003900: 6f20 6e6f 7469 6f6e 206f 6620 6120 736f o notion of a so\n-00003910: 6c69 642c 0a62 7574 2070 6f6c 7967 6f6e lid,.but polygon\n-00003920: 616c 20e2 809c 6661 6365 73e2 809d 2063 al ...faces... c\n-00003930: 616e 2062 6520 7573 6564 2074 6f20 7265 an be used to re\n-00003940: 7072 6573 656e 7420 7468 6520 626f 756e present the boun\n-00003950: 6461 7279 206f 6620 6120 736f 6c69 642e dary of a solid.\n-00003960: 0a54 6f20 7468 6520 7072 6576 696f 7573 .To the previous\n-00003970: 2065 7861 6d70 6c65 2c20 6c65 7427 7320 example, let's \n-00003980: 6164 6420 7468 7265 6520 6d6f 7265 2074 add three more t\n-00003990: 7269 616e 6775 6c61 7220 706f 6c79 676f riangular polygo\n-000039a0: 6e73 2074 6f0a 6d61 6b65 2074 6865 2066 ns to.make the f\n-000039b0: 6163 6573 206f 6620 616e 2069 7272 6567 aces of an irreg\n-000039c0: 756c 6172 2074 6574 7261 6865 6472 6f6e ular tetrahedron\n-000039d0: 2e0a 2020 2520 7665 7274 6963 6573 206f .. % vertices o\n-000039e0: 6620 7468 6520 7465 7472 6168 6564 726f f the tetrahedro\n-000039f0: 6e0a 2020 6465 6620 7031 2028 302c 302c n. def p1 (0,0,\n-00003a00: 3129 2064 6566 2070 3220 2831 2c30 2c30 1) def p2 (1,0,0\n-00003a10: 290a 2020 6465 6620 7033 2028 302c 312c ). def p3 (0,1,\n-00003a20: 3029 2064 6566 2070 3420 282d 2e33 2c2d 0) def p4 (-.3,-\n-00003a30: 2e35 2c2d 2e38 290a 0a20 2025 2066 6163 .5,-.8).. % fac\n-00003a40: 6573 206f 6620 7468 6520 7465 7472 6168 es of the tetrah\n-00003a50: 6564 726f 6e2e 0a20 2070 6f6c 7967 6f6e edron.. polygon\n-00003a60: 2870 3129 2870 3229 2870 3329 2025 206f (p1)(p2)(p3) % o\n-00003a70: 7269 6769 6e61 6c20 6672 6f6e 7420 706f riginal front po\n-00003a80: 6c79 676f 6e0a 2020 706f 6c79 676f 6e28 lygon. polygon(\n-00003a90: 7031 2928 7034 2928 7032 2920 2520 626f p1)(p4)(p2) % bo\n-00003aa0: 7474 6f6d 0a20 2070 6f6c 7967 6f6e 2870 ttom. polygon(p\n-00003ab0: 3129 2870 3329 2870 3429 2025 206c 6566 1)(p3)(p4) % lef\n-00003ac0: 740a 2020 706f 6c79 676f 6e28 7033 2928 t. polygon(p3)(\n-00003ad0: 7032 2928 7034 2920 2520 7265 6172 0a0a p2)(p4) % rear..\n-00003ae0: 2020 2520 6c69 6e65 2074 6f20 7069 6572 % line to pier\n-00003af0: 6365 2074 6865 2074 6574 7261 6865 6472 ce the tetrahedr\n-00003b00: 6f6e 0a20 206c 696e 655b 6c69 6e65 636f on. line[lineco\n-00003b10: 6c6f 723d 7265 645d 282d 312c 2d31 2c2d lor=red](-1,-1,-\n-00003b20: 3129 2832 2c32 2c32 290a 5468 6973 2065 1)(2,2,2).This e\n-00003b30: 7861 6d70 6c65 2075 7365 7320 e280 9c64 xample uses ...d\n-00003b40: 6566 696e 6974 696f 6e73 e280 9d2c 2077 efinitions..., w\n-00003b50: 6869 6368 2062 6567 696e 2077 6974 6820 hich begin with \n-00003b60: e280 9864 6566 e280 992e 2020 5468 6573 ...def.... Thes\n-00003b70: 6520 e280 9c64 6566 696e 65e2 809d 0a6f e ...define....o\n-00003b80: 7220 6769 7665 206e 616d 6573 2074 6f20 r give names to \n-00003b90: 706f 696e 7473 2c20 7768 6963 6820 6172 points, which ar\n-00003ba0: 6520 7468 656e 2061 7661 696c 6162 6c65 e then available\n-00003bb0: 2061 7320 e280 9c72 6566 6572 656e 6365 as ...reference\n-00003bc0: 73e2 809d 2062 790a 656e 636c 6f73 696e s... by.enclosin\n-00003bd0: 6720 7468 6520 6e61 6d65 7320 696e 2070 g the names in p\n-00003be0: 6172 656e 7468 6573 6573 2c20 652e 672e arentheses, e.g.\n-00003bf0: 2028 666f 6f29 2e20 2054 6865 2070 6172 (foo). The par\n-00003c00: 656e 7468 6573 6573 2064 656e 6f74 650a entheses denote.\n-00003c10: 7468 6174 2074 6865 206e 616d 6573 2072 that the names r\n-00003c20: 6566 6572 2074 6f20 706f 696e 7473 3b20 efer to points; \n-00003c30: 7468 6579 2061 7265 2072 6571 7569 7265 they are require\n-00003c40: 642e 2020 5468 6572 6520 6361 6e20 6265 d. There can be\n-00003c50: 206e 6f0a 7768 6974 6520 7370 6163 6520 no.white space \n-00003c60: 6265 7477 6565 6e20 7468 656d 2061 6e64 between them and\n-00003c70: 2074 6865 206e 616d 652e 0a0a 2020 2041 the name... A\n-00003c80: 7320 796f 7520 6361 6e20 7365 652c 2063 s you can see, c\n-00003c90: 6f6d 6d65 6e74 7320 7374 6172 7420 7769 omments start wi\n-00003ca0: 7468 2025 2061 7320 696e 2054 6558 2061 th % as in TeX a\n-00003cb0: 6e64 2065 7874 656e 6420 746f 2074 6865 nd extend to the\n-00003cc0: 2065 6e64 0a6f 6620 7468 6520 6c69 6e65 end.of the line\n-00003cd0: 2028 7468 6f75 6768 2023 2077 696c 6c20 (though # will \n-00003ce0: 776f 726b 2061 7320 7765 6c6c 292e 2020 work as well). \n-00003cf0: 5768 6974 6520 7370 6163 652c 2069 6e63 White space, inc\n-00003d00: 6c75 6469 6e67 0a73 7061 6365 732c 2074 luding.spaces, t\n-00003d10: 6162 7320 616e 6420 626c 616e 6b20 6c69 abs and blank li\n-00003d20: 6e65 732c 2068 6173 206e 6f20 6566 6665 nes, has no effe\n-00003d30: 6374 2069 6e20 7468 6520 e280 9873 6b65 ct in the ...ske\n-00003d40: 7463 68e2 8099 206c 616e 6775 6167 652e tch... language.\n-00003d50: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=\"\n-00003d60: 6578 3034 302e 706e 6722 2074 6578 743d ex040.png\" text=\n-00003d70: 2249 6d61 6765 2065 7830 3430 206f 6d69 \"Image ex040 omi\n-00003d80: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver\n-00003d90: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc\n-00003da0: 756d 656e 742e 2200 085d 0a0a 4966 2077 ument.\"..]..If w\n-00003db0: 6520 6c6f 6f6b 2069 6e73 6964 6520 7468 e look inside th\n-00003dc0: 6520 5465 5820 6669 6c65 2070 726f 6475 e TeX file produ\n-00003dd0: 6365 6420 6279 20e2 8098 736b 6574 6368 ced by ...sketch\n-00003de0: e280 992c 2074 6865 7265 2077 696c 6c20 ..., there will \n-00003df0: 6265 206f 6e6c 790a 7468 7265 6520 706f be only.three po\n-00003e00: 6c79 676f 6e73 2e20 2054 6865 2066 6f75 lygons. The fou\n-00003e10: 7274 6820 6861 7320 6265 656e 2063 756c rth has been cul\n-00003e20: 6c65 6420 6265 6361 7573 6520 6974 2069 led because it i\n-00003e30: 7320 6120 2262 6163 6b20 6661 6365 220a s a \"back face\".\n-00003e40: 6f66 2074 6865 2074 6574 7261 6865 6472 of the tetrahedr\n-00003e50: 6f6e 2c20 696e 7669 7369 626c 6520 746f on, invisible to\n-00003e60: 206f 7572 2076 6965 772e 2020 4974 2069 our view. It i\n-00003e70: 7320 756e 6e65 6365 7373 6172 792c 2061 s unnecessary, a\n-00003e80: 6e64 2073 6f20 6974 0a69 7320 7265 6d6f nd so it.is remo\n-00003e90: 7665 642e 0a0a 2020 2049 6e20 736f 6d65 ved... In some\n-00003ea0: 2064 7261 7769 6e67 732c 2070 6f6c 7967 drawings, polyg\n-00003eb0: 6f6e 7320 6163 7420 6173 207a 6572 6f2d ons act as zero-\n-00003ec0: 7468 6963 6b6e 6573 7320 736f 6c69 6420 thickness solid \n-00003ed0: 7375 7266 6163 6573 2077 6974 680a 626f surfaces with.bo\n-00003ee0: 7468 2073 6964 6573 2076 6973 6962 6c65 th sides visible\n-00003ef0: 2072 6174 6865 7220 7468 616e 2061 7320 rather than as \n-00003f00: 7468 6520 6661 6365 7320 6f66 2073 6f6c the faces of sol\n-00003f10: 6964 206f 626a 6563 7473 2c20 7768 6572 id objects, wher\n-00003f20: 6520 6261 636b 0a66 6163 6573 2063 616e e back.faces can\n-00003f30: 2062 6520 6375 6c6c 6564 2e20 2046 6f72 be culled. For\n-00003f40: 207a 6572 6f2d 7468 6963 6b6e 6573 7320 zero-thickness \n-00003f50: 736f 6c69 6473 2c20 6375 6c6c 696e 6720 solids, culling \n-00003f60: 6973 2061 2070 726f 626c 656d 2e0a 4f6e is a problem..On\n-00003f70: 6520 736f 6c75 7469 6f6e 2069 7320 746f e solution is to\n-00003f80: 2075 7365 2061 2070 6169 7220 6f66 20e2 use a pair of .\n-00003f90: 8098 736b 6574 6368 e280 9920 706f 6c79 ..sketch... poly\n-00003fa0: 676f 6e73 2066 6f72 2065 6163 680a 7a65 gons for each.ze\n-00003fb0: 726f 2d74 6869 636b 6e65 7373 2066 6163 ro-thickness fac\n-00003fc0: 652c 2069 6465 6e74 6963 616c 2065 7863 e, identical exc\n-00003fd0: 6570 7420 7769 7468 206f 7070 6f73 6974 ept with opposit\n-00003fe0: 6520 7665 7274 6578 206f 7264 6572 732e e vertex orders.\n-00003ff0: 2020 5468 6973 0a69 7320 756e 7769 656c This.is unwiel\n-00004000: 6479 2061 6e64 2065 7870 656e 7369 7665 dy and expensive\n-00004010: 2e20 2041 2062 6574 7465 7220 7761 7920 . A better way \n-00004020: 6973 2074 6f20 7365 7420 7468 6520 e280 is to set the ..\n-00004030: 9873 6b65 7463 68e2 8099 2069 6e74 6572 .sketch... inter\n-00004040: 6e61 6c0a 6f70 7469 6f6e 20e2 8098 6375 nal.option ...cu\n-00004050: 6c6c e280 9920 746f 20e2 8098 6661 6c73 ll... to ...fals\n-00004060: 65e2 8099 2069 6e20 7468 6520 7573 7561 e... in the usua\n-00004070: 6c20 e280 9850 5354 7269 636b 73e2 8099 l ...PSTricks...\n-00004080: 206d 616e 6e65 722e 0a20 2070 6f6c 7967 manner.. polyg\n-00004090: 6f6e 5b63 756c 6c3d 6661 6c73 655d 2870 on[cull=false](p\n-000040a0: 3129 2870 3229 2870 3329 0a54 6865 2066 1)(p2)(p3).The f\n-000040b0: 6f6c 6c6f 7769 6e67 2073 686f 7773 2074 ollowing shows t\n-000040c0: 6865 2073 616d 6520 6865 6c69 7820 7368 he same helix sh\n-000040d0: 6170 6520 6472 6177 6e20 6669 7273 7420 ape drawn first \n-000040e0: 7769 7468 2063 756c 6c3d 7472 7565 2028 with cull=true (\n-000040f0: 7468 650a 6465 6661 756c 7429 2061 6e64 the.default) and\n-00004100: 2074 6865 6e20 6375 6c6c 3d66 616c 7365 then cull=false\n-00004110: 2e0a 0a00 085b 696d 6167 6520 7372 633d .....[image src=\n-00004120: 2265 7830 3435 2e70 6e67 2220 7465 7874 \"ex045.png\" text\n-00004130: 3d22 496d 6167 6520 6578 3034 3520 6f6d =\"Image ex045 om\n-00004140: 6974 7465 6420 696e 2074 6578 7420 7665 itted in text ve\n-00004150: 7273 696f 6e20 6f66 2074 6869 7320 646f rsion of this do\n-00004160: 6375 6d65 6e74 2e22 0008 5d0a 0a57 6527 cument.\"..]..We'\n-00004170: 6c6c 2073 6f6f 6e20 7365 6520 686f 7720 ll soon see how \n-00004180: 746f 2070 726f 6475 6365 2074 6865 7365 to produce these\n-00004190: 2068 656c 6978 6573 2077 6974 6820 6120 helixes with a \n-000041a0: 6665 7720 6c69 6e65 7320 6f66 20e2 8098 few lines of ...\n-000041b0: 736b 6574 6368 e280 990a 6c61 6e67 7561 sketch....langua\n-000041c0: 6765 2063 6f64 652e 0a0a 2020 2049 7420 ge code... It \n-000041d0: 6d61 7920 6265 2074 656d 7074 696e 6720 may be tempting \n-000041e0: 746f 2074 7572 6e20 6375 6c6c 696e 6720 to turn culling \n-000041f0: 6f66 6620 6772 6174 7569 746f 7573 6c79 off gratuitously\n-00004200: 2073 6f20 7468 6174 2076 6572 7465 780a so that vertex.\n-00004210: 6f72 6465 7220 6361 6e20 6265 2069 676e order can be ign\n-00004220: 6f72 6564 2e20 2054 6869 7320 6973 206e ored. This is n\n-00004230: 6f74 2061 2067 6f6f 6420 6964 6561 2062 ot a good idea b\n-00004240: 6563 6175 7365 206f 7574 7075 7420 6669 ecause output fi\n-00004250: 6c65 2073 697a 650a 616e 6420 5465 5820 le size.and TeX \n-00004260: 616e 6420 506f 7374 7363 7269 7074 2070 and Postscript p\n-00004270: 726f 6365 7373 696e 6720 7469 6d65 2062 rocessing time b\n-00004280: 6f74 6820 6465 7065 6e64 206f 6e20 7468 oth depend on th\n-00004290: 6520 6e75 6d62 6572 206f 660a 6f75 7470 e number of.outp\n-000042a0: 7574 2070 6f6c 7967 6f6e 732e 2020 4375 ut polygons. Cu\n-000042b0: 6c6c 696e 6720 7573 7561 6c6c 7920 696d lling usually im\n-000042c0: 7072 6f76 6573 2070 6572 666f 726d 616e proves performan\n-000042d0: 6365 2062 7920 6120 6661 6374 6f72 206f ce by a factor o\n-000042e0: 660a 7477 6f2e 2020 4f6e 2074 6865 206f f.two. On the o\n-000042f0: 7468 6572 2068 616e 642c 2067 6c6f 6261 ther hand, globa\n-00004300: 6c6c 7920 7365 7474 696e 6720 e280 9863 lly setting ...c\n-00004310: 756c 6c3d 6661 6c73 65e2 8099 2069 7320 ull=false... is \n-00004320: 7265 6173 6f6e 6162 6c65 0a77 6869 6c65 reasonable.while\n-00004330: 2064 6562 7567 6769 6e67 2e20 2053 6565 debugging. See\n-00004340: 202a 6e6f 7465 2047 6c6f 6261 6c20 6f70 *note Global op\n-00004350: 7469 6f6e 733a 3a20 616e 6420 2a6e 6f74 tions:: and *not\n-00004360: 6520 4c69 6d69 7473 206f 6e20 6572 726f e Limits on erro\n-00004370: 720a 6465 7465 6374 696f 6e3a 3a2e 0a0a r.detection::...\n-00004380: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-00004390: 6e66 6f2c 2020 4e6f 6465 3a20 5370 6563 nfo, Node: Spec\n-000043a0: 6961 6c20 6f62 6a65 6374 732c 2020 4e65 ial objects, Ne\n-000043b0: 7874 3a20 4f62 6a65 6374 2074 7261 6e73 xt: Object trans\n-000043c0: 666f 726d 732c 2020 5072 6576 3a20 4472 forms, Prev: Dr\n-000043d0: 6177 696e 6720 6120 736f 6c69 642c 2020 awing a solid, \n-000043e0: 5570 3a20 496e 7472 6f64 7563 7469 6f6e Up: Introduction\n-000043f0: 2062 7920 6578 616d 706c 650a 0a32 2e34 by example..2.4\n-00004400: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects\n-00004410: 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d .===============\n-00004420: 3d3d 3d3d 0a0a 5765 2063 616e 2061 6464 ====..We can add\n-00004430: 206c 6162 656c 7320 746f 2061 2064 7261 labels to a dra\n-00004440: 7769 6e67 2062 7920 7573 696e 6720 7370 wing by using sp\n-00004450: 6563 6961 6c20 6f62 6a65 6374 732c 2077 ecial objects, w\n-00004460: 6869 6368 2070 726f 7669 6465 2061 0a77 hich provide a.w\n-00004470: 6179 2074 6f20 656d 6265 6420 7261 7720 ay to embed raw \n-00004480: 4c61 5465 5820 616e 6420 e280 9850 5354 LaTeX and ...PST\n-00004490: 7269 636b 73e2 8099 2063 6f64 652e 2020 ricks... code. \n-000044a0: 4164 6469 6e67 2074 6869 7320 746f 2074 Adding this to t\n-000044b0: 6865 0a74 6574 7261 6865 6472 6f6e 2064 he.tetrahedron d\n-000044c0: 6f65 7320 7468 6520 7472 6963 6b2e 0a20 oes the trick.. \n-000044d0: 2073 7065 6369 616c 207c 5c66 6f6f 746e special |\\footn\n-000044e0: 6f74 6573 697a 650a 2020 2020 2020 2020 otesize. \n-000044f0: 2020 205c 7570 7574 7b32 7074 7d5b 7572 \\uput{2pt}[ur\n-00004500: 5d23 317b 2450 3124 7d0a 2020 2020 2020 ]#1{$P1$}. \n-00004510: 2020 2020 205c 7570 7574 5b72 5d23 327b \\uput[r]#2{\n-00004520: 2450 3224 7d0a 2020 2020 2020 2020 2020 $P2$}. \n-00004530: 205c 7570 7574 5b75 5d23 337b 2450 3324 \\uput[u]#3{$P3$\n-00004540: 7d0a 2020 2020 2020 2020 2020 205c 7570 }. \\up\n-00004550: 7574 5b64 5d23 347b 2450 3424 7d7c 0a20 ut[d]#4{$P4$}|. \n-00004560: 2020 2028 7031 2928 7032 2928 7033 2928 (p1)(p2)(p3)(\n-00004570: 7034 290a 4865 7265 2069 7320 7468 6520 p4).Here is the \n-00004580: 7265 7375 6c74 2e0a 0a00 085b 696d 6167 result.....[imag\n-00004590: 6520 7372 633d 2265 7830 3432 2e70 6e67 e src=\"ex042.png\n-000045a0: 2220 7465 7874 3d22 496d 6167 6520 6578 \" text=\"Image ex\n-000045b0: 3034 3220 6f6d 6974 7465 6420 696e 2074 042 omitted in t\n-000045c0: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t\n-000045d0: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.\"..\n-000045e0: 5d0a 0a20 2020 5468 6572 6520 6172 6520 ].. There are \n-000045f0: 7365 7665 7261 6c20 6465 7461 696c 7320 several details \n-00004600: 746f 206e 6f74 6520 6865 7265 2e20 2046 to note here. F\n-00004610: 6972 7374 2c20 7468 6520 7175 6f74 696e irst, the quotin\n-00004620: 670a 636f 6e76 656e 7469 6f6e 2066 6f72 g.convention for\n-00004630: 2074 6865 2072 6177 2063 6f64 6520 6973 the raw code is\n-00004640: 2073 696d 696c 6172 2074 6f20 7468 6520 similar to the \n-00004650: 4c61 5465 5820 5c76 6572 6220 636f 6d6d LaTeX \\verb comm\n-00004660: 616e 642e 2020 5468 650a 6669 7273 7420 and. The.first \n-00004670: 6e6f 6e2d 7768 6974 6520 7370 6163 6520 non-white space \n-00004680: 6368 6172 6163 7465 7220 666f 6c6c 6f77 character follow\n-00004690: 696e 6720 7370 6563 6961 6c20 6973 2075 ing special is u\n-000046a0: 6e64 6572 7374 6f6f 6420 746f 2062 650a nderstood to be.\n-000046b0: 7468 6520 7175 6f74 6520 6368 6172 6163 the quote charac\n-000046c0: 7465 722c 2069 6e20 7468 6973 2063 6173 ter, in this cas\n-000046d0: 6520 e280 987c e280 992e 2020 5468 6520 e ...|.... The \n-000046e0: 7261 7720 7465 7874 2063 6f6e 7469 6e75 raw text continu\n-000046f0: 6573 2075 6e74 696c 0a74 6869 7320 6368 es until.this ch\n-00004700: 6172 6163 7465 7220 7265 6375 7273 2e0a aracter recurs..\n-00004710: 0a20 2020 5365 636f 6e64 2c20 7468 6520 . Second, the \n-00004720: 6172 6775 6d65 6e74 2072 6566 6572 656e argument referen\n-00004730: 6365 7320 2331 2c20 2332 2c20 2333 2c20 ces #1, #2, #3, \n-00004740: 616e 6420 2334 2072 6566 6572 2074 6f20 and #4 refer to \n-00004750: 706f 696e 742c 0a76 6563 746f 722c 206f point,.vector, o\n-00004760: 7220 7363 616c 6172 2076 616c 7565 7320 r scalar values \n-00004770: 696e 2074 6865 206c 6973 7420 7468 6174 in the list that\n-00004780: 2066 6f6c 6c6f 772e 2020 5468 6973 2069 follow. This i\n-00004790: 7320 7369 6d69 6c61 7220 746f 0a54 6558 s similar to.TeX\n-000047a0: 206d 6163 726f 2073 796e 7461 782e 2020 macro syntax. \n-000047b0: 5468 6520 7472 616e 7366 6f72 6d65 6420 The transformed \n-000047c0: 616e 6420 7477 6f2d 6469 6d65 6e73 696f and two-dimensio\n-000047d0: 6e61 6c20 7072 6f6a 6563 7469 6f6e 7320 nal projections \n-000047e0: 6f66 0a74 6865 7365 2074 6872 6565 2d64 of.these three-d\n-000047f0: 696d 656e 7369 6f6e 616c 2070 6f69 6e74 imensional point\n-00004800: 7320 6172 6520 7375 6273 7469 7475 7465 s are substitute\n-00004810: 6420 696e 2074 6865 2066 696e 616c 206f d in the final o\n-00004820: 7574 7075 742e 2020 416e 0a61 7267 756d utput. An.argum\n-00004830: 656e 7420 7265 6665 7265 6e63 6520 6f66 ent reference of\n-00004840: 2074 6865 2066 6f72 6d20 2331 2d32 2069 the form #1-2 i\n-00004850: 7320 7265 706c 6163 6564 2077 6974 6820 s replaced with \n-00004860: 7468 6520 616e 676c 6520 696e 0a64 6567 the angle in.deg\n-00004870: 7265 6573 206f 6620 7468 6520 7477 6f2d rees of the two-\n-00004880: 6469 6d65 6e73 696f 6e61 6c20 7665 6374 dimensional vect\n-00004890: 6f72 2074 6861 7420 636f 6e6e 6563 7473 or that connects\n-000048a0: 2074 6865 2070 726f 6a65 6374 696f 6e73 the projections\n-000048b0: 206f 660a 7468 6520 7477 6f20 7265 7370 of.the two resp\n-000048c0: 6563 7469 7665 2061 7267 756d 656e 7420 ective argument \n-000048d0: 706f 696e 7473 2c20 6865 7265 2023 3120 points, here #1 \n-000048e0: 616e 6420 2332 2e20 2054 6865 2073 7562 and #2. The sub\n-000048f0: 7374 6974 7574 6564 0a61 6e67 6c65 2069 stituted.angle i\n-00004900: 7320 656e 636c 6f73 6564 2069 6e20 6375 s enclosed in cu\n-00004910: 726c 7920 6272 6163 6573 20e2 8098 7b20 rly braces ...{ \n-00004920: 7de2 8099 2e20 2057 6865 6e20 e280 9854 }.... When ...T\n-00004930: 696b 5a2f 5047 46e2 8099 206f 7574 7075 ikZ/PGF... outpu\n-00004940: 7420 6973 0a62 6569 6e67 2067 656e 6572 t is.being gener\n-00004950: 6174 6564 2c20 7468 6520 616e 676c 6520 ated, the angle \n-00004960: 6973 2072 6f75 6e64 6564 2074 6f20 7468 is rounded to th\n-00004970: 6520 6e65 6172 6573 7420 6465 6772 6565 e nearest degree\n-00004980: 2062 6563 6175 7365 0a6e 6f6e 2d69 6e74 because.non-int\n-00004990: 6567 6572 2061 6e67 6c65 7320 6172 6520 eger angles are \n-000049a0: 6e6f 7420 616c 6c6f 7765 6420 6279 20e2 not allowed by .\n-000049b0: 8098 5469 6b5a 2f50 4746 e280 9920 7072 ..TikZ/PGF... pr\n-000049c0: 696d 6974 6976 6573 2e0a 0a20 2020 4173 imitives... As\n-000049d0: 206f 6620 5665 7273 696f 6e20 302e 3320 of Version 0.3 \n-000049e0: 6f66 20e2 8098 736b 6574 6368 e280 992c of ...sketch...,\n-000049f0: 2073 7065 6369 616c 2061 7267 756d 656e special argumen\n-00004a00: 7473 206d 6179 2062 6520 7363 616c 6172 ts may be scalar\n-00004a10: 7320 6f72 0a76 6563 746f 7273 2069 6e20 s or.vectors in \n-00004a20: 6164 6469 7469 6f6e 2074 6f20 706f 696e addition to poin\n-00004a30: 7473 2e20 2052 6566 6572 656e 6365 7320 ts. References \n-00004a40: 746f 2073 6361 6c61 7220 6172 6775 6d65 to scalar argume\n-00004a50: 6e74 7320 6172 650a 6d65 7265 6c79 2072 nts are.merely r\n-00004a60: 6570 6c61 6365 6420 7769 7468 2061 206e eplaced with a n\n-00004a70: 756d 6265 7220 666f 726d 6174 7465 6420 umber formatted \n-00004a80: 6a75 7374 2061 7320 616e 7920 706f 696e just as any poin\n-00004a90: 7420 636f 6f72 6469 6e61 7465 2e0a 5265 t coordinate..Re\n-00004aa0: 6665 7265 6e63 6573 2074 6f20 7665 6374 ferences to vect\n-00004ab0: 6f72 7320 6265 636f 6d65 2074 776f 2d64 ors become two-d\n-00004ac0: 696d 656e 7369 6f6e 616c 2070 6f69 6e74 imensional point\n-00004ad0: 732e 2020 5468 6520 7469 636b 206f 7065 s. The tick ope\n-00004ae0: 7261 746f 720a 7468 6174 2073 656c 6563 rator.that selec\n-00004af0: 7473 2069 6e64 6976 6964 7561 6c20 636f ts individual co\n-00004b00: 6d70 6f6e 656e 7473 206f 6620 706f 696e mponents of poin\n-00004b10: 7473 2061 6e64 2076 6563 746f 7273 2065 ts and vectors e\n-00004b20: 6c73 6577 6865 7265 2069 6e0a e280 9873 lsewhere in....s\n-00004b30: 6b65 7463 68e2 8099 2028 7365 6520 666f ketch... (see fo\n-00004b40: 7220 6578 616d 706c 6520 2a6e 6f74 6520 r example *note \n-00004b50: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti\n-00004b60: 633a 3a29 2063 616e 2061 6c73 6f20 6265 c::) can also be\n-00004b70: 2061 7070 6c69 6564 0a74 6f20 706f 696e applied.to poin\n-00004b80: 7420 616e 6420 7665 6374 6f72 2061 7267 t and vector arg\n-00004b90: 756d 656e 7420 7265 6665 7265 6e63 6573 ument references\n-00004ba0: 2e20 2041 6c6c 2074 6872 6565 2064 696d . All three dim\n-00004bb0: 656e 7369 6f6e 7320 6f66 2061 0a74 7261 ensions of a.tra\n-00004bc0: 6e73 666f 726d 6564 2070 6f69 6e74 206f nsformed point o\n-00004bd0: 7220 7665 6374 6f72 2063 616e 2061 6c73 r vector can als\n-00004be0: 6f20 6265 2073 7562 7374 6974 7565 6420 o be substitued \n-00004bf0: 7769 7468 20e2 8098 2733 e280 992e 2020 with ...'3.... \n-00004c00: 5365 6520 2a6e 6f74 650a 5370 6563 6961 See *note.Specia\n-00004c10: 6c73 3a3a 2066 6f72 2064 6574 6169 6c73 ls:: for details\n-00004c20: 2e0a 0a20 2020 4279 2064 6566 6175 6c74 ... By default\n-00004c30: 2c20 e280 9873 7065 6369 616c e280 9920 , ...special... \n-00004c40: 6f62 6a65 6374 7320 6172 6520 7072 696e objects are prin\n-00004c50: 7465 6420 6c61 7374 2c20 6f76 6572 6c61 ted last, overla\n-00004c60: 7969 6e67 2061 6c6c 206f 7468 6572 0a6f ying all other.o\n-00004c70: 626a 6563 7473 2069 6e20 7468 6520 7363 bjects in the sc\n-00004c80: 656e 652e 2020 4966 2079 6f75 2073 7065 ene. If you spe\n-00004c90: 6369 6679 2074 6865 2069 6e74 6572 6e61 cify the interna\n-00004ca0: 6c20 6f70 7469 6f6e 20e2 8098 6c61 793d l option ...lay=\n-00004cb0: 696e e280 992c 2074 6865 0a68 6964 6465 in..., the.hidde\n-00004cc0: 6e20 7375 7266 6163 6520 616c 676f 7269 n surface algori\n-00004cd0: 7468 6d20 636f 6e73 6964 6572 7320 7468 thm considers th\n-00004ce0: 6520 656e 7469 7265 2073 7065 6369 616c e entire special\n-00004cf0: 206f 626a 6563 7420 746f 2062 6520 7468 object to be th\n-00004d00: 650a 6669 7273 7420 706f 696e 7420 2823 e.first point (#\n-00004d10: 3129 2069 6e20 7468 6520 6172 6775 6d65 1) in the argume\n-00004d20: 6e74 206c 6973 742e 2020 4966 2074 6861 nt list. If tha\n-00004d30: 7420 706f 696e 7420 6973 2062 6568 696e t point is behin\n-00004d40: 6420 286f 660a 736d 616c 6c65 7220 7a2d d (of.smaller z-\n-00004d50: 636f 6d70 6f6e 656e 7420 7468 616e 2920 component than) \n-00004d60: 616e 7920 6472 6177 6162 6c65 2c20 7468 any drawable, th\n-00004d70: 656e 2074 6865 2065 6e74 6972 6520 7370 en the entire sp\n-00004d80: 6563 6961 6c20 6f62 6a65 6374 0a69 7320 ecial object.is \n-00004d90: 6472 6177 6e20 6265 666f 7265 2074 6861 drawn before tha\n-00004da0: 7420 6472 6177 6162 6c65 2c20 736f 2074 t drawable, so t\n-00004db0: 6865 2064 7261 7761 626c 6520 6f62 7363 he drawable obsc\n-00004dc0: 7572 6573 2070 6172 7473 206f 6620 7468 ures parts of th\n-00004dd0: 650a 7370 6563 6961 6c20 6f62 6a65 6374 e.special object\n-00004de0: 2074 6861 7420 6f76 6572 6c61 7073 2069 that overlaps i\n-00004df0: 742e 2020 496e 206f 7572 2065 7861 6d70 t. In our examp\n-00004e00: 6c65 2c20 7031 2069 7320 7468 6520 6672 le, p1 is the fr\n-00004e10: 6f6e 742d 6d6f 7374 0a70 6f69 6e74 2069 ont-most.point i\n-00004e20: 6e20 7468 6520 7363 656e 6520 2868 6173 n the scene (has\n-00004e30: 2074 6865 206c 6172 6765 7374 207a 2d63 the largest z-c\n-00004e40: 6f6d 706f 6e65 6e74 292c 2073 6f20 6164 omponent), so ad\n-00004e50: 6469 6e67 20e2 8098 6c61 793d 696e e280 ding ...lay=in..\n-00004e60: 9920 6861 730a 6e6f 2065 6666 6563 742e . has.no effect.\n-00004e70: 0a0a 2020 2057 6974 6820 6f70 7469 6f6e .. With option\n-00004e80: 20e2 8098 6c61 793d 756e 6465 72e2 8099 ...lay=under...\n-00004e90: 2c20 6120 7370 6563 6961 6c20 6973 2064 , a special is d\n-00004ea0: 7261 776e 205f 6265 666f 7265 5f2c 2068 rawn _before_, h\n-00004eb0: 656e 6365 2061 7070 6561 7273 0a5f 756e ence appears._un\n-00004ec0: 6465 725f 2061 6e79 206f 6620 7468 6520 der_ any of the \n-00004ed0: 6f62 6a65 6374 7320 6861 6e64 6c65 6420 objects handled \n-00004ee0: 6279 2074 6865 2068 6964 6465 6e20 7375 by the hidden su\n-00004ef0: 7266 6163 6520 616c 676f 7269 7468 6d2e rface algorithm.\n-00004f00: 0a54 6869 7320 6973 2068 6f77 2074 6865 .This is how the\n-00004f10: 206c 6967 6874 2067 7261 7920 6178 6573 light gray axes\n-00004f20: 2077 6572 6520 6164 6465 6420 746f 2074 were added to t\n-00004f30: 6865 2022 6865 6c6c 6f20 776f 726c 6422 he \"hello world\"\n-00004f40: 2065 7861 6d70 6c65 0a2a 6e6f 7465 2048 example.*note H\n-00004f50: 656c 6c6f 2077 6f72 6c64 3a3a 2e0a 0a20 ello world::... \n-00004f60: 2020 5370 6563 6961 6c20 6f62 6a65 6374 Special object\n-00004f70: 7320 6172 6520 706f 7765 7266 756c 2c20 s are powerful, \n-00004f80: 7769 7468 206d 616e 7920 706f 7373 6962 with many possib\n-00004f90: 6c65 2075 7365 732e 0a0a 1f0a 4669 6c65 le uses.....File\n-00004fa0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n-00004fb0: 4e6f 6465 3a20 4f62 6a65 6374 2074 7261 Node: Object tra\n-00004fc0: 6e73 666f 726d 732c 2020 4e65 7874 3a20 nsforms, Next: \n-00004fd0: 5265 7065 6174 6564 206f 626a 6563 7473 Repeated objects\n-00004fe0: 2c20 2050 7265 763a 2053 7065 6369 616c , Prev: Special\n-00004ff0: 206f 626a 6563 7473 2c20 2055 703a 2049 objects, Up: I\n-00005000: 6e74 726f 6475 6374 696f 6e20 6279 2065 ntroduction by e\n-00005010: 7861 6d70 6c65 0a0a 322e 3520 5472 616e xample..2.5 Tran\n-00005020: 7366 6f72 6d73 0a3d 3d3d 3d3d 3d3d 3d3d sforms.=========\n-00005030: 3d3d 3d3d 3d0a 0a4e 6f77 206c 6574 2773 =====..Now let's\n-00005040: 2061 6464 2061 2073 6563 6f6e 6420 636f add a second co\n-00005050: 7079 206f 6620 7468 6520 7069 6572 6365 py of the pierce\n-00005060: 6420 7465 7472 6168 6564 726f 6e2e 2020 d tetrahedron. \n-00005070: 5765 276c 6c20 726f 7461 7465 0a74 6865 We'll rotate.the\n-00005080: 2063 6f70 7920 3930 2064 6567 7265 6573 copy 90 degrees\n-00005090: 2061 626f 7574 2074 6865 2078 2d61 7869 about the x-axi\n-000050a0: 7320 7769 7468 2074 6865 206f 7269 6769 s with the origi\n-000050b0: 6e20 6173 20e2 809c 6365 6e74 6572 206f n as ...center o\n-000050c0: 660a 726f 7461 7469 6f6e e280 9d20 736f f.rotation... so\n-000050d0: 2077 6520 6361 6e20 7365 6520 7468 6520 we can see the \n-000050e0: 6261 636b 2c20 7468 656e 2074 7261 6e73 back, then trans\n-000050f0: 6c61 7465 2069 7420 746f 2074 6865 2072 late it to the r\n-00005100: 6967 6874 2d2d 696e 2074 6865 0a70 6f73 ight--in the.pos\n-00005110: 6974 6976 6520 782d 6469 7265 6374 696f itive x-directio\n-00005120: 6e2d 2d73 6f20 6974 2064 6f65 736e 2774 n--so it doesn't\n-00005130: 2063 6f6c 6c69 6465 2077 6974 6820 7468 collide with th\n-00005140: 6520 6f72 6967 696e 616c 2e20 2054 6f20 e original. To \n-00005150: 6865 6c70 0a75 7320 7365 6520 7768 6174 help.us see what\n-00005160: 2773 2067 6f69 6e67 206f 6e2c 206d 616b 's going on, mak\n-00005170: 6520 7468 6520 6261 636b 2073 6964 6520 e the back side \n-00005180: 6772 6179 2e0a 2020 6465 6620 7069 6572 gray.. def pier\n-00005190: 6365 645f 7465 7472 6168 6564 726f 6e20 ced_tetrahedron \n-000051a0: 7b0a 2020 2020 6465 6620 7031 2028 302c {. def p1 (0,\n-000051b0: 302c 3129 2064 6566 2070 3220 2831 2c30 0,1) def p2 (1,0\n-000051c0: 2c30 290a 2020 2020 6465 6620 7033 2028 ,0). def p3 (\n-000051d0: 302c 312c 3029 2064 6566 2070 3420 282d 0,1,0) def p4 (-\n-000051e0: 2e33 2c2d 2e35 2c2d 2e38 290a 2020 2020 .3,-.5,-.8). \n-000051f0: 706f 6c79 676f 6e28 7031 2928 7032 2928 polygon(p1)(p2)(\n-00005200: 7033 2920 2020 2020 2020 2020 2020 2020 p3) \n-00005210: 2020 2020 2020 2020 2025 206f 7269 6769 % origi\n-00005220: 6e61 6c0a 2020 2020 706f 6c79 676f 6e28 nal. polygon(\n-00005230: 7031 2928 7034 2928 7032 2920 2020 2020 p1)(p4)(p2) \n-00005240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00005250: 2025 2062 6f74 746f 6d0a 2020 2020 706f % bottom. po\n-00005260: 6c79 676f 6e28 7031 2928 7033 2928 7034 lygon(p1)(p3)(p4\n-00005270: 2920 2020 2020 2020 2020 2020 2020 2020 ) \n-00005280: 2020 2020 2020 2025 206c 6566 740a 2020 % left. \n-00005290: 2020 706f 6c79 676f 6e5b 6669 6c6c 636f polygon[fillco\n-000052a0: 6c6f 723d 6c69 6768 7467 7261 795d 2870 lor=lightgray](p\n-000052b0: 3329 2870 3229 2870 3429 2025 2072 6561 3)(p2)(p4) % rea\n-000052c0: 720a 2020 2020 6c69 6e65 5b6c 696e 6563 r. line[linec\n-000052d0: 6f6c 6f72 3d72 6564 5d28 2d31 2c2d 312c olor=red](-1,-1,\n-000052e0: 2d31 2928 322c 322c 3229 0a20 207d 0a20 -1)(2,2,2). }. \n-000052f0: 207b 7069 6572 6365 645f 7465 7472 6168 {pierced_tetrah\n-00005300: 6564 726f 6e7d 2020 2520 7465 7472 6168 edron} % tetrah\n-00005310: 6564 726f 6e20 696e 206f 7269 6769 6e61 edron in origina\n-00005320: 6c20 706f 7369 7469 6f6e 0a20 2070 7574 l position. put\n-00005330: 207b 2072 6f74 6174 6528 3930 2c20 2830 { rotate(90, (0\n-00005340: 2c30 2c30 292c 205b 312c 302c 305d 2920 ,0,0), [1,0,0]) \n-00005350: 2520 636f 7079 2069 6e20 6e65 7720 706f % copy in new po\n-00005360: 7369 7469 6f6e 0a20 2020 2020 2020 2074 sition. t\n-00005370: 6865 6e20 7472 616e 736c 6174 6528 5b32 hen translate([2\n-00005380: 2e35 2c30 2c30 5d29 207d 207b 7069 6572 .5,0,0]) } {pier\n-00005390: 6365 645f 7465 7472 6168 6564 726f 6e7d ced_tetrahedron}\n-000053a0: 0a48 6572 6520 7468 6520 656e 7469 7265 .Here the entire\n-000053b0: 2063 6f64 6520 6f66 2074 6865 2070 7265 code of the pre\n-000053c0: 7669 6f75 7320 6578 616d 706c 6520 6861 vious example ha\n-000053d0: 7320 6265 656e 2077 7261 7070 6564 2069 s been wrapped i\n-000053e0: 6e20 610a 6465 6669 6e69 7469 6f6e 2062 n a.definition b\n-000053f0: 7920 666f 726d 696e 6720 6120 e280 9c62 y forming a ...b\n-00005400: 6c6f 636b e280 9d20 7769 7468 2062 7261 lock... with bra\n-00005410: 6365 7320 2861 2073 696e 676c 6520 6974 ces (a single it\n-00005420: 656d 2077 6f75 6c64 206e 6f74 0a6e 6565 em would not.nee\n-00005430: 6420 7468 656d 292e 2020 5468 6520 706f d them). The po\n-00005440: 696e 7420 6465 6669 6e69 7469 6f6e 7320 int definitions \n-00005450: 6e65 7374 6564 2069 6e73 6964 6520 7468 nested inside th\n-00005460: 6520 6272 6163 6573 2061 7265 0ae2 809c e braces are....\n-00005470: 6c65 7869 6361 6c6c 7920 7363 6f70 6564 lexically scoped\n-00005480: e280 9d2e 2020 5468 6569 7220 6d65 616e .... Their mean\n-00005490: 696e 6720 6578 7465 6e64 7320 6f6e 6c79 ing extends only\n-000054a0: 2074 6f20 7468 6520 656e 6420 6f66 2074 to the end of t\n-000054b0: 6865 2062 6c6f 636b 2e0a 5468 6520 6f75 he block..The ou\n-000054c0: 7465 7220 6465 6620 6973 2063 616c 6c65 ter def is calle\n-000054d0: 6420 6120 e280 9c64 7261 7761 626c 65e2 d a ...drawable.\n-000054e0: 809d 2064 6566 696e 6974 696f 6e20 6265 .. definition be\n-000054f0: 6361 7573 6520 6974 2064 6573 6372 6962 cause it describ\n-00005500: 6573 0a73 6f6d 6574 6869 6e67 2074 6861 es.something tha\n-00005510: 7420 6361 6e20 6265 2064 7261 776e 2e0a t can be drawn..\n-00005520: 0a20 2020 4120 6472 6177 6162 6c65 2064 . A drawable d\n-00005530: 6566 696e 6974 696f 6e20 6279 2069 7473 efinition by its\n-00005540: 656c 6620 6361 7573 6573 206e 6f74 6869 elf causes nothi\n-00005550: 6e67 2074 6f20 6861 7070 656e 2075 6e74 ng to happen unt\n-00005560: 696c 2069 7473 0a6e 616d 6520 6973 2072 il its.name is r\n-00005570: 6566 6572 656e 6365 642e 2020 4472 6177 eferenced. Draw\n-00005580: 6162 6c65 2072 6566 6572 656e 6365 7320 able references \n-00005590: 6d75 7374 2062 6520 656e 636c 6f73 6564 must be enclosed\n-000055a0: 2069 6e20 6375 726c 790a 6272 6163 6573 in curly.braces\n-000055b0: 2c20 652e 672e 207b 666f 6f7d 2c20 7769 , e.g. {foo}, wi\n-000055c0: 7468 206e 6f20 696e 7465 7276 656e 696e th no intervenin\n-000055d0: 6720 7768 6974 6520 7370 6163 652e 2020 g white space. \n-000055e0: 496e 2074 6865 2063 6f64 6520 6162 6f76 In the code abov\n-000055f0: 652c 0a74 6865 2066 6972 7374 2072 6566 e,.the first ref\n-00005600: 6572 656e 6365 207b 7069 6572 6365 645f erence {pierced_\n-00005610: 7465 7472 6168 6564 726f 6e7d 2069 7320 tetrahedron} is \n-00005620: 6120 706c 6169 6e20 6f6e 652e 2020 4974 a plain one. It\n-00005630: 7320 6566 6665 6374 2069 730a 6d65 7265 s effect is.mere\n-00005640: 6c79 2074 6f20 6475 706c 6963 6174 6520 ly to duplicate \n-00005650: 7468 6520 6561 726c 6965 7220 6472 6177 the earlier draw\n-00005660: 696e 672e 2020 416c 6d6f 7374 2061 6e79 ing. Almost any\n-00005670: 2073 6572 6965 7320 6f66 20e2 8098 736b series of ...sk\n-00005680: 6574 6368 e280 990a 636f 6d6d 616e 6473 etch....commands\n-00005690: 2073 7475 6666 206d 6179 2062 6520 7265 stuff may be re\n-000056a0: 706c 6163 6564 2077 6974 6820 6465 6620 placed with def \n-000056b0: 666f 6f20 7b20 7374 7566 6620 7d20 7b66 foo { stuff } {f\n-000056c0: 6f6f 7d20 7769 7468 6f75 740a 6368 616e oo} without.chan\n-000056d0: 6769 6e67 2069 7473 206d 6561 6e69 6e67 ging its meaning\n-000056e0: 2e0a 0a20 2020 5468 6520 7075 7420 636f ... The put co\n-000056f0: 6d6d 616e 6420 7375 7070 6c69 6573 2061 mmand supplies a\n-00005700: 2073 6563 6f6e 6420 7265 6665 7265 6e63 second referenc\n-00005710: 652c 2074 6869 7320 7469 6d65 2077 6974 e, this time wit\n-00005720: 6820 610a e280 9c74 7261 6e73 666f 726d h a....transform\n-00005730: e280 9d20 6170 706c 6965 6420 6669 7273 ... applied firs\n-00005740: 742e 2020 5468 6520 726f 7461 7465 2074 t. The rotate t\n-00005750: 7261 6e73 666f 726d 2074 7572 6e73 2074 ransform turns t\n-00005760: 6865 2074 6574 7261 6865 6472 6f6e 0a39 he tetrahedron.9\n-00005770: 3020 6465 6772 6565 7320 6162 6f75 7420 0 degrees about \n-00005780: 7468 6520 6f72 6967 696e 2e20 2054 6865 the origin. The\n-00005790: 2061 7869 7320 6f66 2072 6f74 6174 696f axis of rotatio\n-000057a0: 6e20 6973 2074 6865 2076 6563 746f 720a n is the vector.\n-000057b0: 5b31 2c30 2c30 5d2e 2020 4279 2074 6865 [1,0,0]. By the\n-000057c0: 20e2 809c 7269 6768 7420 6861 6e64 2072 ...right hand r\n-000057d0: 756c 65e2 809d 2c20 7468 6973 2063 6175 ule..., this cau\n-000057e0: 7365 7320 7468 6520 746f 7020 6f66 2074 ses the top of t\n-000057f0: 6865 0a74 6574 7261 6865 6472 6f6e 2074 he.tetrahedron t\n-00005800: 6f20 726f 7461 7465 2074 6f77 6172 6420 o rotate toward \n-00005810: 7468 6520 7669 6577 6572 2061 6e64 2074 the viewer and t\n-00005820: 6865 2062 6f74 746f 6d20 6177 6179 2e20 he bottom away. \n-00005830: 2054 6865 2072 756c 650a 7265 6365 6976 The rule.receiv\n-00005840: 6573 2069 7473 206e 616d 6520 6672 6f6d es its name from\n-00005850: 2074 6865 2066 6f6c 6c6f 7769 6e67 2064 the following d\n-00005860: 6566 696e 6974 696f 6e3a 0a20 2020 2020 efinition:. \n-00005870: 2a52 6967 6874 2068 616e 6420 7275 6c65 *Right hand rule\n-00005880: 2e2a 2020 4966 2074 6865 2072 6967 6874 .* If the right\n-00005890: 2068 616e 6420 6973 2077 7261 7070 6564 hand is wrapped\n-000058a0: 2061 726f 756e 6420 616e 7920 6178 6973 around any axis\n-000058b0: 0a20 2020 2020 7769 7468 2074 6865 2074 . with the t\n-000058c0: 6875 6d62 2070 6f69 6e74 696e 6720 696e humb pointing in\n-000058d0: 2074 6865 2061 7869 7320 6469 7265 6374 the axis direct\n-000058e0: 696f 6e2c 2074 6865 6e20 7468 6520 6669 ion, then the fi\n-000058f0: 6e67 6572 730a 2020 2020 2063 7572 6c20 ngers. curl \n-00005900: 696e 2074 6865 2064 6972 6563 7469 6f6e in the direction\n-00005910: 206f 6620 706f 7369 7469 7665 2072 6f74 of positive rot\n-00005920: 6174 696f 6e20 6162 6f75 7420 7468 6174 ation about that\n-00005930: 2061 7869 732e 0a20 2020 5468 6520 7472 axis.. The tr\n-00005940: 616e 736c 6174 6520 7472 616e 7366 6f72 anslate transfor\n-00005950: 6d20 6d6f 7665 7320 7468 6520 7079 7261 m moves the pyra\n-00005960: 6d69 6420 6c61 7465 7261 6c6c 7920 746f mid laterally to\n-00005970: 2074 6865 2072 6967 6874 2062 790a 6164 the right by.ad\n-00005980: 6469 6e67 2074 6865 2076 6563 746f 7220 ding the vector \n-00005990: 5b32 2e35 2c30 2c30 5d20 746f 2065 6163 [2.5,0,0] to eac\n-000059a0: 6820 7665 7274 6578 2063 6f6f 7264 696e h vertex coordin\n-000059b0: 6174 652e 2020 5468 6520 7265 7375 6c74 ate. The result\n-000059c0: 2069 730a 7368 6f77 6e20 6865 7265 2e0a is.shown here..\n-000059d0: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n-000059e0: 7830 3530 2e70 6e67 2220 7465 7874 3d22 x050.png\" text=\"\n-000059f0: 496d 6167 6520 6578 3035 3020 6f6d 6974 Image ex050 omit\n-00005a00: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n-00005a10: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n-00005a20: 6d65 6e74 2e22 0008 5d0a 0a1f 0a46 696c ment.\"..]....Fil\n-00005a30: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-00005a40: 204e 6f64 653a 2052 6570 6561 7465 6420 Node: Repeated \n-00005a50: 6f62 6a65 6374 732c 2020 4e65 7874 3a20 objects, Next: \n-00005a60: 5377 6570 7420 6f62 6a65 6374 732c 2020 Swept objects, \n-00005a70: 5072 6576 3a20 4f62 6a65 6374 2074 7261 Prev: Object tra\n-00005a80: 6e73 666f 726d 732c 2020 5570 3a20 496e nsforms, Up: In\n-00005a90: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex\n-00005aa0: 616d 706c 650a 0a32 2e36 2052 6570 6561 ample..2.6 Repea\n-00005ab0: 7465 6420 6f62 6a65 6374 730a 3d3d 3d3d ted objects.====\n-00005ac0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-00005ad0: 0a0a 546f 2064 7261 7720 7365 7665 6e20 ..To draw seven \n-00005ae0: 696e 7374 616e 6365 7320 6f66 2074 6865 instances of the\n-00005af0: 2074 6574 7261 6865 6472 6f6e 2c20 6561 tetrahedron, ea\n-00005b00: 6368 2064 6966 6665 7269 6e67 2066 726f ch differing fro\n-00005b10: 6d20 7468 6520 6c61 7374 0a62 7920 7468 m the last.by th\n-00005b20: 6520 7361 6d65 2074 7261 6e73 666f 726d e same transform\n-00005b30: 2c20 7265 706c 6163 6520 7468 6520 6c61 , replace the la\n-00005b40: 7374 2074 776f 2063 6f6d 6d61 6e64 7320 st two commands \n-00005b50: 6f66 2074 6865 2070 7265 7669 6f75 730a of the previous.\n-00005b60: 6578 616d 706c 6520 7769 7468 0a20 2072 example with. r\n-00005b70: 6570 6561 7420 7b20 372c 2072 6f74 6174 epeat { 7, rotat\n-00005b80: 6528 3135 2c20 2830 2c30 2c30 292c 205b e(15, (0,0,0), [\n-00005b90: 312c 302c 305d 2920 2520 636f 7079 2069 1,0,0]) % copy i\n-00005ba0: 6e20 6e65 7720 706f 7369 7469 6f6e 0a20 n new position. \n-00005bb0: 2020 2020 2020 2020 2020 2020 2074 6865 the\n-00005bc0: 6e20 7472 616e 736c 6174 6528 5b32 2c30 n translate([2,0\n-00005bd0: 2c30 5d29 207d 207b 7069 6572 6365 645f ,0]) } {pierced_\n-00005be0: 7465 7472 6168 6564 726f 6e7d 0a41 6e64 tetrahedron}.And\n-00005bf0: 2074 6865 2072 6573 756c 742e 2e2e 0a0a the result.....\n-00005c00: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n-00005c10: 3036 302e 706e 6722 2074 6578 743d 2249 060.png\" text=\"I\n-00005c20: 6d61 6765 2065 7830 3630 206f 6d69 7474 mage ex060 omitt\n-00005c30: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n-00005c40: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n-00005c50: 656e 742e 2200 085d 0a0a 1f0a 4669 6c65 ent.\"..]....File\n-00005c60: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n-00005c70: 4e6f 6465 3a20 5377 6570 7420 6f62 6a65 Node: Swept obje\n-00005c80: 6374 732c 2020 5072 6576 3a20 5265 7065 cts, Prev: Repe\n-00005c90: 6174 6564 206f 626a 6563 7473 2c20 2055 ated objects, U\n-00005ca0: 703a 2049 6e74 726f 6475 6374 696f 6e20 p: Introduction \n-00005cb0: 6279 2065 7861 6d70 6c65 0a0a 322e 3720 by example..2.7 \n-00005cc0: 5377 6570 7420 6f62 6a65 6374 730a 3d3d Swept objects.==\n-00005cd0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a ===============.\n-00005ce0: 0a4d 616e 7920 6661 6d69 6c69 6172 2073 .Many familiar s\n-00005cf0: 6861 7065 7320 6361 6e20 6265 2067 656e hapes can be gen\n-00005d00: 6572 6174 6564 2062 7920 7377 6565 7069 erated by sweepi\n-00005d10: 6e67 2073 696d 706c 6572 206f 6e65 7320 ng simpler ones \n-00005d20: 7468 726f 7567 680a 7370 6163 6520 616e through.space an\n-00005d30: 6420 636f 6e73 6964 6572 696e 6720 7468 d considering th\n-00005d40: 6520 7265 7375 6c74 696e 6720 7061 7468 e resulting path\n-00005d50: 2c20 7375 7266 6163 652c 206f 7220 766f , surface, or vo\n-00005d60: 6c75 6d65 2e20 20e2 8098 536b 6574 6368 lume. ...Sketch\n-00005d70: e280 990a 696d 706c 656d 656e 7473 2074 ....implements t\n-00005d80: 6869 7320 6964 6561 2069 6e20 7468 6520 his idea in the \n-00005d90: 7377 6565 7020 636f 6d6d 616e 642e 0a20 sweep command.. \n-00005da0: 2064 6566 206e 5f73 6567 7320 380a 2020 def n_segs 8. \n-00005db0: 7377 6565 7020 7b20 6e5f 7365 6773 2c20 sweep { n_segs, \n-00005dc0: 726f 7461 7465 2831 3830 202f 206e 5f73 rotate(180 / n_s\n-00005dd0: 6567 732c 2028 302c 302c 3029 2c20 5b30 egs, (0,0,0), [0\n-00005de0: 2c30 2c31 5d29 207d 2028 312c 302c 3029 ,0,1]) } (1,0,0)\n-00005df0: 0a54 6869 7320 636f 6465 2073 7765 6570 .This code sweep\n-00005e00: 7320 7468 6520 706f 696e 7420 2831 2c30 s the point (1,0\n-00005e10: 2c30 2920 6569 6768 7420 7469 6d65 7320 ,0) eight times \n-00005e20: 6279 2072 6f74 6174 696e 6720 6974 2031 by rotating it 1\n-00005e30: 3830 2f38 203d 0a32 322e 3520 6465 6772 80/8 =.22.5 degr\n-00005e40: 6565 7320 6561 6368 2074 696d 6520 616e ees each time an\n-00005e50: 6420 636f 6e6e 6563 7469 6e67 2074 6865 d connecting the\n-00005e60: 2072 6573 756c 7469 6e67 2070 6f69 6e74 resulting point\n-00005e70: 7320 7769 7468 206c 696e 650a 7365 676d s with line.segm\n-00005e80: 656e 7473 2e20 2054 6865 2064 6566 2075 ents. The def u\n-00005e90: 7365 6420 6865 7265 2069 7320 6120 e280 sed here is a ..\n-00005ea0: 9c73 6361 6c61 72e2 809d 2064 6566 696e .scalar... defin\n-00005eb0: 6974 696f 6e2e 2020 5265 6665 7265 6e63 ition. Referenc\n-00005ec0: 6573 2074 6f0a 7363 616c 6172 7320 6861 es to.scalars ha\n-00005ed0: 7665 206e 6f20 656e 636c 6f73 696e 6720 ve no enclosing \n-00005ee0: 6272 6163 6b65 7473 2061 7420 616c 6c2e brackets at all.\n-00005ef0: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2050 6f69 ..* Menu:..* Poi\n-00005f00: 6e74 2073 7765 6570 733a 3a20 2020 2020 nt sweeps:: \n-00005f10: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-00005f20: 2070 6f69 6e74 7320 6d61 6b65 206c 696e points make lin\n-00005f30: 6573 2061 6e64 2070 6f6c 7967 6f6e 732e es and polygons.\n-00005f40: 0a2a 2050 6f6c 796c 696e 6520 7377 6565 .* Polyline swee\n-00005f50: 7073 3a3a 2020 2020 2020 2020 2020 2020 ps:: \n-00005f60: 2053 7765 7074 206c 696e 6573 206d 616b Swept lines mak\n-00005f70: 6520 7375 7266 6163 6573 2e0a 2a20 4e65 e surfaces..* Ne\n-00005f80: 7374 6564 2073 7765 6570 733a 3a20 2020 sted sweeps:: \n-00005f90: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-00005fa0: 7420 7377 6565 7073 2061 7265 2075 7365 t sweeps are use\n-00005fb0: 6675 6c21 0a2a 2050 6f6c 7967 6f6e 2073 ful!.* Polygon s\n-00005fc0: 7765 6570 733a 3a20 2020 2020 2020 2020 weeps:: \n-00005fd0: 2020 2020 2053 7765 7074 2070 6f6c 7967 Swept polyg\n-00005fe0: 6f6e 7320 6d61 6b65 2073 6f6c 6964 732e ons make solids.\n-00005ff0: 2e2e 0a2a 2050 6f6c 796c 696e 6520 7377 ...* Polyline sw\n-00006000: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur\n-00006010: 653a 3a20 2061 6e64 2073 6f20 646f 2063 e:: and so do c\n-00006020: 6c6f 7365 6420 706f 6c79 6c69 6e65 2073 losed polyline s\n-00006030: 7765 6570 732e 0a2a 2041 6666 696e 6520 weeps..* Affine \n-00006040: 6172 6974 686d 6574 6963 3a3a 2020 2020 arithmetic:: \n-00006050: 2020 2020 2020 2053 6b65 7463 6820 7573 Sketch us\n-00006060: 6566 756c 206d 6174 6820 6578 7072 6573 eful math expres\n-00006070: 7369 6f6e 2e0a 2a20 4d6f 7265 2074 6f20 sion..* More to \n-00006080: 6c65 6172 6e3a 3a20 2020 2020 2020 2020 learn:: \n-00006090: 2020 2020 2020 4368 6563 6b20 6f75 7420 Check out \n-000060a0: 7468 6520 4d6f 6269 7573 2073 7472 6970 the Mobius strip\n-000060b0: 210a 0a1f 0a46 696c 653a 2073 6b65 7463 !....File: sketc\n-000060c0: 682e 696e 666f 2c20 204e 6f64 653a 2050 h.info, Node: P\n-000060d0: 6f69 6e74 2073 7765 6570 732c 2020 4e65 oint sweeps, Ne\n-000060e0: 7874 3a20 506f 6c79 6c69 6e65 2073 7765 xt: Polyline swe\n-000060f0: 6570 732c 2020 5072 6576 3a20 5377 6570 eps, Prev: Swep\n-00006100: 7420 6f62 6a65 6374 732c 2020 5570 3a20 t objects, Up: \n-00006110: 5377 6570 7420 6f62 6a65 6374 730a 0a32 Swept objects..2\n-00006120: 2e37 2e31 2050 6f69 6e74 2073 7765 6570 .7.1 Point sweep\n-00006130: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.--------------\n-00006140: 2d2d 2d2d 0a0a 5377 6565 7069 6e67 2061 ----..Sweeping a\n-00006150: 2070 6f69 6e74 206d 616b 6573 2061 206f point makes a o\n-00006160: 6e65 2d64 696d 656e 7369 6f6e 616c 2070 ne-dimensional p\n-00006170: 6174 682c 2077 6869 6368 2069 7320 6120 ath, which is a \n-00006180: 706f 6c79 6c69 6e65 2e0a 5369 6e63 6520 polyline..Since \n-00006190: 7765 2068 6176 6520 7377 6570 7420 7769 we have swept wi\n-000061a0: 7468 2061 2072 6f74 6174 696f 6e2c 2074 th a rotation, t\n-000061b0: 6865 2072 6573 756c 7420 6973 2061 2063 he result is a c\n-000061c0: 6972 6375 6c61 7220 6172 632e 2020 4865 ircular arc. He\n-000061d0: 7265 0a69 7320 7768 6174 2069 7420 6c6f re.is what it lo\n-000061e0: 6f6b 7320 6c69 6b65 2e0a 0a00 085b 696d oks like.....[im\n-000061f0: 6167 6520 7372 633d 2265 7830 3730 2e70 age src=\"ex070.p\n-00006200: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng\" text=\"Image \n-00006210: 6578 3037 3020 6f6d 6974 7465 6420 696e ex070 omitted in\n-00006220: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of\n-00006230: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document.\"\n-00006240: 0008 5d0a 0a20 2020 5468 6973 2069 7320 ..].. This is \n-00006250: 7468 6520 6669 7273 7420 6578 616d 706c the first exampl\n-00006260: 6520 7765 2068 6176 6520 7365 656e 206f e we have seen o\n-00006270: 6620 e280 9873 6b65 7463 68e2 8099 2061 f ...sketch... a\n-00006280: 7269 7468 6d65 7469 632e 2020 5468 650a rithmetic. The.\n-00006290: 6578 7072 6573 7369 6f6e 2031 3830 202f expression 180 /\n-000062a0: 206e 5f73 6567 7320 6361 7573 6573 2074 n_segs causes t\n-000062b0: 6865 2065 6967 6874 2072 6f74 6174 696f he eight rotatio\n-000062c0: 6e73 2074 6f20 6164 6420 746f 2031 3830 ns to add to 180\n-000062d0: 2e20 2049 660a 796f 7527 7265 2070 6179 . If.you're pay\n-000062e0: 696e 6720 6174 7465 6e74 696f 6e2c 2079 ing attention, y\n-000062f0: 6f75 276c 6c20 6861 7665 2061 6c72 6561 ou'll have alrea\n-00006300: 6479 206e 6f74 6564 2074 6861 7420 7468 dy noted that th\n-00006310: 6572 6520 6172 6520 5f6e 696e 655f 0a70 ere are _nine_.p\n-00006320: 6f69 6e74 732c 2070 726f 6475 6369 6e67 oints, producing\n-00006330: 2065 6967 6874 206c 696e 6520 7365 676d eight line segm\n-00006340: 656e 7473 2e0a 0a20 2020 596f 7520 6361 ents... You ca\n-00006350: 6e20 6361 7573 6520 7468 6520 7377 6570 n cause the swep\n-00006360: 7420 706f 696e 7420 746f 2067 656e 6572 t point to gener\n-00006370: 6174 6520 6120 7369 6e67 6c65 2070 6f6c ate a single pol\n-00006380: 7967 6f6e 2072 6174 6865 720a 7468 616e ygon rather.than\n-00006390: 2061 2070 6f6c 796c 696e 6520 6279 2075 a polyline by u\n-000063a0: 7369 6e67 2074 6865 20e2 809c 636c 6f73 sing the ...clos\n-000063b0: 7572 6520 7461 67e2 809d 203c 3e20 6166 ure tag... <> af\n-000063c0: 7465 7220 7468 6520 6e75 6d62 6572 206f ter the number o\n-000063d0: 6620 7377 6570 740a 6f62 6a65 6374 732e f swept.objects.\n-000063e0: 2020 436f 6465 2061 6e64 2072 6573 756c Code and resul\n-000063f0: 7420 666f 6c6c 6f77 0a20 2064 6566 206e t follow. def n\n-00006400: 5f73 6567 7320 380a 2020 7377 6565 7020 _segs 8. sweep \n-00006410: 7b20 6e5f 7365 6773 3c3e 2c20 726f 7461 { n_segs<>, rota\n-00006420: 7465 2831 3830 202f 206e 5f73 6567 732c te(180 / n_segs,\n-00006430: 2028 302c 302c 3029 2c20 5b30 2c30 2c31 (0,0,0), [0,0,1\n-00006440: 5d29 207d 2028 312c 302c 3029 0a00 085b ]) } (1,0,0)...[\n-00006450: 696d 6167 6520 7372 633d 2265 7830 3830 image src=\"ex080\n-00006460: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png\" text=\"Imag\n-00006470: 6520 6578 3038 3020 6f6d 6974 7465 6420 e ex080 omitted \n-00006480: 696e 2074 6578 7420 7665 7273 696f 6e20 in text version \n-00006490: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document\n-000064a0: 2e22 0008 5d0a 0a1f 0a46 696c 653a 2073 .\"..]....File: s\n-000064b0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-000064c0: 653a 2050 6f6c 796c 696e 6520 7377 6565 e: Polyline swee\n-000064d0: 7073 2c20 204e 6578 743a 204e 6573 7465 ps, Next: Neste\n-000064e0: 6420 7377 6565 7073 2c20 2050 7265 763a d sweeps, Prev:\n-000064f0: 2050 6f69 6e74 2073 7765 6570 732c 2020 Point sweeps, \n-00006500: 5570 3a20 5377 6570 7420 6f62 6a65 6374 Up: Swept object\n-00006510: 730a 0a32 2e37 2e32 2050 6f6c 796c 696e s..2.7.2 Polylin\n-00006520: 6520 7377 6565 7073 0a2d 2d2d 2d2d 2d2d e sweeps.-------\n-00006530: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n-00006540: 5377 6565 7069 6e67 2061 2070 6f6c 796c Sweeping a polyl\n-00006550: 696e 6520 7072 6f64 7563 6573 2061 2073 ine produces a s\n-00006560: 7572 6661 6365 2063 6f6d 706f 7365 6420 urface composed \n-00006570: 6f66 206d 616e 7920 6661 6365 732e 2020 of many faces. \n-00006580: 5468 650a 756e 6272 6f6b 656e 2068 656c The.unbroken hel\n-00006590: 6978 2069 6e20 7468 6520 6578 616d 706c ix in the exampl\n-000065a0: 6520 2a6e 6f74 6520 4865 6c69 7820 7769 e *note Helix wi\n-000065b0: 7468 2063 756c 6c20 7365 7420 6661 6c73 th cull set fals\n-000065c0: 6520 7468 656e 0a74 7275 653a 3a20 6973 e then.true:: is\n-000065d0: 2070 726f 6475 6365 6420 6279 2074 6869 produced by thi\n-000065e0: 7320 636f 6465 2028 706c 7573 2061 2073 s code (plus a s\n-000065f0: 7572 726f 756e 6469 6e67 2070 7574 2072 urrounding put r\n-00006600: 6f74 6174 696f 6e20 746f 206d 616b 650a otation to make.\n-00006610: 616e 2069 6e74 6572 6573 7469 6e67 2076 an interesting v\n-00006620: 6965 773b 2074 6869 7320 6861 7320 6265 iew; this has be\n-00006630: 656e 206f 6d69 7474 6564 292e 0a20 2064 en omitted).. d\n-00006640: 6566 204b 205b 302c 302c 315d 0a20 2073 ef K [0,0,1]. s\n-00006650: 7765 6570 5b63 756c 6c3d 6661 6c73 655d weep[cull=false]\n-00006660: 207b 0a20 2020 2036 302c 200a 2020 2020 {. 60, . \n-00006670: 726f 7461 7465 2831 302c 2028 302c 302c rotate(10, (0,0,\n-00006680: 3029 2c20 5b4b 5d29 2074 6865 6e20 7472 0), [K]) then tr\n-00006690: 616e 736c 6174 6528 312f 3620 2a20 5b4b anslate(1/6 * [K\n-000066a0: 5d29 200a 2020 7d20 6c69 6e65 5b6c 696e ]) . } line[lin\n-000066b0: 6577 6964 7468 3d32 7074 5d28 2d31 2c30 ewidth=2pt](-1,0\n-000066c0: 2928 312c 3029 0a41 6761 696e 2c20 3630 )(1,0).Again, 60\n-000066d0: 2073 6567 6d65 6e74 7320 6f66 2074 6865 segments of the\n-000066e0: 2068 656c 6978 2061 7265 2070 726f 6475 helix are produ\n-000066f0: 6365 6420 6279 2063 6f6e 6e65 6374 696e ced by connectin\n-00006700: 6720 3631 2069 6e73 7461 6e63 6573 0a6f g 61 instances.o\n-00006710: 6620 7468 6520 7377 6570 7420 6c69 6e65 f the swept line\n-00006720: 2e20 204f 7074 696f 6e73 2061 7070 6c69 . Options appli\n-00006730: 6564 2074 6f20 7468 6520 7377 6565 702c ed to the sweep,\n-00006740: 2068 6572 6520 6375 6c6c 3d66 616c 7365 here cull=false\n-00006750: 2c20 6172 650a 7472 6561 7465 6420 6173 , are.treated as\n-00006760: 206f 7074 696f 6e73 2066 6f72 2074 6865 options for the\n-00006770: 2067 656e 6572 6174 6564 2070 6f6c 7967 generated polyg\n-00006780: 6f6e 206f 7220 706f 6c79 6c69 6e65 2e20 on or polyline. \n-00006790: 204f 7074 696f 6e73 206f 660a 7468 6520 Options of.the \n-000067a0: 7377 6570 7420 6c69 6e65 2069 7473 656c swept line itsel\n-000067b0: 662c 2068 6572 6520 6c69 6e65 7769 6474 f, here linewidt\n-000067c0: 683d 3270 742c 2061 7265 2069 676e 6f72 h=2pt, are ignor\n-000067d0: 6564 2c20 7468 6f75 6768 2077 6974 6820 ed, though with \n-000067e0: 610a 7761 726e 696e 672e 2020 5468 6973 a.warning. This\n-000067f0: 2064 6566 2069 7320 6120 e280 9c76 6563 def is a ...vec\n-00006800: 746f 72e2 809d 2064 6566 696e 6974 696f tor... definitio\n-00006810: 6e2c 2077 6869 6368 206d 7573 7420 6265 n, which must be\n-00006820: 2072 6566 6572 656e 6365 640a 7769 7468 referenced.with\n-00006830: 2073 7175 6172 6520 6272 6163 6b65 7473 square brackets\n-00006840: 2c20 652e 672e 205b 666f 6f5d 2e0a 0a1f , e.g. [foo]....\n-00006850: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00006860: 666f 2c20 204e 6f64 653a 204e 6573 7465 fo, Node: Neste\n-00006870: 6420 7377 6565 7073 2c20 204e 6578 743a d sweeps, Next:\n-00006880: 2050 6f6c 7967 6f6e 2073 7765 6570 732c Polygon sweeps,\n-00006890: 2020 5072 6576 3a20 506f 6c79 6c69 6e65 Prev: Polyline\n-000068a0: 2073 7765 6570 732c 2020 5570 3a20 5377 sweeps, Up: Sw\n-000068b0: 6570 7420 6f62 6a65 6374 730a 0a32 2e37 ept objects..2.7\n-000068c0: 2e33 204e 6573 7465 6420 7377 6565 7073 .3 Nested sweeps\n-000068d0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n-000068e0: 2d2d 2d2d 0a0a 5768 656e 2074 6865 2063 ----..When the c\n-000068f0: 656e 7465 7220 706f 696e 7420 6f66 2072 enter point of r\n-00006900: 6f74 6174 696f 6e20 6973 206f 6d69 7474 otation is omitt\n-00006910: 6564 2c20 7468 6520 6f72 6967 696e 2069 ed, the origin i\n-00006920: 7320 6173 7375 6d65 642e 0a57 6865 6e20 s assumed..When \n-00006930: 6120 706f 696e 7420 6861 7320 6f6e 6c79 a point has only\n-00006940: 2074 776f 2063 6f6f 7264 696e 6174 6573 two coordinates\n-00006950: 2c20 7468 6579 2061 7265 2074 616b 656e , they are taken\n-00006960: 2061 7320 7820 616e 6420 792c 2077 6974 as x and y, wit\n-00006970: 680a 7a3d 3020 6173 7375 6d65 642e 2020 h.z=0 assumed. \n-00006980: 4120 746f 726f 6964 2069 7320 7468 6572 A toroid is ther\n-00006990: 6566 6f72 6520 6f62 7461 696e 6564 2077 efore obtained w\n-000069a0: 6974 6820 7468 6973 2063 6f64 652e 0a20 ith this code.. \n-000069b0: 2064 6566 206e 5f74 6f72 6f69 645f 7365 def n_toroid_se\n-000069c0: 6773 2032 3020 2020 6465 6620 6e5f 6369 gs 20 def n_ci\n-000069d0: 7263 6c65 5f73 6567 7320 3136 0a20 2064 rcle_segs 16. d\n-000069e0: 6566 2072 5f6d 696e 6f72 2031 2020 2020 ef r_minor 1 \n-000069f0: 2020 2020 2020 6465 6620 725f 6d61 6a6f def r_majo\n-00006a00: 7220 312e 350a 2020 7377 6565 7020 7b20 r 1.5. sweep { \n-00006a10: 6e5f 746f 726f 6964 5f73 6567 732c 2072 n_toroid_segs, r\n-00006a20: 6f74 6174 6528 3336 3020 2f20 6e5f 746f otate(360 / n_to\n-00006a30: 726f 6964 5f73 6567 732c 205b 302c 312c roid_segs, [0,1,\n-00006a40: 305d 2920 7d0a 2020 2020 7377 6565 7020 0]) }. sweep \n-00006a50: 7b20 6e5f 6369 7263 6c65 5f73 6567 732c { n_circle_segs,\n-00006a60: 2072 6f74 6174 6528 3336 3020 2f20 6e5f rotate(360 / n_\n-00006a70: 6369 7263 6c65 5f73 6567 732c 2028 725f circle_segs, (r_\n-00006a80: 6d61 6a6f 722c 302c 3029 2920 7d20 0a20 major,0,0)) } . \n-00006a90: 2020 2020 2028 725f 6d61 6a6f 7220 2b20 (r_major + \n-00006aa0: 725f 6d69 6e6f 722c 2030 290a 2020 2046 r_minor, 0). F\n-00006ab0: 6f72 2069 6e74 7569 7469 6f6e 2c20 7468 or intuition, th\n-00006ac0: 6520 6964 6561 206f 6620 7468 6520 636f e idea of the co\n-00006ad0: 6465 2069 7320 746f 2073 6b65 7463 6820 de is to sketch \n-00006ae0: 6120 6369 7263 6c65 2074 6f20 7468 650a a circle to the.\n-00006af0: 7269 6768 7420 6f66 2074 6865 206f 7269 right of the ori\n-00006b00: 6769 6e20 696e 2074 6865 2078 792d 706c gin in the xy-pl\n-00006b10: 616e 652c 2074 6865 6e20 726f 7461 7465 ane, then rotate\n-00006b20: 2074 6861 7420 6369 7263 6c65 2022 6f75 that circle \"ou\n-00006b30: 7420 6f66 2074 6865 0a70 6c61 6e65 2220 t of the.plane\" \n-00006b40: 6162 6f75 7420 7468 6520 792d 6178 6973 about the y-axis\n-00006b50: 2074 6f20 6d61 6b65 2074 6865 2066 696e to make the fin\n-00006b60: 616c 2066 6967 7572 652e 2020 5468 6973 al figure. This\n-00006b70: 2070 726f 6475 6365 7320 7468 650a 666f produces the.fo\n-00006b80: 6c6c 6f77 696e 672e 2020 2841 2076 6965 llowing. (A vie\n-00006b90: 7720 726f 7461 7469 6f6e 2061 6e64 2073 w rotation and s\n-00006ba0: 6f6d 6520 6178 6573 2068 6176 6520 6265 ome axes have be\n-00006bb0: 656e 2061 6464 6564 2e29 0a0a 0008 5b69 en added.)....[i\n-00006bc0: 6d61 6765 2073 7263 3d22 6578 3039 302e mage src=\"ex090.\n-00006bd0: 706e 6722 2074 6578 743d 2249 6d61 6765 png\" text=\"Image\n-00006be0: 2065 7830 3930 206f 6d69 7474 6564 2069 ex090 omitted i\n-00006bf0: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o\n-00006c00: 6620 7468 6973 2064 6f63 756d 656e 742e f this document.\n-00006c10: 2200 085d 0a0a 2020 2054 6869 7320 6578 \"..].. This ex\n-00006c20: 616d 706c 6520 616c 736f 2073 686f 7773 ample also shows\n-00006c30: 2074 6861 7420 7468 6520 7377 6570 7420 that the swept \n-00006c40: 6f62 6a65 6374 206d 6179 2069 7473 656c object may itsel\n-00006c50: 6620 6265 2061 6e6f 7468 6572 0ae2 8098 f be another....\n-00006c60: 7377 6565 70e2 8099 2e20 2049 6e20 6661 sweep.... In fa\n-00006c70: 6374 2c20 6974 206d 6179 2062 6520 5f61 ct, it may be _a\n-00006c80: 6e79 5f20 e280 9873 6b65 7463 68e2 8099 ny_ ...sketch...\n-00006c90: 2065 7870 7265 7373 696f 6e20 7468 6174 expression that\n-00006ca0: 2072 6573 756c 7473 2069 6e20 610a 6c69 results in a.li\n-00006cb0: 7374 206f 6620 6f6e 6520 6f72 206d 6f72 st of one or mor\n-00006cc0: 6520 706f 696e 7473 206f 722c 2061 6c74 e points or, alt\n-00006cd0: 6572 6e61 7465 6c79 2c20 6120 6c69 7374 ernately, a list\n-00006ce0: 206f 6620 6f6e 6520 6f72 206d 6f72 650a of one or more.\n-00006cf0: 706f 6c79 6c69 6e65 7320 616e 6420 706f polylines and po\n-00006d00: 6c79 676f 6e73 2e20 2054 6865 206c 6174 lygons. The lat\n-00006d10: 7465 7220 6b69 6e64 206f 6620 6c69 7374 ter kind of list\n-00006d20: 2063 616e 2062 6520 6372 6561 7465 6420 can be created \n-00006d30: 7769 7468 2061 0a7b 207d 2d65 6e63 6c6f with a.{ }-enclo\n-00006d40: 7365 6420 626c 6f63 6b2c 2070 6572 6861 sed block, perha\n-00006d50: 7073 2066 6f6c 6c6f 7769 6e67 2061 2070 ps following a p\n-00006d60: 7574 206f 7220 7265 7065 6174 2e0a 0a1f ut or repeat....\n-00006d70: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00006d80: 666f 2c20 204e 6f64 653a 2050 6f6c 7967 fo, Node: Polyg\n-00006d90: 6f6e 2073 7765 6570 732c 2020 4e65 7874 on sweeps, Next\n-00006da0: 3a20 506f 6c79 6c69 6e65 2073 7765 6570 : Polyline sweep\n-00006db0: 7320 7769 7468 2063 6c6f 7375 7265 2c20 s with closure, \n-00006dc0: 2050 7265 763a 204e 6573 7465 6420 7377 Prev: Nested sw\n-00006dd0: 6565 7073 2c20 2055 703a 2053 7765 7074 eeps, Up: Swept\n-00006de0: 206f 626a 6563 7473 0a0a 322e 372e 3420 objects..2.7.4 \n-00006df0: 506f 6c79 676f 6e20 7377 6565 7073 0a2d Polygon sweeps.-\n-00006e00: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00006e10: 2d2d 2d0a 0a53 7765 6570 696e 6720 6120 ---..Sweeping a \n-00006e20: 706f 6c79 676f 6e20 6372 6561 7465 7320 polygon creates \n-00006e30: 6120 636c 6f73 6564 2073 7572 6661 6365 a closed surface\n-00006e40: 2077 6974 6820 706f 6c79 676f 6e73 2061 with polygons a\n-00006e50: 7420 7468 6520 656e 6473 2c0a 7768 6963 t the ends,.whic\n-00006e60: 6820 6172 6520 6a75 7374 2063 6f70 6965 h are just copie\n-00006e70: 7320 6f66 2074 6865 206f 7269 6769 6e61 s of the origina\n-00006e80: 6c2c 2061 7070 726f 7072 6961 7465 6c79 l, appropriately\n-00006e90: 2070 6f73 6974 696f 6e65 642e 2020 2a4e positioned. *N\n-00006ea0: 6f74 650a 536f 6c69 6420 636f 696c 2065 ote.Solid coil e\n-00006eb0: 7861 6d70 6c65 3a3a 2e20 204f 7074 696f xample::. Optio\n-00006ec0: 6e73 206f 6e20 7468 6520 7377 6570 7420 ns on the swept \n-00006ed0: 706f 6c79 676f 6e2c 2069 6620 7468 6579 polygon, if they\n-00006ee0: 2065 7869 7374 2c20 6172 650a 6170 706c exist, are.appl\n-00006ef0: 6965 6420 746f 2074 6865 2065 6e64 732e ied to the ends.\n-00006f00: 2020 4f74 6865 7277 6973 6520 7468 6520 Otherwise the \n-00006f10: 7377 6565 7020 6f70 7469 6f6e 7320 6172 sweep options ar\n-00006f20: 6520 7573 6564 2074 6872 6f75 6768 6f75 e used throughou\n-00006f30: 742e 0a0a 1f0a 4669 6c65 3a20 736b 6574 t.....File: sket\n-00006f40: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-00006f50: 506f 6c79 6c69 6e65 2073 7765 6570 7320 Polyline sweeps \n-00006f60: 7769 7468 2063 6c6f 7375 7265 2c20 204e with closure, N\n-00006f70: 6578 743a 2041 6666 696e 6520 6172 6974 ext: Affine arit\n-00006f80: 686d 6574 6963 2c20 2050 7265 763a 2050 hmetic, Prev: P\n-00006f90: 6f6c 7967 6f6e 2073 7765 6570 732c 2020 olygon sweeps, \n-00006fa0: 5570 3a20 5377 6570 7420 6f62 6a65 6374 Up: Swept object\n-00006fb0: 730a 0a32 2e37 2e35 2050 6f6c 796c 696e s..2.7.5 Polylin\n-00006fc0: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl\n-00006fd0: 6f73 7572 650a 2d2d 2d2d 2d2d 2d2d 2d2d osure.----------\n+000021c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+000021d0: 0a0a 5468 6520 6772 6f75 7020 6874 7470 ..The group http\n+000021e0: 3a2f 2f67 726f 7570 732e 676f 6f67 6c65 ://groups.google\n+000021f0: 2e63 6f6d 2f67 726f 7570 2f73 6b65 7463 .com/group/sketc\n+00002200: 682d 7573 6572 7320 6973 2074 6865 2062 h-users is the b\n+00002210: 6573 7420 706c 6163 650a 746f 2072 6570 est place.to rep\n+00002220: 6f72 7420 6275 6773 2061 6e64 206d 616b ort bugs and mak\n+00002230: 6520 696d 7072 6f76 656d 656e 7473 2e20 e improvements. \n+00002240: 2041 2073 6563 6f6e 6420 6d65 7468 6f64 A second method\n+00002250: 2074 6861 7420 7769 6c6c 0a70 726f 6261 that will.proba\n+00002260: 626c 7920 7072 6f64 7563 6520 6120 736c bly produce a sl\n+00002270: 6f77 6572 2072 6573 706f 6e73 6520 6973 ower response is\n+00002280: 2065 6d61 696c 2074 6f20 736b 6574 6368 email to sketch\n+00002290: 4066 726f 6e74 6965 726e 6574 2e6e 6574 @frontiernet.net\n+000022a0: 2e0a 5765 2077 696c 6c20 7472 7920 746f ..We will try to\n+000022b0: 2072 6573 706f 6e64 2c20 6275 7420 6361 respond, but ca\n+000022c0: 6e27 7420 7072 6f6d 6973 652e 2020 496e n't promise. In\n+000022d0: 2061 6e79 2065 7665 6e74 2c20 646f 6e27 any event, don'\n+000022e0: 7420 6265 0a6f 6666 656e 6465 6420 6966 t be.offended if\n+000022f0: 2061 2072 6570 6c79 2069 7320 6e6f 7420 a reply is not \n+00002300: 666f 7274 6863 6f6d 696e 672e 2020 5765 forthcoming. We\n+00002310: 2772 6520 6a75 7374 2062 7573 7920 616e 're just busy an\n+00002320: 6420 7769 6c6c 2067 6574 2074 6f0a 796f d will get to.yo\n+00002330: 7572 2073 7567 6765 7374 696f 6e20 6576 ur suggestion ev\n+00002340: 656e 7475 616c 6c79 2e0a 0a20 2020 466f entually... Fo\n+00002350: 7220 6275 6773 2c20 6174 7461 6368 2061 r bugs, attach a\n+00002360: 20e2 8098 736b 6574 6368 e280 9920 696e ...sketch... in\n+00002370: 7075 7420 6669 6c65 2074 6861 7420 6361 put file that ca\n+00002380: 7573 6573 2074 6865 2062 6164 2062 6568 uses the bad beh\n+00002390: 6176 696f 722e 0a45 6d62 6564 2063 6f6d avior..Embed com\n+000023a0: 6d65 6e74 7320 7468 6174 2065 7870 6c61 ments that expla\n+000023b0: 696e 2077 6861 7420 746f 206c 6f6f 6b20 in what to look \n+000023c0: 666f 7220 696e 2074 6865 2062 6568 6176 for in the behav\n+000023d0: 696f 7220 6f66 20e2 8098 736b 6574 6368 ior of ...sketch\n+000023e0: e280 990a 6f72 2069 7473 206f 7574 7075 ....or its outpu\n+000023f0: 742e 0a0a 2020 2041 2072 6563 6f6d 6d65 t... A recomme\n+00002400: 6e64 6174 696f 6e20 666f 7220 696d 7072 ndation for impr\n+00002410: 6f76 656d 656e 7420 6672 6f6d 206f 6e65 ovement from one\n+00002420: 2075 6e6b 6e6f 776e 2070 6572 736f 6e20 unknown person \n+00002430: 636f 756e 7473 2061 730a 6f6e 6520 766f counts as.one vo\n+00002440: 7465 2e20 2057 6520 7573 6520 6f76 6572 te. We use over\n+00002450: 616c 6c20 766f 7465 2074 616c 6c69 6573 all vote tallies\n+00002460: 2074 6f20 6465 6369 6465 2077 6861 7420 to decide what \n+00002470: 746f 2064 6f20 6e65 7874 2061 730a 7265 to do next as.re\n+00002480: 736f 7572 6365 7320 7065 726d 6974 2e20 sources permit. \n+00002490: 2057 6520 7265 7365 7276 6520 7468 6520 We reserve the \n+000024a0: 7269 6768 7420 746f 2061 7373 6967 6e20 right to assign \n+000024b0: 616e 7920 6e75 6d62 6572 206f 6620 766f any number of vo\n+000024c0: 7465 7320 746f 0a73 7567 6765 7374 696f tes to.suggestio\n+000024d0: 6e73 2066 726f 6d20 7065 6f70 6c65 2077 ns from people w\n+000024e0: 686f 2068 6176 6520 6265 656e 2068 656c ho have been hel\n+000024f0: 7066 756c 2061 6e64 2073 7570 706f 7274 pful and support\n+00002500: 6976 6520 696e 2074 6865 0a70 6173 742e ive in the.past.\n+00002510: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+00002520: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 436f .info, Node: Co\n+00002530: 6e74 7269 6275 7469 6f6e 732c 2020 5072 ntributions, Pr\n+00002540: 6576 3a20 5265 706f 7274 696e 6720 6275 ev: Reporting bu\n+00002550: 6773 2c20 2055 703a 2041 626f 7574 2073 gs, Up: About s\n+00002560: 6b65 7463 680a 0a31 2e32 2043 6f6e 7472 ketch..1.2 Contr\n+00002570: 6962 7574 696f 6e73 0a3d 3d3d 3d3d 3d3d ibutions.=======\n+00002580: 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 4966 2079 ==========..If y\n+00002590: 6f75 2069 6e74 656e 6420 746f 2069 6d70 ou intend to imp\n+000025a0: 6c65 6d65 6e74 2061 6e20 656e 6861 6e63 lement an enhanc\n+000025b0: 656d 656e 7420 6f66 2079 6f75 7220 6f77 ement of your ow\n+000025c0: 6e2c 2074 6861 7427 7320 7465 7272 6966 n, that's terrif\n+000025d0: 6963 210a 436f 6e73 6964 6572 2063 6f6c ic!.Consider col\n+000025e0: 6c61 626f 7261 7469 6e67 2077 6974 6820 laborating with \n+000025f0: 7573 2066 6972 7374 2074 6f20 7365 6520 us first to see \n+00002600: 6966 2077 6527 7265 2061 6c72 6561 6479 if we're already\n+00002610: 2077 6f72 6b69 6e67 206f 6e0a 796f 7572 working on.your\n+00002620: 2069 6465 6120 6f72 2069 6620 7765 2063 idea or if we c\n+00002630: 616e 2075 7365 2079 6f75 7220 776f 726b an use your work\n+00002640: 2069 6e20 7468 6520 6f66 6669 6369 616c in the official\n+00002650: 2072 656c 6561 7365 2e0a 0a00 085b 696d release.....[im\n+00002660: 6167 6520 7372 633d 2265 7830 3030 2e70 age src=\"ex000.p\n+00002670: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng\" text=\"Image \n+00002680: 6578 3030 3020 6f6d 6974 7465 6420 696e ex000 omitted in\n+00002690: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of\n+000026a0: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document.\"\n+000026b0: 0008 5d0a 0a1f 0a46 696c 653a 2073 6b65 ..]....File: ske\n+000026c0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+000026d0: 2049 6e74 726f 6475 6374 696f 6e20 6279 Introduction by\n+000026e0: 2065 7861 6d70 6c65 2c20 204e 6578 743a example, Next:\n+000026f0: 2049 6e70 7574 206c 616e 6775 6167 652c Input language,\n+00002700: 2020 5072 6576 3a20 4162 6f75 7420 736b Prev: About sk\n+00002710: 6574 6368 2c20 2055 703a 2054 6f70 0a0a etch, Up: Top..\n+00002720: 3220 496e 7472 6f64 7563 7469 6f6e 2062 2 Introduction b\n+00002730: 7920 6578 616d 706c 650a 2a2a 2a2a 2a2a y example.******\n+00002740: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+00002750: 2a2a 2a0a 0a54 6865 20e2 8098 736b 6574 ***..The ...sket\n+00002760: 6368 e280 9920 696e 7075 7420 6c61 6e67 ch... input lang\n+00002770: 7561 6765 2077 696c 6c20 7365 656d 2066 uage will seem f\n+00002780: 616d 696c 6961 7220 746f 2075 7365 7273 amiliar to users\n+00002790: 206f 6620 7468 650a e280 9850 5354 7269 of the....PSTri\n+000027a0: 636b 73e2 8099 2070 6163 6b61 6765 2066 cks... package f\n+000027b0: 6f72 204c 6154 6558 2e20 2054 6865 2066 or LaTeX. The f\n+000027c0: 6f6c 6c6f 7769 6e67 2070 726f 6772 616d ollowing program\n+000027d0: 2064 7261 7773 2061 2074 7269 616e 6775 draws a triangu\n+000027e0: 6c61 720a 706f 6c79 676f 6e20 7069 6572 lar.polygon pier\n+000027f0: 6365 6420 6279 2061 206c 696e 652e 0a20 ced by a line.. \n+00002800: 2070 6f6c 7967 6f6e 2830 2c30 2c31 2928 polygon(0,0,1)(\n+00002810: 312c 302c 3029 2830 2c31 2c30 290a 2020 1,0,0)(0,1,0). \n+00002820: 6c69 6e65 282d 312c 2d31 2c2d 3129 2832 line(-1,-1,-1)(2\n+00002830: 2c32 2c32 290a 5468 6520 636f 6f72 6469 ,2,2).The coordi\n+00002840: 6e61 7465 2073 7973 7465 6d20 6973 2061 nate system is a\n+00002850: 2073 7461 6e64 6172 6420 7269 6768 742d standard right-\n+00002860: 6861 6e64 6564 2043 6172 7465 7369 616e handed Cartesian\n+00002870: 206f 6e65 2e0a 0a00 085b 696d 6167 6520 one.....[image \n+00002880: 7372 633d 2265 7830 3130 2e70 6e67 2220 src=\"ex010.png\" \n+00002890: 7465 7874 3d22 496d 6167 6520 6578 3031 text=\"Image ex01\n+000028a0: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex\n+000028b0: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi\n+000028c0: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document.\"..].\n+000028d0: 0a2a 204d 656e 753a 0a0a 2a20 4865 6c6c .* Menu:..* Hell\n+000028e0: 6f20 776f 726c 643a 3a20 2020 2020 2020 o world:: \n+000028f0: 2020 2020 2020 2020 2020 5369 6d70 6c65 Simple\n+00002900: 7374 2070 6f73 7369 626c 6520 e280 9873 st possible ...s\n+00002910: 6b65 7463 68e2 8099 2070 726f 6772 616d ketch... program\n+00002920: 2e0a 2a20 4472 6177 696e 6720 6f70 7469 ..* Drawing opti\n+00002930: 6f6e 733a 3a20 2020 2020 2020 2020 2020 ons:: \n+00002940: 2020 436f 6e74 726f 6c6c 696e 6720 6f62 Controlling ob\n+00002950: 6a65 6374 2061 7070 6561 7261 6e63 652e ject appearance.\n+00002960: 0a2a 2044 7261 7769 6e67 2061 2073 6f6c .* Drawing a sol\n+00002970: 6964 3a3a 2020 2020 2020 2020 2020 2020 id:: \n+00002980: 2044 7261 7769 6e67 2061 6e20 6f62 6a65 Drawing an obje\n+00002990: 6374 2077 6974 6820 3364 2061 7070 6561 ct with 3d appea\n+000029a0: 7261 6e63 652e 0a2a 2053 7065 6369 616c rance..* Special\n+000029b0: 206f 626a 6563 7473 3a3a 2020 2020 2020 objects:: \n+000029c0: 2020 2020 2020 204c 6179 696e 6720 5465 Laying Te\n+000029d0: 5820 6f76 6572 2c20 696e 2c20 6f72 2075 X over, in, or u\n+000029e0: 6e64 6572 2064 7261 7769 6e67 732e 0a2a nder drawings..*\n+000029f0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n+00002a00: 6d73 3a3a 2020 2020 2020 2020 2020 2052 ms:: R\n+00002a10: 6f74 6174 652c 2074 7261 6e73 6c61 7465 otate, translate\n+00002a20: 2c20 7363 616c 652c 2061 6e64 206f 7468 , scale, and oth\n+00002a30: 6572 732e 0a2a 2052 6570 6561 7465 6420 ers..* Repeated \n+00002a40: 6f62 6a65 6374 733a 3a20 2020 2020 2020 objects:: \n+00002a50: 2020 2020 204d 616b 696e 6720 7472 616e Making tran\n+00002a60: 7366 6f72 6d65 6420 636f 7069 6573 2e0a sformed copies..\n+00002a70: 2a20 5377 6570 7420 6f62 6a65 6374 733a * Swept objects:\n+00002a80: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00002a90: 5377 6565 7069 6e67 206f 626a 6563 7473 Sweeping objects\n+00002aa0: 2069 6e20 7370 6163 6520 746f 206d 616b in space to mak\n+00002ab0: 6520 6e65 7720 7368 6170 6573 2e0a 0a1f e new shapes....\n+00002ac0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n+00002ad0: 666f 2c20 204e 6f64 653a 2048 656c 6c6f fo, Node: Hello\n+00002ae0: 2077 6f72 6c64 2c20 204e 6578 743a 2044 world, Next: D\n+00002af0: 7261 7769 6e67 206f 7074 696f 6e73 2c20 rawing options, \n+00002b00: 2050 7265 763a 2049 6e74 726f 6475 6374 Prev: Introduct\n+00002b10: 696f 6e20 6279 2065 7861 6d70 6c65 2c20 ion by example, \n+00002b20: 2055 703a 2049 6e74 726f 6475 6374 696f Up: Introductio\n+00002b30: 6e20 6279 2065 7861 6d70 6c65 0a0a 322e n by example..2.\n+00002b40: 3120 4865 6c6c 6f20 776f 726c 640a 3d3d 1 Hello world.==\n+00002b50: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a54 =============..T\n+00002b60: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... \n+00002b70: 7072 6f67 7261 6d20 6162 6f76 6520 6973 program above is\n+00002b80: 206e 6561 726c 7920 7468 6520 7369 6d70 nearly the simp\n+00002b90: 6c65 7374 206f 6e65 2070 6f73 7369 626c lest one possibl\n+00002ba0: 652c 2074 6865 0a65 7175 6976 616c 656e e, the.equivalen\n+00002bb0: 7420 6f66 2061 2022 6865 6c6c 6f20 776f t of a \"hello wo\n+00002bc0: 726c 6422 2070 726f 6772 616d 2079 6f75 rld\" program you\n+00002bd0: 206d 6967 6874 2066 696e 6420 6174 2074 might find at t\n+00002be0: 6865 2073 7461 7274 206f 6620 610a 7072 he start of a.pr\n+00002bf0: 6f67 7261 6d6d 696e 6720 6c61 6e67 7561 ogramming langua\n+00002c00: 6765 2074 6578 742e 2020 4966 2069 7420 ge text. If it \n+00002c10: 6973 2073 6176 6564 2069 6e20 7468 6520 is saved in the \n+00002c20: 6669 6c65 20e2 8098 7369 6d70 6c65 2e73 file ...simple.s\n+00002c30: 6be2 8099 2c20 7468 656e 0a74 6865 2063 k..., then.the c\n+00002c40: 6f6d 6d61 6e64 0a20 2073 6b65 7463 6820 ommand. sketch \n+00002c50: 7369 6d70 6c65 2e73 6b20 2d6f 2073 696d simple.sk -o sim\n+00002c60: 706c 652e 7465 780a 6372 6561 7465 7320 ple.tex.creates \n+00002c70: 6120 6669 6c65 20e2 8098 7369 6d70 6c65 a file ...simple\n+00002c80: 2e74 6578 e280 9920 636f 6e74 6169 6e69 .tex... containi\n+00002c90: 6e67 20e2 8098 5053 5472 6963 6b73 e280 ng ...PSTricks..\n+00002ca0: 9920 636f 6d6d 616e 6473 2074 6f20 6472 . commands to dr\n+00002cb0: 6177 2074 6865 7365 0a6f 626a 6563 7473 aw these.objects\n+00002cc0: 206f 6e20 7061 7065 722e 2020 5468 6520 on paper. The \n+00002cd0: 636f 6e74 656e 7473 206f 6620 e280 9873 contents of ...s\n+00002ce0: 696d 706c 652e 7465 78e2 8099 206c 6f6f imple.tex... loo\n+00002cf0: 6b20 6c69 6b65 2074 6869 732e 0a20 205c k like this.. \\\n+00002d00: 6265 6769 6e7b 7073 7069 6374 7572 657d begin{pspicture}\n+00002d10: 282d 312c 2d31 2928 322c 3229 0a20 205c (-1,-1)(2,2). \\\n+00002d20: 7073 7456 6572 627b 3120 7365 746c 696e pstVerb{1 setlin\n+00002d30: 656a 6f69 6e7d 0a20 205c 7073 6c69 6e65 ejoin}. \\psline\n+00002d40: 282d 312c 2d31 2928 2e33 3333 2c2e 3333 (-1,-1)(.333,.33\n+00002d50: 3329 0a20 205c 7073 706f 6c79 676f 6e5b 3). \\pspolygon[\n+00002d60: 6669 6c6c 7374 796c 653d 736f 6c69 642c fillstyle=solid,\n+00002d70: 6669 6c6c 636f 6c6f 723d 7768 6974 655d fillcolor=white]\n+00002d80: 2830 2c30 2928 312c 3029 2830 2c31 290a (0,0)(1,0)(0,1).\n+00002d90: 2020 5c70 736c 696e 6528 2e33 3333 2c2e \\psline(.333,.\n+00002da0: 3333 3329 2832 2c32 290a 2020 5c65 6e64 333)(2,2). \\end\n+00002db0: 7b70 7370 6963 7475 7265 7d0a 5468 6520 {pspicture}.The \n+00002dc0: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a\n+00002dd0: 6c67 6f72 6974 686d 206f 6620 e280 9873 lgorithm of ...s\n+00002de0: 6b65 7463 68e2 8099 2068 6173 2073 706c ketch... has spl\n+00002df0: 6974 2074 6865 206c 696e 6520 696e 746f it the line into\n+00002e00: 2074 776f 0a70 6965 6365 7320 616e 6420 two.pieces and \n+00002e10: 6f72 6465 7265 6420 7468 6520 7468 7265 ordered the thre\n+00002e20: 6520 7265 7375 6c74 696e 6720 6f62 6a65 e resulting obje\n+00002e30: 6374 7320 736f 2074 6861 7420 7468 6520 cts so that the \n+00002e40: 636f 7272 6563 740a 706f 7274 696f 6e20 correct.portion \n+00002e50: 6f66 2074 6865 206c 696e 6520 6973 2068 of the line is h\n+00002e60: 6964 6465 6e2e 0a0a 2020 2049 6620 796f idden... If yo\n+00002e70: 7527 7665 206e 6f74 6963 6564 2074 6861 u've noticed tha\n+00002e80: 7420 7468 6520 7072 6f6a 6563 7469 6f6e t the projection\n+00002e90: 2077 6520 6172 6520 7573 696e 6720 7365 we are using se\n+00002ea0: 656d 7320 6571 7569 7661 6c65 6e74 0a74 ems equivalent.t\n+00002eb0: 6f20 6572 6173 696e 6720 7468 6520 7a2d o erasing the z-\n+00002ec0: 636f 6f72 6469 6e61 7465 206f 6620 7468 coordinate of th\n+00002ed0: 6520 7468 7265 652d 6469 6d65 6e73 696f e three-dimensio\n+00002ee0: 6e61 6c20 696e 7075 7420 706f 696e 7473 nal input points\n+00002ef0: 2c20 7061 740a 796f 7572 7365 6c66 206f , pat.yourself o\n+00002f00: 6e20 7468 6520 6261 636b 2e20 2059 6f75 n the back. You\n+00002f10: 2061 7265 2063 6f72 7265 6374 2e20 2054 are correct. T\n+00002f20: 6869 7320 6973 2063 616c 6c65 6420 6120 his is called a \n+00002f30: e280 9c70 6172 616c 6c65 6c0a 7072 6f6a ...parallel.proj\n+00002f40: 6563 7469 6f6e e280 9d2e 2020 5468 6520 ection.... The \n+00002f50: 7a2d 636f 6f72 6469 6e61 7465 2061 7869 z-coordinate axi\n+00002f60: 7320 6973 2070 6f69 6e74 696e 6720 7374 s is pointing st\n+00002f70: 7261 6967 6874 206f 7574 206f 6620 7468 raight out of th\n+00002f80: 650a 7061 7065 7220 6174 2075 732c 2077 e.paper at us, w\n+00002f90: 6869 6c65 2074 6865 2078 2d20 616e 6420 hile the x- and \n+00002fa0: 792d 6178 6573 2070 6f69 6e74 2074 6f20 y-axes point to \n+00002fb0: 7468 6520 7269 6768 7420 616e 6420 7570 the right and up\n+00002fc0: 2061 7320 7573 7561 6c2e 0a0a 2020 2054 as usual... T\n+00002fd0: 6865 2072 6573 756c 7469 6e67 2070 6963 he resulting pic\n+00002fe0: 7475 7265 2066 696c 6520 6361 6e20 6265 ture file can be\n+00002ff0: 2069 6e63 6c75 6465 6420 696e 2061 204c included in a L\n+00003000: 6154 6558 2064 6f63 756d 656e 7420 7769 aTeX document wi\n+00003010: 7468 0a5c 696e 7075 747b 7369 6d70 6c65 th.\\input{simple\n+00003020: 7d2e 2020 416c 7465 726e 6174 656c 792c }. Alternately,\n+00003030: 2061 6464 696e 6720 7468 6520 636f 6d6d adding the comm\n+00003040: 616e 6420 6c69 6e65 206f 7074 696f 6e20 and line option \n+00003050: e280 982d 54e2 8099 2831 290a 6361 7573 ...-T...(1).caus\n+00003060: 6573 2074 6865 20e2 8098 7073 7069 6374 es the ...pspict\n+00003070: 7572 65e2 8099 2074 6f20 6265 2077 7261 ure... to be wra\n+00003080: 7070 6564 2069 6e20 6120 7368 6f72 7420 pped in a short \n+00003090: 6275 7420 636f 6d70 6c65 7465 2064 6f63 but complete doc\n+000030a0: 756d 656e 742c 0a72 6561 6479 2074 6f20 ument,.ready to \n+000030b0: 7275 6e20 7468 6f75 6768 204c 6154 6558 run though LaTeX\n+000030c0: 2e20 2049 6e20 6120 6669 6e69 7368 6564 . In a finished\n+000030d0: 2c20 7479 7065 7365 7420 646f 6375 6d65 , typeset docume\n+000030e0: 6e74 2c20 7468 6520 7069 6374 7572 650a nt, the picture.\n+000030f0: 6c6f 6f6b 7320 6c69 6b65 2074 6869 732e looks like this.\n+00003100: 2020 2854 6865 2061 7865 7320 6861 7665 (The axes have\n+00003110: 2062 6565 6e20 6164 6465 6420 696e 206c been added in l\n+00003120: 6967 6874 2067 7261 792e 290a 0a00 085b ight gray.)....[\n+00003130: 696d 6167 6520 7372 633d 2265 7830 3230 image src=\"ex020\n+00003140: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png\" text=\"Imag\n+00003150: 6520 6578 3032 3020 6f6d 6974 7465 6420 e ex020 omitted \n+00003160: 696e 2074 6578 7420 7665 7273 696f 6e20 in text version \n+00003170: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document\n+00003180: 2e22 0008 5d0a 0a49 7420 6973 2069 6d70 .\"..]..It is imp\n+00003190: 6f72 7461 6e74 2074 6f20 6b6e 6f77 2074 ortant to know t\n+000031a0: 6861 7420 6f6e 6c79 2074 6865 2022 6f75 hat only the \"ou\n+000031b0: 7473 6964 6522 206f 6620 6120 706f 6c79 tside\" of a poly\n+000031c0: 676f 6e20 6973 206e 6f72 6d61 6c6c 790a gon is normally.\n+000031d0: 6472 6177 6e2e 2020 5468 6520 e280 9c6f drawn. The ...o\n+000031e0: 7574 7369 6465 e280 9d20 6973 2077 6865 utside... is whe\n+000031f0: 7265 2074 6865 2076 6572 7469 6365 7320 re the vertices \n+00003200: 6769 7665 6e20 696e 2074 6865 20e2 8098 given in the ...\n+00003210: 706f 6c79 676f 6ee2 8099 0a63 6f6d 6d61 polygon....comma\n+00003220: 6e64 2061 7070 6561 7220 696e 205f 636f nd appear in _co\n+00003230: 756e 7465 722d 636c 6f63 6b77 6973 655f unter-clockwise_\n+00003240: 206f 7264 6572 2e20 2054 6875 732c 2069 order. Thus, i\n+00003250: 6620 7468 6520 636f 6d6d 616e 6420 6162 f the command ab\n+00003260: 6f76 650a 6861 6420 6265 656e 0a20 2070 ove.had been. p\n+00003270: 6f6c 7967 6f6e 2830 2c31 2c30 2928 312c olygon(0,1,0)(1,\n+00003280: 302c 3029 2830 2c30 2c31 290a 7468 6520 0,0)(0,0,1).the \n+00003290: 706f 6c79 676f 6e20 776f 756c 6420 6e6f polygon would no\n+000032a0: 7420 6170 7065 6172 2069 6e20 7468 6520 t appear in the \n+000032b0: 7069 6374 7572 6520 6174 2061 6c6c 2e20 picture at all. \n+000032c0: 2049 7420 776f 756c 6420 6861 7665 2062 It would have b\n+000032d0: 6565 6e0a e280 9c63 756c 6c65 64e2 809d een....culled...\n+000032e0: 2066 726f 6d20 7468 6520 7363 656e 652e from the scene.\n+000032f0: 2020 5468 6973 2063 756c 6c69 6e67 2062 This culling b\n+00003300: 6568 6176 696f 7220 6d61 7920 7365 656d ehavior may seem\n+00003310: 2073 7472 616e 6765 2c20 6275 740a 7374 strange, but.st\n+00003320: 6179 2074 756e 6564 2e0a 0a20 2020 2d2d ay tuned... --\n+00003330: 2d2d 2d2d 2d2d 2d2d 2046 6f6f 746e 6f74 -------- Footnot\n+00003340: 6573 202d 2d2d 2d2d 2d2d 2d2d 2d0a 0a20 es ----------.. \n+00003350: 2020 2831 2920 4f72 2066 6f72 2045 7572 (1) Or for Eur\n+00003360: 6f70 6561 6e20 7573 6572 7320 6f66 2041 opean users of A\n+00003370: 3420 7369 7a65 2070 6170 6572 2c20 e280 4 size paper, ..\n+00003380: 982d 5465 e280 992e 0a0a 1f0a 4669 6c65 .-Te........File\n+00003390: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+000033a0: 4e6f 6465 3a20 4472 6177 696e 6720 6f70 Node: Drawing op\n+000033b0: 7469 6f6e 732c 2020 4e65 7874 3a20 4472 tions, Next: Dr\n+000033c0: 6177 696e 6720 6120 736f 6c69 642c 2020 awing a solid, \n+000033d0: 5072 6576 3a20 4865 6c6c 6f20 776f 726c Prev: Hello worl\n+000033e0: 642c 2020 5570 3a20 496e 7472 6f64 7563 d, Up: Introduc\n+000033f0: 7469 6f6e 2062 7920 6578 616d 706c 650a tion by example.\n+00003400: 0a32 2e32 204f 7074 696f 6e73 0a3d 3d3d .2.2 Options.===\n+00003410: 3d3d 3d3d 3d3d 3d3d 0a0a 4d61 6e79 20e2 ========..Many .\n+00003420: 8098 5053 5472 6963 6b73 e280 9920 616e ..PSTricks... an\n+00003430: 6420 e280 9854 696b 5a2f 5047 46e2 8099 d ...TikZ/PGF...\n+00003440: 206f 7074 696f 6e73 2077 6f72 6b20 6a75 options work ju\n+00003450: 7374 2066 696e 6520 696e 20e2 8098 736b st fine in ...sk\n+00003460: 6574 6368 e280 992e 2020 4966 0a67 656e etch.... If.gen\n+00003470: 6572 6174 696e 6720 e280 9850 5354 7269 erating ...PSTri\n+00003480: 636b 73e2 8099 2c20 7468 6520 636f 6465 cks..., the code\n+00003490: 0a20 2070 6f6c 7967 6f6e 5b66 696c 6c63 . polygon[fillc\n+000034a0: 6f6c 6f72 3d6c 6967 6874 6772 6179 2c6c olor=lightgray,l\n+000034b0: 696e 6577 6964 7468 3d33 7074 5d28 302c inewidth=3pt](0,\n+000034c0: 302c 3129 2831 2c30 2c30 2928 302c 312c 0,1)(1,0,0)(0,1,\n+000034d0: 3029 0a20 206c 696e 655b 6c69 6e65 7374 0). line[linest\n+000034e0: 796c 653d 646f 7474 6564 5d28 2d31 2c2d yle=dotted](-1,-\n+000034f0: 312c 2d31 2928 322c 322c 3229 0a70 726f 1,-1)(2,2,2).pro\n+00003500: 6475 6365 730a 0a00 085b 696d 6167 6520 duces....[image \n+00003510: 7372 633d 2265 7830 3330 2e70 6e67 2220 src=\"ex030.png\" \n+00003520: 7465 7874 3d22 496d 6167 6520 6578 3033 text=\"Image ex03\n+00003530: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex\n+00003540: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi\n+00003550: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document.\"..].\n+00003560: 0a20 2020 546f 2070 726f 6475 6365 20e2 . To produce .\n+00003570: 8098 5469 6b5a 2f50 4746 e280 992c 2074 ..TikZ/PGF..., t\n+00003580: 6865 2063 6f72 7265 7370 6f6e 6469 6e67 he corresponding\n+00003590: 2063 6f64 6520 6973 0a20 2070 6f6c 7967 code is. polyg\n+000035a0: 6f6e 5b66 696c 6c3d 6c69 6768 7467 7261 on[fill=lightgra\n+000035b0: 792c 6c69 6e65 2077 6964 7468 3d33 7074 y,line width=3pt\n+000035c0: 5d28 302c 302c 3129 2831 2c30 2c30 2928 ](0,0,1)(1,0,0)(\n+000035d0: 302c 312c 3029 0a20 206c 696e 655b 7374 0,1,0). line[st\n+000035e0: 796c 653d 646f 7474 6564 5d28 2d31 2c2d yle=dotted](-1,-\n+000035f0: 312c 2d31 2928 322c 322c 3229 0a20 2067 1,-1)(2,2,2). g\n+00003600: 6c6f 6261 6c20 7b20 6c61 6e67 7561 6765 lobal { language\n+00003610: 2074 696b 7a20 7d0a 5468 6520 6669 6e61 tikz }.The fina\n+00003620: 6c20 e280 9867 6c6f 6261 6ce2 8099 2069 l ...global... i\n+00003630: 6e73 7472 7563 7473 20e2 8098 736b 6574 nstructs ...sket\n+00003640: 6368 e280 9920 746f 2070 726f 6475 6365 ch... to produce\n+00003650: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... \n+00003660: 636f 6465 2061 730a 6f75 7470 7574 2072 code as.output r\n+00003670: 6174 6865 7220 7468 616e 2074 6865 2064 ather than the d\n+00003680: 6566 6175 6c74 2c20 e280 9850 5354 7269 efault, ...PSTri\n+00003690: 636b 73e2 8099 2e20 204e 6f74 6520 7468 cks.... Note th\n+000036a0: 6174 20e2 8098 706f 6c79 676f 6ee2 8099 at ...polygon...\n+000036b0: 2066 696c 6c0a 636f 6c6f 7220 616e 6420 fill.color and \n+000036c0: e280 986c 696e 65e2 8099 2073 7479 6c65 ...line... style\n+000036d0: 206f 7074 696f 6e73 2062 6f74 6820 636f options both co\n+000036e0: 6e66 6f72 6d20 746f 20e2 8098 5469 6b5a nform to ...TikZ\n+000036f0: e280 9920 7379 6e74 6178 2072 756c 6573 ... syntax rules\n+00003700: 2e20 2054 6865 0a72 6573 756c 7469 6e67 . The.resulting\n+00003710: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... \n+00003720: 6f75 7470 7574 2069 730a 2020 5c62 6567 output is. \\beg\n+00003730: 696e 7b74 696b 7a70 6963 7475 7265 7d5b in{tikzpicture}[\n+00003740: 6a6f 696e 3d72 6f75 6e64 5d0a 2020 5c64 join=round]. \\d\n+00003750: 7261 775b 646f 7474 6564 5d28 2d31 2c2d raw[dotted](-1,-\n+00003760: 3129 2d2d 282e 3333 332c 2e33 3333 293b 1)--(.333,.333);\n+00003770: 0a20 205c 6669 6c6c 6472 6177 5b66 696c . \\filldraw[fil\n+00003780: 6c3d 6c69 6768 7467 7261 792c 6c69 6e65 l=lightgray,line\n+00003790: 2077 6964 7468 3d33 7074 5d28 302c 3029 width=3pt](0,0)\n+000037a0: 2d2d 2831 2c30 292d 2d28 302c 3129 2d2d --(1,0)--(0,1)--\n+000037b0: 6379 636c 653b 0a20 205c 6472 6177 5b64 cycle;. \\draw[d\n+000037c0: 6f74 7465 645d 282e 3333 332c 2e33 3333 otted](.333,.333\n+000037d0: 292d 2d28 322c 3229 3b0a 2020 5c65 6e64 )--(2,2);. \\end\n+000037e0: 7b74 696b 7a70 6963 7475 7265 7d0a 5468 {tikzpicture}.Th\n+000037f0: 6520 7265 6d61 696e 696e 6720 6578 616d e remaining exam\n+00003800: 706c 6573 206f 6620 7468 6973 206d 616e ples of this man\n+00003810: 7561 6c20 6172 6520 696e 2050 5354 7269 ual are in PSTri\n+00003820: 636b 7320 7374 796c 652e 0a0a 1f0a 4669 cks style.....Fi\n+00003830: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+00003840: 2020 4e6f 6465 3a20 4472 6177 696e 6720 Node: Drawing \n+00003850: 6120 736f 6c69 642c 2020 4e65 7874 3a20 a solid, Next: \n+00003860: 5370 6563 6961 6c20 6f62 6a65 6374 732c Special objects,\n+00003870: 2020 5072 6576 3a20 4472 6177 696e 6720 Prev: Drawing \n+00003880: 6f70 7469 6f6e 732c 2020 5570 3a20 496e options, Up: In\n+00003890: 7472 6f64 7563 7469 6f6e 2062 7920 6578 troduction by ex\n+000038a0: 616d 706c 650a 0a32 2e33 2044 7261 7769 ample..2.3 Drawi\n+000038b0: 6e67 2061 2073 6f6c 6964 0a3d 3d3d 3d3d ng a solid.=====\n+000038c0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a ==============..\n+000038d0: 4c65 7427 7320 7472 7920 736f 6d65 7468 Let's try someth\n+000038e0: 696e 6720 6d6f 7265 2065 7863 6974 696e ing more excitin\n+000038f0: 672e 2020 e280 9853 6b65 7463 68e2 8099 g. ...Sketch...\n+00003900: 2068 6173 206e 6f20 6e6f 7469 6f6e 206f has no notion o\n+00003910: 6620 6120 736f 6c69 642c 0a62 7574 2070 f a solid,.but p\n+00003920: 6f6c 7967 6f6e 616c 20e2 809c 6661 6365 olygonal ...face\n+00003930: 73e2 809d 2063 616e 2062 6520 7573 6564 s... can be used\n+00003940: 2074 6f20 7265 7072 6573 656e 7420 7468 to represent th\n+00003950: 6520 626f 756e 6461 7279 206f 6620 6120 e boundary of a \n+00003960: 736f 6c69 642e 0a54 6f20 7468 6520 7072 solid..To the pr\n+00003970: 6576 696f 7573 2065 7861 6d70 6c65 2c20 evious example, \n+00003980: 6c65 7427 7320 6164 6420 7468 7265 6520 let's add three \n+00003990: 6d6f 7265 2074 7269 616e 6775 6c61 7220 more triangular \n+000039a0: 706f 6c79 676f 6e73 2074 6f0a 6d61 6b65 polygons to.make\n+000039b0: 2074 6865 2066 6163 6573 206f 6620 616e the faces of an\n+000039c0: 2069 7272 6567 756c 6172 2074 6574 7261 irregular tetra\n+000039d0: 6865 6472 6f6e 2e0a 2020 2520 7665 7274 hedron.. % vert\n+000039e0: 6963 6573 206f 6620 7468 6520 7465 7472 ices of the tetr\n+000039f0: 6168 6564 726f 6e0a 2020 6465 6620 7031 ahedron. def p1\n+00003a00: 2028 302c 302c 3129 2064 6566 2070 3220 (0,0,1) def p2 \n+00003a10: 2831 2c30 2c30 290a 2020 6465 6620 7033 (1,0,0). def p3\n+00003a20: 2028 302c 312c 3029 2064 6566 2070 3420 (0,1,0) def p4 \n+00003a30: 282d 2e33 2c2d 2e35 2c2d 2e38 290a 0a20 (-.3,-.5,-.8).. \n+00003a40: 2025 2066 6163 6573 206f 6620 7468 6520 % faces of the \n+00003a50: 7465 7472 6168 6564 726f 6e2e 0a20 2070 tetrahedron.. p\n+00003a60: 6f6c 7967 6f6e 2870 3129 2870 3229 2870 olygon(p1)(p2)(p\n+00003a70: 3329 2025 206f 7269 6769 6e61 6c20 6672 3) % original fr\n+00003a80: 6f6e 7420 706f 6c79 676f 6e0a 2020 706f ont polygon. po\n+00003a90: 6c79 676f 6e28 7031 2928 7034 2928 7032 lygon(p1)(p4)(p2\n+00003aa0: 2920 2520 626f 7474 6f6d 0a20 2070 6f6c ) % bottom. pol\n+00003ab0: 7967 6f6e 2870 3129 2870 3329 2870 3429 ygon(p1)(p3)(p4)\n+00003ac0: 2025 206c 6566 740a 2020 706f 6c79 676f % left. polygo\n+00003ad0: 6e28 7033 2928 7032 2928 7034 2920 2520 n(p3)(p2)(p4) % \n+00003ae0: 7265 6172 0a0a 2020 2520 6c69 6e65 2074 rear.. % line t\n+00003af0: 6f20 7069 6572 6365 2074 6865 2074 6574 o pierce the tet\n+00003b00: 7261 6865 6472 6f6e 0a20 206c 696e 655b rahedron. line[\n+00003b10: 6c69 6e65 636f 6c6f 723d 7265 645d 282d linecolor=red](-\n+00003b20: 312c 2d31 2c2d 3129 2832 2c32 2c32 290a 1,-1,-1)(2,2,2).\n+00003b30: 5468 6973 2065 7861 6d70 6c65 2075 7365 This example use\n+00003b40: 7320 e280 9c64 6566 696e 6974 696f 6e73 s ...definitions\n+00003b50: e280 9d2c 2077 6869 6368 2062 6567 696e ..., which begin\n+00003b60: 2077 6974 6820 e280 9864 6566 e280 992e with ...def....\n+00003b70: 2020 5468 6573 6520 e280 9c64 6566 696e These ...defin\n+00003b80: 65e2 809d 0a6f 7220 6769 7665 206e 616d e....or give nam\n+00003b90: 6573 2074 6f20 706f 696e 7473 2c20 7768 es to points, wh\n+00003ba0: 6963 6820 6172 6520 7468 656e 2061 7661 ich are then ava\n+00003bb0: 696c 6162 6c65 2061 7320 e280 9c72 6566 ilable as ...ref\n+00003bc0: 6572 656e 6365 73e2 809d 2062 790a 656e erences... by.en\n+00003bd0: 636c 6f73 696e 6720 7468 6520 6e61 6d65 closing the name\n+00003be0: 7320 696e 2070 6172 656e 7468 6573 6573 s in parentheses\n+00003bf0: 2c20 652e 672e 2028 666f 6f29 2e20 2054 , e.g. (foo). T\n+00003c00: 6865 2070 6172 656e 7468 6573 6573 2064 he parentheses d\n+00003c10: 656e 6f74 650a 7468 6174 2074 6865 206e enote.that the n\n+00003c20: 616d 6573 2072 6566 6572 2074 6f20 706f ames refer to po\n+00003c30: 696e 7473 3b20 7468 6579 2061 7265 2072 ints; they are r\n+00003c40: 6571 7569 7265 642e 2020 5468 6572 6520 equired. There \n+00003c50: 6361 6e20 6265 206e 6f0a 7768 6974 6520 can be no.white \n+00003c60: 7370 6163 6520 6265 7477 6565 6e20 7468 space between th\n+00003c70: 656d 2061 6e64 2074 6865 206e 616d 652e em and the name.\n+00003c80: 0a0a 2020 2041 7320 796f 7520 6361 6e20 .. As you can \n+00003c90: 7365 652c 2063 6f6d 6d65 6e74 7320 7374 see, comments st\n+00003ca0: 6172 7420 7769 7468 2025 2061 7320 696e art with % as in\n+00003cb0: 2054 6558 2061 6e64 2065 7874 656e 6420 TeX and extend \n+00003cc0: 746f 2074 6865 2065 6e64 0a6f 6620 7468 to the end.of th\n+00003cd0: 6520 6c69 6e65 2028 7468 6f75 6768 2023 e line (though #\n+00003ce0: 2077 696c 6c20 776f 726b 2061 7320 7765 will work as we\n+00003cf0: 6c6c 292e 2020 5768 6974 6520 7370 6163 ll). White spac\n+00003d00: 652c 2069 6e63 6c75 6469 6e67 0a73 7061 e, including.spa\n+00003d10: 6365 732c 2074 6162 7320 616e 6420 626c ces, tabs and bl\n+00003d20: 616e 6b20 6c69 6e65 732c 2068 6173 206e ank lines, has n\n+00003d30: 6f20 6566 6665 6374 2069 6e20 7468 6520 o effect in the \n+00003d40: e280 9873 6b65 7463 68e2 8099 206c 616e ...sketch... lan\n+00003d50: 6775 6167 652e 0a0a 0008 5b69 6d61 6765 guage.....[image\n+00003d60: 2073 7263 3d22 6578 3034 302e 706e 6722 src=\"ex040.png\"\n+00003d70: 2074 6578 743d 2249 6d61 6765 2065 7830 text=\"Image ex0\n+00003d80: 3430 206f 6d69 7474 6564 2069 6e20 7465 40 omitted in te\n+00003d90: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th\n+00003da0: 6973 2064 6f63 756d 656e 742e 2200 085d is document.\"..]\n+00003db0: 0a0a 4966 2077 6520 6c6f 6f6b 2069 6e73 ..If we look ins\n+00003dc0: 6964 6520 7468 6520 5465 5820 6669 6c65 ide the TeX file\n+00003dd0: 2070 726f 6475 6365 6420 6279 20e2 8098 produced by ...\n+00003de0: 736b 6574 6368 e280 992c 2074 6865 7265 sketch..., there\n+00003df0: 2077 696c 6c20 6265 206f 6e6c 790a 7468 will be only.th\n+00003e00: 7265 6520 706f 6c79 676f 6e73 2e20 2054 ree polygons. T\n+00003e10: 6865 2066 6f75 7274 6820 6861 7320 6265 he fourth has be\n+00003e20: 656e 2063 756c 6c65 6420 6265 6361 7573 en culled becaus\n+00003e30: 6520 6974 2069 7320 6120 2262 6163 6b20 e it is a \"back \n+00003e40: 6661 6365 220a 6f66 2074 6865 2074 6574 face\".of the tet\n+00003e50: 7261 6865 6472 6f6e 2c20 696e 7669 7369 rahedron, invisi\n+00003e60: 626c 6520 746f 206f 7572 2076 6965 772e ble to our view.\n+00003e70: 2020 4974 2069 7320 756e 6e65 6365 7373 It is unnecess\n+00003e80: 6172 792c 2061 6e64 2073 6f20 6974 0a69 ary, and so it.i\n+00003e90: 7320 7265 6d6f 7665 642e 0a0a 2020 2049 s removed... I\n+00003ea0: 6e20 736f 6d65 2064 7261 7769 6e67 732c n some drawings,\n+00003eb0: 2070 6f6c 7967 6f6e 7320 6163 7420 6173 polygons act as\n+00003ec0: 207a 6572 6f2d 7468 6963 6b6e 6573 7320 zero-thickness \n+00003ed0: 736f 6c69 6420 7375 7266 6163 6573 2077 solid surfaces w\n+00003ee0: 6974 680a 626f 7468 2073 6964 6573 2076 ith.both sides v\n+00003ef0: 6973 6962 6c65 2072 6174 6865 7220 7468 isible rather th\n+00003f00: 616e 2061 7320 7468 6520 6661 6365 7320 an as the faces \n+00003f10: 6f66 2073 6f6c 6964 206f 626a 6563 7473 of solid objects\n+00003f20: 2c20 7768 6572 6520 6261 636b 0a66 6163 , where back.fac\n+00003f30: 6573 2063 616e 2062 6520 6375 6c6c 6564 es can be culled\n+00003f40: 2e20 2046 6f72 207a 6572 6f2d 7468 6963 . For zero-thic\n+00003f50: 6b6e 6573 7320 736f 6c69 6473 2c20 6375 kness solids, cu\n+00003f60: 6c6c 696e 6720 6973 2061 2070 726f 626c lling is a probl\n+00003f70: 656d 2e0a 4f6e 6520 736f 6c75 7469 6f6e em..One solution\n+00003f80: 2069 7320 746f 2075 7365 2061 2070 6169 is to use a pai\n+00003f90: 7220 6f66 20e2 8098 736b 6574 6368 e280 r of ...sketch..\n+00003fa0: 9920 706f 6c79 676f 6e73 2066 6f72 2065 . polygons for e\n+00003fb0: 6163 680a 7a65 726f 2d74 6869 636b 6e65 ach.zero-thickne\n+00003fc0: 7373 2066 6163 652c 2069 6465 6e74 6963 ss face, identic\n+00003fd0: 616c 2065 7863 6570 7420 7769 7468 206f al except with o\n+00003fe0: 7070 6f73 6974 6520 7665 7274 6578 206f pposite vertex o\n+00003ff0: 7264 6572 732e 2020 5468 6973 0a69 7320 rders. This.is \n+00004000: 756e 7769 656c 6479 2061 6e64 2065 7870 unwieldy and exp\n+00004010: 656e 7369 7665 2e20 2041 2062 6574 7465 ensive. A bette\n+00004020: 7220 7761 7920 6973 2074 6f20 7365 7420 r way is to set \n+00004030: 7468 6520 e280 9873 6b65 7463 68e2 8099 the ...sketch...\n+00004040: 2069 6e74 6572 6e61 6c0a 6f70 7469 6f6e internal.option\n+00004050: 20e2 8098 6375 6c6c e280 9920 746f 20e2 ...cull... to .\n+00004060: 8098 6661 6c73 65e2 8099 2069 6e20 7468 ..false... in th\n+00004070: 6520 7573 7561 6c20 e280 9850 5354 7269 e usual ...PSTri\n+00004080: 636b 73e2 8099 206d 616e 6e65 722e 0a20 cks... manner.. \n+00004090: 2070 6f6c 7967 6f6e 5b63 756c 6c3d 6661 polygon[cull=fa\n+000040a0: 6c73 655d 2870 3129 2870 3229 2870 3329 lse](p1)(p2)(p3)\n+000040b0: 0a54 6865 2066 6f6c 6c6f 7769 6e67 2073 .The following s\n+000040c0: 686f 7773 2074 6865 2073 616d 6520 6865 hows the same he\n+000040d0: 6c69 7820 7368 6170 6520 6472 6177 6e20 lix shape drawn \n+000040e0: 6669 7273 7420 7769 7468 2063 756c 6c3d first with cull=\n+000040f0: 7472 7565 2028 7468 650a 6465 6661 756c true (the.defaul\n+00004100: 7429 2061 6e64 2074 6865 6e20 6375 6c6c t) and then cull\n+00004110: 3d66 616c 7365 2e0a 0a00 085b 696d 6167 =false.....[imag\n+00004120: 6520 7372 633d 2265 7830 3435 2e70 6e67 e src=\"ex045.png\n+00004130: 2220 7465 7874 3d22 496d 6167 6520 6578 \" text=\"Image ex\n+00004140: 3034 3520 6f6d 6974 7465 6420 696e 2074 045 omitted in t\n+00004150: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t\n+00004160: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.\"..\n+00004170: 5d0a 0a57 6527 6c6c 2073 6f6f 6e20 7365 ]..We'll soon se\n+00004180: 6520 686f 7720 746f 2070 726f 6475 6365 e how to produce\n+00004190: 2074 6865 7365 2068 656c 6978 6573 2077 these helixes w\n+000041a0: 6974 6820 6120 6665 7720 6c69 6e65 7320 ith a few lines \n+000041b0: 6f66 20e2 8098 736b 6574 6368 e280 990a of ...sketch....\n+000041c0: 6c61 6e67 7561 6765 2063 6f64 652e 0a0a language code...\n+000041d0: 2020 2049 7420 6d61 7920 6265 2074 656d It may be tem\n+000041e0: 7074 696e 6720 746f 2074 7572 6e20 6375 pting to turn cu\n+000041f0: 6c6c 696e 6720 6f66 6620 6772 6174 7569 lling off gratui\n+00004200: 746f 7573 6c79 2073 6f20 7468 6174 2076 tously so that v\n+00004210: 6572 7465 780a 6f72 6465 7220 6361 6e20 ertex.order can \n+00004220: 6265 2069 676e 6f72 6564 2e20 2054 6869 be ignored. Thi\n+00004230: 7320 6973 206e 6f74 2061 2067 6f6f 6420 s is not a good \n+00004240: 6964 6561 2062 6563 6175 7365 206f 7574 idea because out\n+00004250: 7075 7420 6669 6c65 2073 697a 650a 616e put file size.an\n+00004260: 6420 5465 5820 616e 6420 506f 7374 7363 d TeX and Postsc\n+00004270: 7269 7074 2070 726f 6365 7373 696e 6720 ript processing \n+00004280: 7469 6d65 2062 6f74 6820 6465 7065 6e64 time both depend\n+00004290: 206f 6e20 7468 6520 6e75 6d62 6572 206f on the number o\n+000042a0: 660a 6f75 7470 7574 2070 6f6c 7967 6f6e f.output polygon\n+000042b0: 732e 2020 4375 6c6c 696e 6720 7573 7561 s. Culling usua\n+000042c0: 6c6c 7920 696d 7072 6f76 6573 2070 6572 lly improves per\n+000042d0: 666f 726d 616e 6365 2062 7920 6120 6661 formance by a fa\n+000042e0: 6374 6f72 206f 660a 7477 6f2e 2020 4f6e ctor of.two. On\n+000042f0: 2074 6865 206f 7468 6572 2068 616e 642c the other hand,\n+00004300: 2067 6c6f 6261 6c6c 7920 7365 7474 696e globally settin\n+00004310: 6720 e280 9863 756c 6c3d 6661 6c73 65e2 g ...cull=false.\n+00004320: 8099 2069 7320 7265 6173 6f6e 6162 6c65 .. is reasonable\n+00004330: 0a77 6869 6c65 2064 6562 7567 6769 6e67 .while debugging\n+00004340: 2e20 2053 6565 202a 6e6f 7465 2047 6c6f . See *note Glo\n+00004350: 6261 6c20 6f70 7469 6f6e 733a 3a20 616e bal options:: an\n+00004360: 6420 2a6e 6f74 6520 4c69 6d69 7473 206f d *note Limits o\n+00004370: 6e20 6572 726f 720a 6465 7465 6374 696f n error.detectio\n+00004380: 6e3a 3a2e 0a0a 1f0a 4669 6c65 3a20 736b n::.....File: sk\n+00004390: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+000043a0: 3a20 5370 6563 6961 6c20 6f62 6a65 6374 : Special object\n+000043b0: 732c 2020 4e65 7874 3a20 4f62 6a65 6374 s, Next: Object\n+000043c0: 2074 7261 6e73 666f 726d 732c 2020 5072 transforms, Pr\n+000043d0: 6576 3a20 4472 6177 696e 6720 6120 736f ev: Drawing a so\n+000043e0: 6c69 642c 2020 5570 3a20 496e 7472 6f64 lid, Up: Introd\n+000043f0: 7563 7469 6f6e 2062 7920 6578 616d 706c uction by exampl\n+00004400: 650a 0a32 2e34 2053 7065 6369 616c 206f e..2.4 Special o\n+00004410: 626a 6563 7473 0a3d 3d3d 3d3d 3d3d 3d3d bjects.=========\n+00004420: 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 5765 2063 ==========..We c\n+00004430: 616e 2061 6464 206c 6162 656c 7320 746f an add labels to\n+00004440: 2061 2064 7261 7769 6e67 2062 7920 7573 a drawing by us\n+00004450: 696e 6720 7370 6563 6961 6c20 6f62 6a65 ing special obje\n+00004460: 6374 732c 2077 6869 6368 2070 726f 7669 cts, which provi\n+00004470: 6465 2061 0a77 6179 2074 6f20 656d 6265 de a.way to embe\n+00004480: 6420 7261 7720 4c61 5465 5820 616e 6420 d raw LaTeX and \n+00004490: e280 9850 5354 7269 636b 73e2 8099 2063 ...PSTricks... c\n+000044a0: 6f64 652e 2020 4164 6469 6e67 2074 6869 ode. Adding thi\n+000044b0: 7320 746f 2074 6865 0a74 6574 7261 6865 s to the.tetrahe\n+000044c0: 6472 6f6e 2064 6f65 7320 7468 6520 7472 dron does the tr\n+000044d0: 6963 6b2e 0a20 2073 7065 6369 616c 207c ick.. special |\n+000044e0: 5c66 6f6f 746e 6f74 6573 697a 650a 2020 \\footnotesize. \n+000044f0: 2020 2020 2020 2020 205c 7570 7574 7b32 \\uput{2\n+00004500: 7074 7d5b 7572 5d23 317b 2450 3124 7d0a pt}[ur]#1{$P1$}.\n+00004510: 2020 2020 2020 2020 2020 205c 7570 7574 \\uput\n+00004520: 5b72 5d23 327b 2450 3224 7d0a 2020 2020 [r]#2{$P2$}. \n+00004530: 2020 2020 2020 205c 7570 7574 5b75 5d23 \\uput[u]#\n+00004540: 337b 2450 3324 7d0a 2020 2020 2020 2020 3{$P3$}. \n+00004550: 2020 205c 7570 7574 5b64 5d23 347b 2450 \\uput[d]#4{$P\n+00004560: 3424 7d7c 0a20 2020 2028 7031 2928 7032 4$}|. (p1)(p2\n+00004570: 2928 7033 2928 7034 290a 4865 7265 2069 )(p3)(p4).Here i\n+00004580: 7320 7468 6520 7265 7375 6c74 2e0a 0a00 s the result....\n+00004590: 085b 696d 6167 6520 7372 633d 2265 7830 .[image src=\"ex0\n+000045a0: 3432 2e70 6e67 2220 7465 7874 3d22 496d 42.png\" text=\"Im\n+000045b0: 6167 6520 6578 3034 3220 6f6d 6974 7465 age ex042 omitte\n+000045c0: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio\n+000045d0: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume\n+000045e0: 6e74 2e22 0008 5d0a 0a20 2020 5468 6572 nt.\"..].. Ther\n+000045f0: 6520 6172 6520 7365 7665 7261 6c20 6465 e are several de\n+00004600: 7461 696c 7320 746f 206e 6f74 6520 6865 tails to note he\n+00004610: 7265 2e20 2046 6972 7374 2c20 7468 6520 re. First, the \n+00004620: 7175 6f74 696e 670a 636f 6e76 656e 7469 quoting.conventi\n+00004630: 6f6e 2066 6f72 2074 6865 2072 6177 2063 on for the raw c\n+00004640: 6f64 6520 6973 2073 696d 696c 6172 2074 ode is similar t\n+00004650: 6f20 7468 6520 4c61 5465 5820 5c76 6572 o the LaTeX \\ver\n+00004660: 6220 636f 6d6d 616e 642e 2020 5468 650a b command. The.\n+00004670: 6669 7273 7420 6e6f 6e2d 7768 6974 6520 first non-white \n+00004680: 7370 6163 6520 6368 6172 6163 7465 7220 space character \n+00004690: 666f 6c6c 6f77 696e 6720 7370 6563 6961 following specia\n+000046a0: 6c20 6973 2075 6e64 6572 7374 6f6f 6420 l is understood \n+000046b0: 746f 2062 650a 7468 6520 7175 6f74 6520 to be.the quote \n+000046c0: 6368 6172 6163 7465 722c 2069 6e20 7468 character, in th\n+000046d0: 6973 2063 6173 6520 e280 987c e280 992e is case ...|....\n+000046e0: 2020 5468 6520 7261 7720 7465 7874 2063 The raw text c\n+000046f0: 6f6e 7469 6e75 6573 2075 6e74 696c 0a74 ontinues until.t\n+00004700: 6869 7320 6368 6172 6163 7465 7220 7265 his character re\n+00004710: 6375 7273 2e0a 0a20 2020 5365 636f 6e64 curs... Second\n+00004720: 2c20 7468 6520 6172 6775 6d65 6e74 2072 , the argument r\n+00004730: 6566 6572 656e 6365 7320 2331 2c20 2332 eferences #1, #2\n+00004740: 2c20 2333 2c20 616e 6420 2334 2072 6566 , #3, and #4 ref\n+00004750: 6572 2074 6f20 706f 696e 742c 0a76 6563 er to point,.vec\n+00004760: 746f 722c 206f 7220 7363 616c 6172 2076 tor, or scalar v\n+00004770: 616c 7565 7320 696e 2074 6865 206c 6973 alues in the lis\n+00004780: 7420 7468 6174 2066 6f6c 6c6f 772e 2020 t that follow. \n+00004790: 5468 6973 2069 7320 7369 6d69 6c61 7220 This is similar \n+000047a0: 746f 0a54 6558 206d 6163 726f 2073 796e to.TeX macro syn\n+000047b0: 7461 782e 2020 5468 6520 7472 616e 7366 tax. The transf\n+000047c0: 6f72 6d65 6420 616e 6420 7477 6f2d 6469 ormed and two-di\n+000047d0: 6d65 6e73 696f 6e61 6c20 7072 6f6a 6563 mensional projec\n+000047e0: 7469 6f6e 7320 6f66 0a74 6865 7365 2074 tions of.these t\n+000047f0: 6872 6565 2d64 696d 656e 7369 6f6e 616c hree-dimensional\n+00004800: 2070 6f69 6e74 7320 6172 6520 7375 6273 points are subs\n+00004810: 7469 7475 7465 6420 696e 2074 6865 2066 tituted in the f\n+00004820: 696e 616c 206f 7574 7075 742e 2020 416e inal output. An\n+00004830: 0a61 7267 756d 656e 7420 7265 6665 7265 .argument refere\n+00004840: 6e63 6520 6f66 2074 6865 2066 6f72 6d20 nce of the form \n+00004850: 2331 2d32 2069 7320 7265 706c 6163 6564 #1-2 is replaced\n+00004860: 2077 6974 6820 7468 6520 616e 676c 6520 with the angle \n+00004870: 696e 0a64 6567 7265 6573 206f 6620 7468 in.degrees of th\n+00004880: 6520 7477 6f2d 6469 6d65 6e73 696f 6e61 e two-dimensiona\n+00004890: 6c20 7665 6374 6f72 2074 6861 7420 636f l vector that co\n+000048a0: 6e6e 6563 7473 2074 6865 2070 726f 6a65 nnects the proje\n+000048b0: 6374 696f 6e73 206f 660a 7468 6520 7477 ctions of.the tw\n+000048c0: 6f20 7265 7370 6563 7469 7665 2061 7267 o respective arg\n+000048d0: 756d 656e 7420 706f 696e 7473 2c20 6865 ument points, he\n+000048e0: 7265 2023 3120 616e 6420 2332 2e20 2054 re #1 and #2. T\n+000048f0: 6865 2073 7562 7374 6974 7574 6564 0a61 he substituted.a\n+00004900: 6e67 6c65 2069 7320 656e 636c 6f73 6564 ngle is enclosed\n+00004910: 2069 6e20 6375 726c 7920 6272 6163 6573 in curly braces\n+00004920: 20e2 8098 7b20 7de2 8099 2e20 2057 6865 ...{ }.... Whe\n+00004930: 6e20 e280 9854 696b 5a2f 5047 46e2 8099 n ...TikZ/PGF...\n+00004940: 206f 7574 7075 7420 6973 0a62 6569 6e67 output is.being\n+00004950: 2067 656e 6572 6174 6564 2c20 7468 6520 generated, the \n+00004960: 616e 676c 6520 6973 2072 6f75 6e64 6564 angle is rounded\n+00004970: 2074 6f20 7468 6520 6e65 6172 6573 7420 to the nearest \n+00004980: 6465 6772 6565 2062 6563 6175 7365 0a6e degree because.n\n+00004990: 6f6e 2d69 6e74 6567 6572 2061 6e67 6c65 on-integer angle\n+000049a0: 7320 6172 6520 6e6f 7420 616c 6c6f 7765 s are not allowe\n+000049b0: 6420 6279 20e2 8098 5469 6b5a 2f50 4746 d by ...TikZ/PGF\n+000049c0: e280 9920 7072 696d 6974 6976 6573 2e0a ... primitives..\n+000049d0: 0a20 2020 4173 206f 6620 5665 7273 696f . As of Versio\n+000049e0: 6e20 302e 3320 6f66 20e2 8098 736b 6574 n 0.3 of ...sket\n+000049f0: 6368 e280 992c 2073 7065 6369 616c 2061 ch..., special a\n+00004a00: 7267 756d 656e 7473 206d 6179 2062 6520 rguments may be \n+00004a10: 7363 616c 6172 7320 6f72 0a76 6563 746f scalars or.vecto\n+00004a20: 7273 2069 6e20 6164 6469 7469 6f6e 2074 rs in addition t\n+00004a30: 6f20 706f 696e 7473 2e20 2052 6566 6572 o points. Refer\n+00004a40: 656e 6365 7320 746f 2073 6361 6c61 7220 ences to scalar \n+00004a50: 6172 6775 6d65 6e74 7320 6172 650a 6d65 arguments are.me\n+00004a60: 7265 6c79 2072 6570 6c61 6365 6420 7769 rely replaced wi\n+00004a70: 7468 2061 206e 756d 6265 7220 666f 726d th a number form\n+00004a80: 6174 7465 6420 6a75 7374 2061 7320 616e atted just as an\n+00004a90: 7920 706f 696e 7420 636f 6f72 6469 6e61 y point coordina\n+00004aa0: 7465 2e0a 5265 6665 7265 6e63 6573 2074 te..References t\n+00004ab0: 6f20 7665 6374 6f72 7320 6265 636f 6d65 o vectors become\n+00004ac0: 2074 776f 2d64 696d 656e 7369 6f6e 616c two-dimensional\n+00004ad0: 2070 6f69 6e74 732e 2020 5468 6520 7469 points. The ti\n+00004ae0: 636b 206f 7065 7261 746f 720a 7468 6174 ck operator.that\n+00004af0: 2073 656c 6563 7473 2069 6e64 6976 6964 selects individ\n+00004b00: 7561 6c20 636f 6d70 6f6e 656e 7473 206f ual components o\n+00004b10: 6620 706f 696e 7473 2061 6e64 2076 6563 f points and vec\n+00004b20: 746f 7273 2065 6c73 6577 6865 7265 2069 tors elsewhere i\n+00004b30: 6e0a e280 9873 6b65 7463 68e2 8099 2028 n....sketch... (\n+00004b40: 7365 6520 666f 7220 6578 616d 706c 6520 see for example \n+00004b50: 2a6e 6f74 6520 4166 6669 6e65 2061 7269 *note Affine ari\n+00004b60: 7468 6d65 7469 633a 3a29 2063 616e 2061 thmetic::) can a\n+00004b70: 6c73 6f20 6265 2061 7070 6c69 6564 0a74 lso be applied.t\n+00004b80: 6f20 706f 696e 7420 616e 6420 7665 6374 o point and vect\n+00004b90: 6f72 2061 7267 756d 656e 7420 7265 6665 or argument refe\n+00004ba0: 7265 6e63 6573 2e20 2041 6c6c 2074 6872 rences. All thr\n+00004bb0: 6565 2064 696d 656e 7369 6f6e 7320 6f66 ee dimensions of\n+00004bc0: 2061 0a74 7261 6e73 666f 726d 6564 2070 a.transformed p\n+00004bd0: 6f69 6e74 206f 7220 7665 6374 6f72 2063 oint or vector c\n+00004be0: 616e 2061 6c73 6f20 6265 2073 7562 7374 an also be subst\n+00004bf0: 6974 7565 6420 7769 7468 20e2 8098 2733 itued with ...'3\n+00004c00: e280 992e 2020 5365 6520 2a6e 6f74 650a .... See *note.\n+00004c10: 5370 6563 6961 6c73 3a3a 2066 6f72 2064 Specials:: for d\n+00004c20: 6574 6169 6c73 2e0a 0a20 2020 4279 2064 etails... By d\n+00004c30: 6566 6175 6c74 2c20 e280 9873 7065 6369 efault, ...speci\n+00004c40: 616c e280 9920 6f62 6a65 6374 7320 6172 al... objects ar\n+00004c50: 6520 7072 696e 7465 6420 6c61 7374 2c20 e printed last, \n+00004c60: 6f76 6572 6c61 7969 6e67 2061 6c6c 206f overlaying all o\n+00004c70: 7468 6572 0a6f 626a 6563 7473 2069 6e20 ther.objects in \n+00004c80: 7468 6520 7363 656e 652e 2020 4966 2079 the scene. If y\n+00004c90: 6f75 2073 7065 6369 6679 2074 6865 2069 ou specify the i\n+00004ca0: 6e74 6572 6e61 6c20 6f70 7469 6f6e 20e2 nternal option .\n+00004cb0: 8098 6c61 793d 696e e280 992c 2074 6865 ..lay=in..., the\n+00004cc0: 0a68 6964 6465 6e20 7375 7266 6163 6520 .hidden surface \n+00004cd0: 616c 676f 7269 7468 6d20 636f 6e73 6964 algorithm consid\n+00004ce0: 6572 7320 7468 6520 656e 7469 7265 2073 ers the entire s\n+00004cf0: 7065 6369 616c 206f 626a 6563 7420 746f pecial object to\n+00004d00: 2062 6520 7468 650a 6669 7273 7420 706f be the.first po\n+00004d10: 696e 7420 2823 3129 2069 6e20 7468 6520 int (#1) in the \n+00004d20: 6172 6775 6d65 6e74 206c 6973 742e 2020 argument list. \n+00004d30: 4966 2074 6861 7420 706f 696e 7420 6973 If that point is\n+00004d40: 2062 6568 696e 6420 286f 660a 736d 616c behind (of.smal\n+00004d50: 6c65 7220 7a2d 636f 6d70 6f6e 656e 7420 ler z-component \n+00004d60: 7468 616e 2920 616e 7920 6472 6177 6162 than) any drawab\n+00004d70: 6c65 2c20 7468 656e 2074 6865 2065 6e74 le, then the ent\n+00004d80: 6972 6520 7370 6563 6961 6c20 6f62 6a65 ire special obje\n+00004d90: 6374 0a69 7320 6472 6177 6e20 6265 666f ct.is drawn befo\n+00004da0: 7265 2074 6861 7420 6472 6177 6162 6c65 re that drawable\n+00004db0: 2c20 736f 2074 6865 2064 7261 7761 626c , so the drawabl\n+00004dc0: 6520 6f62 7363 7572 6573 2070 6172 7473 e obscures parts\n+00004dd0: 206f 6620 7468 650a 7370 6563 6961 6c20 of the.special \n+00004de0: 6f62 6a65 6374 2074 6861 7420 6f76 6572 object that over\n+00004df0: 6c61 7073 2069 742e 2020 496e 206f 7572 laps it. In our\n+00004e00: 2065 7861 6d70 6c65 2c20 7031 2069 7320 example, p1 is \n+00004e10: 7468 6520 6672 6f6e 742d 6d6f 7374 0a70 the front-most.p\n+00004e20: 6f69 6e74 2069 6e20 7468 6520 7363 656e oint in the scen\n+00004e30: 6520 2868 6173 2074 6865 206c 6172 6765 e (has the large\n+00004e40: 7374 207a 2d63 6f6d 706f 6e65 6e74 292c st z-component),\n+00004e50: 2073 6f20 6164 6469 6e67 20e2 8098 6c61 so adding ...la\n+00004e60: 793d 696e e280 9920 6861 730a 6e6f 2065 y=in... has.no e\n+00004e70: 6666 6563 742e 0a0a 2020 2057 6974 6820 ffect... With \n+00004e80: 6f70 7469 6f6e 20e2 8098 6c61 793d 756e option ...lay=un\n+00004e90: 6465 72e2 8099 2c20 6120 7370 6563 6961 der..., a specia\n+00004ea0: 6c20 6973 2064 7261 776e 205f 6265 666f l is drawn _befo\n+00004eb0: 7265 5f2c 2068 656e 6365 2061 7070 6561 re_, hence appea\n+00004ec0: 7273 0a5f 756e 6465 725f 2061 6e79 206f rs._under_ any o\n+00004ed0: 6620 7468 6520 6f62 6a65 6374 7320 6861 f the objects ha\n+00004ee0: 6e64 6c65 6420 6279 2074 6865 2068 6964 ndled by the hid\n+00004ef0: 6465 6e20 7375 7266 6163 6520 616c 676f den surface algo\n+00004f00: 7269 7468 6d2e 0a54 6869 7320 6973 2068 rithm..This is h\n+00004f10: 6f77 2074 6865 206c 6967 6874 2067 7261 ow the light gra\n+00004f20: 7920 6178 6573 2077 6572 6520 6164 6465 y axes were adde\n+00004f30: 6420 746f 2074 6865 2022 6865 6c6c 6f20 d to the \"hello \n+00004f40: 776f 726c 6422 2065 7861 6d70 6c65 0a2a world\" example.*\n+00004f50: 6e6f 7465 2048 656c 6c6f 2077 6f72 6c64 note Hello world\n+00004f60: 3a3a 2e0a 0a20 2020 5370 6563 6961 6c20 ::... Special \n+00004f70: 6f62 6a65 6374 7320 6172 6520 706f 7765 objects are powe\n+00004f80: 7266 756c 2c20 7769 7468 206d 616e 7920 rful, with many \n+00004f90: 706f 7373 6962 6c65 2075 7365 732e 0a0a possible uses...\n+00004fa0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+00004fb0: 6e66 6f2c 2020 4e6f 6465 3a20 4f62 6a65 nfo, Node: Obje\n+00004fc0: 6374 2074 7261 6e73 666f 726d 732c 2020 ct transforms, \n+00004fd0: 4e65 7874 3a20 5265 7065 6174 6564 206f Next: Repeated o\n+00004fe0: 626a 6563 7473 2c20 2050 7265 763a 2053 bjects, Prev: S\n+00004ff0: 7065 6369 616c 206f 626a 6563 7473 2c20 pecial objects, \n+00005000: 2055 703a 2049 6e74 726f 6475 6374 696f Up: Introductio\n+00005010: 6e20 6279 2065 7861 6d70 6c65 0a0a 322e n by example..2.\n+00005020: 3520 5472 616e 7366 6f72 6d73 0a3d 3d3d 5 Transforms.===\n+00005030: 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0a4e 6f77 ===========..Now\n+00005040: 206c 6574 2773 2061 6464 2061 2073 6563 let's add a sec\n+00005050: 6f6e 6420 636f 7079 206f 6620 7468 6520 ond copy of the \n+00005060: 7069 6572 6365 6420 7465 7472 6168 6564 pierced tetrahed\n+00005070: 726f 6e2e 2020 5765 276c 6c20 726f 7461 ron. We'll rota\n+00005080: 7465 0a74 6865 2063 6f70 7920 3930 2064 te.the copy 90 d\n+00005090: 6567 7265 6573 2061 626f 7574 2074 6865 egrees about the\n+000050a0: 2078 2d61 7869 7320 7769 7468 2074 6865 x-axis with the\n+000050b0: 206f 7269 6769 6e20 6173 20e2 809c 6365 origin as ...ce\n+000050c0: 6e74 6572 206f 660a 726f 7461 7469 6f6e nter of.rotation\n+000050d0: e280 9d20 736f 2077 6520 6361 6e20 7365 ... so we can se\n+000050e0: 6520 7468 6520 6261 636b 2c20 7468 656e e the back, then\n+000050f0: 2074 7261 6e73 6c61 7465 2069 7420 746f translate it to\n+00005100: 2074 6865 2072 6967 6874 2d2d 696e 2074 the right--in t\n+00005110: 6865 0a70 6f73 6974 6976 6520 782d 6469 he.positive x-di\n+00005120: 7265 6374 696f 6e2d 2d73 6f20 6974 2064 rection--so it d\n+00005130: 6f65 736e 2774 2063 6f6c 6c69 6465 2077 oesn't collide w\n+00005140: 6974 6820 7468 6520 6f72 6967 696e 616c ith the original\n+00005150: 2e20 2054 6f20 6865 6c70 0a75 7320 7365 . To help.us se\n+00005160: 6520 7768 6174 2773 2067 6f69 6e67 206f e what's going o\n+00005170: 6e2c 206d 616b 6520 7468 6520 6261 636b n, make the back\n+00005180: 2073 6964 6520 6772 6179 2e0a 2020 6465 side gray.. de\n+00005190: 6620 7069 6572 6365 645f 7465 7472 6168 f pierced_tetrah\n+000051a0: 6564 726f 6e20 7b0a 2020 2020 6465 6620 edron {. def \n+000051b0: 7031 2028 302c 302c 3129 2064 6566 2070 p1 (0,0,1) def p\n+000051c0: 3220 2831 2c30 2c30 290a 2020 2020 6465 2 (1,0,0). de\n+000051d0: 6620 7033 2028 302c 312c 3029 2064 6566 f p3 (0,1,0) def\n+000051e0: 2070 3420 282d 2e33 2c2d 2e35 2c2d 2e38 p4 (-.3,-.5,-.8\n+000051f0: 290a 2020 2020 706f 6c79 676f 6e28 7031 ). polygon(p1\n+00005200: 2928 7032 2928 7033 2920 2020 2020 2020 )(p2)(p3) \n+00005210: 2020 2020 2020 2020 2020 2020 2020 2025 %\n+00005220: 206f 7269 6769 6e61 6c0a 2020 2020 706f original. po\n+00005230: 6c79 676f 6e28 7031 2928 7034 2928 7032 lygon(p1)(p4)(p2\n+00005240: 2920 2020 2020 2020 2020 2020 2020 2020 ) \n+00005250: 2020 2020 2020 2025 2062 6f74 746f 6d0a % bottom.\n+00005260: 2020 2020 706f 6c79 676f 6e28 7031 2928 polygon(p1)(\n+00005270: 7033 2928 7034 2920 2020 2020 2020 2020 p3)(p4) \n+00005280: 2020 2020 2020 2020 2020 2020 2025 206c % l\n+00005290: 6566 740a 2020 2020 706f 6c79 676f 6e5b eft. polygon[\n+000052a0: 6669 6c6c 636f 6c6f 723d 6c69 6768 7467 fillcolor=lightg\n+000052b0: 7261 795d 2870 3329 2870 3229 2870 3429 ray](p3)(p2)(p4)\n+000052c0: 2025 2072 6561 720a 2020 2020 6c69 6e65 % rear. line\n+000052d0: 5b6c 696e 6563 6f6c 6f72 3d72 6564 5d28 [linecolor=red](\n+000052e0: 2d31 2c2d 312c 2d31 2928 322c 322c 3229 -1,-1,-1)(2,2,2)\n+000052f0: 0a20 207d 0a20 207b 7069 6572 6365 645f . }. {pierced_\n+00005300: 7465 7472 6168 6564 726f 6e7d 2020 2520 tetrahedron} % \n+00005310: 7465 7472 6168 6564 726f 6e20 696e 206f tetrahedron in o\n+00005320: 7269 6769 6e61 6c20 706f 7369 7469 6f6e riginal position\n+00005330: 0a20 2070 7574 207b 2072 6f74 6174 6528 . put { rotate(\n+00005340: 3930 2c20 2830 2c30 2c30 292c 205b 312c 90, (0,0,0), [1,\n+00005350: 302c 305d 2920 2520 636f 7079 2069 6e20 0,0]) % copy in \n+00005360: 6e65 7720 706f 7369 7469 6f6e 0a20 2020 new position. \n+00005370: 2020 2020 2074 6865 6e20 7472 616e 736c then transl\n+00005380: 6174 6528 5b32 2e35 2c30 2c30 5d29 207d ate([2.5,0,0]) }\n+00005390: 207b 7069 6572 6365 645f 7465 7472 6168 {pierced_tetrah\n+000053a0: 6564 726f 6e7d 0a48 6572 6520 7468 6520 edron}.Here the \n+000053b0: 656e 7469 7265 2063 6f64 6520 6f66 2074 entire code of t\n+000053c0: 6865 2070 7265 7669 6f75 7320 6578 616d he previous exam\n+000053d0: 706c 6520 6861 7320 6265 656e 2077 7261 ple has been wra\n+000053e0: 7070 6564 2069 6e20 610a 6465 6669 6e69 pped in a.defini\n+000053f0: 7469 6f6e 2062 7920 666f 726d 696e 6720 tion by forming \n+00005400: 6120 e280 9c62 6c6f 636b e280 9d20 7769 a ...block... wi\n+00005410: 7468 2062 7261 6365 7320 2861 2073 696e th braces (a sin\n+00005420: 676c 6520 6974 656d 2077 6f75 6c64 206e gle item would n\n+00005430: 6f74 0a6e 6565 6420 7468 656d 292e 2020 ot.need them). \n+00005440: 5468 6520 706f 696e 7420 6465 6669 6e69 The point defini\n+00005450: 7469 6f6e 7320 6e65 7374 6564 2069 6e73 tions nested ins\n+00005460: 6964 6520 7468 6520 6272 6163 6573 2061 ide the braces a\n+00005470: 7265 0ae2 809c 6c65 7869 6361 6c6c 7920 re....lexically \n+00005480: 7363 6f70 6564 e280 9d2e 2020 5468 6569 scoped.... Thei\n+00005490: 7220 6d65 616e 696e 6720 6578 7465 6e64 r meaning extend\n+000054a0: 7320 6f6e 6c79 2074 6f20 7468 6520 656e s only to the en\n+000054b0: 6420 6f66 2074 6865 2062 6c6f 636b 2e0a d of the block..\n+000054c0: 5468 6520 6f75 7465 7220 6465 6620 6973 The outer def is\n+000054d0: 2063 616c 6c65 6420 6120 e280 9c64 7261 called a ...dra\n+000054e0: 7761 626c 65e2 809d 2064 6566 696e 6974 wable... definit\n+000054f0: 696f 6e20 6265 6361 7573 6520 6974 2064 ion because it d\n+00005500: 6573 6372 6962 6573 0a73 6f6d 6574 6869 escribes.somethi\n+00005510: 6e67 2074 6861 7420 6361 6e20 6265 2064 ng that can be d\n+00005520: 7261 776e 2e0a 0a20 2020 4120 6472 6177 rawn... A draw\n+00005530: 6162 6c65 2064 6566 696e 6974 696f 6e20 able definition \n+00005540: 6279 2069 7473 656c 6620 6361 7573 6573 by itself causes\n+00005550: 206e 6f74 6869 6e67 2074 6f20 6861 7070 nothing to happ\n+00005560: 656e 2075 6e74 696c 2069 7473 0a6e 616d en until its.nam\n+00005570: 6520 6973 2072 6566 6572 656e 6365 642e e is referenced.\n+00005580: 2020 4472 6177 6162 6c65 2072 6566 6572 Drawable refer\n+00005590: 656e 6365 7320 6d75 7374 2062 6520 656e ences must be en\n+000055a0: 636c 6f73 6564 2069 6e20 6375 726c 790a closed in curly.\n+000055b0: 6272 6163 6573 2c20 652e 672e 207b 666f braces, e.g. {fo\n+000055c0: 6f7d 2c20 7769 7468 206e 6f20 696e 7465 o}, with no inte\n+000055d0: 7276 656e 696e 6720 7768 6974 6520 7370 rvening white sp\n+000055e0: 6163 652e 2020 496e 2074 6865 2063 6f64 ace. In the cod\n+000055f0: 6520 6162 6f76 652c 0a74 6865 2066 6972 e above,.the fir\n+00005600: 7374 2072 6566 6572 656e 6365 207b 7069 st reference {pi\n+00005610: 6572 6365 645f 7465 7472 6168 6564 726f erced_tetrahedro\n+00005620: 6e7d 2069 7320 6120 706c 6169 6e20 6f6e n} is a plain on\n+00005630: 652e 2020 4974 7320 6566 6665 6374 2069 e. Its effect i\n+00005640: 730a 6d65 7265 6c79 2074 6f20 6475 706c s.merely to dupl\n+00005650: 6963 6174 6520 7468 6520 6561 726c 6965 icate the earlie\n+00005660: 7220 6472 6177 696e 672e 2020 416c 6d6f r drawing. Almo\n+00005670: 7374 2061 6e79 2073 6572 6965 7320 6f66 st any series of\n+00005680: 20e2 8098 736b 6574 6368 e280 990a 636f ...sketch....co\n+00005690: 6d6d 616e 6473 2073 7475 6666 206d 6179 mmands stuff may\n+000056a0: 2062 6520 7265 706c 6163 6564 2077 6974 be replaced wit\n+000056b0: 6820 6465 6620 666f 6f20 7b20 7374 7566 h def foo { stuf\n+000056c0: 6620 7d20 7b66 6f6f 7d20 7769 7468 6f75 f } {foo} withou\n+000056d0: 740a 6368 616e 6769 6e67 2069 7473 206d t.changing its m\n+000056e0: 6561 6e69 6e67 2e0a 0a20 2020 5468 6520 eaning... The \n+000056f0: 7075 7420 636f 6d6d 616e 6420 7375 7070 put command supp\n+00005700: 6c69 6573 2061 2073 6563 6f6e 6420 7265 lies a second re\n+00005710: 6665 7265 6e63 652c 2074 6869 7320 7469 ference, this ti\n+00005720: 6d65 2077 6974 6820 610a e280 9c74 7261 me with a....tra\n+00005730: 6e73 666f 726d e280 9d20 6170 706c 6965 nsform... applie\n+00005740: 6420 6669 7273 742e 2020 5468 6520 726f d first. The ro\n+00005750: 7461 7465 2074 7261 6e73 666f 726d 2074 tate transform t\n+00005760: 7572 6e73 2074 6865 2074 6574 7261 6865 urns the tetrahe\n+00005770: 6472 6f6e 0a39 3020 6465 6772 6565 7320 dron.90 degrees \n+00005780: 6162 6f75 7420 7468 6520 6f72 6967 696e about the origin\n+00005790: 2e20 2054 6865 2061 7869 7320 6f66 2072 . The axis of r\n+000057a0: 6f74 6174 696f 6e20 6973 2074 6865 2076 otation is the v\n+000057b0: 6563 746f 720a 5b31 2c30 2c30 5d2e 2020 ector.[1,0,0]. \n+000057c0: 4279 2074 6865 20e2 809c 7269 6768 7420 By the ...right \n+000057d0: 6861 6e64 2072 756c 65e2 809d 2c20 7468 hand rule..., th\n+000057e0: 6973 2063 6175 7365 7320 7468 6520 746f is causes the to\n+000057f0: 7020 6f66 2074 6865 0a74 6574 7261 6865 p of the.tetrahe\n+00005800: 6472 6f6e 2074 6f20 726f 7461 7465 2074 dron to rotate t\n+00005810: 6f77 6172 6420 7468 6520 7669 6577 6572 oward the viewer\n+00005820: 2061 6e64 2074 6865 2062 6f74 746f 6d20 and the bottom \n+00005830: 6177 6179 2e20 2054 6865 2072 756c 650a away. The rule.\n+00005840: 7265 6365 6976 6573 2069 7473 206e 616d receives its nam\n+00005850: 6520 6672 6f6d 2074 6865 2066 6f6c 6c6f e from the follo\n+00005860: 7769 6e67 2064 6566 696e 6974 696f 6e3a wing definition:\n+00005870: 0a20 2020 2020 2a52 6967 6874 2068 616e . *Right han\n+00005880: 6420 7275 6c65 2e2a 2020 4966 2074 6865 d rule.* If the\n+00005890: 2072 6967 6874 2068 616e 6420 6973 2077 right hand is w\n+000058a0: 7261 7070 6564 2061 726f 756e 6420 616e rapped around an\n+000058b0: 7920 6178 6973 0a20 2020 2020 7769 7468 y axis. with\n+000058c0: 2074 6865 2074 6875 6d62 2070 6f69 6e74 the thumb point\n+000058d0: 696e 6720 696e 2074 6865 2061 7869 7320 ing in the axis \n+000058e0: 6469 7265 6374 696f 6e2c 2074 6865 6e20 direction, then \n+000058f0: 7468 6520 6669 6e67 6572 730a 2020 2020 the fingers. \n+00005900: 2063 7572 6c20 696e 2074 6865 2064 6972 curl in the dir\n+00005910: 6563 7469 6f6e 206f 6620 706f 7369 7469 ection of positi\n+00005920: 7665 2072 6f74 6174 696f 6e20 6162 6f75 ve rotation abou\n+00005930: 7420 7468 6174 2061 7869 732e 0a20 2020 t that axis.. \n+00005940: 5468 6520 7472 616e 736c 6174 6520 7472 The translate tr\n+00005950: 616e 7366 6f72 6d20 6d6f 7665 7320 7468 ansform moves th\n+00005960: 6520 7079 7261 6d69 6420 6c61 7465 7261 e pyramid latera\n+00005970: 6c6c 7920 746f 2074 6865 2072 6967 6874 lly to the right\n+00005980: 2062 790a 6164 6469 6e67 2074 6865 2076 by.adding the v\n+00005990: 6563 746f 7220 5b32 2e35 2c30 2c30 5d20 ector [2.5,0,0] \n+000059a0: 746f 2065 6163 6820 7665 7274 6578 2063 to each vertex c\n+000059b0: 6f6f 7264 696e 6174 652e 2020 5468 6520 oordinate. The \n+000059c0: 7265 7375 6c74 2069 730a 7368 6f77 6e20 result is.shown \n+000059d0: 6865 7265 2e0a 0a00 085b 696d 6167 6520 here.....[image \n+000059e0: 7372 633d 2265 7830 3530 2e70 6e67 2220 src=\"ex050.png\" \n+000059f0: 7465 7874 3d22 496d 6167 6520 6578 3035 text=\"Image ex05\n+00005a00: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex\n+00005a10: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi\n+00005a20: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document.\"..].\n+00005a30: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+00005a40: 696e 666f 2c20 204e 6f64 653a 2052 6570 info, Node: Rep\n+00005a50: 6561 7465 6420 6f62 6a65 6374 732c 2020 eated objects, \n+00005a60: 4e65 7874 3a20 5377 6570 7420 6f62 6a65 Next: Swept obje\n+00005a70: 6374 732c 2020 5072 6576 3a20 4f62 6a65 cts, Prev: Obje\n+00005a80: 6374 2074 7261 6e73 666f 726d 732c 2020 ct transforms, \n+00005a90: 5570 3a20 496e 7472 6f64 7563 7469 6f6e Up: Introduction\n+00005aa0: 2062 7920 6578 616d 706c 650a 0a32 2e36 by example..2.6\n+00005ab0: 2052 6570 6561 7465 6420 6f62 6a65 6374 Repeated object\n+00005ac0: 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d s.==============\n+00005ad0: 3d3d 3d3d 3d3d 0a0a 546f 2064 7261 7720 ======..To draw \n+00005ae0: 7365 7665 6e20 696e 7374 616e 6365 7320 seven instances \n+00005af0: 6f66 2074 6865 2074 6574 7261 6865 6472 of the tetrahedr\n+00005b00: 6f6e 2c20 6561 6368 2064 6966 6665 7269 on, each differi\n+00005b10: 6e67 2066 726f 6d20 7468 6520 6c61 7374 ng from the last\n+00005b20: 0a62 7920 7468 6520 7361 6d65 2074 7261 .by the same tra\n+00005b30: 6e73 666f 726d 2c20 7265 706c 6163 6520 nsform, replace \n+00005b40: 7468 6520 6c61 7374 2074 776f 2063 6f6d the last two com\n+00005b50: 6d61 6e64 7320 6f66 2074 6865 2070 7265 mands of the pre\n+00005b60: 7669 6f75 730a 6578 616d 706c 6520 7769 vious.example wi\n+00005b70: 7468 0a20 2072 6570 6561 7420 7b20 372c th. repeat { 7,\n+00005b80: 2072 6f74 6174 6528 3135 2c20 2830 2c30 rotate(15, (0,0\n+00005b90: 2c30 292c 205b 312c 302c 305d 2920 2520 ,0), [1,0,0]) % \n+00005ba0: 636f 7079 2069 6e20 6e65 7720 706f 7369 copy in new posi\n+00005bb0: 7469 6f6e 0a20 2020 2020 2020 2020 2020 tion. \n+00005bc0: 2020 2074 6865 6e20 7472 616e 736c 6174 then translat\n+00005bd0: 6528 5b32 2c30 2c30 5d29 207d 207b 7069 e([2,0,0]) } {pi\n+00005be0: 6572 6365 645f 7465 7472 6168 6564 726f erced_tetrahedro\n+00005bf0: 6e7d 0a41 6e64 2074 6865 2072 6573 756c n}.And the resul\n+00005c00: 742e 2e2e 0a0a 0008 5b69 6d61 6765 2073 t.......[image s\n+00005c10: 7263 3d22 6578 3036 302e 706e 6722 2074 rc=\"ex060.png\" t\n+00005c20: 6578 743d 2249 6d61 6765 2065 7830 3630 ext=\"Image ex060\n+00005c30: 206f 6d69 7474 6564 2069 6e20 7465 7874 omitted in text\n+00005c40: 2076 6572 7369 6f6e 206f 6620 7468 6973 version of this\n+00005c50: 2064 6f63 756d 656e 742e 2200 085d 0a0a document.\"..]..\n+00005c60: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+00005c70: 6e66 6f2c 2020 4e6f 6465 3a20 5377 6570 nfo, Node: Swep\n+00005c80: 7420 6f62 6a65 6374 732c 2020 5072 6576 t objects, Prev\n+00005c90: 3a20 5265 7065 6174 6564 206f 626a 6563 : Repeated objec\n+00005ca0: 7473 2c20 2055 703a 2049 6e74 726f 6475 ts, Up: Introdu\n+00005cb0: 6374 696f 6e20 6279 2065 7861 6d70 6c65 ction by example\n+00005cc0: 0a0a 322e 3720 5377 6570 7420 6f62 6a65 ..2.7 Swept obje\n+00005cd0: 6374 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d cts.============\n+00005ce0: 3d3d 3d3d 3d0a 0a4d 616e 7920 6661 6d69 =====..Many fami\n+00005cf0: 6c69 6172 2073 6861 7065 7320 6361 6e20 liar shapes can \n+00005d00: 6265 2067 656e 6572 6174 6564 2062 7920 be generated by \n+00005d10: 7377 6565 7069 6e67 2073 696d 706c 6572 sweeping simpler\n+00005d20: 206f 6e65 7320 7468 726f 7567 680a 7370 ones through.sp\n+00005d30: 6163 6520 616e 6420 636f 6e73 6964 6572 ace and consider\n+00005d40: 696e 6720 7468 6520 7265 7375 6c74 696e ing the resultin\n+00005d50: 6720 7061 7468 2c20 7375 7266 6163 652c g path, surface,\n+00005d60: 206f 7220 766f 6c75 6d65 2e20 20e2 8098 or volume. ...\n+00005d70: 536b 6574 6368 e280 990a 696d 706c 656d Sketch....implem\n+00005d80: 656e 7473 2074 6869 7320 6964 6561 2069 ents this idea i\n+00005d90: 6e20 7468 6520 7377 6565 7020 636f 6d6d n the sweep comm\n+00005da0: 616e 642e 0a20 2064 6566 206e 5f73 6567 and.. def n_seg\n+00005db0: 7320 380a 2020 7377 6565 7020 7b20 6e5f s 8. sweep { n_\n+00005dc0: 7365 6773 2c20 726f 7461 7465 2831 3830 segs, rotate(180\n+00005dd0: 202f 206e 5f73 6567 732c 2028 302c 302c / n_segs, (0,0,\n+00005de0: 3029 2c20 5b30 2c30 2c31 5d29 207d 2028 0), [0,0,1]) } (\n+00005df0: 312c 302c 3029 0a54 6869 7320 636f 6465 1,0,0).This code\n+00005e00: 2073 7765 6570 7320 7468 6520 706f 696e sweeps the poin\n+00005e10: 7420 2831 2c30 2c30 2920 6569 6768 7420 t (1,0,0) eight \n+00005e20: 7469 6d65 7320 6279 2072 6f74 6174 696e times by rotatin\n+00005e30: 6720 6974 2031 3830 2f38 203d 0a32 322e g it 180/8 =.22.\n+00005e40: 3520 6465 6772 6565 7320 6561 6368 2074 5 degrees each t\n+00005e50: 696d 6520 616e 6420 636f 6e6e 6563 7469 ime and connecti\n+00005e60: 6e67 2074 6865 2072 6573 756c 7469 6e67 ng the resulting\n+00005e70: 2070 6f69 6e74 7320 7769 7468 206c 696e points with lin\n+00005e80: 650a 7365 676d 656e 7473 2e20 2054 6865 e.segments. The\n+00005e90: 2064 6566 2075 7365 6420 6865 7265 2069 def used here i\n+00005ea0: 7320 6120 e280 9c73 6361 6c61 72e2 809d s a ...scalar...\n+00005eb0: 2064 6566 696e 6974 696f 6e2e 2020 5265 definition. Re\n+00005ec0: 6665 7265 6e63 6573 2074 6f0a 7363 616c ferences to.scal\n+00005ed0: 6172 7320 6861 7665 206e 6f20 656e 636c ars have no encl\n+00005ee0: 6f73 696e 6720 6272 6163 6b65 7473 2061 osing brackets a\n+00005ef0: 7420 616c 6c2e 0a0a 2a20 4d65 6e75 3a0a t all...* Menu:.\n+00005f00: 0a2a 2050 6f69 6e74 2073 7765 6570 733a .* Point sweeps:\n+00005f10: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00005f20: 2053 7765 7074 2070 6f69 6e74 7320 6d61 Swept points ma\n+00005f30: 6b65 206c 696e 6573 2061 6e64 2070 6f6c ke lines and pol\n+00005f40: 7967 6f6e 732e 0a2a 2050 6f6c 796c 696e ygons..* Polylin\n+00005f50: 6520 7377 6565 7073 3a3a 2020 2020 2020 e sweeps:: \n+00005f60: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin\n+00005f70: 6573 206d 616b 6520 7375 7266 6163 6573 es make surfaces\n+00005f80: 2e0a 2a20 4e65 7374 6564 2073 7765 6570 ..* Nested sweep\n+00005f90: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+00005fa0: 2020 5377 6570 7420 7377 6565 7073 2061 Swept sweeps a\n+00005fb0: 7265 2075 7365 6675 6c21 0a2a 2050 6f6c re useful!.* Pol\n+00005fc0: 7967 6f6e 2073 7765 6570 733a 3a20 2020 ygon sweeps:: \n+00005fd0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n+00005fe0: 2070 6f6c 7967 6f6e 7320 6d61 6b65 2073 polygons make s\n+00005ff0: 6f6c 6964 732e 2e2e 0a2a 2050 6f6c 796c olids....* Polyl\n+00006000: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with \n+00006010: 636c 6f73 7572 653a 3a20 2061 6e64 2073 closure:: and s\n+00006020: 6f20 646f 2063 6c6f 7365 6420 706f 6c79 o do closed poly\n+00006030: 6c69 6e65 2073 7765 6570 732e 0a2a 2041 line sweeps..* A\n+00006040: 6666 696e 6520 6172 6974 686d 6574 6963 ffine arithmetic\n+00006050: 3a3a 2020 2020 2020 2020 2020 2053 6b65 :: Ske\n+00006060: 7463 6820 7573 6566 756c 206d 6174 6820 tch useful math \n+00006070: 6578 7072 6573 7369 6f6e 2e0a 2a20 4d6f expression..* Mo\n+00006080: 7265 2074 6f20 6c65 6172 6e3a 3a20 2020 re to learn:: \n+00006090: 2020 2020 2020 2020 2020 2020 4368 6563 Chec\n+000060a0: 6b20 6f75 7420 7468 6520 4d6f 6269 7573 k out the Mobius\n+000060b0: 2073 7472 6970 210a 0a1f 0a46 696c 653a strip!....File:\n+000060c0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+000060d0: 6f64 653a 2050 6f69 6e74 2073 7765 6570 ode: Point sweep\n+000060e0: 732c 2020 4e65 7874 3a20 506f 6c79 6c69 s, Next: Polyli\n+000060f0: 6e65 2073 7765 6570 732c 2020 5072 6576 ne sweeps, Prev\n+00006100: 3a20 5377 6570 7420 6f62 6a65 6374 732c : Swept objects,\n+00006110: 2020 5570 3a20 5377 6570 7420 6f62 6a65 Up: Swept obje\n+00006120: 6374 730a 0a32 2e37 2e31 2050 6f69 6e74 cts..2.7.1 Point\n+00006130: 2073 7765 6570 730a 2d2d 2d2d 2d2d 2d2d sweeps.--------\n+00006140: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5377 6565 ----------..Swee\n+00006150: 7069 6e67 2061 2070 6f69 6e74 206d 616b ping a point mak\n+00006160: 6573 2061 206f 6e65 2d64 696d 656e 7369 es a one-dimensi\n+00006170: 6f6e 616c 2070 6174 682c 2077 6869 6368 onal path, which\n+00006180: 2069 7320 6120 706f 6c79 6c69 6e65 2e0a is a polyline..\n+00006190: 5369 6e63 6520 7765 2068 6176 6520 7377 Since we have sw\n+000061a0: 6570 7420 7769 7468 2061 2072 6f74 6174 ept with a rotat\n+000061b0: 696f 6e2c 2074 6865 2072 6573 756c 7420 ion, the result \n+000061c0: 6973 2061 2063 6972 6375 6c61 7220 6172 is a circular ar\n+000061d0: 632e 2020 4865 7265 0a69 7320 7768 6174 c. Here.is what\n+000061e0: 2069 7420 6c6f 6f6b 7320 6c69 6b65 2e0a it looks like..\n+000061f0: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n+00006200: 7830 3730 2e70 6e67 2220 7465 7874 3d22 x070.png\" text=\"\n+00006210: 496d 6167 6520 6578 3037 3020 6f6d 6974 Image ex070 omit\n+00006220: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n+00006230: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n+00006240: 6d65 6e74 2e22 0008 5d0a 0a20 2020 5468 ment.\"..].. Th\n+00006250: 6973 2069 7320 7468 6520 6669 7273 7420 is is the first \n+00006260: 6578 616d 706c 6520 7765 2068 6176 6520 example we have \n+00006270: 7365 656e 206f 6620 e280 9873 6b65 7463 seen of ...sketc\n+00006280: 68e2 8099 2061 7269 7468 6d65 7469 632e h... arithmetic.\n+00006290: 2020 5468 650a 6578 7072 6573 7369 6f6e The.expression\n+000062a0: 2031 3830 202f 206e 5f73 6567 7320 6361 180 / n_segs ca\n+000062b0: 7573 6573 2074 6865 2065 6967 6874 2072 uses the eight r\n+000062c0: 6f74 6174 696f 6e73 2074 6f20 6164 6420 otations to add \n+000062d0: 746f 2031 3830 2e20 2049 660a 796f 7527 to 180. If.you'\n+000062e0: 7265 2070 6179 696e 6720 6174 7465 6e74 re paying attent\n+000062f0: 696f 6e2c 2079 6f75 276c 6c20 6861 7665 ion, you'll have\n+00006300: 2061 6c72 6561 6479 206e 6f74 6564 2074 already noted t\n+00006310: 6861 7420 7468 6572 6520 6172 6520 5f6e hat there are _n\n+00006320: 696e 655f 0a70 6f69 6e74 732c 2070 726f ine_.points, pro\n+00006330: 6475 6369 6e67 2065 6967 6874 206c 696e ducing eight lin\n+00006340: 6520 7365 676d 656e 7473 2e0a 0a20 2020 e segments... \n+00006350: 596f 7520 6361 6e20 6361 7573 6520 7468 You can cause th\n+00006360: 6520 7377 6570 7420 706f 696e 7420 746f e swept point to\n+00006370: 2067 656e 6572 6174 6520 6120 7369 6e67 generate a sing\n+00006380: 6c65 2070 6f6c 7967 6f6e 2072 6174 6865 le polygon rathe\n+00006390: 720a 7468 616e 2061 2070 6f6c 796c 696e r.than a polylin\n+000063a0: 6520 6279 2075 7369 6e67 2074 6865 20e2 e by using the .\n+000063b0: 809c 636c 6f73 7572 6520 7461 67e2 809d ..closure tag...\n+000063c0: 203c 3e20 6166 7465 7220 7468 6520 6e75 <> after the nu\n+000063d0: 6d62 6572 206f 6620 7377 6570 740a 6f62 mber of swept.ob\n+000063e0: 6a65 6374 732e 2020 436f 6465 2061 6e64 jects. Code and\n+000063f0: 2072 6573 756c 7420 666f 6c6c 6f77 0a20 result follow. \n+00006400: 2064 6566 206e 5f73 6567 7320 380a 2020 def n_segs 8. \n+00006410: 7377 6565 7020 7b20 6e5f 7365 6773 3c3e sweep { n_segs<>\n+00006420: 2c20 726f 7461 7465 2831 3830 202f 206e , rotate(180 / n\n+00006430: 5f73 6567 732c 2028 302c 302c 3029 2c20 _segs, (0,0,0), \n+00006440: 5b30 2c30 2c31 5d29 207d 2028 312c 302c [0,0,1]) } (1,0,\n+00006450: 3029 0a00 085b 696d 6167 6520 7372 633d 0)...[image src=\n+00006460: 2265 7830 3830 2e70 6e67 2220 7465 7874 \"ex080.png\" text\n+00006470: 3d22 496d 6167 6520 6578 3038 3020 6f6d =\"Image ex080 om\n+00006480: 6974 7465 6420 696e 2074 6578 7420 7665 itted in text ve\n+00006490: 7273 696f 6e20 6f66 2074 6869 7320 646f rsion of this do\n+000064a0: 6375 6d65 6e74 2e22 0008 5d0a 0a1f 0a46 cument.\"..]....F\n+000064b0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+000064c0: 2c20 204e 6f64 653a 2050 6f6c 796c 696e , Node: Polylin\n+000064d0: 6520 7377 6565 7073 2c20 204e 6578 743a e sweeps, Next:\n+000064e0: 204e 6573 7465 6420 7377 6565 7073 2c20 Nested sweeps, \n+000064f0: 2050 7265 763a 2050 6f69 6e74 2073 7765 Prev: Point swe\n+00006500: 6570 732c 2020 5570 3a20 5377 6570 7420 eps, Up: Swept \n+00006510: 6f62 6a65 6374 730a 0a32 2e37 2e32 2050 objects..2.7.2 P\n+00006520: 6f6c 796c 696e 6520 7377 6565 7073 0a2d olyline sweeps.-\n+00006530: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00006540: 2d2d 2d2d 0a0a 5377 6565 7069 6e67 2061 ----..Sweeping a\n+00006550: 2070 6f6c 796c 696e 6520 7072 6f64 7563 polyline produc\n+00006560: 6573 2061 2073 7572 6661 6365 2063 6f6d es a surface com\n+00006570: 706f 7365 6420 6f66 206d 616e 7920 6661 posed of many fa\n+00006580: 6365 732e 2020 5468 650a 756e 6272 6f6b ces. The.unbrok\n+00006590: 656e 2068 656c 6978 2069 6e20 7468 6520 en helix in the \n+000065a0: 6578 616d 706c 6520 2a6e 6f74 6520 4865 example *note He\n+000065b0: 6c69 7820 7769 7468 2063 756c 6c20 7365 lix with cull se\n+000065c0: 7420 6661 6c73 6520 7468 656e 0a74 7275 t false then.tru\n+000065d0: 653a 3a20 6973 2070 726f 6475 6365 6420 e:: is produced \n+000065e0: 6279 2074 6869 7320 636f 6465 2028 706c by this code (pl\n+000065f0: 7573 2061 2073 7572 726f 756e 6469 6e67 us a surrounding\n+00006600: 2070 7574 2072 6f74 6174 696f 6e20 746f put rotation to\n+00006610: 206d 616b 650a 616e 2069 6e74 6572 6573 make.an interes\n+00006620: 7469 6e67 2076 6965 773b 2074 6869 7320 ting view; this \n+00006630: 6861 7320 6265 656e 206f 6d69 7474 6564 has been omitted\n+00006640: 292e 0a20 2064 6566 204b 205b 302c 302c ).. def K [0,0,\n+00006650: 315d 0a20 2073 7765 6570 5b63 756c 6c3d 1]. sweep[cull=\n+00006660: 6661 6c73 655d 207b 0a20 2020 2036 302c false] {. 60,\n+00006670: 200a 2020 2020 726f 7461 7465 2831 302c . rotate(10,\n+00006680: 2028 302c 302c 3029 2c20 5b4b 5d29 2074 (0,0,0), [K]) t\n+00006690: 6865 6e20 7472 616e 736c 6174 6528 312f hen translate(1/\n+000066a0: 3620 2a20 5b4b 5d29 200a 2020 7d20 6c69 6 * [K]) . } li\n+000066b0: 6e65 5b6c 696e 6577 6964 7468 3d32 7074 ne[linewidth=2pt\n+000066c0: 5d28 2d31 2c30 2928 312c 3029 0a41 6761 ](-1,0)(1,0).Aga\n+000066d0: 696e 2c20 3630 2073 6567 6d65 6e74 7320 in, 60 segments \n+000066e0: 6f66 2074 6865 2068 656c 6978 2061 7265 of the helix are\n+000066f0: 2070 726f 6475 6365 6420 6279 2063 6f6e produced by con\n+00006700: 6e65 6374 696e 6720 3631 2069 6e73 7461 necting 61 insta\n+00006710: 6e63 6573 0a6f 6620 7468 6520 7377 6570 nces.of the swep\n+00006720: 7420 6c69 6e65 2e20 204f 7074 696f 6e73 t line. Options\n+00006730: 2061 7070 6c69 6564 2074 6f20 7468 6520 applied to the \n+00006740: 7377 6565 702c 2068 6572 6520 6375 6c6c sweep, here cull\n+00006750: 3d66 616c 7365 2c20 6172 650a 7472 6561 =false, are.trea\n+00006760: 7465 6420 6173 206f 7074 696f 6e73 2066 ted as options f\n+00006770: 6f72 2074 6865 2067 656e 6572 6174 6564 or the generated\n+00006780: 2070 6f6c 7967 6f6e 206f 7220 706f 6c79 polygon or poly\n+00006790: 6c69 6e65 2e20 204f 7074 696f 6e73 206f line. Options o\n+000067a0: 660a 7468 6520 7377 6570 7420 6c69 6e65 f.the swept line\n+000067b0: 2069 7473 656c 662c 2068 6572 6520 6c69 itself, here li\n+000067c0: 6e65 7769 6474 683d 3270 742c 2061 7265 newidth=2pt, are\n+000067d0: 2069 676e 6f72 6564 2c20 7468 6f75 6768 ignored, though\n+000067e0: 2077 6974 6820 610a 7761 726e 696e 672e with a.warning.\n+000067f0: 2020 5468 6973 2064 6566 2069 7320 6120 This def is a \n+00006800: e280 9c76 6563 746f 72e2 809d 2064 6566 ...vector... def\n+00006810: 696e 6974 696f 6e2c 2077 6869 6368 206d inition, which m\n+00006820: 7573 7420 6265 2072 6566 6572 656e 6365 ust be reference\n+00006830: 640a 7769 7468 2073 7175 6172 6520 6272 d.with square br\n+00006840: 6163 6b65 7473 2c20 652e 672e 205b 666f ackets, e.g. [fo\n+00006850: 6f5d 2e0a 0a1f 0a46 696c 653a 2073 6b65 o].....File: ske\n+00006860: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+00006870: 204e 6573 7465 6420 7377 6565 7073 2c20 Nested sweeps, \n+00006880: 204e 6578 743a 2050 6f6c 7967 6f6e 2073 Next: Polygon s\n+00006890: 7765 6570 732c 2020 5072 6576 3a20 506f weeps, Prev: Po\n+000068a0: 6c79 6c69 6e65 2073 7765 6570 732c 2020 lyline sweeps, \n+000068b0: 5570 3a20 5377 6570 7420 6f62 6a65 6374 Up: Swept object\n+000068c0: 730a 0a32 2e37 2e33 204e 6573 7465 6420 s..2.7.3 Nested \n+000068d0: 7377 6565 7073 0a2d 2d2d 2d2d 2d2d 2d2d sweeps.---------\n+000068e0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5768 656e ----------..When\n+000068f0: 2074 6865 2063 656e 7465 7220 706f 696e the center poin\n+00006900: 7420 6f66 2072 6f74 6174 696f 6e20 6973 t of rotation is\n+00006910: 206f 6d69 7474 6564 2c20 7468 6520 6f72 omitted, the or\n+00006920: 6967 696e 2069 7320 6173 7375 6d65 642e igin is assumed.\n+00006930: 0a57 6865 6e20 6120 706f 696e 7420 6861 .When a point ha\n+00006940: 7320 6f6e 6c79 2074 776f 2063 6f6f 7264 s only two coord\n+00006950: 696e 6174 6573 2c20 7468 6579 2061 7265 inates, they are\n+00006960: 2074 616b 656e 2061 7320 7820 616e 6420 taken as x and \n+00006970: 792c 2077 6974 680a 7a3d 3020 6173 7375 y, with.z=0 assu\n+00006980: 6d65 642e 2020 4120 746f 726f 6964 2069 med. A toroid i\n+00006990: 7320 7468 6572 6566 6f72 6520 6f62 7461 s therefore obta\n+000069a0: 696e 6564 2077 6974 6820 7468 6973 2063 ined with this c\n+000069b0: 6f64 652e 0a20 2064 6566 206e 5f74 6f72 ode.. def n_tor\n+000069c0: 6f69 645f 7365 6773 2032 3020 2020 6465 oid_segs 20 de\n+000069d0: 6620 6e5f 6369 7263 6c65 5f73 6567 7320 f n_circle_segs \n+000069e0: 3136 0a20 2064 6566 2072 5f6d 696e 6f72 16. def r_minor\n+000069f0: 2031 2020 2020 2020 2020 2020 6465 6620 1 def \n+00006a00: 725f 6d61 6a6f 7220 312e 350a 2020 7377 r_major 1.5. sw\n+00006a10: 6565 7020 7b20 6e5f 746f 726f 6964 5f73 eep { n_toroid_s\n+00006a20: 6567 732c 2072 6f74 6174 6528 3336 3020 egs, rotate(360 \n+00006a30: 2f20 6e5f 746f 726f 6964 5f73 6567 732c / n_toroid_segs,\n+00006a40: 205b 302c 312c 305d 2920 7d0a 2020 2020 [0,1,0]) }. \n+00006a50: 7377 6565 7020 7b20 6e5f 6369 7263 6c65 sweep { n_circle\n+00006a60: 5f73 6567 732c 2072 6f74 6174 6528 3336 _segs, rotate(36\n+00006a70: 3020 2f20 6e5f 6369 7263 6c65 5f73 6567 0 / n_circle_seg\n+00006a80: 732c 2028 725f 6d61 6a6f 722c 302c 3029 s, (r_major,0,0)\n+00006a90: 2920 7d20 0a20 2020 2020 2028 725f 6d61 ) } . (r_ma\n+00006aa0: 6a6f 7220 2b20 725f 6d69 6e6f 722c 2030 jor + r_minor, 0\n+00006ab0: 290a 2020 2046 6f72 2069 6e74 7569 7469 ). For intuiti\n+00006ac0: 6f6e 2c20 7468 6520 6964 6561 206f 6620 on, the idea of \n+00006ad0: 7468 6520 636f 6465 2069 7320 746f 2073 the code is to s\n+00006ae0: 6b65 7463 6820 6120 6369 7263 6c65 2074 ketch a circle t\n+00006af0: 6f20 7468 650a 7269 6768 7420 6f66 2074 o the.right of t\n+00006b00: 6865 206f 7269 6769 6e20 696e 2074 6865 he origin in the\n+00006b10: 2078 792d 706c 616e 652c 2074 6865 6e20 xy-plane, then \n+00006b20: 726f 7461 7465 2074 6861 7420 6369 7263 rotate that circ\n+00006b30: 6c65 2022 6f75 7420 6f66 2074 6865 0a70 le \"out of the.p\n+00006b40: 6c61 6e65 2220 6162 6f75 7420 7468 6520 lane\" about the \n+00006b50: 792d 6178 6973 2074 6f20 6d61 6b65 2074 y-axis to make t\n+00006b60: 6865 2066 696e 616c 2066 6967 7572 652e he final figure.\n+00006b70: 2020 5468 6973 2070 726f 6475 6365 7320 This produces \n+00006b80: 7468 650a 666f 6c6c 6f77 696e 672e 2020 the.following. \n+00006b90: 2841 2076 6965 7720 726f 7461 7469 6f6e (A view rotation\n+00006ba0: 2061 6e64 2073 6f6d 6520 6178 6573 2068 and some axes h\n+00006bb0: 6176 6520 6265 656e 2061 6464 6564 2e29 ave been added.)\n+00006bc0: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=\"\n+00006bd0: 6578 3039 302e 706e 6722 2074 6578 743d ex090.png\" text=\n+00006be0: 2249 6d61 6765 2065 7830 3930 206f 6d69 \"Image ex090 omi\n+00006bf0: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver\n+00006c00: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc\n+00006c10: 756d 656e 742e 2200 085d 0a0a 2020 2054 ument.\"..].. T\n+00006c20: 6869 7320 6578 616d 706c 6520 616c 736f his example also\n+00006c30: 2073 686f 7773 2074 6861 7420 7468 6520 shows that the \n+00006c40: 7377 6570 7420 6f62 6a65 6374 206d 6179 swept object may\n+00006c50: 2069 7473 656c 6620 6265 2061 6e6f 7468 itself be anoth\n+00006c60: 6572 0ae2 8098 7377 6565 70e2 8099 2e20 er....sweep.... \n+00006c70: 2049 6e20 6661 6374 2c20 6974 206d 6179 In fact, it may\n+00006c80: 2062 6520 5f61 6e79 5f20 e280 9873 6b65 be _any_ ...ske\n+00006c90: 7463 68e2 8099 2065 7870 7265 7373 696f tch... expressio\n+00006ca0: 6e20 7468 6174 2072 6573 756c 7473 2069 n that results i\n+00006cb0: 6e20 610a 6c69 7374 206f 6620 6f6e 6520 n a.list of one \n+00006cc0: 6f72 206d 6f72 6520 706f 696e 7473 206f or more points o\n+00006cd0: 722c 2061 6c74 6572 6e61 7465 6c79 2c20 r, alternately, \n+00006ce0: 6120 6c69 7374 206f 6620 6f6e 6520 6f72 a list of one or\n+00006cf0: 206d 6f72 650a 706f 6c79 6c69 6e65 7320 more.polylines \n+00006d00: 616e 6420 706f 6c79 676f 6e73 2e20 2054 and polygons. T\n+00006d10: 6865 206c 6174 7465 7220 6b69 6e64 206f he latter kind o\n+00006d20: 6620 6c69 7374 2063 616e 2062 6520 6372 f list can be cr\n+00006d30: 6561 7465 6420 7769 7468 2061 0a7b 207d eated with a.{ }\n+00006d40: 2d65 6e63 6c6f 7365 6420 626c 6f63 6b2c -enclosed block,\n+00006d50: 2070 6572 6861 7073 2066 6f6c 6c6f 7769 perhaps followi\n+00006d60: 6e67 2061 2070 7574 206f 7220 7265 7065 ng a put or repe\n+00006d70: 6174 2e0a 0a1f 0a46 696c 653a 2073 6b65 at.....File: ske\n+00006d80: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+00006d90: 2050 6f6c 7967 6f6e 2073 7765 6570 732c Polygon sweeps,\n+00006da0: 2020 4e65 7874 3a20 506f 6c79 6c69 6e65 Next: Polyline\n+00006db0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n+00006dc0: 7375 7265 2c20 2050 7265 763a 204e 6573 sure, Prev: Nes\n+00006dd0: 7465 6420 7377 6565 7073 2c20 2055 703a ted sweeps, Up:\n+00006de0: 2053 7765 7074 206f 626a 6563 7473 0a0a Swept objects..\n+00006df0: 322e 372e 3420 506f 6c79 676f 6e20 7377 2.7.4 Polygon sw\n+00006e00: 6565 7073 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d eeps.-----------\n+00006e10: 2d2d 2d2d 2d2d 2d2d 2d0a 0a53 7765 6570 ---------..Sweep\n+00006e20: 696e 6720 6120 706f 6c79 676f 6e20 6372 ing a polygon cr\n+00006e30: 6561 7465 7320 6120 636c 6f73 6564 2073 eates a closed s\n+00006e40: 7572 6661 6365 2077 6974 6820 706f 6c79 urface with poly\n+00006e50: 676f 6e73 2061 7420 7468 6520 656e 6473 gons at the ends\n+00006e60: 2c0a 7768 6963 6820 6172 6520 6a75 7374 ,.which are just\n+00006e70: 2063 6f70 6965 7320 6f66 2074 6865 206f copies of the o\n+00006e80: 7269 6769 6e61 6c2c 2061 7070 726f 7072 riginal, appropr\n+00006e90: 6961 7465 6c79 2070 6f73 6974 696f 6e65 iately positione\n+00006ea0: 642e 2020 2a4e 6f74 650a 536f 6c69 6420 d. *Note.Solid \n+00006eb0: 636f 696c 2065 7861 6d70 6c65 3a3a 2e20 coil example::. \n+00006ec0: 204f 7074 696f 6e73 206f 6e20 7468 6520 Options on the \n+00006ed0: 7377 6570 7420 706f 6c79 676f 6e2c 2069 swept polygon, i\n+00006ee0: 6620 7468 6579 2065 7869 7374 2c20 6172 f they exist, ar\n+00006ef0: 650a 6170 706c 6965 6420 746f 2074 6865 e.applied to the\n+00006f00: 2065 6e64 732e 2020 4f74 6865 7277 6973 ends. Otherwis\n+00006f10: 6520 7468 6520 7377 6565 7020 6f70 7469 e the sweep opti\n+00006f20: 6f6e 7320 6172 6520 7573 6564 2074 6872 ons are used thr\n+00006f30: 6f75 6768 6f75 742e 0a0a 1f0a 4669 6c65 oughout.....File\n+00006f40: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+00006f50: 4e6f 6465 3a20 506f 6c79 6c69 6e65 2073 Node: Polyline s\n+00006f60: 7765 6570 7320 7769 7468 2063 6c6f 7375 weeps with closu\n+00006f70: 7265 2c20 204e 6578 743a 2041 6666 696e re, Next: Affin\n+00006f80: 6520 6172 6974 686d 6574 6963 2c20 2050 e arithmetic, P\n+00006f90: 7265 763a 2050 6f6c 7967 6f6e 2073 7765 rev: Polygon swe\n+00006fa0: 6570 732c 2020 5570 3a20 5377 6570 7420 eps, Up: Swept \n+00006fb0: 6f62 6a65 6374 730a 0a32 2e37 2e35 2050 objects..2.7.5 P\n+00006fc0: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w\n+00006fd0: 6974 6820 636c 6f73 7572 650a 2d2d 2d2d ith closure.----\n 00006fe0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00006ff0: 2d2d 2d2d 2d2d 2d2d 0a0a 4120 706f 6c79 --------..A poly\n-00007000: 6c69 6e65 2073 7765 6570 2077 6974 6820 line sweep with \n-00007010: 6120 636c 6f73 7572 6520 7461 6720 6372 a closure tag cr\n-00007020: 6561 7465 7320 616e 6f74 6865 7220 6b69 eates another ki\n-00007030: 6e64 206f 6620 636c 6f73 6564 0a73 7572 nd of closed.sur\n-00007040: 6661 6365 2e20 2046 6972 7374 2c20 7468 face. First, th\n-00007050: 6520 706f 6c79 6c69 6e65 2073 6567 6d65 e polyline segme\n-00007060: 6e74 7320 6172 6520 636f 6e6e 6563 7465 nts are connecte\n-00007070: 6420 6279 2066 6163 6573 2c20 6a75 7374 d by faces, just\n-00007080: 2061 730a 7769 7468 6f75 7420 7468 6520 as.without the \n-00007090: 636c 6f73 7572 6520 7461 672e 2020 5468 closure tag. Th\n-000070a0: 656e 2c20 6561 6368 2073 6574 206f 6620 en, each set of \n-000070b0: 656e 6420 706f 696e 7473 2069 7320 6a6f end points is jo\n-000070c0: 696e 6564 2074 6f20 6d61 6b65 0a61 2070 ined to make.a p\n-000070d0: 6f6c 7967 6f6e 2c20 6f6e 6520 666f 7220 olygon, one for \n-000070e0: 6561 6368 2065 6e64 2e20 2041 2063 6f64 each end. A cod\n-000070f0: 6520 666f 7220 7365 7665 7261 6c20 7669 e for several vi\n-00007100: 6577 7320 6f66 2061 2063 796c 696e 6472 ews of a cylindr\n-00007110: 6963 616c 0a70 7269 736d 2066 6f6c 6c6f ical.prism follo\n-00007120: 7773 2e0a 2020 6465 6620 6e5f 6379 6c5f ws.. def n_cyl_\n-00007130: 7365 6773 2032 3020 2064 6566 206e 5f76 segs 20 def n_v\n-00007140: 6965 7773 2035 2020 6465 6620 4920 5b31 iews 5 def I [1\n-00007150: 2c30 2c30 5d0a 2020 6465 6620 656e 646f ,0,0]. def endo\n-00007160: 7074 7320 5b66 696c 6c63 6f6c 6f72 3d6c pts [fillcolor=l\n-00007170: 6967 6874 6772 6179 5d0a 2020 7265 7065 ightgray]. repe\n-00007180: 6174 207b 206e 5f76 6965 7773 2c20 726f at { n_views, ro\n-00007190: 7461 7465 2831 3830 2f6e 5f76 6965 7773 tate(180/n_views\n-000071a0: 2c20 5b49 5d29 2074 6865 6e20 7472 616e , [I]) then tran\n-000071b0: 736c 6174 6528 5b49 5d20 2a20 322e 3129 slate([I] * 2.1)\n-000071c0: 207d 200a 2020 2020 7377 6565 705b 656e } . sweep[en\n-000071d0: 646f 7074 735d 7b20 6e5f 6379 6c5f 7365 dopts]{ n_cyl_se\n-000071e0: 6773 3c3e 2c20 726f 7461 7465 2833 3630 gs<>, rotate(360\n-000071f0: 2f6e 5f63 796c 5f73 6567 732c 205b 302c /n_cyl_segs, [0,\n-00007200: 312c 305d 2920 7d20 0a20 2020 2020 206c 1,0]) } . l\n-00007210: 696e 655b 6669 6c6c 636f 6c6f 723d 7768 ine[fillcolor=wh\n-00007220: 6974 655d 2831 2c2d 3129 2831 2c31 290a ite](1,-1)(1,1).\n-00007230: 4974 2070 726f 6475 6365 7320 7468 6973 It produces this\n-00007240: 2064 7261 7769 6e67 2e0a 0a00 085b 696d drawing.....[im\n-00007250: 6167 6520 7372 633d 2265 7831 3130 2e70 age src=\"ex110.p\n-00007260: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng\" text=\"Image \n-00007270: 6578 3131 3020 6f6d 6974 7465 6420 696e ex110 omitted in\n-00007280: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of\n-00007290: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document.\"\n-000072a0: 0008 5d0a 0a54 6865 206f 7074 696f 6e73 ..]..The options\n-000072b0: 206f 6620 7468 6520 7377 6570 7420 6c69 of the swept li\n-000072c0: 6e65 2c20 6966 2061 6e79 2c20 6172 6520 ne, if any, are \n-000072d0: 6170 706c 6965 6420 746f 2074 6865 2066 applied to the f\n-000072e0: 6163 6573 2070 726f 6475 6365 640a 6279 aces produced.by\n-000072f0: 2073 7765 6570 696e 6720 7468 6520 6c69 sweeping the li\n-00007300: 6e65 2c20 6275 7420 6e6f 7420 7468 6520 ne, but not the \n-00007310: 656e 6420 706f 6c79 676f 6e73 2e20 204f end polygons. O\n-00007320: 7468 6572 7769 7365 2c20 7468 6520 7377 therwise, the sw\n-00007330: 6565 700a 6f70 7469 6f6e 7320 6172 6520 eep.options are \n-00007340: 6170 706c 6965 6420 7468 726f 7567 686f applied througho\n-00007350: 7574 2e20 2054 6865 2064 6566 2069 6e20 ut. The def in \n-00007360: 7468 6973 2065 7861 6d70 6c65 2069 7320 this example is \n-00007370: 616e 20e2 809c 6f70 7469 6f6e e280 9d0a an ...option....\n-00007380: 6465 6669 6e69 7469 6f6e 2e20 2052 6566 definition. Ref\n-00007390: 6572 656e 6365 7320 746f 206f 7074 696f erences to optio\n-000073a0: 6e73 206d 7573 7420 6265 2065 6e63 6c6f ns must be enclo\n-000073b0: 7365 6420 696e 2073 7175 6172 6520 6272 sed in square br\n-000073c0: 6163 6b65 7473 2c0a 652e 672e 2020 205b ackets,.e.g. [\n-000073d0: 666f 6f5d 2e20 2059 6f75 2063 616e 2063 foo]. You can c\n-000073e0: 6f6e 6361 7465 6e61 7465 2073 6576 6572 oncatenate sever\n-000073f0: 616c 2073 6574 7320 6f66 206f 7074 696f al sets of optio\n-00007400: 6e73 2077 6974 6820 6120 7369 6e67 6c65 ns with a single\n-00007410: 0a72 6566 6572 656e 6365 2c20 652e 672e .reference, e.g.\n-00007420: 2020 205b 636f 6c6f 722c 2073 697a 652c [color, size,\n-00007430: 2073 7479 6c65 5d20 2077 6f75 6c64 2063 style] would c\n-00007440: 6175 7365 2074 6865 206f 7074 696f 6e0a ause the option.\n-00007450: 6465 6669 6e69 7469 6f6e 7320 666f 7220 definitions for \n-00007460: e280 9863 6f6c 6f72 e280 992c 20e2 8098 ...color..., ...\n-00007470: 7369 7a65 e280 992c 2061 6e64 20e2 8098 size..., and ...\n-00007480: 7374 796c 65e2 8099 2074 6f20 6170 7065 style... to appe\n-00007490: 6172 2069 6e20 7365 7175 656e 6365 2069 ar in sequence i\n-000074a0: 6e0a 7468 6520 6f75 7470 7574 2063 7265 n.the output cre\n-000074b0: 6174 6564 2062 7920 7468 6520 e280 9873 ated by the ...s\n-000074c0: 6b65 7463 68e2 8099 2063 6f6d 6d61 6e64 ketch... command\n-000074d0: 2063 6f6e 7461 696e 696e 6720 7468 6520 containing the \n-000074e0: 7265 6665 7265 6e63 652e 0a48 6170 7069 reference..Happi\n-000074f0: 6c79 2c20 7468 6520 7379 6e74 6178 206f ly, the syntax o\n-00007500: 6620 e280 9873 6b65 7463 68e2 8099 2069 f ...sketch... i\n-00007510: 7320 7375 6368 2074 6861 7420 6f70 7469 s such that opti\n-00007520: 6f6e 7320 7265 6665 7265 6e63 6573 2063 ons references c\n-00007530: 616e 0a6e 6576 6572 2062 6520 636f 6e66 an.never be conf\n-00007540: 7573 6564 2077 6974 6820 7665 6374 6f72 used with vector\n-00007550: 2072 6566 6572 656e 6365 732e 2020 5768 references. Wh\n-00007560: 696c 6520 6e6f 7420 6170 7061 7265 6e74 ile not apparent\n-00007570: 2069 6e20 7468 6973 0a65 7861 6d70 6c65 in this.example\n-00007580: 2c20 6f70 7469 6f6e 7320 7265 6665 7265 , options refere\n-00007590: 6e63 6573 2061 7265 2075 7365 6675 6c20 nces are useful \n-000075a0: 7768 656e 2064 6566 696e 696e 6720 6d61 when defining ma\n-000075b0: 6e79 206f 626a 6563 7473 2077 6974 6820 ny objects with \n-000075c0: 610a 7369 6d69 6c61 7220 6170 7065 6172 a.similar appear\n-000075d0: 616e 6365 2e0a 0a1f 0a46 696c 653a 2073 ance.....File: s\n-000075e0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-000075f0: 653a 2041 6666 696e 6520 6172 6974 686d e: Affine arithm\n-00007600: 6574 6963 2c20 204e 6578 743a 204d 6f72 etic, Next: Mor\n-00007610: 6520 746f 206c 6561 726e 2c20 2050 7265 e to learn, Pre\n-00007620: 763a 2050 6f6c 796c 696e 6520 7377 6565 v: Polyline swee\n-00007630: 7073 2077 6974 6820 636c 6f73 7572 652c ps with closure,\n-00007640: 2020 5570 3a20 5377 6570 7420 6f62 6a65 Up: Swept obje\n-00007650: 6374 730a 0a32 2e37 2e36 2041 6666 696e cts..2.7.6 Affin\n-00007660: 6520 6172 6974 686d 6574 6963 0a2d 2d2d e arithmetic.---\n-00007670: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00007680: 2d2d 2d2d 0a0a 5468 6520 6172 6974 686d ----..The arithm\n-00007690: 6574 6963 205b 495d 202a 2032 2e31 2061 etic [I] * 2.1 a\n-000076a0: 626f 7665 2068 696e 7473 2061 7420 6120 bove hints at a \n-000076b0: 6c61 7267 6572 2074 7275 7468 2e20 20e2 larger truth. .\n-000076c0: 8098 536b 6574 6368 e280 990a 6f70 6572 ..Sketch....oper\n-000076d0: 6174 6f72 7320 776f 726b 206f 6e20 7363 ators work on sc\n-000076e0: 616c 6172 732c 2076 6563 746f 7273 2c20 alars, vectors, \n-000076f0: 706f 696e 7473 2c20 616e 6420 7472 616e points, and tran\n-00007700: 7366 6f72 6d73 2061 6363 6f72 6469 6e67 sforms according\n-00007710: 2074 6f0a 7468 6520 6765 6e65 7261 6c20 to.the general \n-00007720: 7275 6c65 7320 6f66 20e2 809c 6166 6669 rules of ...affi\n-00007730: 6e65 2061 6c67 6562 7261 e280 9d2e 2020 ne algebra.... \n-00007740: 5468 6973 2063 616e 2062 6520 6865 6c70 This can be help\n-00007750: 6675 6c20 666f 7220 7365 7474 696e 670a ful for setting.\n-00007760: 7570 2064 6961 6772 616d 7320 7769 7468 up diagrams with\n-00007770: 2063 6f6d 7075 7465 6420 6765 6f6d 6574 computed geomet\n-00007780: 7279 2e20 2046 6f72 2065 7861 6d70 6c65 ry. For example\n-00007790: 2c20 6966 2079 6f75 2068 6176 6520 7472 , if you have tr\n-000077a0: 6961 6e67 6c65 0a76 6572 7469 6365 7320 iangle.vertices \n-000077b0: 2870 3129 2074 6872 6f75 6768 2028 7033 (p1) through (p3\n-000077c0: 2920 616e 6420 6e65 6564 2074 6f20 6472 ) and need to dr\n-000077d0: 6177 2061 2075 6e69 7420 6e6f 726d 616c aw a unit normal\n-000077e0: 2076 6563 746f 720a 706f 696e 7469 6e67 vector.pointing\n-000077f0: 206f 7574 206f 6620 7468 6520 6365 6e74 out of the cent\n-00007800: 6572 206f 6620 7468 6520 7472 6961 6e67 er of the triang\n-00007810: 6c65 2c20 7468 6973 2063 6f64 6520 646f le, this code do\n-00007820: 6573 2074 6865 2074 7269 636b 2e0a 2020 es the trick.. \n-00007830: 6465 6620 7031 2028 312c 302c 3029 2020 def p1 (1,0,0) \n-00007840: 6465 6620 7032 2028 302c 302e 352c 3029 def p2 (0,0.5,0)\n-00007850: 2020 6465 6620 7033 2028 2d30 2e35 2c2d def p3 (-0.5,-\n-00007860: 312c 3229 0a20 2064 6566 204f 2028 302c 1,2). def O (0,\n-00007870: 302c 3029 0a20 2064 6566 204e 2075 6e69 0,0). def N uni\n-00007880: 7428 2028 2870 3329 202d 2028 7032 2929 t( ((p3) - (p2))\n-00007890: 202a 2028 2870 3129 202d 2028 7032 2929 * ((p1) - (p2))\n-000078a0: 2029 0a20 2064 6566 206e 3120 2828 7031 ). def n1 ((p1\n-000078b0: 292d 284f 2920 2b20 2870 3229 2d28 4f29 )-(O) + (p2)-(O)\n-000078c0: 202b 2028 7033 292d 284f 2929 202f 2033 + (p3)-(O)) / 3\n-000078d0: 202b 2028 4f29 0a20 2064 6566 206e 3220 + (O). def n2 \n-000078e0: 286e 3129 2b5b 4e5d 0a20 2070 6f6c 7967 (n1)+[N]. polyg\n-000078f0: 6f6e 2870 3129 2870 3229 2870 3329 0a20 on(p1)(p2)(p3). \n-00007900: 206c 696e 655b 6172 726f 7773 3d2a 2d3e line[arrows=*->\n-00007910: 5d28 6e31 2928 6e32 290a 5468 6520 6669 ](n1)(n2).The fi\n-00007920: 7273 7420 6c69 6e65 2063 6f6d 7075 7465 rst line compute\n-00007930: 7320 7468 6520 6372 6f73 7320 7072 6f64 s the cross prod\n-00007940: 7563 7420 6f66 2074 776f 2065 6467 6520 uct of two edge \n-00007950: 7665 6374 6f72 7320 6f66 2074 6865 0a74 vectors of the.t\n-00007960: 7269 616e 676c 6520 616e 6420 7363 616c riangle and scal\n-00007970: 6573 2069 7420 746f 2075 6e69 7420 6c65 es it to unit le\n-00007980: 6e67 7468 2e20 2054 6865 2073 6563 6f6e ngth. The secon\n-00007990: 6420 636f 6d70 7574 6573 2074 6865 2061 d computes the a\n-000079a0: 7665 7261 6765 0a6f 6620 7468 6520 7665 verage.of the ve\n-000079b0: 7274 6963 6573 2e20 204e 6f74 6520 7468 rtices. Note th\n-000079c0: 6174 2073 7562 7472 6163 7469 6f6e 2061 at subtraction a\n-000079d0: 6e64 2061 6464 6974 696f 6e20 6f66 2074 nd addition of t\n-000079e0: 6865 206f 7269 6769 6e0a 6566 6665 6374 he origin.effect\n-000079f0: 6976 656c 7920 636f 6e76 6572 7420 7665 ively convert ve\n-00007a00: 6374 6f72 7320 746f 2070 6f69 6e74 7320 ctors to points \n-00007a10: 616e 6420 5f76 6963 6520 7665 7273 615f and _vice versa_\n-00007a20: 2e20 2054 6865 206c 696e 650a 636f 6d6d . The line.comm\n-00007a30: 616e 6420 6472 6177 7320 7468 6520 6e6f and draws the no\n-00007a40: 726d 616c 2061 7420 7468 6520 636f 7272 rmal at the corr\n-00007a50: 6563 7420 7370 6f74 2e0a 0a00 085b 696d ect spot.....[im\n-00007a60: 6167 6520 7372 633d 2265 7831 3030 2e70 age src=\"ex100.p\n-00007a70: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng\" text=\"Image \n-00007a80: 6578 3130 3020 6f6d 6974 7465 6420 696e ex100 omitted in\n-00007a90: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of\n-00007aa0: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document.\"\n-00007ab0: 0008 5d0a 0a20 2020 5477 6f20 6361 7665 ..].. Two cave\n-00007ac0: 6174 7320 7265 6761 7264 696e 6720 7468 ats regarding th\n-00007ad0: 6973 2065 7861 6d70 6c65 2072 656d 6169 is example remai\n-00007ae0: 6e2e 2020 4669 7273 742c 2074 6865 206f n. First, the o\n-00007af0: 6e6c 7920 7761 7920 746f 0a75 7365 20e2 nly way to.use .\n-00007b00: 8098 5053 5472 6963 6b73 e280 992d 7374 ..PSTricks...-st\n-00007b10: 796c 6520 6172 726f 7773 2069 7320 7769 yle arrows is wi\n-00007b20: 7468 2061 7272 6f77 733d 2e20 2054 6865 th arrows=. The\n-00007b30: 2061 6c74 6572 6e61 7469 7665 2073 796e alternative syn\n-00007b40: 7461 7820 666f 720a e280 9850 5354 7269 tax for....PSTri\n-00007b50: 636b 73e2 8099 2061 7272 6f77 7320 6973 cks... arrows is\n-00007b60: 206e 6f74 2061 6c6c 6f77 6564 2069 6e20 not allowed in \n-00007b70: 736b 6574 6368 2e20 2053 6563 6f6e 642c sketch. Second,\n-00007b80: 2079 6f75 206d 6967 6874 206c 696b 6520 you might like \n-00007b90: 746f 0a65 6c69 6d69 6e61 7465 2074 6865 to.eliminate the\n-00007ba0: 2074 6869 7264 2064 6566 2061 6e64 2077 third def and w\n-00007bb0: 7269 7465 2069 6e73 7465 6164 2074 6865 rite instead the\n-00007bc0: 2066 6f6c 6c6f 7769 6e67 2e0a 2020 6c69 following.. li\n-00007bd0: 6e65 5b61 7272 6f77 733d 2a2d 3e5d 286e ne[arrows=*->](n\n-00007be0: 3129 2028 6e31 292b 5b4e 5d0a 5468 6973 1) (n1)+[N].This\n-00007bf0: 2069 7320 6e6f 7420 616c 6c6f 7765 642e is not allowed.\n-00007c00: 2020 5468 6520 706f 696e 7420 6c69 7374 The point list\n-00007c10: 7320 696e 2064 7261 7761 626c 6573 206d s in drawables m\n-00007c20: 6179 2063 6f6e 7369 7374 206f 6e6c 7920 ay consist only \n-00007c30: 6f66 0a65 7870 6c69 6369 7420 706f 696e of.explicit poin\n-00007c40: 7473 206f 7220 706f 696e 7420 7265 6665 ts or point refe\n-00007c50: 7265 6e63 6573 2e20 2059 6f75 206d 6179 rences. You may\n-00007c60: 2c20 686f 7765 7665 722c 2075 7365 2061 , however, use a\n-00007c70: 7269 7468 6d65 7469 630a 746f 2063 616c rithmetic.to cal\n-00007c80: 6375 6c61 7465 2070 6f69 6e74 2063 6f6d culate point com\n-00007c90: 706f 6e65 6e74 732e 2020 5468 6520 666f ponents. The fo\n-00007ca0: 6c6c 6f77 696e 6720 776f 726b 732c 2074 llowing works, t\n-00007cb0: 686f 7567 6820 6974 2773 2061 0a6c 6974 hough it's a.lit\n-00007cc0: 746c 6520 6375 6d62 6572 736f 6d65 2e0a tle cumbersome..\n-00007cd0: 2020 6c69 6e65 5b61 7272 6f77 733d 2a2d line[arrows=*-\n-00007ce0: 3e5d 286e 3129 2828 6e31 2927 782b 284e >](n1)((n1)'x+(N\n-00007cf0: 2927 782c 2028 6e31 2927 792b 284e 2927 )'x, (n1)'y+(N)'\n-00007d00: 792c 2028 6e31 2927 7a2b 284e 2927 7a29 y, (n1)'z+(N)'z)\n-00007d10: 0a4f 6276 696f 7573 6c79 2c20 7468 6520 .Obviously, the \n-00007d20: e280 9c74 6963 6b20 6f70 6572 6174 6f72 ...tick operator\n-00007d30: e280 9d20 e280 9827 78e2 8099 2065 7874 ... ...'x... ext\n-00007d40: 7261 6374 7320 636f 6d70 6f6e 656e 7473 racts components\n-00007d50: 206f 6620 706f 696e 7473 2061 6e64 0a76 of points and.v\n-00007d60: 6563 746f 7273 2e0a 0a1f 0a46 696c 653a ectors.....File:\n-00007d70: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-00007d80: 6f64 653a 204d 6f72 6520 746f 206c 6561 ode: More to lea\n-00007d90: 726e 2c20 2050 7265 763a 2041 6666 696e rn, Prev: Affin\n-00007da0: 6520 6172 6974 686d 6574 6963 2c20 2055 e arithmetic, U\n-00007db0: 703a 2053 7765 7074 206f 626a 6563 7473 p: Swept objects\n-00007dc0: 0a0a 322e 372e 3720 4d6f 7265 2074 6f20 ..2.7.7 More to \n-00007dd0: 6c65 6172 6e0a 2d2d 2d2d 2d2d 2d2d 2d2d learn.----------\n-00007de0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a54 6869 7320 ---------..This \n-00007df0: 6973 206e 6f74 2074 6865 2065 6e64 206f is not the end o\n-00007e00: 6620 7468 6520 7374 6f72 7920 6f6e 2073 f the story on s\n-00007e10: 7765 6570 7321 2020 5765 2069 6e76 6974 weeps! We invit\n-00007e20: 6520 7468 6520 7265 6164 6572 2069 6e74 e the reader int\n-00007e30: 6f0a 7468 6520 6d61 696e 2062 6f64 7920 o.the main body \n-00007e40: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document\n-00007e50: 6174 696f 6e20 2a6e 6f74 6520 5377 6565 ation *note Swee\n-00007e60: 7073 3a3a 2074 6f20 6c65 6172 6e20 6d6f ps:: to learn mo\n-00007e70: 7265 2e0a 0a00 085b 696d 6167 6520 7372 re.....[image sr\n-00007e80: 633d 2265 7831 3230 2e70 6e67 2220 7465 c=\"ex120.png\" te\n-00007e90: 7874 3d22 496d 6167 6520 6578 3132 3020 xt=\"Image ex120 \n-00007ea0: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text \n-00007eb0: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this \n-00007ec0: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a57 document.\"..]..W\n-00007ed0: 686f 206b 6e6f 7773 2077 6865 7265 2079 ho knows where y\n-00007ee0: 6f75 276c 6c20 6669 6e69 7368 3f0a 0a1f ou'll finish?...\n-00007ef0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00007f00: 666f 2c20 204e 6f64 653a 2049 6e70 7574 fo, Node: Input\n-00007f10: 206c 616e 6775 6167 652c 2020 4e65 7874 language, Next\n-00007f20: 3a20 4275 696c 6469 6e67 2061 2064 7261 : Building a dra\n-00007f30: 7769 6e67 2c20 2050 7265 763a 2049 6e74 wing, Prev: Int\n-00007f40: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa\n-00007f50: 6d70 6c65 2c20 2055 703a 2054 6f70 0a0a mple, Up: Top..\n-00007f60: 3320 496e 7075 7420 6c61 6e67 7561 6765 3 Input language\n-00007f70: 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a .***************\n-00007f80: 2a0a 0a54 6869 7320 6368 6170 7465 7220 *..This chapter \n-00007f90: 6465 7363 7269 6265 7320 7468 6520 e280 describes the ..\n-00007fa0: 9873 6b65 7463 68e2 8099 2069 6e70 7574 .sketch... input\n-00007fb0: 206c 616e 6775 6167 6520 696e 2064 6574 language in det\n-00007fc0: 6169 6c2e 0a0a 2a20 4d65 6e75 3a0a 0a2a ail...* Menu:..*\n-00007fd0: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics\n-00007fe0: 3a3a 2020 2020 2020 2020 2020 2020 2043 :: C\n-00007ff0: 6173 652c 2073 7061 6365 2c20 636f 6d6d ase, space, comm\n-00008000: 656e 7473 2c20 696e 636c 7564 6520 6669 ents, include fi\n-00008010: 6c65 732e 0a2a 2044 7261 7761 626c 6573 les..* Drawables\n-00008020: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-00008030: 2020 2020 2054 6869 6e67 7320 7468 6174 Things that\n-00008040: 2063 616e 2062 6520 6472 6177 6e2e 0a2a can be drawn..*\n-00008050: 2044 6566 696e 6974 696f 6e73 3a3a 2020 Definitions:: \n-00008060: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-00008070: 6976 696e 6720 7468 696e 6773 206e 616d iving things nam\n-00008080: 6573 2e0a 2a20 476c 6f62 616c 2065 6e76 es..* Global env\n-00008090: 6972 6f6e 6d65 6e74 3a3a 2020 2020 2020 ironment:: \n-000080a0: 2020 2020 4166 6665 6374 2074 6865 2065 Affect the e\n-000080b0: 6e74 6972 6520 6472 6177 696e 672e 0a0a ntire drawing...\n-000080c0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-000080d0: 6e66 6f2c 2020 4e6f 6465 3a20 4c61 6e67 nfo, Node: Lang\n-000080e0: 7561 6765 2062 6173 6963 732c 2020 4e65 uage basics, Ne\n-000080f0: 7874 3a20 4472 6177 6162 6c65 732c 2020 xt: Drawables, \n-00008100: 5072 6576 3a20 496e 7075 7420 6c61 6e67 Prev: Input lang\n-00008110: 7561 6765 2c20 2055 703a 2049 6e70 7574 uage, Up: Input\n-00008120: 206c 616e 6775 6167 650a 0a33 2e31 2042 language..3.1 B\n-00008130: 6173 6963 730a 3d3d 3d3d 3d3d 3d3d 3d3d asics.==========\n-00008140: 0a0a e280 9853 6b65 7463 68e2 8099 2069 .....Sketch... i\n-00008150: 6e70 7574 2069 7320 706c 6169 6e20 4153 nput is plain AS\n-00008160: 4349 4920 7465 7874 2c20 7573 7561 6c6c CII text, usuall\n-00008170: 7920 7374 6f72 6564 2069 6e20 616e 2069 y stored in an i\n-00008180: 6e70 7574 2066 696c 652e 2020 4974 0a64 nput file. It.d\n-00008190: 6573 6372 6962 6573 2061 20e2 809c 7363 escribes a ...sc\n-000081a0: 656e 65e2 809d 2c20 736f 2074 6865 2073 ene..., so the s\n-000081b0: 6b65 7463 6820 6c61 6e67 7561 6765 2069 ketch language i\n-000081c0: 7320 6120 e280 9c73 6365 6e65 2064 6573 s a ...scene des\n-000081d0: 6372 6970 7469 6f6e 0a6c 616e 6775 6167 cription.languag\n-000081e0: 65e2 809d 2e20 20e2 8098 536b 6574 6368 e.... ...Sketch\n-000081f0: e280 9920 696e 7075 7420 6973 2061 6c73 ... input is als\n-00008200: 6f20 e280 9c64 6563 6c61 7261 7469 7665 o ...declarative\n-00008210: e280 9d2e 2020 4974 206d 6572 656c 7920 .... It merely \n-00008220: 6465 636c 6172 6573 0a77 6861 7420 7468 declares.what th\n-00008230: 6520 7363 656e 6520 6f75 6768 7420 746f e scene ought to\n-00008240: 206c 6f6f 6b20 6c69 6b65 2077 6865 6e20 look like when \n-00008250: 6472 6177 696e 6720 6973 2063 6f6d 706c drawing is compl\n-00008260: 6574 6520 616e 6420 7361 7973 2076 6572 ete and says ver\n-00008270: 790a 6c69 7474 6c65 2061 626f 7574 2068 y.little about h\n-00008280: 6f77 20e2 8098 736b 6574 6368 e280 9920 ow ...sketch... \n-00008290: 7368 6f75 6c64 2064 6f20 6974 7320 776f should do its wo\n-000082a0: 726b 2e20 20e2 8098 536b 6574 6368 e280 rk. ...Sketch..\n-000082b0: 9920 636f 6d6d 616e 6473 2061 7265 206e . commands are n\n-000082c0: 6f74 0a65 7865 6375 7465 6420 7365 7175 ot.executed sequ\n-000082d0: 656e 7469 616c 6c79 2061 7320 696e 2074 entially as in t\n-000082e0: 6865 2075 7375 616c 2070 726f 6772 616d he usual program\n-000082f0: 6d69 6e67 206c 616e 6775 6167 652e 2020 ming language. \n-00008300: 5468 6579 206d 6572 656c 790a 636f 6e74 They merely.cont\n-00008310: 7269 6275 7465 2074 6f20 7468 6174 2064 ribute to that d\n-00008320: 6563 6c61 7261 7469 6f6e 2e0a 0a20 2020 eclaration... \n-00008330: 4120 6665 7720 7379 6e74 6163 7469 6320 A few syntactic \n-00008340: 6465 7461 696c 7320 6172 6520 696d 706f details are impo\n-00008350: 7274 616e 742e 2020 4361 7365 2069 7320 rtant. Case is \n-00008360: 7369 676e 6966 6963 616e 7420 696e 2074 significant in t\n-00008370: 6865 0ae2 8098 736b 6574 6368 e280 9920 he....sketch... \n-00008380: 6c61 6e67 7561 6765 2e20 2057 6974 6820 language. With \n-00008390: 6120 6665 7720 6578 6365 7074 696f 6e73 a few exceptions\n-000083a0: 2c20 7768 6974 6520 7370 6163 6520 6973 , white space is\n-000083b0: 206e 6f74 2e20 2054 6869 730a 696e 636c not. This.incl\n-000083c0: 7564 6573 206c 696e 6520 6272 6561 6b73 udes line breaks\n-000083d0: 2e20 2043 6f6d 6d65 6e74 7320 6265 6769 . Comments begi\n-000083e0: 6e20 7769 7468 20e2 8098 25e2 8099 206f n with ...%... o\n-000083f0: 7220 e280 9823 e280 9920 616e 6420 6578 r ...#... and ex\n-00008400: 7465 6e64 2074 6f20 7468 650a 656e 6420 tend to the.end \n-00008410: 6f66 2074 6865 206c 696e 652e 2020 596f of the line. Yo\n-00008420: 7520 6361 6e20 6469 7361 626c 6520 6120 u can disable a \n-00008430: 6368 756e 6b20 6f66 2073 796e 7461 6374 chunk of syntact\n-00008440: 6963 616c 6c79 2063 6f72 7265 6374 0ae2 ically correct..\n-00008450: 8098 736b 6574 6368 e280 9920 636f 6465 ..sketch... code\n-00008460: 2062 7920 656e 636c 6f73 696e 6720 6974 by enclosing it\n-00008470: 2069 6e20 6120 e280 9864 6566 e280 992e in a ...def....\n-00008480: 2020 5468 6572 6520 6973 2061 2073 696d There is a sim\n-00008490: 706c 6520 2269 6e63 6c75 6465 0a66 696c ple \"include.fil\n-000084a0: 6522 206d 6563 6861 6e69 736d 2e20 2054 e\" mechanism. T\n-000084b0: 6865 2063 6f6d 6d61 6e64 0a20 2069 6e70 he command. inp\n-000084c0: 7574 7b6f 7468 6572 6669 6c65 2e73 6b7d ut{otherfile.sk}\n-000084d0: 0a63 6175 7365 7320 7468 6520 636f 6e74 .causes the cont\n-000084e0: 656e 7473 206f 6620 e280 986f 7468 6572 ents of ...other\n-000084f0: 6669 6c65 2e73 6be2 8099 2074 6f20 6265 file.sk... to be\n-00008500: 2069 6e73 6572 7465 6420 6173 2074 686f inserted as tho\n-00008510: 7567 6820 7468 6579 2077 6572 650a 7061 ugh they were.pa\n-00008520: 7274 206f 6620 7468 6520 6375 7272 656e rt of the curren\n-00008530: 7420 6669 6c65 2e0a 0a2a 204d 656e 753a t file...* Menu:\n-00008540: 0a0a 2a20 4964 656e 7469 6669 6572 733a ..* Identifiers:\n-00008550: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00008560: 2020 4e61 6d65 7320 666f 7220 7468 696e Names for thin\n-00008570: 6773 2e0a 2a20 4b65 7920 616e 6420 7265 gs..* Key and re\n-00008580: 7365 7276 6564 2077 6f72 6473 3a3a 2020 served words:: \n-00008590: 2020 2020 4e61 6d65 7320 796f 7520 7368 Names you sh\n-000085a0: 6f75 6c64 6e27 7420 7573 652e 0a2a 204c ouldn't use..* L\n-000085b0: 6974 6572 616c 733a 3a20 2020 2020 2020 iterals:: \n-000085c0: 2020 2020 2020 2020 2020 2020 2043 6f6e Con\n-000085d0: 7374 616e 7473 2061 6e64 2063 6f6e 7374 stants and const\n-000085e0: 7275 6374 6f72 732e 0a2a 2041 7269 7468 ructors..* Arith\n-000085f0: 6d65 7469 633a 3a20 2020 2020 2020 2020 metic:: \n-00008600: 2020 2020 2020 2020 2052 756c 6573 2066 Rules f\n-00008610: 6f72 2065 7870 7265 7373 696f 6e73 2e0a or expressions..\n-00008620: 2a20 4f70 7469 6f6e 733a 3a20 2020 2020 * Options:: \n-00008630: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00008640: 4d6f 6469 6679 696e 6720 6f62 6a65 6374 Modifying object\n-00008650: 2061 7070 6561 7261 6e63 652e 0a0a 1f0a appearance.....\n-00008660: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n-00008670: 6f2c 2020 4e6f 6465 3a20 4964 656e 7469 o, Node: Identi\n-00008680: 6669 6572 732c 2020 4e65 7874 3a20 4b65 fiers, Next: Ke\n-00008690: 7920 616e 6420 7265 7365 7276 6564 2077 y and reserved w\n-000086a0: 6f72 6473 2c20 2050 7265 763a 204c 616e ords, Prev: Lan\n-000086b0: 6775 6167 6520 6261 7369 6373 2c20 2055 guage basics, U\n-000086c0: 703a 204c 616e 6775 6167 6520 6261 7369 p: Language basi\n-000086d0: 6373 0a0a 332e 312e 3120 4964 656e 7469 cs..3.1.1 Identi\n-000086e0: 6669 6572 730a 2d2d 2d2d 2d2d 2d2d 2d2d fiers.----------\n-000086f0: 2d2d 2d2d 2d2d 2d0a 0a49 6465 6e74 6966 -------..Identif\n-00008700: 6965 7273 2069 6e20 e280 9873 6b65 7463 iers in ...sketc\n-00008710: 68e2 8099 2061 7265 2072 6566 6572 656e h... are referen\n-00008720: 6365 7320 746f 2065 6172 6c69 6572 2d64 ces to earlier-d\n-00008730: 6566 696e 6564 206f 7074 696f 6e73 2c0a efined options,.\n-00008740: 7363 616c 6172 732c 2070 6f69 6e74 732c scalars, points,\n-00008750: 2076 6563 746f 7273 2c20 7472 616e 7366 vectors, transf\n-00008760: 6f72 6d73 2c20 6472 6177 6162 6c65 732c orms, drawables,\n-00008770: 2061 6e64 2074 6167 732e 2020 4465 6669 and tags. Defi\n-00008780: 6e69 7469 6f6e 730a 6172 6520 6578 706c nitions.are expl\n-00008790: 6169 6e65 6420 696e 202a 6e6f 7465 2044 ained in *note D\n-000087a0: 6566 696e 6974 696f 6e73 3a3a 2e0a 0a20 efinitions::... \n-000087b0: 2020 416e 2069 6465 6e74 6966 6965 7220 An identifier \n-000087c0: 636f 6e73 6973 7473 206f 6620 6120 6c65 consists of a le\n-000087d0: 6164 696e 6720 6c65 7474 6572 2066 6f6c ading letter fol\n-000087e0: 6c6f 7765 6420 6279 206c 6574 7465 7273 lowed by letters\n-000087f0: 2c0a 6e75 6d62 6572 7320 616e 6420 756e ,.numbers and un\n-00008800: 6465 7273 636f 7265 732e 2020 5468 6520 derscores. The \n-00008810: 6c61 7374 2063 6861 7261 6374 6572 206d last character m\n-00008820: 6179 205f 6e6f 745f 2062 6520 616e 2075 ay _not_ be an u\n-00008830: 6e64 6572 7363 6f72 652e 0a4b 6579 776f nderscore..Keywo\n-00008840: 7264 7320 6361 6e6e 6f74 2062 6520 7573 rds cannot be us\n-00008850: 6564 2061 7320 6964 656e 7469 6669 6572 ed as identifier\n-00008860: 732c 2061 6e64 2072 6573 6572 7665 6420 s, and reserved \n-00008870: 776f 7264 7320 6f75 6768 7420 746f 2062 words ought to b\n-00008880: 650a 6176 6f69 6465 642e 2020 2a4e 6f74 e.avoided. *Not\n-00008890: 6520 4b65 7920 616e 6420 7265 7365 7276 e Key and reserv\n-000088a0: 6564 2077 6f72 6473 3a3a 2e0a 0a1f 0a46 ed words::.....F\n-000088b0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-000088c0: 2c20 204e 6f64 653a 204b 6579 2061 6e64 , Node: Key and\n-000088d0: 2072 6573 6572 7665 6420 776f 7264 732c reserved words,\n-000088e0: 2020 4e65 7874 3a20 4c69 7465 7261 6c73 Next: Literals\n-000088f0: 2c20 2050 7265 763a 2049 6465 6e74 6966 , Prev: Identif\n-00008900: 6965 7273 2c20 2055 703a 204c 616e 6775 iers, Up: Langu\n-00008910: 6167 6520 6261 7369 6373 0a0a 332e 312e age basics..3.1.\n-00008920: 3220 4b65 7920 616e 6420 7265 7365 7276 2 Key and reserv\n-00008930: 6564 2077 6f72 6473 0a2d 2d2d 2d2d 2d2d ed words.-------\n+00006ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+00007000: 4120 706f 6c79 6c69 6e65 2073 7765 6570 A polyline sweep\n+00007010: 2077 6974 6820 6120 636c 6f73 7572 6520 with a closure \n+00007020: 7461 6720 6372 6561 7465 7320 616e 6f74 tag creates anot\n+00007030: 6865 7220 6b69 6e64 206f 6620 636c 6f73 her kind of clos\n+00007040: 6564 0a73 7572 6661 6365 2e20 2046 6972 ed.surface. Fir\n+00007050: 7374 2c20 7468 6520 706f 6c79 6c69 6e65 st, the polyline\n+00007060: 2073 6567 6d65 6e74 7320 6172 6520 636f segments are co\n+00007070: 6e6e 6563 7465 6420 6279 2066 6163 6573 nnected by faces\n+00007080: 2c20 6a75 7374 2061 730a 7769 7468 6f75 , just as.withou\n+00007090: 7420 7468 6520 636c 6f73 7572 6520 7461 t the closure ta\n+000070a0: 672e 2020 5468 656e 2c20 6561 6368 2073 g. Then, each s\n+000070b0: 6574 206f 6620 656e 6420 706f 696e 7473 et of end points\n+000070c0: 2069 7320 6a6f 696e 6564 2074 6f20 6d61 is joined to ma\n+000070d0: 6b65 0a61 2070 6f6c 7967 6f6e 2c20 6f6e ke.a polygon, on\n+000070e0: 6520 666f 7220 6561 6368 2065 6e64 2e20 e for each end. \n+000070f0: 2041 2063 6f64 6520 666f 7220 7365 7665 A code for seve\n+00007100: 7261 6c20 7669 6577 7320 6f66 2061 2063 ral views of a c\n+00007110: 796c 696e 6472 6963 616c 0a70 7269 736d ylindrical.prism\n+00007120: 2066 6f6c 6c6f 7773 2e0a 2020 6465 6620 follows.. def \n+00007130: 6e5f 6379 6c5f 7365 6773 2032 3020 2064 n_cyl_segs 20 d\n+00007140: 6566 206e 5f76 6965 7773 2035 2020 6465 ef n_views 5 de\n+00007150: 6620 4920 5b31 2c30 2c30 5d0a 2020 6465 f I [1,0,0]. de\n+00007160: 6620 656e 646f 7074 7320 5b66 696c 6c63 f endopts [fillc\n+00007170: 6f6c 6f72 3d6c 6967 6874 6772 6179 5d0a olor=lightgray].\n+00007180: 2020 7265 7065 6174 207b 206e 5f76 6965 repeat { n_vie\n+00007190: 7773 2c20 726f 7461 7465 2831 3830 2f6e ws, rotate(180/n\n+000071a0: 5f76 6965 7773 2c20 5b49 5d29 2074 6865 _views, [I]) the\n+000071b0: 6e20 7472 616e 736c 6174 6528 5b49 5d20 n translate([I] \n+000071c0: 2a20 322e 3129 207d 200a 2020 2020 7377 * 2.1) } . sw\n+000071d0: 6565 705b 656e 646f 7074 735d 7b20 6e5f eep[endopts]{ n_\n+000071e0: 6379 6c5f 7365 6773 3c3e 2c20 726f 7461 cyl_segs<>, rota\n+000071f0: 7465 2833 3630 2f6e 5f63 796c 5f73 6567 te(360/n_cyl_seg\n+00007200: 732c 205b 302c 312c 305d 2920 7d20 0a20 s, [0,1,0]) } . \n+00007210: 2020 2020 206c 696e 655b 6669 6c6c 636f line[fillco\n+00007220: 6c6f 723d 7768 6974 655d 2831 2c2d 3129 lor=white](1,-1)\n+00007230: 2831 2c31 290a 4974 2070 726f 6475 6365 (1,1).It produce\n+00007240: 7320 7468 6973 2064 7261 7769 6e67 2e0a s this drawing..\n+00007250: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n+00007260: 7831 3130 2e70 6e67 2220 7465 7874 3d22 x110.png\" text=\"\n+00007270: 496d 6167 6520 6578 3131 3020 6f6d 6974 Image ex110 omit\n+00007280: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n+00007290: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n+000072a0: 6d65 6e74 2e22 0008 5d0a 0a54 6865 206f ment.\"..]..The o\n+000072b0: 7074 696f 6e73 206f 6620 7468 6520 7377 ptions of the sw\n+000072c0: 6570 7420 6c69 6e65 2c20 6966 2061 6e79 ept line, if any\n+000072d0: 2c20 6172 6520 6170 706c 6965 6420 746f , are applied to\n+000072e0: 2074 6865 2066 6163 6573 2070 726f 6475 the faces produ\n+000072f0: 6365 640a 6279 2073 7765 6570 696e 6720 ced.by sweeping \n+00007300: 7468 6520 6c69 6e65 2c20 6275 7420 6e6f the line, but no\n+00007310: 7420 7468 6520 656e 6420 706f 6c79 676f t the end polygo\n+00007320: 6e73 2e20 204f 7468 6572 7769 7365 2c20 ns. Otherwise, \n+00007330: 7468 6520 7377 6565 700a 6f70 7469 6f6e the sweep.option\n+00007340: 7320 6172 6520 6170 706c 6965 6420 7468 s are applied th\n+00007350: 726f 7567 686f 7574 2e20 2054 6865 2064 roughout. The d\n+00007360: 6566 2069 6e20 7468 6973 2065 7861 6d70 ef in this examp\n+00007370: 6c65 2069 7320 616e 20e2 809c 6f70 7469 le is an ...opti\n+00007380: 6f6e e280 9d0a 6465 6669 6e69 7469 6f6e on....definition\n+00007390: 2e20 2052 6566 6572 656e 6365 7320 746f . References to\n+000073a0: 206f 7074 696f 6e73 206d 7573 7420 6265 options must be\n+000073b0: 2065 6e63 6c6f 7365 6420 696e 2073 7175 enclosed in squ\n+000073c0: 6172 6520 6272 6163 6b65 7473 2c0a 652e are brackets,.e.\n+000073d0: 672e 2020 205b 666f 6f5d 2e20 2059 6f75 g. [foo]. You\n+000073e0: 2063 616e 2063 6f6e 6361 7465 6e61 7465 can concatenate\n+000073f0: 2073 6576 6572 616c 2073 6574 7320 6f66 several sets of\n+00007400: 206f 7074 696f 6e73 2077 6974 6820 6120 options with a \n+00007410: 7369 6e67 6c65 0a72 6566 6572 656e 6365 single.reference\n+00007420: 2c20 652e 672e 2020 205b 636f 6c6f 722c , e.g. [color,\n+00007430: 2073 697a 652c 2073 7479 6c65 5d20 2077 size, style] w\n+00007440: 6f75 6c64 2063 6175 7365 2074 6865 206f ould cause the o\n+00007450: 7074 696f 6e0a 6465 6669 6e69 7469 6f6e ption.definition\n+00007460: 7320 666f 7220 e280 9863 6f6c 6f72 e280 s for ...color..\n+00007470: 992c 20e2 8098 7369 7a65 e280 992c 2061 ., ...size..., a\n+00007480: 6e64 20e2 8098 7374 796c 65e2 8099 2074 nd ...style... t\n+00007490: 6f20 6170 7065 6172 2069 6e20 7365 7175 o appear in sequ\n+000074a0: 656e 6365 2069 6e0a 7468 6520 6f75 7470 ence in.the outp\n+000074b0: 7574 2063 7265 6174 6564 2062 7920 7468 ut created by th\n+000074c0: 6520 e280 9873 6b65 7463 68e2 8099 2063 e ...sketch... c\n+000074d0: 6f6d 6d61 6e64 2063 6f6e 7461 696e 696e ommand containin\n+000074e0: 6720 7468 6520 7265 6665 7265 6e63 652e g the reference.\n+000074f0: 0a48 6170 7069 6c79 2c20 7468 6520 7379 .Happily, the sy\n+00007500: 6e74 6178 206f 6620 e280 9873 6b65 7463 ntax of ...sketc\n+00007510: 68e2 8099 2069 7320 7375 6368 2074 6861 h... is such tha\n+00007520: 7420 6f70 7469 6f6e 7320 7265 6665 7265 t options refere\n+00007530: 6e63 6573 2063 616e 0a6e 6576 6572 2062 nces can.never b\n+00007540: 6520 636f 6e66 7573 6564 2077 6974 6820 e confused with \n+00007550: 7665 6374 6f72 2072 6566 6572 656e 6365 vector reference\n+00007560: 732e 2020 5768 696c 6520 6e6f 7420 6170 s. While not ap\n+00007570: 7061 7265 6e74 2069 6e20 7468 6973 0a65 parent in this.e\n+00007580: 7861 6d70 6c65 2c20 6f70 7469 6f6e 7320 xample, options \n+00007590: 7265 6665 7265 6e63 6573 2061 7265 2075 references are u\n+000075a0: 7365 6675 6c20 7768 656e 2064 6566 696e seful when defin\n+000075b0: 696e 6720 6d61 6e79 206f 626a 6563 7473 ing many objects\n+000075c0: 2077 6974 6820 610a 7369 6d69 6c61 7220 with a.similar \n+000075d0: 6170 7065 6172 616e 6365 2e0a 0a1f 0a46 appearance.....F\n+000075e0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+000075f0: 2c20 204e 6f64 653a 2041 6666 696e 6520 , Node: Affine \n+00007600: 6172 6974 686d 6574 6963 2c20 204e 6578 arithmetic, Nex\n+00007610: 743a 204d 6f72 6520 746f 206c 6561 726e t: More to learn\n+00007620: 2c20 2050 7265 763a 2050 6f6c 796c 696e , Prev: Polylin\n+00007630: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl\n+00007640: 6f73 7572 652c 2020 5570 3a20 5377 6570 osure, Up: Swep\n+00007650: 7420 6f62 6a65 6374 730a 0a32 2e37 2e36 t objects..2.7.6\n+00007660: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet\n+00007670: 6963 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ic.-------------\n+00007680: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5468 6520 ----------..The \n+00007690: 6172 6974 686d 6574 6963 205b 495d 202a arithmetic [I] *\n+000076a0: 2032 2e31 2061 626f 7665 2068 696e 7473 2.1 above hints\n+000076b0: 2061 7420 6120 6c61 7267 6572 2074 7275 at a larger tru\n+000076c0: 7468 2e20 20e2 8098 536b 6574 6368 e280 th. ...Sketch..\n+000076d0: 990a 6f70 6572 6174 6f72 7320 776f 726b ..operators work\n+000076e0: 206f 6e20 7363 616c 6172 732c 2076 6563 on scalars, vec\n+000076f0: 746f 7273 2c20 706f 696e 7473 2c20 616e tors, points, an\n+00007700: 6420 7472 616e 7366 6f72 6d73 2061 6363 d transforms acc\n+00007710: 6f72 6469 6e67 2074 6f0a 7468 6520 6765 ording to.the ge\n+00007720: 6e65 7261 6c20 7275 6c65 7320 6f66 20e2 neral rules of .\n+00007730: 809c 6166 6669 6e65 2061 6c67 6562 7261 ..affine algebra\n+00007740: e280 9d2e 2020 5468 6973 2063 616e 2062 .... This can b\n+00007750: 6520 6865 6c70 6675 6c20 666f 7220 7365 e helpful for se\n+00007760: 7474 696e 670a 7570 2064 6961 6772 616d tting.up diagram\n+00007770: 7320 7769 7468 2063 6f6d 7075 7465 6420 s with computed \n+00007780: 6765 6f6d 6574 7279 2e20 2046 6f72 2065 geometry. For e\n+00007790: 7861 6d70 6c65 2c20 6966 2079 6f75 2068 xample, if you h\n+000077a0: 6176 6520 7472 6961 6e67 6c65 0a76 6572 ave triangle.ver\n+000077b0: 7469 6365 7320 2870 3129 2074 6872 6f75 tices (p1) throu\n+000077c0: 6768 2028 7033 2920 616e 6420 6e65 6564 gh (p3) and need\n+000077d0: 2074 6f20 6472 6177 2061 2075 6e69 7420 to draw a unit \n+000077e0: 6e6f 726d 616c 2076 6563 746f 720a 706f normal vector.po\n+000077f0: 696e 7469 6e67 206f 7574 206f 6620 7468 inting out of th\n+00007800: 6520 6365 6e74 6572 206f 6620 7468 6520 e center of the \n+00007810: 7472 6961 6e67 6c65 2c20 7468 6973 2063 triangle, this c\n+00007820: 6f64 6520 646f 6573 2074 6865 2074 7269 ode does the tri\n+00007830: 636b 2e0a 2020 6465 6620 7031 2028 312c ck.. def p1 (1,\n+00007840: 302c 3029 2020 6465 6620 7032 2028 302c 0,0) def p2 (0,\n+00007850: 302e 352c 3029 2020 6465 6620 7033 2028 0.5,0) def p3 (\n+00007860: 2d30 2e35 2c2d 312c 3229 0a20 2064 6566 -0.5,-1,2). def\n+00007870: 204f 2028 302c 302c 3029 0a20 2064 6566 O (0,0,0). def\n+00007880: 204e 2075 6e69 7428 2028 2870 3329 202d N unit( ((p3) -\n+00007890: 2028 7032 2929 202a 2028 2870 3129 202d (p2)) * ((p1) -\n+000078a0: 2028 7032 2929 2029 0a20 2064 6566 206e (p2)) ). def n\n+000078b0: 3120 2828 7031 292d 284f 2920 2b20 2870 1 ((p1)-(O) + (p\n+000078c0: 3229 2d28 4f29 202b 2028 7033 292d 284f 2)-(O) + (p3)-(O\n+000078d0: 2929 202f 2033 202b 2028 4f29 0a20 2064 )) / 3 + (O). d\n+000078e0: 6566 206e 3220 286e 3129 2b5b 4e5d 0a20 ef n2 (n1)+[N]. \n+000078f0: 2070 6f6c 7967 6f6e 2870 3129 2870 3229 polygon(p1)(p2)\n+00007900: 2870 3329 0a20 206c 696e 655b 6172 726f (p3). line[arro\n+00007910: 7773 3d2a 2d3e 5d28 6e31 2928 6e32 290a ws=*->](n1)(n2).\n+00007920: 5468 6520 6669 7273 7420 6c69 6e65 2063 The first line c\n+00007930: 6f6d 7075 7465 7320 7468 6520 6372 6f73 omputes the cros\n+00007940: 7320 7072 6f64 7563 7420 6f66 2074 776f s product of two\n+00007950: 2065 6467 6520 7665 6374 6f72 7320 6f66 edge vectors of\n+00007960: 2074 6865 0a74 7269 616e 676c 6520 616e the.triangle an\n+00007970: 6420 7363 616c 6573 2069 7420 746f 2075 d scales it to u\n+00007980: 6e69 7420 6c65 6e67 7468 2e20 2054 6865 nit length. The\n+00007990: 2073 6563 6f6e 6420 636f 6d70 7574 6573 second computes\n+000079a0: 2074 6865 2061 7665 7261 6765 0a6f 6620 the average.of \n+000079b0: 7468 6520 7665 7274 6963 6573 2e20 204e the vertices. N\n+000079c0: 6f74 6520 7468 6174 2073 7562 7472 6163 ote that subtrac\n+000079d0: 7469 6f6e 2061 6e64 2061 6464 6974 696f tion and additio\n+000079e0: 6e20 6f66 2074 6865 206f 7269 6769 6e0a n of the origin.\n+000079f0: 6566 6665 6374 6976 656c 7920 636f 6e76 effectively conv\n+00007a00: 6572 7420 7665 6374 6f72 7320 746f 2070 ert vectors to p\n+00007a10: 6f69 6e74 7320 616e 6420 5f76 6963 6520 oints and _vice \n+00007a20: 7665 7273 615f 2e20 2054 6865 206c 696e versa_. The lin\n+00007a30: 650a 636f 6d6d 616e 6420 6472 6177 7320 e.command draws \n+00007a40: 7468 6520 6e6f 726d 616c 2061 7420 7468 the normal at th\n+00007a50: 6520 636f 7272 6563 7420 7370 6f74 2e0a e correct spot..\n+00007a60: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n+00007a70: 7831 3030 2e70 6e67 2220 7465 7874 3d22 x100.png\" text=\"\n+00007a80: 496d 6167 6520 6578 3130 3020 6f6d 6974 Image ex100 omit\n+00007a90: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n+00007aa0: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n+00007ab0: 6d65 6e74 2e22 0008 5d0a 0a20 2020 5477 ment.\"..].. Tw\n+00007ac0: 6f20 6361 7665 6174 7320 7265 6761 7264 o caveats regard\n+00007ad0: 696e 6720 7468 6973 2065 7861 6d70 6c65 ing this example\n+00007ae0: 2072 656d 6169 6e2e 2020 4669 7273 742c remain. First,\n+00007af0: 2074 6865 206f 6e6c 7920 7761 7920 746f the only way to\n+00007b00: 0a75 7365 20e2 8098 5053 5472 6963 6b73 .use ...PSTricks\n+00007b10: e280 992d 7374 796c 6520 6172 726f 7773 ...-style arrows\n+00007b20: 2069 7320 7769 7468 2061 7272 6f77 733d is with arrows=\n+00007b30: 2e20 2054 6865 2061 6c74 6572 6e61 7469 . The alternati\n+00007b40: 7665 2073 796e 7461 7820 666f 720a e280 ve syntax for...\n+00007b50: 9850 5354 7269 636b 73e2 8099 2061 7272 .PSTricks... arr\n+00007b60: 6f77 7320 6973 206e 6f74 2061 6c6c 6f77 ows is not allow\n+00007b70: 6564 2069 6e20 736b 6574 6368 2e20 2053 ed in sketch. S\n+00007b80: 6563 6f6e 642c 2079 6f75 206d 6967 6874 econd, you might\n+00007b90: 206c 696b 6520 746f 0a65 6c69 6d69 6e61 like to.elimina\n+00007ba0: 7465 2074 6865 2074 6869 7264 2064 6566 te the third def\n+00007bb0: 2061 6e64 2077 7269 7465 2069 6e73 7465 and write inste\n+00007bc0: 6164 2074 6865 2066 6f6c 6c6f 7769 6e67 ad the following\n+00007bd0: 2e0a 2020 6c69 6e65 5b61 7272 6f77 733d .. line[arrows=\n+00007be0: 2a2d 3e5d 286e 3129 2028 6e31 292b 5b4e *->](n1) (n1)+[N\n+00007bf0: 5d0a 5468 6973 2069 7320 6e6f 7420 616c ].This is not al\n+00007c00: 6c6f 7765 642e 2020 5468 6520 706f 696e lowed. The poin\n+00007c10: 7420 6c69 7374 7320 696e 2064 7261 7761 t lists in drawa\n+00007c20: 626c 6573 206d 6179 2063 6f6e 7369 7374 bles may consist\n+00007c30: 206f 6e6c 7920 6f66 0a65 7870 6c69 6369 only of.explici\n+00007c40: 7420 706f 696e 7473 206f 7220 706f 696e t points or poin\n+00007c50: 7420 7265 6665 7265 6e63 6573 2e20 2059 t references. Y\n+00007c60: 6f75 206d 6179 2c20 686f 7765 7665 722c ou may, however,\n+00007c70: 2075 7365 2061 7269 7468 6d65 7469 630a use arithmetic.\n+00007c80: 746f 2063 616c 6375 6c61 7465 2070 6f69 to calculate poi\n+00007c90: 6e74 2063 6f6d 706f 6e65 6e74 732e 2020 nt components. \n+00007ca0: 5468 6520 666f 6c6c 6f77 696e 6720 776f The following wo\n+00007cb0: 726b 732c 2074 686f 7567 6820 6974 2773 rks, though it's\n+00007cc0: 2061 0a6c 6974 746c 6520 6375 6d62 6572 a.little cumber\n+00007cd0: 736f 6d65 2e0a 2020 6c69 6e65 5b61 7272 some.. line[arr\n+00007ce0: 6f77 733d 2a2d 3e5d 286e 3129 2828 6e31 ows=*->](n1)((n1\n+00007cf0: 2927 782b 284e 2927 782c 2028 6e31 2927 )'x+(N)'x, (n1)'\n+00007d00: 792b 284e 2927 792c 2028 6e31 2927 7a2b y+(N)'y, (n1)'z+\n+00007d10: 284e 2927 7a29 0a4f 6276 696f 7573 6c79 (N)'z).Obviously\n+00007d20: 2c20 7468 6520 e280 9c74 6963 6b20 6f70 , the ...tick op\n+00007d30: 6572 6174 6f72 e280 9d20 e280 9827 78e2 erator... ...'x.\n+00007d40: 8099 2065 7874 7261 6374 7320 636f 6d70 .. extracts comp\n+00007d50: 6f6e 656e 7473 206f 6620 706f 696e 7473 onents of points\n+00007d60: 2061 6e64 0a76 6563 746f 7273 2e0a 0a1f and.vectors....\n+00007d70: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n+00007d80: 666f 2c20 204e 6f64 653a 204d 6f72 6520 fo, Node: More \n+00007d90: 746f 206c 6561 726e 2c20 2050 7265 763a to learn, Prev:\n+00007da0: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet\n+00007db0: 6963 2c20 2055 703a 2053 7765 7074 206f ic, Up: Swept o\n+00007dc0: 626a 6563 7473 0a0a 322e 372e 3720 4d6f bjects..2.7.7 Mo\n+00007dd0: 7265 2074 6f20 6c65 6172 6e0a 2d2d 2d2d re to learn.----\n+00007de0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a ---------------.\n+00007df0: 0a54 6869 7320 6973 206e 6f74 2074 6865 .This is not the\n+00007e00: 2065 6e64 206f 6620 7468 6520 7374 6f72 end of the stor\n+00007e10: 7920 6f6e 2073 7765 6570 7321 2020 5765 y on sweeps! We\n+00007e20: 2069 6e76 6974 6520 7468 6520 7265 6164 invite the read\n+00007e30: 6572 2069 6e74 6f0a 7468 6520 6d61 696e er into.the main\n+00007e40: 2062 6f64 7920 6f66 2074 6869 7320 646f body of this do\n+00007e50: 6375 6d65 6e74 6174 696f 6e20 2a6e 6f74 cumentation *not\n+00007e60: 6520 5377 6565 7073 3a3a 2074 6f20 6c65 e Sweeps:: to le\n+00007e70: 6172 6e20 6d6f 7265 2e0a 0a00 085b 696d arn more.....[im\n+00007e80: 6167 6520 7372 633d 2265 7831 3230 2e70 age src=\"ex120.p\n+00007e90: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng\" text=\"Image \n+00007ea0: 6578 3132 3020 6f6d 6974 7465 6420 696e ex120 omitted in\n+00007eb0: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of\n+00007ec0: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document.\"\n+00007ed0: 0008 5d0a 0a57 686f 206b 6e6f 7773 2077 ..]..Who knows w\n+00007ee0: 6865 7265 2079 6f75 276c 6c20 6669 6e69 here you'll fini\n+00007ef0: 7368 3f0a 0a1f 0a46 696c 653a 2073 6b65 sh?....File: ske\n+00007f00: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+00007f10: 2049 6e70 7574 206c 616e 6775 6167 652c Input language,\n+00007f20: 2020 4e65 7874 3a20 4275 696c 6469 6e67 Next: Building\n+00007f30: 2061 2064 7261 7769 6e67 2c20 2050 7265 a drawing, Pre\n+00007f40: 763a 2049 6e74 726f 6475 6374 696f 6e20 v: Introduction \n+00007f50: 6279 2065 7861 6d70 6c65 2c20 2055 703a by example, Up:\n+00007f60: 2054 6f70 0a0a 3320 496e 7075 7420 6c61 Top..3 Input la\n+00007f70: 6e67 7561 6765 0a2a 2a2a 2a2a 2a2a 2a2a nguage.*********\n+00007f80: 2a2a 2a2a 2a2a 2a0a 0a54 6869 7320 6368 *******..This ch\n+00007f90: 6170 7465 7220 6465 7363 7269 6265 7320 apter describes \n+00007fa0: 7468 6520 e280 9873 6b65 7463 68e2 8099 the ...sketch...\n+00007fb0: 2069 6e70 7574 206c 616e 6775 6167 6520 input language \n+00007fc0: 696e 2064 6574 6169 6c2e 0a0a 2a20 4d65 in detail...* Me\n+00007fd0: 6e75 3a0a 0a2a 204c 616e 6775 6167 6520 nu:..* Language \n+00007fe0: 6261 7369 6373 3a3a 2020 2020 2020 2020 basics:: \n+00007ff0: 2020 2020 2043 6173 652c 2073 7061 6365 Case, space\n+00008000: 2c20 636f 6d6d 656e 7473 2c20 696e 636c , comments, incl\n+00008010: 7564 6520 6669 6c65 732e 0a2a 2044 7261 ude files..* Dra\n+00008020: 7761 626c 6573 3a3a 2020 2020 2020 2020 wables:: \n+00008030: 2020 2020 2020 2020 2020 2054 6869 6e67 Thing\n+00008040: 7320 7468 6174 2063 616e 2062 6520 6472 s that can be dr\n+00008050: 6177 6e2e 0a2a 2044 6566 696e 6974 696f awn..* Definitio\n+00008060: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: \n+00008070: 2020 2020 2047 6976 696e 6720 7468 696e Giving thin\n+00008080: 6773 206e 616d 6573 2e0a 2a20 476c 6f62 gs names..* Glob\n+00008090: 616c 2065 6e76 6972 6f6e 6d65 6e74 3a3a al environment::\n+000080a0: 2020 2020 2020 2020 2020 4166 6665 6374 Affect\n+000080b0: 2074 6865 2065 6e74 6972 6520 6472 6177 the entire draw\n+000080c0: 696e 672e 0a0a 1f0a 4669 6c65 3a20 736b ing.....File: sk\n+000080d0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+000080e0: 3a20 4c61 6e67 7561 6765 2062 6173 6963 : Language basic\n+000080f0: 732c 2020 4e65 7874 3a20 4472 6177 6162 s, Next: Drawab\n+00008100: 6c65 732c 2020 5072 6576 3a20 496e 7075 les, Prev: Inpu\n+00008110: 7420 6c61 6e67 7561 6765 2c20 2055 703a t language, Up:\n+00008120: 2049 6e70 7574 206c 616e 6775 6167 650a Input language.\n+00008130: 0a33 2e31 2042 6173 6963 730a 3d3d 3d3d .3.1 Basics.====\n+00008140: 3d3d 3d3d 3d3d 0a0a e280 9853 6b65 7463 ======.....Sketc\n+00008150: 68e2 8099 2069 6e70 7574 2069 7320 706c h... input is pl\n+00008160: 6169 6e20 4153 4349 4920 7465 7874 2c20 ain ASCII text, \n+00008170: 7573 7561 6c6c 7920 7374 6f72 6564 2069 usually stored i\n+00008180: 6e20 616e 2069 6e70 7574 2066 696c 652e n an input file.\n+00008190: 2020 4974 0a64 6573 6372 6962 6573 2061 It.describes a\n+000081a0: 20e2 809c 7363 656e 65e2 809d 2c20 736f ...scene..., so\n+000081b0: 2074 6865 2073 6b65 7463 6820 6c61 6e67 the sketch lang\n+000081c0: 7561 6765 2069 7320 6120 e280 9c73 6365 uage is a ...sce\n+000081d0: 6e65 2064 6573 6372 6970 7469 6f6e 0a6c ne description.l\n+000081e0: 616e 6775 6167 65e2 809d 2e20 20e2 8098 anguage.... ...\n+000081f0: 536b 6574 6368 e280 9920 696e 7075 7420 Sketch... input \n+00008200: 6973 2061 6c73 6f20 e280 9c64 6563 6c61 is also ...decla\n+00008210: 7261 7469 7665 e280 9d2e 2020 4974 206d rative.... It m\n+00008220: 6572 656c 7920 6465 636c 6172 6573 0a77 erely declares.w\n+00008230: 6861 7420 7468 6520 7363 656e 6520 6f75 hat the scene ou\n+00008240: 6768 7420 746f 206c 6f6f 6b20 6c69 6b65 ght to look like\n+00008250: 2077 6865 6e20 6472 6177 696e 6720 6973 when drawing is\n+00008260: 2063 6f6d 706c 6574 6520 616e 6420 7361 complete and sa\n+00008270: 7973 2076 6572 790a 6c69 7474 6c65 2061 ys very.little a\n+00008280: 626f 7574 2068 6f77 20e2 8098 736b 6574 bout how ...sket\n+00008290: 6368 e280 9920 7368 6f75 6c64 2064 6f20 ch... should do \n+000082a0: 6974 7320 776f 726b 2e20 20e2 8098 536b its work. ...Sk\n+000082b0: 6574 6368 e280 9920 636f 6d6d 616e 6473 etch... commands\n+000082c0: 2061 7265 206e 6f74 0a65 7865 6375 7465 are not.execute\n+000082d0: 6420 7365 7175 656e 7469 616c 6c79 2061 d sequentially a\n+000082e0: 7320 696e 2074 6865 2075 7375 616c 2070 s in the usual p\n+000082f0: 726f 6772 616d 6d69 6e67 206c 616e 6775 rogramming langu\n+00008300: 6167 652e 2020 5468 6579 206d 6572 656c age. They merel\n+00008310: 790a 636f 6e74 7269 6275 7465 2074 6f20 y.contribute to \n+00008320: 7468 6174 2064 6563 6c61 7261 7469 6f6e that declaration\n+00008330: 2e0a 0a20 2020 4120 6665 7720 7379 6e74 ... A few synt\n+00008340: 6163 7469 6320 6465 7461 696c 7320 6172 actic details ar\n+00008350: 6520 696d 706f 7274 616e 742e 2020 4361 e important. Ca\n+00008360: 7365 2069 7320 7369 676e 6966 6963 616e se is significan\n+00008370: 7420 696e 2074 6865 0ae2 8098 736b 6574 t in the....sket\n+00008380: 6368 e280 9920 6c61 6e67 7561 6765 2e20 ch... language. \n+00008390: 2057 6974 6820 6120 6665 7720 6578 6365 With a few exce\n+000083a0: 7074 696f 6e73 2c20 7768 6974 6520 7370 ptions, white sp\n+000083b0: 6163 6520 6973 206e 6f74 2e20 2054 6869 ace is not. Thi\n+000083c0: 730a 696e 636c 7564 6573 206c 696e 6520 s.includes line \n+000083d0: 6272 6561 6b73 2e20 2043 6f6d 6d65 6e74 breaks. Comment\n+000083e0: 7320 6265 6769 6e20 7769 7468 20e2 8098 s begin with ...\n+000083f0: 25e2 8099 206f 7220 e280 9823 e280 9920 %... or ...#... \n+00008400: 616e 6420 6578 7465 6e64 2074 6f20 7468 and extend to th\n+00008410: 650a 656e 6420 6f66 2074 6865 206c 696e e.end of the lin\n+00008420: 652e 2020 596f 7520 6361 6e20 6469 7361 e. You can disa\n+00008430: 626c 6520 6120 6368 756e 6b20 6f66 2073 ble a chunk of s\n+00008440: 796e 7461 6374 6963 616c 6c79 2063 6f72 yntactically cor\n+00008450: 7265 6374 0ae2 8098 736b 6574 6368 e280 rect....sketch..\n+00008460: 9920 636f 6465 2062 7920 656e 636c 6f73 . code by enclos\n+00008470: 696e 6720 6974 2069 6e20 6120 e280 9864 ing it in a ...d\n+00008480: 6566 e280 992e 2020 5468 6572 6520 6973 ef.... There is\n+00008490: 2061 2073 696d 706c 6520 2269 6e63 6c75 a simple \"inclu\n+000084a0: 6465 0a66 696c 6522 206d 6563 6861 6e69 de.file\" mechani\n+000084b0: 736d 2e20 2054 6865 2063 6f6d 6d61 6e64 sm. The command\n+000084c0: 0a20 2069 6e70 7574 7b6f 7468 6572 6669 . input{otherfi\n+000084d0: 6c65 2e73 6b7d 0a63 6175 7365 7320 7468 le.sk}.causes th\n+000084e0: 6520 636f 6e74 656e 7473 206f 6620 e280 e contents of ..\n+000084f0: 986f 7468 6572 6669 6c65 2e73 6be2 8099 .otherfile.sk...\n+00008500: 2074 6f20 6265 2069 6e73 6572 7465 6420 to be inserted \n+00008510: 6173 2074 686f 7567 6820 7468 6579 2077 as though they w\n+00008520: 6572 650a 7061 7274 206f 6620 7468 6520 ere.part of the \n+00008530: 6375 7272 656e 7420 6669 6c65 2e0a 0a2a current file...*\n+00008540: 204d 656e 753a 0a0a 2a20 4964 656e 7469 Menu:..* Identi\n+00008550: 6669 6572 733a 3a20 2020 2020 2020 2020 fiers:: \n+00008560: 2020 2020 2020 2020 4e61 6d65 7320 666f Names fo\n+00008570: 7220 7468 696e 6773 2e0a 2a20 4b65 7920 r things..* Key \n+00008580: 616e 6420 7265 7365 7276 6564 2077 6f72 and reserved wor\n+00008590: 6473 3a3a 2020 2020 2020 4e61 6d65 7320 ds:: Names \n+000085a0: 796f 7520 7368 6f75 6c64 6e27 7420 7573 you shouldn't us\n+000085b0: 652e 0a2a 204c 6974 6572 616c 733a 3a20 e..* Literals:: \n+000085c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000085d0: 2020 2043 6f6e 7374 616e 7473 2061 6e64 Constants and\n+000085e0: 2063 6f6e 7374 7275 6374 6f72 732e 0a2a constructors..*\n+000085f0: 2041 7269 7468 6d65 7469 633a 3a20 2020 Arithmetic:: \n+00008600: 2020 2020 2020 2020 2020 2020 2020 2052 R\n+00008610: 756c 6573 2066 6f72 2065 7870 7265 7373 ules for express\n+00008620: 696f 6e73 2e0a 2a20 4f70 7469 6f6e 733a ions..* Options:\n+00008630: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00008640: 2020 2020 2020 4d6f 6469 6679 696e 6720 Modifying \n+00008650: 6f62 6a65 6374 2061 7070 6561 7261 6e63 object appearanc\n+00008660: 652e 0a0a 1f0a 4669 6c65 3a20 736b 6574 e.....File: sket\n+00008670: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n+00008680: 4964 656e 7469 6669 6572 732c 2020 4e65 Identifiers, Ne\n+00008690: 7874 3a20 4b65 7920 616e 6420 7265 7365 xt: Key and rese\n+000086a0: 7276 6564 2077 6f72 6473 2c20 2050 7265 rved words, Pre\n+000086b0: 763a 204c 616e 6775 6167 6520 6261 7369 v: Language basi\n+000086c0: 6373 2c20 2055 703a 204c 616e 6775 6167 cs, Up: Languag\n+000086d0: 6520 6261 7369 6373 0a0a 332e 312e 3120 e basics..3.1.1 \n+000086e0: 4964 656e 7469 6669 6572 730a 2d2d 2d2d Identifiers.----\n+000086f0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a49 -------------..I\n+00008700: 6465 6e74 6966 6965 7273 2069 6e20 e280 dentifiers in ..\n+00008710: 9873 6b65 7463 68e2 8099 2061 7265 2072 .sketch... are r\n+00008720: 6566 6572 656e 6365 7320 746f 2065 6172 eferences to ear\n+00008730: 6c69 6572 2d64 6566 696e 6564 206f 7074 lier-defined opt\n+00008740: 696f 6e73 2c0a 7363 616c 6172 732c 2070 ions,.scalars, p\n+00008750: 6f69 6e74 732c 2076 6563 746f 7273 2c20 oints, vectors, \n+00008760: 7472 616e 7366 6f72 6d73 2c20 6472 6177 transforms, draw\n+00008770: 6162 6c65 732c 2061 6e64 2074 6167 732e ables, and tags.\n+00008780: 2020 4465 6669 6e69 7469 6f6e 730a 6172 Definitions.ar\n+00008790: 6520 6578 706c 6169 6e65 6420 696e 202a e explained in *\n+000087a0: 6e6f 7465 2044 6566 696e 6974 696f 6e73 note Definitions\n+000087b0: 3a3a 2e0a 0a20 2020 416e 2069 6465 6e74 ::... An ident\n+000087c0: 6966 6965 7220 636f 6e73 6973 7473 206f ifier consists o\n+000087d0: 6620 6120 6c65 6164 696e 6720 6c65 7474 f a leading lett\n+000087e0: 6572 2066 6f6c 6c6f 7765 6420 6279 206c er followed by l\n+000087f0: 6574 7465 7273 2c0a 6e75 6d62 6572 7320 etters,.numbers \n+00008800: 616e 6420 756e 6465 7273 636f 7265 732e and underscores.\n+00008810: 2020 5468 6520 6c61 7374 2063 6861 7261 The last chara\n+00008820: 6374 6572 206d 6179 205f 6e6f 745f 2062 cter may _not_ b\n+00008830: 6520 616e 2075 6e64 6572 7363 6f72 652e e an underscore.\n+00008840: 0a4b 6579 776f 7264 7320 6361 6e6e 6f74 .Keywords cannot\n+00008850: 2062 6520 7573 6564 2061 7320 6964 656e be used as iden\n+00008860: 7469 6669 6572 732c 2061 6e64 2072 6573 tifiers, and res\n+00008870: 6572 7665 6420 776f 7264 7320 6f75 6768 erved words ough\n+00008880: 7420 746f 2062 650a 6176 6f69 6465 642e t to be.avoided.\n+00008890: 2020 2a4e 6f74 6520 4b65 7920 616e 6420 *Note Key and \n+000088a0: 7265 7365 7276 6564 2077 6f72 6473 3a3a reserved words::\n+000088b0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+000088c0: 682e 696e 666f 2c20 204e 6f64 653a 204b h.info, Node: K\n+000088d0: 6579 2061 6e64 2072 6573 6572 7665 6420 ey and reserved \n+000088e0: 776f 7264 732c 2020 4e65 7874 3a20 4c69 words, Next: Li\n+000088f0: 7465 7261 6c73 2c20 2050 7265 763a 2049 terals, Prev: I\n+00008900: 6465 6e74 6966 6965 7273 2c20 2055 703a dentifiers, Up:\n+00008910: 204c 616e 6775 6167 6520 6261 7369 6373 Language basics\n+00008920: 0a0a 332e 312e 3220 4b65 7920 616e 6420 ..3.1.2 Key and \n+00008930: 7265 7365 7276 6564 2077 6f72 6473 0a2d reserved words.-\n 00008940: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00008950: 2d2d 2d2d 2d0a 0a54 6865 206b 6579 776f -----..The keywo\n-00008960: 7264 7320 6f66 20e2 8098 736b 6574 6368 rds of ...sketch\n-00008970: e280 9920 6172 6520 e280 9870 6963 7475 ... are ...pictu\n-00008980: 7265 626f 78e2 8099 20e2 8098 6375 7276 rebox... ...curv\n-00008990: 65e2 8099 20e2 8098 6465 66e2 8099 20e2 e... ...def... .\n-000089a0: 8098 646f 7473 e280 9920 e280 9866 7261 ..dots... ...fra\n-000089b0: 6d65 e280 990a e280 9867 6c6f 6261 6ce2 me.......global.\n-000089c0: 8099 20e2 8098 696e 7075 74e2 8099 20e2 .. ...input... .\n-000089d0: 8098 6c69 6e65 e280 9920 e280 9870 6f6c ..line... ...pol\n-000089e0: 7967 6f6e e280 9920 e280 9870 7574 e280 ygon... ...put..\n-000089f0: 9920 e280 9872 6570 6561 74e2 8099 20e2 . ...repeat... .\n-00008a00: 8098 7365 74e2 8099 20e2 8098 7377 6565 ..set... ...swee\n-00008a10: 70e2 8099 2061 6e64 0ae2 8098 7468 656e p... and....then\n-00008a20: e280 992e 2020 5468 6520 e280 9873 6b65 .... The ...ske\n-00008a30: 7463 68e2 8099 2070 6172 7365 7220 7769 tch... parser wi\n-00008a40: 6c6c 206e 6f74 6520 6120 7379 6e74 6178 ll note a syntax\n-00008a50: 2065 7272 6f72 2069 6620 616e 7920 6f66 error if any of\n-00008a60: 2074 6865 7365 0a61 7265 2075 7365 6420 these.are used \n-00008a70: 696e 2070 6c61 6365 206f 6620 6120 7072 in place of a pr\n-00008a80: 6f70 6572 2069 6465 6e74 6966 6965 722e oper identifier.\n-00008a90: 0a0a 2020 2049 6e20 6164 6469 7469 6f6e .. In addition\n-00008aa0: 2c20 7468 6572 6520 6172 6520 7265 7365 , there are rese\n-00008ab0: 7276 6564 2077 6f72 6473 2074 6861 7420 rved words that \n-00008ac0: 6361 6e20 6375 7272 656e 746c 7920 6265 can currently be\n-00008ad0: 2064 6566 696e 6564 0a62 7920 7468 6520 defined.by the \n-00008ae0: 7573 6572 2c20 6275 7420 7769 7468 2074 user, but with t\n-00008af0: 6865 2072 6973 6b20 7468 6174 2066 7574 he risk that fut\n-00008b00: 7572 6520 7665 7273 696f 6e73 206f 6620 ure versions of \n-00008b10: e280 9873 6b65 7463 68e2 8099 2077 696c ...sketch... wil\n-00008b20: 6c0a 7265 6a65 6374 2074 686f 7365 2064 l.reject those d\n-00008b30: 6566 696e 6974 696f 6e73 2e20 2054 6865 efinitions. The\n-00008b40: 2072 6573 6572 7665 6420 776f 7264 7320 reserved words \n-00008b50: 6172 6520 e280 9861 636f 73e2 8099 20e2 are ...acos... .\n-00008b60: 8098 6173 696e e280 9920 e280 9861 7461 ..asin... ...ata\n-00008b70: 6e32 e280 990a e280 9863 6f73 e280 9920 n2.......cos... \n-00008b80: e280 9869 6e76 6572 7365 e280 9920 e280 ...inverse... ..\n-00008b90: 9870 6572 7370 6563 7469 7665 e280 9920 .perspective... \n-00008ba0: e280 9870 726f 6a65 6374 e280 9920 e280 ...project... ..\n-00008bb0: 9872 6f74 6174 65e2 8099 20e2 8098 7363 .rotate... ...sc\n-00008bc0: 616c 65e2 8099 20e2 8098 7369 6ee2 8099 ale... ...sin...\n-00008bd0: 20e2 8098 7370 6563 6961 6ce2 8099 0ae2 ...special.....\n-00008be0: 8098 7371 7274 e280 9920 e280 9874 7261 ..sqrt... ...tra\n-00008bf0: 6e73 6c61 7465 e280 9920 e280 9875 6e69 nslate... ...uni\n-00008c00: 74e2 8099 2061 6e64 20e2 8098 7669 6577 t... and ...view\n-00008c10: e280 992e 0a0a 1f0a 4669 6c65 3a20 736b ........File: sk\n-00008c20: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-00008c30: 3a20 4c69 7465 7261 6c73 2c20 204e 6578 : Literals, Nex\n-00008c40: 743a 2041 7269 7468 6d65 7469 632c 2020 t: Arithmetic, \n-00008c50: 5072 6576 3a20 4b65 7920 616e 6420 7265 Prev: Key and re\n-00008c60: 7365 7276 6564 2077 6f72 6473 2c20 2055 served words, U\n-00008c70: 703a 204c 616e 6775 6167 6520 6261 7369 p: Language basi\n-00008c80: 6373 0a0a 332e 312e 3320 4c69 7465 7261 cs..3.1.3 Litera\n-00008c90: 6c73 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ls.-------------\n-00008ca0: 2d0a 0a4c 6974 6572 616c 7320 696e 20e2 -..Literals in .\n-00008cb0: 8098 736b 6574 6368 e280 9920 696e 636c ..sketch... incl\n-00008cc0: 7564 6520 7363 616c 6172 732c 2070 6f69 ude scalars, poi\n-00008cd0: 6e74 732c 2076 6563 746f 7273 2c20 616e nts, vectors, an\n-00008ce0: 6420 7472 616e 7366 6f72 6d73 2e0a 4c69 d transforms..Li\n-00008cf0: 7465 7261 6c73 2c20 616c 6f6e 6720 7769 terals, along wi\n-00008d00: 7468 2064 6566 696e 6564 206f 626a 6563 th defined objec\n-00008d10: 7420 7265 6665 7265 6e63 6573 2c20 6172 t references, ar\n-00008d20: 6520 7573 6564 2069 6e20 6172 6974 686d e used in arithm\n-00008d30: 6574 6963 0a65 7870 7265 7373 696f 6e73 etic.expressions\n-00008d40: 2e20 202a 4e6f 7465 2041 7269 7468 6d65 . *Note Arithme\n-00008d50: 7469 633a 3a2e 0a0a 2a20 4d65 6e75 3a0a tic::...* Menu:.\n-00008d60: 0a2a 2053 6361 6c61 7220 6c69 7465 7261 .* Scalar litera\n-00008d70: 6c73 3a3a 2020 2020 2020 2020 2020 2020 ls:: \n-00008d80: 204a 7573 7420 7468 6520 6e75 6d62 6572 Just the number\n-00008d90: 732e 0a2a 2050 6f69 6e74 2061 6e64 2076 s..* Point and v\n-00008da0: 6563 746f 7220 6c69 7465 7261 6c73 3a3a ector literals::\n-00008db0: 2020 2033 6420 7175 616e 7469 7469 6573 3d quantities\n-00008dc0: 2e0a 2a20 5472 616e 7366 6f72 6d20 6c69 ..* Transform li\n-00008dd0: 7465 7261 6c73 3a3a 2020 2020 2020 2020 terals:: \n-00008de0: 2020 4d61 7472 6978 2066 6f72 6d2e 0a0a Matrix form...\n-00008df0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-00008e00: 6e66 6f2c 2020 4e6f 6465 3a20 5363 616c nfo, Node: Scal\n-00008e10: 6172 206c 6974 6572 616c 732c 2020 4e65 ar literals, Ne\n-00008e20: 7874 3a20 506f 696e 7420 616e 6420 7665 xt: Point and ve\n-00008e30: 6374 6f72 206c 6974 6572 616c 732c 2020 ctor literals, \n-00008e40: 5072 6576 3a20 4c69 7465 7261 6c73 2c20 Prev: Literals, \n-00008e50: 2055 703a 204c 6974 6572 616c 730a 0a33 Up: Literals..3\n-00008e60: 2e31 2e33 2e31 2053 6361 6c61 7220 6c69 .1.3.1 Scalar li\n-00008e70: 7465 7261 6c73 0a2e 2e2e 2e2e 2e2e 2e2e terals..........\n-00008e80: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................\n-00008e90: 5363 616c 6172 206c 6974 6572 616c 7320 Scalar literals \n-00008ea0: 6172 6520 706f 7369 7469 7665 2066 6c6f are positive flo\n-00008eb0: 6174 696e 6720 706f 696e 7420 6e75 6d62 ating point numb\n-00008ec0: 6572 7320 7769 7468 2073 796e 7461 780a ers with syntax.\n-00008ed0: 6163 636f 7264 696e 6720 746f 2043 2063 according to C c\n-00008ee0: 6f6e 7665 6e74 696f 6e73 2e20 2054 6865 onventions. The\n-00008ef0: 2066 6f6c 6c6f 7769 6e67 2061 7265 2073 following are s\n-00008f00: 6f6d 6520 6578 616d 706c 6573 2e0a 2020 ome examples.. \n-00008f10: 2020 2030 2031 3030 3420 2e30 3031 2038 0 1004 .001 8\n-00008f20: 2e33 3134 3320 332e 2031 2e36 3045 2d31 .3143 3. 1.60E-1\n-00008f30: 3920 362e 3032 652b 3233 0a53 6361 6c61 9 6.02e+23.Scala\n-00008f40: 7220 6c69 7465 7261 6c73 206d 6179 206e r literals may n\n-00008f50: 6f74 2063 6f6e 7461 696e 2065 6d62 6564 ot contain embed\n-00008f60: 6465 6420 7370 6163 6573 2e0a 0a1f 0a46 ded spaces.....F\n-00008f70: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-00008f80: 2c20 204e 6f64 653a 2050 6f69 6e74 2061 , Node: Point a\n-00008f90: 6e64 2076 6563 746f 7220 6c69 7465 7261 nd vector litera\n-00008fa0: 6c73 2c20 204e 6578 743a 2054 7261 6e73 ls, Next: Trans\n-00008fb0: 666f 726d 206c 6974 6572 616c 732c 2020 form literals, \n-00008fc0: 5072 6576 3a20 5363 616c 6172 206c 6974 Prev: Scalar lit\n-00008fd0: 6572 616c 732c 2020 5570 3a20 4c69 7465 erals, Up: Lite\n-00008fe0: 7261 6c73 0a0a 332e 312e 332e 3220 506f rals..3.1.3.2 Po\n-00008ff0: 696e 7420 616e 6420 7665 6374 6f72 206c int and vector l\n-00009000: 6974 6572 616c 730a 2e2e 2e2e 2e2e 2e2e iterals.........\n+00008950: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a54 6865 -----------..The\n+00008960: 206b 6579 776f 7264 7320 6f66 20e2 8098 keywords of ...\n+00008970: 736b 6574 6368 e280 9920 6172 6520 e280 sketch... are ..\n+00008980: 9870 6963 7475 7265 626f 78e2 8099 20e2 .picturebox... .\n+00008990: 8098 6375 7276 65e2 8099 20e2 8098 6465 ..curve... ...de\n+000089a0: 66e2 8099 20e2 8098 646f 7473 e280 9920 f... ...dots... \n+000089b0: e280 9866 7261 6d65 e280 990a e280 9867 ...frame.......g\n+000089c0: 6c6f 6261 6ce2 8099 20e2 8098 696e 7075 lobal... ...inpu\n+000089d0: 74e2 8099 20e2 8098 6c69 6e65 e280 9920 t... ...line... \n+000089e0: e280 9870 6f6c 7967 6f6e e280 9920 e280 ...polygon... ..\n+000089f0: 9870 7574 e280 9920 e280 9872 6570 6561 .put... ...repea\n+00008a00: 74e2 8099 20e2 8098 7365 74e2 8099 20e2 t... ...set... .\n+00008a10: 8098 7377 6565 70e2 8099 2061 6e64 0ae2 ..sweep... and..\n+00008a20: 8098 7468 656e e280 992e 2020 5468 6520 ..then.... The \n+00008a30: e280 9873 6b65 7463 68e2 8099 2070 6172 ...sketch... par\n+00008a40: 7365 7220 7769 6c6c 206e 6f74 6520 6120 ser will note a \n+00008a50: 7379 6e74 6178 2065 7272 6f72 2069 6620 syntax error if \n+00008a60: 616e 7920 6f66 2074 6865 7365 0a61 7265 any of these.are\n+00008a70: 2075 7365 6420 696e 2070 6c61 6365 206f used in place o\n+00008a80: 6620 6120 7072 6f70 6572 2069 6465 6e74 f a proper ident\n+00008a90: 6966 6965 722e 0a0a 2020 2049 6e20 6164 ifier... In ad\n+00008aa0: 6469 7469 6f6e 2c20 7468 6572 6520 6172 dition, there ar\n+00008ab0: 6520 7265 7365 7276 6564 2077 6f72 6473 e reserved words\n+00008ac0: 2074 6861 7420 6361 6e20 6375 7272 656e that can curren\n+00008ad0: 746c 7920 6265 2064 6566 696e 6564 0a62 tly be defined.b\n+00008ae0: 7920 7468 6520 7573 6572 2c20 6275 7420 y the user, but \n+00008af0: 7769 7468 2074 6865 2072 6973 6b20 7468 with the risk th\n+00008b00: 6174 2066 7574 7572 6520 7665 7273 696f at future versio\n+00008b10: 6e73 206f 6620 e280 9873 6b65 7463 68e2 ns of ...sketch.\n+00008b20: 8099 2077 696c 6c0a 7265 6a65 6374 2074 .. will.reject t\n+00008b30: 686f 7365 2064 6566 696e 6974 696f 6e73 hose definitions\n+00008b40: 2e20 2054 6865 2072 6573 6572 7665 6420 . The reserved \n+00008b50: 776f 7264 7320 6172 6520 e280 9861 636f words are ...aco\n+00008b60: 73e2 8099 20e2 8098 6173 696e e280 9920 s... ...asin... \n+00008b70: e280 9861 7461 6e32 e280 990a e280 9863 ...atan2.......c\n+00008b80: 6f73 e280 9920 e280 9869 6e76 6572 7365 os... ...inverse\n+00008b90: e280 9920 e280 9870 6572 7370 6563 7469 ... ...perspecti\n+00008ba0: 7665 e280 9920 e280 9870 726f 6a65 6374 ve... ...project\n+00008bb0: e280 9920 e280 9872 6f74 6174 65e2 8099 ... ...rotate...\n+00008bc0: 20e2 8098 7363 616c 65e2 8099 20e2 8098 ...scale... ...\n+00008bd0: 7369 6ee2 8099 20e2 8098 7370 6563 6961 sin... ...specia\n+00008be0: 6ce2 8099 0ae2 8098 7371 7274 e280 9920 l.......sqrt... \n+00008bf0: e280 9874 7261 6e73 6c61 7465 e280 9920 ...translate... \n+00008c00: e280 9875 6e69 74e2 8099 2061 6e64 20e2 ...unit... and .\n+00008c10: 8098 7669 6577 e280 992e 0a0a 1f0a 4669 ..view........Fi\n+00008c20: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+00008c30: 2020 4e6f 6465 3a20 4c69 7465 7261 6c73 Node: Literals\n+00008c40: 2c20 204e 6578 743a 2041 7269 7468 6d65 , Next: Arithme\n+00008c50: 7469 632c 2020 5072 6576 3a20 4b65 7920 tic, Prev: Key \n+00008c60: 616e 6420 7265 7365 7276 6564 2077 6f72 and reserved wor\n+00008c70: 6473 2c20 2055 703a 204c 616e 6775 6167 ds, Up: Languag\n+00008c80: 6520 6261 7369 6373 0a0a 332e 312e 3320 e basics..3.1.3 \n+00008c90: 4c69 7465 7261 6c73 0a2d 2d2d 2d2d 2d2d Literals.-------\n+00008ca0: 2d2d 2d2d 2d2d 2d0a 0a4c 6974 6572 616c -------..Literal\n+00008cb0: 7320 696e 20e2 8098 736b 6574 6368 e280 s in ...sketch..\n+00008cc0: 9920 696e 636c 7564 6520 7363 616c 6172 . include scalar\n+00008cd0: 732c 2070 6f69 6e74 732c 2076 6563 746f s, points, vecto\n+00008ce0: 7273 2c20 616e 6420 7472 616e 7366 6f72 rs, and transfor\n+00008cf0: 6d73 2e0a 4c69 7465 7261 6c73 2c20 616c ms..Literals, al\n+00008d00: 6f6e 6720 7769 7468 2064 6566 696e 6564 ong with defined\n+00008d10: 206f 626a 6563 7420 7265 6665 7265 6e63 object referenc\n+00008d20: 6573 2c20 6172 6520 7573 6564 2069 6e20 es, are used in \n+00008d30: 6172 6974 686d 6574 6963 0a65 7870 7265 arithmetic.expre\n+00008d40: 7373 696f 6e73 2e20 202a 4e6f 7465 2041 ssions. *Note A\n+00008d50: 7269 7468 6d65 7469 633a 3a2e 0a0a 2a20 rithmetic::...* \n+00008d60: 4d65 6e75 3a0a 0a2a 2053 6361 6c61 7220 Menu:..* Scalar \n+00008d70: 6c69 7465 7261 6c73 3a3a 2020 2020 2020 literals:: \n+00008d80: 2020 2020 2020 204a 7573 7420 7468 6520 Just the \n+00008d90: 6e75 6d62 6572 732e 0a2a 2050 6f69 6e74 numbers..* Point\n+00008da0: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite\n+00008db0: 7261 6c73 3a3a 2020 2033 6420 7175 616e rals:: 3d quan\n+00008dc0: 7469 7469 6573 2e0a 2a20 5472 616e 7366 tities..* Transf\n+00008dd0: 6f72 6d20 6c69 7465 7261 6c73 3a3a 2020 orm literals:: \n+00008de0: 2020 2020 2020 2020 4d61 7472 6978 2066 Matrix f\n+00008df0: 6f72 6d2e 0a0a 1f0a 4669 6c65 3a20 736b orm.....File: sk\n+00008e00: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+00008e10: 3a20 5363 616c 6172 206c 6974 6572 616c : Scalar literal\n+00008e20: 732c 2020 4e65 7874 3a20 506f 696e 7420 s, Next: Point \n+00008e30: 616e 6420 7665 6374 6f72 206c 6974 6572 and vector liter\n+00008e40: 616c 732c 2020 5072 6576 3a20 4c69 7465 als, Prev: Lite\n+00008e50: 7261 6c73 2c20 2055 703a 204c 6974 6572 rals, Up: Liter\n+00008e60: 616c 730a 0a33 2e31 2e33 2e31 2053 6361 als..3.1.3.1 Sca\n+00008e70: 6c61 7220 6c69 7465 7261 6c73 0a2e 2e2e lar literals....\n+00008e80: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+00008e90: 2e2e 2e2e 0a0a 5363 616c 6172 206c 6974 ......Scalar lit\n+00008ea0: 6572 616c 7320 6172 6520 706f 7369 7469 erals are positi\n+00008eb0: 7665 2066 6c6f 6174 696e 6720 706f 696e ve floating poin\n+00008ec0: 7420 6e75 6d62 6572 7320 7769 7468 2073 t numbers with s\n+00008ed0: 796e 7461 780a 6163 636f 7264 696e 6720 yntax.according \n+00008ee0: 746f 2043 2063 6f6e 7665 6e74 696f 6e73 to C conventions\n+00008ef0: 2e20 2054 6865 2066 6f6c 6c6f 7769 6e67 . The following\n+00008f00: 2061 7265 2073 6f6d 6520 6578 616d 706c are some exampl\n+00008f10: 6573 2e0a 2020 2020 2030 2031 3030 3420 es.. 0 1004 \n+00008f20: 2e30 3031 2038 2e33 3134 3320 332e 2031 .001 8.3143 3. 1\n+00008f30: 2e36 3045 2d31 3920 362e 3032 652b 3233 .60E-19 6.02e+23\n+00008f40: 0a53 6361 6c61 7220 6c69 7465 7261 6c73 .Scalar literals\n+00008f50: 206d 6179 206e 6f74 2063 6f6e 7461 696e may not contain\n+00008f60: 2065 6d62 6564 6465 6420 7370 6163 6573 embedded spaces\n+00008f70: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+00008f80: 682e 696e 666f 2c20 204e 6f64 653a 2050 h.info, Node: P\n+00008f90: 6f69 6e74 2061 6e64 2076 6563 746f 7220 oint and vector \n+00008fa0: 6c69 7465 7261 6c73 2c20 204e 6578 743a literals, Next:\n+00008fb0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n+00008fc0: 616c 732c 2020 5072 6576 3a20 5363 616c als, Prev: Scal\n+00008fd0: 6172 206c 6974 6572 616c 732c 2020 5570 ar literals, Up\n+00008fe0: 3a20 4c69 7465 7261 6c73 0a0a 332e 312e : Literals..3.1.\n+00008ff0: 332e 3220 506f 696e 7420 616e 6420 7665 3.2 Point and ve\n+00009000: 6374 6f72 206c 6974 6572 616c 730a 2e2e ctor literals...\n 00009010: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00009020: 2e2e 2e2e 2e2e 2e2e 2e0a 0a50 6f69 6e74 ...........Point\n-00009030: 7320 616e 6420 7665 6374 6f72 206c 6974 s and vector lit\n-00009040: 6572 616c 7320 6861 7665 2074 6865 7365 erals have these\n-00009050: 2066 6f72 6d73 2072 6573 7065 6374 6976 forms respectiv\n-00009060: 656c 792e 0a20 2020 2020 2858 2c59 2c5a ely.. (X,Y,Z\n-00009070: 2920 205b 582c 592c 5a5d 0a45 6163 6820 ) [X,Y,Z].Each \n-00009080: 6f66 2074 6865 2063 6f6d 706f 6e65 6e74 of the component\n-00009090: 7320 6973 2069 7473 656c 6620 6120 7363 s is itself a sc\n-000090a0: 616c 6172 2065 7870 7265 7373 696f 6e2e alar expression.\n-000090b0: 2020 5468 6520 7a2d 636f 6d70 6f6e 656e The z-componen\n-000090c0: 7473 0a61 7265 206f 7074 696f 6e61 6c20 ts.are optional \n-000090d0: 616e 6420 6465 6661 756c 7420 746f 207a and default to z\n-000090e0: 6572 6f2e 0a0a 1f0a 4669 6c65 3a20 736b ero.....File: sk\n-000090f0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-00009100: 3a20 5472 616e 7366 6f72 6d20 6c69 7465 : Transform lite\n-00009110: 7261 6c73 2c20 2050 7265 763a 2050 6f69 rals, Prev: Poi\n-00009120: 6e74 2061 6e64 2076 6563 746f 7220 6c69 nt and vector li\n-00009130: 7465 7261 6c73 2c20 2055 703a 204c 6974 terals, Up: Lit\n-00009140: 6572 616c 730a 0a33 2e31 2e33 2e33 2054 erals..3.1.3.3 T\n-00009150: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n-00009160: 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e s...............\n-00009170: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a 4d6f ..............Mo\n-00009180: 7374 2074 7261 6e73 666f 726d 206c 6974 st transform lit\n-00009190: 6572 616c 7320 6172 6520 666f 726d 6564 erals are formed\n-000091a0: 2062 7920 e280 9c63 6f6e 7374 7275 6374 by ...construct\n-000091b0: 6f72 73e2 809d 2e20 2054 6865 7365 2061 ors.... These a\n-000091c0: 7265 0a73 756d 6d61 7269 7a65 6420 696e re.summarized in\n-000091d0: 2074 6865 2066 6f6c 6c6f 7769 6e67 2074 the following t\n-000091e0: 6162 6c65 2e0a 436f 6e73 7472 7563 746f able..Constructo\n-000091f0: 7220 2020 2020 2020 2020 2020 2020 2020 r \n-00009200: 2020 2020 2020 2020 2020 5061 7261 6d20 Param \n-00009210: 7479 7065 7320 2020 2020 2020 2020 2020 types \n-00009220: 4465 7363 7269 7074 696f 6e0a 2d2d 2d2d Description.----\n-00009230: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00009020: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................\n+00009030: 0a50 6f69 6e74 7320 616e 6420 7665 6374 .Points and vect\n+00009040: 6f72 206c 6974 6572 616c 7320 6861 7665 or literals have\n+00009050: 2074 6865 7365 2066 6f72 6d73 2072 6573 these forms res\n+00009060: 7065 6374 6976 656c 792e 0a20 2020 2020 pectively.. \n+00009070: 2858 2c59 2c5a 2920 205b 582c 592c 5a5d (X,Y,Z) [X,Y,Z]\n+00009080: 0a45 6163 6820 6f66 2074 6865 2063 6f6d .Each of the com\n+00009090: 706f 6e65 6e74 7320 6973 2069 7473 656c ponents is itsel\n+000090a0: 6620 6120 7363 616c 6172 2065 7870 7265 f a scalar expre\n+000090b0: 7373 696f 6e2e 2020 5468 6520 7a2d 636f ssion. The z-co\n+000090c0: 6d70 6f6e 656e 7473 0a61 7265 206f 7074 mponents.are opt\n+000090d0: 696f 6e61 6c20 616e 6420 6465 6661 756c ional and defaul\n+000090e0: 7420 746f 207a 6572 6f2e 0a0a 1f0a 4669 t to zero.....Fi\n+000090f0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+00009100: 2020 4e6f 6465 3a20 5472 616e 7366 6f72 Node: Transfor\n+00009110: 6d20 6c69 7465 7261 6c73 2c20 2050 7265 m literals, Pre\n+00009120: 763a 2050 6f69 6e74 2061 6e64 2076 6563 v: Point and vec\n+00009130: 746f 7220 6c69 7465 7261 6c73 2c20 2055 tor literals, U\n+00009140: 703a 204c 6974 6572 616c 730a 0a33 2e31 p: Literals..3.1\n+00009150: 2e33 2e33 2054 7261 6e73 666f 726d 206c .3.3 Transform l\n+00009160: 6974 6572 616c 730a 2e2e 2e2e 2e2e 2e2e iterals.........\n+00009170: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+00009180: 2e2e 0a0a 4d6f 7374 2074 7261 6e73 666f ....Most transfo\n+00009190: 726d 206c 6974 6572 616c 7320 6172 6520 rm literals are \n+000091a0: 666f 726d 6564 2062 7920 e280 9c63 6f6e formed by ...con\n+000091b0: 7374 7275 6374 6f72 73e2 809d 2e20 2054 structors.... T\n+000091c0: 6865 7365 2061 7265 0a73 756d 6d61 7269 hese are.summari\n+000091d0: 7a65 6420 696e 2074 6865 2066 6f6c 6c6f zed in the follo\n+000091e0: 7769 6e67 2074 6162 6c65 2e0a 436f 6e73 wing table..Cons\n+000091f0: 7472 7563 746f 7220 2020 2020 2020 2020 tructor \n+00009200: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009210: 5061 7261 6d20 7479 7065 7320 2020 2020 Param types \n+00009220: 2020 2020 2020 4465 7363 7269 7074 696f Descriptio\n+00009230: 6e0a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d n.--------------\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 2d0a e280 9872 6f74 6174 -------....rotat\n-000092a0: 6528 412c 502c 5829 e280 9920 2020 2020 e(A,P,X)... \n-000092b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000092c0: 7363 616c 6172 2c70 6f69 6e74 2c76 6563 scalar,point,vec\n-000092d0: 746f 7220 2020 526f 7461 7465 20e2 8098 tor Rotate ...\n-000092e0: 41e2 8099 2064 6567 7265 6573 2061 626f A... degrees abo\n-000092f0: 7574 2070 6f69 6e74 20e2 8098 50e2 8099 ut point ...P...\n-00009300: 2077 6974 6820 6178 6973 0a20 2020 2020 with axis. \n-00009310: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009290: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a e280 -------------...\n+000092a0: 9872 6f74 6174 6528 412c 502c 5829 e280 .rotate(A,P,X)..\n+000092b0: 9920 2020 2020 2020 2020 2020 2020 2020 . \n+000092c0: 2020 2020 2020 7363 616c 6172 2c70 6f69 scalar,poi\n+000092d0: 6e74 2c76 6563 746f 7220 2020 526f 7461 nt,vector Rota\n+000092e0: 7465 20e2 8098 41e2 8099 2064 6567 7265 te ...A... degre\n+000092f0: 6573 2061 626f 7574 2070 6f69 6e74 20e2 es about point .\n+00009300: 8098 50e2 8099 2077 6974 6820 6178 6973 ..P... with axis\n+00009310: 0a20 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 20e2 8098 58e2 8099 2061 6363 ...X... acc\n-00009350: 6f72 6469 6e67 2074 6f20 7468 6520 7269 ording to the ri\n-00009360: 6768 7420 6861 6e64 2072 756c 652e 0a20 ght hand rule.. \n-00009370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009340: 2020 2020 2020 2020 2020 20e2 8098 58e2 ...X.\n+00009350: 8099 2061 6363 6f72 6469 6e67 2074 6f20 .. according to \n+00009360: 7468 6520 7269 6768 7420 6861 6e64 2072 the right hand r\n+00009370: 756c 652e 0a20 2020 2020 2020 2020 2020 ule.. \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 202a 4e6f 7465 2052 *Note R\n-000093b0: 6967 6874 2068 616e 6420 7275 6c65 3a3a ight hand rule::\n-000093c0: 2e20 20e2 8098 50e2 8099 2061 6e64 20e2 . ...P... and .\n-000093d0: 8098 58e2 8099 2061 7265 2062 6f74 680a ..X... are both.\n-000093e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000093a0: 2020 2020 2020 2020 2020 2020 2020 202a *\n+000093b0: 4e6f 7465 2052 6967 6874 2068 616e 6420 Note Right hand \n+000093c0: 7275 6c65 3a3a 2e20 20e2 8098 50e2 8099 rule::. ...P...\n+000093d0: 2061 6e64 20e2 8098 58e2 8099 2061 7265 and ...X... are\n+000093e0: 2062 6f74 680a 2020 2020 2020 2020 2020 both. \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 6f70 7469 6f6e option\n-00009420: 616c 2061 6e64 2064 6566 6175 6c74 2074 al and default t\n-00009430: 6f20 7468 6520 6f72 6967 696e 2061 6e64 o the origin and\n-00009440: 2074 6865 0a20 2020 2020 2020 2020 2020 the. \n+00009410: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009420: 6f70 7469 6f6e 616c 2061 6e64 2064 6566 optional and def\n+00009430: 6175 6c74 2074 6f20 7468 6520 6f72 6967 ault to the orig\n+00009440: 696e 2061 6e64 2074 6865 0a20 2020 2020 in 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 207a z\n-00009480: 2d61 7869 7320 7265 7370 6563 7469 7665 -axis respective\n-00009490: 6c79 2e0a e280 9874 7261 6e73 6c61 7465 ly.....translate\n-000094a0: 2858 29e2 8099 2020 2020 2020 2020 2020 (X)... \n-000094b0: 2020 2020 2020 2020 2020 2020 7665 6374 vect\n-000094c0: 6f72 2020 2020 2020 2020 2020 2020 2020 or \n-000094d0: 2020 5472 616e 736c 6174 6520 6279 20e2 Translate by .\n-000094e0: 8098 58e2 8099 2e0a e280 9873 6361 6c65 ..X........scale\n-000094f0: 2853 29e2 8099 2020 2020 2020 2020 2020 (S)... \n+00009470: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009480: 2020 2020 207a 2d61 7869 7320 7265 7370 z-axis resp\n+00009490: 6563 7469 7665 6c79 2e0a e280 9874 7261 ectively.....tra\n+000094a0: 6e73 6c61 7465 2858 29e2 8099 2020 2020 nslate(X)... \n+000094b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000094c0: 2020 7665 6374 6f72 2020 2020 2020 2020 vector \n+000094d0: 2020 2020 2020 2020 5472 616e 736c 6174 Translat\n+000094e0: 6520 6279 20e2 8098 58e2 8099 2e0a e280 e by ...X.......\n+000094f0: 9873 6361 6c65 2853 29e2 8099 2020 2020 .scale(S)... \n 00009500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009510: 7363 616c 6172 2020 2020 2020 2020 2020 scalar \n-00009520: 2020 2020 2020 5363 616c 6520 756e 6966 Scale unif\n-00009530: 6f72 6d6c 7920 6279 2066 6163 746f 7220 ormly by factor \n-00009540: e280 9853 e280 992e 0ae2 8098 7363 616c ...S........scal\n-00009550: 6528 5629 e280 9920 2020 2020 2020 2020 e(V)... \n+00009510: 2020 2020 2020 7363 616c 6172 2020 2020 scalar \n+00009520: 2020 2020 2020 2020 2020 2020 5363 616c Scal\n+00009530: 6520 756e 6966 6f72 6d6c 7920 6279 2066 e uniformly by f\n+00009540: 6163 746f 7220 e280 9853 e280 992e 0ae2 actor ...S......\n+00009550: 8098 7363 616c 6528 5629 e280 9920 2020 ..scale(V)... \n 00009560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00009570: 2076 6563 746f 7220 2020 2020 2020 2020 vector \n-00009580: 2020 2020 2020 2053 6361 6c65 2061 6c6f Scale alo\n-00009590: 6e67 2065 6163 6820 6178 6973 2062 7920 ng each axis by \n-000095a0: 636f 6d70 6f6e 656e 7473 206f 6620 e280 components of ..\n-000095b0: 9856 e280 992e 0ae2 8098 7072 6f6a 6563 .V........projec\n-000095c0: 7428 29e2 8099 2020 2020 2020 2020 2020 t()... \n-000095d0: 2020 2020 2020 2020 2020 2020 2020 202d -\n-000095e0: 2d20 2020 2020 2020 2020 2020 2020 2020 - \n-000095f0: 2020 2020 2053 616d 6520 6173 20e2 8098 Same as ...\n-00009600: 7363 616c 6528 5b31 2c31 2c30 5d29 e280 scale([1,1,0])..\n-00009610: 992e 0ae2 8098 7072 6f6a 6563 7428 5329 ......project(S)\n-00009620: e280 9920 2020 2020 2020 2020 2020 2020 ... \n-00009630: 2020 2020 2020 2020 2020 2073 6361 6c61 scala\n-00009640: 7220 2020 2020 2020 2020 2020 2020 2020 r \n-00009650: 2050 6572 7370 6563 7469 7665 2070 726f Perspective pro\n-00009660: 6a65 6374 696f 6e20 7769 7468 2076 6965 jection with vie\n-00009670: 7720 6365 6e74 6572 2061 740a 2020 2020 w center at. \n-00009680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009570: 2020 2020 2020 2076 6563 746f 7220 2020 vector \n+00009580: 2020 2020 2020 2020 2020 2020 2053 6361 Sca\n+00009590: 6c65 2061 6c6f 6e67 2065 6163 6820 6178 le along each ax\n+000095a0: 6973 2062 7920 636f 6d70 6f6e 656e 7473 is by components\n+000095b0: 206f 6620 e280 9856 e280 992e 0ae2 8098 of ...V........\n+000095c0: 7072 6f6a 6563 7428 29e2 8099 2020 2020 project()... \n+000095d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000095e0: 2020 2020 202d 2d20 2020 2020 2020 2020 -- \n+000095f0: 2020 2020 2020 2020 2020 2053 616d 6520 Same \n+00009600: 6173 20e2 8098 7363 616c 6528 5b31 2c31 as ...scale([1,1\n+00009610: 2c30 5d29 e280 992e 0ae2 8098 7072 6f6a ,0])........proj\n+00009620: 6563 7428 5329 e280 9920 2020 2020 2020 ect(S)... \n+00009630: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009640: 2073 6361 6c61 7220 2020 2020 2020 2020 scalar \n+00009650: 2020 2020 2020 2050 6572 7370 6563 7469 Perspecti\n+00009660: 7665 2070 726f 6a65 6374 696f 6e20 7769 ve projection wi\n+00009670: 7468 2076 6965 7720 6365 6e74 6572 2061 th view center a\n+00009680: 740a 2020 2020 2020 2020 2020 2020 2020 t. \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 6f72 6967 696e 2061 6e64 origin and\n-000096c0: 2070 726f 6a65 6374 696f 6e20 706c 616e projection plan\n-000096d0: 6520 7a3d 2de2 8098 53e2 8099 2e0a e280 e z=-...S.......\n-000096e0: 9870 6572 7370 6563 7469 7665 2853 29e2 .perspective(S).\n-000096f0: 8099 2020 2020 2020 2020 2020 2020 2020 .. \n-00009700: 2020 2020 2020 7363 616c 6172 2020 2020 scalar \n-00009710: 2020 2020 2020 2020 2020 2020 5065 7273 Pers\n-00009720: 7065 6374 6976 6520 5f74 7261 6e73 666f pective _transfo\n-00009730: 726d 5f20 6964 656e 7469 6361 6c20 746f rm_ identical to\n-00009740: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000096b0: 2020 2020 2020 2020 2020 2020 6f72 6967 orig\n+000096c0: 696e 2061 6e64 2070 726f 6a65 6374 696f in and projectio\n+000096d0: 6e20 706c 616e 6520 7a3d 2de2 8098 53e2 n plane z=-...S.\n+000096e0: 8099 2e0a e280 9870 6572 7370 6563 7469 .......perspecti\n+000096f0: 7665 2853 29e2 8099 2020 2020 2020 2020 ve(S)... \n+00009700: 2020 2020 2020 2020 2020 2020 7363 616c scal\n+00009710: 6172 2020 2020 2020 2020 2020 2020 2020 ar \n+00009720: 2020 5065 7273 7065 6374 6976 6520 5f74 Perspective _t\n+00009730: 7261 6e73 666f 726d 5f20 6964 656e 7469 ransform_ identi\n+00009740: 6361 6c20 746f 0a20 2020 2020 2020 2020 cal 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 20e2 8098 7072 ...pr\n-00009780: 6f6a 6563 7428 5329 e280 9920 6578 6365 oject(S)... exce\n-00009790: 7074 2074 6861 7420 7468 6520 7a2d 636f pt that the z-co\n-000097a0: 6f72 6469 6e61 7465 206f 660a 2020 2020 ordinate of. \n-000097b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009780: 20e2 8098 7072 6f6a 6563 7428 5329 e280 ...project(S)..\n+00009790: 9920 6578 6365 7074 2074 6861 7420 7468 . except that th\n+000097a0: 6520 7a2d 636f 6f72 6469 6e61 7465 206f e z-coordinate o\n+000097b0: 660a 2020 2020 2020 2020 2020 2020 2020 f. \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 7468 6520 7472 616e 7366 the transf\n-000097f0: 6f72 6d65 6420 7265 7375 6c74 2069 7320 ormed result is \n-00009800: e280 9c70 7365 7564 6f64 6570 7468 e280 ...pseudodepth..\n-00009810: 9d2c 0a20 2020 2020 2020 2020 2020 2020 .,. \n+000097e0: 2020 2020 2020 2020 2020 2020 7468 6520 the \n+000097f0: 7472 616e 7366 6f72 6d65 6420 7265 7375 transformed resu\n+00009800: 6c74 2069 7320 e280 9c70 7365 7564 6f64 lt is ...pseudod\n+00009810: 6570 7468 e280 9d2c 0a20 2020 2020 2020 epth...,. \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 2075 7361 usa\n-00009850: 626c 6520 6279 2074 6865 2068 6964 6465 ble by the hidde\n-00009860: 6e20 7375 7266 6163 6520 616c 676f 7269 n surface algori\n-00009870: 7468 6d2e 0ae2 8098 7669 6577 2845 2c44 thm.....view(E,D\n-00009880: 2c55 29e2 8099 2020 2020 2020 2020 2020 ,U)... \n-00009890: 2020 2020 2020 2020 2020 2020 2070 6f69 poi\n-000098a0: 6e74 2c76 6563 746f 722c 7665 6374 6f72 nt,vector,vector\n-000098b0: 2020 2056 6965 7720 7472 616e 7366 6f72 View transfor\n-000098c0: 6d20 7369 6d69 6c61 7220 746f 2074 6861 m similar to tha\n-000098d0: 7420 6f66 20e2 8098 4f70 656e 474c e280 t of ...OpenGL..\n-000098e0: 9927 732e 0a20 2020 2020 2020 2020 2020 .'s.. \n+00009840: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009850: 2020 2075 7361 626c 6520 6279 2074 6865 usable by the\n+00009860: 2068 6964 6465 6e20 7375 7266 6163 6520 hidden surface \n+00009870: 616c 676f 7269 7468 6d2e 0ae2 8098 7669 algorithm.....vi\n+00009880: 6577 2845 2c44 2c55 29e2 8099 2020 2020 ew(E,D,U)... \n+00009890: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000098a0: 2020 2070 6f69 6e74 2c76 6563 746f 722c point,vector,\n+000098b0: 7665 6374 6f72 2020 2056 6965 7720 7472 vector View tr\n+000098c0: 616e 7366 6f72 6d20 7369 6d69 6c61 7220 ansform similar \n+000098d0: 746f 2074 6861 7420 6f66 20e2 8098 4f70 to that of ...Op\n+000098e0: 656e 474c e280 9927 732e 0a20 2020 2020 enGL...'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 2054 T\n-00009920: 6865 205f 6579 6520 706f 696e 745f 20e2 he _eye point_ .\n-00009930: 8098 45e2 8099 2069 7320 7472 616e 736c ..E... is transl\n-00009940: 6174 6564 2074 6f20 7468 650a 2020 2020 ated to the. \n-00009950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009920: 2020 2020 2054 6865 205f 6579 6520 706f The _eye po\n+00009930: 696e 745f 20e2 8098 45e2 8099 2069 7320 int_ ...E... is \n+00009940: 7472 616e 736c 6174 6564 2074 6f20 7468 translated to th\n+00009950: 650a 2020 2020 2020 2020 2020 2020 2020 e. \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 6f72 6967 696e 2077 6869 origin whi\n-00009990: 6c65 2061 2072 6f74 6174 696f 6e20 6973 le a rotation is\n-000099a0: 2061 6c73 6f20 6170 706c 6965 6420 7468 also applied th\n-000099b0: 6174 0a20 2020 2020 2020 2020 2020 2020 at. \n+00009980: 2020 2020 2020 2020 2020 2020 6f72 6967 orig\n+00009990: 696e 2077 6869 6c65 2061 2072 6f74 6174 in while a rotat\n+000099a0: 696f 6e20 6973 2061 6c73 6f20 6170 706c ion is also appl\n+000099b0: 6965 6420 7468 6174 0a20 2020 2020 2020 ied 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 206d 616b mak\n-000099f0: 6573 2074 6865 205f 7669 6577 2064 6972 es the _view dir\n-00009a00: 6563 7469 6f6e 2076 6563 746f 725f 20e2 ection vector_ .\n-00009a10: 8098 44e2 8099 2061 6e64 2074 6865 0a20 ..D... and the. \n-00009a20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000099e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000099f0: 2020 206d 616b 6573 2074 6865 205f 7669 makes the _vi\n+00009a00: 6577 2064 6972 6563 7469 6f6e 2076 6563 ew direction vec\n+00009a10: 746f 725f 20e2 8098 44e2 8099 2061 6e64 tor_ ...D... and\n+00009a20: 2074 6865 0a20 2020 2020 2020 2020 2020 the. \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 205f 7669 6577 2022 _view \"\n-00009a60: 7570 2220 7665 6374 6f72 5f20 e280 9855 up\" vector_ ...U\n-00009a70: e280 9920 706f 696e 7420 696e 2074 6865 ... point in the\n-00009a80: 206e 6567 6174 6976 650a 2020 2020 2020 negative. \n+00009a50: 2020 2020 2020 2020 2020 2020 2020 205f _\n+00009a60: 7669 6577 2022 7570 2220 7665 6374 6f72 view \"up\" vector\n+00009a70: 5f20 e280 9855 e280 9920 706f 696e 7420 _ ...U... point \n+00009a80: 696e 2074 6865 206e 6567 6174 6976 650a in 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 7a2d 2061 6e64 2074 6865 2079 z- and the y\n-00009ad0: 2d64 6972 6563 7469 6f6e 7320 7265 7370 -directions resp\n-00009ae0: 6563 7469 7665 6c79 2e20 2049 6620 e280 ectively. If ..\n-00009af0: 9855 e280 990a 2020 2020 2020 2020 2020 .U.... \n+00009ac0: 2020 2020 2020 2020 2020 7a2d 2061 6e64 z- and\n+00009ad0: 2074 6865 2079 2d64 6972 6563 7469 6f6e the y-direction\n+00009ae0: 7320 7265 7370 6563 7469 7665 6c79 2e20 s respectively. \n+00009af0: 2049 6620 e280 9855 e280 990a 2020 2020 If ...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: 6973 206f 6d69 7474 6564 2c20 6974 2064 is omitted, it d\n-00009b40: 6566 6175 6c74 7320 746f 205b 302c 312c efaults to [0,1,\n-00009b50: 305d 2e20 2057 6865 6e20 e280 9855 e280 0]. When ...U..\n-00009b60: 990a 2020 2020 2020 2020 2020 2020 2020 .. \n+00009b30: 2020 2020 2020 6973 206f 6d69 7474 6564 is omitted\n+00009b40: 2c20 6974 2064 6566 6175 6c74 7320 746f , it defaults to\n+00009b50: 205b 302c 312c 305d 2e20 2057 6865 6e20 [0,1,0]. When \n+00009b60: e280 9855 e280 990a 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 6973 206f is o\n-00009ba0: 6d69 7474 6564 2c20 e280 9844 e280 9920 mitted, ...D... \n-00009bb0: 6d61 7920 6265 2061 6c73 6f3b 2069 7420 may be also; it \n-00009bc0: 6465 6661 756c 7473 2074 6f0a 2020 2020 defaults to. \n-00009bd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009b90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009ba0: 2020 6973 206f 6d69 7474 6564 2c20 e280 is omitted, ..\n+00009bb0: 9844 e280 9920 6d61 7920 6265 2061 6c73 .D... may be als\n+00009bc0: 6f3b 2069 7420 6465 6661 756c 7473 2074 o; it defaults t\n+00009bd0: 6f0a 2020 2020 2020 2020 2020 2020 2020 o. \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 e280 9828 302c 302c 3029 ...(0,0,0)\n-00009c10: 2d28 4529 e280 992c 2061 2076 6563 746f -(E)..., a vecto\n-00009c20: 7220 706f 696e 7469 6e67 2066 726f 6d20 r pointing from \n-00009c30: 7468 6520 6579 650a 2020 2020 2020 2020 the eye. \n+00009c00: 2020 2020 2020 2020 2020 2020 e280 9828 ...(\n+00009c10: 302c 302c 3029 2d28 4529 e280 992c 2061 0,0,0)-(E)..., a\n+00009c20: 2076 6563 746f 7220 706f 696e 7469 6e67 vector pointing\n+00009c30: 2066 726f 6d20 7468 6520 6579 650a 2020 from 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 746f 7761 7264 2074 6865 206f 7269 toward the ori\n-00009c80: 6769 6e2e 0ae2 8098 7669 6577 2845 2c4c gin.....view(E,L\n-00009c90: 2c55 29e2 8099 2020 2020 2020 2020 2020 ,U)... \n-00009ca0: 2020 2020 2020 2020 2020 2020 2070 6f69 poi\n-00009cb0: 6e74 2c70 6f69 6e74 2c76 6563 746f 7220 nt,point,vector \n-00009cc0: 2020 2041 6e20 616c 7465 726e 6174 6520 An alternate \n-00009cd0: 666f 726d 206f 6620 e280 9876 6965 7728 form of ...view(\n-00009ce0: 452c 442c 5529 e280 9920 6162 6f76 6520 E,D,U)... above \n-00009cf0: 7768 6572 650a 2020 2020 2020 2020 2020 where. \n+00009c70: 2020 2020 2020 2020 746f 7761 7264 2074 toward t\n+00009c80: 6865 206f 7269 6769 6e2e 0ae2 8098 7669 he origin.....vi\n+00009c90: 6577 2845 2c4c 2c55 29e2 8099 2020 2020 ew(E,L,U)... \n+00009ca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009cb0: 2020 2070 6f69 6e74 2c70 6f69 6e74 2c76 point,point,v\n+00009cc0: 6563 746f 7220 2020 2041 6e20 616c 7465 ector An alte\n+00009cd0: 726e 6174 6520 666f 726d 206f 6620 e280 rnate form of ..\n+00009ce0: 9876 6965 7728 452c 442c 5529 e280 9920 .view(E,D,U)... \n+00009cf0: 6162 6f76 6520 7768 6572 650a 2020 2020 above 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: 7468 6520 7669 6577 2064 6972 6563 7469 the view directi\n-00009d40: 6f6e 2070 6172 616d 6574 6572 20e2 8098 on parameter ...\n-00009d50: 44e2 8099 2069 7320 7265 706c 6163 6564 D... is replaced\n-00009d60: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00009d30: 2020 2020 2020 7468 6520 7669 6577 2064 the view d\n+00009d40: 6972 6563 7469 6f6e 2070 6172 616d 6574 irection paramet\n+00009d50: 6572 20e2 8098 44e2 8099 2069 7320 7265 er ...D... is re\n+00009d60: 706c 6163 6564 0a20 2020 2020 2020 2020 placed. \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 2077 6974 6820 with \n-00009da0: 6120 226c 6f6f 6b20 6174 2220 706f 696e a \"look at\" poin\n-00009db0: 7420 e280 984c e280 992c 2069 2e65 2e2c t ...L..., i.e.,\n-00009dc0: 2061 2070 6f69 6e74 0a20 2020 2020 2020 a point. \n+00009d90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009da0: 2077 6974 6820 6120 226c 6f6f 6b20 6174 with a \"look at\n+00009db0: 2220 706f 696e 7420 e280 984c e280 992c \" point ...L...,\n+00009dc0: 2069 2e65 2e2c 2061 2070 6f69 6e74 0a20 i.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 2077 6865 7265 2074 6865 2076 6965 where the vie\n-00009e10: 7765 7220 6973 2066 6f63 7573 696e 6720 wer is focusing \n-00009e20: 6865 7220 6174 7465 6e74 696f 6e2e 0a20 her attention.. \n-00009e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009e00: 2020 2020 2020 2020 2077 6865 7265 2074 where t\n+00009e10: 6865 2076 6965 7765 7220 6973 2066 6f63 he viewer is foc\n+00009e20: 7573 696e 6720 6865 7220 6174 7465 6e74 using her attent\n+00009e30: 696f 6e2e 0a20 2020 2020 2020 2020 2020 ion.. \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 2054 6869 7320 666f This fo\n-00009e70: 726d 206f 6620 7669 6577 2069 7320 6571 rm of view is eq\n-00009e80: 7569 7661 6c65 6e74 2074 6f20 e280 9876 uivalent to ...v\n-00009e90: 6965 7728 452c 0a20 2020 2020 2020 2020 iew(E,. \n+00009e60: 2020 2020 2020 2020 2020 2020 2020 2054 T\n+00009e70: 6869 7320 666f 726d 206f 6620 7669 6577 his form of view\n+00009e80: 2069 7320 6571 7569 7661 6c65 6e74 2074 is equivalent t\n+00009e90: 6f20 e280 9876 6965 7728 452c 0a20 2020 o ...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: 2028 4c29 2d28 4529 2c20 5529 e280 992c (L)-(E), U)...,\n-00009ee0: 2077 6865 7265 20e2 8098 284c 292d 2845 where ...(L)-(E\n-00009ef0: 29e2 8099 2069 7320 6120 6469 7265 6374 )... is a direct\n-00009f00: 696f 6e0a 2020 2020 2020 2020 2020 2020 ion. \n+00009ed0: 2020 2020 2020 2028 4c29 2d28 4529 2c20 (L)-(E), \n+00009ee0: 5529 e280 992c 2077 6865 7265 20e2 8098 U)..., where ...\n+00009ef0: 284c 292d 2845 29e2 8099 2069 7320 6120 (L)-(E)... is a \n+00009f00: 6469 7265 6374 696f 6e0a 2020 2020 2020 direction. \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 7665 ve\n-00009f40: 6374 6f72 2e20 20e2 8098 55e2 8099 2069 ctor. ...U... i\n-00009f50: 7320 6f70 7469 6f6e 616c 2061 6e64 2064 s optional and d\n-00009f60: 6566 6175 6c74 7320 746f 0a20 2020 2020 efaults to. \n-00009f70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009f30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00009f40: 2020 2020 7665 6374 6f72 2e20 20e2 8098 vector. ...\n+00009f50: 55e2 8099 2069 7320 6f70 7469 6f6e 616c U... is optional\n+00009f60: 2061 6e64 2064 6566 6175 6c74 7320 746f and defaults to\n+00009f70: 0a20 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 205b 302c 312c 305d 2e0a e280 [0,1,0]....\n-00009fb0: 985b 5b61 5f7b 3131 7d2c 615f 7b31 327d .[[a_{11},a_{12}\n-00009fc0: 2c61 5f7b 3133 7d2c 615f 7b31 347d 5de2 ,a_{13},a_{14}].\n-00009fd0: 8099 2020 2020 3136 2073 6361 6c61 7273 .. 16 scalars\n-00009fe0: 2020 2020 2020 2020 2020 2020 4469 7265 Dire\n-00009ff0: 6374 2074 7261 6e73 666f 726d 206d 6174 ct transform mat\n-0000a000: 7269 7820 6465 6669 6e69 7469 6f6e 2e20 rix definition. \n-0000a010: 2045 6163 6820 6f66 0ae2 8098 205b 615f Each of.... [a_\n-0000a020: 7b32 317d 2c61 5f7b 3232 7d2c 615f 7b32 {21},a_{22},a_{2\n-0000a030: 337d 2c61 5f7b 3234 7d5d e280 9920 2020 3},a_{24}]... \n-0000a040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a050: 2020 2020 2020 2074 6865 2061 5f7b 696a the a_{ij\n-0000a060: 7d20 6973 2061 2073 6361 6c61 7220 6578 } is a scalar ex\n-0000a070: 7072 6573 7369 6f6e 2e20 2053 6565 2074 pression. See t\n-0000a080: 6578 740a e280 9820 5b61 5f7b 3331 7d2c ext.... [a_{31},\n-0000a090: 615f 7b33 327d 2c61 5f7b 3333 7d2c 615f a_{32},a_{33},a_\n-0000a0a0: 7b33 347d 5de2 8099 2020 2020 2020 2020 {34}]... \n+00009fa0: 2020 2020 2020 2020 2020 205b 302c 312c [0,1,\n+00009fb0: 305d 2e0a e280 985b 5b61 5f7b 3131 7d2c 0].....[[a_{11},\n+00009fc0: 615f 7b31 327d 2c61 5f7b 3133 7d2c 615f a_{12},a_{13},a_\n+00009fd0: 7b31 347d 5de2 8099 2020 2020 3136 2073 {14}]... 16 s\n+00009fe0: 6361 6c61 7273 2020 2020 2020 2020 2020 calars \n+00009ff0: 2020 4469 7265 6374 2074 7261 6e73 666f Direct transfo\n+0000a000: 726d 206d 6174 7269 7820 6465 6669 6e69 rm matrix defini\n+0000a010: 7469 6f6e 2e20 2045 6163 6820 6f66 0ae2 tion. Each of..\n+0000a020: 8098 205b 615f 7b32 317d 2c61 5f7b 3232 .. [a_{21},a_{22\n+0000a030: 7d2c 615f 7b32 337d 2c61 5f7b 3234 7d5d },a_{23},a_{24}]\n+0000a040: e280 9920 2020 2020 2020 2020 2020 2020 ... \n+0000a050: 2020 2020 2020 2020 2020 2020 2074 6865 the\n+0000a060: 2061 5f7b 696a 7d20 6973 2061 2073 6361 a_{ij} is a sca\n+0000a070: 6c61 7220 6578 7072 6573 7369 6f6e 2e20 lar expression. \n+0000a080: 2053 6565 2074 6578 740a e280 9820 5b61 See text.... [a\n+0000a090: 5f7b 3331 7d2c 615f 7b33 327d 2c61 5f7b _{31},a_{32},a_{\n+0000a0a0: 3333 7d2c 615f 7b33 347d 5de2 8099 2020 33},a_{34}]... \n 0000a0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000a0c0: 2020 666f 7220 6465 7461 696c 732e 0ae2 for details...\n-0000a0d0: 8098 205b 615f 7b34 317d 2c61 5f7b 3432 .. [a_{41},a_{42\n-0000a0e0: 7d2c 615f 7b34 337d 2c61 5f7b 3434 7d5d },a_{43},a_{44}]\n-0000a0f0: 5de2 8099 0a54 6865 20e2 8098 7072 6f6a ]....The ...proj\n-0000a100: 6563 74e2 8099 2063 6f6e 7374 7275 6374 ect... construct\n-0000a110: 6f72 2069 7320 6e6f 7420 6765 6e65 7261 or is not genera\n-0000a120: 6c6c 7920 7573 6566 756c 2062 6563 6175 lly useful becau\n-0000a130: 7365 2069 7420 6465 6665 6174 730a 6869 se it defeats.hi\n-0000a140: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem\n-0000a150: 6f76 616c 2062 7920 636f 6c6c 6170 7369 oval by collapsi\n-0000a160: 6e67 2074 6865 2073 6365 6e65 206f 6e74 ng the scene ont\n-0000a170: 6f20 6120 7369 6e67 6c65 2070 6c61 6e65 o a single plane\n-0000a180: 2e20 2049 740a 6973 2061 2073 7065 6369 . It.is a speci\n-0000a190: 616c 2070 7572 706f 7365 2074 7261 6e73 al purpose trans\n-0000a1a0: 666f 726d 2066 6f72 2064 7261 7769 6e67 form for drawing\n-0000a1b0: 2070 6963 7475 7265 7320 6f66 2073 6365 pictures of sce\n-0000a1c0: 6e65 7320 7768 6572 650a 7468 7265 652d nes where.three-\n-0000a1d0: 6469 6d65 6e73 696f 6e61 6c20 6f62 6a65 dimensional obje\n-0000a1e0: 6374 7320 6172 6520 6265 696e 6720 7072 cts are being pr\n-0000a1f0: 6f6a 6563 7465 6420 6f6e 746f 2070 6c61 ojected onto pla\n-0000a200: 6e65 732e 2020 5365 652c 2066 6f72 0a65 nes. See, for.e\n-0000a210: 7861 6d70 6c65 2c20 2a6e 6f74 6520 4f76 xample, *note Ov\n-0000a220: 6572 7669 6577 3a3a 2e0a 0a20 2020 5468 erview::... Th\n-0000a230: 6520 6469 7265 6374 2074 7261 6e73 666f e direct transfo\n-0000a240: 726d 2063 6f6e 7374 7275 6374 6f72 2061 rm constructor a\n-0000a250: 6c6c 6f77 7320 6469 7265 6374 2065 6e74 llows direct ent\n-0000a260: 7279 206f 6620 6120 3478 340a 7472 616e ry of a 4x4.tran\n-0000a270: 7366 6f72 6d61 7469 6f6e 206d 6174 7269 sformation matri\n-0000a280: 782e 2020 4d6f 7374 2033 6420 6772 6170 x. Most 3d grap\n-0000a290: 6869 6373 2073 7973 7465 6d73 2c20 696e hics systems, in\n-0000a2a0: 636c 7564 696e 6720 e280 9873 6b65 7463 cluding ...sketc\n-0000a2b0: 68e2 8099 2c0a 7573 6520 342d 6469 6d65 h...,.use 4-dime\n-0000a2c0: 6e73 696f 6e61 6c20 686f 6d6f 6765 6e65 nsional homogene\n-0000a2d0: 6f75 7320 636f 6f72 6469 6e61 7465 7320 ous coordinates \n-0000a2e0: 696e 7465 726e 616c 6c79 2e20 2054 6865 internally. The\n-0000a2f0: 7365 2061 7265 0a74 7261 6e73 666f 726d se are.transform\n-0000a300: 6564 2062 7920 6d75 6c74 6970 6c69 6361 ed by multiplica\n-0000a310: 7469 6f6e 2077 6974 6820 3478 3420 6d61 tion with 4x4 ma\n-0000a320: 7472 6963 6573 2e20 2054 6865 2062 7569 trices. The bui\n-0000a330: 6c74 2d69 6e0a 636f 6e73 7472 7563 746f lt-in.constructo\n-0000a340: 7273 2028 e280 9872 6f74 6174 65e2 8099 rs (...rotate...\n-0000a350: 2c20 e280 9873 6361 6c65 e280 992c 2065 , ...scale..., e\n-0000a360: 7463 2e29 2020 6172 6520 616c 6c20 7472 tc.) are all tr\n-0000a370: 616e 736c 6174 6564 2069 6e74 6572 6e61 anslated interna\n-0000a380: 6c6c 7920 746f 0a73 7563 6820 3478 3420 lly to.such 4x4 \n-0000a390: 6d61 7472 6963 6573 2e20 2046 6f72 206d matrices. For m\n-0000a3a0: 6f72 6520 696e 666f 726d 6174 696f 6e20 ore information \n-0000a3b0: 6f6e 2068 6f6d 6f67 656e 656f 7573 2063 on homogeneous c\n-0000a3c0: 6f6f 7264 696e 6174 650a 7472 616e 7366 oordinate.transf\n-0000a3d0: 6f72 6d61 7469 6f6e 732c 2073 6565 2061 ormations, see a\n-0000a3e0: 6e79 2067 6f6f 6420 636f 6d70 7574 6572 ny good computer\n-0000a3f0: 2067 7261 7068 6963 7320 7465 7874 626f graphics textbo\n-0000a400: 6f6b 2e20 2054 6865 2064 6972 6563 740a ok. The direct.\n-0000a410: 7472 616e 7366 6f72 6d20 6665 6174 7572 transform featur\n-0000a420: 6520 6f66 20e2 8098 736b 6574 6368 e280 e of ...sketch..\n-0000a430: 9920 616c 6c6f 7773 2079 6f75 2074 6f20 . allows you to \n-0000a440: 656e 7465 7220 6120 6d61 7472 6978 206f enter a matrix o\n-0000a450: 6620 796f 7572 206f 776e 0a63 686f 6963 f your own.choic\n-0000a460: 652e 2020 5468 6572 6520 6172 6520 6e6f e. There are no\n-0000a470: 7420 6d61 6e79 2063 6173 6573 2077 6865 t many cases whe\n-0000a480: 7265 2074 6869 7320 6973 2075 7365 6675 re this is usefu\n-0000a490: 6c2c 2062 7574 2069 6620 796f 7520 646f l, but if you do\n-0000a4a0: 0a6e 6565 6420 6974 2c20 796f 7520 6e65 .need it, you ne\n-0000a4b0: 6564 2069 7420 6261 646c 7921 0a0a 1f0a ed it badly!....\n-0000a4c0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n-0000a4d0: 6f2c 2020 4e6f 6465 3a20 4172 6974 686d o, Node: Arithm\n-0000a4e0: 6574 6963 2c20 204e 6578 743a 204f 7074 etic, Next: Opt\n-0000a4f0: 696f 6e73 2c20 2050 7265 763a 204c 6974 ions, Prev: Lit\n-0000a500: 6572 616c 732c 2020 5570 3a20 4c61 6e67 erals, Up: Lang\n-0000a510: 7561 6765 2062 6173 6963 730a 0a33 2e31 uage basics..3.1\n-0000a520: 2e34 2041 7269 7468 6d65 7469 6320 6578 .4 Arithmetic ex\n-0000a530: 7072 6573 7369 6f6e 730a 2d2d 2d2d 2d2d pressions.------\n+0000a0c0: 2020 2020 2020 2020 666f 7220 6465 7461 for deta\n+0000a0d0: 696c 732e 0ae2 8098 205b 615f 7b34 317d ils..... [a_{41}\n+0000a0e0: 2c61 5f7b 3432 7d2c 615f 7b34 337d 2c61 ,a_{42},a_{43},a\n+0000a0f0: 5f7b 3434 7d5d 5de2 8099 0a54 6865 20e2 _{44}]]....The .\n+0000a100: 8098 7072 6f6a 6563 74e2 8099 2063 6f6e ..project... con\n+0000a110: 7374 7275 6374 6f72 2069 7320 6e6f 7420 structor is not \n+0000a120: 6765 6e65 7261 6c6c 7920 7573 6566 756c generally useful\n+0000a130: 2062 6563 6175 7365 2069 7420 6465 6665 because it defe\n+0000a140: 6174 730a 6869 6464 656e 2073 7572 6661 ats.hidden surfa\n+0000a150: 6365 2072 656d 6f76 616c 2062 7920 636f ce removal by co\n+0000a160: 6c6c 6170 7369 6e67 2074 6865 2073 6365 llapsing the sce\n+0000a170: 6e65 206f 6e74 6f20 6120 7369 6e67 6c65 ne onto a single\n+0000a180: 2070 6c61 6e65 2e20 2049 740a 6973 2061 plane. It.is a\n+0000a190: 2073 7065 6369 616c 2070 7572 706f 7365 special purpose\n+0000a1a0: 2074 7261 6e73 666f 726d 2066 6f72 2064 transform for d\n+0000a1b0: 7261 7769 6e67 2070 6963 7475 7265 7320 rawing pictures \n+0000a1c0: 6f66 2073 6365 6e65 7320 7768 6572 650a of scenes where.\n+0000a1d0: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona\n+0000a1e0: 6c20 6f62 6a65 6374 7320 6172 6520 6265 l objects are be\n+0000a1f0: 696e 6720 7072 6f6a 6563 7465 6420 6f6e ing projected on\n+0000a200: 746f 2070 6c61 6e65 732e 2020 5365 652c to planes. See,\n+0000a210: 2066 6f72 0a65 7861 6d70 6c65 2c20 2a6e for.example, *n\n+0000a220: 6f74 6520 4f76 6572 7669 6577 3a3a 2e0a ote Overview::..\n+0000a230: 0a20 2020 5468 6520 6469 7265 6374 2074 . The direct t\n+0000a240: 7261 6e73 666f 726d 2063 6f6e 7374 7275 ransform constru\n+0000a250: 6374 6f72 2061 6c6c 6f77 7320 6469 7265 ctor allows dire\n+0000a260: 6374 2065 6e74 7279 206f 6620 6120 3478 ct entry of a 4x\n+0000a270: 340a 7472 616e 7366 6f72 6d61 7469 6f6e 4.transformation\n+0000a280: 206d 6174 7269 782e 2020 4d6f 7374 2033 matrix. Most 3\n+0000a290: 6420 6772 6170 6869 6373 2073 7973 7465 d graphics syste\n+0000a2a0: 6d73 2c20 696e 636c 7564 696e 6720 e280 ms, including ..\n+0000a2b0: 9873 6b65 7463 68e2 8099 2c0a 7573 6520 .sketch...,.use \n+0000a2c0: 342d 6469 6d65 6e73 696f 6e61 6c20 686f 4-dimensional ho\n+0000a2d0: 6d6f 6765 6e65 6f75 7320 636f 6f72 6469 mogeneous coordi\n+0000a2e0: 6e61 7465 7320 696e 7465 726e 616c 6c79 nates internally\n+0000a2f0: 2e20 2054 6865 7365 2061 7265 0a74 7261 . These are.tra\n+0000a300: 6e73 666f 726d 6564 2062 7920 6d75 6c74 nsformed by mult\n+0000a310: 6970 6c69 6361 7469 6f6e 2077 6974 6820 iplication with \n+0000a320: 3478 3420 6d61 7472 6963 6573 2e20 2054 4x4 matrices. T\n+0000a330: 6865 2062 7569 6c74 2d69 6e0a 636f 6e73 he built-in.cons\n+0000a340: 7472 7563 746f 7273 2028 e280 9872 6f74 tructors (...rot\n+0000a350: 6174 65e2 8099 2c20 e280 9873 6361 6c65 ate..., ...scale\n+0000a360: e280 992c 2065 7463 2e29 2020 6172 6520 ..., etc.) are \n+0000a370: 616c 6c20 7472 616e 736c 6174 6564 2069 all translated i\n+0000a380: 6e74 6572 6e61 6c6c 7920 746f 0a73 7563 nternally to.suc\n+0000a390: 6820 3478 3420 6d61 7472 6963 6573 2e20 h 4x4 matrices. \n+0000a3a0: 2046 6f72 206d 6f72 6520 696e 666f 726d For more inform\n+0000a3b0: 6174 696f 6e20 6f6e 2068 6f6d 6f67 656e ation on homogen\n+0000a3c0: 656f 7573 2063 6f6f 7264 696e 6174 650a eous coordinate.\n+0000a3d0: 7472 616e 7366 6f72 6d61 7469 6f6e 732c transformations,\n+0000a3e0: 2073 6565 2061 6e79 2067 6f6f 6420 636f see any good co\n+0000a3f0: 6d70 7574 6572 2067 7261 7068 6963 7320 mputer graphics \n+0000a400: 7465 7874 626f 6f6b 2e20 2054 6865 2064 textbook. The d\n+0000a410: 6972 6563 740a 7472 616e 7366 6f72 6d20 irect.transform \n+0000a420: 6665 6174 7572 6520 6f66 20e2 8098 736b feature of ...sk\n+0000a430: 6574 6368 e280 9920 616c 6c6f 7773 2079 etch... allows y\n+0000a440: 6f75 2074 6f20 656e 7465 7220 6120 6d61 ou to enter a ma\n+0000a450: 7472 6978 206f 6620 796f 7572 206f 776e trix of your own\n+0000a460: 0a63 686f 6963 652e 2020 5468 6572 6520 .choice. There \n+0000a470: 6172 6520 6e6f 7420 6d61 6e79 2063 6173 are not many cas\n+0000a480: 6573 2077 6865 7265 2074 6869 7320 6973 es where this is\n+0000a490: 2075 7365 6675 6c2c 2062 7574 2069 6620 useful, but if \n+0000a4a0: 796f 7520 646f 0a6e 6565 6420 6974 2c20 you do.need it, \n+0000a4b0: 796f 7520 6e65 6564 2069 7420 6261 646c you need it badl\n+0000a4c0: 7921 0a0a 1f0a 4669 6c65 3a20 736b 6574 y!....File: sket\n+0000a4d0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n+0000a4e0: 4172 6974 686d 6574 6963 2c20 204e 6578 Arithmetic, Nex\n+0000a4f0: 743a 204f 7074 696f 6e73 2c20 2050 7265 t: Options, Pre\n+0000a500: 763a 204c 6974 6572 616c 732c 2020 5570 v: Literals, Up\n+0000a510: 3a20 4c61 6e67 7561 6765 2062 6173 6963 : Language basic\n+0000a520: 730a 0a33 2e31 2e34 2041 7269 7468 6d65 s..3.1.4 Arithme\n+0000a530: 7469 6320 6578 7072 6573 7369 6f6e 730a tic expressions.\n 0000a540: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-0000a550: 2d2d 2d2d 2d2d 0a0a 4172 6974 686d 6574 ------..Arithmet\n-0000a560: 6963 2065 7870 7265 7373 696f 6e73 206f ic expressions o\n-0000a570: 7665 7220 e280 9873 6b65 7463 68e2 8099 ver ...sketch...\n-0000a580: 206c 6974 6572 616c 7320 616e 6420 6465 literals and de\n-0000a590: 6669 6e65 6420 6964 656e 7469 6669 6572 fined identifier\n-0000a5a0: 730a 6172 6520 7375 6d6d 6172 697a 6564 s.are summarized\n-0000a5b0: 2069 6e20 7468 6520 666f 6c6c 6f77 696e in the followin\n-0000a5c0: 6720 7461 626c 6573 2e0a 0a2a 204d 656e g tables...* Men\n-0000a5d0: 753a 0a0a 2a20 5477 6f2d 6f70 6572 616e u:..* Two-operan\n-0000a5e0: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms\n-0000a5f0: 3a3a 2020 4120 6f70 2042 0a2a 2055 6e61 :: A op B.* Una\n-0000a600: 7279 2066 6f72 6d73 3a3a 2020 2020 2020 ry forms:: \n-0000a610: 2020 2020 2020 2020 2020 206f 7020 4120 op A \n-0000a620: 2861 6e64 206f 7468 6572 7329 0a0a 1f0a (and others)....\n-0000a630: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n-0000a640: 6f2c 2020 4e6f 6465 3a20 5477 6f2d 6f70 o, Node: Two-op\n-0000a650: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n-0000a660: 6f72 6d73 2c20 204e 6578 743a 2055 6e61 orms, Next: Una\n-0000a670: 7279 2066 6f72 6d73 2c20 2050 7265 763a ry forms, Prev:\n-0000a680: 2041 7269 7468 6d65 7469 632c 2020 5570 Arithmetic, Up\n-0000a690: 3a20 4172 6974 686d 6574 6963 0a0a 332e : Arithmetic..3.\n-0000a6a0: 312e 342e 3120 5477 6f2d 6f70 6572 616e 1.4.1 Two-operan\n-0000a6b0: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms\n-0000a6c0: 2061 6e64 2070 7265 6365 6465 6e63 650a and precedence.\n-0000a6d0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+0000a550: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 4172 ------------..Ar\n+0000a560: 6974 686d 6574 6963 2065 7870 7265 7373 ithmetic express\n+0000a570: 696f 6e73 206f 7665 7220 e280 9873 6b65 ions over ...ske\n+0000a580: 7463 68e2 8099 206c 6974 6572 616c 7320 tch... literals \n+0000a590: 616e 6420 6465 6669 6e65 6420 6964 656e and defined iden\n+0000a5a0: 7469 6669 6572 730a 6172 6520 7375 6d6d tifiers.are summ\n+0000a5b0: 6172 697a 6564 2069 6e20 7468 6520 666f arized in the fo\n+0000a5c0: 6c6c 6f77 696e 6720 7461 626c 6573 2e0a llowing tables..\n+0000a5d0: 0a2a 204d 656e 753a 0a0a 2a20 5477 6f2d .* Menu:..* Two-\n+0000a5e0: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary)\n+0000a5f0: 2066 6f72 6d73 3a3a 2020 4120 6f70 2042 forms:: A op B\n+0000a600: 0a2a 2055 6e61 7279 2066 6f72 6d73 3a3a .* Unary forms::\n+0000a610: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000a620: 206f 7020 4120 2861 6e64 206f 7468 6572 op A (and other\n+0000a630: 7329 0a0a 1f0a 4669 6c65 3a20 736b 6574 s)....File: sket\n+0000a640: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n+0000a650: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin\n+0000a660: 6172 7929 2066 6f72 6d73 2c20 204e 6578 ary) forms, Nex\n+0000a670: 743a 2055 6e61 7279 2066 6f72 6d73 2c20 t: Unary forms, \n+0000a680: 2050 7265 763a 2041 7269 7468 6d65 7469 Prev: Arithmeti\n+0000a690: 632c 2020 5570 3a20 4172 6974 686d 6574 c, Up: Arithmet\n+0000a6a0: 6963 0a0a 332e 312e 342e 3120 5477 6f2d ic..3.1.4.1 Two-\n+0000a6b0: 6f70 6572 616e 6420 2862 696e 6172 7929 operand (binary)\n+0000a6c0: 2066 6f72 6d73 2061 6e64 2070 7265 6365 forms and prece\n+0000a6d0: 6465 6e63 650a 2e2e 2e2e 2e2e 2e2e 2e2e dence...........\n 0000a6e0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n 0000a6f0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000a700: 2e0a 0a4d 6f73 7420 7477 6f2d 6f70 6572 ...Most two-oper\n-0000a710: 616e 6420 6269 6e61 7279 2066 6f72 6d73 and binary forms\n-0000a720: 2068 6176 6520 6d65 616e 696e 6773 2064 have meanings d\n-0000a730: 6570 656e 6465 6e74 206f 6e20 7468 6520 ependent on the \n-0000a740: 7479 7065 7320 6f66 0a74 6865 6972 2061 types of.their a\n-0000a750: 7267 756d 656e 7473 2e20 2041 6e20 6578 rguments. An ex\n-0000a760: 6861 7573 7469 7665 2073 756d 6d61 7279 haustive summary\n-0000a770: 206f 6620 7468 6520 706f 7373 6962 696c of the possibil\n-0000a780: 6974 6965 7320 6973 2067 6976 656e 2069 ities is given i\n-0000a790: 6e0a 7468 6520 666f 6c6c 6f77 696e 6720 n.the following \n-0000a7a0: 7461 626c 652e 0a4c 6566 7420 2020 2020 table..Left \n-0000a7b0: 2020 204f 7020 2020 2020 2020 5269 6768 Op Righ\n-0000a7c0: 7420 2020 2020 2020 5265 7375 6c74 2020 t Result \n-0000a7d0: 2020 2020 4465 7363 7269 7074 696f 6e0a Description.\n-0000a7e0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000a700: 2e2e 2e2e 2e2e 2e0a 0a4d 6f73 7420 7477 .........Most tw\n+0000a710: 6f2d 6f70 6572 616e 6420 6269 6e61 7279 o-operand binary\n+0000a720: 2066 6f72 6d73 2068 6176 6520 6d65 616e forms have mean\n+0000a730: 696e 6773 2064 6570 656e 6465 6e74 206f ings dependent o\n+0000a740: 6e20 7468 6520 7479 7065 7320 6f66 0a74 n the types of.t\n+0000a750: 6865 6972 2061 7267 756d 656e 7473 2e20 heir arguments. \n+0000a760: 2041 6e20 6578 6861 7573 7469 7665 2073 An exhaustive s\n+0000a770: 756d 6d61 7279 206f 6620 7468 6520 706f ummary of the po\n+0000a780: 7373 6962 696c 6974 6965 7320 6973 2067 ssibilities is g\n+0000a790: 6976 656e 2069 6e0a 7468 6520 666f 6c6c iven in.the foll\n+0000a7a0: 6f77 696e 6720 7461 626c 652e 0a4c 6566 owing table..Lef\n+0000a7b0: 7420 2020 2020 2020 204f 7020 2020 2020 t Op \n+0000a7c0: 2020 5269 6768 7420 2020 2020 2020 5265 Right Re\n+0000a7d0: 7375 6c74 2020 2020 2020 4465 7363 7269 sult Descri\n+0000a7e0: 7074 696f 6e0a 2d2d 2d2d 2d2d 2d2d 2d2d ption.----------\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 0a73 6361 6c61 7220 2020 ------.scalar \n-0000a860: 2020 20e2 8098 2be2 8099 2020 2020 2020 ...+... \n-0000a870: 7363 616c 6172 2020 2020 2020 7363 616c scalar scal\n-0000a880: 6172 2020 2020 2020 5363 616c 6172 2073 ar Scalar s\n-0000a890: 756d 2e0a 7665 6374 6f72 2020 2020 2020 um..vector \n-0000a8a0: e280 982b e280 9920 2020 2020 2076 6563 ...+... vec\n-0000a8b0: 746f 7220 2020 2020 2076 6563 746f 7220 tor vector \n-0000a8c0: 2020 2020 2056 6563 746f 7220 7375 6d2e Vector sum.\n-0000a8d0: 0a70 6f69 6e74 2020 2020 2020 20e2 8098 .point ...\n-0000a8e0: 2be2 8099 2020 2020 2020 7665 6374 6f72 +... vector\n-0000a8f0: 2020 2020 2020 706f 696e 7420 2020 2020 point \n-0000a900: 2020 506f 696e 742d 7665 6374 6f72 2061 Point-vector a\n-0000a910: 6666 696e 6520 7375 6d2e 0a76 6563 746f ffine sum..vecto\n-0000a920: 7220 2020 2020 20e2 8098 2be2 8099 2020 r ...+... \n-0000a930: 2020 2020 706f 696e 7420 2020 2020 2020 point \n-0000a940: 2220 2020 2020 2020 2020 2020 220a 7363 \" \".sc\n-0000a950: 616c 6172 2020 2020 2020 e280 982d e280 alar ...-..\n-0000a960: 9920 2020 2020 2073 6361 6c61 7220 2020 . scalar \n-0000a970: 2020 2073 6361 6c61 7220 2020 2020 2053 scalar S\n-0000a980: 6361 6c61 7220 6469 6666 6572 656e 6365 calar difference\n-0000a990: 2e0a 7665 6374 6f72 2020 2020 2020 e280 ..vector ..\n-0000a9a0: 982d e280 9920 2020 2020 2076 6563 746f .-... vecto\n-0000a9b0: 7220 2020 2020 2076 6563 746f 7220 2020 r vector \n-0000a9c0: 2020 2056 6563 746f 7220 6469 6666 6572 Vector differ\n-0000a9d0: 656e 6365 2e0a 706f 696e 7420 2020 2020 ence..point \n-0000a9e0: 2020 e280 982d e280 9920 2020 2020 2070 ...-... p\n-0000a9f0: 6f69 6e74 2020 2020 2020 2076 6563 746f oint vecto\n-0000aa00: 7220 2020 2020 2050 6f69 6e74 2d70 6f69 r Point-poi\n-0000aa10: 6e74 2061 6666 696e 6520 6469 6666 6572 nt affine differ\n-0000aa20: 656e 6365 2e0a 706f 696e 7420 2020 2020 ence..point \n-0000aa30: 2020 e280 982d e280 9920 2020 2020 2076 ...-... v\n-0000aa40: 6563 746f 7220 2020 2020 2070 6f69 6e74 ector point\n-0000aa50: 2020 2020 2020 2050 6f69 6e74 2d76 6563 Point-vec\n-0000aa60: 746f 7220 6166 6669 6e65 2064 6966 6665 tor affine diffe\n-0000aa70: 7265 6e63 652e 0a73 6361 6c61 7220 2020 rence..scalar \n-0000aa80: 2020 20e2 8098 2ae2 8099 206f 7220 2020 ...*... or \n-0000aa90: 7363 616c 6172 2020 2020 2020 7363 616c scalar scal\n-0000aaa0: 6172 2020 2020 2020 5363 616c 6172 2070 ar Scalar p\n-0000aab0: 726f 6475 6374 2e0a 2020 2020 2020 2020 roduct.. \n-0000aac0: 2020 2020 e280 982e e280 990a 7363 616c ........scal\n-0000aad0: 6172 2020 2020 2020 e280 982a e280 9920 ar ...*... \n-0000aae0: 6f72 2020 2076 6563 746f 7220 2020 2020 or vector \n-0000aaf0: 2076 6563 746f 7220 2020 2020 2053 6361 vector Sca\n-0000ab00: 6c61 722d 7665 6374 6f72 2070 726f 6475 lar-vector produ\n-0000ab10: 6374 2e0a 2020 2020 2020 2020 2020 2020 ct.. \n-0000ab20: e280 982e e280 990a 7665 6374 6f72 2020 ........vector \n-0000ab30: 2020 2020 e280 982a e280 9920 6f72 2020 ...*... or \n-0000ab40: 2073 6361 6c61 7220 2020 2020 2022 2020 scalar \" \n-0000ab50: 2020 2020 2020 2020 2022 0a20 2020 2020 \". \n-0000ab60: 2020 2020 2020 20e2 8098 2ee2 8099 0a76 ........v\n-0000ab70: 6563 746f 7220 2020 2020 20e2 8098 2ae2 ector ...*.\n-0000ab80: 8099 2020 2020 2020 7665 6374 6f72 2020 .. vector \n-0000ab90: 2020 2020 7665 6374 6f72 2020 2020 2020 vector \n-0000aba0: 5665 6374 6f72 2063 726f 7373 2d70 726f Vector cross-pro\n-0000abb0: 6475 6374 2e0a 7665 6374 6f72 2020 2020 duct..vector \n-0000abc0: 2020 e280 982e e280 9920 2020 2020 2076 ....... v\n-0000abd0: 6563 746f 7220 2020 2020 2073 6361 6c61 ector scala\n-0000abe0: 7220 2020 2020 2056 6563 746f 7220 646f r Vector do\n-0000abf0: 7420 7072 6f64 7563 742e 0a73 6361 6c61 t product..scala\n-0000ac00: 7220 2020 2020 20e2 8098 5ee2 8099 2020 r ...^... \n-0000ac10: 2020 2020 7363 616c 6172 2020 2020 2020 scalar \n-0000ac20: 7363 616c 6172 2020 2020 2020 5261 6973 scalar Rais\n-0000ac30: 6520 7363 616c 6172 2074 6f20 7363 616c e scalar to scal\n-0000ac40: 6172 2070 6f77 6572 2e0a 7472 616e 7366 ar power..transf\n-0000ac50: 6f72 6d20 2020 e280 985e e280 9920 2020 orm ...^... \n-0000ac60: 2020 2069 6e74 6567 6572 2020 2020 2074 integer t\n-0000ac70: 7261 6e73 666f 726d 2020 2052 6169 7365 ransform Raise\n-0000ac80: 2074 7261 6e73 666f 726d 2074 6f20 696e transform to in\n-0000ac90: 7465 6765 7220 706f 7765 722e 0a74 7261 teger power..tra\n-0000aca0: 6e73 666f 726d 2020 20e2 8098 2ae2 8099 nsform ...*...\n-0000acb0: 206f 7220 2020 706f 696e 7420 2020 2020 or point \n-0000acc0: 2020 706f 696e 7420 2020 2020 2020 4166 point Af\n-0000acd0: 6669 6e65 2070 6f69 6e74 2074 7261 6e73 fine point trans\n-0000ace0: 666f 726d 2028 7269 6768 742d 746f 2d6c form (right-to-l\n-0000acf0: 6566 7429 2e0a 2020 2020 2020 2020 2020 eft).. \n-0000ad00: 2020 e280 982e e280 990a 7472 616e 7366 ........transf\n-0000ad10: 6f72 6d20 2020 e280 982a e280 9920 6f72 orm ...*... or\n-0000ad20: 2020 2076 6563 746f 7220 2020 2020 2076 vector v\n-0000ad30: 6563 746f 7220 2020 2020 2041 6666 696e ector Affin\n-0000ad40: 6520 7665 6374 6f72 2074 7261 6e73 666f e vector transfo\n-0000ad50: 726d 2028 7269 6768 742d 746f 2d6c 6566 rm (right-to-lef\n-0000ad60: 7429 2e0a 2020 2020 2020 2020 2020 2020 t).. \n-0000ad70: e280 982e e280 990a 7472 616e 7366 6f72 ........transfor\n-0000ad80: 6d20 2020 e280 982a e280 9920 6f72 2020 m ...*... or \n-0000ad90: 2074 7261 6e73 666f 726d 2020 2074 7261 transform tra\n-0000ada0: 6e73 666f 726d 2020 2054 7261 6e73 666f nsform Transfo\n-0000adb0: 726d 2063 6f6d 706f 7369 7469 6f6e 2028 rm composition (\n-0000adc0: 7269 6768 742d 746f 2d6c 6566 7429 2e0a right-to-left)..\n-0000add0: 2020 2020 2020 2020 2020 2020 e280 982e ....\n-0000ade0: e280 990a 706f 696e 7420 2020 2020 2020 ....point \n-0000adf0: e280 9874 6865 6ee2 8099 2020 2074 7261 ...then... tra\n-0000ae00: 6e73 666f 726d 2020 2070 6f69 6e74 2020 nsform point \n-0000ae10: 2020 2020 2041 6666 696e 6520 706f 696e Affine poin\n-0000ae20: 7420 7472 616e 7366 6f72 6d20 286c 6566 t transform (lef\n-0000ae30: 742d 746f 2d72 6967 6874 292e 0a76 6563 t-to-right)..vec\n-0000ae40: 746f 7220 2020 2020 20e2 8098 7468 656e tor ...then\n-0000ae50: e280 9920 2020 7472 616e 7366 6f72 6d20 ... transform \n-0000ae60: 2020 7665 6374 6f72 2020 2020 2020 4166 vector Af\n-0000ae70: 6669 6e65 2076 6563 746f 7220 7472 616e fine vector tran\n-0000ae80: 7366 6f72 6d20 286c 6566 742d 746f 2d72 sform (left-to-r\n-0000ae90: 6967 6874 292e 0a74 7261 6e73 666f 726d ight)..transform\n-0000aea0: 2020 20e2 8098 7468 656e e280 9920 2020 ...then... \n-0000aeb0: 7472 616e 7366 6f72 6d20 2020 7472 616e transform tran\n-0000aec0: 7366 6f72 6d20 2020 5472 616e 7366 6f72 sform Transfor\n-0000aed0: 6d20 636f 6d70 6f73 6974 696f 6e20 286c m composition (l\n-0000aee0: 6566 742d 746f 2d72 6967 6874 292e 0a73 eft-to-right)..s\n-0000aef0: 6361 6c61 7220 2020 2020 20e2 8098 2fe2 calar .../.\n-0000af00: 8099 2020 2020 2020 7363 616c 6172 2020 .. scalar \n-0000af10: 2020 2020 7363 616c 6172 2020 2020 2020 scalar \n-0000af20: 5363 616c 6172 2064 6976 6973 696f 6e2e Scalar division.\n-0000af30: 0a76 6563 746f 7220 2020 2020 20e2 8098 .vector ...\n-0000af40: 2fe2 8099 2020 2020 2020 7363 616c 6172 /... scalar\n-0000af50: 2020 2020 2020 7665 6374 6f72 2020 2020 vector \n-0000af60: 2020 5665 6374 6f72 2063 6f6d 706f 6e65 Vector compone\n-0000af70: 6e74 2d77 6973 6520 6469 7669 7369 6f6e nt-wise division\n-0000af80: 2062 7920 7363 616c 6172 2e0a 706f 696e by scalar..poin\n-0000af90: 7420 2020 2020 2020 e280 9827 e280 9920 t ...'... \n-0000afa0: 2020 2020 20e2 8098 78e2 8099 2c20 e280 ...x..., ..\n-0000afb0: 9879 e280 992c 2020 2073 6361 6c61 7220 .y..., scalar \n-0000afc0: 2020 2020 2050 6f69 6e74 2063 6f6d 706f Point compo\n-0000afd0: 6e65 6e74 2065 7874 7261 6374 696f 6e2e nent extraction.\n-0000afe0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n-0000aff0: 2020 2020 2020 6f72 20e2 8098 7ae2 8099 or ...z...\n-0000b000: 0a76 6563 746f 7220 2020 2020 20e2 8098 .vector ...\n-0000b010: 27e2 8099 2020 2020 2020 e280 9878 e280 '... ...x..\n-0000b020: 992c 20e2 8098 79e2 8099 2c20 2020 7363 ., ...y..., sc\n-0000b030: 616c 6172 2020 2020 2020 5665 6374 6f72 alar Vector\n-0000b040: 2063 6f6d 706f 6e65 6e74 2065 7874 7261 component extra\n-0000b050: 6374 696f 6e2e 0a20 2020 2020 2020 2020 ction.. \n-0000b060: 2020 2020 2020 2020 2020 2020 6f72 20e2 or .\n-0000b070: 8098 7ae2 8099 0a0a 4f70 6572 6174 6f72 ..z.....Operator\n-0000b080: 2070 7265 6365 6465 6e63 6520 6973 2073 precedence is s\n-0000b090: 686f 776e 2069 6e20 7468 6973 2074 6162 hown in this tab\n-0000b0a0: 6c65 2e0a 4f70 2020 2020 2020 2050 7265 le..Op Pre\n-0000b0b0: 6365 6465 6e63 650a 2d2d 2d2d 2d2d 2d2d cedence.--------\n+0000a850: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a73 6361 ------------.sca\n+0000a860: 6c61 7220 2020 2020 20e2 8098 2be2 8099 lar ...+...\n+0000a870: 2020 2020 2020 7363 616c 6172 2020 2020 scalar \n+0000a880: 2020 7363 616c 6172 2020 2020 2020 5363 scalar Sc\n+0000a890: 616c 6172 2073 756d 2e0a 7665 6374 6f72 alar sum..vector\n+0000a8a0: 2020 2020 2020 e280 982b e280 9920 2020 ...+... \n+0000a8b0: 2020 2076 6563 746f 7220 2020 2020 2076 vector v\n+0000a8c0: 6563 746f 7220 2020 2020 2056 6563 746f ector Vecto\n+0000a8d0: 7220 7375 6d2e 0a70 6f69 6e74 2020 2020 r sum..point \n+0000a8e0: 2020 20e2 8098 2be2 8099 2020 2020 2020 ...+... \n+0000a8f0: 7665 6374 6f72 2020 2020 2020 706f 696e vector poin\n+0000a900: 7420 2020 2020 2020 506f 696e 742d 7665 t Point-ve\n+0000a910: 6374 6f72 2061 6666 696e 6520 7375 6d2e ctor affine sum.\n+0000a920: 0a76 6563 746f 7220 2020 2020 20e2 8098 .vector ...\n+0000a930: 2be2 8099 2020 2020 2020 706f 696e 7420 +... point \n+0000a940: 2020 2020 2020 2220 2020 2020 2020 2020 \" \n+0000a950: 2020 220a 7363 616c 6172 2020 2020 2020 \".scalar \n+0000a960: e280 982d e280 9920 2020 2020 2073 6361 ...-... sca\n+0000a970: 6c61 7220 2020 2020 2073 6361 6c61 7220 lar scalar \n+0000a980: 2020 2020 2053 6361 6c61 7220 6469 6666 Scalar diff\n+0000a990: 6572 656e 6365 2e0a 7665 6374 6f72 2020 erence..vector \n+0000a9a0: 2020 2020 e280 982d e280 9920 2020 2020 ...-... \n+0000a9b0: 2076 6563 746f 7220 2020 2020 2076 6563 vector vec\n+0000a9c0: 746f 7220 2020 2020 2056 6563 746f 7220 tor Vector \n+0000a9d0: 6469 6666 6572 656e 6365 2e0a 706f 696e difference..poin\n+0000a9e0: 7420 2020 2020 2020 e280 982d e280 9920 t ...-... \n+0000a9f0: 2020 2020 2070 6f69 6e74 2020 2020 2020 point \n+0000aa00: 2076 6563 746f 7220 2020 2020 2050 6f69 vector Poi\n+0000aa10: 6e74 2d70 6f69 6e74 2061 6666 696e 6520 nt-point affine \n+0000aa20: 6469 6666 6572 656e 6365 2e0a 706f 696e difference..poin\n+0000aa30: 7420 2020 2020 2020 e280 982d e280 9920 t ...-... \n+0000aa40: 2020 2020 2076 6563 746f 7220 2020 2020 vector \n+0000aa50: 2070 6f69 6e74 2020 2020 2020 2050 6f69 point Poi\n+0000aa60: 6e74 2d76 6563 746f 7220 6166 6669 6e65 nt-vector affine\n+0000aa70: 2064 6966 6665 7265 6e63 652e 0a73 6361 difference..sca\n+0000aa80: 6c61 7220 2020 2020 20e2 8098 2ae2 8099 lar ...*...\n+0000aa90: 206f 7220 2020 7363 616c 6172 2020 2020 or scalar \n+0000aaa0: 2020 7363 616c 6172 2020 2020 2020 5363 scalar Sc\n+0000aab0: 616c 6172 2070 726f 6475 6374 2e0a 2020 alar product.. \n+0000aac0: 2020 2020 2020 2020 2020 e280 982e e280 ......\n+0000aad0: 990a 7363 616c 6172 2020 2020 2020 e280 ..scalar ..\n+0000aae0: 982a e280 9920 6f72 2020 2076 6563 746f .*... or vecto\n+0000aaf0: 7220 2020 2020 2076 6563 746f 7220 2020 r vector \n+0000ab00: 2020 2053 6361 6c61 722d 7665 6374 6f72 Scalar-vector\n+0000ab10: 2070 726f 6475 6374 2e0a 2020 2020 2020 product.. \n+0000ab20: 2020 2020 2020 e280 982e e280 990a 7665 ........ve\n+0000ab30: 6374 6f72 2020 2020 2020 e280 982a e280 ctor ...*..\n+0000ab40: 9920 6f72 2020 2073 6361 6c61 7220 2020 . or scalar \n+0000ab50: 2020 2022 2020 2020 2020 2020 2020 2022 \" \"\n+0000ab60: 0a20 2020 2020 2020 2020 2020 20e2 8098 . ...\n+0000ab70: 2ee2 8099 0a76 6563 746f 7220 2020 2020 .....vector \n+0000ab80: 20e2 8098 2ae2 8099 2020 2020 2020 7665 ...*... ve\n+0000ab90: 6374 6f72 2020 2020 2020 7665 6374 6f72 ctor vector\n+0000aba0: 2020 2020 2020 5665 6374 6f72 2063 726f Vector cro\n+0000abb0: 7373 2d70 726f 6475 6374 2e0a 7665 6374 ss-product..vect\n+0000abc0: 6f72 2020 2020 2020 e280 982e e280 9920 or ....... \n+0000abd0: 2020 2020 2076 6563 746f 7220 2020 2020 vector \n+0000abe0: 2073 6361 6c61 7220 2020 2020 2056 6563 scalar Vec\n+0000abf0: 746f 7220 646f 7420 7072 6f64 7563 742e tor dot product.\n+0000ac00: 0a73 6361 6c61 7220 2020 2020 20e2 8098 .scalar ...\n+0000ac10: 5ee2 8099 2020 2020 2020 7363 616c 6172 ^... scalar\n+0000ac20: 2020 2020 2020 7363 616c 6172 2020 2020 scalar \n+0000ac30: 2020 5261 6973 6520 7363 616c 6172 2074 Raise scalar t\n+0000ac40: 6f20 7363 616c 6172 2070 6f77 6572 2e0a o scalar power..\n+0000ac50: 7472 616e 7366 6f72 6d20 2020 e280 985e transform ...^\n+0000ac60: e280 9920 2020 2020 2069 6e74 6567 6572 ... integer\n+0000ac70: 2020 2020 2074 7261 6e73 666f 726d 2020 transform \n+0000ac80: 2052 6169 7365 2074 7261 6e73 666f 726d Raise transform\n+0000ac90: 2074 6f20 696e 7465 6765 7220 706f 7765 to integer powe\n+0000aca0: 722e 0a74 7261 6e73 666f 726d 2020 20e2 r..transform .\n+0000acb0: 8098 2ae2 8099 206f 7220 2020 706f 696e ..*... or poin\n+0000acc0: 7420 2020 2020 2020 706f 696e 7420 2020 t point \n+0000acd0: 2020 2020 4166 6669 6e65 2070 6f69 6e74 Affine point\n+0000ace0: 2074 7261 6e73 666f 726d 2028 7269 6768 transform (righ\n+0000acf0: 742d 746f 2d6c 6566 7429 2e0a 2020 2020 t-to-left).. \n+0000ad00: 2020 2020 2020 2020 e280 982e e280 990a ........\n+0000ad10: 7472 616e 7366 6f72 6d20 2020 e280 982a transform ...*\n+0000ad20: e280 9920 6f72 2020 2076 6563 746f 7220 ... or vector \n+0000ad30: 2020 2020 2076 6563 746f 7220 2020 2020 vector \n+0000ad40: 2041 6666 696e 6520 7665 6374 6f72 2074 Affine vector t\n+0000ad50: 7261 6e73 666f 726d 2028 7269 6768 742d ransform (right-\n+0000ad60: 746f 2d6c 6566 7429 2e0a 2020 2020 2020 to-left).. \n+0000ad70: 2020 2020 2020 e280 982e e280 990a 7472 ........tr\n+0000ad80: 616e 7366 6f72 6d20 2020 e280 982a e280 ansform ...*..\n+0000ad90: 9920 6f72 2020 2074 7261 6e73 666f 726d . or transform\n+0000ada0: 2020 2074 7261 6e73 666f 726d 2020 2054 transform T\n+0000adb0: 7261 6e73 666f 726d 2063 6f6d 706f 7369 ransform composi\n+0000adc0: 7469 6f6e 2028 7269 6768 742d 746f 2d6c tion (right-to-l\n+0000add0: 6566 7429 2e0a 2020 2020 2020 2020 2020 eft).. \n+0000ade0: 2020 e280 982e e280 990a 706f 696e 7420 ........point \n+0000adf0: 2020 2020 2020 e280 9874 6865 6ee2 8099 ...then...\n+0000ae00: 2020 2074 7261 6e73 666f 726d 2020 2070 transform p\n+0000ae10: 6f69 6e74 2020 2020 2020 2041 6666 696e oint Affin\n+0000ae20: 6520 706f 696e 7420 7472 616e 7366 6f72 e point transfor\n+0000ae30: 6d20 286c 6566 742d 746f 2d72 6967 6874 m (left-to-right\n+0000ae40: 292e 0a76 6563 746f 7220 2020 2020 20e2 )..vector .\n+0000ae50: 8098 7468 656e e280 9920 2020 7472 616e ..then... tran\n+0000ae60: 7366 6f72 6d20 2020 7665 6374 6f72 2020 sform vector \n+0000ae70: 2020 2020 4166 6669 6e65 2076 6563 746f Affine vecto\n+0000ae80: 7220 7472 616e 7366 6f72 6d20 286c 6566 r transform (lef\n+0000ae90: 742d 746f 2d72 6967 6874 292e 0a74 7261 t-to-right)..tra\n+0000aea0: 6e73 666f 726d 2020 20e2 8098 7468 656e nsform ...then\n+0000aeb0: e280 9920 2020 7472 616e 7366 6f72 6d20 ... transform \n+0000aec0: 2020 7472 616e 7366 6f72 6d20 2020 5472 transform Tr\n+0000aed0: 616e 7366 6f72 6d20 636f 6d70 6f73 6974 ansform composit\n+0000aee0: 696f 6e20 286c 6566 742d 746f 2d72 6967 ion (left-to-rig\n+0000aef0: 6874 292e 0a73 6361 6c61 7220 2020 2020 ht)..scalar \n+0000af00: 20e2 8098 2fe2 8099 2020 2020 2020 7363 .../... sc\n+0000af10: 616c 6172 2020 2020 2020 7363 616c 6172 alar scalar\n+0000af20: 2020 2020 2020 5363 616c 6172 2064 6976 Scalar div\n+0000af30: 6973 696f 6e2e 0a76 6563 746f 7220 2020 ision..vector \n+0000af40: 2020 20e2 8098 2fe2 8099 2020 2020 2020 .../... \n+0000af50: 7363 616c 6172 2020 2020 2020 7665 6374 scalar vect\n+0000af60: 6f72 2020 2020 2020 5665 6374 6f72 2063 or Vector c\n+0000af70: 6f6d 706f 6e65 6e74 2d77 6973 6520 6469 omponent-wise di\n+0000af80: 7669 7369 6f6e 2062 7920 7363 616c 6172 vision by scalar\n+0000af90: 2e0a 706f 696e 7420 2020 2020 2020 e280 ..point ..\n+0000afa0: 9827 e280 9920 2020 2020 20e2 8098 78e2 .'... ...x.\n+0000afb0: 8099 2c20 e280 9879 e280 992c 2020 2073 .., ...y..., s\n+0000afc0: 6361 6c61 7220 2020 2020 2050 6f69 6e74 calar Point\n+0000afd0: 2063 6f6d 706f 6e65 6e74 2065 7874 7261 component extra\n+0000afe0: 6374 696f 6e2e 0a20 2020 2020 2020 2020 ction.. \n+0000aff0: 2020 2020 2020 2020 2020 2020 6f72 20e2 or .\n+0000b000: 8098 7ae2 8099 0a76 6563 746f 7220 2020 ..z....vector \n+0000b010: 2020 20e2 8098 27e2 8099 2020 2020 2020 ...'... \n+0000b020: e280 9878 e280 992c 20e2 8098 79e2 8099 ...x..., ...y...\n+0000b030: 2c20 2020 7363 616c 6172 2020 2020 2020 , scalar \n+0000b040: 5665 6374 6f72 2063 6f6d 706f 6e65 6e74 Vector component\n+0000b050: 2065 7874 7261 6374 696f 6e2e 0a20 2020 extraction.. \n+0000b060: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000b070: 2020 6f72 20e2 8098 7ae2 8099 0a0a 4f70 or ...z.....Op\n+0000b080: 6572 6174 6f72 2070 7265 6365 6465 6e63 erator precedenc\n+0000b090: 6520 6973 2073 686f 776e 2069 6e20 7468 e is shown in th\n+0000b0a0: 6973 2074 6162 6c65 2e0a 4f70 2020 2020 is table..Op \n+0000b0b0: 2020 2050 7265 6365 6465 6e63 650a 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 0ae2 8098 27e2 8099 2020 2020 2020 --....'... \n-0000b0f0: 6869 6768 6573 7420 286d 6f73 7420 7469 highest (most ti\n-0000b100: 6768 746c 7920 6269 6e64 696e 6729 0ae2 ghtly binding)..\n-0000b110: 8098 5ee2 8099 0ae2 8098 2de2 8099 2020 ..^.......-... \n-0000b120: 2020 2020 2875 6e61 7279 206e 6567 6174 (unary negat\n-0000b130: 696f 6e29 0ae2 8098 2ae2 8099 0ae2 8098 ion)....*.......\n-0000b140: 2ee2 8099 0ae2 8098 2fe2 8099 0ae2 8098 ......../.......\n-0000b150: 2be2 8099 0ae2 8098 2de2 8099 0ae2 8098 +.......-.......\n-0000b160: 7468 656e e280 9920 2020 6c6f 7765 7374 then... lowest\n-0000b170: 2028 6c65 6173 7420 7469 6768 746c 7920 (least tightly \n-0000b180: 6269 6e64 696e 6729 0a0a 416c 6c20 6f70 binding)..All op\n-0000b190: 6572 6174 696f 6e73 2061 7265 206c 6566 erations are lef\n-0000b1a0: 742d 6173 736f 6369 6174 6976 6520 6578 t-associative ex\n-0000b1b0: 6365 7074 2066 6f72 20e2 8098 5ee2 8099 cept for ...^...\n-0000b1c0: 2e20 2050 6172 656e 7468 6573 6573 20e2 . Parentheses .\n-0000b1d0: 8098 2820 29e2 8099 0a61 7265 2075 7365 ..( )....are use\n-0000b1e0: 6420 666f 7220 6772 6f75 7069 6e67 2074 d for grouping t\n-0000b1f0: 6f20 6f76 6572 7269 6465 2070 7265 6365 o override prece\n-0000b200: 6465 6e63 6520 696e 2074 6865 2075 7375 dence in the usu\n-0000b210: 616c 2077 6179 2e0a 0a20 2020 4173 2079 al way... As y\n-0000b220: 6f75 2063 616e 2073 6565 2c20 7468 6520 ou can see, the \n-0000b230: 646f 7420 6f70 6572 6174 6f72 20e2 8098 dot operator ...\n-0000b240: 2ee2 8099 2069 7320 7573 7561 6c6c 7920 .... is usually \n-0000b250: 6120 7379 6e6f 6e79 6d20 666f 720a 7275 a synonym for.ru\n-0000b260: 6e2d 6f66 2d74 6865 2d6d 696c 6c20 6d75 n-of-the-mill mu\n-0000b270: 6c74 6970 6c69 6361 7469 6f6e 2c20 e280 ltiplication, ..\n-0000b280: 982a e280 992e 2020 5468 6520 6d65 616e .*.... The mean\n-0000b290: 696e 6773 2064 6966 6665 7220 6f6e 6c79 ings differ only\n-0000b2a0: 2066 6f72 0a76 6563 746f 7220 6f70 6572 for.vector oper\n-0000b2b0: 616e 6473 2e20 2054 6865 20e2 8098 7468 ands. The ...th\n-0000b2c0: 656e e280 9920 6f70 6572 6174 6f72 206d en... operator m\n-0000b2d0: 6572 656c 7920 7265 7665 7273 6573 2074 erely reverses t\n-0000b2e0: 6865 206f 7065 7261 6e64 206f 7264 6572 he operand order\n-0000b2f0: 0a77 6974 6820 7265 7370 6563 7420 746f .with respect to\n-0000b300: 206e 6f72 6d61 6c20 6d75 6c74 6970 6c69 normal multipli\n-0000b310: 6361 7469 6f6e 20e2 8098 2ae2 8099 2e20 cation ...*.... \n-0000b320: 2054 6865 2069 6e74 656e 7420 6865 7265 The intent here\n-0000b330: 2069 7320 746f 206d 616b 650a 636f 6d70 is to make.comp\n-0000b340: 6f73 6974 696f 6e73 2072 6561 6420 6d6f ositions read mo\n-0000b350: 7265 206e 6174 7572 616c 6c79 2e20 2054 re naturally. T\n-0000b360: 6865 2063 6f64 650a 2020 2020 2028 312c he code. (1,\n-0000b370: 322c 3329 2074 6865 6e20 7363 616c 6528 2,3) then scale(\n-0000b380: 3229 2074 6865 6e20 726f 7461 7465 2833 2) then rotate(3\n-0000b390: 3029 2074 6865 6e20 7472 616e 736c 6174 0) then translat\n-0000b3a0: 6528 5b31 2c33 2c30 5d29 0a65 7870 7265 e([1,3,0]).expre\n-0000b3b0: 7373 6573 2061 2073 6572 6965 7320 6f66 sses a series of\n-0000b3c0: 2073 7563 6365 7373 6976 6520 6d6f 6469 successive modi\n-0000b3d0: 6669 6361 7469 6f6e 7320 746f 2074 6865 fications to the\n-0000b3e0: 2070 6f69 6e74 2c20 7768 6572 6561 7320 point, whereas \n-0000b3f0: 7468 650a 6571 7569 7661 6c65 6e74 2066 the.equivalent f\n-0000b400: 6f72 6d0a 2020 2020 2074 7261 6e73 6c61 orm. transla\n-0000b410: 7465 285b 312c 332c 305d 2920 2a20 726f te([1,3,0]) * ro\n-0000b420: 7461 7465 2833 3029 202a 2073 6361 6c65 tate(30) * scale\n-0000b430: 2832 2920 2a20 2831 2c32 2c33 290a 7769 (2) * (1,2,3).wi\n-0000b440: 6c6c 2062 6520 696e 7475 6974 6976 6520 ll be intuitive \n-0000b450: 6f6e 6c79 2074 6f20 6d61 7468 656d 6174 only to mathemat\n-0000b460: 6963 6961 6e73 2028 616e 6420 7065 7268 icians (and perh\n-0000b470: 6170 7320 4172 6162 6963 206c 616e 6775 aps Arabic langu\n-0000b480: 6167 650a 7265 6164 6572 7329 2e0a 0a1f age.readers)....\n-0000b490: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-0000b4a0: 666f 2c20 204e 6f64 653a 2055 6e61 7279 fo, Node: Unary\n-0000b4b0: 2066 6f72 6d73 2c20 2050 7265 763a 2054 forms, Prev: T\n-0000b4c0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina\n-0000b4d0: 7279 2920 666f 726d 732c 2020 5570 3a20 ry) forms, Up: \n-0000b4e0: 4172 6974 686d 6574 6963 0a0a 332e 312e Arithmetic..3.1.\n-0000b4f0: 342e 3220 556e 6172 7920 666f 726d 730a 4.2 Unary forms.\n-0000b500: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000b510: 2e2e 2e0a 0a55 6e61 7279 206f 7220 6f6e .....Unary or on\n-0000b520: 652d 6f70 6572 616e 6420 666f 726d 7320 e-operand forms \n-0000b530: 6172 6520 7375 6d6d 6172 697a 6564 2069 are summarized i\n-0000b540: 6e20 7468 6520 666f 6c6c 6f77 696e 6720 n the following \n-0000b550: 7461 626c 652c 2077 6865 7265 0ae2 8098 table, where....\n-0000b560: 58e2 8099 2073 7461 6e64 7320 666f 7220 X... stands for \n-0000b570: 7468 6520 6f70 6572 616e 642e 0a4f 7020 the operand..Op \n-0000b580: 2020 2020 2020 2020 2020 2020 4f70 6572 Oper\n-0000b590: 616e 6420 2020 2020 5265 7375 6c74 2020 and Result \n-0000b5a0: 2020 2020 4465 7363 7269 7074 696f 6e0a Description.\n-0000b5b0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+0000b0e0: 2d2d 2d2d 2d2d 2d2d 0ae2 8098 27e2 8099 --------....'...\n+0000b0f0: 2020 2020 2020 6869 6768 6573 7420 286d highest (m\n+0000b100: 6f73 7420 7469 6768 746c 7920 6269 6e64 ost tightly bind\n+0000b110: 696e 6729 0ae2 8098 5ee2 8099 0ae2 8098 ing)....^.......\n+0000b120: 2de2 8099 2020 2020 2020 2875 6e61 7279 -... (unary\n+0000b130: 206e 6567 6174 696f 6e29 0ae2 8098 2ae2 negation)....*.\n+0000b140: 8099 0ae2 8098 2ee2 8099 0ae2 8098 2fe2 ............../.\n+0000b150: 8099 0ae2 8098 2be2 8099 0ae2 8098 2de2 ......+.......-.\n+0000b160: 8099 0ae2 8098 7468 656e e280 9920 2020 ......then... \n+0000b170: 6c6f 7765 7374 2028 6c65 6173 7420 7469 lowest (least ti\n+0000b180: 6768 746c 7920 6269 6e64 696e 6729 0a0a ghtly binding)..\n+0000b190: 416c 6c20 6f70 6572 6174 696f 6e73 2061 All operations a\n+0000b1a0: 7265 206c 6566 742d 6173 736f 6369 6174 re left-associat\n+0000b1b0: 6976 6520 6578 6365 7074 2066 6f72 20e2 ive except for .\n+0000b1c0: 8098 5ee2 8099 2e20 2050 6172 656e 7468 ..^.... Parenth\n+0000b1d0: 6573 6573 20e2 8098 2820 29e2 8099 0a61 eses ...( )....a\n+0000b1e0: 7265 2075 7365 6420 666f 7220 6772 6f75 re used for grou\n+0000b1f0: 7069 6e67 2074 6f20 6f76 6572 7269 6465 ping to override\n+0000b200: 2070 7265 6365 6465 6e63 6520 696e 2074 precedence in t\n+0000b210: 6865 2075 7375 616c 2077 6179 2e0a 0a20 he usual way... \n+0000b220: 2020 4173 2079 6f75 2063 616e 2073 6565 As you can see\n+0000b230: 2c20 7468 6520 646f 7420 6f70 6572 6174 , the dot operat\n+0000b240: 6f72 20e2 8098 2ee2 8099 2069 7320 7573 or ....... is us\n+0000b250: 7561 6c6c 7920 6120 7379 6e6f 6e79 6d20 ually a synonym \n+0000b260: 666f 720a 7275 6e2d 6f66 2d74 6865 2d6d for.run-of-the-m\n+0000b270: 696c 6c20 6d75 6c74 6970 6c69 6361 7469 ill multiplicati\n+0000b280: 6f6e 2c20 e280 982a e280 992e 2020 5468 on, ...*.... Th\n+0000b290: 6520 6d65 616e 696e 6773 2064 6966 6665 e meanings diffe\n+0000b2a0: 7220 6f6e 6c79 2066 6f72 0a76 6563 746f r only for.vecto\n+0000b2b0: 7220 6f70 6572 616e 6473 2e20 2054 6865 r operands. The\n+0000b2c0: 20e2 8098 7468 656e e280 9920 6f70 6572 ...then... oper\n+0000b2d0: 6174 6f72 206d 6572 656c 7920 7265 7665 ator merely reve\n+0000b2e0: 7273 6573 2074 6865 206f 7065 7261 6e64 rses the operand\n+0000b2f0: 206f 7264 6572 0a77 6974 6820 7265 7370 order.with resp\n+0000b300: 6563 7420 746f 206e 6f72 6d61 6c20 6d75 ect to normal mu\n+0000b310: 6c74 6970 6c69 6361 7469 6f6e 20e2 8098 ltiplication ...\n+0000b320: 2ae2 8099 2e20 2054 6865 2069 6e74 656e *.... The inten\n+0000b330: 7420 6865 7265 2069 7320 746f 206d 616b t here is to mak\n+0000b340: 650a 636f 6d70 6f73 6974 696f 6e73 2072 e.compositions r\n+0000b350: 6561 6420 6d6f 7265 206e 6174 7572 616c ead more natural\n+0000b360: 6c79 2e20 2054 6865 2063 6f64 650a 2020 ly. The code. \n+0000b370: 2020 2028 312c 322c 3329 2074 6865 6e20 (1,2,3) then \n+0000b380: 7363 616c 6528 3229 2074 6865 6e20 726f scale(2) then ro\n+0000b390: 7461 7465 2833 3029 2074 6865 6e20 7472 tate(30) then tr\n+0000b3a0: 616e 736c 6174 6528 5b31 2c33 2c30 5d29 anslate([1,3,0])\n+0000b3b0: 0a65 7870 7265 7373 6573 2061 2073 6572 .expresses a ser\n+0000b3c0: 6965 7320 6f66 2073 7563 6365 7373 6976 ies of successiv\n+0000b3d0: 6520 6d6f 6469 6669 6361 7469 6f6e 7320 e modifications \n+0000b3e0: 746f 2074 6865 2070 6f69 6e74 2c20 7768 to the point, wh\n+0000b3f0: 6572 6561 7320 7468 650a 6571 7569 7661 ereas the.equiva\n+0000b400: 6c65 6e74 2066 6f72 6d0a 2020 2020 2074 lent form. t\n+0000b410: 7261 6e73 6c61 7465 285b 312c 332c 305d ranslate([1,3,0]\n+0000b420: 2920 2a20 726f 7461 7465 2833 3029 202a ) * rotate(30) *\n+0000b430: 2073 6361 6c65 2832 2920 2a20 2831 2c32 scale(2) * (1,2\n+0000b440: 2c33 290a 7769 6c6c 2062 6520 696e 7475 ,3).will be intu\n+0000b450: 6974 6976 6520 6f6e 6c79 2074 6f20 6d61 itive only to ma\n+0000b460: 7468 656d 6174 6963 6961 6e73 2028 616e thematicians (an\n+0000b470: 6420 7065 7268 6170 7320 4172 6162 6963 d perhaps Arabic\n+0000b480: 206c 616e 6775 6167 650a 7265 6164 6572 language.reader\n+0000b490: 7329 2e0a 0a1f 0a46 696c 653a 2073 6b65 s).....File: ske\n+0000b4a0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+0000b4b0: 2055 6e61 7279 2066 6f72 6d73 2c20 2050 Unary forms, P\n+0000b4c0: 7265 763a 2054 776f 2d6f 7065 7261 6e64 rev: Two-operand\n+0000b4d0: 2028 6269 6e61 7279 2920 666f 726d 732c (binary) forms,\n+0000b4e0: 2020 5570 3a20 4172 6974 686d 6574 6963 Up: Arithmetic\n+0000b4f0: 0a0a 332e 312e 342e 3220 556e 6172 7920 ..3.1.4.2 Unary \n+0000b500: 666f 726d 730a 2e2e 2e2e 2e2e 2e2e 2e2e forms...........\n+0000b510: 2e2e 2e2e 2e2e 2e2e 2e0a 0a55 6e61 7279 ...........Unary\n+0000b520: 206f 7220 6f6e 652d 6f70 6572 616e 6420 or one-operand \n+0000b530: 666f 726d 7320 6172 6520 7375 6d6d 6172 forms are summar\n+0000b540: 697a 6564 2069 6e20 7468 6520 666f 6c6c ized in the foll\n+0000b550: 6f77 696e 6720 7461 626c 652c 2077 6865 owing table, whe\n+0000b560: 7265 0ae2 8098 58e2 8099 2073 7461 6e64 re....X... stand\n+0000b570: 7320 666f 7220 7468 6520 6f70 6572 616e s for the operan\n+0000b580: 642e 0a4f 7020 2020 2020 2020 2020 2020 d..Op \n+0000b590: 2020 4f70 6572 616e 6420 2020 2020 5265 Operand Re\n+0000b5a0: 7375 6c74 2020 2020 2020 4465 7363 7269 sult Descri\n+0000b5b0: 7074 696f 6e0a 2d2d 2d2d 2d2d 2d2d 2d2d ption.----------\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 0ae2 8098 2d58 e280 9920 2020 ----....-X... \n-0000b610: 2020 2020 2020 2020 7363 616c 6172 2020 scalar \n-0000b620: 2020 2020 7363 616c 6172 2020 2020 2020 scalar \n-0000b630: 556e 6172 7920 7363 616c 6172 206e 6567 Unary scalar neg\n-0000b640: 6174 696f 6e2e 0ae2 8098 2d58 e280 9920 ation.....-X... \n-0000b650: 2020 2020 2020 2020 2020 7665 6374 6f72 vector\n-0000b660: 2020 2020 2020 7665 6374 6f72 2020 2020 vector \n-0000b670: 2020 556e 6172 7920 7665 6374 6f72 206e Unary vector n\n-0000b680: 6567 6174 696f 6e2e 0ae2 8098 7c58 7ce2 egation.....|X|.\n-0000b690: 8099 2020 2020 2020 2020 2020 7665 6374 .. vect\n-0000b6a0: 6f72 2020 2020 2020 7363 616c 6172 2020 or scalar \n-0000b6b0: 2020 2020 5665 6374 6f72 206c 656e 6774 Vector lengt\n-0000b6c0: 682e 0ae2 8098 756e 6974 2858 29e2 8099 h.....unit(X)...\n-0000b6d0: 2020 2020 2020 7665 6374 6f72 2020 2020 vector \n-0000b6e0: 2020 7665 6374 6f72 2020 2020 2020 556e vector Un\n-0000b6f0: 6974 2076 6563 746f 7220 7769 7468 2073 it vector with s\n-0000b700: 616d 6520 6469 7265 6374 696f 6e2e 0ae2 ame direction...\n-0000b710: 8098 7371 7274 2858 29e2 8099 2020 2020 ..sqrt(X)... \n-0000b720: 2020 7363 616c 6172 2020 2020 2020 7363 scalar sc\n-0000b730: 616c 6172 2020 2020 2020 5363 616c 6172 alar Scalar\n-0000b740: 2073 7175 6172 6520 726f 6f74 2e0a e280 square root....\n-0000b750: 9873 696e 2858 29e2 8099 2020 2020 2020 .sin(X)... \n-0000b760: 2073 6361 6c61 7220 2020 2020 2073 6361 scalar sca\n-0000b770: 6c61 7220 2020 2020 2054 7269 676f 6e6f lar Trigono\n-0000b780: 6d65 7472 6963 2073 696e 6520 28e2 8098 metric sine (...\n-0000b790: 58e2 8099 2069 6e20 6465 6772 6565 7329 X... in degrees)\n-0000b7a0: 2e0a e280 9863 6f73 2858 29e2 8099 2020 .....cos(X)... \n-0000b7b0: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar \n-0000b7c0: 2073 6361 6c61 7220 2020 2020 2054 7269 scalar Tri\n-0000b7d0: 676f 6e6f 6d65 7472 6963 2063 6f73 696e gonometric cosin\n-0000b7e0: 6520 28e2 8098 58e2 8099 2069 6e20 6465 e (...X... in de\n-0000b7f0: 6772 6565 7329 2e0a e280 9861 7369 6e28 grees).....asin(\n-0000b800: 5829 e280 9920 2020 2020 2073 6361 6c61 X)... scala\n-0000b810: 7220 2020 2020 2073 6361 6c61 7220 2020 r scalar \n-0000b820: 2020 2049 6e76 6572 7365 2073 696e 6520 Inverse sine \n-0000b830: 28e2 8098 58e2 8099 2069 6e20 6465 6772 (...X... in degr\n-0000b840: 6565 7329 2e0a e280 9861 636f 7328 5829 ees).....acos(X)\n-0000b850: e280 9920 2020 2020 2073 6361 6c61 7220 ... scalar \n-0000b860: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar \n-0000b870: 2049 6e76 6572 7365 2063 6f73 696e 6520 Inverse cosine \n-0000b880: 28e2 8098 58e2 8099 2069 6e20 6465 6772 (...X... in degr\n-0000b890: 6565 7329 2e0a e280 9861 7461 6e32 2858 ees).....atan2(X\n-0000b8a0: 2c59 29e2 8099 2020 2073 6361 6c61 7220 ,Y)... scalar \n-0000b8b0: 2020 2020 2073 6361 6c61 7220 2020 2020 scalar \n-0000b8c0: 2050 6f6c 6172 2061 6e67 6c65 2069 6e20 Polar angle in \n-0000b8d0: 6465 6772 6565 7320 6f66 2076 6563 746f degrees of vecto\n-0000b8e0: 7220 5b58 2c59 5d2e 0ae2 8098 696e 7665 r [X,Y].....inve\n-0000b8f0: 7273 6528 5829 e280 9920 2020 7472 616e rse(X)... tran\n-0000b900: 7366 6f72 6d20 2020 7472 616e 7366 6f72 sform transfor\n-0000b910: 6d20 2020 496e 7665 7273 6520 7472 616e m Inverse tran\n-0000b920: 7366 6f72 6d2e 0a0a 4572 726f 7273 2061 sform...Errors a\n-0000b930: 7265 2072 6570 6f72 7465 6420 7768 656e re reported when\n-0000b940: 20e2 8098 7c58 7ce2 8099 2c20 e280 9875 ...|X|..., ...u\n-0000b950: 6e69 74e2 8099 2c20 e280 9861 7369 6ee2 nit..., ...asin.\n-0000b960: 8099 2c20 e280 9861 636f 73e2 8099 2c20 .., ...acos..., \n-0000b970: e280 9873 7172 74e2 8099 2c20 e280 9861 ...sqrt..., ...a\n-0000b980: 7461 6e32 e280 992c 0a61 6e64 20e2 8098 tan2...,.and ...\n-0000b990: 696e 7665 7273 65e2 8099 2066 6169 6c20 inverse... fail \n-0000b9a0: 6475 6520 746f 206f 7065 7261 6e64 7320 due to operands \n-0000b9b0: 6f75 7473 6964 6520 7468 6569 7220 7265 outside their re\n-0000b9c0: 7370 6563 7469 7665 2064 6f6d 6169 6e73 spective domains\n-0000b9d0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n-0000b9e0: 682e 696e 666f 2c20 204e 6f64 653a 204f h.info, Node: O\n-0000b9f0: 7074 696f 6e73 2c20 2050 7265 763a 2041 ptions, Prev: A\n-0000ba00: 7269 7468 6d65 7469 632c 2020 5570 3a20 rithmetic, Up: \n-0000ba10: 4c61 6e67 7561 6765 2062 6173 6963 730a Language basics.\n-0000ba20: 0a33 2e31 2e35 204f 7074 696f 6e73 0a2d .3.1.5 Options.-\n-0000ba30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 ------------..*S\n-0000ba40: 796e 7461 783a 2a0a 2020 2020 205b 4b45 yntax:*. [KE\n-0000ba50: 5931 3d56 414c 312c 4b45 5932 3d56 414c Y1=VAL1,KEY2=VAL\n-0000ba60: 322c 2e2e 2e5d 0a4f 7074 696f 6e73 2061 2,...].Options a\n-0000ba70: 7265 2075 7365 6420 746f 2073 7065 6369 re used to speci\n-0000ba80: 6679 2064 6574 6169 6c73 206f 6620 7468 fy details of th\n-0000ba90: 6520 6170 7065 6172 616e 6365 206f 6620 e appearance of \n-0000baa0: 6472 6177 6162 6c65 732e 2020 4173 0a73 drawables. As.s\n-0000bab0: 686f 776e 2061 626f 7665 2c20 7468 6579 hown above, they\n-0000bac0: 2061 7265 2067 6976 656e 2061 7320 636f are given as co\n-0000bad0: 6d6d 612d 7365 7061 7261 7465 6420 6b65 mma-separated ke\n-0000bae0: 792d 7661 6c75 6520 7061 6972 732e 0a0a y-value pairs...\n-0000baf0: 2a20 4d65 6e75 3a0a 0a2a 2050 5354 7269 * Menu:..* PSTri\n-0000bb00: 636b 7320 6f70 7469 6f6e 733a 3a20 2020 cks options:: \n-0000bb10: 2020 2020 2020 2020 204f 7074 696f 6e73 Options\n-0000bb20: 2069 6e68 6572 6974 6564 2066 726f 6d20 inherited from \n-0000bb30: e280 9850 5354 7269 636b 73e2 8099 2e0a ...PSTricks.....\n-0000bb40: 2a20 5469 6b5a 2f50 4746 206f 7074 696f * TikZ/PGF optio\n-0000bb50: 6e73 3a3a 2020 2020 2020 2020 2020 2020 ns:: \n-0000bb60: 4f70 7469 6f6e 7320 696e 6865 7269 7465 Options inherite\n-0000bb70: 6420 6672 6f6d 20e2 8098 5469 6b5a 2f50 d from ...TikZ/P\n-0000bb80: 4746 e280 992e 0a2a 2044 6f74 7320 696e GF.....* Dots in\n-0000bb90: 2054 696b 5a2f 5047 463a 3a20 2020 2020 TikZ/PGF:: \n-0000bba0: 2020 2020 2020 2053 6b65 7463 6820 7573 Sketch us\n-0000bbb0: 6573 20e2 8098 5469 6b5a 2f50 4746 e280 es ...TikZ/PGF..\n-0000bbc0: 9920 6369 7263 6c65 7320 666f 7220 646f . circles for do\n-0000bbd0: 7473 2e0a 2a20 5469 6b5a 2f50 4746 2075 ts..* TikZ/PGF u\n-0000bbe0: 7365 722d 6465 6669 6e65 6420 7374 796c ser-defined styl\n-0000bbf0: 6573 3a3a 2020 5375 7070 6f72 7420 666f es:: Support fo\n-0000bc00: 7220 e280 9854 696b 5a2f 5047 46e2 8099 r ...TikZ/PGF...\n-0000bc10: 206e 616d 6564 2c20 7573 6572 2d64 6566 named, user-def\n-0000bc20: 696e 6564 2073 7479 6c65 732e 0a2a 2054 ined styles..* T\n-0000bc30: 7261 6e73 7061 7265 6e63 793a 3a20 2020 ransparency:: \n-0000bc40: 2020 2020 2020 2020 2020 2020 2053 6565 See\n-0000bc50: 2d74 6872 6f75 6768 2070 6f6c 7967 6f6e -through polygon\n-0000bc60: 732e 0a2a 2049 6e74 6572 6e61 6c20 6f70 s..* Internal op\n-0000bc70: 7469 6f6e 733a 3a20 2020 2020 2020 2020 tions:: \n-0000bc80: 2020 204f 7074 696f 6e73 2075 7365 6420 Options used \n-0000bc90: 6279 20e2 8098 736b 6574 6368 e280 992e by ...sketch....\n-0000bca0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-0000bcb0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5053 .info, Node: PS\n-0000bcc0: 5472 6963 6b73 206f 7074 696f 6e73 2c20 Tricks options, \n-0000bcd0: 204e 6578 743a 2054 696b 5a2f 5047 4620 Next: TikZ/PGF \n-0000bce0: 6f70 7469 6f6e 732c 2020 5072 6576 3a20 options, Prev: \n-0000bcf0: 4f70 7469 6f6e 732c 2020 5570 3a20 4f70 Options, Up: Op\n-0000bd00: 7469 6f6e 730a 0a33 2e31 2e35 2e31 20e2 tions..3.1.5.1 .\n-0000bd10: 8098 5053 5472 6963 6b73 e280 9920 6f70 ..PSTricks... op\n-0000bd20: 7469 6f6e 730a 2e2e 2e2e 2e2e 2e2e 2e2e tions...........\n+0000b600: 2d2d 2d2d 2d2d 2d2d 2d2d 0ae2 8098 2d58 ----------....-X\n+0000b610: e280 9920 2020 2020 2020 2020 2020 7363 ... sc\n+0000b620: 616c 6172 2020 2020 2020 7363 616c 6172 alar scalar\n+0000b630: 2020 2020 2020 556e 6172 7920 7363 616c Unary scal\n+0000b640: 6172 206e 6567 6174 696f 6e2e 0ae2 8098 ar negation.....\n+0000b650: 2d58 e280 9920 2020 2020 2020 2020 2020 -X... \n+0000b660: 7665 6374 6f72 2020 2020 2020 7665 6374 vector vect\n+0000b670: 6f72 2020 2020 2020 556e 6172 7920 7665 or Unary ve\n+0000b680: 6374 6f72 206e 6567 6174 696f 6e2e 0ae2 ctor negation...\n+0000b690: 8098 7c58 7ce2 8099 2020 2020 2020 2020 ..|X|... \n+0000b6a0: 2020 7665 6374 6f72 2020 2020 2020 7363 vector sc\n+0000b6b0: 616c 6172 2020 2020 2020 5665 6374 6f72 alar Vector\n+0000b6c0: 206c 656e 6774 682e 0ae2 8098 756e 6974 length.....unit\n+0000b6d0: 2858 29e2 8099 2020 2020 2020 7665 6374 (X)... vect\n+0000b6e0: 6f72 2020 2020 2020 7665 6374 6f72 2020 or vector \n+0000b6f0: 2020 2020 556e 6974 2076 6563 746f 7220 Unit vector \n+0000b700: 7769 7468 2073 616d 6520 6469 7265 6374 with same direct\n+0000b710: 696f 6e2e 0ae2 8098 7371 7274 2858 29e2 ion.....sqrt(X).\n+0000b720: 8099 2020 2020 2020 7363 616c 6172 2020 .. scalar \n+0000b730: 2020 2020 7363 616c 6172 2020 2020 2020 scalar \n+0000b740: 5363 616c 6172 2073 7175 6172 6520 726f Scalar square ro\n+0000b750: 6f74 2e0a e280 9873 696e 2858 29e2 8099 ot.....sin(X)...\n+0000b760: 2020 2020 2020 2073 6361 6c61 7220 2020 scalar \n+0000b770: 2020 2073 6361 6c61 7220 2020 2020 2054 scalar T\n+0000b780: 7269 676f 6e6f 6d65 7472 6963 2073 696e rigonometric sin\n+0000b790: 6520 28e2 8098 58e2 8099 2069 6e20 6465 e (...X... in de\n+0000b7a0: 6772 6565 7329 2e0a e280 9863 6f73 2858 grees).....cos(X\n+0000b7b0: 29e2 8099 2020 2020 2020 2073 6361 6c61 )... scala\n+0000b7c0: 7220 2020 2020 2073 6361 6c61 7220 2020 r scalar \n+0000b7d0: 2020 2054 7269 676f 6e6f 6d65 7472 6963 Trigonometric\n+0000b7e0: 2063 6f73 696e 6520 28e2 8098 58e2 8099 cosine (...X...\n+0000b7f0: 2069 6e20 6465 6772 6565 7329 2e0a e280 in degrees)....\n+0000b800: 9861 7369 6e28 5829 e280 9920 2020 2020 .asin(X)... \n+0000b810: 2073 6361 6c61 7220 2020 2020 2073 6361 scalar sca\n+0000b820: 6c61 7220 2020 2020 2049 6e76 6572 7365 lar Inverse\n+0000b830: 2073 696e 6520 28e2 8098 58e2 8099 2069 sine (...X... i\n+0000b840: 6e20 6465 6772 6565 7329 2e0a e280 9861 n degrees).....a\n+0000b850: 636f 7328 5829 e280 9920 2020 2020 2073 cos(X)... s\n+0000b860: 6361 6c61 7220 2020 2020 2073 6361 6c61 calar scala\n+0000b870: 7220 2020 2020 2049 6e76 6572 7365 2063 r Inverse c\n+0000b880: 6f73 696e 6520 28e2 8098 58e2 8099 2069 osine (...X... i\n+0000b890: 6e20 6465 6772 6565 7329 2e0a e280 9861 n degrees).....a\n+0000b8a0: 7461 6e32 2858 2c59 29e2 8099 2020 2073 tan2(X,Y)... s\n+0000b8b0: 6361 6c61 7220 2020 2020 2073 6361 6c61 calar scala\n+0000b8c0: 7220 2020 2020 2050 6f6c 6172 2061 6e67 r Polar ang\n+0000b8d0: 6c65 2069 6e20 6465 6772 6565 7320 6f66 le in degrees of\n+0000b8e0: 2076 6563 746f 7220 5b58 2c59 5d2e 0ae2 vector [X,Y]...\n+0000b8f0: 8098 696e 7665 7273 6528 5829 e280 9920 ..inverse(X)... \n+0000b900: 2020 7472 616e 7366 6f72 6d20 2020 7472 transform tr\n+0000b910: 616e 7366 6f72 6d20 2020 496e 7665 7273 ansform Invers\n+0000b920: 6520 7472 616e 7366 6f72 6d2e 0a0a 4572 e transform...Er\n+0000b930: 726f 7273 2061 7265 2072 6570 6f72 7465 rors are reporte\n+0000b940: 6420 7768 656e 20e2 8098 7c58 7ce2 8099 d when ...|X|...\n+0000b950: 2c20 e280 9875 6e69 74e2 8099 2c20 e280 , ...unit..., ..\n+0000b960: 9861 7369 6ee2 8099 2c20 e280 9861 636f .asin..., ...aco\n+0000b970: 73e2 8099 2c20 e280 9873 7172 74e2 8099 s..., ...sqrt...\n+0000b980: 2c20 e280 9861 7461 6e32 e280 992c 0a61 , ...atan2...,.a\n+0000b990: 6e64 20e2 8098 696e 7665 7273 65e2 8099 nd ...inverse...\n+0000b9a0: 2066 6169 6c20 6475 6520 746f 206f 7065 fail due to ope\n+0000b9b0: 7261 6e64 7320 6f75 7473 6964 6520 7468 rands outside th\n+0000b9c0: 6569 7220 7265 7370 6563 7469 7665 2064 eir respective d\n+0000b9d0: 6f6d 6169 6e73 2e0a 0a1f 0a46 696c 653a omains.....File:\n+0000b9e0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+0000b9f0: 6f64 653a 204f 7074 696f 6e73 2c20 2050 ode: Options, P\n+0000ba00: 7265 763a 2041 7269 7468 6d65 7469 632c rev: Arithmetic,\n+0000ba10: 2020 5570 3a20 4c61 6e67 7561 6765 2062 Up: Language b\n+0000ba20: 6173 6963 730a 0a33 2e31 2e35 204f 7074 asics..3.1.5 Opt\n+0000ba30: 696f 6e73 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d ions.-----------\n+0000ba40: 2d2d 0a0a 2a53 796e 7461 783a 2a0a 2020 --..*Syntax:*. \n+0000ba50: 2020 205b 4b45 5931 3d56 414c 312c 4b45 [KEY1=VAL1,KE\n+0000ba60: 5932 3d56 414c 322c 2e2e 2e5d 0a4f 7074 Y2=VAL2,...].Opt\n+0000ba70: 696f 6e73 2061 7265 2075 7365 6420 746f ions are used to\n+0000ba80: 2073 7065 6369 6679 2064 6574 6169 6c73 specify details\n+0000ba90: 206f 6620 7468 6520 6170 7065 6172 616e of the appearan\n+0000baa0: 6365 206f 6620 6472 6177 6162 6c65 732e ce of drawables.\n+0000bab0: 2020 4173 0a73 686f 776e 2061 626f 7665 As.shown above\n+0000bac0: 2c20 7468 6579 2061 7265 2067 6976 656e , they are given\n+0000bad0: 2061 7320 636f 6d6d 612d 7365 7061 7261 as comma-separa\n+0000bae0: 7465 6420 6b65 792d 7661 6c75 6520 7061 ted key-value pa\n+0000baf0: 6972 732e 0a0a 2a20 4d65 6e75 3a0a 0a2a irs...* Menu:..*\n+0000bb00: 2050 5354 7269 636b 7320 6f70 7469 6f6e PSTricks option\n+0000bb10: 733a 3a20 2020 2020 2020 2020 2020 204f s:: O\n+0000bb20: 7074 696f 6e73 2069 6e68 6572 6974 6564 ptions inherited\n+0000bb30: 2066 726f 6d20 e280 9850 5354 7269 636b from ...PSTrick\n+0000bb40: 73e2 8099 2e0a 2a20 5469 6b5a 2f50 4746 s.....* TikZ/PGF\n+0000bb50: 206f 7074 696f 6e73 3a3a 2020 2020 2020 options:: \n+0000bb60: 2020 2020 2020 4f70 7469 6f6e 7320 696e Options in\n+0000bb70: 6865 7269 7465 6420 6672 6f6d 20e2 8098 herited from ...\n+0000bb80: 5469 6b5a 2f50 4746 e280 992e 0a2a 2044 TikZ/PGF.....* D\n+0000bb90: 6f74 7320 696e 2054 696b 5a2f 5047 463a ots in TikZ/PGF:\n+0000bba0: 3a20 2020 2020 2020 2020 2020 2053 6b65 : Ske\n+0000bbb0: 7463 6820 7573 6573 20e2 8098 5469 6b5a tch uses ...TikZ\n+0000bbc0: 2f50 4746 e280 9920 6369 7263 6c65 7320 /PGF... circles \n+0000bbd0: 666f 7220 646f 7473 2e0a 2a20 5469 6b5a for dots..* TikZ\n+0000bbe0: 2f50 4746 2075 7365 722d 6465 6669 6e65 /PGF user-define\n+0000bbf0: 6420 7374 796c 6573 3a3a 2020 5375 7070 d styles:: Supp\n+0000bc00: 6f72 7420 666f 7220 e280 9854 696b 5a2f ort for ...TikZ/\n+0000bc10: 5047 46e2 8099 206e 616d 6564 2c20 7573 PGF... named, us\n+0000bc20: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style\n+0000bc30: 732e 0a2a 2054 7261 6e73 7061 7265 6e63 s..* Transparenc\n+0000bc40: 793a 3a20 2020 2020 2020 2020 2020 2020 y:: \n+0000bc50: 2020 2053 6565 2d74 6872 6f75 6768 2070 See-through p\n+0000bc60: 6f6c 7967 6f6e 732e 0a2a 2049 6e74 6572 olygons..* Inter\n+0000bc70: 6e61 6c20 6f70 7469 6f6e 733a 3a20 2020 nal options:: \n+0000bc80: 2020 2020 2020 2020 204f 7074 696f 6e73 Options\n+0000bc90: 2075 7365 6420 6279 20e2 8098 736b 6574 used by ...sket\n+0000bca0: 6368 e280 992e 0a0a 1f0a 4669 6c65 3a20 ch........File: \n+0000bcb0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n+0000bcc0: 6465 3a20 5053 5472 6963 6b73 206f 7074 de: PSTricks opt\n+0000bcd0: 696f 6e73 2c20 204e 6578 743a 2054 696b ions, Next: Tik\n+0000bce0: 5a2f 5047 4620 6f70 7469 6f6e 732c 2020 Z/PGF options, \n+0000bcf0: 5072 6576 3a20 4f70 7469 6f6e 732c 2020 Prev: Options, \n+0000bd00: 5570 3a20 4f70 7469 6f6e 730a 0a33 2e31 Up: Options..3.1\n+0000bd10: 2e35 2e31 20e2 8098 5053 5472 6963 6b73 .5.1 ...PSTricks\n+0000bd20: e280 9920 6f70 7469 6f6e 730a 2e2e 2e2e ... options.....\n 0000bd30: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000bd40: 0a0a 5768 656e 20e2 8098 6c61 6e67 7561 ..When ...langua\n-0000bd50: 6765 2070 7374 7269 636b 73e2 8099 2069 ge pstricks... i\n-0000bd60: 7320 7365 6c65 6374 6564 2028 7468 6520 s selected (the \n-0000bd70: 6465 6661 756c 7429 2c20 7065 726d 6973 default), permis\n-0000bd80: 7369 626c 650a 6b65 792d 7661 6c75 6520 sible.key-value \n-0000bd90: 7061 6972 7320 696e 636c 7564 6520 616c pairs include al\n-0000bda0: 6c20 7468 6f73 6520 666f 7220 7369 6d69 l those for simi\n-0000bdb0: 6c61 7220 e280 9850 5354 7269 636b 73e2 lar ...PSTricks.\n-0000bdc0: 8099 206f 626a 6563 7473 2e20 2046 6f72 .. objects. For\n-0000bdd0: 0a65 7861 6d70 6c65 2c20 6120 706f 6c79 .example, a poly\n-0000bde0: 676f 6e20 6d69 6768 7420 6861 7665 2074 gon might have t\n-0000bdf0: 6865 206f 7074 696f 6e73 0a20 205b 6c69 he options. [li\n-0000be00: 6e65 7769 6474 683d 3170 742c 6c69 6e65 newidth=1pt,line\n-0000be10: 636f 6c6f 723d 626c 7565 2c66 696c 6c63 color=blue,fillc\n-0000be20: 6f6c 6f72 3d63 7961 6e5d 0ae2 8098 536b olor=cyan]....Sk\n-0000be30: 6574 6368 e280 9920 6d65 7265 6c79 2070 etch... merely p\n-0000be40: 6173 7365 7320 7468 6573 6520 6f6e 2074 asses these on t\n-0000be50: 6f20 e280 9850 5354 7269 636b 73e2 8099 o ...PSTricks...\n-0000be60: 2077 6974 686f 7574 2063 6865 636b 696e without checkin\n-0000be70: 6720 6f72 0a6d 6f64 6966 6963 6174 696f g or.modificatio\n-0000be80: 6e2e 2020 4f70 7469 6f6e 206c 6973 7473 n. Option lists\n-0000be90: 2061 7265 2061 6c77 6179 7320 6f70 7469 are always opti\n-0000bea0: 6f6e 616c 2e20 2041 206d 6973 7369 6e67 onal. A missing\n-0000beb0: 206f 7074 696f 6e73 206c 6973 740a 6973 options list.is\n-0000bec0: 2065 7175 6976 616c 656e 7420 746f 2061 equivalent to a\n-0000bed0: 6e20 656d 7074 7920 6f6e 6520 e280 985b n empty one ...[\n-0000bee0: 5de2 8099 2e0a 0a20 2020 5768 656e 2061 ]...... When a\n-0000bef0: 20e2 8098 706f 6c79 676f 6ee2 8099 2068 ...polygon... h\n-0000bf00: 6173 206f 7074 696f 6e73 2066 6f72 2062 as options for b\n-0000bf10: 6f74 6820 6974 7320 6661 6365 2061 6e64 oth its face and\n-0000bf20: 2069 7473 2065 6467 6573 2c20 616e 6420 its edges, and \n-0000bf30: 7468 650a 706f 6c79 676f 6e20 6973 2073 the.polygon is s\n-0000bf40: 706c 6974 2062 7920 7468 6520 6869 6464 plit by the hidd\n-0000bf50: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor\n-0000bf60: 6974 686d 2c20 e280 9873 6b65 7463 68e2 ithm, ...sketch.\n-0000bf70: 8099 206d 7573 7420 636f 7079 2074 6865 .. must copy the\n-0000bf80: 0a65 6467 6520 6f70 7469 6f6e 7320 746f .edge options to\n-0000bf90: 20e2 8098 7073 6c69 6e65 e280 9973 2066 ...psline...s f\n-0000bfa0: 6f72 2074 6865 2065 6467 6520 7365 676d or the edge segm\n-0000bfb0: 656e 7473 2061 6e64 2074 6865 2066 6163 ents and the fac\n-0000bfc0: 6520 6f70 7469 6f6e 7320 746f 0ae2 8098 e options to....\n-0000bfd0: 7073 706f 6c79 676f 6ee2 8099 732e 2020 pspolygon...s. \n-0000bfe0: 4f70 7469 6f6e 7320 6b6e 6f77 6e20 746f Options known to\n-0000bff0: 20e2 8098 736b 6574 6368 e280 9920 666f ...sketch... fo\n-0000c000: 7220 7075 7270 6f73 6573 206f 6620 7468 r purposes of th\n-0000c010: 6973 2073 706c 6974 7469 6e67 0a6f 7065 is splitting.ope\n-0000c020: 7261 7469 6f6e 2069 6e63 6c75 6465 20e2 ration include .\n-0000c030: 8098 6172 726f 7773 e280 992c 20e2 8098 ..arrows..., ...\n-0000c040: 6461 7368 e280 992c 20e2 8098 646f 7473 dash..., ...dots\n-0000c050: 6570 e280 992c 20e2 8098 6669 6c6c 636f ep..., ...fillco\n-0000c060: 6c6f 72e2 8099 2c20 e280 9866 696c 6c73 lor..., ...fills\n-0000c070: 7479 6c65 e280 992c 0ae2 8098 6c69 6e65 tyle...,....line\n-0000c080: 636f 6c6f 72e2 8099 2c20 e280 986c 696e color..., ...lin\n-0000c090: 6573 7479 6c65 e280 992c 20e2 8098 6c69 estyle..., ...li\n-0000c0a0: 6e65 7769 6474 68e2 8099 2c20 e280 986f newidth..., ...o\n-0000c0b0: 7061 6369 7479 e280 992c 20e2 8098 7368 pacity..., ...sh\n-0000c0c0: 6f77 706f 696e 7473 e280 992c 0ae2 8098 owpoints...,....\n-0000c0d0: 7374 726f 6b65 6f70 6163 6974 79e2 8099 strokeopacity...\n-0000c0e0: 2c20 616e 6420 e280 9874 7261 6e73 7061 , and ...transpa\n-0000c0f0: 6c70 6861 e280 992e 0a0a 1f0a 4669 6c65 lpha........File\n-0000c100: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n-0000c110: 4e6f 6465 3a20 5469 6b5a 2f50 4746 206f Node: TikZ/PGF o\n-0000c120: 7074 696f 6e73 2c20 204e 6578 743a 2044 ptions, Next: D\n-0000c130: 6f74 7320 696e 2054 696b 5a2f 5047 462c ots in TikZ/PGF,\n-0000c140: 2020 5072 6576 3a20 5053 5472 6963 6b73 Prev: PSTricks\n-0000c150: 206f 7074 696f 6e73 2c20 2055 703a 204f options, Up: O\n-0000c160: 7074 696f 6e73 0a0a 332e 312e 352e 3220 ptions..3.1.5.2 \n-0000c170: e280 9854 696b 5a2f 5047 46e2 8099 206f ...TikZ/PGF... o\n-0000c180: 7074 696f 6e73 0a2e 2e2e 2e2e 2e2e 2e2e ptions..........\n+0000bd40: 2e2e 2e2e 2e2e 0a0a 5768 656e 20e2 8098 ........When ...\n+0000bd50: 6c61 6e67 7561 6765 2070 7374 7269 636b language pstrick\n+0000bd60: 73e2 8099 2069 7320 7365 6c65 6374 6564 s... is selected\n+0000bd70: 2028 7468 6520 6465 6661 756c 7429 2c20 (the default), \n+0000bd80: 7065 726d 6973 7369 626c 650a 6b65 792d permissible.key-\n+0000bd90: 7661 6c75 6520 7061 6972 7320 696e 636c value pairs incl\n+0000bda0: 7564 6520 616c 6c20 7468 6f73 6520 666f ude all those fo\n+0000bdb0: 7220 7369 6d69 6c61 7220 e280 9850 5354 r similar ...PST\n+0000bdc0: 7269 636b 73e2 8099 206f 626a 6563 7473 ricks... objects\n+0000bdd0: 2e20 2046 6f72 0a65 7861 6d70 6c65 2c20 . For.example, \n+0000bde0: 6120 706f 6c79 676f 6e20 6d69 6768 7420 a polygon might \n+0000bdf0: 6861 7665 2074 6865 206f 7074 696f 6e73 have the options\n+0000be00: 0a20 205b 6c69 6e65 7769 6474 683d 3170 . [linewidth=1p\n+0000be10: 742c 6c69 6e65 636f 6c6f 723d 626c 7565 t,linecolor=blue\n+0000be20: 2c66 696c 6c63 6f6c 6f72 3d63 7961 6e5d ,fillcolor=cyan]\n+0000be30: 0ae2 8098 536b 6574 6368 e280 9920 6d65 ....Sketch... me\n+0000be40: 7265 6c79 2070 6173 7365 7320 7468 6573 rely passes thes\n+0000be50: 6520 6f6e 2074 6f20 e280 9850 5354 7269 e on to ...PSTri\n+0000be60: 636b 73e2 8099 2077 6974 686f 7574 2063 cks... without c\n+0000be70: 6865 636b 696e 6720 6f72 0a6d 6f64 6966 hecking or.modif\n+0000be80: 6963 6174 696f 6e2e 2020 4f70 7469 6f6e ication. Option\n+0000be90: 206c 6973 7473 2061 7265 2061 6c77 6179 lists are alway\n+0000bea0: 7320 6f70 7469 6f6e 616c 2e20 2041 206d s optional. A m\n+0000beb0: 6973 7369 6e67 206f 7074 696f 6e73 206c issing options l\n+0000bec0: 6973 740a 6973 2065 7175 6976 616c 656e ist.is equivalen\n+0000bed0: 7420 746f 2061 6e20 656d 7074 7920 6f6e t to an empty on\n+0000bee0: 6520 e280 985b 5de2 8099 2e0a 0a20 2020 e ...[]...... \n+0000bef0: 5768 656e 2061 20e2 8098 706f 6c79 676f When a ...polygo\n+0000bf00: 6ee2 8099 2068 6173 206f 7074 696f 6e73 n... has options\n+0000bf10: 2066 6f72 2062 6f74 6820 6974 7320 6661 for both its fa\n+0000bf20: 6365 2061 6e64 2069 7473 2065 6467 6573 ce and its edges\n+0000bf30: 2c20 616e 6420 7468 650a 706f 6c79 676f , and the.polygo\n+0000bf40: 6e20 6973 2073 706c 6974 2062 7920 7468 n is split by th\n+0000bf50: 6520 6869 6464 656e 2073 7572 6661 6365 e hidden surface\n+0000bf60: 2061 6c67 6f72 6974 686d 2c20 e280 9873 algorithm, ...s\n+0000bf70: 6b65 7463 68e2 8099 206d 7573 7420 636f ketch... must co\n+0000bf80: 7079 2074 6865 0a65 6467 6520 6f70 7469 py the.edge opti\n+0000bf90: 6f6e 7320 746f 20e2 8098 7073 6c69 6e65 ons to ...psline\n+0000bfa0: e280 9973 2066 6f72 2074 6865 2065 6467 ...s for the edg\n+0000bfb0: 6520 7365 676d 656e 7473 2061 6e64 2074 e segments and t\n+0000bfc0: 6865 2066 6163 6520 6f70 7469 6f6e 7320 he face options \n+0000bfd0: 746f 0ae2 8098 7073 706f 6c79 676f 6ee2 to....pspolygon.\n+0000bfe0: 8099 732e 2020 4f70 7469 6f6e 7320 6b6e ..s. Options kn\n+0000bff0: 6f77 6e20 746f 20e2 8098 736b 6574 6368 own to ...sketch\n+0000c000: e280 9920 666f 7220 7075 7270 6f73 6573 ... for purposes\n+0000c010: 206f 6620 7468 6973 2073 706c 6974 7469 of this splitti\n+0000c020: 6e67 0a6f 7065 7261 7469 6f6e 2069 6e63 ng.operation inc\n+0000c030: 6c75 6465 20e2 8098 6172 726f 7773 e280 lude ...arrows..\n+0000c040: 992c 20e2 8098 6461 7368 e280 992c 20e2 ., ...dash..., .\n+0000c050: 8098 646f 7473 6570 e280 992c 20e2 8098 ..dotsep..., ...\n+0000c060: 6669 6c6c 636f 6c6f 72e2 8099 2c20 e280 fillcolor..., ..\n+0000c070: 9866 696c 6c73 7479 6c65 e280 992c 0ae2 .fillstyle...,..\n+0000c080: 8098 6c69 6e65 636f 6c6f 72e2 8099 2c20 ..linecolor..., \n+0000c090: e280 986c 696e 6573 7479 6c65 e280 992c ...linestyle...,\n+0000c0a0: 20e2 8098 6c69 6e65 7769 6474 68e2 8099 ...linewidth...\n+0000c0b0: 2c20 e280 986f 7061 6369 7479 e280 992c , ...opacity...,\n+0000c0c0: 20e2 8098 7368 6f77 706f 696e 7473 e280 ...showpoints..\n+0000c0d0: 992c 0ae2 8098 7374 726f 6b65 6f70 6163 .,....strokeopac\n+0000c0e0: 6974 79e2 8099 2c20 616e 6420 e280 9874 ity..., and ...t\n+0000c0f0: 7261 6e73 7061 6c70 6861 e280 992e 0a0a ranspalpha......\n+0000c100: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+0000c110: 6e66 6f2c 2020 4e6f 6465 3a20 5469 6b5a nfo, Node: TikZ\n+0000c120: 2f50 4746 206f 7074 696f 6e73 2c20 204e /PGF options, N\n+0000c130: 6578 743a 2044 6f74 7320 696e 2054 696b ext: Dots in Tik\n+0000c140: 5a2f 5047 462c 2020 5072 6576 3a20 5053 Z/PGF, Prev: PS\n+0000c150: 5472 6963 6b73 206f 7074 696f 6e73 2c20 Tricks options, \n+0000c160: 2055 703a 204f 7074 696f 6e73 0a0a 332e Up: Options..3.\n+0000c170: 312e 352e 3220 e280 9854 696b 5a2f 5047 1.5.2 ...TikZ/PG\n+0000c180: 46e2 8099 206f 7074 696f 6e73 0a2e 2e2e F... options....\n 0000c190: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000c1a0: 2e0a 0ae2 8098 5469 6b5a 2f50 4746 e280 ......TikZ/PGF..\n-0000c1b0: 9920 6f70 7469 6f6e 7320 6172 6520 6861 . options are ha\n-0000c1c0: 6e64 6c65 6420 6d75 6368 2061 7320 666f ndled much as fo\n-0000c1d0: 7220 e280 9850 5354 7269 636b 73e2 8099 r ...PSTricks...\n-0000c1e0: 2e20 2054 686f 7567 680a e280 9854 696b . Though....Tik\n-0000c1f0: 5a2f 5047 46e2 8099 206f 6674 656e 2061 Z/PGF... often a\n-0000c200: 6c6c 6f77 7320 636f 6c6f 7273 2061 6e64 llows colors and\n-0000c210: 2073 7479 6c65 7320 746f 2062 6520 6769 styles to be gi\n-0000c220: 7665 6e20 7769 7468 6f75 740a 636f 7272 ven without.corr\n-0000c230: 6573 706f 6e64 696e 6720 6b65 7973 2c20 esponding keys, \n-0000c240: 666f 7220 6578 616d 706c 652c 0a20 205c for example,. \\\n-0000c250: 6472 6177 5b72 6564 2c75 6c74 7261 2074 draw[red,ultra t\n-0000c260: 6869 636b 5d28 302c 3029 2d2d 2831 2c31 hick](0,0)--(1,1\n-0000c270: 293b 0a74 6869 7320 6973 206e 6f74 2070 );.this is not p\n-0000c280: 6572 6d69 7474 6564 2069 6e20 e280 9873 ermitted in ...s\n-0000c290: 6b65 7463 68e2 8099 2e20 2054 6f20 6472 ketch.... To dr\n-0000c2a0: 6177 2061 2072 6564 2c20 756c 7472 612d aw a red, ultra-\n-0000c2b0: 7468 6963 6b20 6c69 6e65 2069 6e0a e280 thick line in...\n-0000c2c0: 9873 6b65 7463 68e2 8099 2c20 7468 6520 .sketch..., the \n-0000c2d0: 666f 726d 2069 730a 2020 6c69 6e65 5b64 form is. line[d\n-0000c2e0: 7261 773d 7265 642c 7374 796c 653d 756c raw=red,style=ul\n-0000c2f0: 7472 6120 7468 6963 6b5d 2830 2c30 2928 tra thick](0,0)(\n-0000c300: 312c 3129 0a0a 2020 204a 7573 7420 6173 1,1).. Just as\n-0000c310: 2066 6f72 20e2 8098 5053 5472 6963 6b73 for ...PSTricks\n-0000c320: e280 992c 2077 6865 6e20 6120 e280 9870 ..., when a ...p\n-0000c330: 6f6c 7967 6f6e e280 9920 6861 7320 6f70 olygon... has op\n-0000c340: 7469 6f6e 7320 666f 7220 626f 7468 2069 tions for both i\n-0000c350: 7473 0a66 6163 6520 616e 6420 6974 7320 ts.face and its \n-0000c360: 6564 6765 732c 2061 6e64 2074 6865 2070 edges, and the p\n-0000c370: 6f6c 7967 6f6e 2069 7320 7370 6c69 7420 olygon is split \n-0000c380: 6279 2074 6865 2068 6964 6465 6e20 7375 by the hidden su\n-0000c390: 7266 6163 650a 616c 676f 7269 7468 6d2c rface.algorithm,\n-0000c3a0: 20e2 8098 736b 6574 6368 e280 9920 6d75 ...sketch... mu\n-0000c3b0: 7374 2063 6f70 7920 7468 6520 6564 6765 st copy the edge\n-0000c3c0: 206f 7074 696f 6e73 2074 6f20 e280 9870 options to ...p\n-0000c3d0: 736c 696e 65e2 8099 7320 666f 7220 7468 sline...s for th\n-0000c3e0: 6520 6564 6765 0a73 6567 6d65 6e74 7320 e edge.segments \n-0000c3f0: 616e 6420 7468 6520 6661 6365 206f 7074 and the face opt\n-0000c400: 696f 6e73 2074 6f20 e280 9870 7370 6f6c ions to ...pspol\n-0000c410: 7967 6f6e e280 9973 2e20 20e2 8098 5469 ygon...s. ...Ti\n-0000c420: 6b5a 2f50 4746 e280 9920 6f70 7469 6f6e kZ/PGF... option\n-0000c430: 7320 6b6e 6f77 6e0a 746f 20e2 8098 736b s known.to ...sk\n-0000c440: 6574 6368 e280 9920 666f 7220 7075 7270 etch... for purp\n-0000c450: 6f73 6573 206f 6620 7468 6973 2073 706c oses of this spl\n-0000c460: 6974 7469 6e67 206f 7065 7261 7469 6f6e itting operation\n-0000c470: 2069 6e63 6c75 6465 20e2 8098 6172 726f include ...arro\n-0000c480: 7773 e280 992c 0ae2 8098 6361 70e2 8099 ws...,....cap...\n-0000c490: 2c20 e280 9863 6f6c 6f72 e280 992c 20e2 , ...color..., .\n-0000c4a0: 8098 6461 7368 2070 6174 7465 726e e280 ..dash pattern..\n-0000c4b0: 992c 20e2 8098 6461 7368 2070 6861 7365 ., ...dash phase\n-0000c4c0: e280 992c 20e2 8098 646f 7562 6c65 e280 ..., ...double..\n-0000c4d0: 992c 20e2 8098 646f 7562 6c65 0a64 6973 ., ...double.dis\n-0000c4e0: 7461 6e63 65e2 8099 2c20 e280 9864 7261 tance..., ...dra\n-0000c4f0: 77e2 8099 2c20 e280 9864 7261 7720 6f70 w..., ...draw op\n-0000c500: 6163 6974 79e2 8099 2c20 e280 9866 696c acity..., ...fil\n-0000c510: 6ce2 8099 2c20 e280 9866 696c 6c20 6f70 l..., ...fill op\n-0000c520: 6163 6974 79e2 8099 2c20 e280 986a 6f69 acity..., ...joi\n-0000c530: 6ee2 8099 2c20 e280 986c 696e 650a 7769 n..., ...line.wi\n-0000c540: 6474 68e2 8099 2c20 e280 986d 6974 6572 dth..., ...miter\n-0000c550: 206c 696d 6974 e280 992c 20e2 8098 7061 limit..., ...pa\n-0000c560: 7474 6572 6ee2 8099 2c20 e280 9870 6174 ttern..., ...pat\n-0000c570: 7465 726e 2063 6f6c 6f72 e280 992c 2061 tern color..., a\n-0000c580: 6e64 20e2 8098 7374 796c 65e2 8099 2e0a nd ...style.....\n-0000c590: 0a20 2020 5468 6520 e280 9873 7479 6c65 . The ...style\n-0000c5a0: e280 9920 6f70 7469 6f6e 2063 616e 2063 ... option can c\n-0000c5b0: 6f6e 7461 696e 2062 6f74 6820 6661 6365 ontain both face\n-0000c5c0: 2061 6e64 2065 6467 6520 696e 666f 726d and edge inform\n-0000c5d0: 6174 696f 6e2c 2073 6f0a e280 9873 6b65 ation, so....ske\n-0000c5e0: 7463 68e2 8099 206d 7573 7420 6368 6563 tch... must chec\n-0000c5f0: 6b20 7468 6520 7374 796c 6520 7661 6c75 k the style valu\n-0000c600: 652e 2020 5661 6c75 6573 206b 6e6f 776e e. Values known\n-0000c610: 2074 6f20 e280 9873 6b65 7463 68e2 8099 to ...sketch...\n-0000c620: 2069 6e63 6c75 6465 0ae2 8098 6461 7368 include....dash\n-0000c630: 6564 e280 992c 20e2 8098 6465 6e73 656c ed..., ...densel\n-0000c640: 7920 6461 7368 6564 e280 992c 20e2 8098 y dashed..., ...\n-0000c650: 6465 6e73 656c 7920 646f 7474 6564 e280 densely dotted..\n-0000c660: 992c 20e2 8098 646f 7474 6564 e280 992c ., ...dotted...,\n-0000c670: 20e2 8098 646f 7562 6c65 e280 992c 0ae2 ...double...,..\n-0000c680: 8098 6c6f 6f73 656c 7920 6461 7368 6564 ..loosely dashed\n-0000c690: e280 992c 20e2 8098 6c6f 6f73 656c 7920 ..., ...loosely \n-0000c6a0: 646f 7474 6564 e280 992c 20e2 8098 6e65 dotted..., ...ne\n-0000c6b0: 6172 6c79 206f 7061 7175 65e2 8099 2c20 arly opaque..., \n-0000c6c0: e280 986e 6561 726c 790a 7472 616e 7370 ...nearly.transp\n-0000c6d0: 6172 656e 74e2 8099 2c20 e280 9873 656d arent..., ...sem\n-0000c6e0: 6974 6869 636b e280 992c 20e2 8098 7365 ithick..., ...se\n-0000c6f0: 6d69 7472 616e 7370 6172 656e 74e2 8099 mitransparent...\n-0000c700: 2c20 e280 9873 6f6c 6964 e280 992c 20e2 , ...solid..., .\n-0000c710: 8098 7468 6963 6be2 8099 2c20 e280 9874 ..thick..., ...t\n-0000c720: 6869 6ee2 8099 2c0a e280 9874 7261 6e73 hin...,....trans\n-0000c730: 7061 7265 6e74 e280 992c 20e2 8098 756c parent..., ...ul\n-0000c740: 7472 6120 6e65 6172 6c79 2074 7261 6e73 tra nearly trans\n-0000c750: 7061 7265 6e74 e280 992c 20e2 8098 756c parent..., ...ul\n-0000c760: 7472 6120 7468 6963 6be2 8099 2c20 e280 tra thick..., ..\n-0000c770: 9875 6c74 7261 2074 6869 6ee2 8099 2c0a .ultra thin...,.\n-0000c780: e280 9876 6572 7920 6e65 6172 6c79 2074 ...very nearly t\n-0000c790: 7261 6e73 7061 7265 6e74 e280 992c 20e2 ransparent..., .\n-0000c7a0: 8098 7665 7279 2074 6869 636b e280 992c ..very thick...,\n-0000c7b0: 2061 6e64 20e2 8098 7665 7279 2074 6869 and ...very thi\n-0000c7c0: 6ee2 8099 2e0a 0a1f 0a46 696c 653a 2073 n........File: s\n-0000c7d0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-0000c7e0: 653a 2044 6f74 7320 696e 2054 696b 5a2f e: Dots in TikZ/\n-0000c7f0: 5047 462c 2020 4e65 7874 3a20 5469 6b5a PGF, Next: TikZ\n-0000c800: 2f50 4746 2075 7365 722d 6465 6669 6e65 /PGF user-define\n-0000c810: 6420 7374 796c 6573 2c20 2050 7265 763a d styles, Prev:\n-0000c820: 2054 696b 5a2f 5047 4620 6f70 7469 6f6e TikZ/PGF option\n-0000c830: 732c 2020 5570 3a20 4f70 7469 6f6e 730a s, Up: Options.\n-0000c840: 0a33 2e31 2e35 2e33 2044 6f74 7320 696e .3.1.5.3 Dots in\n-0000c850: 20e2 8098 5469 6b5a 2f50 4746 e280 990a ...TikZ/PGF....\n-0000c860: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000c870: 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a e280 9854 ...............T\n-0000c880: 696b 5a2f 5047 46e2 8099 2064 6f65 7320 ikZ/PGF... does \n-0000c890: 6e6f 7420 6861 7665 2061 20e2 8098 646f not have a ...do\n-0000c8a0: 7473 e280 9920 636f 6d6d 616e 6420 6173 ts... command as\n-0000c8b0: 2064 6f65 7320 5053 5472 6963 6b73 2e20 does PSTricks. \n-0000c8c0: 2049 6e73 7465 6164 2c0a e280 9853 6b65 Instead,....Ske\n-0000c8d0: 7463 68e2 8099 2065 6d69 7473 2064 6f74 tch... emits dot\n-0000c8e0: 7320 6173 20e2 8098 6669 6c6c 6472 6177 s as ...filldraw\n-0000c8f0: e280 9920 6369 7263 6c65 732e 2020 5468 ... circles. Th\n-0000c900: 6520 6469 616d 6574 6572 206d 6179 2062 e diameter may b\n-0000c910: 6520 7365 740a 7573 696e 6720 7468 6520 e set.using the \n-0000c920: 6f70 7469 6f6e 20e2 8098 646f 7473 697a option ...dotsiz\n-0000c930: 65e2 8099 2062 6f72 726f 7765 6420 6672 e... borrowed fr\n-0000c940: 6f6d 2050 5354 7269 636b 732e 2020 5468 om PSTricks. Th\n-0000c950: 6520 e280 9864 6f74 7369 7a65 e280 9920 e ...dotsize... \n-0000c960: 6f70 7469 6f6e 0a77 696c 6c20 6265 2072 option.will be r\n-0000c970: 656d 6f76 6564 2066 726f 6d20 7468 6520 emoved from the \n-0000c980: 6f70 7469 6f6e 206c 6973 7420 696e 2074 option list in t\n-0000c990: 6865 206f 7574 7075 7420 e280 9866 696c he output ...fil\n-0000c9a0: 6c64 7261 77e2 8099 2063 6f6d 6d61 6e64 ldraw... command\n-0000c9b0: 2e0a 4f74 6865 7220 6f70 7469 6f6e 7320 ..Other options \n-0000c9c0: 776f 726b 2069 6e20 7468 6520 6578 7065 work in the expe\n-0000c9d0: 6374 6564 2077 6179 2e20 2046 6f72 2065 cted way. For e\n-0000c9e0: 7861 6d70 6c65 2c20 e280 9866 696c 6ce2 xample, ...fill.\n-0000c9f0: 8099 2073 6574 7320 6669 6c6c 0a63 6f6c .. sets fill.col\n-0000ca00: 6f72 2061 6e64 20e2 8098 636f 6c6f 72e2 or and ...color.\n-0000ca10: 8099 2073 6574 7320 6c69 6e65 2063 6f6c .. sets line col\n-0000ca20: 6f72 206f 6620 7468 6520 6369 7263 6c65 or of the circle\n-0000ca30: 732e 0a0a 1f0a 4669 6c65 3a20 736b 6574 s.....File: sket\n-0000ca40: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-0000ca50: 5469 6b5a 2f50 4746 2075 7365 722d 6465 TikZ/PGF user-de\n-0000ca60: 6669 6e65 6420 7374 796c 6573 2c20 204e fined styles, N\n-0000ca70: 6578 743a 2054 7261 6e73 7061 7265 6e63 ext: Transparenc\n-0000ca80: 792c 2020 5072 6576 3a20 446f 7473 2069 y, Prev: Dots i\n-0000ca90: 6e20 5469 6b5a 2f50 4746 2c20 2055 703a n TikZ/PGF, Up:\n-0000caa0: 204f 7074 696f 6e73 0a0a 332e 312e 352e Options..3.1.5.\n-0000cab0: 3420 e280 9854 696b 5a2f 5047 46e2 8099 4 ...TikZ/PGF...\n-0000cac0: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st\n-0000cad0: 796c 6573 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e yles............\n+0000c1a0: 2e2e 2e2e 2e2e 2e0a 0ae2 8098 5469 6b5a ............TikZ\n+0000c1b0: 2f50 4746 e280 9920 6f70 7469 6f6e 7320 /PGF... options \n+0000c1c0: 6172 6520 6861 6e64 6c65 6420 6d75 6368 are handled much\n+0000c1d0: 2061 7320 666f 7220 e280 9850 5354 7269 as for ...PSTri\n+0000c1e0: 636b 73e2 8099 2e20 2054 686f 7567 680a cks.... Though.\n+0000c1f0: e280 9854 696b 5a2f 5047 46e2 8099 206f ...TikZ/PGF... o\n+0000c200: 6674 656e 2061 6c6c 6f77 7320 636f 6c6f ften allows colo\n+0000c210: 7273 2061 6e64 2073 7479 6c65 7320 746f rs and styles to\n+0000c220: 2062 6520 6769 7665 6e20 7769 7468 6f75 be given withou\n+0000c230: 740a 636f 7272 6573 706f 6e64 696e 6720 t.corresponding \n+0000c240: 6b65 7973 2c20 666f 7220 6578 616d 706c keys, for exampl\n+0000c250: 652c 0a20 205c 6472 6177 5b72 6564 2c75 e,. \\draw[red,u\n+0000c260: 6c74 7261 2074 6869 636b 5d28 302c 3029 ltra thick](0,0)\n+0000c270: 2d2d 2831 2c31 293b 0a74 6869 7320 6973 --(1,1);.this is\n+0000c280: 206e 6f74 2070 6572 6d69 7474 6564 2069 not permitted i\n+0000c290: 6e20 e280 9873 6b65 7463 68e2 8099 2e20 n ...sketch.... \n+0000c2a0: 2054 6f20 6472 6177 2061 2072 6564 2c20 To draw a red, \n+0000c2b0: 756c 7472 612d 7468 6963 6b20 6c69 6e65 ultra-thick line\n+0000c2c0: 2069 6e0a e280 9873 6b65 7463 68e2 8099 in....sketch...\n+0000c2d0: 2c20 7468 6520 666f 726d 2069 730a 2020 , the form is. \n+0000c2e0: 6c69 6e65 5b64 7261 773d 7265 642c 7374 line[draw=red,st\n+0000c2f0: 796c 653d 756c 7472 6120 7468 6963 6b5d yle=ultra thick]\n+0000c300: 2830 2c30 2928 312c 3129 0a0a 2020 204a (0,0)(1,1).. J\n+0000c310: 7573 7420 6173 2066 6f72 20e2 8098 5053 ust as for ...PS\n+0000c320: 5472 6963 6b73 e280 992c 2077 6865 6e20 Tricks..., when \n+0000c330: 6120 e280 9870 6f6c 7967 6f6e e280 9920 a ...polygon... \n+0000c340: 6861 7320 6f70 7469 6f6e 7320 666f 7220 has options for \n+0000c350: 626f 7468 2069 7473 0a66 6163 6520 616e both its.face an\n+0000c360: 6420 6974 7320 6564 6765 732c 2061 6e64 d its edges, and\n+0000c370: 2074 6865 2070 6f6c 7967 6f6e 2069 7320 the polygon is \n+0000c380: 7370 6c69 7420 6279 2074 6865 2068 6964 split by the hid\n+0000c390: 6465 6e20 7375 7266 6163 650a 616c 676f den surface.algo\n+0000c3a0: 7269 7468 6d2c 20e2 8098 736b 6574 6368 rithm, ...sketch\n+0000c3b0: e280 9920 6d75 7374 2063 6f70 7920 7468 ... must copy th\n+0000c3c0: 6520 6564 6765 206f 7074 696f 6e73 2074 e edge options t\n+0000c3d0: 6f20 e280 9870 736c 696e 65e2 8099 7320 o ...psline...s \n+0000c3e0: 666f 7220 7468 6520 6564 6765 0a73 6567 for the edge.seg\n+0000c3f0: 6d65 6e74 7320 616e 6420 7468 6520 6661 ments and the fa\n+0000c400: 6365 206f 7074 696f 6e73 2074 6f20 e280 ce options to ..\n+0000c410: 9870 7370 6f6c 7967 6f6e e280 9973 2e20 .pspolygon...s. \n+0000c420: 20e2 8098 5469 6b5a 2f50 4746 e280 9920 ...TikZ/PGF... \n+0000c430: 6f70 7469 6f6e 7320 6b6e 6f77 6e0a 746f options known.to\n+0000c440: 20e2 8098 736b 6574 6368 e280 9920 666f ...sketch... fo\n+0000c450: 7220 7075 7270 6f73 6573 206f 6620 7468 r purposes of th\n+0000c460: 6973 2073 706c 6974 7469 6e67 206f 7065 is splitting ope\n+0000c470: 7261 7469 6f6e 2069 6e63 6c75 6465 20e2 ration include .\n+0000c480: 8098 6172 726f 7773 e280 992c 0ae2 8098 ..arrows...,....\n+0000c490: 6361 70e2 8099 2c20 e280 9863 6f6c 6f72 cap..., ...color\n+0000c4a0: e280 992c 20e2 8098 6461 7368 2070 6174 ..., ...dash pat\n+0000c4b0: 7465 726e e280 992c 20e2 8098 6461 7368 tern..., ...dash\n+0000c4c0: 2070 6861 7365 e280 992c 20e2 8098 646f phase..., ...do\n+0000c4d0: 7562 6c65 e280 992c 20e2 8098 646f 7562 uble..., ...doub\n+0000c4e0: 6c65 0a64 6973 7461 6e63 65e2 8099 2c20 le.distance..., \n+0000c4f0: e280 9864 7261 77e2 8099 2c20 e280 9864 ...draw..., ...d\n+0000c500: 7261 7720 6f70 6163 6974 79e2 8099 2c20 raw opacity..., \n+0000c510: e280 9866 696c 6ce2 8099 2c20 e280 9866 ...fill..., ...f\n+0000c520: 696c 6c20 6f70 6163 6974 79e2 8099 2c20 ill opacity..., \n+0000c530: e280 986a 6f69 6ee2 8099 2c20 e280 986c ...join..., ...l\n+0000c540: 696e 650a 7769 6474 68e2 8099 2c20 e280 ine.width..., ..\n+0000c550: 986d 6974 6572 206c 696d 6974 e280 992c .miter limit...,\n+0000c560: 20e2 8098 7061 7474 6572 6ee2 8099 2c20 ...pattern..., \n+0000c570: e280 9870 6174 7465 726e 2063 6f6c 6f72 ...pattern color\n+0000c580: e280 992c 2061 6e64 20e2 8098 7374 796c ..., and ...styl\n+0000c590: 65e2 8099 2e0a 0a20 2020 5468 6520 e280 e...... The ..\n+0000c5a0: 9873 7479 6c65 e280 9920 6f70 7469 6f6e .style... option\n+0000c5b0: 2063 616e 2063 6f6e 7461 696e 2062 6f74 can contain bot\n+0000c5c0: 6820 6661 6365 2061 6e64 2065 6467 6520 h face and edge \n+0000c5d0: 696e 666f 726d 6174 696f 6e2c 2073 6f0a information, so.\n+0000c5e0: e280 9873 6b65 7463 68e2 8099 206d 7573 ...sketch... mus\n+0000c5f0: 7420 6368 6563 6b20 7468 6520 7374 796c t check the styl\n+0000c600: 6520 7661 6c75 652e 2020 5661 6c75 6573 e value. Values\n+0000c610: 206b 6e6f 776e 2074 6f20 e280 9873 6b65 known to ...ske\n+0000c620: 7463 68e2 8099 2069 6e63 6c75 6465 0ae2 tch... include..\n+0000c630: 8098 6461 7368 6564 e280 992c 20e2 8098 ..dashed..., ...\n+0000c640: 6465 6e73 656c 7920 6461 7368 6564 e280 densely dashed..\n+0000c650: 992c 20e2 8098 6465 6e73 656c 7920 646f ., ...densely do\n+0000c660: 7474 6564 e280 992c 20e2 8098 646f 7474 tted..., ...dott\n+0000c670: 6564 e280 992c 20e2 8098 646f 7562 6c65 ed..., ...double\n+0000c680: e280 992c 0ae2 8098 6c6f 6f73 656c 7920 ...,....loosely \n+0000c690: 6461 7368 6564 e280 992c 20e2 8098 6c6f dashed..., ...lo\n+0000c6a0: 6f73 656c 7920 646f 7474 6564 e280 992c osely dotted...,\n+0000c6b0: 20e2 8098 6e65 6172 6c79 206f 7061 7175 ...nearly opaqu\n+0000c6c0: 65e2 8099 2c20 e280 986e 6561 726c 790a e..., ...nearly.\n+0000c6d0: 7472 616e 7370 6172 656e 74e2 8099 2c20 transparent..., \n+0000c6e0: e280 9873 656d 6974 6869 636b e280 992c ...semithick...,\n+0000c6f0: 20e2 8098 7365 6d69 7472 616e 7370 6172 ...semitranspar\n+0000c700: 656e 74e2 8099 2c20 e280 9873 6f6c 6964 ent..., ...solid\n+0000c710: e280 992c 20e2 8098 7468 6963 6be2 8099 ..., ...thick...\n+0000c720: 2c20 e280 9874 6869 6ee2 8099 2c0a e280 , ...thin...,...\n+0000c730: 9874 7261 6e73 7061 7265 6e74 e280 992c .transparent...,\n+0000c740: 20e2 8098 756c 7472 6120 6e65 6172 6c79 ...ultra nearly\n+0000c750: 2074 7261 6e73 7061 7265 6e74 e280 992c transparent...,\n+0000c760: 20e2 8098 756c 7472 6120 7468 6963 6be2 ...ultra thick.\n+0000c770: 8099 2c20 e280 9875 6c74 7261 2074 6869 .., ...ultra thi\n+0000c780: 6ee2 8099 2c0a e280 9876 6572 7920 6e65 n...,....very ne\n+0000c790: 6172 6c79 2074 7261 6e73 7061 7265 6e74 arly transparent\n+0000c7a0: e280 992c 20e2 8098 7665 7279 2074 6869 ..., ...very thi\n+0000c7b0: 636b e280 992c 2061 6e64 20e2 8098 7665 ck..., and ...ve\n+0000c7c0: 7279 2074 6869 6ee2 8099 2e0a 0a1f 0a46 ry thin........F\n+0000c7d0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+0000c7e0: 2c20 204e 6f64 653a 2044 6f74 7320 696e , Node: Dots in\n+0000c7f0: 2054 696b 5a2f 5047 462c 2020 4e65 7874 TikZ/PGF, Next\n+0000c800: 3a20 5469 6b5a 2f50 4746 2075 7365 722d : TikZ/PGF user-\n+0000c810: 6465 6669 6e65 6420 7374 796c 6573 2c20 defined styles, \n+0000c820: 2050 7265 763a 2054 696b 5a2f 5047 4620 Prev: TikZ/PGF \n+0000c830: 6f70 7469 6f6e 732c 2020 5570 3a20 4f70 options, Up: Op\n+0000c840: 7469 6f6e 730a 0a33 2e31 2e35 2e33 2044 tions..3.1.5.3 D\n+0000c850: 6f74 7320 696e 20e2 8098 5469 6b5a 2f50 ots in ...TikZ/P\n+0000c860: 4746 e280 990a 2e2e 2e2e 2e2e 2e2e 2e2e GF..............\n+0000c870: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+0000c880: 0a0a e280 9854 696b 5a2f 5047 46e2 8099 .....TikZ/PGF...\n+0000c890: 2064 6f65 7320 6e6f 7420 6861 7665 2061 does not have a\n+0000c8a0: 20e2 8098 646f 7473 e280 9920 636f 6d6d ...dots... comm\n+0000c8b0: 616e 6420 6173 2064 6f65 7320 5053 5472 and as does PSTr\n+0000c8c0: 6963 6b73 2e20 2049 6e73 7465 6164 2c0a icks. Instead,.\n+0000c8d0: e280 9853 6b65 7463 68e2 8099 2065 6d69 ...Sketch... emi\n+0000c8e0: 7473 2064 6f74 7320 6173 20e2 8098 6669 ts dots as ...fi\n+0000c8f0: 6c6c 6472 6177 e280 9920 6369 7263 6c65 lldraw... circle\n+0000c900: 732e 2020 5468 6520 6469 616d 6574 6572 s. The diameter\n+0000c910: 206d 6179 2062 6520 7365 740a 7573 696e may be set.usin\n+0000c920: 6720 7468 6520 6f70 7469 6f6e 20e2 8098 g the option ...\n+0000c930: 646f 7473 697a 65e2 8099 2062 6f72 726f dotsize... borro\n+0000c940: 7765 6420 6672 6f6d 2050 5354 7269 636b wed from PSTrick\n+0000c950: 732e 2020 5468 6520 e280 9864 6f74 7369 s. The ...dotsi\n+0000c960: 7a65 e280 9920 6f70 7469 6f6e 0a77 696c ze... option.wil\n+0000c970: 6c20 6265 2072 656d 6f76 6564 2066 726f l be removed fro\n+0000c980: 6d20 7468 6520 6f70 7469 6f6e 206c 6973 m the option lis\n+0000c990: 7420 696e 2074 6865 206f 7574 7075 7420 t in the output \n+0000c9a0: e280 9866 696c 6c64 7261 77e2 8099 2063 ...filldraw... c\n+0000c9b0: 6f6d 6d61 6e64 2e0a 4f74 6865 7220 6f70 ommand..Other op\n+0000c9c0: 7469 6f6e 7320 776f 726b 2069 6e20 7468 tions work in th\n+0000c9d0: 6520 6578 7065 6374 6564 2077 6179 2e20 e expected way. \n+0000c9e0: 2046 6f72 2065 7861 6d70 6c65 2c20 e280 For example, ..\n+0000c9f0: 9866 696c 6ce2 8099 2073 6574 7320 6669 .fill... sets fi\n+0000ca00: 6c6c 0a63 6f6c 6f72 2061 6e64 20e2 8098 ll.color and ...\n+0000ca10: 636f 6c6f 72e2 8099 2073 6574 7320 6c69 color... sets li\n+0000ca20: 6e65 2063 6f6c 6f72 206f 6620 7468 6520 ne color of the \n+0000ca30: 6369 7263 6c65 732e 0a0a 1f0a 4669 6c65 circles.....File\n+0000ca40: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+0000ca50: 4e6f 6465 3a20 5469 6b5a 2f50 4746 2075 Node: TikZ/PGF u\n+0000ca60: 7365 722d 6465 6669 6e65 6420 7374 796c ser-defined styl\n+0000ca70: 6573 2c20 204e 6578 743a 2054 7261 6e73 es, Next: Trans\n+0000ca80: 7061 7265 6e63 792c 2020 5072 6576 3a20 parency, Prev: \n+0000ca90: 446f 7473 2069 6e20 5469 6b5a 2f50 4746 Dots in TikZ/PGF\n+0000caa0: 2c20 2055 703a 204f 7074 696f 6e73 0a0a , Up: Options..\n+0000cab0: 332e 312e 352e 3420 e280 9854 696b 5a2f 3.1.5.4 ...TikZ/\n+0000cac0: 5047 46e2 8099 2075 7365 722d 6465 6669 PGF... user-defi\n+0000cad0: 6e65 6420 7374 796c 6573 0a2e 2e2e 2e2e ned styles......\n 0000cae0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000caf0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0ae2 8098 ................\n-0000cb00: 5469 6b5a 2f50 4746 e280 9920 616c 6c6f TikZ/PGF... allo\n-0000cb10: 7773 206e 616d 6564 2073 7479 6c65 7320 ws named styles \n-0000cb20: 6465 6669 6e65 6420 6279 2074 6865 2075 defined by the u\n-0000cb30: 7365 722c 2066 6f72 2065 7861 6d70 6c65 ser, for example\n-0000cb40: 0a20 205c 7469 6b7a 7374 796c 657b 6d79 . \\tikzstyle{my\n-0000cb50: 706f 6c79 676f 6e73 7479 6c65 7d20 3d20 polygonstyle} = \n-0000cb60: 5b66 696c 6c3d 626c 7565 2132 302c 6669 [fill=blue!20,fi\n-0000cb70: 6c6c 206f 7061 6369 7479 3d30 2e38 5d20 ll opacity=0.8] \n-0000cb80: 200a 2020 5c74 696b 7a73 7479 6c65 7b6d . \\tikzstyle{m\n-0000cb90: 796c 696e 6573 7479 6c65 7d20 3d20 5b72 ylinestyle} = [r\n-0000cba0: 6564 2132 302c 6461 7368 6564 5d0a 5369 ed!20,dashed].Si\n-0000cbb0: 6e63 6520 e280 9873 6b65 7463 68e2 8099 nce ...sketch...\n-0000cbc0: 2068 6173 206e 6f20 696e 666f 726d 6174 has no informat\n-0000cbd0: 696f 6e20 6f6e 2074 6865 2063 6f6e 7465 ion on the conte\n-0000cbe0: 6e74 7320 6f66 2073 7563 6820 7374 796c nts of such styl\n-0000cbf0: 6573 2c20 6974 0a6f 6d69 7473 2074 6865 es, it.omits the\n-0000cc00: 6d20 656e 7469 7265 6c79 2066 726f 6d20 m entirely from \n-0000cc10: 6c69 6e65 732c 2070 6f6c 7967 6f6e 732c lines, polygons,\n-0000cc20: 2061 6e64 2074 6865 6972 2065 6467 6573 and their edges\n-0000cc30: 2064 7572 696e 6720 6f70 7469 6f6e 0a73 during option.s\n-0000cc40: 706c 6974 7469 6e67 2e20 2046 6f72 2065 plitting. For e\n-0000cc50: 7861 6d70 6c65 2c0a 2020 706f 6c79 676f xample,. polygo\n-0000cc60: 6e5b 7374 796c 653d 6d79 706f 6c79 676f n[style=mypolygo\n-0000cc70: 6e73 7479 6c65 2c73 7479 6c65 3d74 6869 nstyle,style=thi\n-0000cc80: 636b 5d28 302c 302c 3129 2831 2c30 2c30 ck](0,0,1)(1,0,0\n-0000cc90: 2928 302c 312c 3029 0a20 206c 696e 655b )(0,1,0). line[\n-0000cca0: 7374 796c 653d 6d79 6c69 6e65 7374 796c style=mylinestyl\n-0000ccb0: 655d 282d 312c 2d31 2c2d 3129 2832 2c32 e](-1,-1,-1)(2,2\n-0000ccc0: 2c32 290a 7072 6f64 7563 6573 2074 6865 ,2).produces the\n-0000ccd0: 20e2 8098 5469 6b5a e280 9920 6f75 7470 ...TikZ... outp\n-0000cce0: 7574 0a20 205c 6472 6177 282d 312c 2d31 ut. \\draw(-1,-1\n-0000ccf0: 292d 2d28 2e33 3333 2c2e 3333 3329 3b0a )--(.333,.333);.\n-0000cd00: 2020 5c66 696c 6c64 7261 775b 7468 6963 \\filldraw[thic\n-0000cd10: 6b2c 6669 6c6c 3d77 6869 7465 5d28 302c k,fill=white](0,\n-0000cd20: 3029 2d2d 2831 2c30 292d 2d28 302c 3129 0)--(1,0)--(0,1)\n-0000cd30: 2d2d 6379 636c 653b 0a20 205c 6472 6177 --cycle;. \\draw\n-0000cd40: 282e 3333 332c 2e33 3333 292d 2d28 322c (.333,.333)--(2,\n-0000cd50: 3229 3b0a 4e6f 7465 2074 6861 7420 7468 2);.Note that th\n-0000cd60: 6520 7573 6572 2d64 6566 696e 6564 2073 e user-defined s\n-0000cd70: 7479 6c65 7320 6172 6520 6e6f 7420 7072 tyles are not pr\n-0000cd80: 6573 656e 742e 2020 536b 6574 6368 2061 esent. Sketch a\n-0000cd90: 6c73 6f20 6973 7375 6573 0a77 6172 6e69 lso issues.warni\n-0000cda0: 6e67 733a 0a20 2077 6172 6e69 6e67 2c20 ngs:. warning, \n-0000cdb0: 756e 6b6e 6f77 6e20 706f 6c79 676f 6e20 unknown polygon \n-0000cdc0: 6f70 7469 6f6e 2073 7479 6c65 3d6d 7970 option style=myp\n-0000cdd0: 6f6c 7967 6f6e 7374 796c 6520 7769 6c6c olygonstyle will\n-0000cde0: 2062 6520 6967 6e6f 7265 640a 2020 7761 be ignored. wa\n-0000cdf0: 726e 696e 672c 2075 6e6b 6e6f 776e 206c rning, unknown l\n-0000ce00: 696e 6520 6f70 7469 6f6e 2073 7479 6c65 ine option style\n-0000ce10: 3d6d 796c 696e 6573 7479 6c65 2077 696c =mylinestyle wil\n-0000ce20: 6c20 6265 2069 676e 6f72 6564 0a0a 2020 l be ignored.. \n-0000ce30: 2054 6865 2072 656d 6564 7920 6973 2074 The remedy is t\n-0000ce40: 6f20 7374 6174 6520 6578 706c 6963 6974 o state explicit\n-0000ce50: 6c79 2077 6865 7468 6572 2061 2075 7365 ly whether a use\n-0000ce60: 722d 6465 6669 6e65 6420 7374 796c 6520 r-defined style \n-0000ce70: 7368 6f75 6c64 0a62 6520 6174 7463 6865 should.be attche\n-0000ce80: 6420 746f 2070 6f6c 7967 6f6e 7320 6f72 d to polygons or\n-0000ce90: 206c 696e 6573 2069 6e20 7468 6520 e280 lines in the ..\n-0000cea0: 9854 696b 5ae2 8099 206f 7574 7075 7420 .TikZ... output \n-0000ceb0: 7573 696e 670a 5f70 7365 7564 6f2d 6f70 using._pseudo-op\n-0000cec0: 7469 6f6e 735f 20e2 8098 6669 6c6c 2073 tions_ ...fill s\n-0000ced0: 7479 6c65 e280 9920 616e 6420 e280 986c tyle... and ...l\n-0000cee0: 696e 6520 7374 796c 65e2 8099 2c0a 2020 ine style...,. \n-0000cef0: 706f 6c79 676f 6e5b 6669 6c6c 2073 7479 polygon[fill sty\n-0000cf00: 6c65 3d6d 7970 6f6c 7967 6f6e 7374 796c le=mypolygonstyl\n-0000cf10: 652c 7374 796c 653d 7468 6963 6b5d 2830 e,style=thick](0\n-0000cf20: 2c30 2c31 2928 312c 302c 3029 2830 2c31 ,0,1)(1,0,0)(0,1\n-0000cf30: 2c30 290a 2020 6c69 6e65 5b6c 696e 6520 ,0). line[line \n-0000cf40: 7374 796c 653d 6d79 6c69 6e65 7374 796c style=mylinestyl\n-0000cf50: 655d 282d 312c 2d31 2c2d 3129 2832 2c32 e](-1,-1,-1)(2,2\n-0000cf60: 2c32 290a 4e6f 772c 2074 6865 206f 7574 ,2).Now, the out\n-0000cf70: 7075 7420 6973 0a20 205c 6472 6177 5b6d put is. \\draw[m\n-0000cf80: 796c 696e 6573 7479 6c65 5d28 2d31 2c2d ylinestyle](-1,-\n-0000cf90: 3129 2d2d 282e 3333 332c 2e33 3333 293b 1)--(.333,.333);\n-0000cfa0: 0a20 205c 6669 6c6c 6472 6177 5b6d 7970 . \\filldraw[myp\n-0000cfb0: 6f6c 7967 6f6e 7374 796c 652c 7468 6963 olygonstyle,thic\n-0000cfc0: 6b5d 2830 2c30 292d 2d28 312c 3029 2d2d k](0,0)--(1,0)--\n-0000cfd0: 2830 2c31 292d 2d63 7963 6c65 3b0a 2020 (0,1)--cycle;. \n-0000cfe0: 5c64 7261 775b 6d79 6c69 6e65 7374 796c \\draw[mylinestyl\n-0000cff0: 655d 282e 3333 332c 2e33 3333 292d 2d28 e](.333,.333)--(\n-0000d000: 322c 3229 3b0a 0a20 2020 4120 7573 6566 2,2);.. A usef\n-0000d010: 756c 2074 6563 686e 6971 7565 2069 7320 ul technique is \n-0000d020: 746f 2069 6e63 6c75 6465 2075 7365 722d to include user-\n-0000d030: 6465 6669 6e65 6420 7374 796c 6520 6465 defined style de\n-0000d040: 6669 6e69 7469 6f6e 7320 696e 0ae2 8098 finitions in....\n-0000d050: 736b 6574 6368 e280 9920 636f 6465 2061 sketch... code a\n-0000d060: 7320 e280 9873 7065 6369 616c e280 9973 s ...special...s\n-0000d070: 2077 6974 6820 6f70 7469 6f6e 20e2 8098 with option ...\n-0000d080: 5b6c 6179 3d75 6e64 6572 5de2 8099 2074 [lay=under]... t\n-0000d090: 6f20 656e 7375 7265 2074 6861 7420 7468 o ensure that th\n-0000d0a0: 650a 7374 796c 6573 2061 7265 2065 6d69 e.styles are emi\n-0000d0b0: 7474 6564 2066 6972 7374 2069 6e20 7468 tted first in th\n-0000d0c0: 6520 6f75 7470 7574 2c20 6265 666f 7265 e output, before\n-0000d0d0: 2061 6e79 2075 7365 7320 6f66 2074 6865 any uses of the\n-0000d0e0: 2073 7479 6c65 0a6e 616d 6573 2e20 2028 style.names. (\n-0000d0f0: 3129 2020 466f 7220 6578 616d 706c 652c 1) For example,\n-0000d100: 0a20 2073 7065 6369 616c 7c5c 7469 6b7a . special|\\tikz\n-0000d110: 7374 796c 657b 6d79 706f 6c79 676f 6e73 style{mypolygons\n-0000d120: 7479 6c65 7d20 3d20 5b66 696c 6c3d 626c tyle} = [fill=bl\n-0000d130: 7565 2132 302c 6669 6c6c 206f 7061 6369 ue!20,fill opaci\n-0000d140: 7479 3d30 2e38 5d7c 5b6c 6179 3d75 6e64 ty=0.8]|[lay=und\n-0000d150: 6572 5d0a 2020 7370 6563 6961 6c7c 5c74 er]. special|\\t\n-0000d160: 696b 7a73 7479 6c65 7b6d 796c 696e 6573 ikzstyle{mylines\n-0000d170: 7479 6c65 7d20 3d20 5b72 6564 2132 302c tyle} = [red!20,\n-0000d180: 6461 7368 6564 5d7c 5b6c 6179 3d75 6e64 dashed]|[lay=und\n-0000d190: 6572 5d0a 5468 6520 6175 7468 6f72 2069 er].The author i\n-0000d1a0: 7320 7265 7370 6f6e 7369 626c 6520 666f s responsible fo\n-0000d1b0: 7220 7573 696e 6720 7468 6520 6b65 792c r using the key,\n-0000d1c0: 20e2 8098 6c69 6e65 2073 7479 6c65 e280 ...line style..\n-0000d1d0: 9920 6f72 20e2 8098 6669 6c6c 0a73 7479 . or ...fill.sty\n-0000d1e0: 6c65 e280 992c 2074 6861 7420 6d61 7463 le..., that matc\n-0000d1f0: 6865 7320 7468 6520 636f 6e74 656e 7420 hes the content \n-0000d200: 6f66 2074 6865 2073 7479 6c65 2064 6566 of the style def\n-0000d210: 696e 6974 696f 6e2e 0a0a 2020 202d 2d2d inition... ---\n-0000d220: 2d2d 2d2d 2d2d 2d20 466f 6f74 6e6f 7465 ------- Footnote\n-0000d230: 7320 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2020 s ----------.. \n-0000d240: 2028 3129 2054 6869 7320 636c 6576 6572 (1) This clever\n-0000d250: 2074 7269 636b 2069 7320 6475 6520 746f trick is due to\n-0000d260: 204b 6a65 6c6c 204d 6167 6e65 2046 6175 Kjell Magne Fau\n-0000d270: 736b 652e 0a0a 1f0a 4669 6c65 3a20 736b ske.....File: sk\n-0000d280: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-0000d290: 3a20 5472 616e 7370 6172 656e 6379 2c20 : Transparency, \n-0000d2a0: 204e 6578 743a 2049 6e74 6572 6e61 6c20 Next: Internal \n-0000d2b0: 6f70 7469 6f6e 732c 2020 5072 6576 3a20 options, Prev: \n-0000d2c0: 5469 6b5a 2f50 4746 2075 7365 722d 6465 TikZ/PGF user-de\n-0000d2d0: 6669 6e65 6420 7374 796c 6573 2c20 2055 fined styles, U\n-0000d2e0: 703a 204f 7074 696f 6e73 0a0a 332e 312e p: Options..3.1.\n-0000d2f0: 352e 3520 5472 616e 7370 6172 656e 6379 5.5 Transparency\n-0000d300: 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000d310: 2e2e 2e2e 2e0a 0a42 6f74 6820 e280 9850 .......Both ...P\n-0000d320: 5354 7269 636b 73e2 8099 2061 6e64 20e2 STricks... and .\n-0000d330: 8098 5469 6b5a 2f50 4746 e280 9920 7375 ..TikZ/PGF... su\n-0000d340: 7070 6f72 7420 706f 6c79 676f 6e20 6f70 pport polygon op\n-0000d350: 7469 6f6e 7320 7468 6174 2068 6176 6520 tions that have \n-0000d360: 7468 650a 6566 6665 6374 206f 6620 6d61 the.effect of ma\n-0000d370: 6b69 6e67 2074 6865 2070 6f6c 7967 6f6e king the polygon\n-0000d380: 2061 7070 6561 7220 7472 616e 7370 6172 appear transpar\n-0000d390: 656e 742e 2020 466f 7220 e280 9850 5354 ent. For ...PST\n-0000d3a0: 7269 636b 73e2 8099 2c0a 6b65 7977 6f72 ricks...,.keywor\n-0000d3b0: 6420 e280 9874 7261 6e73 7061 6c70 6861 d ...transpalpha\n-0000d3c0: e280 9920 7761 7320 7573 6564 2064 7572 ... was used dur\n-0000d3d0: 696e 6720 696e 6974 6961 6c20 6465 7665 ing initial deve\n-0000d3e0: 6c6f 706d 656e 7420 6f66 0a74 7261 6e73 lopment of.trans\n-0000d3f0: 7061 7265 6e63 7920 6665 6174 7572 6573 parency features\n-0000d400: 2c20 616e 6420 e280 986f 7061 6369 7479 , and ...opacity\n-0000d410: e280 9920 7761 7320 6164 6f70 7465 6420 ... was adopted \n-0000d420: 6c61 7465 722e 2020 e280 9853 6b65 7463 later. ...Sketc\n-0000d430: 68e2 8099 2068 6f6e 6f72 730a 626f 7468 h... honors.both\n-0000d440: 2e20 20e2 8098 5469 6b5a 2f50 4746 e280 . ...TikZ/PGF..\n-0000d450: 9920 7573 6573 20e2 8098 6f70 6163 6974 . uses ...opacit\n-0000d460: 79e2 8099 206f 6e6c 792e 2020 5768 656e y... only. When\n-0000d470: 2074 7261 6e73 7061 7265 6e74 2070 6f6c transparent pol\n-0000d480: 7967 6f6e 7320 6172 6520 696e 0a74 6865 ygons are in.the\n-0000d490: 2066 6f72 6567 726f 756e 642c 206f 626a foreground, obj\n-0000d4a0: 6563 7473 2062 6568 696e 6420 7468 656d ects behind them\n-0000d4b0: 2028 6472 6177 6e20 6561 726c 6965 7229 (drawn earlier)\n-0000d4c0: 2061 7265 2076 6973 6962 6c65 2077 6974 are visible wit\n-0000d4d0: 680a 636f 6c6f 7220 7375 6264 7565 6420 h.color subdued \n-0000d4e0: 616e 6420 7469 6e74 6564 2e20 2054 6865 and tinted. The\n-0000d4f0: 2068 6964 6465 6e20 7375 7266 6163 6520 hidden surface \n-0000d500: 616c 676f 7269 7468 6d20 6f66 20e2 8098 algorithm of ...\n-0000d510: 736b 6574 6368 e280 990a 776f 726b 7320 sketch....works \n-0000d520: 7765 6c6c 2077 6974 6820 7375 6368 2074 well with such t\n-0000d530: 7261 6e73 7061 7265 6e74 2070 6f6c 7967 ransparent polyg\n-0000d540: 6f6e 732e 0a0a 2020 204e 6f74 6520 7468 ons... Note th\n-0000d550: 6174 2063 756c 6c3d 6661 6c73 6520 6d75 at cull=false mu\n-0000d560: 7374 2062 6520 7573 6564 2066 6f72 2072 st be used for r\n-0000d570: 6561 722d 6661 6369 6e67 2070 6f6c 7967 ear-facing polyg\n-0000d580: 6f6e 7320 746f 2062 650a 7669 7369 626c ons to be.visibl\n-0000d590: 6520 7768 656e 2070 6f73 6974 696f 6e65 e when positione\n-0000d5a0: 6420 6265 6869 6e64 206f 7468 6572 2074 d behind other t\n-0000d5b0: 7261 6e73 7061 7265 6e74 2073 7572 6661 ransparent surfa\n-0000d5c0: 6365 732e 0a0a 1f0a 4669 6c65 3a20 736b ces.....File: sk\n-0000d5d0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-0000d5e0: 3a20 496e 7465 726e 616c 206f 7074 696f : Internal optio\n-0000d5f0: 6e73 2c20 2050 7265 763a 2054 7261 6e73 ns, Prev: Trans\n-0000d600: 7061 7265 6e63 792c 2020 5570 3a20 4f70 parency, Up: Op\n-0000d610: 7469 6f6e 730a 0a33 2e31 2e35 2e36 2049 tions..3.1.5.6 I\n-0000d620: 6e74 6572 6e61 6c20 6f70 7469 6f6e 730a nternal options.\n-0000d630: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000d640: 2e2e 2e2e 2e2e 2e2e 0a0a 5468 6572 6520 ..........There \n-0000d650: 6172 6520 616c 736f 205f 696e 7465 726e are also _intern\n-0000d660: 616c 5f20 6f70 7469 6f6e 7320 7573 6564 al_ options used\n-0000d670: 206f 6e6c 7920 6279 20e2 8098 736b 6574 only by ...sket\n-0000d680: 6368 e280 9920 616e 6420 6e6f 7420 7061 ch... and not pa\n-0000d690: 7373 6564 0a6f 6e20 746f 20e2 8098 5053 ssed.on to ...PS\n-0000d6a0: 5472 6963 6b73 e280 992e 2020 5468 6573 Tricks.... Thes\n-0000d6b0: 6520 6172 6520 7375 6d6d 6172 697a 6564 e are summarized\n-0000d6c0: 2069 6e20 7468 6520 666f 6c6c 6f77 696e in the followin\n-0000d6d0: 6720 7461 626c 652e 0a4b 6579 2020 2020 g table..Key \n-0000d6e0: 2020 2050 6f73 7369 626c 6520 7661 6c75 Possible valu\n-0000d6f0: 6573 2020 2020 2020 2020 2044 6573 6372 es Descr\n-0000d700: 6970 7469 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d iption.---------\n+0000caf0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+0000cb00: 2e0a 0ae2 8098 5469 6b5a 2f50 4746 e280 ......TikZ/PGF..\n+0000cb10: 9920 616c 6c6f 7773 206e 616d 6564 2073 . allows named s\n+0000cb20: 7479 6c65 7320 6465 6669 6e65 6420 6279 tyles defined by\n+0000cb30: 2074 6865 2075 7365 722c 2066 6f72 2065 the user, for e\n+0000cb40: 7861 6d70 6c65 0a20 205c 7469 6b7a 7374 xample. \\tikzst\n+0000cb50: 796c 657b 6d79 706f 6c79 676f 6e73 7479 yle{mypolygonsty\n+0000cb60: 6c65 7d20 3d20 5b66 696c 6c3d 626c 7565 le} = [fill=blue\n+0000cb70: 2132 302c 6669 6c6c 206f 7061 6369 7479 !20,fill opacity\n+0000cb80: 3d30 2e38 5d20 200a 2020 5c74 696b 7a73 =0.8] . \\tikzs\n+0000cb90: 7479 6c65 7b6d 796c 696e 6573 7479 6c65 tyle{mylinestyle\n+0000cba0: 7d20 3d20 5b72 6564 2132 302c 6461 7368 } = [red!20,dash\n+0000cbb0: 6564 5d0a 5369 6e63 6520 e280 9873 6b65 ed].Since ...ske\n+0000cbc0: 7463 68e2 8099 2068 6173 206e 6f20 696e tch... has no in\n+0000cbd0: 666f 726d 6174 696f 6e20 6f6e 2074 6865 formation on the\n+0000cbe0: 2063 6f6e 7465 6e74 7320 6f66 2073 7563 contents of suc\n+0000cbf0: 6820 7374 796c 6573 2c20 6974 0a6f 6d69 h styles, it.omi\n+0000cc00: 7473 2074 6865 6d20 656e 7469 7265 6c79 ts them entirely\n+0000cc10: 2066 726f 6d20 6c69 6e65 732c 2070 6f6c from lines, pol\n+0000cc20: 7967 6f6e 732c 2061 6e64 2074 6865 6972 ygons, and their\n+0000cc30: 2065 6467 6573 2064 7572 696e 6720 6f70 edges during op\n+0000cc40: 7469 6f6e 0a73 706c 6974 7469 6e67 2e20 tion.splitting. \n+0000cc50: 2046 6f72 2065 7861 6d70 6c65 2c0a 2020 For example,. \n+0000cc60: 706f 6c79 676f 6e5b 7374 796c 653d 6d79 polygon[style=my\n+0000cc70: 706f 6c79 676f 6e73 7479 6c65 2c73 7479 polygonstyle,sty\n+0000cc80: 6c65 3d74 6869 636b 5d28 302c 302c 3129 le=thick](0,0,1)\n+0000cc90: 2831 2c30 2c30 2928 302c 312c 3029 0a20 (1,0,0)(0,1,0). \n+0000cca0: 206c 696e 655b 7374 796c 653d 6d79 6c69 line[style=myli\n+0000ccb0: 6e65 7374 796c 655d 282d 312c 2d31 2c2d nestyle](-1,-1,-\n+0000ccc0: 3129 2832 2c32 2c32 290a 7072 6f64 7563 1)(2,2,2).produc\n+0000ccd0: 6573 2074 6865 20e2 8098 5469 6b5a e280 es the ...TikZ..\n+0000cce0: 9920 6f75 7470 7574 0a20 205c 6472 6177 . output. \\draw\n+0000ccf0: 282d 312c 2d31 292d 2d28 2e33 3333 2c2e (-1,-1)--(.333,.\n+0000cd00: 3333 3329 3b0a 2020 5c66 696c 6c64 7261 333);. \\filldra\n+0000cd10: 775b 7468 6963 6b2c 6669 6c6c 3d77 6869 w[thick,fill=whi\n+0000cd20: 7465 5d28 302c 3029 2d2d 2831 2c30 292d te](0,0)--(1,0)-\n+0000cd30: 2d28 302c 3129 2d2d 6379 636c 653b 0a20 -(0,1)--cycle;. \n+0000cd40: 205c 6472 6177 282e 3333 332c 2e33 3333 \\draw(.333,.333\n+0000cd50: 292d 2d28 322c 3229 3b0a 4e6f 7465 2074 )--(2,2);.Note t\n+0000cd60: 6861 7420 7468 6520 7573 6572 2d64 6566 hat the user-def\n+0000cd70: 696e 6564 2073 7479 6c65 7320 6172 6520 ined styles are \n+0000cd80: 6e6f 7420 7072 6573 656e 742e 2020 536b not present. Sk\n+0000cd90: 6574 6368 2061 6c73 6f20 6973 7375 6573 etch also issues\n+0000cda0: 0a77 6172 6e69 6e67 733a 0a20 2077 6172 .warnings:. war\n+0000cdb0: 6e69 6e67 2c20 756e 6b6e 6f77 6e20 706f ning, unknown po\n+0000cdc0: 6c79 676f 6e20 6f70 7469 6f6e 2073 7479 lygon option sty\n+0000cdd0: 6c65 3d6d 7970 6f6c 7967 6f6e 7374 796c le=mypolygonstyl\n+0000cde0: 6520 7769 6c6c 2062 6520 6967 6e6f 7265 e will be ignore\n+0000cdf0: 640a 2020 7761 726e 696e 672c 2075 6e6b d. warning, unk\n+0000ce00: 6e6f 776e 206c 696e 6520 6f70 7469 6f6e nown line option\n+0000ce10: 2073 7479 6c65 3d6d 796c 696e 6573 7479 style=mylinesty\n+0000ce20: 6c65 2077 696c 6c20 6265 2069 676e 6f72 le will be ignor\n+0000ce30: 6564 0a0a 2020 2054 6865 2072 656d 6564 ed.. The remed\n+0000ce40: 7920 6973 2074 6f20 7374 6174 6520 6578 y is to state ex\n+0000ce50: 706c 6963 6974 6c79 2077 6865 7468 6572 plicitly whether\n+0000ce60: 2061 2075 7365 722d 6465 6669 6e65 6420 a user-defined \n+0000ce70: 7374 796c 6520 7368 6f75 6c64 0a62 6520 style should.be \n+0000ce80: 6174 7463 6865 6420 746f 2070 6f6c 7967 attched to polyg\n+0000ce90: 6f6e 7320 6f72 206c 696e 6573 2069 6e20 ons or lines in \n+0000cea0: 7468 6520 e280 9854 696b 5ae2 8099 206f the ...TikZ... o\n+0000ceb0: 7574 7075 7420 7573 696e 670a 5f70 7365 utput using._pse\n+0000cec0: 7564 6f2d 6f70 7469 6f6e 735f 20e2 8098 udo-options_ ...\n+0000ced0: 6669 6c6c 2073 7479 6c65 e280 9920 616e fill style... an\n+0000cee0: 6420 e280 986c 696e 6520 7374 796c 65e2 d ...line style.\n+0000cef0: 8099 2c0a 2020 706f 6c79 676f 6e5b 6669 ..,. polygon[fi\n+0000cf00: 6c6c 2073 7479 6c65 3d6d 7970 6f6c 7967 ll style=mypolyg\n+0000cf10: 6f6e 7374 796c 652c 7374 796c 653d 7468 onstyle,style=th\n+0000cf20: 6963 6b5d 2830 2c30 2c31 2928 312c 302c ick](0,0,1)(1,0,\n+0000cf30: 3029 2830 2c31 2c30 290a 2020 6c69 6e65 0)(0,1,0). line\n+0000cf40: 5b6c 696e 6520 7374 796c 653d 6d79 6c69 [line style=myli\n+0000cf50: 6e65 7374 796c 655d 282d 312c 2d31 2c2d nestyle](-1,-1,-\n+0000cf60: 3129 2832 2c32 2c32 290a 4e6f 772c 2074 1)(2,2,2).Now, t\n+0000cf70: 6865 206f 7574 7075 7420 6973 0a20 205c he output is. \\\n+0000cf80: 6472 6177 5b6d 796c 696e 6573 7479 6c65 draw[mylinestyle\n+0000cf90: 5d28 2d31 2c2d 3129 2d2d 282e 3333 332c ](-1,-1)--(.333,\n+0000cfa0: 2e33 3333 293b 0a20 205c 6669 6c6c 6472 .333);. \\filldr\n+0000cfb0: 6177 5b6d 7970 6f6c 7967 6f6e 7374 796c aw[mypolygonstyl\n+0000cfc0: 652c 7468 6963 6b5d 2830 2c30 292d 2d28 e,thick](0,0)--(\n+0000cfd0: 312c 3029 2d2d 2830 2c31 292d 2d63 7963 1,0)--(0,1)--cyc\n+0000cfe0: 6c65 3b0a 2020 5c64 7261 775b 6d79 6c69 le;. \\draw[myli\n+0000cff0: 6e65 7374 796c 655d 282e 3333 332c 2e33 nestyle](.333,.3\n+0000d000: 3333 292d 2d28 322c 3229 3b0a 0a20 2020 33)--(2,2);.. \n+0000d010: 4120 7573 6566 756c 2074 6563 686e 6971 A useful techniq\n+0000d020: 7565 2069 7320 746f 2069 6e63 6c75 6465 ue is to include\n+0000d030: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st\n+0000d040: 796c 6520 6465 6669 6e69 7469 6f6e 7320 yle definitions \n+0000d050: 696e 0ae2 8098 736b 6574 6368 e280 9920 in....sketch... \n+0000d060: 636f 6465 2061 7320 e280 9873 7065 6369 code as ...speci\n+0000d070: 616c e280 9973 2077 6974 6820 6f70 7469 al...s with opti\n+0000d080: 6f6e 20e2 8098 5b6c 6179 3d75 6e64 6572 on ...[lay=under\n+0000d090: 5de2 8099 2074 6f20 656e 7375 7265 2074 ]... to ensure t\n+0000d0a0: 6861 7420 7468 650a 7374 796c 6573 2061 hat the.styles a\n+0000d0b0: 7265 2065 6d69 7474 6564 2066 6972 7374 re emitted first\n+0000d0c0: 2069 6e20 7468 6520 6f75 7470 7574 2c20 in the output, \n+0000d0d0: 6265 666f 7265 2061 6e79 2075 7365 7320 before any uses \n+0000d0e0: 6f66 2074 6865 2073 7479 6c65 0a6e 616d of the style.nam\n+0000d0f0: 6573 2e20 2028 3129 2020 466f 7220 6578 es. (1) For ex\n+0000d100: 616d 706c 652c 0a20 2073 7065 6369 616c ample,. special\n+0000d110: 7c5c 7469 6b7a 7374 796c 657b 6d79 706f |\\tikzstyle{mypo\n+0000d120: 6c79 676f 6e73 7479 6c65 7d20 3d20 5b66 lygonstyle} = [f\n+0000d130: 696c 6c3d 626c 7565 2132 302c 6669 6c6c ill=blue!20,fill\n+0000d140: 206f 7061 6369 7479 3d30 2e38 5d7c 5b6c opacity=0.8]|[l\n+0000d150: 6179 3d75 6e64 6572 5d0a 2020 7370 6563 ay=under]. spec\n+0000d160: 6961 6c7c 5c74 696b 7a73 7479 6c65 7b6d ial|\\tikzstyle{m\n+0000d170: 796c 696e 6573 7479 6c65 7d20 3d20 5b72 ylinestyle} = [r\n+0000d180: 6564 2132 302c 6461 7368 6564 5d7c 5b6c ed!20,dashed]|[l\n+0000d190: 6179 3d75 6e64 6572 5d0a 5468 6520 6175 ay=under].The au\n+0000d1a0: 7468 6f72 2069 7320 7265 7370 6f6e 7369 thor is responsi\n+0000d1b0: 626c 6520 666f 7220 7573 696e 6720 7468 ble for using th\n+0000d1c0: 6520 6b65 792c 20e2 8098 6c69 6e65 2073 e key, ...line s\n+0000d1d0: 7479 6c65 e280 9920 6f72 20e2 8098 6669 tyle... or ...fi\n+0000d1e0: 6c6c 0a73 7479 6c65 e280 992c 2074 6861 ll.style..., tha\n+0000d1f0: 7420 6d61 7463 6865 7320 7468 6520 636f t matches the co\n+0000d200: 6e74 656e 7420 6f66 2074 6865 2073 7479 ntent of the sty\n+0000d210: 6c65 2064 6566 696e 6974 696f 6e2e 0a0a le definition...\n+0000d220: 2020 202d 2d2d 2d2d 2d2d 2d2d 2d20 466f ---------- Fo\n+0000d230: 6f74 6e6f 7465 7320 2d2d 2d2d 2d2d 2d2d otnotes --------\n+0000d240: 2d2d 0a0a 2020 2028 3129 2054 6869 7320 --.. (1) This \n+0000d250: 636c 6576 6572 2074 7269 636b 2069 7320 clever trick is \n+0000d260: 6475 6520 746f 204b 6a65 6c6c 204d 6167 due to Kjell Mag\n+0000d270: 6e65 2046 6175 736b 652e 0a0a 1f0a 4669 ne Fauske.....Fi\n+0000d280: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+0000d290: 2020 4e6f 6465 3a20 5472 616e 7370 6172 Node: Transpar\n+0000d2a0: 656e 6379 2c20 204e 6578 743a 2049 6e74 ency, Next: Int\n+0000d2b0: 6572 6e61 6c20 6f70 7469 6f6e 732c 2020 ernal options, \n+0000d2c0: 5072 6576 3a20 5469 6b5a 2f50 4746 2075 Prev: TikZ/PGF u\n+0000d2d0: 7365 722d 6465 6669 6e65 6420 7374 796c ser-defined styl\n+0000d2e0: 6573 2c20 2055 703a 204f 7074 696f 6e73 es, Up: Options\n+0000d2f0: 0a0a 332e 312e 352e 3520 5472 616e 7370 ..3.1.5.5 Transp\n+0000d300: 6172 656e 6379 0a2e 2e2e 2e2e 2e2e 2e2e arency..........\n+0000d310: 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a42 6f74 .............Bot\n+0000d320: 6820 e280 9850 5354 7269 636b 73e2 8099 h ...PSTricks...\n+0000d330: 2061 6e64 20e2 8098 5469 6b5a 2f50 4746 and ...TikZ/PGF\n+0000d340: e280 9920 7375 7070 6f72 7420 706f 6c79 ... support poly\n+0000d350: 676f 6e20 6f70 7469 6f6e 7320 7468 6174 gon options that\n+0000d360: 2068 6176 6520 7468 650a 6566 6665 6374 have the.effect\n+0000d370: 206f 6620 6d61 6b69 6e67 2074 6865 2070 of making the p\n+0000d380: 6f6c 7967 6f6e 2061 7070 6561 7220 7472 olygon appear tr\n+0000d390: 616e 7370 6172 656e 742e 2020 466f 7220 ansparent. For \n+0000d3a0: e280 9850 5354 7269 636b 73e2 8099 2c0a ...PSTricks...,.\n+0000d3b0: 6b65 7977 6f72 6420 e280 9874 7261 6e73 keyword ...trans\n+0000d3c0: 7061 6c70 6861 e280 9920 7761 7320 7573 palpha... was us\n+0000d3d0: 6564 2064 7572 696e 6720 696e 6974 6961 ed during initia\n+0000d3e0: 6c20 6465 7665 6c6f 706d 656e 7420 6f66 l development of\n+0000d3f0: 0a74 7261 6e73 7061 7265 6e63 7920 6665 .transparency fe\n+0000d400: 6174 7572 6573 2c20 616e 6420 e280 986f atures, and ...o\n+0000d410: 7061 6369 7479 e280 9920 7761 7320 6164 pacity... was ad\n+0000d420: 6f70 7465 6420 6c61 7465 722e 2020 e280 opted later. ..\n+0000d430: 9853 6b65 7463 68e2 8099 2068 6f6e 6f72 .Sketch... honor\n+0000d440: 730a 626f 7468 2e20 20e2 8098 5469 6b5a s.both. ...TikZ\n+0000d450: 2f50 4746 e280 9920 7573 6573 20e2 8098 /PGF... uses ...\n+0000d460: 6f70 6163 6974 79e2 8099 206f 6e6c 792e opacity... only.\n+0000d470: 2020 5768 656e 2074 7261 6e73 7061 7265 When transpare\n+0000d480: 6e74 2070 6f6c 7967 6f6e 7320 6172 6520 nt polygons are \n+0000d490: 696e 0a74 6865 2066 6f72 6567 726f 756e in.the foregroun\n+0000d4a0: 642c 206f 626a 6563 7473 2062 6568 696e d, objects behin\n+0000d4b0: 6420 7468 656d 2028 6472 6177 6e20 6561 d them (drawn ea\n+0000d4c0: 726c 6965 7229 2061 7265 2076 6973 6962 rlier) are visib\n+0000d4d0: 6c65 2077 6974 680a 636f 6c6f 7220 7375 le with.color su\n+0000d4e0: 6264 7565 6420 616e 6420 7469 6e74 6564 bdued and tinted\n+0000d4f0: 2e20 2054 6865 2068 6964 6465 6e20 7375 . The hidden su\n+0000d500: 7266 6163 6520 616c 676f 7269 7468 6d20 rface algorithm \n+0000d510: 6f66 20e2 8098 736b 6574 6368 e280 990a of ...sketch....\n+0000d520: 776f 726b 7320 7765 6c6c 2077 6974 6820 works well with \n+0000d530: 7375 6368 2074 7261 6e73 7061 7265 6e74 such transparent\n+0000d540: 2070 6f6c 7967 6f6e 732e 0a0a 2020 204e polygons... N\n+0000d550: 6f74 6520 7468 6174 2063 756c 6c3d 6661 ote that cull=fa\n+0000d560: 6c73 6520 6d75 7374 2062 6520 7573 6564 lse must be used\n+0000d570: 2066 6f72 2072 6561 722d 6661 6369 6e67 for rear-facing\n+0000d580: 2070 6f6c 7967 6f6e 7320 746f 2062 650a polygons to be.\n+0000d590: 7669 7369 626c 6520 7768 656e 2070 6f73 visible when pos\n+0000d5a0: 6974 696f 6e65 6420 6265 6869 6e64 206f itioned behind o\n+0000d5b0: 7468 6572 2074 7261 6e73 7061 7265 6e74 ther transparent\n+0000d5c0: 2073 7572 6661 6365 732e 0a0a 1f0a 4669 surfaces.....Fi\n+0000d5d0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+0000d5e0: 2020 4e6f 6465 3a20 496e 7465 726e 616c Node: Internal\n+0000d5f0: 206f 7074 696f 6e73 2c20 2050 7265 763a options, Prev:\n+0000d600: 2054 7261 6e73 7061 7265 6e63 792c 2020 Transparency, \n+0000d610: 5570 3a20 4f70 7469 6f6e 730a 0a33 2e31 Up: Options..3.1\n+0000d620: 2e35 2e36 2049 6e74 6572 6e61 6c20 6f70 .5.6 Internal op\n+0000d630: 7469 6f6e 730a 2e2e 2e2e 2e2e 2e2e 2e2e tions...........\n+0000d640: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................\n+0000d650: 5468 6572 6520 6172 6520 616c 736f 205f There are also _\n+0000d660: 696e 7465 726e 616c 5f20 6f70 7469 6f6e internal_ option\n+0000d670: 7320 7573 6564 206f 6e6c 7920 6279 20e2 s used only by .\n+0000d680: 8098 736b 6574 6368 e280 9920 616e 6420 ..sketch... and \n+0000d690: 6e6f 7420 7061 7373 6564 0a6f 6e20 746f not passed.on to\n+0000d6a0: 20e2 8098 5053 5472 6963 6b73 e280 992e ...PSTricks....\n+0000d6b0: 2020 5468 6573 6520 6172 6520 7375 6d6d These are summ\n+0000d6c0: 6172 697a 6564 2069 6e20 7468 6520 666f arized in the fo\n+0000d6d0: 6c6c 6f77 696e 6720 7461 626c 652e 0a4b llowing table..K\n+0000d6e0: 6579 2020 2020 2020 2050 6f73 7369 626c ey Possibl\n+0000d6f0: 6520 7661 6c75 6573 2020 2020 2020 2020 e values \n+0000d700: 2044 6573 6372 6970 7469 6f6e 0a2d 2d2d Description.---\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 2d0a e280 9863 756c 6ce2 -------....cull.\n-0000d770: 8099 2020 2020 e280 9874 7275 65e2 8099 .. ...true...\n-0000d780: 2c20 e280 9866 616c 7365 e280 9920 2020 , ...false... \n-0000d790: 2020 2020 2020 5475 726e 2063 756c 6c69 Turn culli\n-0000d7a0: 6e67 206f 6620 6261 636b 6661 6365 7320 ng of backfaces \n-0000d7b0: 6f6e 2061 6e64 206f 6666 2072 6573 7065 on and off respe\n-0000d7c0: 6374 6976 656c 7920 666f 7220 7468 6973 ctively for this\n-0000d7d0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000d760: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a e280 -------------...\n+0000d770: 9863 756c 6ce2 8099 2020 2020 e280 9874 .cull... ...t\n+0000d780: 7275 65e2 8099 2c20 e280 9866 616c 7365 rue..., ...false\n+0000d790: e280 9920 2020 2020 2020 2020 5475 726e ... Turn\n+0000d7a0: 2063 756c 6c69 6e67 206f 6620 6261 636b culling of back\n+0000d7b0: 6661 6365 7320 6f6e 2061 6e64 206f 6666 faces on and off\n+0000d7c0: 2072 6573 7065 6374 6976 656c 7920 666f respectively fo\n+0000d7d0: 7220 7468 6973 0a20 2020 2020 2020 2020 r this. \n 0000d7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d7f0: 2020 206f 626a 6563 742e 2020 5468 6520 object. The \n-0000d800: 6465 6661 756c 7420 7661 6c75 6520 6973 default value is\n-0000d810: 20e2 8098 7472 7565 e280 992e 0ae2 8098 ...true........\n-0000d820: 6c61 79e2 8099 2020 2020 20e2 8098 6f76 lay... ...ov\n-0000d830: 6572 e280 992c 20e2 8098 696e e280 992c er..., ...in...,\n-0000d840: 20e2 8098 756e 6465 72e2 8099 2020 2046 ...under... F\n-0000d850: 6f72 6365 2074 6869 7320 6f62 6a65 6374 orce this object\n-0000d860: 2074 6f20 6265 20e2 8098 756e 6465 72e2 to be ...under.\n-0000d870: 8099 206f 7220 e280 986f 7665 72e2 8099 .. or ...over...\n-0000d880: 2061 6c6c 206f 7468 6572 206f 626a 6563 all other objec\n-0000d890: 7473 0a20 2020 2020 2020 2020 2020 2020 ts. \n+0000d7f0: 2020 2020 2020 2020 206f 626a 6563 742e object.\n+0000d800: 2020 5468 6520 6465 6661 756c 7420 7661 The default va\n+0000d810: 6c75 6520 6973 20e2 8098 7472 7565 e280 lue is ...true..\n+0000d820: 992e 0ae2 8098 6c61 79e2 8099 2020 2020 ......lay... \n+0000d830: 20e2 8098 6f76 6572 e280 992c 20e2 8098 ...over..., ...\n+0000d840: 696e e280 992c 20e2 8098 756e 6465 72e2 in..., ...under.\n+0000d850: 8099 2020 2046 6f72 6365 2074 6869 7320 .. Force this \n+0000d860: 6f62 6a65 6374 2074 6f20 6265 20e2 8098 object to be ...\n+0000d870: 756e 6465 72e2 8099 206f 7220 e280 986f under... or ...o\n+0000d880: 7665 72e2 8099 2061 6c6c 206f 7468 6572 ver... all other\n+0000d890: 206f 626a 6563 7473 0a20 2020 2020 2020 objects. \n 0000d8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d8b0: 2020 2020 2069 6e20 7468 6520 6465 7074 in the dept\n-0000d8c0: 6820 736f 7274 206f 7264 6572 2063 7265 h sort order cre\n-0000d8d0: 6174 6564 2062 7920 7468 6520 6869 6464 ated by the hidd\n-0000d8e0: 656e 2073 7572 6661 6365 0a20 2020 2020 en surface. \n-0000d8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d900: 2020 2020 2020 2020 2020 2020 2061 6c67 alg\n-0000d910: 6f72 6974 686d 2e20 2054 6865 2064 6566 orithm. The def\n-0000d920: 6175 6c74 2076 616c 7565 20e2 8098 6f76 ault value ...ov\n-0000d930: 6572 e280 9920 6775 6172 616e 7465 6573 er... guarantees\n-0000d940: 2074 6861 7420 6f75 7470 7574 0a20 2020 that output. \n-0000d950: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000d960: 2020 2020 2020 2020 2020 2020 2020 2064 d\n-0000d970: 7565 2074 6f20 7468 6520 e280 9873 7065 ue to the ...spe\n-0000d980: 6369 616c e280 9920 7769 6c6c 2062 6520 cial... will be \n-0000d990: 7669 7369 626c 652e 0ae2 8098 7370 6c69 visible.....spli\n-0000d9a0: 74e2 8099 2020 20e2 8098 7472 7565 e280 t... ...true..\n-0000d9b0: 992c 20e2 8098 6661 6c73 65e2 8099 2020 ., ...false... \n-0000d9c0: 2020 2020 2020 2054 7572 6e20 7370 6c69 Turn spli\n-0000d9d0: 7474 696e 6720 6f66 2073 7765 6570 2d67 tting of sweep-g\n-0000d9e0: 656e 6572 6174 6564 2062 6f64 7920 706f enerated body po\n-0000d9f0: 6c79 676f 6e73 206f 6e20 616e 6420 6f66 lygons on and of\n-0000da00: 660a 2020 2020 2020 2020 2020 2020 2020 f. \n+0000d8b0: 2020 2020 2020 2020 2020 2069 6e20 7468 in th\n+0000d8c0: 6520 6465 7074 6820 736f 7274 206f 7264 e depth sort ord\n+0000d8d0: 6572 2063 7265 6174 6564 2062 7920 7468 er created by th\n+0000d8e0: 6520 6869 6464 656e 2073 7572 6661 6365 e hidden surface\n+0000d8f0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000d900: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d910: 2020 2061 6c67 6f72 6974 686d 2e20 2054 algorithm. T\n+0000d920: 6865 2064 6566 6175 6c74 2076 616c 7565 he default value\n+0000d930: 20e2 8098 6f76 6572 e280 9920 6775 6172 ...over... guar\n+0000d940: 616e 7465 6573 2074 6861 7420 6f75 7470 antees that outp\n+0000d950: 7574 0a20 2020 2020 2020 2020 2020 2020 ut. \n+0000d960: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000d970: 2020 2020 2064 7565 2074 6f20 7468 6520 due to the \n+0000d980: e280 9873 7065 6369 616c e280 9920 7769 ...special... wi\n+0000d990: 6c6c 2062 6520 7669 7369 626c 652e 0ae2 ll be visible...\n+0000d9a0: 8098 7370 6c69 74e2 8099 2020 20e2 8098 ..split... ...\n+0000d9b0: 7472 7565 e280 992c 20e2 8098 6661 6c73 true..., ...fals\n+0000d9c0: 65e2 8099 2020 2020 2020 2020 2054 7572 e... Tur\n+0000d9d0: 6e20 7370 6c69 7474 696e 6720 6f66 2073 n splitting of s\n+0000d9e0: 7765 6570 2d67 656e 6572 6174 6564 2062 weep-generated b\n+0000d9f0: 6f64 7920 706f 6c79 676f 6e73 206f 6e20 ody polygons on \n+0000da00: 616e 6420 6f66 660a 2020 2020 2020 2020 and off. \n 0000da10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da20: 2020 2020 7265 7370 6563 7469 7665 6c79 respectively\n-0000da30: 2e20 202a 4e6f 7465 2053 7765 6570 733a . *Note Sweeps:\n-0000da40: 3a2e 2020 5468 6520 6465 6661 756c 7420 :. The default \n-0000da50: 7661 6c75 6520 e280 9874 7275 65e2 8099 value ...true...\n-0000da60: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0000da20: 2020 2020 2020 2020 2020 7265 7370 6563 respec\n+0000da30: 7469 7665 6c79 2e20 202a 4e6f 7465 2053 tively. *Note S\n+0000da40: 7765 6570 733a 3a2e 2020 5468 6520 6465 weeps::. The de\n+0000da50: 6661 756c 7420 7661 6c75 6520 e280 9874 fault value ...t\n+0000da60: 7275 65e2 8099 0a20 2020 2020 2020 2020 rue.... \n 0000da70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000da80: 2020 2063 6175 7365 7320 2277 6172 7065 causes \"warpe\n-0000da90: 6422 2070 6f6c 7967 6f6e 7320 746f 2062 d\" polygons to b\n-0000daa0: 6520 7370 6c69 7420 696e 746f 2074 7269 e split into tri\n-0000dab0: 616e 676c 6573 2c20 7768 6963 680a 2020 angles, which. \n-0000dac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000da80: 2020 2020 2020 2020 2063 6175 7365 7320 causes \n+0000da90: 2277 6172 7065 6422 2070 6f6c 7967 6f6e \"warped\" polygon\n+0000daa0: 7320 746f 2062 6520 7370 6c69 7420 696e s to be split in\n+0000dab0: 746f 2074 7269 616e 676c 6573 2c20 7768 to triangles, wh\n+0000dac0: 6963 680a 2020 2020 2020 2020 2020 2020 ich. \n 0000dad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dae0: 6176 6f69 6473 206d 6973 7461 6b65 7320 avoids mistakes \n-0000daf0: 6279 2074 6865 2068 6964 6465 6e20 7375 by the hidden su\n-0000db00: 7266 6163 6520 616c 676f 7269 7468 6d2e rface algorithm.\n-0000db10: 0a0a 332e 312e 3620 506f 696e 7420 6c69 ..3.1.6 Point li\n-0000db20: 7374 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d sts.------------\n-0000db30: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:*\n-0000db40: 0a20 2020 2020 2858 312c 5931 2c5a 3129 . (X1,Y1,Z1)\n-0000db50: 2858 322c 5932 2c5a 3229 2e2e 2e0a 4120 (X2,Y2,Z2)....A \n-0000db60: 7365 7175 656e 6365 206f 6620 6f6e 6520 sequence of one \n-0000db70: 6f72 206d 6f72 6520 706f 696e 7473 206d or more points m\n-0000db80: 616b 6573 2061 2070 6f69 6e74 206c 6973 akes a point lis\n-0000db90: 742c 2061 2066 6561 7475 7265 2063 6f6d t, a feature com\n-0000dba0: 6d6f 6e20 746f 0a61 6c6c 2064 7261 7761 mon to.all drawa\n-0000dbb0: 626c 6573 2e20 2045 6163 6820 6f66 2074 bles. Each of t\n-0000dbc0: 6865 2070 6f69 6e74 2063 6f6d 706f 6e65 he point compone\n-0000dbd0: 6e74 7320 6973 2061 2073 6361 6c61 7220 nts is a scalar \n-0000dbe0: 6172 6974 686d 6574 6963 0a65 7870 7265 arithmetic.expre\n-0000dbf0: 7373 696f 6e2e 2020 416e 7920 706f 696e ssion. Any poin\n-0000dc00: 7420 6d61 7920 6861 7665 2074 6865 207a t may have the z\n-0000dc10: 2d63 6f6d 706f 6e65 6e74 206f 6d69 7474 -component omitt\n-0000dc20: 6564 3b20 6974 2077 696c 6c20 6465 6661 ed; it will defa\n-0000dc30: 756c 740a 746f 207a 3d30 2e0a 0a2a 204d ult.to z=0...* M\n-0000dc40: 656e 753a 0a0a 2a20 4472 6177 6162 6c65 enu:..* Drawable\n-0000dc50: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n-0000dc60: 2020 2020 2020 5468 696e 6773 2074 6861 Things tha\n-0000dc70: 7420 6172 6520 6472 6177 6e2e 0a2a 2044 t are drawn..* D\n-0000dc80: 6566 696e 6974 696f 6e73 3a3a 2020 2020 efinitions:: \n-0000dc90: 2020 2020 2020 2020 2020 2020 2054 6869 Thi\n-0000dca0: 6e67 7320 7769 7468 206e 616d 6573 2e0a ngs with names..\n-0000dcb0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n-0000dcc0: 696e 666f 2c20 204e 6f64 653a 2044 7261 info, Node: Dra\n-0000dcd0: 7761 626c 6573 2c20 204e 6578 743a 2044 wables, Next: D\n-0000dce0: 6566 696e 6974 696f 6e73 2c20 2050 7265 efinitions, Pre\n-0000dcf0: 763a 204c 616e 6775 6167 6520 6261 7369 v: Language basi\n-0000dd00: 6373 2c20 2055 703a 2049 6e70 7574 206c cs, Up: Input l\n-0000dd10: 616e 6775 6167 650a 0a33 2e32 2044 7261 anguage..3.2 Dra\n-0000dd20: 7761 626c 6573 0a3d 3d3d 3d3d 3d3d 3d3d wables.=========\n-0000dd30: 3d3d 3d3d 0a0a 4472 6177 6162 6c65 7320 ====..Drawables \n-0000dd40: 6172 6520 7369 6d70 6c79 20e2 8098 736b are simply ...sk\n-0000dd50: 6574 6368 e280 9920 6f62 6a65 6374 7320 etch... objects \n-0000dd60: 7468 6174 206d 6967 6874 2061 7070 6561 that might appea\n-0000dd70: 7220 696e 2074 6865 2064 7261 7769 6e67 r in the drawing\n-0000dd80: 2e0a 5468 6579 2069 6e63 6c75 6465 2064 ..They include d\n-0000dd90: 6f74 732c 2070 6f6c 796c 696e 6573 2c20 ots, polylines, \n-0000dda0: 6375 7276 6573 2c20 706f 6c79 676f 6e73 curves, polygons\n-0000ddb0: 2c20 616e 6420 6d6f 7265 2063 6f6d 706c , and more compl\n-0000ddc0: 6578 206f 626a 6563 7473 0a74 6861 7420 ex objects.that \n-0000ddd0: 6172 6520 6275 696c 7420 7570 2066 726f are built up fro\n-0000dde0: 6d20 7369 6d70 6c65 7220 6f6e 6573 2069 m simpler ones i\n-0000ddf0: 6e20 7661 7269 6f75 7320 7761 7973 2e20 n various ways. \n-0000de00: 2046 696e 616c 6c79 2c20 e280 9c73 7065 Finally, ...spe\n-0000de10: 6369 616c e280 9d0a 6f62 6a65 6374 7320 cial....objects \n-0000de20: 6172 6520 7468 6f73 6520 636f 6d70 6f73 are those compos\n-0000de30: 6564 206f 6620 4c61 5465 5820 6f72 20e2 ed of LaTeX or .\n-0000de40: 8098 5053 5472 6963 6b73 e280 9920 636f ..PSTricks... co\n-0000de50: 6465 2c20 7065 7268 6170 730a 696e 636c de, perhaps.incl\n-0000de60: 7564 696e 6720 636f 6f72 6469 6e61 7465 uding coordinate\n-0000de70: 7320 616e 6420 616e 676c 6573 2063 6f6d s and angles com\n-0000de80: 7075 7465 6420 6279 20e2 8098 736b 6574 puted by ...sket\n-0000de90: 6368 e280 992e 0a0a 2a20 4d65 6e75 3a0a ch......* Menu:.\n-0000dea0: 0a2a 2044 6f74 733a 3a20 2020 2020 2020 .* Dots:: \n+0000dae0: 2020 2020 2020 6176 6f69 6473 206d 6973 avoids mis\n+0000daf0: 7461 6b65 7320 6279 2074 6865 2068 6964 takes by the hid\n+0000db00: 6465 6e20 7375 7266 6163 6520 616c 676f den surface algo\n+0000db10: 7269 7468 6d2e 0a0a 332e 312e 3620 506f rithm...3.1.6 Po\n+0000db20: 696e 7420 6c69 7374 730a 2d2d 2d2d 2d2d int lists.------\n+0000db30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 -----------..*Sy\n+0000db40: 6e74 6178 3a2a 0a20 2020 2020 2858 312c ntax:*. (X1,\n+0000db50: 5931 2c5a 3129 2858 322c 5932 2c5a 3229 Y1,Z1)(X2,Y2,Z2)\n+0000db60: 2e2e 2e0a 4120 7365 7175 656e 6365 206f ....A sequence o\n+0000db70: 6620 6f6e 6520 6f72 206d 6f72 6520 706f f one or more po\n+0000db80: 696e 7473 206d 616b 6573 2061 2070 6f69 ints makes a poi\n+0000db90: 6e74 206c 6973 742c 2061 2066 6561 7475 nt list, a featu\n+0000dba0: 7265 2063 6f6d 6d6f 6e20 746f 0a61 6c6c re common to.all\n+0000dbb0: 2064 7261 7761 626c 6573 2e20 2045 6163 drawables. Eac\n+0000dbc0: 6820 6f66 2074 6865 2070 6f69 6e74 2063 h of the point c\n+0000dbd0: 6f6d 706f 6e65 6e74 7320 6973 2061 2073 omponents is a s\n+0000dbe0: 6361 6c61 7220 6172 6974 686d 6574 6963 calar arithmetic\n+0000dbf0: 0a65 7870 7265 7373 696f 6e2e 2020 416e .expression. An\n+0000dc00: 7920 706f 696e 7420 6d61 7920 6861 7665 y point may have\n+0000dc10: 2074 6865 207a 2d63 6f6d 706f 6e65 6e74 the z-component\n+0000dc20: 206f 6d69 7474 6564 3b20 6974 2077 696c omitted; it wil\n+0000dc30: 6c20 6465 6661 756c 740a 746f 207a 3d30 l default.to z=0\n+0000dc40: 2e0a 0a2a 204d 656e 753a 0a0a 2a20 4472 ...* Menu:..* Dr\n+0000dc50: 6177 6162 6c65 733a 3a20 2020 2020 2020 awables:: \n+0000dc60: 2020 2020 2020 2020 2020 2020 5468 696e Thin\n+0000dc70: 6773 2074 6861 7420 6172 6520 6472 6177 gs that are draw\n+0000dc80: 6e2e 0a2a 2044 6566 696e 6974 696f 6e73 n..* Definitions\n+0000dc90: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n+0000dca0: 2020 2054 6869 6e67 7320 7769 7468 206e Things with n\n+0000dcb0: 616d 6573 2e0a 0a1f 0a46 696c 653a 2073 ames.....File: s\n+0000dcc0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+0000dcd0: 653a 2044 7261 7761 626c 6573 2c20 204e e: Drawables, N\n+0000dce0: 6578 743a 2044 6566 696e 6974 696f 6e73 ext: Definitions\n+0000dcf0: 2c20 2050 7265 763a 204c 616e 6775 6167 , Prev: Languag\n+0000dd00: 6520 6261 7369 6373 2c20 2055 703a 2049 e basics, Up: I\n+0000dd10: 6e70 7574 206c 616e 6775 6167 650a 0a33 nput language..3\n+0000dd20: 2e32 2044 7261 7761 626c 6573 0a3d 3d3d .2 Drawables.===\n+0000dd30: 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 4472 6177 ==========..Draw\n+0000dd40: 6162 6c65 7320 6172 6520 7369 6d70 6c79 ables are simply\n+0000dd50: 20e2 8098 736b 6574 6368 e280 9920 6f62 ...sketch... ob\n+0000dd60: 6a65 6374 7320 7468 6174 206d 6967 6874 jects that might\n+0000dd70: 2061 7070 6561 7220 696e 2074 6865 2064 appear in the d\n+0000dd80: 7261 7769 6e67 2e0a 5468 6579 2069 6e63 rawing..They inc\n+0000dd90: 6c75 6465 2064 6f74 732c 2070 6f6c 796c lude dots, polyl\n+0000dda0: 696e 6573 2c20 6375 7276 6573 2c20 706f ines, curves, po\n+0000ddb0: 6c79 676f 6e73 2c20 616e 6420 6d6f 7265 lygons, and more\n+0000ddc0: 2063 6f6d 706c 6578 206f 626a 6563 7473 complex objects\n+0000ddd0: 0a74 6861 7420 6172 6520 6275 696c 7420 .that are built \n+0000dde0: 7570 2066 726f 6d20 7369 6d70 6c65 7220 up from simpler \n+0000ddf0: 6f6e 6573 2069 6e20 7661 7269 6f75 7320 ones in various \n+0000de00: 7761 7973 2e20 2046 696e 616c 6c79 2c20 ways. Finally, \n+0000de10: e280 9c73 7065 6369 616c e280 9d0a 6f62 ...special....ob\n+0000de20: 6a65 6374 7320 6172 6520 7468 6f73 6520 jects are those \n+0000de30: 636f 6d70 6f73 6564 206f 6620 4c61 5465 composed of LaTe\n+0000de40: 5820 6f72 20e2 8098 5053 5472 6963 6b73 X or ...PSTricks\n+0000de50: e280 9920 636f 6465 2c20 7065 7268 6170 ... code, perhap\n+0000de60: 730a 696e 636c 7564 696e 6720 636f 6f72 s.including coor\n+0000de70: 6469 6e61 7465 7320 616e 6420 616e 676c dinates and angl\n+0000de80: 6573 2063 6f6d 7075 7465 6420 6279 20e2 es computed by .\n+0000de90: 8098 736b 6574 6368 e280 992e 0a0a 2a20 ..sketch......* \n+0000dea0: 4d65 6e75 3a0a 0a2a 2044 6f74 733a 3a20 Menu:..* Dots:: \n 0000deb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0000dec0: 2044 7261 7720 646f 7473 2e0a 2a20 4c69 Draw dots..* Li\n-0000ded0: 6e65 733a 3a20 2020 2020 2020 2020 2020 nes:: \n-0000dee0: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n-0000def0: 2070 6f6c 796c 696e 6573 2e0a 2a20 4375 polylines..* Cu\n-0000df00: 7276 6573 3a3a 2020 2020 2020 2020 2020 rves:: \n-0000df10: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n-0000df20: 2063 7572 7665 732e 0a2a 2050 6f6c 7967 curves..* Polyg\n-0000df30: 6f6e 733a 3a20 2020 2020 2020 2020 2020 ons:: \n-0000df40: 2020 2020 2020 2020 2044 7261 7720 706f Draw po\n-0000df50: 6c79 676f 6e73 2e0a 2a20 5370 6563 6961 lygons..* Specia\n-0000df60: 6c73 3a3a 2020 2020 2020 2020 2020 2020 ls:: \n-0000df70: 2020 2020 2020 2020 456d 6265 6420 7261 Embed ra\n-0000df80: 7720 4c61 5465 5820 616e 6420 e280 9850 w LaTeX and ...P\n-0000df90: 5354 7269 636b 73e2 8099 2e0a 2a20 5377 STricks.....* Sw\n-0000dfa0: 6565 7073 3a3a 2020 2020 2020 2020 2020 eeps:: \n-0000dfb0: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n-0000dfc0: 2073 7765 6570 7320 6f66 2064 6f74 7320 sweeps of dots \n-0000dfd0: 616e 6420 706f 6c79 6c69 6e65 732e 0a2a and polylines..*\n-0000dfe0: 2042 6c6f 636b 733a 3a20 2020 2020 2020 Blocks:: \n-0000dff0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0000e000: 726f 7570 206f 7468 6572 2064 7261 7761 roup other drawa\n-0000e010: 626c 6573 2e0a 2a20 5265 7065 6174 733a bles..* Repeats:\n-0000e020: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0000e030: 2020 2020 2020 4472 6177 2074 7261 6e73 Draw trans\n-0000e040: 666f 726d 6564 2063 6f70 6965 7320 6f66 formed copies of\n-0000e050: 206f 626a 6563 7473 2e0a 2a20 5075 7473 objects..* Puts\n-0000e060: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-0000e070: 2020 2020 2020 2020 2020 4472 6177 206f Draw o\n-0000e080: 6e65 206f 626a 6563 7420 7472 616e 7366 ne object transf\n-0000e090: 6f72 6d65 642e 0a0a 1f0a 4669 6c65 3a20 ormed.....File: \n-0000e0a0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-0000e0b0: 6465 3a20 446f 7473 2c20 204e 6578 743a de: Dots, Next:\n-0000e0c0: 204c 696e 6573 2c20 2050 7265 763a 2044 Lines, Prev: D\n-0000e0d0: 7261 7761 626c 6573 2c20 2055 703a 2044 rawables, Up: D\n-0000e0e0: 7261 7761 626c 6573 0a0a 332e 322e 3120 rawables..3.2.1 \n-0000e0f0: 446f 7473 0a2d 2d2d 2d2d 2d2d 2d2d 2d0a Dots.----------.\n-0000e100: 0a2a 5379 6e74 6178 3a2a 0a20 2020 2020 .*Syntax:*. \n-0000e110: 646f 7473 5b4f 5054 494f 4e53 5d20 504f dots[OPTIONS] PO\n-0000e120: 494e 545f 4c49 5354 0a54 6869 7320 636f INT_LIST.This co\n-0000e130: 6d6d 616e 6420 6973 2074 6865 2074 6872 mmand is the thr\n-0000e140: 6565 2d64 696d 656e 7369 6f6e 616c 2065 ee-dimensional e\n-0000e150: 7175 6976 616c 656e 7420 6f66 2074 6865 quivalent of the\n-0000e160: 20e2 8098 5053 5472 6963 6b73 e280 990a ...PSTricks....\n-0000e170: 636f 6d6d 616e 6420 e280 985c 7073 646f command ...\\psdo\n-0000e180: 7473 e280 992e 0a0a 1f0a 4669 6c65 3a20 ts........File: \n-0000e190: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n-0000e1a0: 6465 3a20 4c69 6e65 732c 2020 4e65 7874 de: Lines, Next\n-0000e1b0: 3a20 4375 7276 6573 2c20 2050 7265 763a : Curves, Prev:\n-0000e1c0: 2044 6f74 732c 2020 5570 3a20 4472 6177 Dots, Up: Draw\n-0000e1d0: 6162 6c65 730a 0a33 2e32 2e32 204c 696e ables..3.2.2 Lin\n-0000e1e0: 6573 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a es.-----------..\n-0000e1f0: 2a53 796e 7461 783a 2a0a 2020 2020 206c *Syntax:*. l\n-0000e200: 696e 655b 4f50 5449 4f4e 535d 2050 4f49 ine[OPTIONS] POI\n-0000e210: 4e54 5f4c 4953 540a 5468 6973 2063 6f6d NT_LIST.This com\n-0000e220: 6d61 6e64 2069 7320 7468 6520 7468 7265 mand is the thre\n-0000e230: 652d 6469 6d65 6e73 696f 6e61 6c20 6571 e-dimensional eq\n-0000e240: 7569 7661 6c65 6e74 206f 6620 7468 6520 uivalent of the \n-0000e250: e280 9850 5354 7269 636b 73e2 8099 0a63 ...PSTricks....c\n-0000e260: 6f6d 6d61 6e64 20e2 8098 5c70 736c 696e ommand ...\\pslin\n-0000e270: 65e2 8099 2e0a 0a1f 0a46 696c 653a 2073 e........File: s\n-0000e280: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-0000e290: 653a 2043 7572 7665 732c 2020 4e65 7874 e: Curves, Next\n-0000e2a0: 3a20 506f 6c79 676f 6e73 2c20 2050 7265 : Polygons, Pre\n-0000e2b0: 763a 204c 696e 6573 2c20 2055 703a 2044 v: Lines, Up: D\n-0000e2c0: 7261 7761 626c 6573 0a0a 332e 322e 3320 rawables..3.2.3 \n-0000e2d0: 4375 7276 6573 0a2d 2d2d 2d2d 2d2d 2d2d Curves.---------\n-0000e2e0: 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 ---..*Syntax:*. \n-0000e2f0: 2020 2020 6375 7276 655b 4f50 5449 4f4e curve[OPTION\n-0000e300: 535d 2050 4f49 4e54 5f4c 4953 540a 5468 S] POINT_LIST.Th\n-0000e310: 6973 2063 6f6d 6d61 6e64 2069 7320 7468 is command is th\n-0000e320: 6520 7468 7265 652d 6469 6d65 6e73 696f e three-dimensio\n-0000e330: 6e61 6c20 6571 7569 7661 6c65 6e74 206f nal equivalent o\n-0000e340: 6620 7468 6520 e280 9850 5354 7269 636b f the ...PSTrick\n-0000e350: 73e2 8099 0a63 6f6d 6d61 6e64 20e2 8098 s....command ...\n-0000e360: 5c70 7363 7572 7665 e280 992e 2020 4974 \\pscurve.... It\n-0000e370: 2069 7320 6e6f 7420 696d 706c 656d 656e is not implemen\n-0000e380: 7465 6420 696e 2074 6865 2063 7572 7265 ted in the curre\n-0000e390: 6e74 2076 6572 7369 6f6e 206f 660a e280 nt version of...\n-0000e3a0: 9873 6b65 7463 68e2 8099 2e0a 0a1f 0a46 .sketch........F\n-0000e3b0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-0000e3c0: 2c20 204e 6f64 653a 2050 6f6c 7967 6f6e , Node: Polygon\n-0000e3d0: 732c 2020 4e65 7874 3a20 5370 6563 6961 s, Next: Specia\n-0000e3e0: 6c73 2c20 2050 7265 763a 2043 7572 7665 ls, Prev: Curve\n-0000e3f0: 732c 2020 5570 3a20 4472 6177 6162 6c65 s, Up: Drawable\n-0000e400: 730a 0a33 2e32 2e34 2050 6f6c 7967 6f6e s..3.2.4 Polygon\n-0000e410: 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d s.--------------\n-0000e420: 0a0a 2a53 796e 7461 783a 2a0a 2020 2020 ..*Syntax:*. \n-0000e430: 2070 6f6c 7967 6f6e 5b4f 5054 494f 4e53 polygon[OPTIONS\n-0000e440: 5d20 504f 494e 545f 4c49 5354 0a54 6869 ] POINT_LIST.Thi\n-0000e450: 7320 636f 6d6d 616e 6420 6973 2074 6865 s command is the\n-0000e460: 2074 6872 6565 2d64 696d 656e 7369 6f6e three-dimension\n-0000e470: 616c 2065 7175 6976 616c 656e 7420 6f66 al equivalent of\n-0000e480: 2074 6865 20e2 8098 5053 5472 6963 6b73 the ...PSTricks\n-0000e490: e280 990a 636f 6d6d 616e 6420 e280 985c ....command ...\\\n-0000e4a0: 7073 706f 6c79 676f 6ee2 8099 2e20 2054 pspolygon.... T\n-0000e4b0: 6865 20e2 8098 736b 6574 6368 e280 9920 he ...sketch... \n-0000e4c0: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a\n-0000e4d0: 6c67 6f72 6974 686d 2061 7373 756d 6573 lgorithm assumes\n-0000e4e0: 0a74 6861 7420 706f 6c79 676f 6e73 2061 .that polygons a\n-0000e4f0: 7265 2063 6f6e 7665 7820 616e 6420 706c re convex and pl\n-0000e500: 616e 6172 2e20 2049 6e20 7072 6163 7469 anar. In practi\n-0000e510: 6365 2c20 6472 6177 696e 6773 206d 6179 ce, drawings may\n-0000e520: 2077 656c 6c0a 7475 726e 206f 7574 2063 well.turn out c\n-0000e530: 6f72 7265 6374 6c79 2065 7665 6e20 6966 orrectly even if\n-0000e540: 2074 6865 7365 2061 7373 756d 7074 696f these assumptio\n-0000e550: 6e73 2061 7265 2076 696f 6c61 7465 642e ns are violated.\n-0000e560: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-0000e570: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5370 .info, Node: Sp\n-0000e580: 6563 6961 6c73 2c20 204e 6578 743a 2053 ecials, Next: S\n-0000e590: 7765 6570 732c 2020 5072 6576 3a20 506f weeps, Prev: Po\n-0000e5a0: 6c79 676f 6e73 2c20 2055 703a 2044 7261 lygons, Up: Dra\n-0000e5b0: 7761 626c 6573 0a0a 332e 322e 3520 5370 wables..3.2.5 Sp\n-0000e5c0: 6563 6961 6c73 0a2d 2d2d 2d2d 2d2d 2d2d ecials.---------\n-0000e5d0: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:*\n-0000e5e0: 0a20 2020 2020 7370 6563 6961 6c20 2452 . special $R\n-0000e5f0: 4157 5f54 4558 5424 5b4f 5054 494f 4e53 AW_TEXT$[OPTIONS\n-0000e600: 5d20 4152 475f 4c49 5354 0a48 6572 6520 ] ARG_LIST.Here \n-0000e610: e280 9824 e280 9920 6361 6e20 6265 2061 ...$... can be a\n-0000e620: 6e79 2063 6861 7261 6374 6572 2061 6e64 ny character and\n-0000e630: 2069 7320 7573 6564 2074 6f20 6465 6c69 is used to deli\n-0000e640: 6d69 7420 7468 6520 7374 6172 7420 616e mit the start an\n-0000e650: 6420 656e 640a 6f66 2052 4157 5f54 4558 d end.of RAW_TEX\n-0000e660: 542e 2020 5468 6520 636f 6d6d 616e 6420 T. The command \n-0000e670: 656d 6265 6473 2052 4157 5f54 4558 5420 embeds RAW_TEXT \n-0000e680: 696e 2074 6865 20e2 8098 736b 6574 6368 in the ...sketch\n-0000e690: e280 9920 6f75 7470 7574 2061 6674 6572 ... output after\n-0000e6a0: 0a70 6572 666f 726d 696e 6720 7375 6273 .performing subs\n-0000e6b0: 7469 7475 7469 6f6e 7320 6173 2066 6f6c titutions as fol\n-0000e6c0: 6c6f 7773 2e0a 2020 20e2 80a2 20e2 8098 lows.. ... ...\n-0000e6d0: 2349 e280 9920 7768 6572 6520 4920 6973 #I... where I is\n-0000e6e0: 2061 2070 6f73 6974 6976 6520 696e 7465 a positive inte\n-0000e6f0: 6765 7220 6973 2072 6570 6c61 6365 6420 ger is replaced \n-0000e700: 6279 2074 6865 2049 2774 6820 7661 6c75 by the I'th valu\n-0000e710: 6520 696e 0a20 2020 2020 4152 475f 4c49 e in. ARG_LI\n-0000e720: 5354 2e20 2050 6f69 6e74 2061 6e64 2076 ST. Point and v\n-0000e730: 6563 746f 7220 6172 6775 6d65 6e74 7320 ector arguments \n-0000e740: 6265 636f 6d65 2074 776f 2d64 696d 656e become two-dimen\n-0000e750: 7369 6f6e 616c 0a20 2020 2020 706f 696e sional. poin\n-0000e760: 7473 2c20 7768 6963 6820 6172 6520 7468 ts, which are th\n-0000e770: 6520 7472 616e 7366 6f72 6d65 6420 3364 e transformed 3d\n-0000e780: 2061 7267 756d 656e 7473 2070 726f 6a65 arguments proje\n-0000e790: 6374 6564 206f 6e74 6f20 7468 650a 2020 cted onto the. \n-0000e7a0: 2020 2058 2d59 2070 6c61 6e65 2e20 2054 X-Y plane. T\n-0000e7b0: 6869 7320 616c 6c6f 7773 2074 776f 2d64 his allows two-d\n-0000e7c0: 696d 656e 7469 6f6e 616c 206f 7574 7075 imentional outpu\n-0000e7d0: 7420 656c 656d 656e 7473 2073 7563 6820 t elements such \n-0000e7e0: 6173 0a20 2020 2020 6c61 6265 6c73 2074 as. labels t\n-0000e7f0: 6f20 6265 2065 6173 696c 7920 706f 7369 o be easily posi\n-0000e800: 7469 6f6e 6564 2077 6974 6820 7265 7370 tioned with resp\n-0000e810: 6563 7420 746f 2074 6872 6565 2d64 696d ect to three-dim\n-0000e820: 656e 7369 6f6e 616c 0a20 2020 2020 6665 ensional. fe\n-0000e830: 6174 7572 6573 2069 6e20 7468 6520 6472 atures in the dr\n-0000e840: 6177 696e 672e 2020 5363 616c 6172 2061 awing. Scalar a\n-0000e850: 7267 756d 656e 7473 2061 7265 2073 7562 rguments are sub\n-0000e860: 7369 7475 7465 6420 6469 7265 6374 6c79 situted directly\n-0000e870: 2e0a 2020 2020 204e 6f20 7472 616e 7366 .. No transf\n-0000e880: 6f72 6d61 7469 6f6e 2069 7320 6170 706c ormation is appl\n-0000e890: 6965 642e 0a20 2020 e280 a220 e280 9823 ied.. ... ...#\n-0000e8a0: 7b49 7de2 8099 2069 7320 616c 736f 2072 {I}... is also r\n-0000e8b0: 6570 6c61 6365 6420 6173 2061 626f 7665 eplaced as above\n-0000e8c0: 2e0a 2020 20e2 80a2 20e2 8098 2349 2732 .. ... ...#I'2\n-0000e8d0: e280 9920 6973 2072 6570 6c61 6365 6420 ... is replaced \n-0000e8e0: 6173 2061 626f 7665 2066 6f72 2070 6f69 as above for poi\n-0000e8f0: 6e74 7320 6f72 2076 6563 746f 7273 2e20 nts or vectors. \n-0000e900: 2049 7420 6973 2061 6e20 6572 726f 720a It is an error.\n-0000e910: 2020 2020 2066 6f72 2074 6865 2049 2774 for the I't\n-0000e920: 6820 6172 6775 6d65 6e74 2074 6f20 6265 h argument to be\n-0000e930: 2061 2073 6361 6c61 722e 0a20 2020 e280 a scalar.. ..\n-0000e940: a220 e280 9823 4927 78e2 8099 2c20 e280 . ...#I'x..., ..\n-0000e950: 9823 4927 79e2 8099 2c20 6f72 20e2 8098 .#I'y..., or ...\n-0000e960: 2349 277a e280 9920 6973 2072 6570 6c61 #I'z... is repla\n-0000e970: 6365 642c 2072 6573 7065 6374 6976 656c ced, respectivel\n-0000e980: 792c 2062 7920 7468 6520 7363 616c 6172 y, by the scalar\n-0000e990: 0a20 2020 2020 582c 2059 2c20 6f72 205a . X, Y, or Z\n-0000e9a0: 2d63 6f6f 7264 696e 6174 6520 6f66 2074 -coordinate of t\n-0000e9b0: 6865 2061 7267 756d 656e 7420 706f 696e he argument poin\n-0000e9c0: 7420 6f72 2076 6563 746f 722e 2020 4974 t or vector. It\n-0000e9d0: 2069 7320 616e 0a20 2020 2020 6572 726f is an. erro\n-0000e9e0: 7220 666f 7220 7468 6520 4927 7468 2061 r for the I'th a\n-0000e9f0: 7267 756d 656e 7420 746f 2062 6520 6120 rgument to be a \n-0000ea00: 7363 616c 6172 2e0a 2020 20e2 80a2 20e2 scalar.. ... .\n-0000ea10: 8098 2349 2733 e280 9920 6973 2072 6570 ..#I'3... is rep\n-0000ea20: 6c61 6365 6420 6279 2074 6865 2074 6872 laced by the thr\n-0000ea30: 6565 2d64 696d 656e 7369 6f6e 616c 2074 ee-dimensional t\n-0000ea40: 7261 6e73 666f 726d 6564 2061 7267 756d ransformed argum\n-0000ea50: 656e 742e 0a20 2020 2020 4e6f 7465 2074 ent.. Note t\n-0000ea60: 6861 7420 6966 2061 2070 6572 7370 6563 hat if a perspec\n-0000ea70: 7469 7665 2074 7261 6e73 666f 726d 6174 tive transformat\n-0000ea80: 696f 6e20 6861 7320 6265 656e 2061 7070 ion has been app\n-0000ea90: 6c69 6564 2c20 7468 650a 2020 2020 205a lied, the. Z\n-0000eaa0: 2d63 6f6f 7264 696e 6174 6520 6861 7320 -coordinate has \n-0000eab0: 6c69 7474 6c65 2067 656f 6d65 7472 6963 little geometric\n-0000eac0: 2073 6967 6e69 6669 6361 6e63 652c 2074 significance, t\n-0000ead0: 686f 7567 6820 6974 0a20 2020 2020 6163 hough it. ac\n-0000eae0: 6375 7261 7465 6c79 2069 6e64 6963 6174 curately indicat\n-0000eaf0: 6573 2072 656c 6174 6976 6520 6465 7074 es relative dept\n-0000eb00: 682e 0a20 2020 e280 a220 e280 9823 492d h.. ... ...#I-\n-0000eb10: 4ae2 8099 2077 6865 7265 2049 2061 6e64 J... where I and\n-0000eb20: 204a 2061 7265 2070 6f73 6974 6976 6520 J are positive \n-0000eb30: 696e 7465 6765 7273 2069 7320 7265 706c integers is repl\n-0000eb40: 6163 6564 2062 7920 6120 7374 7269 6e67 aced by a string\n-0000eb50: 0a20 2020 2020 e280 987b 414e 474c 457d . ...{ANGLE}\n-0000eb60: e280 9920 7768 6572 6520 414e 474c 4520 ... where ANGLE \n-0000eb70: 6973 2074 6865 2070 6f6c 6172 2061 6e67 is the polar ang\n-0000eb80: 6c65 206f 6620 6120 7665 6374 6f72 2066 le of a vector f\n-0000eb90: 726f 6d20 7468 6520 4927 7468 0a20 2020 rom the I'th. \n-0000eba0: 2020 706f 696e 7420 696e 2050 4f49 4e54 point in POINT\n-0000ebb0: 5f4c 4953 5420 746f 2074 6865 204a 2774 _LIST to the J't\n-0000ebc0: 6820 706f 696e 7420 7072 6f6a 6563 7465 h point projecte\n-0000ebd0: 6420 696e 746f 2074 6865 2078 2d79 2070 d into the x-y p\n-0000ebe0: 6c61 6e65 2e0a 2020 2020 2049 7420 6973 lane.. It is\n-0000ebf0: 2061 6e20 6572 726f 7220 666f 7220 7468 an error for th\n-0000ec00: 6520 4927 7468 206f 7220 4a27 7468 2061 e I'th or J'th a\n-0000ec10: 7267 756d 656e 7420 746f 2062 6520 6120 rgument to be a \n-0000ec20: 7363 616c 6172 206f 7220 610a 2020 2020 scalar or a. \n-0000ec30: 2076 6563 746f 722e 0a20 2020 e280 a220 vector.. ... \n-0000ec40: e280 9823 7b49 2d4a 7de2 8099 2069 7320 ...#{I-J}... is \n-0000ec50: 616c 736f 2072 6570 6c61 6365 6420 6173 also replaced as\n-0000ec60: 2061 626f 7665 2e0a 2020 20e2 80a2 20e2 above.. ... .\n-0000ec70: 8098 2323 e280 9920 6973 2072 6570 6c61 ..##... is repla\n-0000ec80: 6365 6420 7769 7468 20e2 8098 23e2 8099 ced with ...#...\n-0000ec90: 2e0a 5468 6520 666f 726d 7320 7769 7468 ..The forms with\n-0000eca0: 2062 7261 6365 7320 e280 987b 207d e280 braces ...{ }..\n-0000ecb0: 9920 6172 6520 7573 6566 756c 2077 6865 . are useful whe\n-0000ecc0: 6e20 7468 6520 6172 6775 6d65 6e74 2069 n the argument i\n-0000ecd0: 7320 696d 6d65 6469 6174 656c 790a 666f s immediately.fo\n-0000ece0: 6c6c 6f77 6564 2062 7920 6120 6469 6769 llowed by a digi\n-0000ecf0: 7420 6f72 2061 2074 6963 6b20 6368 6172 t or a tick char\n-0000ed00: 6163 7465 7220 7468 6174 2069 7320 7061 acter that is pa\n-0000ed10: 7274 206f 6620 7468 6520 5465 5820 636f rt of the TeX co\n-0000ed20: 6465 2e0a 0a20 2020 5468 6520 6f6e 6c79 de... The only\n-0000ed30: 2075 7365 6675 6c20 6f70 7469 6f6e 206f useful option o\n-0000ed40: 6620 e280 9873 7065 6369 616c e280 9920 f ...special... \n-0000ed50: 6973 20e2 8098 6c61 79e2 8099 2c20 7768 is ...lay..., wh\n-0000ed60: 6963 6820 6465 7465 726d 696e 6573 2069 ich determines i\n-0000ed70: 6620 7468 650a 7375 6273 7469 7475 6564 f the.substitued\n-0000ed80: 2072 6177 2074 6578 7420 6973 2065 6d69 raw text is emi\n-0000ed90: 7474 6564 2062 6566 6f72 652c 2061 6674 tted before, aft\n-0000eda0: 6572 2c20 6f72 2075 7369 6e67 2074 6865 er, or using the\n-0000edb0: 2066 6972 7374 2070 6f69 6e74 0a69 6e20 first point.in \n-0000edc0: 504f 494e 545f 4c49 5354 2061 7320 616e POINT_LIST as an\n-0000edd0: 2069 6e64 6963 6174 6f72 206f 6620 6465 indicator of de\n-0000ede0: 7074 682e 2020 5468 6573 6520 6f63 6375 pth. These occu\n-0000edf0: 722c 2072 6573 7065 6374 6976 656c 792c r, respectively,\n-0000ee00: 2077 6974 680a e280 986c 6179 3d75 6e64 with....lay=und\n-0000ee10: 6572 e280 992c 20e2 8098 6c61 793d 6f76 er..., ...lay=ov\n-0000ee20: 6572 e280 992c 2061 6e64 20e2 8098 6c61 er..., and ...la\n-0000ee30: 793d 696e e280 992e 2020 5365 6520 2a6e y=in.... See *n\n-0000ee40: 6f74 6520 5370 6563 6961 6c20 6f62 6a65 ote Special obje\n-0000ee50: 6374 733a 3a20 616e 640a 2a6e 6f74 6520 cts:: and.*note \n-0000ee60: 5469 6b5a 2f50 4746 2075 7365 722d 6465 TikZ/PGF user-de\n-0000ee70: 6669 6e65 6420 7374 796c 6573 3a3a 2066 fined styles:: f\n-0000ee80: 6f72 2065 7861 6d70 6c65 732e 2020 2a4e or examples. *N\n-0000ee90: 6f74 6520 496e 7465 726e 616c 0a6f 7074 ote Internal.opt\n-0000eea0: 696f 6e73 3a3a 2e0a 0a1f 0a46 696c 653a ions::.....File:\n-0000eeb0: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-0000eec0: 6f64 653a 2053 7765 6570 732c 2020 4e65 ode: Sweeps, Ne\n-0000eed0: 7874 3a20 426c 6f63 6b73 2c20 2050 7265 xt: Blocks, Pre\n-0000eee0: 763a 2053 7065 6369 616c 732c 2020 5570 v: Specials, Up\n-0000eef0: 3a20 4472 6177 6162 6c65 730a 0a33 2e32 : Drawables..3.2\n-0000ef00: 2e36 2053 7765 6570 730a 2d2d 2d2d 2d2d .6 Sweeps.------\n-0000ef10: 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 783a ------..*Syntax:\n-0000ef20: 2a0a 2020 2020 2073 7765 6570 207b 204e *. sweep { N\n-0000ef30: 2c20 545f 312c 2054 5f32 2c20 2e2e 2e2c , T_1, T_2, ...,\n-0000ef40: 2054 5f52 207d 5b4f 5054 494f 4e53 5d20 T_R }[OPTIONS] \n-0000ef50: 5357 4550 545f 4f42 4a45 4354 0a20 2020 SWEPT_OBJECT. \n-0000ef60: 2020 7377 6565 7020 7b20 4e3c 3e2c 2054 sweep { N<>, T\n-0000ef70: 5f31 2c20 545f 322c 202e 2e2e 2c20 545f _1, T_2, ..., T_\n-0000ef80: 5220 7d5b 4f50 5449 4f4e 535d 2053 5745 R }[OPTIONS] SWE\n-0000ef90: 5054 5f4f 424a 4543 540a 5468 6520 7377 PT_OBJECT.The sw\n-0000efa0: 6565 7020 636f 6e6e 6563 7473 204e 2028 eep connects N (\n-0000efb0: 6f72 2070 6572 6861 7073 204e 2b31 2920 or perhaps N+1) \n-0000efc0: 636f 7069 6573 206f 6620 5357 4550 545f copies of SWEPT_\n-0000efd0: 4f42 4a45 4354 2069 6e20 6f72 6465 7220 OBJECT in order \n-0000efe0: 746f 0a63 7265 6174 6520 6120 6e65 7720 to.create a new \n-0000eff0: 6f62 6a65 6374 206f 6620 6869 6768 6572 object of higher\n-0000f000: 2064 696d 656e 7369 6f6e 2e20 2054 6865 dimension. The\n-0000f010: 2054 5f49 2028 666f 7220 6920 6265 7477 T_I (for i betw\n-0000f020: 6565 6e20 3120 616e 640a 7229 2061 7265 een 1 and.r) are\n-0000f030: 2074 7261 6e73 666f 726d 732e 2020 5468 transforms. Th\n-0000f040: 6520 6b27 7468 2063 6f70 7920 6f66 2053 e k'th copy of S\n-0000f050: 5745 5054 5f4f 424a 4543 5420 6973 2070 WEPT_OBJECT is p\n-0000f060: 726f 6475 6365 6420 6279 0a61 7070 6c79 roduced by.apply\n-0000f070: 696e 6720 7468 6520 666f 6c6c 6f77 696e ing the followin\n-0000f080: 6720 7472 616e 7366 6f72 6d20 746f 2074 g transform to t\n-0000f090: 6865 206f 7269 6769 6e61 6c2e 0a20 2020 he original.. \n-0000f0a0: 2020 545f 315e 6b20 7468 656e 2054 5f32 T_1^k then T_2\n-0000f0b0: 5e6b 2074 6865 6e20 2e2e 2e20 7468 656e ^k then ... then\n-0000f0c0: 2054 5f52 5e6b 0a48 6572 6520 545e 6b20 T_R^k.Here T^k \n-0000f0d0: 6d65 616e 7320 2274 7261 6e73 666f 726d means \"transform\n-0000f0e0: 2054 2061 7070 6c69 6564 206b 2074 696d T applied k tim\n-0000f0f0: 6573 2e22 2020 5468 6520 6f72 6967 696e es.\" The origin\n-0000f100: 616c 206f 626a 6563 7420 6973 0a74 6865 al object is.the\n-0000f110: 207a 6572 6f27 7468 2063 6f70 792c 2077 zero'th copy, w\n-0000f120: 6974 6820 6b3d 3020 616e 6420 6566 6665 ith k=0 and effe\n-0000f130: 6374 6976 656c 7920 6e6f 2074 7261 6e73 ctively no trans\n-0000f140: 666f 726d 2061 7070 6c69 6564 2028 545e form applied (T^\n-0000f150: 303d 492c 0a74 6865 2069 6465 6e74 6974 0=I,.the identit\n-0000f160: 7920 7472 616e 7366 6f72 6d29 2e0a 0a20 y transform)... \n-0000f170: 2020 5468 6520 6d65 7468 6f64 206f 6620 The method of \n-0000f180: 636f 6e6e 6563 7469 6e67 2074 6865 2063 connecting the c\n-0000f190: 6f70 6965 7320 6465 7065 6e64 7320 6f6e opies depends on\n-0000f1a0: 2074 6865 2074 7970 6520 6f66 0a53 5745 the type of.SWE\n-0000f1b0: 5054 5f4f 424a 4543 5420 616e 6420 6f6e PT_OBJECT and on\n-0000f1c0: 2077 6865 7468 6572 2074 6865 2063 6c6f whether the clo\n-0000f1d0: 7375 7265 2074 6167 20e2 8098 3c3e e280 sure tag ...<>..\n-0000f1e0: 9920 6973 2070 7265 7365 6e74 206f 7220 . is present or \n-0000f1f0: 6e6f 742e 0a0a 2020 2041 6e20 6578 616d not... An exam\n-0000f200: 706c 6520 6f66 2061 2073 7765 6570 2077 ple of a sweep w\n-0000f210: 6865 7265 2072 3d32 2069 7320 7468 6520 here r=2 is the \n-0000f220: 4d6f 6269 7573 2066 6967 7572 6520 6174 Mobius figure at\n-0000f230: 202a 6e6f 7465 204d 6f72 6520 746f 0a6c *note More to.l\n-0000f240: 6561 726e 3a3a 2e0a 0a2a 204d 656e 753a earn::...* Menu:\n-0000f250: 0a0a 2a20 5377 6570 7420 706f 696e 7473 ..* Swept points\n-0000f260: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n-0000f270: 2020 5377 6570 7420 706f 696e 7473 206d Swept points m\n-0000f280: 616b 6520 6c69 6e65 7320 6f72 2070 6f6c ake lines or pol\n-0000f290: 7967 6f6e 732e 0a2a 2053 7765 7074 206c ygons..* Swept l\n-0000f2a0: 696e 6573 3a3a 2020 2020 2020 2020 2020 ines:: \n-0000f2b0: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin\n-0000f2c0: 6573 206d 616b 6520 6f70 656e 206f 7220 es make open or \n-0000f2d0: 636c 6f73 6564 2073 7572 6661 6365 732e closed surfaces.\n-0000f2e0: 0a2a 2053 7765 7074 2070 6f6c 7967 6f6e .* Swept polygon\n-0000f2f0: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n-0000f300: 2053 7765 7074 2070 6f6c 7967 6f6e 7320 Swept polygons \n-0000f310: 6d61 6b65 2063 6c6f 7365 6420 7375 7266 make closed surf\n-0000f320: 6163 6573 2e0a 2a20 5377 6570 7420 626c aces..* Swept bl\n-0000f330: 6f63 6b73 3a3a 2020 2020 2020 2020 2020 ocks:: \n-0000f340: 2020 2020 2020 5377 6570 7420 626c 6f63 Swept bloc\n-0000f350: 6b20 e289 a120 626c 6f63 6b20 6f66 2073 k ... block of s\n-0000f360: 7765 6570 732e 0a2a 2053 7765 6570 2066 weeps..* Sweep f\n-0000f370: 6163 6520 7370 6c69 7474 696e 673a 3a20 ace splitting:: \n-0000f380: 2020 2020 2020 2046 6978 696e 6720 7761 Fixing wa\n-0000f390: 7270 6564 2066 6163 6573 2077 6974 6820 rped faces with \n-0000f3a0: 7472 6961 6e67 6c65 732e 0a0a 1f0a 4669 triangles.....Fi\n-0000f3b0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-0000f3c0: 2020 4e6f 6465 3a20 5377 6570 7420 706f Node: Swept po\n-0000f3d0: 696e 7473 2c20 204e 6578 743a 2053 7765 ints, Next: Swe\n-0000f3e0: 7074 206c 696e 6573 2c20 2050 7265 763a pt lines, Prev:\n-0000f3f0: 2053 7765 6570 732c 2020 5570 3a20 5377 Sweeps, Up: Sw\n-0000f400: 6565 7073 0a0a 332e 322e 362e 3120 5377 eeps..3.2.6.1 Sw\n-0000f410: 6570 7420 706f 696e 7473 0a2e 2e2e 2e2e ept points......\n-0000f420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................\n-0000f430: 0a49 6620 5357 4550 545f 4f42 4a45 4354 .If SWEPT_OBJECT\n-0000f440: 2069 7320 6120 706f 696e 7420 6c69 7374 is a point list\n-0000f450: 2061 6e64 2074 6865 7265 2069 7320 6e6f and there is no\n-0000f460: 2063 6c6f 7375 7265 2074 6167 2c20 7468 closure tag, th\n-0000f470: 656e 0ae2 8098 7377 6565 70e2 8099 2063 en....sweep... c\n-0000f480: 6f6e 6e65 6374 7320 4e2b 3120 7375 6363 onnects N+1 succ\n-0000f490: 6573 7369 7665 2063 6f70 6965 7320 6f66 essive copies of\n-0000f4a0: 2065 6163 6820 706f 696e 7420 2869 6e63 each point (inc\n-0000f4b0: 6c75 6469 6e67 2074 6865 0a6f 7269 6769 luding the.origi\n-0000f4c0: 6e61 6c29 2077 6974 6820 7374 7261 6967 nal) with straig\n-0000f4d0: 6874 206c 696e 6520 7365 676d 656e 7473 ht line segments\n-0000f4e0: 2074 6f20 666f 726d 2061 2070 6f6c 796c to form a polyl\n-0000f4f0: 696e 652e 2020 4966 2074 6865 7265 2061 ine. If there a\n-0000f500: 7265 0a6d 2070 6f69 6e74 7320 696e 2074 re.m points in t\n-0000f510: 6865 206f 7269 6769 6e61 6c20 706f 696e he original poin\n-0000f520: 7420 6c69 7374 2c20 7468 656e 206d 2070 t list, then m p\n-0000f530: 6f6c 796c 696e 6573 2077 6974 6820 4e20 olylines with N \n-0000f540: 7365 676d 656e 7473 0a65 6163 6820 6172 segments.each ar\n-0000f550: 6520 666f 726d 6564 2062 7920 7468 6520 e formed by the \n-0000f560: 7377 6565 702e 2020 496e 2074 6869 7320 sweep. In this \n-0000f570: 6d61 6e6e 6572 2c20 e280 9873 7765 6570 manner, ...sweep\n-0000f580: e280 9920 666f 726d 7320 6120 7365 7420 ... forms a set \n-0000f590: 6f66 0a6f 6e65 2d64 696d 656e 7369 6f6e of.one-dimension\n-0000f5a0: 616c 206f 626a 6563 7473 2028 706f 6c79 al objects (poly\n-0000f5b0: 6c69 6e65 7329 2066 726f 6d20 7a65 726f lines) from zero\n-0000f5c0: 2d64 696d 656e 7369 6f6e 616c 206f 6e65 -dimensional one\n-0000f5d0: 7320 2870 6f69 6e74 7329 2e0a 0a20 2020 s (points)... \n-0000f5e0: 5768 656e 2074 6865 7265 205f 6973 5f20 When there _is_ \n-0000f5f0: 6120 636c 6f73 7572 6520 7461 672c 20e2 a closure tag, .\n-0000f600: 8098 7377 6565 70e2 8099 2063 6f6e 6e65 ..sweep... conne\n-0000f610: 6374 7320 4e20 7375 6363 6573 7369 7665 cts N successive\n-0000f620: 2063 6f70 6965 730a 6f66 2065 6163 6820 copies.of each \n-0000f630: 706f 696e 7420 2869 6e63 6c75 6469 6e67 point (including\n-0000f640: 2074 6865 206f 7269 6769 6e61 6c29 2077 the original) w\n-0000f650: 6974 6820 7374 7261 6967 6874 206c 696e ith straight lin\n-0000f660: 6520 7365 676d 656e 7473 2061 6e64 0a66 e segments and.f\n-0000f670: 696e 616c 6c79 2063 6f6e 6e65 6374 7320 inally connects \n-0000f680: 7468 6520 6c61 7374 2063 6f70 7920 6261 the last copy ba\n-0000f690: 636b 2074 6f20 7468 6520 6f72 6967 696e ck to the origin\n-0000f6a0: 616c 2074 6f20 666f 726d 2061 2070 6f6c al to form a pol\n-0000f6b0: 7967 6f6e 0a77 6974 6820 4e20 7369 6465 ygon.with N side\n-0000f6c0: 732e 2020 4966 2074 6865 7265 2061 7265 s. If there are\n-0000f6d0: 206d 2070 6f69 6e74 7320 696e 2074 6865 m points in the\n-0000f6e0: 206f 7269 6769 6e61 6c20 706f 696e 7420 original point \n-0000f6f0: 6c69 7374 2c20 7468 656e 206d 0a70 6f6c list, then m.pol\n-0000f700: 7967 6f6e 7320 7769 7468 204e 2073 6964 ygons with N sid\n-0000f710: 6573 2065 6163 6820 6172 6520 666f 726d es each are form\n-0000f720: 6564 2062 7920 7468 6520 7377 6565 702e ed by the sweep.\n-0000f730: 2020 496e 2074 6869 7320 6d61 6e6e 6572 In this manner\n-0000f740: 2c0a e280 9873 7765 6570 e280 9920 666f ,....sweep... fo\n-0000f750: 726d 7320 6120 7365 7420 6f66 2074 776f rms a set of two\n-0000f760: 2d64 696d 656e 7369 6f6e 616c 206f 626a -dimensional obj\n-0000f770: 6563 7473 2028 706f 6c79 676f 6e73 2920 ects (polygons) \n-0000f780: 6672 6f6d 0a7a 6572 6f2d 6469 6d65 6e73 from.zero-dimens\n-0000f790: 696f 6e61 6c20 6f6e 6573 2028 706f 696e ional ones (poin\n-0000f7a0: 7473 292e 0a0a 2020 204f 7074 696f 6e73 ts)... Options\n-0000f7b0: 206f 6620 7468 6520 e280 9873 7765 6570 of the ...sweep\n-0000f7c0: e280 9920 6172 6520 636f 7069 6564 2064 ... are copied d\n-0000f7d0: 6972 6563 746c 7920 746f 2074 6865 2072 irectly to the r\n-0000f7e0: 6573 756c 7469 6e67 0a70 6f6c 796c 696e esulting.polylin\n-0000f7f0: 6528 7329 2e0a 0a1f 0a46 696c 653a 2073 e(s).....File: s\n-0000f800: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-0000f810: 653a 2053 7765 7074 206c 696e 6573 2c20 e: Swept lines, \n-0000f820: 204e 6578 743a 2053 7765 7074 2070 6f6c Next: Swept pol\n-0000f830: 7967 6f6e 732c 2020 5072 6576 3a20 5377 ygons, Prev: Sw\n-0000f840: 6570 7420 706f 696e 7473 2c20 2055 703a ept points, Up:\n-0000f850: 2053 7765 6570 730a 0a33 2e32 2e36 2e32 Sweeps..3.2.6.2\n-0000f860: 2053 7765 7074 206c 696e 6573 0a2e 2e2e Swept lines....\n-0000f870: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-0000f880: 0a0a 4966 2053 5745 5054 5f4f 424a 4543 ..If SWEPT_OBJEC\n-0000f890: 5420 6973 2061 2070 6f6c 796c 696e 6520 T is a polyline \n-0000f8a0: 616e 6420 7468 6572 6520 6973 206e 6f20 and there is no \n-0000f8b0: 636c 6f73 7572 6520 7461 672c 2074 6865 closure tag, the\n-0000f8c0: 6e20 e280 9873 7765 6570 e280 990a 636f n ...sweep....co\n-0000f8d0: 6e6e 6563 7473 204e 2b31 2073 7563 6365 nnects N+1 succe\n-0000f8e0: 7373 6976 6520 636f 7069 6573 206f 6620 ssive copies of \n-0000f8f0: 7468 6520 706f 6c79 6c69 6e65 2028 696e the polyline (in\n-0000f900: 636c 7564 696e 6720 7468 6520 6f72 6967 cluding the orig\n-0000f910: 696e 616c 290a 7769 7468 2066 6f75 722d inal).with four-\n-0000f920: 7369 6465 6420 706f 6c79 676f 6e73 2c20 sided polygons, \n-0000f930: 6561 6368 2070 6169 7220 6f66 2063 6f70 each pair of cop\n-0000f940: 6965 7320 6769 7669 6e67 2072 6973 6520 ies giving rise \n-0000f950: 746f 2061 2022 706f 6c79 676f 6e0a 7374 to a \"polygon.st\n-0000f960: 7269 702e 2220 2049 6620 7468 6572 6520 rip.\" If there \n-0000f970: 6172 6520 6d20 706f 696e 7473 2069 6e20 are m points in \n-0000f980: 7468 6520 6f72 6967 696e 616c 2070 6f6c the original pol\n-0000f990: 796c 696e 652c 2074 6865 6e20 286d 2d31 yline, then (m-1\n-0000f9a0: 294e 0a70 6f6c 7967 6f6e 7320 6172 6520 )N.polygons are \n-0000f9b0: 666f 726d 6564 2062 7920 7468 6520 7377 formed by the sw\n-0000f9c0: 6565 702e 2020 5765 2063 616c 6c20 7468 eep. We call th\n-0000f9d0: 6573 6520 e280 9c62 6f64 7920 706f 6c79 ese ...body poly\n-0000f9e0: 676f 6e73 e280 9d2e 2020 496e 0a74 6869 gons.... In.thi\n-0000f9f0: 7320 6d61 6e6e 6572 2c20 e280 9873 7765 s manner, ...swe\n-0000fa00: 6570 e280 9920 666f 726d 7320 6120 7477 ep... forms a tw\n-0000fa10: 6f2d 6469 6d65 6e73 696f 6e61 6c20 7375 o-dimensional su\n-0000fa20: 7266 6163 6520 6672 6f6d 2066 726f 6d20 rface from from \n-0000fa30: 610a 6f6e 652d 6469 6d65 6e73 696f 6e61 a.one-dimensiona\n-0000fa40: 6c20 706f 6c79 6c69 6e65 2e0a 0a20 2020 l polyline... \n-0000fa50: 5468 6520 6f72 6465 7220 6f66 2076 6572 The order of ver\n-0000fa60: 7469 6365 7320 7072 6f64 7563 6564 2062 tices produced b\n-0000fa70: 7920 e280 9873 7765 6570 e280 9920 6973 y ...sweep... is\n-0000fa80: 2069 6d70 6f72 7461 6e74 2e20 2049 6620 important. If \n-0000fa90: 610a 706f 6c79 676f 6e27 7320 7665 7274 a.polygon's vert\n-0000faa0: 6963 6573 2064 6f20 6e6f 7420 6170 7065 ices do not appe\n-0000fab0: 6172 2069 6e20 636f 756e 7465 722d 636c ar in counter-cl\n-0000fac0: 6f63 6b77 6973 6520 6f72 6465 7220 696e ockwise order in\n-0000fad0: 2074 6865 2066 696e 616c 0a69 6d61 6765 the final.image\n-0000fae0: 2c20 7468 6520 706f 6c79 676f 6e20 7769 , the polygon wi\n-0000faf0: 6c6c 2062 6520 6375 6c6c 6564 2028 756e ll be culled (un\n-0000fb00: 6c65 7373 20e2 8098 6375 6c6c 3d66 616c less ...cull=fal\n-0000fb10: 7365 e280 9920 6973 2073 6574 292e 2020 se... is set). \n-0000fb20: 4966 2074 6865 0a70 6f69 6e74 7320 696e If the.points in\n-0000fb30: 2074 6865 206b 2774 6820 636f 7079 206f the k'th copy o\n-0000fb40: 6620 7468 6520 706f 6c79 6c69 6e65 2061 f the polyline a\n-0000fb50: 7265 2050 5f31 2c20 505f 322c 202e 2e2e re P_1, P_2, ...\n-0000fb60: 2c20 505f 6d2c 2061 6e64 2074 6865 0a70 , P_m, and the.p\n-0000fb70: 6f69 6e74 7320 696e 2074 6865 206e 6578 oints in the nex\n-0000fb80: 7420 636f 7079 2c20 7468 6520 286b 2b31 t copy, the (k+1\n-0000fb90: 2973 742c 2061 7265 2050 5f31 272c 2050 )st, are P_1', P\n-0000fba0: 5f32 272c 202e 2e2e 2c20 505f 6d27 2c20 _2', ..., P_m', \n-0000fbb0: 7468 656e 0a74 6865 2076 6572 7465 7820 then.the vertex \n-0000fbc0: 6f72 6465 7220 6f66 2074 6865 2067 656e order of the gen\n-0000fbd0: 6572 6174 6564 2070 6f6c 7967 6f6e 7320 erated polygons \n-0000fbe0: 6973 0a20 2020 2020 426f 6479 2070 6f6c is. Body pol\n-0000fbf0: 7967 6f6e 2031 3a20 505f 3220 505f 3120 ygon 1: P_2 P_1 \n-0000fc00: 505f 3127 2050 5f32 270a 2020 2020 2042 P_1' P_2'. B\n-0000fc10: 6f64 7920 706f 6c79 676f 6e20 323a 2050 ody polygon 2: P\n-0000fc20: 5f33 2050 5f32 2050 5f32 2720 505f 3327 _3 P_2 P_2' P_3'\n-0000fc30: 0a20 2020 2020 2e2e 2e0a 2020 2020 2042 . .... B\n-0000fc40: 6f64 7920 706f 6c79 676f 6e20 6d2d 313a ody polygon m-1:\n-0000fc50: 2050 5f6d 2050 5f7b 6d2d 317d 2050 5f7b P_m P_{m-1} P_{\n-0000fc60: 6d2d 317d 2720 505f 6d27 0a0a 2020 204f m-1}' P_m'.. O\n-0000fc70: 7074 696f 6e73 206f 6620 756e 636c 6f73 ptions of unclos\n-0000fc80: 6564 206c 696e 6520 7377 6565 7073 2061 ed line sweeps a\n-0000fc90: 7265 2063 6f70 6965 6420 746f 2065 6163 re copied to eac\n-0000fca0: 6820 6f75 7470 7574 2070 6f6c 7967 6f6e h output polygon\n-0000fcb0: 2e0a 4f70 7469 6f6e 7320 6f66 2074 6865 ..Options of the\n-0000fcc0: 2073 7765 7074 206c 696e 6520 6172 6520 swept line are \n-0000fcd0: 6967 6e6f 7265 642e 0a0a 2020 2057 6865 ignored... Whe\n-0000fce0: 6e20 7468 6572 6520 5f69 735f 2061 2063 n there _is_ a c\n-0000fcf0: 6c6f 7375 7265 2074 6167 2c20 7468 656e losure tag, then\n-0000fd00: 20e2 8098 7377 6565 70e2 8099 2063 6f6e ...sweep... con\n-0000fd10: 6e65 6374 7320 4e20 7375 6363 6573 7369 nects N successi\n-0000fd20: 7665 0a63 6f70 6965 7320 6f66 2074 6865 ve.copies of the\n-0000fd30: 2070 6f6c 796c 696e 6520 2869 6e63 6c75 polyline (inclu\n-0000fd40: 6469 6e67 2074 6865 206f 7269 6769 6e61 ding the origina\n-0000fd50: 6c29 2077 6974 6820 666f 7572 2d73 6964 l) with four-sid\n-0000fd60: 6564 2062 6f64 790a 706f 6c79 676f 6e73 ed body.polygons\n-0000fd70: 206a 7573 7420 6173 2074 6865 2063 6173 just as the cas\n-0000fd80: 6520 7769 7468 206e 6f20 636c 6f73 7572 e with no closur\n-0000fd90: 6520 7461 672e 2020 4974 2074 6865 6e20 e tag. It then \n-0000fda0: 636f 6e6e 6563 7473 2074 6865 0a6c 6173 connects the.las\n-0000fdb0: 7420 636f 7079 2062 6163 6b20 746f 2074 t copy back to t\n-0000fdc0: 6865 206f 7269 6769 6e61 6c20 746f 2066 he original to f\n-0000fdd0: 6f72 6d20 6120 7269 6262 6f6e 2d73 6861 orm a ribbon-sha\n-0000fde0: 7065 6420 7375 7266 6163 6520 7468 6174 ped surface that\n-0000fdf0: 0a63 6c6f 7365 7320 6f6e 2069 7473 656c .closes on itsel\n-0000fe00: 6620 7769 7468 2074 776f 2068 6f6c 6573 f with two holes\n-0000fe10: 2072 656d 6169 6e69 6e67 2e0a 0a20 2020 remaining... \n-0000fe20: 4669 6e61 6c6c 792c 2074 6865 2073 7765 Finally, the swe\n-0000fe30: 6570 2061 6464 7320 7477 6f20 6d6f 7265 ep adds two more\n-0000fe40: 2070 6f6c 7967 6f6e 7320 746f 2073 6561 polygons to sea\n-0000fe50: 6c20 7468 6520 686f 6c65 7320 616e 6420 l the holes and \n-0000fe60: 666f 726d 0a61 2063 6c6f 7365 6420 7375 form.a closed su\n-0000fe70: 7266 6163 6520 7468 6174 2c20 6465 7065 rface that, depe\n-0000fe80: 6e64 696e 6720 6f6e 2074 6865 2073 7765 nding on the swe\n-0000fe90: 6570 2074 7261 6e73 666f 726d 732c 206d ep transforms, m\n-0000fea0: 6179 2072 6570 7265 7365 6e74 0a74 6865 ay represent.the\n-0000feb0: 2062 6f75 6e64 6172 7920 6f66 2061 2073 boundary of a s\n-0000fec0: 6f6c 6964 2e20 2049 6e20 7468 6973 206d olid. In this m\n-0000fed0: 616e 6e65 722c 20e2 8098 7377 6565 70e2 anner, ...sweep.\n-0000fee0: 8099 2066 6f72 6d73 2074 6865 2062 6f75 .. forms the bou\n-0000fef0: 6e64 6172 7920 6f66 0a61 2074 6872 6565 ndary of.a three\n-0000ff00: 2d64 696d 656e 7369 6f6e 616c 206f 626a -dimensional obj\n-0000ff10: 6563 7420 6672 6f6d 2061 206f 6e65 2d64 ect from a one-d\n-0000ff20: 696d 656e 7369 6f6e 616c 2070 6f6c 796c imensional polyl\n-0000ff30: 696e 652e 2020 5765 2063 616c 6c0a 7468 ine. We call.th\n-0000ff40: 6573 6520 686f 6c65 2d66 696c 6c69 6e67 ese hole-filling\n-0000ff50: 2070 6f6c 7967 6f6e 7320 e280 9c65 6e64 polygons ...end\n-0000ff60: 73e2 809d 2e0a 0a20 2020 5468 6520 6f72 s...... The or\n-0000ff70: 6465 7220 6f66 2076 6572 7469 6365 7320 der of vertices \n-0000ff80: 6f66 2065 6e64 2070 6f6c 7967 6f6e 7320 of end polygons \n-0000ff90: 6973 2069 6d70 6f72 7461 6e74 2066 6f72 is important for\n-0000ffa0: 2063 6f72 7265 6374 0a63 756c 6c69 6e67 correct.culling\n-0000ffb0: 2061 7320 6465 7363 7269 6265 6420 6162 as described ab\n-0000ffc0: 6f76 652e 2020 4966 2050 5f31 5e31 2c20 ove. If P_1^1, \n-0000ffd0: 505f 315e 322c 202e 2e2e 2c20 505f 315e P_1^2, ..., P_1^\n-0000ffe0: 6e20 6172 6520 7468 6520 4e0a 636f 7069 n are the N.copi\n-0000fff0: 6573 206f 6620 7468 6520 6669 7273 7420 es of the first \n-00010000: 706f 6c79 6c69 6e65 2070 6f69 6e74 2061 polyline point a\n-00010010: 6e64 2050 5f6d 5e31 2c20 505f 6d5e 322c nd P_m^1, P_m^2,\n-00010020: 202e 2e2e 202c 505f 6d5e 6e20 6172 6520 ... ,P_m^n are \n-00010030: 7468 650a 4e20 636f 7069 6573 206f 6620 the.N copies of \n-00010040: 7468 6520 6c61 7374 2070 6f6c 796c 696e the last polylin\n-00010050: 6520 706f 696e 742c 2074 6865 6e20 7468 e point, then th\n-00010060: 6520 656e 6420 706f 6c79 676f 6e20 7665 e end polygon ve\n-00010070: 7274 6578 206f 7264 6572 0a69 730a 2020 rtex order.is. \n-00010080: 2020 2045 6e64 2070 6f6c 7967 6f6e 2031 End polygon 1\n-00010090: 3a20 505f 315e 6e2c 2050 5f31 5e7b 6e2d : P_1^n, P_1^{n-\n-000100a0: 317d 2c20 2e2e 2e20 2c50 5f31 5e31 0a20 1}, ... ,P_1^1. \n-000100b0: 2020 2020 456e 6420 706f 6c79 676f 6e20 End polygon \n-000100c0: 323a 2050 5f6d 5e31 2c20 505f 6d5e 322c 2: P_m^1, P_m^2,\n-000100d0: 202e 2e2e 202c 505f 6d5e 6e0a 0a20 2020 ... ,P_m^n.. \n-000100e0: 4966 2074 6865 7265 2061 7265 206e 6f20 If there are no \n-000100f0: 6f70 7469 6f6e 7320 6f6e 2074 6865 2073 options on the s\n-00010100: 7765 7074 206c 696e 652c 2074 6865 6e20 wept line, then \n-00010110: 7468 6520 e280 9873 7765 6570 e280 9920 the ...sweep... \n-00010120: 6f70 7469 6f6e 730a 6172 6520 636f 7069 options.are copi\n-00010130: 6564 2074 6f20 6561 6368 206f 7574 7075 ed to each outpu\n-00010140: 7420 706f 6c79 676f 6e2e 2020 4966 2074 t polygon. If t\n-00010150: 6865 2073 7765 7074 206c 696e 6520 646f he swept line do\n-00010160: 6573 2068 6176 6520 6f70 7469 6f6e 732c es have options,\n-00010170: 0a74 6865 7365 2061 7265 2063 6f70 6965 .these are copie\n-00010180: 6420 746f 2063 6f72 7265 7370 6f6e 6469 d to correspondi\n-00010190: 6e67 2062 6f64 7920 706f 6c79 676f 6e73 ng body polygons\n-000101a0: 3b20 7468 6520 7377 6565 7020 6f70 7469 ; the sweep opti\n-000101b0: 6f6e 7320 6172 650a 636f 7069 6564 2074 ons are.copied t\n-000101c0: 6f20 7468 6520 656e 6420 706f 6c79 676f o the end polygo\n-000101d0: 6e73 2e20 2049 6e20 7468 6973 206d 616e ns. In this man\n-000101e0: 6e65 722c 2062 6f64 7920 616e 6420 656e ner, body and en\n-000101f0: 6473 206d 6179 2062 6520 6472 6177 6e0a ds may be drawn.\n-00010200: 7769 7468 2064 6966 6665 7265 6e74 2063 with different c\n-00010210: 6861 7261 6374 6572 6973 7469 6373 2073 haracteristics s\n-00010220: 7563 6820 6173 20e2 8098 6669 6c6c 636f uch as ...fillco\n-00010230: 6c6f 72e2 8099 2e0a 0a1f 0a46 696c 653a lor........File:\n-00010240: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n-00010250: 6f64 653a 2053 7765 7074 2070 6f6c 7967 ode: Swept polyg\n-00010260: 6f6e 732c 2020 4e65 7874 3a20 5377 6570 ons, Next: Swep\n-00010270: 7420 626c 6f63 6b73 2c20 2050 7265 763a t blocks, Prev:\n-00010280: 2053 7765 7074 206c 696e 6573 2c20 2055 Swept lines, U\n-00010290: 703a 2053 7765 6570 730a 0a33 2e32 2e36 p: Sweeps..3.2.6\n-000102a0: 2e33 2053 7765 7074 2070 6f6c 7967 6f6e .3 Swept polygon\n-000102b0: 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e s...............\n-000102c0: 2e2e 2e2e 2e2e 2e2e 0a0a 4966 2053 5745 ..........If SWE\n-000102d0: 5054 5f4f 424a 4543 5420 6973 2061 2070 PT_OBJECT is a p\n-000102e0: 6f6c 7967 6f6e 2c20 7468 6520 e280 9873 olygon, the ...s\n-000102f0: 7765 6570 e280 9920 636f 6e6e 6563 7473 weep... connects\n-00010300: 204e 2b31 2073 7563 6365 7373 6976 6520 N+1 successive \n-00010310: 636f 7069 6573 0a6f 6620 7468 6520 636c copies.of the cl\n-00010320: 6f73 6564 2070 6f6c 796c 696e 6520 626f osed polyline bo\n-00010330: 7264 6572 206f 6620 7468 6520 706f 6c79 rder of the poly\n-00010340: 676f 6e20 746f 2066 6f72 6d20 626f 6479 gon to form body\n-00010350: 2070 6f6c 7967 6f6e 730a 6578 6163 746c polygons.exactl\n-00010360: 7920 6173 2074 686f 7567 6820 7468 6520 y as though the \n-00010370: 626f 7264 6572 2077 6572 6520 6120 7377 border were a sw\n-00010380: 6570 7420 706f 6c79 6c69 6e65 2061 7320 ept polyline as \n-00010390: 6465 7363 7269 6265 6420 696e 202a 6e6f described in *no\n-000103a0: 7465 0a53 7765 7074 206c 696e 6573 3a3a te.Swept lines::\n-000103b0: 2e20 2049 6620 7468 6572 6520 6172 6520 . If there are \n-000103c0: 6d20 706f 696e 7473 2069 6e20 7468 6520 m points in the \n-000103d0: 6f72 6967 696e 616c 2070 6f6c 7967 6f6e original polygon\n-000103e0: 2c20 7468 656e 206d 4e0a 626f 6479 2070 , then mN.body p\n-000103f0: 6f6c 7967 6f6e 7320 6172 6520 666f 726d olygons are form\n-00010400: 6564 2062 7920 7468 6973 2073 7765 6570 ed by this sweep\n-00010410: 2e20 2054 6865 2062 6f64 7920 706f 6c79 . The body poly\n-00010420: 676f 6e73 2066 6f72 6d20 616e 0ae2 809c gons form an....\n-00010430: 6578 7472 7573 696f 6ee2 809d 206f 6620 extrusion... of \n-00010440: 7468 6520 626f 756e 6461 7279 206f 6620 the boundary of \n-00010450: 7468 6520 6f72 6967 696e 616c 2070 6f6c the original pol\n-00010460: 7967 6f6e 2077 6974 6820 7477 6f20 686f ygon with two ho\n-00010470: 6c65 7320 6174 0a74 6865 206f 7065 6e20 les at.the open \n-00010480: 656e 6473 2e0a 0a20 2020 4669 6e61 6c6c ends... Finall\n-00010490: 792c 2074 6865 2073 7765 6570 2061 6464 y, the sweep add\n-000104a0: 7320 7477 6f20 636f 7069 6573 206f 6620 s two copies of \n-000104b0: 7468 6520 6f72 6967 696e 616c 2070 6f6c the original pol\n-000104c0: 7967 6f6e 2074 6f20 636f 7665 720a 7468 ygon to cover.th\n-000104d0: 6520 686f 6c65 732e 2020 5765 2063 616c e holes. We cal\n-000104e0: 6c20 7468 6573 6520 686f 6c65 2d66 696c l these hole-fil\n-000104f0: 6c69 6e67 2070 6f6c 7967 6f6e 7320 e280 ling polygons ..\n-00010500: 9c65 6e64 73e2 809d 2e20 2049 6e20 7468 .ends.... In th\n-00010510: 6973 206d 616e 6e65 722c 0ae2 8098 7377 is manner,....sw\n-00010520: 6565 70e2 8099 2066 6f72 6d73 2074 6865 eep... forms the\n-00010530: 2062 6f75 6e64 6172 7920 6f66 2061 2074 boundary of a t\n-00010540: 6872 6565 2d64 696d 656e 7369 6f6e 616c hree-dimensional\n-00010550: 206f 626a 6563 7420 6672 6f6d 2061 0a74 object from a.t\n-00010560: 776f 2d64 696d 656e 7369 6f6e 616c 2070 wo-dimensional p\n-00010570: 6f6c 7967 6f6e 2e0a 0a20 2020 5468 6520 olygon... The \n-00010580: 6f72 6465 7220 6f66 2076 6572 7469 6365 order of vertice\n-00010590: 7320 6f66 2065 6e64 2070 6f6c 7967 6f6e s of end polygon\n-000105a0: 7320 6973 2069 6d70 6f72 7461 6e74 2066 s is important f\n-000105b0: 6f72 2063 6f72 7265 6374 0a63 756c 6c69 or correct.culli\n-000105c0: 6e67 2061 7320 6465 7363 7269 6265 6420 ng as described \n-000105d0: 6162 6f76 652e 2020 416e 2065 7861 6374 above. An exact\n-000105e0: 2063 6f70 7920 6f66 2074 6865 206f 7269 copy of the ori\n-000105f0: 6769 6e61 6c20 706f 6c79 676f 6e20 7769 ginal polygon wi\n-00010600: 7468 0a76 6572 7465 7820 6f72 6465 7220 th.vertex order \n-00010610: 696e 7461 6374 2066 6f72 6d73 2074 6865 intact forms the\n-00010620: 2066 6972 7374 2065 6e64 2070 6f6c 7967 first end polyg\n-00010630: 6f6e 2e20 2054 6865 206f 7468 6572 2065 on. The other e\n-00010640: 6e64 2070 6f6c 7967 6f6e 0a72 6573 756c nd polygon.resul\n-00010650: 7473 2066 726f 6d20 7472 616e 7366 6f72 ts from transfor\n-00010660: 6d69 6e67 2061 6e64 2074 6865 2072 6576 ming and the rev\n-00010670: 6572 7369 6e67 2074 6865 206f 7264 6572 ersing the order\n-00010680: 206f 6620 7665 7274 6963 6573 2069 6e20 of vertices in \n-00010690: 7468 650a 6f72 6967 696e 616c 2e20 2054 the.original. T\n-000106a0: 6865 2074 7261 6e73 666f 726d 2070 6c61 he transform pla\n-000106b0: 6365 7320 7468 6520 6f72 6967 696e 616c ces the original\n-000106c0: 2070 6f6c 7967 6f6e 2061 7420 7468 6520 polygon at the \n-000106d0: 756e 636f 7665 7265 640a 686f 6c65 3b20 uncovered.hole; \n-000106e0: 6974 2069 730a 2020 2020 2054 5f31 5e6e it is. T_1^n\n-000106f0: 2074 6865 6e20 545f 325e 6e20 7468 656e then T_2^n then\n-00010700: 202e 2e2e 2074 6865 6e20 545f 525e 6e2e ... then T_R^n.\n-00010710: 0a49 6620 7468 6572 6520 6172 6520 6e6f .If there are no\n-00010720: 206f 7074 696f 6e73 206f 6e20 7468 6520 options on the \n-00010730: 7377 6570 7420 706f 6c79 676f 6e2c 2074 swept polygon, t\n-00010740: 6865 6e20 7468 6520 e280 9873 7765 6570 hen the ...sweep\n-00010750: e280 9920 6f70 7469 6f6e 730a 6172 6520 ... options.are \n-00010760: 636f 7069 6564 2074 6f20 6561 6368 206f copied to each o\n-00010770: 7574 7075 7420 706f 6c79 676f 6e2e 2020 utput polygon. \n-00010780: 4966 2074 6865 2073 7765 7074 2070 6f6c If the swept pol\n-00010790: 7967 6f6e 2064 6f65 7320 6861 7665 0a6f ygon does have.o\n-000107a0: 7074 696f 6e73 2c20 7468 6573 6520 6172 ptions, these ar\n-000107b0: 6520 636f 7069 6564 2074 6f20 7468 6520 e copied to the \n-000107c0: 656e 6473 3b20 7468 6520 7377 6565 7020 ends; the sweep \n-000107d0: 6f70 7469 6f6e 7320 6172 6520 636f 7069 options are copi\n-000107e0: 6564 2074 6f0a 7468 6520 626f 6479 2070 ed to.the body p\n-000107f0: 6f6c 7967 6f6e 732e 2020 496e 2074 6869 olygons. In thi\n-00010800: 7320 6d61 6e6e 6572 2c20 626f 6479 2061 s manner, body a\n-00010810: 6e64 2065 6e64 7320 6d61 7920 6265 2064 nd ends may be d\n-00010820: 7261 776e 2077 6974 680a 6469 6666 6572 rawn with.differ\n-00010830: 656e 7420 6368 6172 6163 7465 7269 7374 ent characterist\n-00010840: 6963 7320 7375 6368 2061 7320 e280 9866 ics such as ...f\n-00010850: 696c 6c63 6f6c 6f72 e280 992e 0a0a 1f0a illcolor........\n-00010860: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n-00010870: 6f2c 2020 4e6f 6465 3a20 5377 6570 7420 o, Node: Swept \n-00010880: 626c 6f63 6b73 2c20 204e 6578 743a 2053 blocks, Next: S\n-00010890: 7765 6570 2066 6163 6520 7370 6c69 7474 weep face splitt\n-000108a0: 696e 672c 2020 5072 6576 3a20 5377 6570 ing, Prev: Swep\n-000108b0: 7420 706f 6c79 676f 6e73 2c20 2055 703a t polygons, Up:\n-000108c0: 2053 7765 6570 730a 0a33 2e32 2e36 2e34 Sweeps..3.2.6.4\n-000108d0: 2053 7765 7074 2062 6c6f 636b 730a 2e2e Swept blocks...\n-000108e0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-000108f0: 2e2e 0a0a 5468 6520 7377 6570 7420 6f62 ....The swept ob\n-00010900: 6a65 6374 2053 5745 5054 5f4f 424a 4543 ject SWEPT_OBJEC\n-00010910: 5420 6d61 7920 616c 736f 2062 6520 616e T may also be an\n-00010920: 7920 636f 6c6c 6563 7469 6f6e 206f 6620 y collection of \n-00010930: 706f 6c79 6c69 6e65 730a 616e 6420 706f polylines.and po\n-00010940: 6c79 676f 6e73 2e20 2054 6869 7320 6d61 lygons. This ma\n-00010950: 7920 6265 2061 2062 6c6f 636b 2063 6f6d y be a block com\n-00010960: 706f 7365 6420 6f66 20e2 8098 6c69 6e65 posed of ...line\n-00010970: e280 9920 616e 642f 6f72 20e2 8098 706f ... and/or ...po\n-00010980: 6c79 676f 6ee2 8099 0a63 6f6d 6d61 6e64 lygon....command\n-00010990: 7320 696e 2062 7261 6365 7320 e280 987b s in braces ...{\n-000109a0: 207d e280 992c 206f 7220 6974 206d 6179 }..., or it may\n-000109b0: 2062 6520 7468 6520 7265 7375 6c74 206f be the result o\n-000109c0: 6620 6120 e280 9872 6570 6561 74e2 8099 f a ...repeat...\n-000109d0: 2c20 616e 6f74 6865 720a e280 9873 7765 , another....swe\n-000109e0: 6570 e280 992c 2065 7463 2e20 2054 6865 ep..., etc. The\n-000109f0: 2073 7765 6570 2061 6374 7320 696e 6465 sweep acts inde\n-00010a00: 7065 6e64 656e 746c 7920 6f6e 2065 6163 pendently on eac\n-00010a10: 6820 6f62 6a65 6374 2069 6e20 7468 6520 h object in the \n-00010a20: 626c 6f63 6b0a 6578 6163 746c 7920 6173 block.exactly as\n-00010a30: 2069 6620 6974 2077 6572 6520 6120 7369 if it were a si\n-00010a40: 6e67 6c65 2073 7765 7074 206f 626a 6563 ngle swept objec\n-00010a50: 7420 6465 7363 7269 6265 6420 6162 6f76 t described abov\n-00010a60: 6520 696e 202a 6e6f 7465 0a53 7765 7074 e in *note.Swept\n-00010a70: 206c 696e 6573 3a3a 2061 6e64 202a 6e6f lines:: and *no\n-00010a80: 7465 2053 7765 7074 2070 6f6c 7967 6f6e te Swept polygon\n-00010a90: 733a 3a2e 0a0a 1f0a 4669 6c65 3a20 736b s::.....File: sk\n-00010aa0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n-00010ab0: 3a20 5377 6565 7020 6661 6365 2073 706c : Sweep face spl\n-00010ac0: 6974 7469 6e67 2c20 2050 7265 763a 2053 itting, Prev: S\n-00010ad0: 7765 7074 2062 6c6f 636b 732c 2020 5570 wept blocks, Up\n-00010ae0: 3a20 5377 6565 7073 0a0a 332e 322e 362e : Sweeps..3.2.6.\n-00010af0: 3520 5377 6565 7020 6661 6365 2073 706c 5 Sweep face spl\n-00010b00: 6974 7469 6e67 0a2e 2e2e 2e2e 2e2e 2e2e itting..........\n+0000dec0: 2020 2020 2020 2044 7261 7720 646f 7473 Draw dots\n+0000ded0: 2e0a 2a20 4c69 6e65 733a 3a20 2020 2020 ..* Lines:: \n+0000dee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000def0: 2020 4472 6177 2070 6f6c 796c 696e 6573 Draw polylines\n+0000df00: 2e0a 2a20 4375 7276 6573 3a3a 2020 2020 ..* Curves:: \n+0000df10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000df20: 2020 4472 6177 2063 7572 7665 732e 0a2a Draw curves..*\n+0000df30: 2050 6f6c 7967 6f6e 733a 3a20 2020 2020 Polygons:: \n+0000df40: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+0000df50: 7261 7720 706f 6c79 676f 6e73 2e0a 2a20 raw polygons..* \n+0000df60: 5370 6563 6961 6c73 3a3a 2020 2020 2020 Specials:: \n+0000df70: 2020 2020 2020 2020 2020 2020 2020 456d Em\n+0000df80: 6265 6420 7261 7720 4c61 5465 5820 616e bed raw LaTeX an\n+0000df90: 6420 e280 9850 5354 7269 636b 73e2 8099 d ...PSTricks...\n+0000dfa0: 2e0a 2a20 5377 6565 7073 3a3a 2020 2020 ..* Sweeps:: \n+0000dfb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000dfc0: 2020 4472 6177 2073 7765 6570 7320 6f66 Draw sweeps of\n+0000dfd0: 2064 6f74 7320 616e 6420 706f 6c79 6c69 dots and polyli\n+0000dfe0: 6e65 732e 0a2a 2042 6c6f 636b 733a 3a20 nes..* Blocks:: \n+0000dff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e000: 2020 2020 2047 726f 7570 206f 7468 6572 Group other\n+0000e010: 2064 7261 7761 626c 6573 2e0a 2a20 5265 drawables..* Re\n+0000e020: 7065 6174 733a 3a20 2020 2020 2020 2020 peats:: \n+0000e030: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n+0000e040: 2074 7261 6e73 666f 726d 6564 2063 6f70 transformed cop\n+0000e050: 6965 7320 6f66 206f 626a 6563 7473 2e0a ies of objects..\n+0000e060: 2a20 5075 7473 3a3a 2020 2020 2020 2020 * Puts:: \n+0000e070: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0000e080: 4472 6177 206f 6e65 206f 626a 6563 7420 Draw one object \n+0000e090: 7472 616e 7366 6f72 6d65 642e 0a0a 1f0a transformed.....\n+0000e0a0: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+0000e0b0: 6f2c 2020 4e6f 6465 3a20 446f 7473 2c20 o, Node: Dots, \n+0000e0c0: 204e 6578 743a 204c 696e 6573 2c20 2050 Next: Lines, P\n+0000e0d0: 7265 763a 2044 7261 7761 626c 6573 2c20 rev: Drawables, \n+0000e0e0: 2055 703a 2044 7261 7761 626c 6573 0a0a Up: Drawables..\n+0000e0f0: 332e 322e 3120 446f 7473 0a2d 2d2d 2d2d 3.2.1 Dots.-----\n+0000e100: 2d2d 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a -----..*Syntax:*\n+0000e110: 0a20 2020 2020 646f 7473 5b4f 5054 494f . dots[OPTIO\n+0000e120: 4e53 5d20 504f 494e 545f 4c49 5354 0a54 NS] POINT_LIST.T\n+0000e130: 6869 7320 636f 6d6d 616e 6420 6973 2074 his command is t\n+0000e140: 6865 2074 6872 6565 2d64 696d 656e 7369 he three-dimensi\n+0000e150: 6f6e 616c 2065 7175 6976 616c 656e 7420 onal equivalent \n+0000e160: 6f66 2074 6865 20e2 8098 5053 5472 6963 of the ...PSTric\n+0000e170: 6b73 e280 990a 636f 6d6d 616e 6420 e280 ks....command ..\n+0000e180: 985c 7073 646f 7473 e280 992e 0a0a 1f0a .\\psdots........\n+0000e190: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n+0000e1a0: 6f2c 2020 4e6f 6465 3a20 4c69 6e65 732c o, Node: Lines,\n+0000e1b0: 2020 4e65 7874 3a20 4375 7276 6573 2c20 Next: Curves, \n+0000e1c0: 2050 7265 763a 2044 6f74 732c 2020 5570 Prev: Dots, Up\n+0000e1d0: 3a20 4472 6177 6162 6c65 730a 0a33 2e32 : Drawables..3.2\n+0000e1e0: 2e32 204c 696e 6573 0a2d 2d2d 2d2d 2d2d .2 Lines.-------\n+0000e1f0: 2d2d 2d2d 0a0a 2a53 796e 7461 783a 2a0a ----..*Syntax:*.\n+0000e200: 2020 2020 206c 696e 655b 4f50 5449 4f4e line[OPTION\n+0000e210: 535d 2050 4f49 4e54 5f4c 4953 540a 5468 S] POINT_LIST.Th\n+0000e220: 6973 2063 6f6d 6d61 6e64 2069 7320 7468 is command is th\n+0000e230: 6520 7468 7265 652d 6469 6d65 6e73 696f e three-dimensio\n+0000e240: 6e61 6c20 6571 7569 7661 6c65 6e74 206f nal equivalent o\n+0000e250: 6620 7468 6520 e280 9850 5354 7269 636b f the ...PSTrick\n+0000e260: 73e2 8099 0a63 6f6d 6d61 6e64 20e2 8098 s....command ...\n+0000e270: 5c70 736c 696e 65e2 8099 2e0a 0a1f 0a46 \\psline........F\n+0000e280: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+0000e290: 2c20 204e 6f64 653a 2043 7572 7665 732c , Node: Curves,\n+0000e2a0: 2020 4e65 7874 3a20 506f 6c79 676f 6e73 Next: Polygons\n+0000e2b0: 2c20 2050 7265 763a 204c 696e 6573 2c20 , Prev: Lines, \n+0000e2c0: 2055 703a 2044 7261 7761 626c 6573 0a0a Up: Drawables..\n+0000e2d0: 332e 322e 3320 4375 7276 6573 0a2d 2d2d 3.2.3 Curves.---\n+0000e2e0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 ---------..*Synt\n+0000e2f0: 6178 3a2a 0a20 2020 2020 6375 7276 655b ax:*. curve[\n+0000e300: 4f50 5449 4f4e 535d 2050 4f49 4e54 5f4c OPTIONS] POINT_L\n+0000e310: 4953 540a 5468 6973 2063 6f6d 6d61 6e64 IST.This command\n+0000e320: 2069 7320 7468 6520 7468 7265 652d 6469 is the three-di\n+0000e330: 6d65 6e73 696f 6e61 6c20 6571 7569 7661 mensional equiva\n+0000e340: 6c65 6e74 206f 6620 7468 6520 e280 9850 lent of the ...P\n+0000e350: 5354 7269 636b 73e2 8099 0a63 6f6d 6d61 STricks....comma\n+0000e360: 6e64 20e2 8098 5c70 7363 7572 7665 e280 nd ...\\pscurve..\n+0000e370: 992e 2020 4974 2069 7320 6e6f 7420 696d .. It is not im\n+0000e380: 706c 656d 656e 7465 6420 696e 2074 6865 plemented in the\n+0000e390: 2063 7572 7265 6e74 2076 6572 7369 6f6e current version\n+0000e3a0: 206f 660a e280 9873 6b65 7463 68e2 8099 of....sketch...\n+0000e3b0: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+0000e3c0: 682e 696e 666f 2c20 204e 6f64 653a 2050 h.info, Node: P\n+0000e3d0: 6f6c 7967 6f6e 732c 2020 4e65 7874 3a20 olygons, Next: \n+0000e3e0: 5370 6563 6961 6c73 2c20 2050 7265 763a Specials, Prev:\n+0000e3f0: 2043 7572 7665 732c 2020 5570 3a20 4472 Curves, Up: Dr\n+0000e400: 6177 6162 6c65 730a 0a33 2e32 2e34 2050 awables..3.2.4 P\n+0000e410: 6f6c 7967 6f6e 730a 2d2d 2d2d 2d2d 2d2d olygons.--------\n+0000e420: 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 783a ------..*Syntax:\n+0000e430: 2a0a 2020 2020 2070 6f6c 7967 6f6e 5b4f *. polygon[O\n+0000e440: 5054 494f 4e53 5d20 504f 494e 545f 4c49 PTIONS] POINT_LI\n+0000e450: 5354 0a54 6869 7320 636f 6d6d 616e 6420 ST.This command \n+0000e460: 6973 2074 6865 2074 6872 6565 2d64 696d is the three-dim\n+0000e470: 656e 7369 6f6e 616c 2065 7175 6976 616c ensional equival\n+0000e480: 656e 7420 6f66 2074 6865 20e2 8098 5053 ent of the ...PS\n+0000e490: 5472 6963 6b73 e280 990a 636f 6d6d 616e Tricks....comman\n+0000e4a0: 6420 e280 985c 7073 706f 6c79 676f 6ee2 d ...\\pspolygon.\n+0000e4b0: 8099 2e20 2054 6865 20e2 8098 736b 6574 ... The ...sket\n+0000e4c0: 6368 e280 9920 6869 6464 656e 2073 7572 ch... hidden sur\n+0000e4d0: 6661 6365 2061 6c67 6f72 6974 686d 2061 face algorithm a\n+0000e4e0: 7373 756d 6573 0a74 6861 7420 706f 6c79 ssumes.that poly\n+0000e4f0: 676f 6e73 2061 7265 2063 6f6e 7665 7820 gons are convex \n+0000e500: 616e 6420 706c 616e 6172 2e20 2049 6e20 and planar. In \n+0000e510: 7072 6163 7469 6365 2c20 6472 6177 696e practice, drawin\n+0000e520: 6773 206d 6179 2077 656c 6c0a 7475 726e gs may well.turn\n+0000e530: 206f 7574 2063 6f72 7265 6374 6c79 2065 out correctly e\n+0000e540: 7665 6e20 6966 2074 6865 7365 2061 7373 ven if these ass\n+0000e550: 756d 7074 696f 6e73 2061 7265 2076 696f umptions are vio\n+0000e560: 6c61 7465 642e 0a0a 1f0a 4669 6c65 3a20 lated.....File: \n+0000e570: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n+0000e580: 6465 3a20 5370 6563 6961 6c73 2c20 204e de: Specials, N\n+0000e590: 6578 743a 2053 7765 6570 732c 2020 5072 ext: Sweeps, Pr\n+0000e5a0: 6576 3a20 506f 6c79 676f 6e73 2c20 2055 ev: Polygons, U\n+0000e5b0: 703a 2044 7261 7761 626c 6573 0a0a 332e p: Drawables..3.\n+0000e5c0: 322e 3520 5370 6563 6961 6c73 0a2d 2d2d 2.5 Specials.---\n+0000e5d0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 -----------..*Sy\n+0000e5e0: 6e74 6178 3a2a 0a20 2020 2020 7370 6563 ntax:*. spec\n+0000e5f0: 6961 6c20 2452 4157 5f54 4558 5424 5b4f ial $RAW_TEXT$[O\n+0000e600: 5054 494f 4e53 5d20 4152 475f 4c49 5354 PTIONS] ARG_LIST\n+0000e610: 0a48 6572 6520 e280 9824 e280 9920 6361 .Here ...$... ca\n+0000e620: 6e20 6265 2061 6e79 2063 6861 7261 6374 n be any charact\n+0000e630: 6572 2061 6e64 2069 7320 7573 6564 2074 er and is used t\n+0000e640: 6f20 6465 6c69 6d69 7420 7468 6520 7374 o delimit the st\n+0000e650: 6172 7420 616e 6420 656e 640a 6f66 2052 art and end.of R\n+0000e660: 4157 5f54 4558 542e 2020 5468 6520 636f AW_TEXT. The co\n+0000e670: 6d6d 616e 6420 656d 6265 6473 2052 4157 mmand embeds RAW\n+0000e680: 5f54 4558 5420 696e 2074 6865 20e2 8098 _TEXT in the ...\n+0000e690: 736b 6574 6368 e280 9920 6f75 7470 7574 sketch... output\n+0000e6a0: 2061 6674 6572 0a70 6572 666f 726d 696e after.performin\n+0000e6b0: 6720 7375 6273 7469 7475 7469 6f6e 7320 g substitutions \n+0000e6c0: 6173 2066 6f6c 6c6f 7773 2e0a 2020 20e2 as follows.. .\n+0000e6d0: 80a2 20e2 8098 2349 e280 9920 7768 6572 .. ...#I... wher\n+0000e6e0: 6520 4920 6973 2061 2070 6f73 6974 6976 e I is a positiv\n+0000e6f0: 6520 696e 7465 6765 7220 6973 2072 6570 e integer is rep\n+0000e700: 6c61 6365 6420 6279 2074 6865 2049 2774 laced by the I't\n+0000e710: 6820 7661 6c75 6520 696e 0a20 2020 2020 h value in. \n+0000e720: 4152 475f 4c49 5354 2e20 2050 6f69 6e74 ARG_LIST. Point\n+0000e730: 2061 6e64 2076 6563 746f 7220 6172 6775 and vector argu\n+0000e740: 6d65 6e74 7320 6265 636f 6d65 2074 776f ments become two\n+0000e750: 2d64 696d 656e 7369 6f6e 616c 0a20 2020 -dimensional. \n+0000e760: 2020 706f 696e 7473 2c20 7768 6963 6820 points, which \n+0000e770: 6172 6520 7468 6520 7472 616e 7366 6f72 are the transfor\n+0000e780: 6d65 6420 3364 2061 7267 756d 656e 7473 med 3d arguments\n+0000e790: 2070 726f 6a65 6374 6564 206f 6e74 6f20 projected onto \n+0000e7a0: 7468 650a 2020 2020 2058 2d59 2070 6c61 the. X-Y pla\n+0000e7b0: 6e65 2e20 2054 6869 7320 616c 6c6f 7773 ne. This allows\n+0000e7c0: 2074 776f 2d64 696d 656e 7469 6f6e 616c two-dimentional\n+0000e7d0: 206f 7574 7075 7420 656c 656d 656e 7473 output elements\n+0000e7e0: 2073 7563 6820 6173 0a20 2020 2020 6c61 such as. la\n+0000e7f0: 6265 6c73 2074 6f20 6265 2065 6173 696c bels to be easil\n+0000e800: 7920 706f 7369 7469 6f6e 6564 2077 6974 y positioned wit\n+0000e810: 6820 7265 7370 6563 7420 746f 2074 6872 h respect to thr\n+0000e820: 6565 2d64 696d 656e 7369 6f6e 616c 0a20 ee-dimensional. \n+0000e830: 2020 2020 6665 6174 7572 6573 2069 6e20 features in \n+0000e840: 7468 6520 6472 6177 696e 672e 2020 5363 the drawing. Sc\n+0000e850: 616c 6172 2061 7267 756d 656e 7473 2061 alar arguments a\n+0000e860: 7265 2073 7562 7369 7475 7465 6420 6469 re subsituted di\n+0000e870: 7265 6374 6c79 2e0a 2020 2020 204e 6f20 rectly.. No \n+0000e880: 7472 616e 7366 6f72 6d61 7469 6f6e 2069 transformation i\n+0000e890: 7320 6170 706c 6965 642e 0a20 2020 e280 s applied.. ..\n+0000e8a0: a220 e280 9823 7b49 7de2 8099 2069 7320 . ...#{I}... is \n+0000e8b0: 616c 736f 2072 6570 6c61 6365 6420 6173 also replaced as\n+0000e8c0: 2061 626f 7665 2e0a 2020 20e2 80a2 20e2 above.. ... .\n+0000e8d0: 8098 2349 2732 e280 9920 6973 2072 6570 ..#I'2... is rep\n+0000e8e0: 6c61 6365 6420 6173 2061 626f 7665 2066 laced as above f\n+0000e8f0: 6f72 2070 6f69 6e74 7320 6f72 2076 6563 or points or vec\n+0000e900: 746f 7273 2e20 2049 7420 6973 2061 6e20 tors. It is an \n+0000e910: 6572 726f 720a 2020 2020 2066 6f72 2074 error. for t\n+0000e920: 6865 2049 2774 6820 6172 6775 6d65 6e74 he I'th argument\n+0000e930: 2074 6f20 6265 2061 2073 6361 6c61 722e to be a scalar.\n+0000e940: 0a20 2020 e280 a220 e280 9823 4927 78e2 . ... ...#I'x.\n+0000e950: 8099 2c20 e280 9823 4927 79e2 8099 2c20 .., ...#I'y..., \n+0000e960: 6f72 20e2 8098 2349 277a e280 9920 6973 or ...#I'z... is\n+0000e970: 2072 6570 6c61 6365 642c 2072 6573 7065 replaced, respe\n+0000e980: 6374 6976 656c 792c 2062 7920 7468 6520 ctively, by the \n+0000e990: 7363 616c 6172 0a20 2020 2020 582c 2059 scalar. X, Y\n+0000e9a0: 2c20 6f72 205a 2d63 6f6f 7264 696e 6174 , or Z-coordinat\n+0000e9b0: 6520 6f66 2074 6865 2061 7267 756d 656e e of the argumen\n+0000e9c0: 7420 706f 696e 7420 6f72 2076 6563 746f t point or vecto\n+0000e9d0: 722e 2020 4974 2069 7320 616e 0a20 2020 r. It is an. \n+0000e9e0: 2020 6572 726f 7220 666f 7220 7468 6520 error for the \n+0000e9f0: 4927 7468 2061 7267 756d 656e 7420 746f I'th argument to\n+0000ea00: 2062 6520 6120 7363 616c 6172 2e0a 2020 be a scalar.. \n+0000ea10: 20e2 80a2 20e2 8098 2349 2733 e280 9920 ... ...#I'3... \n+0000ea20: 6973 2072 6570 6c61 6365 6420 6279 2074 is replaced by t\n+0000ea30: 6865 2074 6872 6565 2d64 696d 656e 7369 he three-dimensi\n+0000ea40: 6f6e 616c 2074 7261 6e73 666f 726d 6564 onal transformed\n+0000ea50: 2061 7267 756d 656e 742e 0a20 2020 2020 argument.. \n+0000ea60: 4e6f 7465 2074 6861 7420 6966 2061 2070 Note that if a p\n+0000ea70: 6572 7370 6563 7469 7665 2074 7261 6e73 erspective trans\n+0000ea80: 666f 726d 6174 696f 6e20 6861 7320 6265 formation has be\n+0000ea90: 656e 2061 7070 6c69 6564 2c20 7468 650a en applied, the.\n+0000eaa0: 2020 2020 205a 2d63 6f6f 7264 696e 6174 Z-coordinat\n+0000eab0: 6520 6861 7320 6c69 7474 6c65 2067 656f e has little geo\n+0000eac0: 6d65 7472 6963 2073 6967 6e69 6669 6361 metric significa\n+0000ead0: 6e63 652c 2074 686f 7567 6820 6974 0a20 nce, though it. \n+0000eae0: 2020 2020 6163 6375 7261 7465 6c79 2069 accurately i\n+0000eaf0: 6e64 6963 6174 6573 2072 656c 6174 6976 ndicates relativ\n+0000eb00: 6520 6465 7074 682e 0a20 2020 e280 a220 e depth.. ... \n+0000eb10: e280 9823 492d 4ae2 8099 2077 6865 7265 ...#I-J... where\n+0000eb20: 2049 2061 6e64 204a 2061 7265 2070 6f73 I and J are pos\n+0000eb30: 6974 6976 6520 696e 7465 6765 7273 2069 itive integers i\n+0000eb40: 7320 7265 706c 6163 6564 2062 7920 6120 s replaced by a \n+0000eb50: 7374 7269 6e67 0a20 2020 2020 e280 987b string. ...{\n+0000eb60: 414e 474c 457d e280 9920 7768 6572 6520 ANGLE}... where \n+0000eb70: 414e 474c 4520 6973 2074 6865 2070 6f6c ANGLE is the pol\n+0000eb80: 6172 2061 6e67 6c65 206f 6620 6120 7665 ar angle of a ve\n+0000eb90: 6374 6f72 2066 726f 6d20 7468 6520 4927 ctor from the I'\n+0000eba0: 7468 0a20 2020 2020 706f 696e 7420 696e th. point in\n+0000ebb0: 2050 4f49 4e54 5f4c 4953 5420 746f 2074 POINT_LIST to t\n+0000ebc0: 6865 204a 2774 6820 706f 696e 7420 7072 he J'th point pr\n+0000ebd0: 6f6a 6563 7465 6420 696e 746f 2074 6865 ojected into the\n+0000ebe0: 2078 2d79 2070 6c61 6e65 2e0a 2020 2020 x-y plane.. \n+0000ebf0: 2049 7420 6973 2061 6e20 6572 726f 7220 It is an error \n+0000ec00: 666f 7220 7468 6520 4927 7468 206f 7220 for the I'th or \n+0000ec10: 4a27 7468 2061 7267 756d 656e 7420 746f J'th argument to\n+0000ec20: 2062 6520 6120 7363 616c 6172 206f 7220 be a scalar or \n+0000ec30: 610a 2020 2020 2076 6563 746f 722e 0a20 a. vector.. \n+0000ec40: 2020 e280 a220 e280 9823 7b49 2d4a 7de2 ... ...#{I-J}.\n+0000ec50: 8099 2069 7320 616c 736f 2072 6570 6c61 .. is also repla\n+0000ec60: 6365 6420 6173 2061 626f 7665 2e0a 2020 ced as above.. \n+0000ec70: 20e2 80a2 20e2 8098 2323 e280 9920 6973 ... ...##... is\n+0000ec80: 2072 6570 6c61 6365 6420 7769 7468 20e2 replaced with .\n+0000ec90: 8098 23e2 8099 2e0a 5468 6520 666f 726d ..#.....The form\n+0000eca0: 7320 7769 7468 2062 7261 6365 7320 e280 s with braces ..\n+0000ecb0: 987b 207d e280 9920 6172 6520 7573 6566 .{ }... are usef\n+0000ecc0: 756c 2077 6865 6e20 7468 6520 6172 6775 ul when the argu\n+0000ecd0: 6d65 6e74 2069 7320 696d 6d65 6469 6174 ment is immediat\n+0000ece0: 656c 790a 666f 6c6c 6f77 6564 2062 7920 ely.followed by \n+0000ecf0: 6120 6469 6769 7420 6f72 2061 2074 6963 a digit or a tic\n+0000ed00: 6b20 6368 6172 6163 7465 7220 7468 6174 k character that\n+0000ed10: 2069 7320 7061 7274 206f 6620 7468 6520 is part of the \n+0000ed20: 5465 5820 636f 6465 2e0a 0a20 2020 5468 TeX code... Th\n+0000ed30: 6520 6f6e 6c79 2075 7365 6675 6c20 6f70 e only useful op\n+0000ed40: 7469 6f6e 206f 6620 e280 9873 7065 6369 tion of ...speci\n+0000ed50: 616c e280 9920 6973 20e2 8098 6c61 79e2 al... is ...lay.\n+0000ed60: 8099 2c20 7768 6963 6820 6465 7465 726d .., which determ\n+0000ed70: 696e 6573 2069 6620 7468 650a 7375 6273 ines if the.subs\n+0000ed80: 7469 7475 6564 2072 6177 2074 6578 7420 titued raw text \n+0000ed90: 6973 2065 6d69 7474 6564 2062 6566 6f72 is emitted befor\n+0000eda0: 652c 2061 6674 6572 2c20 6f72 2075 7369 e, after, or usi\n+0000edb0: 6e67 2074 6865 2066 6972 7374 2070 6f69 ng the first poi\n+0000edc0: 6e74 0a69 6e20 504f 494e 545f 4c49 5354 nt.in POINT_LIST\n+0000edd0: 2061 7320 616e 2069 6e64 6963 6174 6f72 as an indicator\n+0000ede0: 206f 6620 6465 7074 682e 2020 5468 6573 of depth. Thes\n+0000edf0: 6520 6f63 6375 722c 2072 6573 7065 6374 e occur, respect\n+0000ee00: 6976 656c 792c 2077 6974 680a e280 986c ively, with....l\n+0000ee10: 6179 3d75 6e64 6572 e280 992c 20e2 8098 ay=under..., ...\n+0000ee20: 6c61 793d 6f76 6572 e280 992c 2061 6e64 lay=over..., and\n+0000ee30: 20e2 8098 6c61 793d 696e e280 992e 2020 ...lay=in.... \n+0000ee40: 5365 6520 2a6e 6f74 6520 5370 6563 6961 See *note Specia\n+0000ee50: 6c20 6f62 6a65 6374 733a 3a20 616e 640a l objects:: and.\n+0000ee60: 2a6e 6f74 6520 5469 6b5a 2f50 4746 2075 *note TikZ/PGF u\n+0000ee70: 7365 722d 6465 6669 6e65 6420 7374 796c ser-defined styl\n+0000ee80: 6573 3a3a 2066 6f72 2065 7861 6d70 6c65 es:: for example\n+0000ee90: 732e 2020 2a4e 6f74 6520 496e 7465 726e s. *Note Intern\n+0000eea0: 616c 0a6f 7074 696f 6e73 3a3a 2e0a 0a1f al.options::....\n+0000eeb0: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n+0000eec0: 666f 2c20 204e 6f64 653a 2053 7765 6570 fo, Node: Sweep\n+0000eed0: 732c 2020 4e65 7874 3a20 426c 6f63 6b73 s, Next: Blocks\n+0000eee0: 2c20 2050 7265 763a 2053 7065 6369 616c , Prev: Special\n+0000eef0: 732c 2020 5570 3a20 4472 6177 6162 6c65 s, Up: Drawable\n+0000ef00: 730a 0a33 2e32 2e36 2053 7765 6570 730a s..3.2.6 Sweeps.\n+0000ef10: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 ------------..*S\n+0000ef20: 796e 7461 783a 2a0a 2020 2020 2073 7765 yntax:*. swe\n+0000ef30: 6570 207b 204e 2c20 545f 312c 2054 5f32 ep { N, T_1, T_2\n+0000ef40: 2c20 2e2e 2e2c 2054 5f52 207d 5b4f 5054 , ..., T_R }[OPT\n+0000ef50: 494f 4e53 5d20 5357 4550 545f 4f42 4a45 IONS] SWEPT_OBJE\n+0000ef60: 4354 0a20 2020 2020 7377 6565 7020 7b20 CT. sweep { \n+0000ef70: 4e3c 3e2c 2054 5f31 2c20 545f 322c 202e N<>, T_1, T_2, .\n+0000ef80: 2e2e 2c20 545f 5220 7d5b 4f50 5449 4f4e .., T_R }[OPTION\n+0000ef90: 535d 2053 5745 5054 5f4f 424a 4543 540a S] SWEPT_OBJECT.\n+0000efa0: 5468 6520 7377 6565 7020 636f 6e6e 6563 The sweep connec\n+0000efb0: 7473 204e 2028 6f72 2070 6572 6861 7073 ts N (or perhaps\n+0000efc0: 204e 2b31 2920 636f 7069 6573 206f 6620 N+1) copies of \n+0000efd0: 5357 4550 545f 4f42 4a45 4354 2069 6e20 SWEPT_OBJECT in \n+0000efe0: 6f72 6465 7220 746f 0a63 7265 6174 6520 order to.create \n+0000eff0: 6120 6e65 7720 6f62 6a65 6374 206f 6620 a new object of \n+0000f000: 6869 6768 6572 2064 696d 656e 7369 6f6e higher dimension\n+0000f010: 2e20 2054 6865 2054 5f49 2028 666f 7220 . The T_I (for \n+0000f020: 6920 6265 7477 6565 6e20 3120 616e 640a i between 1 and.\n+0000f030: 7229 2061 7265 2074 7261 6e73 666f 726d r) are transform\n+0000f040: 732e 2020 5468 6520 6b27 7468 2063 6f70 s. The k'th cop\n+0000f050: 7920 6f66 2053 5745 5054 5f4f 424a 4543 y of SWEPT_OBJEC\n+0000f060: 5420 6973 2070 726f 6475 6365 6420 6279 T is produced by\n+0000f070: 0a61 7070 6c79 696e 6720 7468 6520 666f .applying the fo\n+0000f080: 6c6c 6f77 696e 6720 7472 616e 7366 6f72 llowing transfor\n+0000f090: 6d20 746f 2074 6865 206f 7269 6769 6e61 m to the origina\n+0000f0a0: 6c2e 0a20 2020 2020 545f 315e 6b20 7468 l.. T_1^k th\n+0000f0b0: 656e 2054 5f32 5e6b 2074 6865 6e20 2e2e en T_2^k then ..\n+0000f0c0: 2e20 7468 656e 2054 5f52 5e6b 0a48 6572 . then T_R^k.Her\n+0000f0d0: 6520 545e 6b20 6d65 616e 7320 2274 7261 e T^k means \"tra\n+0000f0e0: 6e73 666f 726d 2054 2061 7070 6c69 6564 nsform T applied\n+0000f0f0: 206b 2074 696d 6573 2e22 2020 5468 6520 k times.\" The \n+0000f100: 6f72 6967 696e 616c 206f 626a 6563 7420 original object \n+0000f110: 6973 0a74 6865 207a 6572 6f27 7468 2063 is.the zero'th c\n+0000f120: 6f70 792c 2077 6974 6820 6b3d 3020 616e opy, with k=0 an\n+0000f130: 6420 6566 6665 6374 6976 656c 7920 6e6f d effectively no\n+0000f140: 2074 7261 6e73 666f 726d 2061 7070 6c69 transform appli\n+0000f150: 6564 2028 545e 303d 492c 0a74 6865 2069 ed (T^0=I,.the i\n+0000f160: 6465 6e74 6974 7920 7472 616e 7366 6f72 dentity transfor\n+0000f170: 6d29 2e0a 0a20 2020 5468 6520 6d65 7468 m)... The meth\n+0000f180: 6f64 206f 6620 636f 6e6e 6563 7469 6e67 od of connecting\n+0000f190: 2074 6865 2063 6f70 6965 7320 6465 7065 the copies depe\n+0000f1a0: 6e64 7320 6f6e 2074 6865 2074 7970 6520 nds on the type \n+0000f1b0: 6f66 0a53 5745 5054 5f4f 424a 4543 5420 of.SWEPT_OBJECT \n+0000f1c0: 616e 6420 6f6e 2077 6865 7468 6572 2074 and on whether t\n+0000f1d0: 6865 2063 6c6f 7375 7265 2074 6167 20e2 he closure tag .\n+0000f1e0: 8098 3c3e e280 9920 6973 2070 7265 7365 ..<>... is prese\n+0000f1f0: 6e74 206f 7220 6e6f 742e 0a0a 2020 2041 nt or not... A\n+0000f200: 6e20 6578 616d 706c 6520 6f66 2061 2073 n example of a s\n+0000f210: 7765 6570 2077 6865 7265 2072 3d32 2069 weep where r=2 i\n+0000f220: 7320 7468 6520 4d6f 6269 7573 2066 6967 s the Mobius fig\n+0000f230: 7572 6520 6174 202a 6e6f 7465 204d 6f72 ure at *note Mor\n+0000f240: 6520 746f 0a6c 6561 726e 3a3a 2e0a 0a2a e to.learn::...*\n+0000f250: 204d 656e 753a 0a0a 2a20 5377 6570 7420 Menu:..* Swept \n+0000f260: 706f 696e 7473 3a3a 2020 2020 2020 2020 points:: \n+0000f270: 2020 2020 2020 2020 5377 6570 7420 706f Swept po\n+0000f280: 696e 7473 206d 616b 6520 6c69 6e65 7320 ints make lines \n+0000f290: 6f72 2070 6f6c 7967 6f6e 732e 0a2a 2053 or polygons..* S\n+0000f2a0: 7765 7074 206c 696e 6573 3a3a 2020 2020 wept lines:: \n+0000f2b0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+0000f2c0: 7074 206c 696e 6573 206d 616b 6520 6f70 pt lines make op\n+0000f2d0: 656e 206f 7220 636c 6f73 6564 2073 7572 en or closed sur\n+0000f2e0: 6661 6365 732e 0a2a 2053 7765 7074 2070 faces..* Swept p\n+0000f2f0: 6f6c 7967 6f6e 733a 3a20 2020 2020 2020 olygons:: \n+0000f300: 2020 2020 2020 2053 7765 7074 2070 6f6c Swept pol\n+0000f310: 7967 6f6e 7320 6d61 6b65 2063 6c6f 7365 ygons make close\n+0000f320: 6420 7375 7266 6163 6573 2e0a 2a20 5377 d surfaces..* Sw\n+0000f330: 6570 7420 626c 6f63 6b73 3a3a 2020 2020 ept blocks:: \n+0000f340: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n+0000f350: 7420 626c 6f63 6b20 e289 a120 626c 6f63 t block ... bloc\n+0000f360: 6b20 6f66 2073 7765 6570 732e 0a2a 2053 k of sweeps..* S\n+0000f370: 7765 6570 2066 6163 6520 7370 6c69 7474 weep face splitt\n+0000f380: 696e 673a 3a20 2020 2020 2020 2046 6978 ing:: Fix\n+0000f390: 696e 6720 7761 7270 6564 2066 6163 6573 ing warped faces\n+0000f3a0: 2077 6974 6820 7472 6961 6e67 6c65 732e with triangles.\n+0000f3b0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+0000f3c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 5377 .info, Node: Sw\n+0000f3d0: 6570 7420 706f 696e 7473 2c20 204e 6578 ept points, Nex\n+0000f3e0: 743a 2053 7765 7074 206c 696e 6573 2c20 t: Swept lines, \n+0000f3f0: 2050 7265 763a 2053 7765 6570 732c 2020 Prev: Sweeps, \n+0000f400: 5570 3a20 5377 6565 7073 0a0a 332e 322e Up: Sweeps..3.2.\n+0000f410: 362e 3120 5377 6570 7420 706f 696e 7473 6.1 Swept points\n+0000f420: 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n+0000f430: 2e2e 2e2e 2e0a 0a49 6620 5357 4550 545f .......If SWEPT_\n+0000f440: 4f42 4a45 4354 2069 7320 6120 706f 696e OBJECT is a poin\n+0000f450: 7420 6c69 7374 2061 6e64 2074 6865 7265 t list and there\n+0000f460: 2069 7320 6e6f 2063 6c6f 7375 7265 2074 is no closure t\n+0000f470: 6167 2c20 7468 656e 0ae2 8098 7377 6565 ag, then....swee\n+0000f480: 70e2 8099 2063 6f6e 6e65 6374 7320 4e2b p... connects N+\n+0000f490: 3120 7375 6363 6573 7369 7665 2063 6f70 1 successive cop\n+0000f4a0: 6965 7320 6f66 2065 6163 6820 706f 696e ies of each poin\n+0000f4b0: 7420 2869 6e63 6c75 6469 6e67 2074 6865 t (including the\n+0000f4c0: 0a6f 7269 6769 6e61 6c29 2077 6974 6820 .original) with \n+0000f4d0: 7374 7261 6967 6874 206c 696e 6520 7365 straight line se\n+0000f4e0: 676d 656e 7473 2074 6f20 666f 726d 2061 gments to form a\n+0000f4f0: 2070 6f6c 796c 696e 652e 2020 4966 2074 polyline. If t\n+0000f500: 6865 7265 2061 7265 0a6d 2070 6f69 6e74 here are.m point\n+0000f510: 7320 696e 2074 6865 206f 7269 6769 6e61 s in the origina\n+0000f520: 6c20 706f 696e 7420 6c69 7374 2c20 7468 l point list, th\n+0000f530: 656e 206d 2070 6f6c 796c 696e 6573 2077 en m polylines w\n+0000f540: 6974 6820 4e20 7365 676d 656e 7473 0a65 ith N segments.e\n+0000f550: 6163 6820 6172 6520 666f 726d 6564 2062 ach are formed b\n+0000f560: 7920 7468 6520 7377 6565 702e 2020 496e y the sweep. In\n+0000f570: 2074 6869 7320 6d61 6e6e 6572 2c20 e280 this manner, ..\n+0000f580: 9873 7765 6570 e280 9920 666f 726d 7320 .sweep... forms \n+0000f590: 6120 7365 7420 6f66 0a6f 6e65 2d64 696d a set of.one-dim\n+0000f5a0: 656e 7369 6f6e 616c 206f 626a 6563 7473 ensional objects\n+0000f5b0: 2028 706f 6c79 6c69 6e65 7329 2066 726f (polylines) fro\n+0000f5c0: 6d20 7a65 726f 2d64 696d 656e 7369 6f6e m zero-dimension\n+0000f5d0: 616c 206f 6e65 7320 2870 6f69 6e74 7329 al ones (points)\n+0000f5e0: 2e0a 0a20 2020 5768 656e 2074 6865 7265 ... When there\n+0000f5f0: 205f 6973 5f20 6120 636c 6f73 7572 6520 _is_ a closure \n+0000f600: 7461 672c 20e2 8098 7377 6565 70e2 8099 tag, ...sweep...\n+0000f610: 2063 6f6e 6e65 6374 7320 4e20 7375 6363 connects N succ\n+0000f620: 6573 7369 7665 2063 6f70 6965 730a 6f66 essive copies.of\n+0000f630: 2065 6163 6820 706f 696e 7420 2869 6e63 each point (inc\n+0000f640: 6c75 6469 6e67 2074 6865 206f 7269 6769 luding the origi\n+0000f650: 6e61 6c29 2077 6974 6820 7374 7261 6967 nal) with straig\n+0000f660: 6874 206c 696e 6520 7365 676d 656e 7473 ht line segments\n+0000f670: 2061 6e64 0a66 696e 616c 6c79 2063 6f6e and.finally con\n+0000f680: 6e65 6374 7320 7468 6520 6c61 7374 2063 nects the last c\n+0000f690: 6f70 7920 6261 636b 2074 6f20 7468 6520 opy back to the \n+0000f6a0: 6f72 6967 696e 616c 2074 6f20 666f 726d original to form\n+0000f6b0: 2061 2070 6f6c 7967 6f6e 0a77 6974 6820 a polygon.with \n+0000f6c0: 4e20 7369 6465 732e 2020 4966 2074 6865 N sides. If the\n+0000f6d0: 7265 2061 7265 206d 2070 6f69 6e74 7320 re are m points \n+0000f6e0: 696e 2074 6865 206f 7269 6769 6e61 6c20 in the original \n+0000f6f0: 706f 696e 7420 6c69 7374 2c20 7468 656e point list, then\n+0000f700: 206d 0a70 6f6c 7967 6f6e 7320 7769 7468 m.polygons with\n+0000f710: 204e 2073 6964 6573 2065 6163 6820 6172 N sides each ar\n+0000f720: 6520 666f 726d 6564 2062 7920 7468 6520 e formed by the \n+0000f730: 7377 6565 702e 2020 496e 2074 6869 7320 sweep. In this \n+0000f740: 6d61 6e6e 6572 2c0a e280 9873 7765 6570 manner,....sweep\n+0000f750: e280 9920 666f 726d 7320 6120 7365 7420 ... forms a set \n+0000f760: 6f66 2074 776f 2d64 696d 656e 7369 6f6e of two-dimension\n+0000f770: 616c 206f 626a 6563 7473 2028 706f 6c79 al objects (poly\n+0000f780: 676f 6e73 2920 6672 6f6d 0a7a 6572 6f2d gons) from.zero-\n+0000f790: 6469 6d65 6e73 696f 6e61 6c20 6f6e 6573 dimensional ones\n+0000f7a0: 2028 706f 696e 7473 292e 0a0a 2020 204f (points)... O\n+0000f7b0: 7074 696f 6e73 206f 6620 7468 6520 e280 ptions of the ..\n+0000f7c0: 9873 7765 6570 e280 9920 6172 6520 636f .sweep... are co\n+0000f7d0: 7069 6564 2064 6972 6563 746c 7920 746f pied directly to\n+0000f7e0: 2074 6865 2072 6573 756c 7469 6e67 0a70 the resulting.p\n+0000f7f0: 6f6c 796c 696e 6528 7329 2e0a 0a1f 0a46 olyline(s).....F\n+0000f800: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+0000f810: 2c20 204e 6f64 653a 2053 7765 7074 206c , Node: Swept l\n+0000f820: 696e 6573 2c20 204e 6578 743a 2053 7765 ines, Next: Swe\n+0000f830: 7074 2070 6f6c 7967 6f6e 732c 2020 5072 pt polygons, Pr\n+0000f840: 6576 3a20 5377 6570 7420 706f 696e 7473 ev: Swept points\n+0000f850: 2c20 2055 703a 2053 7765 6570 730a 0a33 , Up: Sweeps..3\n+0000f860: 2e32 2e36 2e32 2053 7765 7074 206c 696e .2.6.2 Swept lin\n+0000f870: 6573 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e es..............\n+0000f880: 2e2e 2e2e 2e2e 0a0a 4966 2053 5745 5054 ........If SWEPT\n+0000f890: 5f4f 424a 4543 5420 6973 2061 2070 6f6c _OBJECT is a pol\n+0000f8a0: 796c 696e 6520 616e 6420 7468 6572 6520 yline and there \n+0000f8b0: 6973 206e 6f20 636c 6f73 7572 6520 7461 is no closure ta\n+0000f8c0: 672c 2074 6865 6e20 e280 9873 7765 6570 g, then ...sweep\n+0000f8d0: e280 990a 636f 6e6e 6563 7473 204e 2b31 ....connects N+1\n+0000f8e0: 2073 7563 6365 7373 6976 6520 636f 7069 successive copi\n+0000f8f0: 6573 206f 6620 7468 6520 706f 6c79 6c69 es of the polyli\n+0000f900: 6e65 2028 696e 636c 7564 696e 6720 7468 ne (including th\n+0000f910: 6520 6f72 6967 696e 616c 290a 7769 7468 e original).with\n+0000f920: 2066 6f75 722d 7369 6465 6420 706f 6c79 four-sided poly\n+0000f930: 676f 6e73 2c20 6561 6368 2070 6169 7220 gons, each pair \n+0000f940: 6f66 2063 6f70 6965 7320 6769 7669 6e67 of copies giving\n+0000f950: 2072 6973 6520 746f 2061 2022 706f 6c79 rise to a \"poly\n+0000f960: 676f 6e0a 7374 7269 702e 2220 2049 6620 gon.strip.\" If \n+0000f970: 7468 6572 6520 6172 6520 6d20 706f 696e there are m poin\n+0000f980: 7473 2069 6e20 7468 6520 6f72 6967 696e ts in the origin\n+0000f990: 616c 2070 6f6c 796c 696e 652c 2074 6865 al polyline, the\n+0000f9a0: 6e20 286d 2d31 294e 0a70 6f6c 7967 6f6e n (m-1)N.polygon\n+0000f9b0: 7320 6172 6520 666f 726d 6564 2062 7920 s are formed by \n+0000f9c0: 7468 6520 7377 6565 702e 2020 5765 2063 the sweep. We c\n+0000f9d0: 616c 6c20 7468 6573 6520 e280 9c62 6f64 all these ...bod\n+0000f9e0: 7920 706f 6c79 676f 6e73 e280 9d2e 2020 y polygons.... \n+0000f9f0: 496e 0a74 6869 7320 6d61 6e6e 6572 2c20 In.this manner, \n+0000fa00: e280 9873 7765 6570 e280 9920 666f 726d ...sweep... form\n+0000fa10: 7320 6120 7477 6f2d 6469 6d65 6e73 696f s a two-dimensio\n+0000fa20: 6e61 6c20 7375 7266 6163 6520 6672 6f6d nal surface from\n+0000fa30: 2066 726f 6d20 610a 6f6e 652d 6469 6d65 from a.one-dime\n+0000fa40: 6e73 696f 6e61 6c20 706f 6c79 6c69 6e65 nsional polyline\n+0000fa50: 2e0a 0a20 2020 5468 6520 6f72 6465 7220 ... The order \n+0000fa60: 6f66 2076 6572 7469 6365 7320 7072 6f64 of vertices prod\n+0000fa70: 7563 6564 2062 7920 e280 9873 7765 6570 uced by ...sweep\n+0000fa80: e280 9920 6973 2069 6d70 6f72 7461 6e74 ... is important\n+0000fa90: 2e20 2049 6620 610a 706f 6c79 676f 6e27 . If a.polygon'\n+0000faa0: 7320 7665 7274 6963 6573 2064 6f20 6e6f s vertices do no\n+0000fab0: 7420 6170 7065 6172 2069 6e20 636f 756e t appear in coun\n+0000fac0: 7465 722d 636c 6f63 6b77 6973 6520 6f72 ter-clockwise or\n+0000fad0: 6465 7220 696e 2074 6865 2066 696e 616c der in the final\n+0000fae0: 0a69 6d61 6765 2c20 7468 6520 706f 6c79 .image, the poly\n+0000faf0: 676f 6e20 7769 6c6c 2062 6520 6375 6c6c gon will be cull\n+0000fb00: 6564 2028 756e 6c65 7373 20e2 8098 6375 ed (unless ...cu\n+0000fb10: 6c6c 3d66 616c 7365 e280 9920 6973 2073 ll=false... is s\n+0000fb20: 6574 292e 2020 4966 2074 6865 0a70 6f69 et). If the.poi\n+0000fb30: 6e74 7320 696e 2074 6865 206b 2774 6820 nts in the k'th \n+0000fb40: 636f 7079 206f 6620 7468 6520 706f 6c79 copy of the poly\n+0000fb50: 6c69 6e65 2061 7265 2050 5f31 2c20 505f line are P_1, P_\n+0000fb60: 322c 202e 2e2e 2c20 505f 6d2c 2061 6e64 2, ..., P_m, and\n+0000fb70: 2074 6865 0a70 6f69 6e74 7320 696e 2074 the.points in t\n+0000fb80: 6865 206e 6578 7420 636f 7079 2c20 7468 he next copy, th\n+0000fb90: 6520 286b 2b31 2973 742c 2061 7265 2050 e (k+1)st, are P\n+0000fba0: 5f31 272c 2050 5f32 272c 202e 2e2e 2c20 _1', P_2', ..., \n+0000fbb0: 505f 6d27 2c20 7468 656e 0a74 6865 2076 P_m', then.the v\n+0000fbc0: 6572 7465 7820 6f72 6465 7220 6f66 2074 ertex order of t\n+0000fbd0: 6865 2067 656e 6572 6174 6564 2070 6f6c he generated pol\n+0000fbe0: 7967 6f6e 7320 6973 0a20 2020 2020 426f ygons is. Bo\n+0000fbf0: 6479 2070 6f6c 7967 6f6e 2031 3a20 505f dy polygon 1: P_\n+0000fc00: 3220 505f 3120 505f 3127 2050 5f32 270a 2 P_1 P_1' P_2'.\n+0000fc10: 2020 2020 2042 6f64 7920 706f 6c79 676f Body polygo\n+0000fc20: 6e20 323a 2050 5f33 2050 5f32 2050 5f32 n 2: P_3 P_2 P_2\n+0000fc30: 2720 505f 3327 0a20 2020 2020 2e2e 2e0a ' P_3'. ....\n+0000fc40: 2020 2020 2042 6f64 7920 706f 6c79 676f Body polygo\n+0000fc50: 6e20 6d2d 313a 2050 5f6d 2050 5f7b 6d2d n m-1: P_m P_{m-\n+0000fc60: 317d 2050 5f7b 6d2d 317d 2720 505f 6d27 1} P_{m-1}' P_m'\n+0000fc70: 0a0a 2020 204f 7074 696f 6e73 206f 6620 .. Options of \n+0000fc80: 756e 636c 6f73 6564 206c 696e 6520 7377 unclosed line sw\n+0000fc90: 6565 7073 2061 7265 2063 6f70 6965 6420 eeps are copied \n+0000fca0: 746f 2065 6163 6820 6f75 7470 7574 2070 to each output p\n+0000fcb0: 6f6c 7967 6f6e 2e0a 4f70 7469 6f6e 7320 olygon..Options \n+0000fcc0: 6f66 2074 6865 2073 7765 7074 206c 696e of the swept lin\n+0000fcd0: 6520 6172 6520 6967 6e6f 7265 642e 0a0a e are ignored...\n+0000fce0: 2020 2057 6865 6e20 7468 6572 6520 5f69 When there _i\n+0000fcf0: 735f 2061 2063 6c6f 7375 7265 2074 6167 s_ a closure tag\n+0000fd00: 2c20 7468 656e 20e2 8098 7377 6565 70e2 , then ...sweep.\n+0000fd10: 8099 2063 6f6e 6e65 6374 7320 4e20 7375 .. connects N su\n+0000fd20: 6363 6573 7369 7665 0a63 6f70 6965 7320 ccessive.copies \n+0000fd30: 6f66 2074 6865 2070 6f6c 796c 696e 6520 of the polyline \n+0000fd40: 2869 6e63 6c75 6469 6e67 2074 6865 206f (including the o\n+0000fd50: 7269 6769 6e61 6c29 2077 6974 6820 666f riginal) with fo\n+0000fd60: 7572 2d73 6964 6564 2062 6f64 790a 706f ur-sided body.po\n+0000fd70: 6c79 676f 6e73 206a 7573 7420 6173 2074 lygons just as t\n+0000fd80: 6865 2063 6173 6520 7769 7468 206e 6f20 he case with no \n+0000fd90: 636c 6f73 7572 6520 7461 672e 2020 4974 closure tag. It\n+0000fda0: 2074 6865 6e20 636f 6e6e 6563 7473 2074 then connects t\n+0000fdb0: 6865 0a6c 6173 7420 636f 7079 2062 6163 he.last copy bac\n+0000fdc0: 6b20 746f 2074 6865 206f 7269 6769 6e61 k to the origina\n+0000fdd0: 6c20 746f 2066 6f72 6d20 6120 7269 6262 l to form a ribb\n+0000fde0: 6f6e 2d73 6861 7065 6420 7375 7266 6163 on-shaped surfac\n+0000fdf0: 6520 7468 6174 0a63 6c6f 7365 7320 6f6e e that.closes on\n+0000fe00: 2069 7473 656c 6620 7769 7468 2074 776f itself with two\n+0000fe10: 2068 6f6c 6573 2072 656d 6169 6e69 6e67 holes remaining\n+0000fe20: 2e0a 0a20 2020 4669 6e61 6c6c 792c 2074 ... Finally, t\n+0000fe30: 6865 2073 7765 6570 2061 6464 7320 7477 he sweep adds tw\n+0000fe40: 6f20 6d6f 7265 2070 6f6c 7967 6f6e 7320 o more polygons \n+0000fe50: 746f 2073 6561 6c20 7468 6520 686f 6c65 to seal the hole\n+0000fe60: 7320 616e 6420 666f 726d 0a61 2063 6c6f s and form.a clo\n+0000fe70: 7365 6420 7375 7266 6163 6520 7468 6174 sed surface that\n+0000fe80: 2c20 6465 7065 6e64 696e 6720 6f6e 2074 , depending on t\n+0000fe90: 6865 2073 7765 6570 2074 7261 6e73 666f he sweep transfo\n+0000fea0: 726d 732c 206d 6179 2072 6570 7265 7365 rms, may represe\n+0000feb0: 6e74 0a74 6865 2062 6f75 6e64 6172 7920 nt.the boundary \n+0000fec0: 6f66 2061 2073 6f6c 6964 2e20 2049 6e20 of a solid. In \n+0000fed0: 7468 6973 206d 616e 6e65 722c 20e2 8098 this manner, ...\n+0000fee0: 7377 6565 70e2 8099 2066 6f72 6d73 2074 sweep... forms t\n+0000fef0: 6865 2062 6f75 6e64 6172 7920 6f66 0a61 he boundary of.a\n+0000ff00: 2074 6872 6565 2d64 696d 656e 7369 6f6e three-dimension\n+0000ff10: 616c 206f 626a 6563 7420 6672 6f6d 2061 al object from a\n+0000ff20: 206f 6e65 2d64 696d 656e 7369 6f6e 616c one-dimensional\n+0000ff30: 2070 6f6c 796c 696e 652e 2020 5765 2063 polyline. We c\n+0000ff40: 616c 6c0a 7468 6573 6520 686f 6c65 2d66 all.these hole-f\n+0000ff50: 696c 6c69 6e67 2070 6f6c 7967 6f6e 7320 illing polygons \n+0000ff60: e280 9c65 6e64 73e2 809d 2e0a 0a20 2020 ...ends...... \n+0000ff70: 5468 6520 6f72 6465 7220 6f66 2076 6572 The order of ver\n+0000ff80: 7469 6365 7320 6f66 2065 6e64 2070 6f6c tices of end pol\n+0000ff90: 7967 6f6e 7320 6973 2069 6d70 6f72 7461 ygons is importa\n+0000ffa0: 6e74 2066 6f72 2063 6f72 7265 6374 0a63 nt for correct.c\n+0000ffb0: 756c 6c69 6e67 2061 7320 6465 7363 7269 ulling as descri\n+0000ffc0: 6265 6420 6162 6f76 652e 2020 4966 2050 bed above. If P\n+0000ffd0: 5f31 5e31 2c20 505f 315e 322c 202e 2e2e _1^1, P_1^2, ...\n+0000ffe0: 2c20 505f 315e 6e20 6172 6520 7468 6520 , P_1^n are the \n+0000fff0: 4e0a 636f 7069 6573 206f 6620 7468 6520 N.copies of the \n+00010000: 6669 7273 7420 706f 6c79 6c69 6e65 2070 first polyline p\n+00010010: 6f69 6e74 2061 6e64 2050 5f6d 5e31 2c20 oint and P_m^1, \n+00010020: 505f 6d5e 322c 202e 2e2e 202c 505f 6d5e P_m^2, ... ,P_m^\n+00010030: 6e20 6172 6520 7468 650a 4e20 636f 7069 n are the.N copi\n+00010040: 6573 206f 6620 7468 6520 6c61 7374 2070 es of the last p\n+00010050: 6f6c 796c 696e 6520 706f 696e 742c 2074 olyline point, t\n+00010060: 6865 6e20 7468 6520 656e 6420 706f 6c79 hen the end poly\n+00010070: 676f 6e20 7665 7274 6578 206f 7264 6572 gon vertex order\n+00010080: 0a69 730a 2020 2020 2045 6e64 2070 6f6c .is. End pol\n+00010090: 7967 6f6e 2031 3a20 505f 315e 6e2c 2050 ygon 1: P_1^n, P\n+000100a0: 5f31 5e7b 6e2d 317d 2c20 2e2e 2e20 2c50 _1^{n-1}, ... ,P\n+000100b0: 5f31 5e31 0a20 2020 2020 456e 6420 706f _1^1. End po\n+000100c0: 6c79 676f 6e20 323a 2050 5f6d 5e31 2c20 lygon 2: P_m^1, \n+000100d0: 505f 6d5e 322c 202e 2e2e 202c 505f 6d5e P_m^2, ... ,P_m^\n+000100e0: 6e0a 0a20 2020 4966 2074 6865 7265 2061 n.. If there a\n+000100f0: 7265 206e 6f20 6f70 7469 6f6e 7320 6f6e re no options on\n+00010100: 2074 6865 2073 7765 7074 206c 696e 652c the swept line,\n+00010110: 2074 6865 6e20 7468 6520 e280 9873 7765 then the ...swe\n+00010120: 6570 e280 9920 6f70 7469 6f6e 730a 6172 ep... options.ar\n+00010130: 6520 636f 7069 6564 2074 6f20 6561 6368 e copied to each\n+00010140: 206f 7574 7075 7420 706f 6c79 676f 6e2e output polygon.\n+00010150: 2020 4966 2074 6865 2073 7765 7074 206c If the swept l\n+00010160: 696e 6520 646f 6573 2068 6176 6520 6f70 ine does have op\n+00010170: 7469 6f6e 732c 0a74 6865 7365 2061 7265 tions,.these are\n+00010180: 2063 6f70 6965 6420 746f 2063 6f72 7265 copied to corre\n+00010190: 7370 6f6e 6469 6e67 2062 6f64 7920 706f sponding body po\n+000101a0: 6c79 676f 6e73 3b20 7468 6520 7377 6565 lygons; the swee\n+000101b0: 7020 6f70 7469 6f6e 7320 6172 650a 636f p options are.co\n+000101c0: 7069 6564 2074 6f20 7468 6520 656e 6420 pied to the end \n+000101d0: 706f 6c79 676f 6e73 2e20 2049 6e20 7468 polygons. In th\n+000101e0: 6973 206d 616e 6e65 722c 2062 6f64 7920 is manner, body \n+000101f0: 616e 6420 656e 6473 206d 6179 2062 6520 and ends may be \n+00010200: 6472 6177 6e0a 7769 7468 2064 6966 6665 drawn.with diffe\n+00010210: 7265 6e74 2063 6861 7261 6374 6572 6973 rent characteris\n+00010220: 7469 6373 2073 7563 6820 6173 20e2 8098 tics such as ...\n+00010230: 6669 6c6c 636f 6c6f 72e2 8099 2e0a 0a1f fillcolor.......\n+00010240: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n+00010250: 666f 2c20 204e 6f64 653a 2053 7765 7074 fo, Node: Swept\n+00010260: 2070 6f6c 7967 6f6e 732c 2020 4e65 7874 polygons, Next\n+00010270: 3a20 5377 6570 7420 626c 6f63 6b73 2c20 : Swept blocks, \n+00010280: 2050 7265 763a 2053 7765 7074 206c 696e Prev: Swept lin\n+00010290: 6573 2c20 2055 703a 2053 7765 6570 730a es, Up: Sweeps.\n+000102a0: 0a33 2e32 2e36 2e33 2053 7765 7074 2070 .3.2.6.3 Swept p\n+000102b0: 6f6c 7967 6f6e 730a 2e2e 2e2e 2e2e 2e2e olygons.........\n+000102c0: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 0a0a ................\n+000102d0: 4966 2053 5745 5054 5f4f 424a 4543 5420 If SWEPT_OBJECT \n+000102e0: 6973 2061 2070 6f6c 7967 6f6e 2c20 7468 is a polygon, th\n+000102f0: 6520 e280 9873 7765 6570 e280 9920 636f e ...sweep... co\n+00010300: 6e6e 6563 7473 204e 2b31 2073 7563 6365 nnects N+1 succe\n+00010310: 7373 6976 6520 636f 7069 6573 0a6f 6620 ssive copies.of \n+00010320: 7468 6520 636c 6f73 6564 2070 6f6c 796c the closed polyl\n+00010330: 696e 6520 626f 7264 6572 206f 6620 7468 ine border of th\n+00010340: 6520 706f 6c79 676f 6e20 746f 2066 6f72 e polygon to for\n+00010350: 6d20 626f 6479 2070 6f6c 7967 6f6e 730a m body polygons.\n+00010360: 6578 6163 746c 7920 6173 2074 686f 7567 exactly as thoug\n+00010370: 6820 7468 6520 626f 7264 6572 2077 6572 h the border wer\n+00010380: 6520 6120 7377 6570 7420 706f 6c79 6c69 e a swept polyli\n+00010390: 6e65 2061 7320 6465 7363 7269 6265 6420 ne as described \n+000103a0: 696e 202a 6e6f 7465 0a53 7765 7074 206c in *note.Swept l\n+000103b0: 696e 6573 3a3a 2e20 2049 6620 7468 6572 ines::. If ther\n+000103c0: 6520 6172 6520 6d20 706f 696e 7473 2069 e are m points i\n+000103d0: 6e20 7468 6520 6f72 6967 696e 616c 2070 n the original p\n+000103e0: 6f6c 7967 6f6e 2c20 7468 656e 206d 4e0a olygon, then mN.\n+000103f0: 626f 6479 2070 6f6c 7967 6f6e 7320 6172 body polygons ar\n+00010400: 6520 666f 726d 6564 2062 7920 7468 6973 e formed by this\n+00010410: 2073 7765 6570 2e20 2054 6865 2062 6f64 sweep. The bod\n+00010420: 7920 706f 6c79 676f 6e73 2066 6f72 6d20 y polygons form \n+00010430: 616e 0ae2 809c 6578 7472 7573 696f 6ee2 an....extrusion.\n+00010440: 809d 206f 6620 7468 6520 626f 756e 6461 .. of the bounda\n+00010450: 7279 206f 6620 7468 6520 6f72 6967 696e ry of the origin\n+00010460: 616c 2070 6f6c 7967 6f6e 2077 6974 6820 al polygon with \n+00010470: 7477 6f20 686f 6c65 7320 6174 0a74 6865 two holes at.the\n+00010480: 206f 7065 6e20 656e 6473 2e0a 0a20 2020 open ends... \n+00010490: 4669 6e61 6c6c 792c 2074 6865 2073 7765 Finally, the swe\n+000104a0: 6570 2061 6464 7320 7477 6f20 636f 7069 ep adds two copi\n+000104b0: 6573 206f 6620 7468 6520 6f72 6967 696e es of the origin\n+000104c0: 616c 2070 6f6c 7967 6f6e 2074 6f20 636f al polygon to co\n+000104d0: 7665 720a 7468 6520 686f 6c65 732e 2020 ver.the holes. \n+000104e0: 5765 2063 616c 6c20 7468 6573 6520 686f We call these ho\n+000104f0: 6c65 2d66 696c 6c69 6e67 2070 6f6c 7967 le-filling polyg\n+00010500: 6f6e 7320 e280 9c65 6e64 73e2 809d 2e20 ons ...ends.... \n+00010510: 2049 6e20 7468 6973 206d 616e 6e65 722c In this manner,\n+00010520: 0ae2 8098 7377 6565 70e2 8099 2066 6f72 ....sweep... for\n+00010530: 6d73 2074 6865 2062 6f75 6e64 6172 7920 ms the boundary \n+00010540: 6f66 2061 2074 6872 6565 2d64 696d 656e of a three-dimen\n+00010550: 7369 6f6e 616c 206f 626a 6563 7420 6672 sional object fr\n+00010560: 6f6d 2061 0a74 776f 2d64 696d 656e 7369 om a.two-dimensi\n+00010570: 6f6e 616c 2070 6f6c 7967 6f6e 2e0a 0a20 onal polygon... \n+00010580: 2020 5468 6520 6f72 6465 7220 6f66 2076 The order of v\n+00010590: 6572 7469 6365 7320 6f66 2065 6e64 2070 ertices of end p\n+000105a0: 6f6c 7967 6f6e 7320 6973 2069 6d70 6f72 olygons is impor\n+000105b0: 7461 6e74 2066 6f72 2063 6f72 7265 6374 tant for correct\n+000105c0: 0a63 756c 6c69 6e67 2061 7320 6465 7363 .culling as desc\n+000105d0: 7269 6265 6420 6162 6f76 652e 2020 416e ribed above. An\n+000105e0: 2065 7861 6374 2063 6f70 7920 6f66 2074 exact copy of t\n+000105f0: 6865 206f 7269 6769 6e61 6c20 706f 6c79 he original poly\n+00010600: 676f 6e20 7769 7468 0a76 6572 7465 7820 gon with.vertex \n+00010610: 6f72 6465 7220 696e 7461 6374 2066 6f72 order intact for\n+00010620: 6d73 2074 6865 2066 6972 7374 2065 6e64 ms the first end\n+00010630: 2070 6f6c 7967 6f6e 2e20 2054 6865 206f polygon. The o\n+00010640: 7468 6572 2065 6e64 2070 6f6c 7967 6f6e ther end polygon\n+00010650: 0a72 6573 756c 7473 2066 726f 6d20 7472 .results from tr\n+00010660: 616e 7366 6f72 6d69 6e67 2061 6e64 2074 ansforming and t\n+00010670: 6865 2072 6576 6572 7369 6e67 2074 6865 he reversing the\n+00010680: 206f 7264 6572 206f 6620 7665 7274 6963 order of vertic\n+00010690: 6573 2069 6e20 7468 650a 6f72 6967 696e es in the.origin\n+000106a0: 616c 2e20 2054 6865 2074 7261 6e73 666f al. The transfo\n+000106b0: 726d 2070 6c61 6365 7320 7468 6520 6f72 rm places the or\n+000106c0: 6967 696e 616c 2070 6f6c 7967 6f6e 2061 iginal polygon a\n+000106d0: 7420 7468 6520 756e 636f 7665 7265 640a t the uncovered.\n+000106e0: 686f 6c65 3b20 6974 2069 730a 2020 2020 hole; it is. \n+000106f0: 2054 5f31 5e6e 2074 6865 6e20 545f 325e T_1^n then T_2^\n+00010700: 6e20 7468 656e 202e 2e2e 2074 6865 6e20 n then ... then \n+00010710: 545f 525e 6e2e 0a49 6620 7468 6572 6520 T_R^n..If there \n+00010720: 6172 6520 6e6f 206f 7074 696f 6e73 206f are no options o\n+00010730: 6e20 7468 6520 7377 6570 7420 706f 6c79 n the swept poly\n+00010740: 676f 6e2c 2074 6865 6e20 7468 6520 e280 gon, then the ..\n+00010750: 9873 7765 6570 e280 9920 6f70 7469 6f6e .sweep... option\n+00010760: 730a 6172 6520 636f 7069 6564 2074 6f20 s.are copied to \n+00010770: 6561 6368 206f 7574 7075 7420 706f 6c79 each output poly\n+00010780: 676f 6e2e 2020 4966 2074 6865 2073 7765 gon. If the swe\n+00010790: 7074 2070 6f6c 7967 6f6e 2064 6f65 7320 pt polygon does \n+000107a0: 6861 7665 0a6f 7074 696f 6e73 2c20 7468 have.options, th\n+000107b0: 6573 6520 6172 6520 636f 7069 6564 2074 ese are copied t\n+000107c0: 6f20 7468 6520 656e 6473 3b20 7468 6520 o the ends; the \n+000107d0: 7377 6565 7020 6f70 7469 6f6e 7320 6172 sweep options ar\n+000107e0: 6520 636f 7069 6564 2074 6f0a 7468 6520 e copied to.the \n+000107f0: 626f 6479 2070 6f6c 7967 6f6e 732e 2020 body polygons. \n+00010800: 496e 2074 6869 7320 6d61 6e6e 6572 2c20 In this manner, \n+00010810: 626f 6479 2061 6e64 2065 6e64 7320 6d61 body and ends ma\n+00010820: 7920 6265 2064 7261 776e 2077 6974 680a y be drawn with.\n+00010830: 6469 6666 6572 656e 7420 6368 6172 6163 different charac\n+00010840: 7465 7269 7374 6963 7320 7375 6368 2061 teristics such a\n+00010850: 7320 e280 9866 696c 6c63 6f6c 6f72 e280 s ...fillcolor..\n+00010860: 992e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ......File: sket\n+00010870: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n+00010880: 5377 6570 7420 626c 6f63 6b73 2c20 204e Swept blocks, N\n+00010890: 6578 743a 2053 7765 6570 2066 6163 6520 ext: Sweep face \n+000108a0: 7370 6c69 7474 696e 672c 2020 5072 6576 splitting, Prev\n+000108b0: 3a20 5377 6570 7420 706f 6c79 676f 6e73 : Swept polygons\n+000108c0: 2c20 2055 703a 2053 7765 6570 730a 0a33 , Up: Sweeps..3\n+000108d0: 2e32 2e36 2e34 2053 7765 7074 2062 6c6f .2.6.4 Swept blo\n+000108e0: 636b 730a 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e cks.............\n+000108f0: 2e2e 2e2e 2e2e 2e2e 0a0a 5468 6520 7377 ..........The sw\n+00010900: 6570 7420 6f62 6a65 6374 2053 5745 5054 ept object SWEPT\n+00010910: 5f4f 424a 4543 5420 6d61 7920 616c 736f _OBJECT may also\n+00010920: 2062 6520 616e 7920 636f 6c6c 6563 7469 be any collecti\n+00010930: 6f6e 206f 6620 706f 6c79 6c69 6e65 730a on of polylines.\n+00010940: 616e 6420 706f 6c79 676f 6e73 2e20 2054 and polygons. T\n+00010950: 6869 7320 6d61 7920 6265 2061 2062 6c6f his may be a blo\n+00010960: 636b 2063 6f6d 706f 7365 6420 6f66 20e2 ck composed of .\n+00010970: 8098 6c69 6e65 e280 9920 616e 642f 6f72 ..line... and/or\n+00010980: 20e2 8098 706f 6c79 676f 6ee2 8099 0a63 ...polygon....c\n+00010990: 6f6d 6d61 6e64 7320 696e 2062 7261 6365 ommands in brace\n+000109a0: 7320 e280 987b 207d e280 992c 206f 7220 s ...{ }..., or \n+000109b0: 6974 206d 6179 2062 6520 7468 6520 7265 it may be the re\n+000109c0: 7375 6c74 206f 6620 6120 e280 9872 6570 sult of a ...rep\n+000109d0: 6561 74e2 8099 2c20 616e 6f74 6865 720a eat..., another.\n+000109e0: e280 9873 7765 6570 e280 992c 2065 7463 ...sweep..., etc\n+000109f0: 2e20 2054 6865 2073 7765 6570 2061 6374 . The sweep act\n+00010a00: 7320 696e 6465 7065 6e64 656e 746c 7920 s independently \n+00010a10: 6f6e 2065 6163 6820 6f62 6a65 6374 2069 on each object i\n+00010a20: 6e20 7468 6520 626c 6f63 6b0a 6578 6163 n the block.exac\n+00010a30: 746c 7920 6173 2069 6620 6974 2077 6572 tly as if it wer\n+00010a40: 6520 6120 7369 6e67 6c65 2073 7765 7074 e a single swept\n+00010a50: 206f 626a 6563 7420 6465 7363 7269 6265 object describe\n+00010a60: 6420 6162 6f76 6520 696e 202a 6e6f 7465 d above in *note\n+00010a70: 0a53 7765 7074 206c 696e 6573 3a3a 2061 .Swept lines:: a\n+00010a80: 6e64 202a 6e6f 7465 2053 7765 7074 2070 nd *note Swept p\n+00010a90: 6f6c 7967 6f6e 733a 3a2e 0a0a 1f0a 4669 olygons::.....Fi\n+00010aa0: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n+00010ab0: 2020 4e6f 6465 3a20 5377 6565 7020 6661 Node: Sweep fa\n+00010ac0: 6365 2073 706c 6974 7469 6e67 2c20 2050 ce splitting, P\n+00010ad0: 7265 763a 2053 7765 7074 2062 6c6f 636b rev: Swept block\n+00010ae0: 732c 2020 5570 3a20 5377 6565 7073 0a0a s, Up: Sweeps..\n+00010af0: 332e 322e 362e 3520 5377 6565 7020 6661 3.2.6.5 Sweep fa\n+00010b00: 6365 2073 706c 6974 7469 6e67 0a2e 2e2e ce splitting....\n 00010b10: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00010b20: 2e2e 2e0a 0a42 6566 6f72 6520 7365 6e64 .....Before send\n-00010b30: 696e 6720 6561 6368 2066 6f75 722d 7369 ing each four-si\n-00010b40: 6465 6420 626f 6479 2070 6f6c 7967 6f6e ded body polygon\n-00010b50: 206f 6620 6120 e280 9873 7765 6570 e280 of a ...sweep..\n-00010b60: 9920 746f 2074 6865 206f 7574 7075 742c . to the output,\n-00010b70: 0ae2 8098 736b 6574 6368 e280 9920 7465 ....sketch... te\n-00010b80: 7374 7320 746f 2073 6565 2069 6620 6974 sts to see if it\n-00010b90: 2069 7320 726f 7567 686c 7920 706c 616e is roughly plan\n-00010ba0: 6172 2e20 2053 696e 6365 2070 6c61 6e61 ar. Since plana\n-00010bb0: 7269 7479 2069 730a 6e65 6365 7373 6172 rity is.necessar\n-00010bc0: 7920 666f 7220 7072 6f70 6572 2066 756e y for proper fun\n-00010bd0: 6374 696f 6e69 6e67 206f 6620 7468 6520 ctioning of the \n-00010be0: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a\n-00010bf0: 6c67 6f72 6974 686d 2c0a 2277 6172 7065 lgorithm,.\"warpe\n-00010c00: 6422 2070 6f6c 7967 6f6e 7320 6172 6520 d\" polygons are \n-00010c10: 6175 746f 6d61 7469 6361 6c6c 7920 7370 automatically sp\n-00010c20: 6c69 7420 696e 746f 2074 776f 2074 7269 lit into two tri\n-00010c30: 616e 676c 6573 2e0a 0a20 2020 486f 6c65 angles... Hole\n-00010c40: 2d66 696c 6c69 6e67 2070 6f6c 7967 6f6e -filling polygon\n-00010c50: 7320 7072 6f64 7563 6564 2062 7920 636c s produced by cl\n-00010c60: 6f73 7572 652d 7461 6767 6564 206c 696e osure-tagged lin\n-00010c70: 6520 7377 6565 7073 2061 7265 206e 6f74 e sweeps are not\n-00010c80: 0a73 706c 6974 2e20 204e 6f72 2061 7265 .split. Nor are\n-00010c90: 206f 7269 6769 6e61 6c20 706f 6c79 676f original polygo\n-00010ca0: 6e73 2069 6e20 706f 6c79 676f 6e20 7377 ns in polygon sw\n-00010cb0: 6565 7073 2e20 2049 7420 6973 2074 6865 eeps. It is the\n-00010cc0: 2075 7365 7227 730a 7265 7370 6f6e 7369 user's.responsi\n-00010cd0: 6269 6c69 7479 2074 6f20 656e 7375 7265 bility to ensure\n-00010ce0: 2074 6865 7365 2061 7265 2070 6c61 6e61 these are plana\n-00010cf0: 722e 0a0a 1f0a 4669 6c65 3a20 736b 6574 r.....File: sket\n-00010d00: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-00010d10: 426c 6f63 6b73 2c20 204e 6578 743a 2052 Blocks, Next: R\n-00010d20: 6570 6561 7473 2c20 2050 7265 763a 2053 epeats, Prev: S\n-00010d30: 7765 6570 732c 2020 5570 3a20 4472 6177 weeps, Up: Draw\n-00010d40: 6162 6c65 730a 0a33 2e32 2e37 2042 6c6f ables..3.2.7 Blo\n-00010d50: 636b 730a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d cks.------------\n-00010d60: 0a0a 416e 7920 7365 7175 656e 6365 206f ..Any sequence o\n-00010d70: 6620 6472 6177 6162 6c65 7320 6d61 7920 f drawables may \n-00010d80: 6265 2067 726f 7570 6564 2069 6e20 6120 be grouped in a \n-00010d90: e280 9c62 6c6f 636b e280 9d20 6d65 7265 ...block... mere\n-00010da0: 6c79 2062 790a 656e 636c 6f73 696e 6720 ly by.enclosing \n-00010db0: 7468 656d 2069 6e20 6272 6163 6573 20e2 them in braces .\n-00010dc0: 8098 7b20 7de2 8099 2e20 2041 2062 6c6f ..{ }.... A blo\n-00010dd0: 636b 2069 7320 6974 7365 6c66 2064 7261 ck is itself dra\n-00010de0: 7761 626c 652e 2020 4120 6b65 7920 7573 wable. A key us\n-00010df0: 650a 6f66 2062 6c6f 636b 7320 6973 2074 e.of blocks is t\n-00010e00: 6f20 6578 7465 6e64 2074 6865 2065 6666 o extend the eff\n-00010e10: 6563 7420 6f66 2061 2073 696e 676c 6520 ect of a single \n-00010e20: e280 9864 6566 e280 992c 202a 6e6f 7465 ...def..., *note\n-00010e30: 0a44 6566 696e 6974 696f 6e73 3a3a 2c20 .Definitions::, \n-00010e40: e280 9870 7574 e280 9920 2a6e 6f74 6520 ...put... *note \n-00010e50: 5075 7473 3a3a 2c20 e280 9873 7765 6570 Puts::, ...sweep\n-00010e60: e280 9920 2a6e 6f74 6520 5377 6565 7073 ... *note Sweeps\n-00010e70: 3a3a 2c20 6f72 20e2 8098 7265 7065 6174 ::, or ...repeat\n-00010e80: e280 990a 2a6e 6f74 6520 5265 7065 6174 ....*note Repeat\n-00010e90: 733a 3a20 746f 2069 6e63 6c75 6465 2073 s:: to include s\n-00010ea0: 6576 6572 616c 206f 626a 6563 7473 2072 everal objects r\n-00010eb0: 6174 6865 7220 7468 616e 206f 6e65 2e0a ather than one..\n-00010ec0: 0a20 2020 4465 6669 6e69 7469 6f6e 7320 . Definitions \n-00010ed0: 282a 4e6f 7465 2044 6566 696e 6974 696f (*Note Definitio\n-00010ee0: 6e73 3a3a 2e29 2020 696e 7369 6465 2061 ns::.) inside a\n-00010ef0: 2062 6c6f 636b 2068 6176 6520 e280 9c6c block have ...l\n-00010f00: 6578 6963 616c 0a73 636f 7065 e280 9d20 exical.scope... \n-00010f10: 6578 7465 6e64 696e 6720 6672 6f6d 2074 extending from t\n-00010f20: 6865 2070 6c61 6365 206f 6620 6465 6669 he place of defi\n-00010f30: 6e69 7469 6f6e 2074 6f20 7468 6520 656e nition to the en\n-00010f40: 6420 6f66 2074 6865 2062 6c6f 636b 2e0a d of the block..\n-00010f50: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n-00010f60: 696e 666f 2c20 204e 6f64 653a 2052 6570 info, Node: Rep\n-00010f70: 6561 7473 2c20 204e 6578 743a 2050 7574 eats, Next: Put\n-00010f80: 732c 2020 5072 6576 3a20 426c 6f63 6b73 s, Prev: Blocks\n-00010f90: 2c20 2055 703a 2044 7261 7761 626c 6573 , Up: Drawables\n-00010fa0: 0a0a 332e 322e 3820 5265 7065 6174 730a ..3.2.8 Repeats.\n-00010fb0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a -------------..*\n-00010fc0: 5379 6e74 6178 3a2a 0a20 2020 2020 7265 Syntax:*. re\n-00010fd0: 7065 6174 207b 204e 2c20 545f 312c 2054 peat { N, T_1, T\n-00010fe0: 5f32 2c20 2e2e 2e2c 2054 5f52 207d 2052 _2, ..., T_R } R\n-00010ff0: 4550 4541 5445 445f 4f42 4a45 4354 0a54 EPEATED_OBJECT.T\n-00011000: 6865 2072 6570 6561 7420 6d61 6b65 7320 he repeat makes \n-00011010: 4e20 7472 616e 7366 6f72 6d65 6420 636f N transformed co\n-00011020: 7069 6573 206f 6620 5245 5045 4154 4544 pies of REPEATED\n-00011030: 5f4f 424a 4543 5420 2869 6e63 6c75 6469 _OBJECT (includi\n-00011040: 6e67 2074 6865 0a6f 7269 6769 6e61 6c29 ng the.original)\n-00011050: 2e20 2054 6865 2054 5f49 2061 7265 2074 . The T_I are t\n-00011060: 7261 6e73 666f 726d 732e 2020 5468 6520 ransforms. The \n-00011070: 6b27 7468 2063 6f70 7920 6f66 2074 6865 k'th copy of the\n-00011080: 0a52 4550 4541 5445 445f 4f42 4a45 4354 .REPEATED_OBJECT\n-00011090: 2028 666f 7220 6b3d 302c 312c 2e2e 2e2c (for k=0,1,...,\n-000110a0: 6e2d 3129 2069 7320 7072 6f64 7563 6564 n-1) is produced\n-000110b0: 2069 6e20 7468 6520 7361 6d65 206d 616e in the same man\n-000110c0: 6e65 7220 6173 0a66 6f72 20e2 8098 7377 ner as.for ...sw\n-000110d0: 6565 70e2 8099 7320 6465 7363 7269 6265 eep...s describe\n-000110e0: 6420 696e 202a 6e6f 7465 2053 7765 6570 d in *note Sweep\n-000110f0: 733a 3a2e 2020 5468 6973 2069 7320 7265 s::. This is re\n-00011100: 7065 6174 6564 2068 6572 6520 286e 6f20 peated here (no \n-00011110: 7075 6e0a 696e 7465 6e64 6564 2920 666f pun.intended) fo\n-00011120: 7220 636f 6e76 656e 6965 6e63 652e 2020 r convenience. \n-00011130: 546f 206d 616b 6520 7468 6520 6b27 7468 To make the k'th\n-00011140: 2063 6f70 792c 2074 6865 2066 6f6c 6c6f copy, the follo\n-00011150: 7769 6e67 0a74 7261 6e73 666f 726d 2069 wing.transform i\n-00011160: 7320 6170 706c 6965 6420 746f 2074 6865 s applied to the\n-00011170: 206f 7269 6769 6e61 6c20 6f62 6a65 6374 original object\n-00011180: 2e0a 2020 2020 2054 5f31 5e6b 2074 6865 .. T_1^k the\n-00011190: 6e20 545f 325e 6b20 7468 656e 202e 2e2e n T_2^k then ...\n-000111a0: 2074 6865 6e20 545f 525e 6b0a 4865 7265 then T_R^k.Here\n-000111b0: 2054 5e6b 206d 6561 6e73 2022 7472 616e T^k means \"tran\n-000111c0: 7366 6f72 6d20 5420 6170 706c 6965 6420 sform T applied \n-000111d0: 6b20 7469 6d65 732e 220a 0a1f 0a46 696c k times.\"....Fil\n-000111e0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-000111f0: 204e 6f64 653a 2050 7574 732c 2020 5072 Node: Puts, Pr\n-00011200: 6576 3a20 5265 7065 6174 732c 2020 5570 ev: Repeats, Up\n-00011210: 3a20 4472 6177 6162 6c65 730a 0a33 2e32 : Drawables..3.2\n-00011220: 2e39 2050 7574 730a 2d2d 2d2d 2d2d 2d2d .9 Puts.--------\n-00011230: 2d2d 0a0a 2a53 796e 7461 783a 2a0a 2020 --..*Syntax:*. \n-00011240: 2020 2070 7574 207b 2054 207d 2050 5554 put { T } PUT\n-00011250: 5f4f 424a 4543 540a 5075 7420 6d65 7265 _OBJECT.Put mere\n-00011260: 6c79 2061 7070 6c69 6573 2074 7261 6e73 ly applies trans\n-00011270: 666f 726d 2054 2074 6f20 7468 6520 6472 form T to the dr\n-00011280: 6177 6162 6c65 2050 5554 5f4f 424a 4543 awable PUT_OBJEC\n-00011290: 542e 0a0a 1f0a 4669 6c65 3a20 736b 6574 T.....File: sket\n-000112a0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-000112b0: 4465 6669 6e69 7469 6f6e 732c 2020 4e65 Definitions, Ne\n-000112c0: 7874 3a20 476c 6f62 616c 2065 6e76 6972 xt: Global envir\n-000112d0: 6f6e 6d65 6e74 2c20 2050 7265 763a 2044 onment, Prev: D\n-000112e0: 7261 7761 626c 6573 2c20 2055 703a 2049 rawables, Up: I\n-000112f0: 6e70 7574 206c 616e 6775 6167 650a 0a33 nput language..3\n-00011300: 2e33 2044 6566 696e 6974 696f 6e73 0a3d .3 Definitions.=\n-00011310: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a ==============..\n-00011320: 4465 6669 6e69 7469 6f6e 7320 6769 7665 Definitions give\n-00011330: 206e 616d 6573 2074 6f20 e280 9873 6b65 names to ...ske\n-00011340: 7463 68e2 8099 206f 626a 6563 7473 2e20 tch... objects. \n-00011350: 2044 6566 696e 6974 696f 6e73 2061 6c6f Definitions alo\n-00011360: 6e65 2061 7265 0a62 656e 6967 6e2e 2020 ne are.benign. \n-00011370: 4120 e280 9873 6b65 7463 68e2 8099 2069 A ...sketch... i\n-00011380: 6e70 7574 2066 696c 6520 636f 6e73 6973 nput file consis\n-00011390: 7469 6e67 2065 6e74 6972 656c 7920 6f66 ting entirely of\n-000113a0: 2064 6566 696e 6974 696f 6e73 2077 696c definitions wil\n-000113b0: 6c0a 6765 6e65 7261 7465 206e 6f20 6472 l.generate no dr\n-000113c0: 6177 696e 672e 2020 4f6e 6c79 2077 6865 awing. Only whe\n-000113d0: 6e20 6465 6669 6e69 7469 6f6e 7320 6172 n definitions ar\n-000113e0: 6520 e280 9c72 6566 6572 656e 6365 64e2 e ...referenced.\n-000113f0: 809d 2064 6f20 7468 6579 0a70 6f74 656e .. do they.poten\n-00011400: 7469 616c 6c79 206c 6561 6420 746f 2069 tially lead to i\n-00011410: 6e6b 206f 6e20 7468 6520 6472 6177 696e nk on the drawin\n-00011420: 672e 0a0a 2020 2054 6865 2069 6e74 656e g... The inten\n-00011430: 7420 6f66 2064 6566 696e 6974 696f 6e73 t of definitions\n-00011440: 2069 7320 746f 206d 616b 6520 e280 9873 is to make ...s\n-00011450: 6b65 7463 68e2 8099 2063 6f64 6520 6d6f ketch... code mo\n-00011460: 7265 2063 6f6e 6369 7365 2061 6e64 0a72 re concise and.r\n-00011470: 6561 6461 626c 652e 2020 5468 6572 6520 eadable. There \n-00011480: 6973 206e 6f20 696e 7075 7420 6669 6c65 is no input file\n-00011490: 2065 6d70 6c6f 7969 6e67 2064 6566 696e employing defin\n-000114a0: 6974 696f 6e73 2074 6861 7420 636f 756c itions that coul\n-000114b0: 6420 6e6f 740a 6265 2072 652d 7772 6974 d not.be re-writ\n-000114c0: 7465 6e20 7769 7468 6f75 7420 7468 656d ten without them\n-000114d0: 2e0a 0a20 2020 4465 6669 6e61 626c 6520 ... Definable \n-000114e0: 6f62 6a65 6374 7320 696e 636c 7564 6520 objects include \n-000114f0: 616e 7920 7265 7375 6c74 206f 6620 616e any result of an\n-00011500: 2061 6666 696e 6520 6172 6974 686d 6574 affine arithmet\n-00011510: 6963 0a65 7870 7265 7373 696f 6e20 2873 ic.expression (s\n-00011520: 6361 6c61 722c 2070 6f69 6e74 2c20 7665 calar, point, ve\n-00011530: 6374 6f72 2c20 6f72 2074 7261 6e73 666f ctor, or transfo\n-00011540: 726d 292c 2061 6e79 2064 7261 7761 626c rm), any drawabl\n-00011550: 6520 6f62 6a65 6374 0a28 646f 7473 2c20 e object.(dots, \n-00011560: 6c69 6e65 2c20 6375 7276 652c 2070 6f6c line, curve, pol\n-00011570: 7967 6f6e 2c20 626c 6f63 6b2c 2073 7765 ygon, block, swe\n-00011580: 6570 2c20 7075 742c 2072 6570 6561 742c ep, put, repeat,\n-00011590: 206f 7220 7370 6563 6961 6c29 2c20 616e or special), an\n-000115a0: 640a 6f70 7469 6f6e 2073 7472 696e 6773 d.option strings\n-000115b0: 2e20 2049 6e20 6164 6469 7469 6f6e 2c20 . In addition, \n-000115c0: e280 9c74 6167 2064 6566 696e 6974 696f ...tag definitio\n-000115d0: 6e73 e280 9d2c 2077 6869 6368 2068 6176 ns..., which hav\n-000115e0: 6520 6e6f 0a61 7373 6f63 6961 7465 6420 e no.associated \n-000115f0: 6f62 6a65 6374 2061 7420 616c 6c2c 2061 object at all, a\n-00011600: 6c6c 6f77 2074 6865 206d 6561 6e69 6e67 llow the meaning\n-00011610: 206f 6620 6f74 6865 7220 6465 6669 6e69 of other defini\n-00011620: 7469 6f6e 7320 746f 2062 650a 7365 6c65 tions to be.sele\n-00011630: 6374 6564 2066 726f 6d20 6120 7365 7420 cted from a set \n-00011640: 6f66 2061 6c74 6572 6e61 7469 7665 732e of alternatives.\n-00011650: 2020 5369 6e63 6520 7461 6773 206d 6179 Since tags may\n-00011660: 2062 6520 6465 6669 6e65 6420 2861 6e64 be defined (and\n-00011670: 0a75 6e64 6566 696e 6564 2920 696e 2074 .undefined) in t\n-00011680: 6865 2063 6f6d 6d61 6e64 206c 696e 6520 he command line \n-00011690: 6f66 20e2 8098 736b 6574 6368 e280 992c of ...sketch...,\n-000116a0: 2074 6865 7920 6361 6e20 6265 2061 6e20 they can be an \n-000116b0: 6169 6420 696e 2074 6865 0a73 6372 6970 aid in the.scrip\n-000116c0: 742d 6472 6976 656e 2070 7265 7061 7261 t-driven prepara\n-000116d0: 7469 6f6e 206f 6620 646f 6375 6d65 6e74 tion of document\n-000116e0: 732e 0a0a 2a20 4d65 6e75 3a0a 0a2a 2046 s...* Menu:..* F\n-000116f0: 6f72 6d73 206f 6620 6465 6669 6e69 7469 orms of definiti\n-00011700: 6f6e 733a 3a20 2020 2020 2020 2044 6966 ons:: Dif\n-00011710: 6665 7265 6e74 2064 6566 7320 666f 7220 ferent defs for \n-00011720: 6469 6666 6572 656e 7420 7075 7270 6f73 different purpos\n-00011730: 6573 2e0a 2a20 466f 726d 7320 6f66 2072 es..* Forms of r\n-00011740: 6566 6572 656e 6365 733a 3a20 2020 2020 eferences:: \n-00011750: 2020 2020 486f 7720 7265 6665 7265 6e63 How referenc\n-00011760: 6573 2064 656e 6f74 6520 7479 7065 732e es denote types.\n-00011770: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-00011780: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 466f .info, Node: Fo\n-00011790: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio\n-000117a0: 6e73 2c20 204e 6578 743a 2046 6f72 6d73 ns, Next: Forms\n-000117b0: 206f 6620 7265 6665 7265 6e63 6573 2c20 of references, \n-000117c0: 2050 7265 763a 2044 6566 696e 6974 696f Prev: Definitio\n-000117d0: 6e73 2c20 2055 703a 2044 6566 696e 6974 ns, Up: Definit\n-000117e0: 696f 6e73 0a0a 332e 332e 3120 466f 726d ions..3.3.1 Form\n-000117f0: 7320 6f66 2064 6566 696e 6974 696f 6e73 s of definitions\n-00011800: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n-00011810: 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a 0a44 6566 -----------..Def\n-00011820: 696e 6974 696f 6e73 2068 6176 6520 7468 initions have th\n-00011830: 7265 6520 706f 7373 6962 6c65 2066 6f72 ree possible for\n-00011840: 6d73 2c20 e280 9c73 696d 706c 65e2 809d ms, ...simple...\n-00011850: 2c20 e280 9c77 6974 6820 616c 7465 726e , ...with altern\n-00011860: 6174 6976 6573 e280 9d2c 0a61 6e64 20e2 atives...,.and .\n-00011870: 809c 7461 67e2 809d 2061 7320 7368 6f77 ..tag... as show\n-00011880: 6e20 6865 7265 2069 6e20 6f72 6465 722e n here in order.\n-00011890: 0a0a 2a53 796e 7461 783a 2a0a 2020 2020 ..*Syntax:*. \n-000118a0: 2064 6566 2049 4420 4f42 4a45 4354 2020 def ID OBJECT \n-000118b0: 2520 7369 6d70 6c65 2064 6566 0a20 2020 % simple def. \n-000118c0: 2020 6465 6620 4944 203c 5441 475f 313e def ID \n-000118d0: 204f 424a 4543 545f 3120 2025 2064 6566 OBJECT_1 % def\n-000118e0: 2077 6974 6820 616c 7465 726e 6174 6976 with alternativ\n-000118f0: 6573 0a20 2020 2020 2020 2020 2020 203c es. <\n-00011900: 5441 475f 323e 204f 424a 4543 545f 320a TAG_2> OBJECT_2.\n-00011910: 2020 2020 2020 2020 2020 2020 2e2e 2e0a ....\n-00011920: 2020 2020 2020 2020 2020 2020 3c3e 2044 <> D\n-00011930: 4546 4155 4c54 5f4f 424a 4543 540a 2020 EFAULT_OBJECT. \n-00011940: 2020 2064 6566 2049 4420 3c3e 2020 2520 def ID <> % \n-00011950: 7461 6720 6465 660a 5468 6520 7369 6d70 tag def.The simp\n-00011960: 6c65 2064 6566 696e 6974 696f 6e20 6d65 le definition me\n-00011970: 7265 6c79 2061 7373 6f63 6961 7465 7320 rely associates \n-00011980: 4f42 4a45 4354 2077 6974 6820 7468 6520 OBJECT with the \n-00011990: 6964 656e 7469 6669 6572 2049 442e 0a0a identifier ID...\n-000119a0: 2020 2054 6865 2064 6566 696e 6974 696f The definitio\n-000119b0: 6e20 7769 7468 2061 6c74 6572 6e61 7469 n with alternati\n-000119c0: 7665 7320 6173 736f 6369 6174 6573 204f ves associates O\n-000119d0: 424a 4543 545f 4920 7769 7468 2049 442c BJECT_I with ID,\n-000119e0: 2077 6865 7265 0a54 4147 5f49 2069 7320 where.TAG_I is \n-000119f0: 7468 6520 6669 7273 7420 6465 6669 6e65 the first define\n-00011a00: 6420 7461 6720 696e 2074 6865 206c 6973 d tag in the lis\n-00011a10: 7420 6f66 2061 6c74 6572 6e61 7469 7665 t of alternative\n-00011a20: 2074 6167 0a72 6566 6572 656e 6365 732e tag.references.\n-00011a30: 2020 4966 206e 6f20 7461 6720 696e 2074 If no tag in t\n-00011a40: 6865 206c 6973 7420 6973 2064 6566 696e he list is defin\n-00011a50: 6564 2c20 7468 656e 2044 4546 4155 4c54 ed, then DEFAULT\n-00011a60: 5f4f 424a 4543 5420 6973 0a61 7373 6f63 _OBJECT is.assoc\n-00011a70: 6961 7465 6420 7769 7468 2069 6465 6e74 iated with ident\n-00011a80: 6966 6965 7220 4944 2e0a 0a20 2020 5468 ifier ID... Th\n-00011a90: 6520 6669 6e61 6c20 666f 726d 2064 6566 e final form def\n-00011aa0: 696e 6573 2049 4420 6173 2061 2074 6167 ines ID as a tag\n-00011ab0: 2e20 2041 6e6f 7468 6572 2077 6179 2074 . Another way t\n-00011ac0: 6f20 6465 6669 6e65 2061 2074 6167 2069 o define a tag i\n-00011ad0: 730a 7769 7468 2074 6865 20e2 8098 2d44 s.with the ...-D\n-00011ae0: e280 9920 636f 6d6d 616e 6420 6c69 6e65 ... command line\n-00011af0: 206f 7074 696f 6e2e 2020 2a4e 6f74 6520 option. *Note \n-00011b00: 436f 6d6d 616e 6420 6c69 6e65 3a3a 2e0a Command line::..\n-00011b10: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n-00011b20: 696e 666f 2c20 204e 6f64 653a 2046 6f72 info, Node: For\n-00011b30: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n-00011b40: 2c20 2050 7265 763a 2046 6f72 6d73 206f , Prev: Forms o\n-00011b50: 6620 6465 6669 6e69 7469 6f6e 732c 2020 f definitions, \n-00011b60: 5570 3a20 4465 6669 6e69 7469 6f6e 730a Up: Definitions.\n-00011b70: 0a33 2e33 2e32 2046 6f72 6d73 206f 6620 .3.3.2 Forms of \n-00011b80: 7265 6665 7265 6e63 6573 0a2d 2d2d 2d2d references.-----\n-00011b90: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00011ba0: 2d2d 2d2d 0a0a 5265 6665 7265 6e63 6573 ----..References\n-00011bb0: 2074 6f20 6465 6669 6e65 6420 6e61 6d65 to defined name\n-00011bc0: 7320 6172 6520 656e 636c 6f73 6564 2069 s are enclosed i\n-00011bd0: 6e20 6272 6163 6b65 7469 6e67 2064 656c n bracketing del\n-00011be0: 696d 6974 6572 732e 2020 5468 650a 6465 imiters. The.de\n-00011bf0: 6c69 6d69 7465 7220 6368 6172 6163 7465 limiter characte\n-00011c00: 7273 2069 6d70 6c79 2074 6865 2074 7970 rs imply the typ\n-00011c10: 6520 6f66 2074 6865 2061 7373 6f63 6961 e of the associa\n-00011c20: 7465 6420 7661 6c75 6520 6173 2073 686f ted value as sho\n-00011c30: 776e 2069 6e0a 7468 6520 7461 626c 6520 wn in.the table \n-00011c40: 6265 6c6f 772e 2020 4120 7479 7065 2065 below. A type e\n-00011c50: 7272 6f72 2069 7320 7261 6973 6564 2069 rror is raised i\n-00011c60: 6620 7468 6520 7479 7065 206f 6620 6120 f the type of a \n-00011c70: 7265 6665 7265 6e63 6520 646f 6573 0a6e reference does.n\n-00011c80: 6f74 206d 6174 6368 2074 6865 2074 7970 ot match the typ\n-00011c90: 6520 6f66 2074 6865 2064 6566 696e 6564 e of the defined\n-00011ca0: 2076 616c 7565 2e20 2054 6865 2069 6e74 value. The int\n-00011cb0: 656e 7420 6f66 2074 6869 7320 6d65 6368 ent of this mech\n-00011cc0: 616e 6973 6d0a 6973 2c20 6167 6169 6e2c anism.is, again,\n-00011cd0: 2074 6f20 6d61 6b65 20e2 8098 736b 6574 to make ...sket\n-00011ce0: 6368 e280 9920 696e 7075 7420 6669 6c65 ch... input file\n-00011cf0: 7320 6d6f 7265 2072 6561 6461 626c 652e s more readable.\n-00011d00: 0a54 7970 6520 2020 2020 2020 2052 6566 .Type Ref\n-00011d10: 6572 656e 6365 0a2d 2d2d 2d2d 2d2d 2d2d erence.---------\n+00010b20: 2e2e 2e2e 2e2e 2e2e 2e0a 0a42 6566 6f72 ...........Befor\n+00010b30: 6520 7365 6e64 696e 6720 6561 6368 2066 e sending each f\n+00010b40: 6f75 722d 7369 6465 6420 626f 6479 2070 our-sided body p\n+00010b50: 6f6c 7967 6f6e 206f 6620 6120 e280 9873 olygon of a ...s\n+00010b60: 7765 6570 e280 9920 746f 2074 6865 206f weep... to the o\n+00010b70: 7574 7075 742c 0ae2 8098 736b 6574 6368 utput,....sketch\n+00010b80: e280 9920 7465 7374 7320 746f 2073 6565 ... tests to see\n+00010b90: 2069 6620 6974 2069 7320 726f 7567 686c if it is roughl\n+00010ba0: 7920 706c 616e 6172 2e20 2053 696e 6365 y planar. Since\n+00010bb0: 2070 6c61 6e61 7269 7479 2069 730a 6e65 planarity is.ne\n+00010bc0: 6365 7373 6172 7920 666f 7220 7072 6f70 cessary for prop\n+00010bd0: 6572 2066 756e 6374 696f 6e69 6e67 206f er functioning o\n+00010be0: 6620 7468 6520 6869 6464 656e 2073 7572 f the hidden sur\n+00010bf0: 6661 6365 2061 6c67 6f72 6974 686d 2c0a face algorithm,.\n+00010c00: 2277 6172 7065 6422 2070 6f6c 7967 6f6e \"warped\" polygon\n+00010c10: 7320 6172 6520 6175 746f 6d61 7469 6361 s are automatica\n+00010c20: 6c6c 7920 7370 6c69 7420 696e 746f 2074 lly split into t\n+00010c30: 776f 2074 7269 616e 676c 6573 2e0a 0a20 wo triangles... \n+00010c40: 2020 486f 6c65 2d66 696c 6c69 6e67 2070 Hole-filling p\n+00010c50: 6f6c 7967 6f6e 7320 7072 6f64 7563 6564 olygons produced\n+00010c60: 2062 7920 636c 6f73 7572 652d 7461 6767 by closure-tagg\n+00010c70: 6564 206c 696e 6520 7377 6565 7073 2061 ed line sweeps a\n+00010c80: 7265 206e 6f74 0a73 706c 6974 2e20 204e re not.split. N\n+00010c90: 6f72 2061 7265 206f 7269 6769 6e61 6c20 or are original \n+00010ca0: 706f 6c79 676f 6e73 2069 6e20 706f 6c79 polygons in poly\n+00010cb0: 676f 6e20 7377 6565 7073 2e20 2049 7420 gon sweeps. It \n+00010cc0: 6973 2074 6865 2075 7365 7227 730a 7265 is the user's.re\n+00010cd0: 7370 6f6e 7369 6269 6c69 7479 2074 6f20 sponsibility to \n+00010ce0: 656e 7375 7265 2074 6865 7365 2061 7265 ensure these are\n+00010cf0: 2070 6c61 6e61 722e 0a0a 1f0a 4669 6c65 planar.....File\n+00010d00: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+00010d10: 4e6f 6465 3a20 426c 6f63 6b73 2c20 204e Node: Blocks, N\n+00010d20: 6578 743a 2052 6570 6561 7473 2c20 2050 ext: Repeats, P\n+00010d30: 7265 763a 2053 7765 6570 732c 2020 5570 rev: Sweeps, Up\n+00010d40: 3a20 4472 6177 6162 6c65 730a 0a33 2e32 : Drawables..3.2\n+00010d50: 2e37 2042 6c6f 636b 730a 2d2d 2d2d 2d2d .7 Blocks.------\n+00010d60: 2d2d 2d2d 2d2d 0a0a 416e 7920 7365 7175 ------..Any sequ\n+00010d70: 656e 6365 206f 6620 6472 6177 6162 6c65 ence of drawable\n+00010d80: 7320 6d61 7920 6265 2067 726f 7570 6564 s may be grouped\n+00010d90: 2069 6e20 6120 e280 9c62 6c6f 636b e280 in a ...block..\n+00010da0: 9d20 6d65 7265 6c79 2062 790a 656e 636c . merely by.encl\n+00010db0: 6f73 696e 6720 7468 656d 2069 6e20 6272 osing them in br\n+00010dc0: 6163 6573 20e2 8098 7b20 7de2 8099 2e20 aces ...{ }.... \n+00010dd0: 2041 2062 6c6f 636b 2069 7320 6974 7365 A block is itse\n+00010de0: 6c66 2064 7261 7761 626c 652e 2020 4120 lf drawable. A \n+00010df0: 6b65 7920 7573 650a 6f66 2062 6c6f 636b key use.of block\n+00010e00: 7320 6973 2074 6f20 6578 7465 6e64 2074 s is to extend t\n+00010e10: 6865 2065 6666 6563 7420 6f66 2061 2073 he effect of a s\n+00010e20: 696e 676c 6520 e280 9864 6566 e280 992c ingle ...def...,\n+00010e30: 202a 6e6f 7465 0a44 6566 696e 6974 696f *note.Definitio\n+00010e40: 6e73 3a3a 2c20 e280 9870 7574 e280 9920 ns::, ...put... \n+00010e50: 2a6e 6f74 6520 5075 7473 3a3a 2c20 e280 *note Puts::, ..\n+00010e60: 9873 7765 6570 e280 9920 2a6e 6f74 6520 .sweep... *note \n+00010e70: 5377 6565 7073 3a3a 2c20 6f72 20e2 8098 Sweeps::, or ...\n+00010e80: 7265 7065 6174 e280 990a 2a6e 6f74 6520 repeat....*note \n+00010e90: 5265 7065 6174 733a 3a20 746f 2069 6e63 Repeats:: to inc\n+00010ea0: 6c75 6465 2073 6576 6572 616c 206f 626a lude several obj\n+00010eb0: 6563 7473 2072 6174 6865 7220 7468 616e ects rather than\n+00010ec0: 206f 6e65 2e0a 0a20 2020 4465 6669 6e69 one... Defini\n+00010ed0: 7469 6f6e 7320 282a 4e6f 7465 2044 6566 tions (*Note Def\n+00010ee0: 696e 6974 696f 6e73 3a3a 2e29 2020 696e initions::.) in\n+00010ef0: 7369 6465 2061 2062 6c6f 636b 2068 6176 side a block hav\n+00010f00: 6520 e280 9c6c 6578 6963 616c 0a73 636f e ...lexical.sco\n+00010f10: 7065 e280 9d20 6578 7465 6e64 696e 6720 pe... extending \n+00010f20: 6672 6f6d 2074 6865 2070 6c61 6365 206f from the place o\n+00010f30: 6620 6465 6669 6e69 7469 6f6e 2074 6f20 f definition to \n+00010f40: 7468 6520 656e 6420 6f66 2074 6865 2062 the end of the b\n+00010f50: 6c6f 636b 2e0a 0a1f 0a46 696c 653a 2073 lock.....File: s\n+00010f60: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+00010f70: 653a 2052 6570 6561 7473 2c20 204e 6578 e: Repeats, Nex\n+00010f80: 743a 2050 7574 732c 2020 5072 6576 3a20 t: Puts, Prev: \n+00010f90: 426c 6f63 6b73 2c20 2055 703a 2044 7261 Blocks, Up: Dra\n+00010fa0: 7761 626c 6573 0a0a 332e 322e 3820 5265 wables..3.2.8 Re\n+00010fb0: 7065 6174 730a 2d2d 2d2d 2d2d 2d2d 2d2d peats.----------\n+00010fc0: 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 ---..*Syntax:*. \n+00010fd0: 2020 2020 7265 7065 6174 207b 204e 2c20 repeat { N, \n+00010fe0: 545f 312c 2054 5f32 2c20 2e2e 2e2c 2054 T_1, T_2, ..., T\n+00010ff0: 5f52 207d 2052 4550 4541 5445 445f 4f42 _R } REPEATED_OB\n+00011000: 4a45 4354 0a54 6865 2072 6570 6561 7420 JECT.The repeat \n+00011010: 6d61 6b65 7320 4e20 7472 616e 7366 6f72 makes N transfor\n+00011020: 6d65 6420 636f 7069 6573 206f 6620 5245 med copies of RE\n+00011030: 5045 4154 4544 5f4f 424a 4543 5420 2869 PEATED_OBJECT (i\n+00011040: 6e63 6c75 6469 6e67 2074 6865 0a6f 7269 ncluding the.ori\n+00011050: 6769 6e61 6c29 2e20 2054 6865 2054 5f49 ginal). The T_I\n+00011060: 2061 7265 2074 7261 6e73 666f 726d 732e are transforms.\n+00011070: 2020 5468 6520 6b27 7468 2063 6f70 7920 The k'th copy \n+00011080: 6f66 2074 6865 0a52 4550 4541 5445 445f of the.REPEATED_\n+00011090: 4f42 4a45 4354 2028 666f 7220 6b3d 302c OBJECT (for k=0,\n+000110a0: 312c 2e2e 2e2c 6e2d 3129 2069 7320 7072 1,...,n-1) is pr\n+000110b0: 6f64 7563 6564 2069 6e20 7468 6520 7361 oduced in the sa\n+000110c0: 6d65 206d 616e 6e65 7220 6173 0a66 6f72 me manner as.for\n+000110d0: 20e2 8098 7377 6565 70e2 8099 7320 6465 ...sweep...s de\n+000110e0: 7363 7269 6265 6420 696e 202a 6e6f 7465 scribed in *note\n+000110f0: 2053 7765 6570 733a 3a2e 2020 5468 6973 Sweeps::. This\n+00011100: 2069 7320 7265 7065 6174 6564 2068 6572 is repeated her\n+00011110: 6520 286e 6f20 7075 6e0a 696e 7465 6e64 e (no pun.intend\n+00011120: 6564 2920 666f 7220 636f 6e76 656e 6965 ed) for convenie\n+00011130: 6e63 652e 2020 546f 206d 616b 6520 7468 nce. To make th\n+00011140: 6520 6b27 7468 2063 6f70 792c 2074 6865 e k'th copy, the\n+00011150: 2066 6f6c 6c6f 7769 6e67 0a74 7261 6e73 following.trans\n+00011160: 666f 726d 2069 7320 6170 706c 6965 6420 form is applied \n+00011170: 746f 2074 6865 206f 7269 6769 6e61 6c20 to the original \n+00011180: 6f62 6a65 6374 2e0a 2020 2020 2054 5f31 object.. T_1\n+00011190: 5e6b 2074 6865 6e20 545f 325e 6b20 7468 ^k then T_2^k th\n+000111a0: 656e 202e 2e2e 2074 6865 6e20 545f 525e en ... then T_R^\n+000111b0: 6b0a 4865 7265 2054 5e6b 206d 6561 6e73 k.Here T^k means\n+000111c0: 2022 7472 616e 7366 6f72 6d20 5420 6170 \"transform T ap\n+000111d0: 706c 6965 6420 6b20 7469 6d65 732e 220a plied k times.\".\n+000111e0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+000111f0: 696e 666f 2c20 204e 6f64 653a 2050 7574 info, Node: Put\n+00011200: 732c 2020 5072 6576 3a20 5265 7065 6174 s, Prev: Repeat\n+00011210: 732c 2020 5570 3a20 4472 6177 6162 6c65 s, Up: Drawable\n+00011220: 730a 0a33 2e32 2e39 2050 7574 730a 2d2d s..3.2.9 Puts.--\n+00011230: 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 --------..*Synta\n+00011240: 783a 2a0a 2020 2020 2070 7574 207b 2054 x:*. put { T\n+00011250: 207d 2050 5554 5f4f 424a 4543 540a 5075 } PUT_OBJECT.Pu\n+00011260: 7420 6d65 7265 6c79 2061 7070 6c69 6573 t merely applies\n+00011270: 2074 7261 6e73 666f 726d 2054 2074 6f20 transform T to \n+00011280: 7468 6520 6472 6177 6162 6c65 2050 5554 the drawable PUT\n+00011290: 5f4f 424a 4543 542e 0a0a 1f0a 4669 6c65 _OBJECT.....File\n+000112a0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+000112b0: 4e6f 6465 3a20 4465 6669 6e69 7469 6f6e Node: Definition\n+000112c0: 732c 2020 4e65 7874 3a20 476c 6f62 616c s, Next: Global\n+000112d0: 2065 6e76 6972 6f6e 6d65 6e74 2c20 2050 environment, P\n+000112e0: 7265 763a 2044 7261 7761 626c 6573 2c20 rev: Drawables, \n+000112f0: 2055 703a 2049 6e70 7574 206c 616e 6775 Up: Input langu\n+00011300: 6167 650a 0a33 2e33 2044 6566 696e 6974 age..3.3 Definit\n+00011310: 696f 6e73 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d ions.===========\n+00011320: 3d3d 3d3d 0a0a 4465 6669 6e69 7469 6f6e ====..Definition\n+00011330: 7320 6769 7665 206e 616d 6573 2074 6f20 s give names to \n+00011340: e280 9873 6b65 7463 68e2 8099 206f 626a ...sketch... obj\n+00011350: 6563 7473 2e20 2044 6566 696e 6974 696f ects. Definitio\n+00011360: 6e73 2061 6c6f 6e65 2061 7265 0a62 656e ns alone are.ben\n+00011370: 6967 6e2e 2020 4120 e280 9873 6b65 7463 ign. A ...sketc\n+00011380: 68e2 8099 2069 6e70 7574 2066 696c 6520 h... input file \n+00011390: 636f 6e73 6973 7469 6e67 2065 6e74 6972 consisting entir\n+000113a0: 656c 7920 6f66 2064 6566 696e 6974 696f ely of definitio\n+000113b0: 6e73 2077 696c 6c0a 6765 6e65 7261 7465 ns will.generate\n+000113c0: 206e 6f20 6472 6177 696e 672e 2020 4f6e no drawing. On\n+000113d0: 6c79 2077 6865 6e20 6465 6669 6e69 7469 ly when definiti\n+000113e0: 6f6e 7320 6172 6520 e280 9c72 6566 6572 ons are ...refer\n+000113f0: 656e 6365 64e2 809d 2064 6f20 7468 6579 enced... do they\n+00011400: 0a70 6f74 656e 7469 616c 6c79 206c 6561 .potentially lea\n+00011410: 6420 746f 2069 6e6b 206f 6e20 7468 6520 d to ink on the \n+00011420: 6472 6177 696e 672e 0a0a 2020 2054 6865 drawing... The\n+00011430: 2069 6e74 656e 7420 6f66 2064 6566 696e intent of defin\n+00011440: 6974 696f 6e73 2069 7320 746f 206d 616b itions is to mak\n+00011450: 6520 e280 9873 6b65 7463 68e2 8099 2063 e ...sketch... c\n+00011460: 6f64 6520 6d6f 7265 2063 6f6e 6369 7365 ode more concise\n+00011470: 2061 6e64 0a72 6561 6461 626c 652e 2020 and.readable. \n+00011480: 5468 6572 6520 6973 206e 6f20 696e 7075 There is no inpu\n+00011490: 7420 6669 6c65 2065 6d70 6c6f 7969 6e67 t file employing\n+000114a0: 2064 6566 696e 6974 696f 6e73 2074 6861 definitions tha\n+000114b0: 7420 636f 756c 6420 6e6f 740a 6265 2072 t could not.be r\n+000114c0: 652d 7772 6974 7465 6e20 7769 7468 6f75 e-written withou\n+000114d0: 7420 7468 656d 2e0a 0a20 2020 4465 6669 t them... Defi\n+000114e0: 6e61 626c 6520 6f62 6a65 6374 7320 696e nable objects in\n+000114f0: 636c 7564 6520 616e 7920 7265 7375 6c74 clude any result\n+00011500: 206f 6620 616e 2061 6666 696e 6520 6172 of an affine ar\n+00011510: 6974 686d 6574 6963 0a65 7870 7265 7373 ithmetic.express\n+00011520: 696f 6e20 2873 6361 6c61 722c 2070 6f69 ion (scalar, poi\n+00011530: 6e74 2c20 7665 6374 6f72 2c20 6f72 2074 nt, vector, or t\n+00011540: 7261 6e73 666f 726d 292c 2061 6e79 2064 ransform), any d\n+00011550: 7261 7761 626c 6520 6f62 6a65 6374 0a28 rawable object.(\n+00011560: 646f 7473 2c20 6c69 6e65 2c20 6375 7276 dots, line, curv\n+00011570: 652c 2070 6f6c 7967 6f6e 2c20 626c 6f63 e, polygon, bloc\n+00011580: 6b2c 2073 7765 6570 2c20 7075 742c 2072 k, sweep, put, r\n+00011590: 6570 6561 742c 206f 7220 7370 6563 6961 epeat, or specia\n+000115a0: 6c29 2c20 616e 640a 6f70 7469 6f6e 2073 l), and.option s\n+000115b0: 7472 696e 6773 2e20 2049 6e20 6164 6469 trings. In addi\n+000115c0: 7469 6f6e 2c20 e280 9c74 6167 2064 6566 tion, ...tag def\n+000115d0: 696e 6974 696f 6e73 e280 9d2c 2077 6869 initions..., whi\n+000115e0: 6368 2068 6176 6520 6e6f 0a61 7373 6f63 ch have no.assoc\n+000115f0: 6961 7465 6420 6f62 6a65 6374 2061 7420 iated object at \n+00011600: 616c 6c2c 2061 6c6c 6f77 2074 6865 206d all, allow the m\n+00011610: 6561 6e69 6e67 206f 6620 6f74 6865 7220 eaning of other \n+00011620: 6465 6669 6e69 7469 6f6e 7320 746f 2062 definitions to b\n+00011630: 650a 7365 6c65 6374 6564 2066 726f 6d20 e.selected from \n+00011640: 6120 7365 7420 6f66 2061 6c74 6572 6e61 a set of alterna\n+00011650: 7469 7665 732e 2020 5369 6e63 6520 7461 tives. Since ta\n+00011660: 6773 206d 6179 2062 6520 6465 6669 6e65 gs may be define\n+00011670: 6420 2861 6e64 0a75 6e64 6566 696e 6564 d (and.undefined\n+00011680: 2920 696e 2074 6865 2063 6f6d 6d61 6e64 ) in the command\n+00011690: 206c 696e 6520 6f66 20e2 8098 736b 6574 line of ...sket\n+000116a0: 6368 e280 992c 2074 6865 7920 6361 6e20 ch..., they can \n+000116b0: 6265 2061 6e20 6169 6420 696e 2074 6865 be an aid in the\n+000116c0: 0a73 6372 6970 742d 6472 6976 656e 2070 .script-driven p\n+000116d0: 7265 7061 7261 7469 6f6e 206f 6620 646f reparation of do\n+000116e0: 6375 6d65 6e74 732e 0a0a 2a20 4d65 6e75 cuments...* Menu\n+000116f0: 3a0a 0a2a 2046 6f72 6d73 206f 6620 6465 :..* Forms of de\n+00011700: 6669 6e69 7469 6f6e 733a 3a20 2020 2020 finitions:: \n+00011710: 2020 2044 6966 6665 7265 6e74 2064 6566 Different def\n+00011720: 7320 666f 7220 6469 6666 6572 656e 7420 s for different \n+00011730: 7075 7270 6f73 6573 2e0a 2a20 466f 726d purposes..* Form\n+00011740: 7320 6f66 2072 6566 6572 656e 6365 733a s of references:\n+00011750: 3a20 2020 2020 2020 2020 486f 7720 7265 : How re\n+00011760: 6665 7265 6e63 6573 2064 656e 6f74 6520 ferences denote \n+00011770: 7479 7065 732e 0a0a 1f0a 4669 6c65 3a20 types.....File: \n+00011780: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n+00011790: 6465 3a20 466f 726d 7320 6f66 2064 6566 de: Forms of def\n+000117a0: 696e 6974 696f 6e73 2c20 204e 6578 743a initions, Next:\n+000117b0: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere\n+000117c0: 6e63 6573 2c20 2050 7265 763a 2044 6566 nces, Prev: Def\n+000117d0: 696e 6974 696f 6e73 2c20 2055 703a 2044 initions, Up: D\n+000117e0: 6566 696e 6974 696f 6e73 0a0a 332e 332e efinitions..3.3.\n+000117f0: 3120 466f 726d 7320 6f66 2064 6566 696e 1 Forms of defin\n+00011800: 6974 696f 6e73 0a2d 2d2d 2d2d 2d2d 2d2d itions.---------\n+00011810: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00011820: 2d0a 0a44 6566 696e 6974 696f 6e73 2068 -..Definitions h\n+00011830: 6176 6520 7468 7265 6520 706f 7373 6962 ave three possib\n+00011840: 6c65 2066 6f72 6d73 2c20 e280 9c73 696d le forms, ...sim\n+00011850: 706c 65e2 809d 2c20 e280 9c77 6974 6820 ple..., ...with \n+00011860: 616c 7465 726e 6174 6976 6573 e280 9d2c alternatives...,\n+00011870: 0a61 6e64 20e2 809c 7461 67e2 809d 2061 .and ...tag... a\n+00011880: 7320 7368 6f77 6e20 6865 7265 2069 6e20 s shown here in \n+00011890: 6f72 6465 722e 0a0a 2a53 796e 7461 783a order...*Syntax:\n+000118a0: 2a0a 2020 2020 2064 6566 2049 4420 4f42 *. def ID OB\n+000118b0: 4a45 4354 2020 2520 7369 6d70 6c65 2064 JECT % simple d\n+000118c0: 6566 0a20 2020 2020 6465 6620 4944 203c ef. def ID <\n+000118d0: 5441 475f 313e 204f 424a 4543 545f 3120 TAG_1> OBJECT_1 \n+000118e0: 2025 2064 6566 2077 6974 6820 616c 7465 % def with alte\n+000118f0: 726e 6174 6976 6573 0a20 2020 2020 2020 rnatives. \n+00011900: 2020 2020 203c 5441 475f 323e 204f 424a OBJ\n+00011910: 4543 545f 320a 2020 2020 2020 2020 2020 ECT_2. \n+00011920: 2020 2e2e 2e0a 2020 2020 2020 2020 2020 .... \n+00011930: 2020 3c3e 2044 4546 4155 4c54 5f4f 424a <> DEFAULT_OBJ\n+00011940: 4543 540a 2020 2020 2064 6566 2049 4420 ECT. def ID \n+00011950: 3c3e 2020 2520 7461 6720 6465 660a 5468 <> % tag def.Th\n+00011960: 6520 7369 6d70 6c65 2064 6566 696e 6974 e simple definit\n+00011970: 696f 6e20 6d65 7265 6c79 2061 7373 6f63 ion merely assoc\n+00011980: 6961 7465 7320 4f42 4a45 4354 2077 6974 iates OBJECT wit\n+00011990: 6820 7468 6520 6964 656e 7469 6669 6572 h the identifier\n+000119a0: 2049 442e 0a0a 2020 2054 6865 2064 6566 ID... The def\n+000119b0: 696e 6974 696f 6e20 7769 7468 2061 6c74 inition with alt\n+000119c0: 6572 6e61 7469 7665 7320 6173 736f 6369 ernatives associ\n+000119d0: 6174 6573 204f 424a 4543 545f 4920 7769 ates OBJECT_I wi\n+000119e0: 7468 2049 442c 2077 6865 7265 0a54 4147 th ID, where.TAG\n+000119f0: 5f49 2069 7320 7468 6520 6669 7273 7420 _I is the first \n+00011a00: 6465 6669 6e65 6420 7461 6720 696e 2074 defined tag in t\n+00011a10: 6865 206c 6973 7420 6f66 2061 6c74 6572 he list of alter\n+00011a20: 6e61 7469 7665 2074 6167 0a72 6566 6572 native tag.refer\n+00011a30: 656e 6365 732e 2020 4966 206e 6f20 7461 ences. If no ta\n+00011a40: 6720 696e 2074 6865 206c 6973 7420 6973 g in the list is\n+00011a50: 2064 6566 696e 6564 2c20 7468 656e 2044 defined, then D\n+00011a60: 4546 4155 4c54 5f4f 424a 4543 5420 6973 EFAULT_OBJECT is\n+00011a70: 0a61 7373 6f63 6961 7465 6420 7769 7468 .associated with\n+00011a80: 2069 6465 6e74 6966 6965 7220 4944 2e0a identifier ID..\n+00011a90: 0a20 2020 5468 6520 6669 6e61 6c20 666f . The final fo\n+00011aa0: 726d 2064 6566 696e 6573 2049 4420 6173 rm defines ID as\n+00011ab0: 2061 2074 6167 2e20 2041 6e6f 7468 6572 a tag. Another\n+00011ac0: 2077 6179 2074 6f20 6465 6669 6e65 2061 way to define a\n+00011ad0: 2074 6167 2069 730a 7769 7468 2074 6865 tag is.with the\n+00011ae0: 20e2 8098 2d44 e280 9920 636f 6d6d 616e ...-D... comman\n+00011af0: 6420 6c69 6e65 206f 7074 696f 6e2e 2020 d line option. \n+00011b00: 2a4e 6f74 6520 436f 6d6d 616e 6420 6c69 *Note Command li\n+00011b10: 6e65 3a3a 2e0a 0a1f 0a46 696c 653a 2073 ne::.....File: s\n+00011b20: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+00011b30: 653a 2046 6f72 6d73 206f 6620 7265 6665 e: Forms of refe\n+00011b40: 7265 6e63 6573 2c20 2050 7265 763a 2046 rences, Prev: F\n+00011b50: 6f72 6d73 206f 6620 6465 6669 6e69 7469 orms of definiti\n+00011b60: 6f6e 732c 2020 5570 3a20 4465 6669 6e69 ons, Up: Defini\n+00011b70: 7469 6f6e 730a 0a33 2e33 2e32 2046 6f72 tions..3.3.2 For\n+00011b80: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n+00011b90: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n+00011ba0: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 5265 6665 ----------..Refe\n+00011bb0: 7265 6e63 6573 2074 6f20 6465 6669 6e65 rences to define\n+00011bc0: 6420 6e61 6d65 7320 6172 6520 656e 636c d names are encl\n+00011bd0: 6f73 6564 2069 6e20 6272 6163 6b65 7469 osed in bracketi\n+00011be0: 6e67 2064 656c 696d 6974 6572 732e 2020 ng delimiters. \n+00011bf0: 5468 650a 6465 6c69 6d69 7465 7220 6368 The.delimiter ch\n+00011c00: 6172 6163 7465 7273 2069 6d70 6c79 2074 aracters imply t\n+00011c10: 6865 2074 7970 6520 6f66 2074 6865 2061 he type of the a\n+00011c20: 7373 6f63 6961 7465 6420 7661 6c75 6520 ssociated value \n+00011c30: 6173 2073 686f 776e 2069 6e0a 7468 6520 as shown in.the \n+00011c40: 7461 626c 6520 6265 6c6f 772e 2020 4120 table below. A \n+00011c50: 7479 7065 2065 7272 6f72 2069 7320 7261 type error is ra\n+00011c60: 6973 6564 2069 6620 7468 6520 7479 7065 ised if the type\n+00011c70: 206f 6620 6120 7265 6665 7265 6e63 6520 of a reference \n+00011c80: 646f 6573 0a6e 6f74 206d 6174 6368 2074 does.not match t\n+00011c90: 6865 2074 7970 6520 6f66 2074 6865 2064 he type of the d\n+00011ca0: 6566 696e 6564 2076 616c 7565 2e20 2054 efined value. T\n+00011cb0: 6865 2069 6e74 656e 7420 6f66 2074 6869 he intent of thi\n+00011cc0: 7320 6d65 6368 616e 6973 6d0a 6973 2c20 s mechanism.is, \n+00011cd0: 6167 6169 6e2c 2074 6f20 6d61 6b65 20e2 again, to make .\n+00011ce0: 8098 736b 6574 6368 e280 9920 696e 7075 ..sketch... inpu\n+00011cf0: 7420 6669 6c65 7320 6d6f 7265 2072 6561 t files more rea\n+00011d00: 6461 626c 652e 0a54 7970 6520 2020 2020 dable..Type \n+00011d10: 2020 2052 6566 6572 656e 6365 0a2d 2d2d Reference.---\n 00011d20: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n 00011d30: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00011d40: 2d0a 7363 616c 6172 2020 2020 2020 e280 -.scalar ..\n-00011d50: 9849 44e2 8099 0a70 6f69 6e74 2020 2020 .ID....point \n-00011d60: 2020 20e2 8098 2849 4429 e280 990a 7665 ...(ID)....ve\n-00011d70: 6374 6f72 2020 2020 2020 e280 985b 4944 ctor ...[ID\n-00011d80: 5de2 8099 0a74 7261 6e73 666f 726d 2020 ]....transform \n-00011d90: 20e2 8098 5b5b 4944 5d5d e280 990a 6472 ...[[ID]]....dr\n-00011da0: 6177 6162 6c65 2020 2020 e280 987b 4944 awable ...{ID\n-00011db0: 7de2 8099 0a6f 7074 696f 6e73 2020 2020 }....options \n-00011dc0: 20e2 8098 5b49 445d e280 9920 6f72 20e2 ...[ID]... or .\n-00011dd0: 8098 5b49 4431 2c2e 2e2e 2c49 444e 5de2 ..[ID1,...,IDN].\n-00011de0: 8099 0a74 6167 2020 2020 2020 2020 20e2 ...tag .\n-00011df0: 8098 3c49 443e e280 990a 0a4e 6f74 6520 .......Note \n-00011e00: 7468 6174 2073 7175 6172 6520 6272 6163 that square brac\n-00011e10: 6b65 7473 20e2 8098 5b20 5de2 8099 2061 kets ...[ ]... a\n-00011e20: 7265 2075 7365 6420 626f 7468 2066 6f72 re used both for\n-00011e30: 2076 6563 746f 7220 616e 6420 666f 7220 vector and for \n-00011e40: 6f70 7469 6f6e 730a 7265 6665 7265 6e63 options.referenc\n-00011e50: 6573 2e20 2044 6574 6169 6c73 206f 6620 es. Details of \n-00011e60: e280 9873 6b65 7463 68e2 8099 2073 796e ...sketch... syn\n-00011e70: 7461 7820 6d61 6b65 2069 7420 696d 706f tax make it impo\n-00011e80: 7373 6962 6c65 2066 6f72 2074 6865 7365 ssible for these\n-00011e90: 2074 776f 0a72 6566 6572 656e 6365 2074 two.reference t\n-00011ea0: 7970 6573 2074 6f20 6265 2063 6f6e 6675 ypes to be confu\n-00011eb0: 7365 642e 2020 5468 6520 7370 6563 6961 sed. The specia\n-00011ec0: 6c20 6d75 6c74 6970 6c65 2072 6566 6572 l multiple refer\n-00011ed0: 656e 6365 0ae2 8098 5b49 4431 2c49 4432 ence....[ID1,ID2\n-00011ee0: 2c2e 2e2e 2c49 444e 5de2 8099 2061 6374 ,...,IDN]... act\n-00011ef0: 7320 6173 2069 6620 7468 6520 7265 7370 s as if the resp\n-00011f00: 6563 7469 7665 206c 6973 7473 206f 6620 ective lists of \n-00011f10: 6f70 7469 6f6e 7320 7765 7265 0a63 6f6e options were.con\n-00011f20: 6361 7465 6e61 7465 642e 0a0a 1f0a 4669 catenated.....Fi\n-00011f30: 6c65 3a20 736b 6574 6368 2e69 6e66 6f2c le: sketch.info,\n-00011f40: 2020 4e6f 6465 3a20 476c 6f62 616c 2065 Node: Global e\n-00011f50: 6e76 6972 6f6e 6d65 6e74 2c20 2050 7265 nvironment, Pre\n-00011f60: 763a 2044 6566 696e 6974 696f 6e73 2c20 v: Definitions, \n-00011f70: 2055 703a 2049 6e70 7574 206c 616e 6775 Up: Input langu\n-00011f80: 6167 650a 0a33 2e34 2047 6c6f 6261 6c20 age..3.4 Global \n-00011f90: 656e 7669 726f 6e6d 656e 740a 3d3d 3d3d environment.====\n-00011fa0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n-00011fb0: 3d3d 0a0a 416e 206f 7074 696f 6e61 6c20 ==..An optional \n-00011fc0: 676c 6f62 616c 2065 6e76 6972 6f6e 6d65 global environme\n-00011fd0: 6e74 2062 6c6f 636b 2070 726f 7669 6465 nt block provide\n-00011fe0: 7320 6120 6665 7720 7761 7973 2074 6f20 s a few ways to \n-00011ff0: 6166 6665 6374 2074 6865 0a65 6e74 6972 affect the.entir\n-00012000: 6520 7363 656e 652e 2020 5468 6520 626c e scene. The bl\n-00012010: 6f63 6b20 6d75 7374 2061 7070 6561 7220 ock must appear \n-00012020: 6173 2074 6865 206c 6173 7420 7465 7874 as the last text\n-00012030: 2069 6e20 7468 6520 e280 9873 6b65 7463 in the ...sketc\n-00012040: 68e2 8099 0a69 6e70 7574 2066 696c 652e h....input file.\n-00012050: 2020 4974 206d 6179 2069 6e63 6c75 6465 It may include\n-00012060: 2064 6566 696e 6974 696f 6e73 2c20 6275 definitions, bu\n-00012070: 7420 6e6f 7465 2074 6861 7420 7072 6576 t note that prev\n-00012080: 696f 7573 0a64 6566 696e 6974 696f 6e73 ious.definitions\n-00012090: 2061 7420 7468 6520 746f 7020 6c65 7665 at the top leve\n-000120a0: 6c20 286e 6f74 206e 6573 7465 6420 696e l (not nested in\n-000120b0: 7369 6465 2062 6c6f 636b 7329 2061 7265 side blocks) are\n-000120c0: 2061 6c73 6f0a 6176 6169 6c61 626c 652e also.available.\n-000120d0: 0a0a 2a53 796e 7461 783a 2a0a 2020 2020 ..*Syntax:*. \n-000120e0: 2067 6c6f 6261 6c20 7b20 454e 5649 524f global { ENVIRO\n-000120f0: 4e4d 454e 545f 5345 5454 494e 4753 207d NMENT_SETTINGS }\n-00012100: 0a54 6865 2063 6f6e 7465 6e74 7320 6f66 .The contents of\n-00012110: 2045 4e56 4952 4f4e 4d45 4e54 5f53 4554 ENVIRONMENT_SET\n-00012120: 5449 4e47 5320 6172 6520 6469 7363 7573 TINGS are discus\n-00012130: 7365 6420 696e 2074 6865 2073 6563 7469 sed in the secti\n-00012140: 6f6e 7320 7468 6174 0a66 6f6c 6c6f 772e ons that.follow.\n-00012150: 0a0a 2a20 4d65 6e75 3a0a 0a2a 2047 6c6f ..* Menu:..* Glo\n-00012160: 6261 6c20 6f70 7469 6f6e 733a 3a20 2020 bal options:: \n-00012170: 2020 2020 2020 2020 2020 2041 7474 7269 Attri\n-00012180: 6275 7465 7320 6f66 2074 6865 2065 6e74 butes of the ent\n-00012190: 6972 6520 6472 6177 696e 672e 0a2a 2043 ire drawing..* C\n-000121a0: 616d 6572 613a 3a20 2020 2020 2020 2020 amera:: \n-000121b0: 2020 2020 2020 2020 2020 2020 2041 2066 A f\n-000121c0: 696e 616c 2063 616d 6572 6120 7472 616e inal camera tran\n-000121d0: 7366 6f72 6d61 7469 6f6e 206f 6620 7468 sformation of th\n-000121e0: 6520 7363 656e 652e 0a2a 2050 6963 7475 e scene..* Pictu\n-000121f0: 7265 2062 6f78 3a3a 2020 2020 2020 2020 re box:: \n-00012200: 2020 2020 2020 2020 2053 6574 7469 6e67 Setting\n-00012210: 2074 6865 2062 6f75 6e64 696e 6720 626f the bounding bo\n-00012220: 7820 616e 6420 3264 2063 6c69 7070 696e x and 2d clippin\n-00012230: 672e 0a2a 2046 7261 6d65 3a3a 2020 2020 g..* Frame:: \n-00012240: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012250: 2020 2041 6464 696e 6720 6120 626f 7820 Adding a box \n-00012260: 6172 6f75 6e64 2074 6865 2064 7261 7769 around the drawi\n-00012270: 6e67 2e0a 2a20 4c61 6e67 7561 6765 3a3a ng..* Language::\n-00012280: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00012290: 2020 2020 5365 7474 696e 6720 7468 6520 Setting the \n-000122a0: 6f75 7470 7574 206c 616e 6775 6167 652e output language.\n-000122b0: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-000122c0: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 476c .info, Node: Gl\n-000122d0: 6f62 616c 206f 7074 696f 6e73 2c20 204e obal options, N\n-000122e0: 6578 743a 2043 616d 6572 612c 2020 5072 ext: Camera, Pr\n-000122f0: 6576 3a20 476c 6f62 616c 2065 6e76 6972 ev: Global envir\n-00012300: 6f6e 6d65 6e74 2c20 2055 703a 2047 6c6f onment, Up: Glo\n-00012310: 6261 6c20 656e 7669 726f 6e6d 656e 740a bal environment.\n-00012320: 0a33 2e34 2e31 2047 6c6f 6261 6c20 6f70 .3.4.1 Global op\n-00012330: 7469 6f6e 730a 2d2d 2d2d 2d2d 2d2d 2d2d tions.----------\n-00012340: 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e ----------..*Syn\n-00012350: 7461 783a 2a0a 2020 2020 2073 6574 205b tax:*. set [\n-00012360: 204f 5054 494f 4e53 205d 0a54 6865 2063 OPTIONS ].The c\n-00012370: 6f6e 7465 6e74 7320 6f66 204f 5054 494f ontents of OPTIO\n-00012380: 4e53 2c20 6578 6365 7074 2066 6f72 20e2 NS, except for .\n-00012390: 8098 736b 6574 6368 e280 9920 696e 7465 ..sketch... inte\n-000123a0: 726e 616c 206f 7074 696f 6e73 2c20 6172 rnal options, ar\n-000123b0: 650a 636f 7069 6564 2061 732d 6973 2074 e.copied as-is t\n-000123c0: 6f20 6120 5c70 7373 6574 2074 6861 7420 o a \\psset that \n-000123d0: 6170 7065 6172 7320 6265 666f 7265 2061 appears before a\n-000123e0: 6e79 7468 696e 6720 656c 7365 2069 6e20 nything else in \n-000123f0: 7468 6520 6f75 7470 7574 0a66 696c 652e the output.file.\n-00012400: 2020 5468 6973 2069 7320 6120 676f 6f64 This is a good\n-00012410: 2070 6c61 6365 2074 6f20 7365 7420 e280 place to set ..\n-00012420: 9875 6e69 74e2 8099 2c20 6120 6465 6661 .unit..., a defa\n-00012430: 756c 7420 e280 986c 696e 6577 6964 7468 ult ...linewidth\n-00012440: e280 992c 2065 7463 2e0a 0a20 2020 496e ..., etc... In\n-00012450: 7465 726e 616c 206f 7074 696f 6e73 2077 ternal options w\n-00012460: 6f72 6b20 6f6e 2061 6c6c 206f 626a 6563 ork on all objec\n-00012470: 7473 2077 6865 7265 2074 6865 7920 6d61 ts where they ma\n-00012480: 6b65 2073 656e 7365 2e20 2054 6869 730a ke sense. This.\n-00012490: 696e 636c 7564 6573 20e2 8098 6375 6c6c includes ...cull\n-000124a0: e280 9920 616e 6420 e280 9873 706c 6974 ... and ...split\n-000124b0: e280 9920 2862 7574 206e 6f74 20e2 8098 ... (but not ...\n-000124c0: 6c61 79e2 8099 292e 2020 2a4e 6f74 6520 lay...). *Note \n-000124d0: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options\n-000124e0: 3a3a 2e0a 0a1f 0a46 696c 653a 2073 6b65 ::.....File: ske\n-000124f0: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n-00012500: 2043 616d 6572 612c 2020 4e65 7874 3a20 Camera, Next: \n-00012510: 5069 6374 7572 6520 626f 782c 2020 5072 Picture box, Pr\n-00012520: 6576 3a20 476c 6f62 616c 206f 7074 696f ev: Global optio\n-00012530: 6e73 2c20 2055 703a 2047 6c6f 6261 6c20 ns, Up: Global \n-00012540: 656e 7669 726f 6e6d 656e 740a 0a33 2e34 environment..3.4\n-00012550: 2e32 2043 616d 6572 610a 2d2d 2d2d 2d2d .2 Camera.------\n-00012560: 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 783a ------..*Syntax:\n-00012570: 2a0a 2020 2020 2063 616d 6572 6120 5452 *. camera TR\n-00012580: 414e 5346 4f52 4d5f 4558 5052 4553 5349 ANSFORM_EXPRESSI\n-00012590: 4f4e 0a20 2020 5468 6520 5452 414e 5346 ON. The TRANSF\n-000125a0: 4f52 4d5f 4558 5052 4553 5349 4f4e 2069 ORM_EXPRESSION i\n-000125b0: 7320 6170 706c 6965 6420 6166 7465 7220 s applied after \n-000125c0: 616c 6c20 6f74 6865 7220 7472 616e 7366 all other transf\n-000125d0: 6f72 6d61 7469 6f6e 730a 6f66 2074 6865 ormations.of the\n-000125e0: 2073 6365 6e65 2e20 2054 6869 7320 6973 scene. This is\n-000125f0: 2063 7572 7265 6e74 6c79 206f 6e6c 7920 currently only \n-00012600: 7573 6566 756c 2066 6f72 2074 7261 6e73 useful for trans\n-00012610: 666f 726d 696e 6720 7468 650a 626f 756e forming the.boun\n-00012620: 6469 6e67 2062 6f78 2e20 202a 4e6f 7465 ding box. *Note\n-00012630: 2050 6963 7475 7265 2062 6f78 3a3a 2e20 Picture box::. \n-00012640: 2049 7420 7769 6c6c 2070 6c61 7920 6120 It will play a \n-00012650: 726f 6c65 2069 6e20 616e 7920 6675 7475 role in any futu\n-00012660: 7265 0a69 6d70 6c65 6d65 6e74 6174 696f re.implementatio\n-00012670: 6e20 6f66 2063 6c69 7070 696e 672e 0a0a n of clipping...\n-00012680: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-00012690: 6e66 6f2c 2020 4e6f 6465 3a20 5069 6374 nfo, Node: Pict\n-000126a0: 7572 6520 626f 782c 2020 4e65 7874 3a20 ure box, Next: \n-000126b0: 4672 616d 652c 2020 5072 6576 3a20 4361 Frame, Prev: Ca\n-000126c0: 6d65 7261 2c20 2055 703a 2047 6c6f 6261 mera, Up: Globa\n-000126d0: 6c20 656e 7669 726f 6e6d 656e 740a 0a33 l environment..3\n-000126e0: 2e34 2e33 2050 6963 7475 7265 2062 6f78 .4.3 Picture box\n-000126f0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d .---------------\n-00012700: 2d2d 0a0a 2a53 796e 7461 783a 2a0a 2020 --..*Syntax:*. \n-00012710: 2020 2070 6963 7475 7265 626f 785b 4241 picturebox[BA\n-00012720: 5345 4c49 4e45 5d0a 2020 2020 2070 6963 SELINE]. pic\n-00012730: 7475 7265 626f 785b 4241 5345 4c49 4e45 turebox[BASELINE\n-00012740: 5d20 2850 3129 2850 3229 0a54 6865 2066 ] (P1)(P2).The f\n-00012750: 6972 7374 2066 6f72 6d20 6f66 20e2 8098 irst form of ...\n-00012760: 7069 6374 7572 6562 6f78 e280 9920 6361 picturebox... ca\n-00012770: 7573 6573 2061 2073 6361 6c61 7220 4241 uses a scalar BA\n-00012780: 5345 4c49 4e45 2066 7261 6374 696f 6e20 SELINE fraction \n-00012790: 746f 2062 650a 656d 6974 7465 6420 696e to be.emitted in\n-000127a0: 2074 6865 20e2 8098 7073 7069 6374 7572 the ...pspictur\n-000127b0: 65e2 8099 2065 6e76 6972 6f6e 6d65 6e74 e... environment\n-000127c0: 206f 6620 7468 6520 6f75 7470 7574 2e20 of the output. \n-000127d0: 2053 6565 20e2 8098 5053 5472 6963 6b73 See ...PSTricks\n-000127e0: e280 990a 646f 6375 6d65 6e74 6174 696f ....documentatio\n-000127f0: 6e20 666f 7220 e280 9870 7370 6963 7475 n for ...pspictu\n-00012800: 7265 e280 992e 0a0a 2020 2049 6e20 7468 re...... In th\n-00012810: 6520 7365 636f 6e64 2066 6f72 6d2c 2074 e second form, t\n-00012820: 6865 2042 4153 454c 494e 4520 6672 6163 he BASELINE frac\n-00012830: 7469 6f6e 2069 7320 6f70 7469 6f6e 616c tion is optional\n-00012840: 2c20 616e 6420 7468 6520 7477 6f0a 706f , and the two.po\n-00012850: 696e 7473 2074 6861 7420 666f 6c6c 6f77 ints that follow\n-00012860: 2064 6566 696e 6520 7468 6520 6469 6167 define the diag\n-00012870: 6f6e 616c 206f 6620 6120 7468 7265 652d onal of a three-\n-00012880: 6469 6d65 6e73 696f 6e61 6c20 626f 756e dimensional boun\n-00012890: 6469 6e67 0a62 6f78 2066 6f72 2074 6865 ding.box for the\n-000128a0: 2063 6f6d 706c 6574 6564 2073 6365 6e65 completed scene\n-000128b0: 2e20 2054 6865 2070 6172 616c 6c65 6c20 . The parallel \n-000128c0: 7072 6f6a 6563 7469 6f6e 206f 6620 7468 projection of th\n-000128d0: 6520 626f 756e 6469 6e67 0a62 6f78 2064 e bounding.box d\n-000128e0: 6574 6572 6d69 6e65 7320 7468 6520 636f etermines the co\n-000128f0: 726e 6572 7320 6f66 2074 6865 2064 7261 rners of the dra\n-00012900: 7769 6e67 2773 20e2 8098 7073 7069 6374 wing's ...pspict\n-00012910: 7572 652a e280 9920 656e 7669 726f 6e6d ure*... environm\n-00012920: 656e 742c 0a77 6869 6368 2069 7320 7573 ent,.which is us\n-00012930: 6564 2069 6e20 706c 6163 6520 6f66 20e2 ed in place of .\n-00012940: 8098 7073 7069 6374 7572 65e2 8099 2e20 ..pspicture.... \n-00012950: 2054 6869 7320 6361 7573 6573 2050 6f73 This causes Pos\n-00012960: 7453 6372 6970 7420 746f 2063 6c69 700a tScript to clip.\n-00012970: 7468 6520 6669 6e61 6c20 6472 6177 696e the final drawin\n-00012980: 6720 746f 2074 6865 2062 6f75 6e64 696e g to the boundin\n-00012990: 6720 626f 7820 696e 2032 642e 2020 4966 g box in 2d. If\n-000129a0: 2074 6865 7265 2069 7320 6120 e280 9863 there is a ...c\n-000129b0: 616d 6572 61e2 8099 0a73 7065 6369 6669 amera....specifi\n-000129c0: 6564 2c20 7468 6520 6361 6d65 7261 2074 ed, the camera t\n-000129d0: 7261 6e66 6f72 6d61 7469 6f6e 2069 7320 ranformation is \n-000129e0: 6170 706c 6965 6420 746f 2074 6865 2062 applied to the b\n-000129f0: 6f75 6e64 696e 6720 626f 782c 2061 6e64 ounding box, and\n-00012a00: 0a74 6865 20e2 8098 7073 7069 6374 7572 .the ...pspictur\n-00012a10: 65e2 8099 2069 7320 7365 7420 6a75 7374 e... is set just\n-00012a20: 206c 6172 6765 2065 6e6f 7567 6820 746f large enough to\n-00012a30: 2069 6e63 6c75 6465 2074 6865 2074 7261 include the tra\n-00012a40: 6e73 666f 726d 6564 2062 6f78 2e0a 0a20 nsformed box... \n-00012a50: 2020 5768 656e 206e 6f20 626f 756e 6469 When no boundi\n-00012a60: 6e67 2062 6f78 2069 7320 6769 7665 6e2c ng box is given,\n-00012a70: 20e2 8098 736b 6574 6368 e280 9920 636f ...sketch... co\n-00012a80: 6d70 7574 6573 206f 6e65 2061 7574 6f6d mputes one autom\n-00012a90: 6174 6963 616c 6c79 2e0a 0a1f 0a46 696c atically.....Fil\n-00012aa0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-00012ab0: 204e 6f64 653a 2046 7261 6d65 2c20 204e Node: Frame, N\n-00012ac0: 6578 743a 204c 616e 6775 6167 652c 2020 ext: Language, \n-00012ad0: 5072 6576 3a20 5069 6374 7572 6520 626f Prev: Picture bo\n-00012ae0: 782c 2020 5570 3a20 476c 6f62 616c 2065 x, Up: Global e\n-00012af0: 6e76 6972 6f6e 6d65 6e74 0a0a 332e 342e nvironment..3.4.\n-00012b00: 3420 4672 616d 650a 2d2d 2d2d 2d2d 2d2d 4 Frame.--------\n-00012b10: 2d2d 2d0a 0a2a 5379 6e74 6178 3a2a 0a20 ---..*Syntax:*. \n-00012b20: 2020 2020 6672 616d 6520 5b4f 5054 494f frame [OPTIO\n-00012b30: 4e53 5d0a 4361 7573 6573 2061 205c 7073 NS].Causes a \\ps\n-00012b40: 6672 616d 6562 6f78 2074 6f20 7375 7272 framebox to surr\n-00012b50: 6f75 6e64 2074 6865 20e2 8098 7073 7069 ound the ...pspi\n-00012b60: 6374 7572 65e2 8099 2065 6e76 6972 6f6e cture... environ\n-00012b70: 6d65 6e74 2069 6e20 7468 650a 6f75 7470 ment in the.outp\n-00012b80: 7574 2e20 2049 6620 4f50 5449 4f4e 5320 ut. If OPTIONS \n-00012b90: 6172 6520 7072 6573 656e 742c 2074 6865 are present, the\n-00012ba0: 7920 6172 6520 636f 7069 6564 2061 732d y are copied as-\n-00012bb0: 6973 2e20 204e 6f72 6d61 6c6c 7920 6f6e is. Normally on\n-00012bc0: 650a 776f 756c 6420 7761 6e74 2074 6f20 e.would want to \n-00012bd0: 7365 7420 e280 986c 696e 6577 6964 7468 set ...linewidth\n-00012be0: e280 992c 20e2 8098 6c69 6e65 7374 796c ..., ...linestyl\n-00012bf0: 65e2 8099 2c20 e280 986c 696e 6563 6f6c e..., ...linecol\n-00012c00: 6f72 e280 992c 2065 7463 2e20 2049 660a or..., etc. If.\n-00012c10: 6f6d 6974 7465 642c 2074 6865 6e20 e280 omitted, then ..\n-00012c20: 9866 7261 6d65 7365 703d 3070 74e2 8099 .framesep=0pt...\n-00012c30: 2069 7320 6164 6465 6420 736f 2074 6861 is added so tha\n-00012c40: 7420 7468 6520 6672 616d 6520 7469 6768 t the frame tigh\n-00012c50: 746c 7920 6875 6773 2074 6865 0ae2 8098 tly hugs the....\n-00012c60: 7073 7069 6374 7572 65e2 8099 2e0a 0a1f pspicture.......\n-00012c70: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00012c80: 666f 2c20 204e 6f64 653a 204c 616e 6775 fo, Node: Langu\n-00012c90: 6167 652c 2020 5072 6576 3a20 4672 616d age, Prev: Fram\n-00012ca0: 652c 2020 5570 3a20 476c 6f62 616c 2065 e, Up: Global e\n-00012cb0: 6e76 6972 6f6e 6d65 6e74 0a0a 332e 342e nvironment..3.4.\n-00012cc0: 3520 4c61 6e67 7561 6765 0a2d 2d2d 2d2d 5 Language.-----\n-00012cd0: 2d2d 2d2d 2d2d 2d2d 2d0a 0a20 2020 2020 ---------.. \n-00012ce0: 6c61 6e67 7561 6765 2074 696b 7a0a 2020 language tikz. \n-00012cf0: 2020 206c 616e 6775 6167 6520 7469 6b7a language tikz\n-00012d00: 2c20 636f 6e74 6578 740a 2020 2020 206c , context. l\n-00012d10: 616e 6775 6167 6520 7073 7472 6963 6b73 anguage pstricks\n-00012d20: 0a20 2020 2020 6c61 6e67 7561 6765 2070 . language p\n-00012d30: 7374 7269 636b 732c 206c 6174 6578 0a53 stricks, latex.S\n-00012d40: 6574 7320 7468 6520 6f75 7470 7574 206c ets the output l\n-00012d50: 616e 6775 6167 6520 6765 6e65 7261 7465 anguage generate\n-00012d60: 6420 6279 20e2 8098 736b 6574 6368 e280 d by ...sketch..\n-00012d70: 992e 2020 5468 6520 7365 7420 6f66 206f .. The set of o\n-00012d80: 7074 696f 6e73 0a75 6e64 6572 7374 6f6f ptions.understoo\n-00012d90: 6420 6279 2073 6b65 7463 6820 616c 736f d by sketch also\n-00012da0: 2063 6861 6e67 6573 2e20 2046 6f72 2065 changes. For e\n-00012db0: 7861 6d70 6c65 2c20 7468 6520 e280 9850 xample, the ...P\n-00012dc0: 5354 7269 636b 73e2 8099 206f 7074 696f STricks... optio\n-00012dd0: 6e0a e280 986c 696e 6577 6964 7468 e280 n....linewidth..\n-00012de0: 9920 7769 6c6c 206e 6f74 2062 6520 7072 . will not be pr\n-00012df0: 6f70 6572 6c79 2068 616e 646c 6564 2069 operly handled i\n-00012e00: 6620 e280 986c 616e 6775 6167 65e2 8099 f ...language...\n-00012e10: 2069 7320 7365 7420 746f 20e2 8098 7469 is set to ...ti\n-00012e20: 6b7a e280 992e 0a53 696d 696c 6172 6c79 kz.....Similarly\n-00012e30: 2c20 7468 6520 e280 9854 696b 5ae2 8099 , the ...TikZ...\n-00012e40: 206f 7074 696f 6e20 e280 986c 696e 6520 option ...line \n-00012e50: 7374 796c 65e2 8099 2028 6e6f 7465 2074 style... (note t\n-00012e60: 6865 2073 7061 6365 2920 7769 6c6c 206e he space) will n\n-00012e70: 6f74 2062 650a 7072 6f70 6572 6c79 2068 ot be.properly h\n-00012e80: 616e 646c 6564 2069 6620 e280 986c 616e andled if ...lan\n-00012e90: 6775 6167 65e2 8099 2069 7320 7365 7420 guage... is set \n-00012ea0: 746f 20e2 8098 7073 7472 6963 6b73 e280 to ...pstricks..\n-00012eb0: 992e 2020 4966 206e 6f20 6c61 6e67 7561 .. If no langua\n-00012ec0: 6765 2069 730a 7370 6563 6966 6965 642c ge is.specified,\n-00012ed0: 2074 6865 2064 6566 6175 6c74 20e2 8098 the default ...\n-00012ee0: 7073 7472 6963 6b73 e280 9920 6973 2075 pstricks... is u\n-00012ef0: 7365 642e 0a0a 2020 2041 6e20 6f70 7469 sed... An opti\n-00012f00: 6f6e 616c 2063 6f6d 6d61 2066 6f6c 6c6f onal comma follo\n-00012f10: 7765 6420 6279 20e2 8098 6c61 7465 78e2 wed by ...latex.\n-00012f20: 8099 206f 7220 e280 9863 6f6e 7465 7874 .. or ...context\n-00012f30: e280 9920 7370 6563 6966 6965 7320 7468 ... specifies th\n-00012f40: 650a 6d61 6372 6f20 7061 636b 6167 6520 e.macro package \n-00012f50: 7468 6174 2074 6865 206f 7574 7075 7420 that the output \n-00012f60: 7368 6f75 6c64 2061 7373 756d 652e 2020 should assume. \n-00012f70: 5468 6973 2061 6666 6563 7473 2074 6865 This affects the\n-00012f80: 20e2 8098 7069 6374 7572 65e2 8099 0a65 ...picture....e\n-00012f90: 6e76 6972 6f6e 6d65 6e74 2063 6f6d 6d61 nvironment comma\n-00012fa0: 6e64 7320 656d 6974 7465 6420 616e 6420 nds emitted and \n-00012fb0: 7468 6520 646f 6375 6d65 6e74 2074 656d the document tem\n-00012fc0: 706c 6174 6520 7573 6564 2077 6974 6820 plate used with \n-00012fd0: 7468 650a e280 982d 54e2 8099 206f 7074 the....-T... opt\n-00012fe0: 696f 6e2e 2020 2a4e 6f74 6520 436f 6d6d ion. *Note Comm\n-00012ff0: 616e 6420 6c69 6e65 3a3a 2e20 204e 6f74 and line::. Not\n-00013000: 6520 7468 6174 2061 7420 7468 6520 7469 e that at the ti\n-00013010: 6d65 2074 6869 7320 6d61 6e75 616c 0a77 me this manual.w\n-00013020: 6173 2067 656e 6572 6174 6564 2c20 e280 as generated, ..\n-00013030: 9850 5354 7269 636b 73e2 8099 2077 6173 .PSTricks... was\n-00013040: 206e 6f74 2073 7570 706f 7274 6564 2062 not supported b\n-00013050: 7920 4c61 5465 5820 6f72 2062 7920 e280 y LaTeX or by ..\n-00013060: 9843 6f6e 5465 5874 e280 992e 0a0a 1f0a .ConTeXt........\n-00013070: 4669 6c65 3a20 736b 6574 6368 2e69 6e66 File: sketch.inf\n-00013080: 6f2c 2020 4e6f 6465 3a20 4275 696c 6469 o, Node: Buildi\n-00013090: 6e67 2061 2064 7261 7769 6e67 2c20 204e ng a drawing, N\n-000130a0: 6578 743a 2043 6f6d 6d61 6e64 206c 696e ext: Command lin\n-000130b0: 652c 2020 5072 6576 3a20 496e 7075 7420 e, Prev: Input \n-000130c0: 6c61 6e67 7561 6765 2c20 2055 703a 2054 language, Up: T\n-000130d0: 6f70 0a0a 3420 4275 696c 6469 6e67 2061 op..4 Building a\n-000130e0: 2064 7261 7769 6e67 0a2a 2a2a 2a2a 2a2a drawing.*******\n-000130f0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a53 *************..S\n-00013100: 7563 6365 7373 6675 6c20 6472 6177 696e uccessful drawin\n-00013110: 6773 2077 6974 6820 e280 9873 6b65 7463 gs with ...sketc\n-00013120: 68e2 8099 2061 6e64 2077 6974 6820 616e h... and with an\n-00013130: 7920 7363 656e 6520 6465 7363 7269 7074 y scene descript\n-00013140: 696f 6e0a 6c61 6e67 7561 6765 2072 6571 ion.language req\n-00013150: 7569 7265 2074 6861 7420 7468 6520 7573 uire that the us\n-00013160: 6572 2064 6576 656c 6f70 2061 6e20 6163 er develop an ac\n-00013170: 6375 7261 7465 206d 656e 7461 6c20 7069 curate mental pi\n-00013180: 6374 7572 6520 6f66 2068 6572 0a63 6f64 cture of her.cod\n-00013190: 6520 616e 6420 6974 7320 6d65 616e 696e e and its meanin\n-000131a0: 672e 2020 5468 6973 2069 6d61 6765 2069 g. This image i\n-000131b0: 7320 6265 7374 2062 7569 6c74 2069 6e20 s best built in \n-000131c0: 736d 616c 6c20 7069 6563 6573 2e0a 5468 small pieces..Th\n-000131d0: 6572 6566 6f72 652c 20e2 8098 736b 6574 erefore, ...sket\n-000131e0: 6368 e280 9920 696e 7075 7473 2061 7265 ch... inputs are\n-000131f0: 2062 6573 7420 6372 6561 7465 6420 696e best created in\n-00013200: 2073 6d61 6c6c 2069 6e63 7265 6d65 6e74 small increment\n-00013210: 7320 7769 7468 0a66 7265 7175 656e 7420 s with.frequent \n-00013220: 7061 7573 6573 2074 6f20 636f 6d70 696c pauses to compil\n-00013230: 6520 616e 6420 7669 6577 2074 6865 2072 e and view the r\n-00013240: 6573 756c 7473 2e20 2043 6172 6566 756c esults. Careful\n-00013250: 2063 6f6d 6d65 6e74 7320 696e 0a74 6865 comments in.the\n-00013260: 2069 6e70 7574 206f 6674 656e 2068 656c input often hel\n-00013270: 7020 6173 2061 2073 6365 6e65 2067 726f p as a scene gro\n-00013280: 7773 2069 6e20 636f 6d70 6c65 7869 7479 ws in complexity\n-00013290: 2e0a 0a2a 204d 656e 753a 0a0a 2a20 4f76 ...* Menu:..* Ov\n-000132a0: 6572 7669 6577 3a3a 2020 2020 2020 2020 erview:: \n-000132b0: 2020 2020 2020 2020 2020 2020 4275 696c Buil\n-000132c0: 6469 6e67 2061 2073 7562 7374 616e 7469 ding a substanti\n-000132d0: 616c 2064 7261 7769 6e67 2e0a 2a20 4120 al drawing..* A \n-000132e0: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n-000132f0: 673a 3a20 2020 2020 2020 2020 416e 2065 g:: An e\n-00013300: 7861 6d70 6c65 2077 6974 6820 6669 6e65 xample with fine\n-00013310: 2070 6c61 6365 6d65 6e74 2e0a 2a20 4120 placement..* A \n-00013320: 6869 6572 6172 6368 6963 616c 206d 6f64 hierarchical mod\n-00013330: 656c 3a3a 2020 2020 2020 2020 416e 2065 el:: An e\n-00013340: 7861 6d70 6c65 2077 6974 6820 7377 6565 xample with swee\n-00013350: 7073 2061 6e64 2070 7574 732e 0a2a 2043 ps and puts..* C\n-00013360: 6176 6561 7473 3a3a 2020 2020 2020 2020 aveats:: \n-00013370: 2020 2020 2020 2020 2020 2020 2057 6865 Whe\n-00013380: 7265 2074 726f 7562 6c65 2063 616e 206f re trouble can o\n-00013390: 6363 7572 2e0a 0a1f 0a46 696c 653a 2073 ccur.....File: s\n-000133a0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-000133b0: 653a 204f 7665 7276 6965 772c 2020 4e65 e: Overview, Ne\n-000133c0: 7874 3a20 4120 7465 6368 6e69 6361 6c20 xt: A technical \n-000133d0: 6472 6177 696e 672c 2020 5072 6576 3a20 drawing, Prev: \n-000133e0: 4275 696c 6469 6e67 2061 2064 7261 7769 Building a drawi\n-000133f0: 6e67 2c20 2055 703a 2042 7569 6c64 696e ng, Up: Buildin\n-00013400: 6720 6120 6472 6177 696e 670a 0a34 2e31 g a drawing..4.1\n-00013410: 204f 7665 7276 6965 770a 3d3d 3d3d 3d3d Overview.======\n-00013420: 3d3d 3d3d 3d3d 0a0a 4173 2061 6e20 6f76 ======..As an ov\n-00013430: 6572 7669 6577 2c20 6c65 7427 7320 6465 erview, let's de\n-00013440: 7665 6c6f 7020 6120 6469 6167 7261 6d20 velop a diagram \n-00013450: 7468 6174 2073 686f 7773 2068 6f77 2061 that shows how a\n-00013460: 2070 6572 7370 6563 7469 7665 0a70 726f perspective.pro\n-00013470: 6a65 6374 696f 6e20 7472 616e 7366 6f72 jection transfor\n-00013480: 6d20 776f 726b 732e 2020 5765 276c 6c20 m works. We'll \n-00013490: 7374 6172 7420 7769 7468 2074 6865 2074 start with the t\n-000134a0: 7261 6469 7469 6f6e 616c 2072 6566 6572 raditional refer\n-000134b0: 656e 6365 0a6f 626a 6563 7420 7573 6564 ence.object used\n-000134c0: 2069 6e20 636f 6d70 7574 6572 2067 7261 in computer gra\n-000134d0: 7068 6963 7320 7465 7874 626f 6f6b 732c phics textbooks,\n-000134e0: 2061 2068 6f75 7365 2d73 6861 7065 6420 a house-shaped \n-000134f0: 7072 6973 6d2e 2020 4265 6769 6e0a 6279 prism. Begin.by\n-00013500: 2064 6566 696e 696e 6720 7468 6520 706f defining the po\n-00013510: 696e 7473 206f 6620 7468 6520 686f 7573 ints of the hous\n-00013520: 652e 2020 5261 7468 6572 2074 6861 6e20 e. Rather than \n-00013530: 6465 6669 6e69 6e67 2074 6865 2066 6163 defining the fac\n-00013540: 6573 206f 660a 7468 6520 686f 7573 6520 es of.the house \n-00013550: 6173 2070 6f6c 7967 6f6e 7320 616e 6420 as polygons and \n-00013560: 7472 616e 7366 6f72 6d69 6e67 2074 686f transforming tho\n-00013570: 7365 2c20 7765 2061 7265 2067 6f69 6e67 se, we are going\n-00013580: 2074 6f20 7472 616e 7366 6f72 6d0a 7468 to transform.th\n-00013590: 6520 706f 696e 7473 2074 6865 6d73 656c e points themsel\n-000135a0: 7665 7320 7769 7468 20e2 8098 736b 6574 ves with ...sket\n-000135b0: 6368 e280 9920 6172 6974 686d 6574 6963 ch... arithmetic\n-000135c0: 2073 6f20 7468 6174 2077 6520 6861 7665 so that we have\n-000135d0: 206e 616d 6573 2066 6f72 0a74 6865 2074 names for.the t\n-000135e0: 7261 6e73 666f 726d 6564 2070 6f69 6e74 ransformed point\n-000135f0: 7320 6c61 7465 722e 0a20 2025 2072 6967 s later.. % rig\n-00013600: 6874 2073 6964 6520 286f 7574 7369 6465 ht side (outside\n-00013610: 2074 6f20 7269 6768 7429 0a20 2064 6566 to right). def\n-00013620: 2052 3120 2831 2c31 2c31 2920 6465 6620 R1 (1,1,1) def \n-00013630: 5232 2028 312c 2d31 2c31 2920 6465 6620 R2 (1,-1,1) def \n-00013640: 5233 2028 312c 2d31 2c2d 3129 2064 6566 R3 (1,-1,-1) def\n-00013650: 2052 3420 2831 2c31 2c2d 3129 0a20 2064 R4 (1,1,-1). d\n-00013660: 6566 2052 3520 2831 2c31 2e35 2c30 290a ef R5 (1,1.5,0).\n-00013670: 0a20 2025 206c 6566 7420 7369 6465 2028 . % left side (\n-00013680: 6f75 7473 6964 6520 746f 2072 6967 6874 outside to right\n-00013690: 2d2d 6261 636b 7761 7264 290a 2020 6465 --backward). de\n-000136a0: 6620 5720 205b 322c 302c 305d 0a20 2064 f W [2,0,0]. d\n-000136b0: 6566 204c 3120 2852 3129 2d5b 575d 2064 ef L1 (R1)-[W] d\n-000136c0: 6566 204c 3220 2852 3229 2d5b 575d 2064 ef L2 (R2)-[W] d\n-000136d0: 6566 204c 3320 2852 3329 2d5b 575d 2064 ef L3 (R3)-[W] d\n-000136e0: 6566 204c 3420 2852 3429 2d5b 575d 0a20 ef L4 (R4)-[W]. \n-000136f0: 2064 6566 204c 3520 2852 3529 2d5b 575d def L5 (R5)-[W]\n-00013700: 0a54 6f20 6164 6420 6120 646f 6f72 2074 .To add a door t\n-00013710: 6f20 7468 6520 686f 7573 652c 2077 6520 o the house, we \n-00013720: 7573 6520 6120 706f 6c79 676f 6e20 736c use a polygon sl\n-00013730: 6967 6874 6c79 2069 6e20 6672 6f6e 7420 ightly in front \n-00013740: 6f66 2074 6865 0a66 6f72 656d 6f73 7420 of the.foremost \n-00013750: 6661 6365 206f 6620 7468 6520 686f 7573 face of the hous\n-00013760: 652e 0a20 2025 2064 6f6f 720a 2020 6465 e.. % door. de\n-00013770: 6620 6520 2e30 310a 2020 6465 6620 4431 f e .01. def D1\n-00013780: 2028 302c 2d31 2c31 2b65 2920 6465 6620 (0,-1,1+e) def \n-00013790: 4432 2028 2e35 2c2d 312c 312b 6529 2064 D2 (.5,-1,1+e) d\n-000137a0: 6566 2044 3320 282e 352c 302c 312b 6529 ef D3 (.5,0,1+e)\n-000137b0: 2064 6566 2044 3420 2830 2c30 2c31 2b65 def D4 (0,0,1+e\n-000137c0: 290a 4e6f 7720 6c65 7427 7320 6372 6561 ).Now let's crea\n-000137d0: 7465 2061 206e 6577 2073 6574 206f 6620 te a new set of \n-000137e0: 706f 696e 7473 2074 6861 7420 6172 6520 points that are \n-000137f0: 6120 746f 2d62 652d 6465 7465 726d 696e a to-be-determin\n-00013800: 6564 0a74 7261 6e73 666f 726d 206f 6620 ed.transform of \n-00013810: 7468 6520 6f72 6967 696e 616c 732e 0a20 the originals.. \n-00013820: 2064 6566 2068 7020 7363 616c 6528 3129 def hp scale(1)\n-00013830: 2025 2068 6f75 7365 2070 6f73 6974 696f % house positio\n-00013840: 6e65 720a 2020 6465 6620 7052 3120 5b5b ner. def pR1 [[\n-00013850: 6870 5d5d 2a28 5231 2920 6465 6620 7052 hp]]*(R1) def pR\n-00013860: 3220 5b5b 6870 5d5d 2a28 5232 2920 6465 2 [[hp]]*(R2) de\n-00013870: 6620 7052 3320 5b5b 6870 5d5d 2a28 5233 f pR3 [[hp]]*(R3\n-00013880: 290a 2020 6465 6620 7052 3420 5b5b 6870 ). def pR4 [[hp\n-00013890: 5d5d 2a28 5234 2920 6465 6620 7052 3520 ]]*(R4) def pR5 \n-000138a0: 5b5b 6870 5d5d 2a28 5235 290a 2020 6465 [[hp]]*(R5). de\n-000138b0: 6620 704c 3120 5b5b 6870 5d5d 2a28 4c31 f pL1 [[hp]]*(L1\n-000138c0: 2920 6465 6620 704c 3220 5b5b 6870 5d5d ) def pL2 [[hp]]\n-000138d0: 2a28 4c32 2920 6465 6620 704c 3320 5b5b *(L2) def pL3 [[\n-000138e0: 6870 5d5d 2a28 4c33 290a 2020 6465 6620 hp]]*(L3). def \n-000138f0: 704c 3420 5b5b 6870 5d5d 2a28 4c34 2920 pL4 [[hp]]*(L4) \n-00013900: 6465 6620 704c 3520 5b5b 6870 5d5d 2a28 def pL5 [[hp]]*(\n-00013910: 4c35 290a 2020 6465 6620 7044 3120 5b5b L5). def pD1 [[\n-00013920: 6870 5d5d 2a28 4431 2920 6465 6620 7044 hp]]*(D1) def pD\n-00013930: 3220 5b5b 6870 5d5d 2a28 4432 2920 6465 2 [[hp]]*(D2) de\n-00013940: 6620 7044 3320 5b5b 6870 5d5d 2a28 4433 f pD3 [[hp]]*(D3\n-00013950: 290a 2020 6465 6620 7044 3420 5b5b 6870 ). def pD4 [[hp\n-00013960: 5d5d 2a28 4434 2920 0a4e 6f74 6520 7468 ]]*(D4) .Note th\n-00013970: 6520 7573 6520 6f66 2061 20e2 809c 7472 e use of a ...tr\n-00013980: 616e 7366 6f72 6d20 6465 6669 6e69 7469 ansform definiti\n-00013990: 6f6e e280 9d20 616e 6420 e280 9c74 7261 on... and ...tra\n-000139a0: 6e73 666f 726d 2072 6566 6572 656e 6365 nsform reference\n-000139b0: 73e2 809d 2e0a 4e6f 7720 6465 6669 6e65 s.....Now define\n-000139c0: 2074 6865 2073 6576 656e 2070 6f6c 7967 the seven polyg\n-000139d0: 6f6e 616c 2066 6163 6573 206f 6620 7468 onal faces of th\n-000139e0: 6520 686f 7573 6520 616e 6420 7468 6520 e house and the \n-000139f0: 646f 6f72 2075 7369 6e67 2074 6865 0a74 door using the.t\n-00013a00: 7261 6e73 666f 726d 6564 2070 6f69 6e74 ransformed point\n-00013a10: 7320 6173 2076 6572 7469 6365 732e 2020 s as vertices. \n-00013a20: 4265 2063 6172 6566 756c 2077 6974 6820 Be careful with \n-00013a30: 7665 7274 6578 206f 7264 6572 210a 2020 vertex order!. \n-00013a40: 6465 6620 7267 7420 706f 6c79 676f 6e20 def rgt polygon \n-00013a50: 2870 5231 2928 7052 3229 2870 5233 2928 (pR1)(pR2)(pR3)(\n-00013a60: 7052 3429 2870 5235 290a 2020 6465 6620 pR4)(pR5). def \n-00013a70: 6c66 7420 706f 6c79 676f 6e20 2870 4c35 lft polygon (pL5\n-00013a80: 2928 704c 3429 2870 4c33 2928 704c 3229 )(pL4)(pL3)(pL2)\n-00013a90: 2870 4c31 290a 2020 6465 6620 6672 7420 (pL1). def frt \n-00013aa0: 706f 6c79 676f 6e20 2870 5232 2928 7052 polygon (pR2)(pR\n-00013ab0: 3129 2870 4c31 2928 704c 3229 0a20 2064 1)(pL1)(pL2). d\n-00013ac0: 6566 2062 636b 2070 6f6c 7967 6f6e 2028 ef bck polygon (\n-00013ad0: 7052 3429 2870 5233 2928 704c 3329 2870 pR4)(pR3)(pL3)(p\n-00013ae0: 4c34 290a 2020 6465 6620 7466 7220 706f L4). def tfr po\n-00013af0: 6c79 676f 6e20 2870 5231 2928 7052 3529 lygon (pR1)(pR5)\n-00013b00: 2870 4c35 2928 704c 3129 0a20 2064 6566 (pL5)(pL1). def\n-00013b10: 2074 626b 2070 6f6c 7967 6f6e 2028 7052 tbk polygon (pR\n-00013b20: 3529 2870 5234 2928 704c 3429 2870 4c35 5)(pR4)(pL4)(pL5\n-00013b30: 290a 2020 6465 6620 626f 7420 706f 6c79 ). def bot poly\n-00013b40: 676f 6e20 2870 5232 2928 704c 3229 2870 gon (pR2)(pL2)(p\n-00013b50: 4c33 2928 7052 3329 0a20 2064 6566 2064 L3)(pR3). def d\n-00013b60: 6f6f 7220 706f 6c79 676f 6e5b 6669 6c6c oor polygon[fill\n-00013b70: 636f 6c6f 723d 6272 6f77 6e5d 2028 7044 color=brown] (pD\n-00013b80: 3129 2870 4432 2928 7044 3329 2870 4434 1)(pD2)(pD3)(pD4\n-00013b90: 290a 2020 6465 6620 686f 7573 6520 7b20 ). def house { \n-00013ba0: 7b72 6774 7d7b 6c66 747d 7b66 7274 7d7b {rgt}{lft}{frt}{\n-00013bb0: 6263 6b7d 7b74 6672 7d7b 7462 6b7d 7b62 bck}{tfr}{tbk}{b\n-00013bc0: 6f74 7d7b 646f 6f72 7d20 7d0a 2020 2054 ot}{door} }. T\n-00013bd0: 696d 6520 666f 7220 6120 7361 6e69 7479 ime for a sanity\n-00013be0: 2063 6865 636b 2e20 2041 6464 2074 6865 check. Add the\n-00013bf0: 206c 696e 650a 2020 7b68 6f75 7365 7d0a line. {house}.\n-00013c00: 616e 6420 7468 6973 2069 7320 7768 6174 and this is what\n-00013c10: 2077 6520 6765 742e 0a0a 0008 5b69 6d61 we get.....[ima\n-00013c20: 6765 2073 7263 3d22 6578 3133 302e 706e ge src=\"ex130.pn\n-00013c30: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n-00013c40: 7831 3330 206f 6d69 7474 6564 2069 6e20 x130 omitted in \n-00013c50: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n-00013c60: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n-00013c70: 085d 0a0a 5468 6973 2069 7320 636f 7272 .]..This is corr\n-00013c80: 6563 742c 2062 7574 2064 6f65 7320 6e6f ect, but does no\n-00013c90: 7420 7265 7665 616c 2076 6572 7920 6d75 t reveal very mu\n-00013ca0: 6368 2e20 2043 6f6d 6d6f 6e20 6572 726f ch. Common erro\n-00013cb0: 7273 2061 7265 0a6d 6973 706c 6163 6564 rs are.misplaced\n-00013cc0: 2076 6572 7469 6365 7320 616e 6420 706f vertices and po\n-00013cd0: 6c79 676f 6e73 206d 6973 7369 6e67 2065 lygons missing e\n-00013ce0: 6e74 6972 656c 7920 6475 6520 746f 2069 ntirely due to i\n-00013cf0: 6e63 6f72 7265 6374 2076 6572 7465 780a ncorrect vertex.\n-00013d00: 6f72 6465 722e 2020 546f 2072 756c 6520 order. To rule \n-00013d10: 7468 6573 6520 6f75 742c 206c 6574 2773 these out, let's\n-00013d20: 2069 6e73 7065 6374 2061 6c6c 2073 6964 inspect all sid\n-00013d30: 6573 206f 6620 7468 6520 686f 7573 652e es of the house.\n-00013d40: 2020 5468 6973 0a69 7320 6e6f 7420 6861 This.is not ha\n-00013d50: 7264 2e20 204d 6572 656c 7920 7265 706c rd. Merely repl\n-00013d60: 6163 6520 7468 6520 7265 6665 7265 6e63 ace the referenc\n-00013d70: 6520 7b68 6f75 7365 7d20 7769 7468 2061 e {house} with a\n-00013d80: 20e2 8098 7265 7065 6174 e280 992e 0a2a ...repeat.....*\n-00013d90: 4e6f 7465 2052 6570 6561 7473 3a3a 2e0a Note Repeats::..\n-00013da0: 2020 7265 7065 6174 207b 2031 332c 2072 repeat { 13, r\n-00013db0: 6f74 6174 6528 3330 2c20 5b31 2c32 2c33 otate(30, [1,2,3\n-00013dc0: 5d29 2c20 7472 616e 736c 6174 6528 5b33 ]), translate([3\n-00013dd0: 2c30 2c30 5d29 207d 207b 686f 7573 657d ,0,0]) } {house}\n-00013de0: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n-00013df0: 7831 3430 2e70 6e67 2220 7465 7874 3d22 x140.png\" text=\"\n-00013e00: 496d 6167 6520 6578 3134 3020 6f6d 6974 Image ex140 omit\n-00013e10: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n-00013e20: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n-00013e30: 6d65 6e74 2e22 0008 5d0a 0a41 6761 696e ment.\"..]..Again\n-00013e40: 2074 6869 6e67 7320 6c6f 6f6b 2063 6f72 things look cor\n-00013e50: 7265 6374 2e20 204e 6f74 6520 7468 6174 rect. Note that\n-00013e60: 2074 6865 2068 6964 6465 6e20 7375 7266 the hidden surf\n-00013e70: 6163 6520 616c 676f 7269 7468 6d0a 6861 ace algorithm.ha\n-00013e80: 6e64 6c65 7320 696e 7465 7273 6563 7469 ndles intersecti\n-00013e90: 6e67 2070 6f6c 7967 6f6e 7320 636f 7272 ng polygons corr\n-00013ea0: 6563 746c 7920 7768 6572 6520 736f 6d65 ectly where some\n-00013eb0: 2063 6f70 6965 7320 6f66 2074 6865 2068 copies of the h\n-00013ec0: 6f75 7365 0a6f 7665 726c 6170 2e0a 0a20 ouse.overlap... \n-00013ed0: 2020 4c65 7427 7320 6c61 7920 6f75 7420 Let's lay out \n-00013ee0: 7468 6520 6765 6f6d 6574 7279 206f 6620 the geometry of \n-00013ef0: 7065 7273 7065 6374 6976 6520 7072 6f6a perspective proj\n-00013f00: 6563 7469 6f6e 206f 6620 7468 6520 686f ection of the ho\n-00013f10: 7573 650a 6f6e 746f 2061 2070 6c61 6e65 use.onto a plane\n-00013f20: 2077 6974 6820 7261 7973 2070 6173 7369 with rays passi\n-00013f30: 6e67 2074 6872 6f75 6768 2074 6865 206f ng through the o\n-00013f40: 7269 6769 6e2e 2020 4265 6769 6e20 6279 rigin. Begin by\n-00013f50: 2070 6f73 6974 696f 6e69 6e67 0a74 6865 positioning.the\n-00013f60: 2068 6f75 7365 2074 7765 6c76 6520 756e house twelve un\n-00013f70: 6974 7320 6261 636b 206f 6e20 7468 6520 its back on the \n-00013f80: 6e65 6761 7469 7665 207a 2d61 7869 7320 negative z-axis \n-00013f90: 616e 6420 6164 6469 6e67 2061 2073 6574 and adding a set\n-00013fa0: 206f 660a 636f 6f72 6469 6e61 7465 2061 of.coordinate a\n-00013fb0: 7865 732e 2020 546f 206d 6f76 6520 7468 xes. To move th\n-00013fc0: 6520 686f 7573 6520 7765 206e 6565 6420 e house we need \n-00013fd0: 6f6e 6c79 2063 6861 6e67 6520 7468 6520 only change the \n-00013fe0: 2268 6f75 7365 0a70 6f73 6974 696f 6e69 \"house.positioni\n-00013ff0: 6e67 2220 7472 616e 7366 6f72 6d20 6465 ng\" transform de\n-00014000: 6669 6e65 6420 6561 726c 6965 722e 0a20 fined earlier.. \n-00014010: 2064 6566 2068 7020 726f 7461 7465 282d def hp rotate(-\n-00014020: 3430 2c20 5b30 2c31 2c30 5d29 2074 6865 40, [0,1,0]) the\n-00014030: 6e20 7472 616e 736c 6174 6528 5b30 2c30 n translate([0,0\n-00014040: 2c2d 3132 5d29 0a20 2064 6566 2061 7865 ,-12]). def axe\n-00014050: 7320 7b0a 2020 2020 6465 6620 737a 2031 s {. def sz 1\n-00014060: 0a20 2020 206c 696e 6520 5b61 7272 6f77 . line [arrow\n-00014070: 733d 3c2d 3e5d 2028 737a 2c30 2c30 2928 s=<->] (sz,0,0)(\n-00014080: 4f29 2830 2c73 7a2c 3029 0a20 2020 206c O)(0,sz,0). l\n-00014090: 696e 6520 5b61 7272 6f77 733d 2d3e 5d20 ine [arrows=->] \n-000140a0: 2028 4f29 2830 2c30 2c73 7a29 0a20 2020 (O)(0,0,sz). \n-000140b0: 206c 696e 6520 5b6c 696e 6577 6964 7468 line [linewidth\n-000140c0: 3d2e 3270 742c 6c69 6e65 636f 6c6f 723d =.2pt,linecolor=\n-000140d0: 626c 7565 2c6c 696e 6573 7479 6c65 3d64 blue,linestyle=d\n-000140e0: 6173 6865 645d 2028 4f29 2830 2c30 2c2d ashed] (O)(0,0,-\n-000140f0: 3130 290a 2020 2020 7370 6563 6961 6c20 10). special \n-00014100: 7c5c 7570 7574 5b72 5d23 317b 2478 247d |\\uput[r]#1{$x$}\n-00014110: 5c75 7075 745b 755d 2332 7b24 7924 7d5c \\uput[u]#2{$y$}\\\n-00014120: 7570 7574 5b6c 5d23 337b 247a 247d 7c0a uput[l]#3{$z$}|.\n-00014130: 2020 2020 2020 2873 7a2c 302c 3029 2830 (sz,0,0)(0\n-00014140: 2c73 7a2c 3029 2830 2c30 2c73 7a29 0a20 ,sz,0)(0,0,sz). \n-00014150: 207d 0a0a 2020 2054 696d 6520 666f 7220 }.. Time for \n-00014160: 616e 6f74 6865 7220 7465 7374 2e20 204c another test. L\n-00014170: 6574 2773 2062 7569 6c64 2061 2072 6561 et's build a rea\n-00014180: 6c20 7669 6577 2074 7261 6e73 666f 726d l view transform\n-00014190: 2c20 6372 6561 7469 6e67 2061 0ae2 809c , creating a....\n-000141a0: 7669 7274 7561 6c20 6361 6d65 7261 e280 virtual camera..\n-000141b0: 9d20 746f 206c 6f6f 6b20 6174 2074 6865 . to look at the\n-000141c0: 2073 6365 6e65 2077 6520 6172 6520 636f scene we are co\n-000141d0: 6e73 7472 7563 7469 6e67 2e20 2052 6570 nstructing. Rep\n-000141e0: 6c61 6365 2074 6865 0ae2 8098 7265 7065 lace the....repe\n-000141f0: 6174 e280 9920 7769 7468 0a20 2064 6566 at... with. def\n-00014200: 2065 7965 2028 3130 2c34 2c31 3029 0a20 eye (10,4,10). \n-00014210: 2064 6566 206c 6f6f 6b5f 6174 2028 302c def look_at (0,\n-00014220: 302c 2d35 290a 2020 7075 7420 7b20 7669 0,-5). put { vi\n-00014230: 6577 2828 6579 6529 2c20 286c 6f6f 6b5f ew((eye), (look_\n-00014240: 6174 2929 207d 207b 207b 686f 7573 657d at)) } { {house}\n-00014250: 7b61 7865 737d 207d 0a20 2020 5468 6520 {axes} }. The \n-00014260: e280 9c76 6965 7720 7472 616e 7366 6f72 ...view transfor\n-00014270: 6de2 809d 2072 6570 6f73 6974 696f 6e73 m... repositions\n-00014280: 2074 6865 2073 6365 6e65 2073 6f20 7468 the scene so th\n-00014290: 6174 2074 6865 2070 6f69 6e74 20e2 8098 at the point ...\n-000142a0: 6579 65e2 8099 2069 730a 6174 2074 6865 eye... is.at the\n-000142b0: 206f 7269 6769 6e20 616e 6420 7468 6520 origin and the \n-000142c0: 6469 7265 6374 696f 6e20 6672 6f6d 20e2 direction from .\n-000142d0: 8098 6579 65e2 8099 2074 6f20 e280 986c ..eye... to ...l\n-000142e0: 6f6f 6b5f 6174 e280 9920 6973 2074 6865 ook_at... is the\n-000142f0: 206e 6567 6174 6976 650a 7a2d 6178 6973 negative.z-axis\n-00014300: 2e20 2054 6869 7320 7265 7175 6972 6573 . This requires\n-00014310: 2061 2072 6f74 6174 696f 6e20 616e 6420 a rotation and \n-00014320: 6120 7472 616e 736c 6174 696f 6e20 7468 a translation th\n-00014330: 6174 2061 7265 2061 6c6c 2070 6163 6b65 at are all packe\n-00014340: 640a 696e 746f 2074 6865 2063 6f6e 7374 d.into the const\n-00014350: 7275 6374 6f72 20e2 8098 7669 6577 e280 ructor ...view..\n-00014360: 992e 0a0a 0008 5b69 6d61 6765 2073 7263 ......[image src\n-00014370: 3d22 6578 3135 302e 706e 6722 2074 6578 =\"ex150.png\" tex\n-00014380: 743d 2249 6d61 6765 2065 7831 3530 206f t=\"Image ex150 o\n-00014390: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n-000143a0: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n-000143b0: 6f63 756d 656e 742e 2200 085d 0a0a 5468 ocument.\"..]..Th\n-000143c0: 6973 2069 7320 7374 6172 7469 6e67 2074 is is starting t\n-000143d0: 6f20 6c6f 6f6b 2067 6f6f 6421 2020 4164 o look good! Ad\n-000143e0: 6420 7468 6520 7072 6f6a 6563 7469 6f6e d the projection\n-000143f0: 2070 6c61 6e65 2068 616c 6620 7761 790a plane half way.\n-00014400: 6265 7477 6565 6e20 7468 6520 6f72 6967 between the orig\n-00014410: 696e 2061 6e64 2074 6865 2068 6f75 7365 in and the house\n-00014420: 2061 7420 7a3d 2d35 2e20 2057 6527 6c6c at z=-5. We'll\n-00014430: 2074 7279 2074 6865 2061 6e67 6c65 2061 try the angle a\n-00014440: 7267 756d 656e 740a 6665 6174 7572 6520 rgument.feature \n-00014450: 6f66 20e2 8098 7370 6563 6961 6ce2 8099 of ...special...\n-00014460: 2074 6f20 706f 7369 7469 6f6e 2061 206c to position a l\n-00014470: 6162 656c 2e0a 2020 6465 6620 7020 3520 abel.. def p 5 \n-00014480: 2520 7072 6f6a 6563 7469 6f6e 2064 6973 % projection dis\n-00014490: 7461 6e63 6520 2870 6c61 6e65 2061 7420 tance (plane at \n-000144a0: 7a3d 2d70 290a 2020 6465 6620 7072 6f6a z=-p). def proj\n-000144b0: 6563 7469 6f6e 5f70 6c61 6e65 207b 0a20 ection_plane {. \n-000144c0: 2020 2064 6566 2073 7a20 312e 350a 2020 def sz 1.5. \n-000144d0: 2020 706f 6c79 676f 6e20 282d 737a 2c2d polygon (-sz,-\n-000144e0: 737a 2c2d 7029 2873 7a2c 2d73 7a2c 2d70 sz,-p)(sz,-sz,-p\n-000144f0: 2928 737a 2c73 7a2c 2d70 2928 2d73 7a2c )(sz,sz,-p)(-sz,\n-00014500: 737a 2c2d 7029 0a20 2020 2073 7065 6369 sz,-p). speci\n-00014510: 616c 207c 5c72 7075 745b 625d 2331 2d32 al |\\rput[b]#1-2\n-00014520: 2333 7b5c 666f 6f74 6e6f 7465 7369 7a65 #3{\\footnotesize\n-00014530: 5c73 6620 7072 6f6a 6563 7469 6f6e 2070 \\sf projection p\n-00014540: 6c61 6e65 7d7c 200a 2020 2020 2020 282d lane}| . (-\n-00014550: 737a 2c2d 737a 2c2d 7029 2873 7a2c 2d73 sz,-sz,-p)(sz,-s\n-00014560: 7a2c 2d70 2928 302c 2d73 7a2b 2e31 2c2d z,-p)(0,-sz+.1,-\n-00014570: 7029 0a20 207d 0a41 6464 207b 7072 6f6a p). }.Add {proj\n-00014580: 6563 7469 6f6e 5f70 6c61 6e65 7d20 746f ection_plane} to\n-00014590: 2074 6865 206c 6973 7420 6f66 206f 626a the list of obj\n-000145a0: 6563 7473 2069 6e20 7468 6520 e280 9870 ects in the ...p\n-000145b0: 7574 e280 9920 6162 6f76 652e 0a0a 0008 ut... above.....\n-000145c0: 5b69 6d61 6765 2073 7263 3d22 6578 3136 [image src=\"ex16\n-000145d0: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png\" text=\"Ima\n-000145e0: 6765 2065 7831 3630 206f 6d69 7474 6564 ge ex160 omitted\n-000145f0: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n-00014600: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n-00014610: 742e 2200 085d 0a0a 2020 2054 6865 2077 t.\"..].. The w\n-00014620: 6179 2077 6520 636f 6e73 7472 7563 7465 ay we constructe\n-00014630: 6420 7468 6520 706f 696e 7473 206f 6620 d the points of \n-00014640: 7468 6520 686f 7573 6520 6e6f 7720 6d61 the house now ma\n-00014650: 6b65 7320 6974 2065 6173 7920 746f 0a64 kes it easy to.d\n-00014660: 7261 7720 7261 7973 206f 6620 7072 6f6a raw rays of proj\n-00014670: 6563 7469 6f6e 2e20 2057 6527 6c6c 2063 ection. We'll c\n-00014680: 6173 7420 6f6e 6520 7261 7920 6672 6f6d ast one ray from\n-00014690: 2065 7665 7279 2076 6973 6962 6c65 2076 every visible v\n-000146a0: 6572 7465 780a 6f66 2074 6865 2068 6f75 ertex.of the hou\n-000146b0: 7365 2061 6e64 2064 6566 696e 6520 6f70 se and define op\n-000146c0: 7469 6f6e 7320 736f 2074 6865 2061 7070 tions so the app\n-000146d0: 6561 7261 6e63 6520 6f66 2061 6c6c 2072 earance of all r\n-000146e0: 6179 7320 6361 6e20 6265 0a63 6861 6e67 ays can be.chang\n-000146f0: 6564 2061 7420 7468 6520 7361 6d65 2074 ed at the same t\n-00014700: 696d 652e 0a20 2064 6566 2070 726f 6a65 ime.. def proje\n-00014710: 6374 696f 6e5f 7261 7973 207b 0a20 2020 ction_rays {. \n-00014720: 2064 6566 2072 6179 6f70 7420 5b6c 696e def rayopt [lin\n-00014730: 6577 6964 7468 3d2e 3370 742c 6c69 6e65 ewidth=.3pt,line\n-00014740: 636f 6c6f 723d 6c69 6768 7467 7261 795d color=lightgray]\n-00014750: 0a20 2020 206c 696e 6520 5b72 6179 6f70 . line [rayop\n-00014760: 745d 284f 2928 7052 3129 206c 696e 6520 t](O)(pR1) line \n-00014770: 5b72 6179 6f70 745d 284f 2928 7052 3229 [rayopt](O)(pR2)\n-00014780: 206c 696e 655b 7261 796f 7074 5d28 4f29 line[rayopt](O)\n-00014790: 2870 5233 290a 2020 2020 6c69 6e65 205b (pR3). line [\n-000147a0: 7261 796f 7074 5d28 4f29 2870 5234 2920 rayopt](O)(pR4) \n-000147b0: 6c69 6e65 205b 7261 796f 7074 5d28 4f29 line [rayopt](O)\n-000147c0: 2870 5235 290a 2020 2020 6c69 6e65 205b (pR5). line [\n-000147d0: 7261 796f 7074 5d28 4f29 2870 4c31 2920 rayopt](O)(pL1) \n-000147e0: 6c69 6e65 205b 7261 796f 7074 5d28 4f29 line [rayopt](O)\n-000147f0: 2870 4c32 2920 6c69 6e65 5b72 6179 6f70 (pL2) line[rayop\n-00014800: 745d 284f 2928 704c 3529 0a20 2020 206c t](O)(pL5). l\n-00014810: 696e 6520 5b72 6179 6f70 745d 284f 2928 ine [rayopt](O)(\n-00014820: 7044 3129 206c 696e 6520 5b72 6179 6f70 pD1) line [rayop\n-00014830: 745d 284f 2928 7044 3229 200a 2020 2020 t](O)(pD2) . \n-00014840: 6c69 6e65 205b 7261 796f 7074 5d28 4f29 line [rayopt](O)\n-00014850: 2870 4433 2920 6c69 6e65 205b 7261 796f (pD3) line [rayo\n-00014860: 7074 5d28 4f29 2870 4434 2920 0a20 207d pt](O)(pD4) . }\n-00014870: 0a54 6865 2072 6573 756c 7420 6973 2073 .The result is s\n-00014880: 686f 776e 2068 6572 652e 0a0a 0008 5b69 hown here.....[i\n-00014890: 6d61 6765 2073 7263 3d22 6578 3137 302e mage src=\"ex170.\n-000148a0: 706e 6722 2074 6578 743d 2249 6d61 6765 png\" text=\"Image\n-000148b0: 2065 7831 3730 206f 6d69 7474 6564 2069 ex170 omitted i\n-000148c0: 6e20 7465 7874 2076 6572 7369 6f6e 206f n text version o\n-000148d0: 6620 7468 6973 2064 6f63 756d 656e 742e f this document.\n-000148e0: 2200 085d 0a0a 5468 6520 7261 7973 2070 \"..]..The rays p\n-000148f0: 6965 7263 6520 7468 6520 7072 6f6a 6563 ierce the projec\n-00014900: 7469 6f6e 2070 6c61 6e65 2061 7420 7468 tion plane at th\n-00014910: 6520 636f 7272 6573 706f 6e64 696e 6720 e corresponding \n-00014920: 706f 696e 7473 206f 6e20 7468 650a 7065 points on the.pe\n-00014930: 7273 7065 6374 6976 6520 696d 6167 6520 rspective image \n-00014940: 7765 2061 7265 2074 7279 696e 6720 746f we are trying to\n-00014950: 2064 7261 772e 2020 416c 6272 6563 6874 draw. Albrecht\n-00014960: 2044 c3bc 7265 7220 616e 6420 6869 730a D..rer and his.\n-00014970: 5265 6e61 6973 7361 6e63 6520 636f 6e74 Renaissance cont\n-00014980: 656d 706f 7261 7269 6573 2068 6164 2074 emporaries had t\n-00014990: 6865 2073 616d 6520 6964 6561 2069 6e20 he same idea in \n-000149a0: 7468 6520 6561 726c 7920 3135 3030 2773 the early 1500's\n-000149b0: 2e0a 0a00 085b 696d 6167 6520 7372 633d .....[image src=\n-000149c0: 2264 7565 7265 722e 706e 6722 2074 6578 \"duerer.png\" tex\n-000149d0: 743d 2249 6d61 6765 206f 6620 4475 6572 t=\"Image of Duer\n-000149e0: 6572 2773 2070 6572 7370 6563 7469 7665 er's perspective\n-000149f0: 2063 6f6d 7075 7465 7220 6f6d 6974 7465 computer omitte\n-00014a00: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio\n-00014a10: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume\n-00014a20: 6e74 2e22 0008 5d0a 0a20 2020 416c 6c20 nt.\"..].. All \n-00014a30: 7468 6174 2773 206c 6566 7420 6973 2074 that's left is t\n-00014a40: 6f20 6669 6e64 2061 2077 6179 2074 6f20 o find a way to \n-00014a50: 636f 6e6e 6563 7420 7468 6520 706f 696e connect the poin\n-00014a60: 7473 206f 6620 7468 6520 686f 7573 650a ts of the house.\n-00014a70: 6f6e 2074 6865 2070 726f 6a65 6374 696f on the projectio\n-00014a80: 6e20 706c 616e 652e 2020 5765 2063 6f75 n plane. We cou\n-00014a90: 6c64 2070 756c 6c20 6f75 7420 6120 676f ld pull out a go\n-00014aa0: 6f64 2063 6f6d 7075 7465 7220 6772 6170 od computer grap\n-00014ab0: 6869 6373 0a74 6578 742c 2066 696e 6420 hics.text, find \n-00014ac0: 7468 6520 6e65 6365 7373 6172 7920 6d61 the necessary ma\n-00014ad0: 7472 6978 2c20 616e 6420 656e 7465 7220 trix, and enter \n-00014ae0: 6974 206f 7572 7365 6c76 6573 2061 7320 it ourselves as \n-00014af0: 6120 7472 616e 7366 6f72 6d0a 6c69 7465 a transform.lite\n-00014b00: 7261 6c2e 2020 2a4e 6f74 6520 5472 616e ral. *Note Tran\n-00014b10: 7366 6f72 6d20 6c69 7465 7261 6c73 3a3a sform literals::\n-00014b20: 2e20 2054 6861 7420 776f 726b 2069 7320 . That work is \n-00014b30: 616c 7265 6164 7920 646f 6e65 2c0a 686f already done,.ho\n-00014b40: 7765 7665 722e 2020 5765 2063 616e 2075 wever. We can u\n-00014b50: 7365 2074 6865 20e2 8098 7072 6f6a 6563 se the ...projec\n-00014b60: 7428 7029 e280 9920 636f 6e73 7472 7563 t(p)... construc\n-00014b70: 746f 722e 0a0a 2020 2054 6865 7265 2061 tor... There a\n-00014b80: 7265 2073 7469 6c6c 2073 6f6d 6520 6465 re still some de\n-00014b90: 7461 696c 7320 7468 6174 2072 6571 7569 tails that requi\n-00014ba0: 7265 2063 6172 652e 2020 5072 6f6a 6563 re care. Projec\n-00014bb0: 7469 6f6e 2077 696c 6c0a 666c 6174 7465 tion will.flatte\n-00014bc0: 6e20 7768 6174 6576 6572 2069 7320 7472 n whatever is tr\n-00014bd0: 616e 7366 6f72 6d65 6420 6f6e 746f 2074 ansformed onto t\n-00014be0: 6865 2070 6c61 6e65 207a 3d2d 702e 2020 he plane z=-p. \n-00014bf0: 5468 6572 6566 6f72 6520 616e 7920 7061 Therefore any pa\n-00014c00: 7274 0a6f 6620 7468 6520 686f 7573 6520 rt.of the house \n-00014c10: 636f 756c 6420 6469 7361 7070 6561 7220 could disappear \n-00014c20: 6265 6869 6e64 2074 6865 2070 726f 6a65 behind the proje\n-00014c30: 6374 696f 6e20 706c 616e 6520 2874 6865 ction plane (the\n-00014c40: 2068 6964 6465 6e0a 7375 7266 6163 6520 hidden.surface \n-00014c50: 616c 676f 7269 7468 6d20 6f72 6465 7273 algorithm orders\n-00014c60: 206f 626a 6563 7473 2061 7420 7468 6520 objects at the \n-00014c70: 7361 6d65 2064 6570 7468 2061 7262 6974 same depth arbit\n-00014c80: 7261 7269 6c79 292e 2020 5468 650a 646f rarily). The.do\n-00014c90: 6f72 206d 6179 2061 6c73 6f20 6469 7361 or may also disa\n-00014ca0: 7070 6561 7220 6265 6869 6e64 2074 6865 ppear behind the\n-00014cb0: 2066 726f 6e74 206f 6620 7468 6520 686f front of the ho\n-00014cc0: 7573 652e 2020 546f 206d 616b 6520 7375 use. To make su\n-00014cd0: 7265 0a65 7665 7279 7468 696e 6720 7265 re.everything re\n-00014ce0: 6d61 696e 7320 7669 7369 626c 652c 2077 mains visible, w\n-00014cf0: 6527 6c6c 2070 6c61 6365 2074 6865 2068 e'll place the h\n-00014d00: 6f75 7365 2061 2074 696e 7920 6269 7420 ouse a tiny bit \n-00014d10: 696e 2066 726f 6e74 206f 660a 7468 6520 in front of.the \n-00014d20: 7072 6f6a 6563 7469 6f6e 2070 6c61 6e65 projection plane\n-00014d30: 2061 6e64 2061 2073 6563 6f6e 6420 636f and a second co\n-00014d40: 7079 206f 6620 7468 6520 646f 6f72 2069 py of the door i\n-00014d50: 6e20 6672 6f6e 7420 6f66 2074 6865 0a68 n front of the.h\n-00014d60: 6f75 7365 2e0a 2020 6465 6620 7072 6f6a ouse.. def proj\n-00014d70: 6563 7469 6f6e 207b 0a20 2020 2025 2065 ection {. % e\n-00014d80: 2069 7320 6120 736d 616c 6c20 6e75 6d62 is a small numb\n-00014d90: 6572 2064 6566 696e 6564 2061 626f 7665 er defined above\n-00014da0: 0a20 2020 2070 7574 207b 2070 726f 6a65 . put { proje\n-00014db0: 6374 2870 2920 7468 656e 2074 7261 6e73 ct(p) then trans\n-00014dc0: 6c61 7465 285b 302c 302c 312a 655d 2920 late([0,0,1*e]) \n-00014dd0: 7d20 7b68 6f75 7365 7d0a 2020 2020 7075 } {house}. pu\n-00014de0: 7420 7b20 7072 6f6a 6563 7428 7029 2074 t { project(p) t\n-00014df0: 6865 6e20 7472 616e 736c 6174 6528 5b30 hen translate([0\n-00014e00: 2c30 2c32 2a65 5d29 207d 207b 646f 6f72 ,0,2*e]) } {door\n-00014e10: 7d0a 2020 7d0a 0a00 085b 696d 6167 6520 }. }....[image \n-00014e20: 7372 633d 2265 7831 3830 2e70 6e67 2220 src=\"ex180.png\" \n-00014e30: 7465 7874 3d22 496d 6167 6520 6578 3138 text=\"Image ex18\n-00014e40: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex\n-00014e50: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi\n-00014e60: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document.\"..].\n-00014e70: 0a20 2020 4966 2079 6f75 2068 6176 6520 . If you have \n-00014e80: 7374 7564 6965 6420 616e 6420 756e 6465 studied and unde\n-00014e90: 7273 7461 6e64 2061 6c6c 2074 6869 732c rstand all this,\n-00014ea0: 2079 6f75 2061 7265 2077 656c 6c20 6f6e you are well on\n-00014eb0: 2074 6865 2077 6179 0a74 6f20 7375 6363 the way.to succ\n-00014ec0: 6573 7320 7769 7468 20e2 8098 736b 6574 ess with ...sket\n-00014ed0: 6368 e280 992e 2020 4e6f 7420 7368 6f77 ch.... Not show\n-00014ee0: 6e20 6172 6520 7468 6520 3230 206f 7220 n are the 20 or \n-00014ef0: 736f 2069 7465 7261 7469 6f6e 7320 7468 so iterations th\n-00014f00: 6174 0a77 6572 6520 7265 7175 6972 6564 at.were required\n-00014f10: 2074 6f20 6669 6e64 2061 2072 6561 736f to find a reaso\n-00014f20: 6e61 626c 6520 7669 6577 696e 6720 616e nable viewing an\n-00014f30: 676c 6520 616e 6420 686f 7573 6520 706f gle and house po\n-00014f40: 7369 7469 6f6e 2c0a 6574 632e 2020 4e6f sition,.etc. No\n-00014f50: 6e65 7468 656c 6573 732c 2074 6869 7320 netheless, this \n-00014f60: 6472 6177 696e 6720 7761 7320 636f 6d70 drawing was comp\n-00014f70: 6c65 7465 6420 696e 2061 626f 7574 2061 leted in about a\n-00014f80: 6e20 686f 7572 2e20 2057 6869 6c65 2061 n hour. While a\n-00014f90: 0a47 5549 2074 6f6f 6c20 6d61 7920 6861 .GUI tool may ha\n-00014fa0: 7665 2062 6565 6e20 6120 6c69 7474 6c65 ve been a little\n-00014fb0: 2066 6173 7465 722c 2069 7420 6973 2075 faster, it is u\n-00014fc0: 6e6c 696b 656c 7920 7468 6174 2061 206e nlikely that a n\n-00014fd0: 6577 0a64 7261 7769 6e67 2c20 6974 7365 ew.drawing, itse\n-00014fe0: 6c66 2061 2070 6572 7370 6563 7469 7665 lf a perspective\n-00014ff0: 2070 726f 6a65 6374 696f 6e20 6f66 2074 projection of t\n-00015000: 6865 2073 6365 6e65 2c20 636f 756c 6420 he scene, could \n-00015010: 6265 0a67 656e 6572 6174 6564 2077 6974 be.generated wit\n-00015020: 6820 7477 6f20 6d6f 7265 206d 696e 7574 h two more minut\n-00015030: 6573 2720 776f 726b 2120 204a 7573 7420 es' work! Just \n-00015040: 6368 616e 6765 2074 6865 2076 6965 7720 change the view \n-00015050: 7472 616e 7366 6f72 6d0a 746f 0a20 2070 transform.to. p\n-00015060: 7574 207b 2076 6965 7728 2865 7965 292c ut { view((eye),\n-00015070: 2028 6c6f 6f6b 5f61 7429 2920 7468 656e (look_at)) then\n-00015080: 2070 6572 7370 6563 7469 7665 2839 2920 perspective(9) \n-00015090: 7d20 7b20 2e2e 2e0a 616e 6420 7072 6f64 } { ....and prod\n-000150a0: 7563 6520 7468 6973 2e0a 0a00 085b 696d uce this.....[im\n-000150b0: 6167 6520 7372 633d 2265 7831 3930 2e70 age src=\"ex190.p\n-000150c0: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng\" text=\"Image \n-000150d0: 6578 3139 3020 6f6d 6974 7465 6420 696e ex190 omitted in\n-000150e0: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of\n-000150f0: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document.\"\n-00015100: 0008 5d0a 0a1f 0a46 696c 653a 2073 6b65 ..]....File: ske\n-00015110: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n-00015120: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n-00015130: 7769 6e67 2c20 204e 6578 743a 2041 2068 wing, Next: A h\n-00015140: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n-00015150: 6c2c 2020 5072 6576 3a20 4f76 6572 7669 l, Prev: Overvi\n-00015160: 6577 2c20 2055 703a 2042 7569 6c64 696e ew, Up: Buildin\n-00015170: 6720 6120 6472 6177 696e 670a 0a34 2e32 g a drawing..4.2\n-00015180: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n-00015190: 7769 6e67 0a3d 3d3d 3d3d 3d3d 3d3d 3d3d wing.===========\n-000151a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 4c65 ============..Le\n-000151b0: 7427 7320 6c6f 6f6b 2061 7420 6120 6472 t's look at a dr\n-000151c0: 6177 696e 6720 7468 6174 2072 6570 7265 awing that repre\n-000151d0: 7365 6e74 7320 7468 6520 6b69 6e64 206f sents the kind o\n-000151e0: 6620 7072 6f62 6c65 6d20 e280 9873 6b65 f problem ...ske\n-000151f0: 7463 68e2 8099 2077 6173 0a6d 6561 6e74 tch... was.meant\n-00015200: 2074 6f20 736f 6c76 652d 2d61 2070 6169 to solve--a pai\n-00015210: 7220 6f66 2074 6578 7462 6f6f 6b20 6669 r of textbook fi\n-00015220: 6775 7265 7320 7265 6761 7264 696e 6720 gures regarding \n-00015230: 6120 706f 6c79 676f 6e61 6c0a 6170 7072 a polygonal.appr\n-00015240: 6f78 696d 6174 696f 6e20 6f66 2061 2074 oximation of a t\n-00015250: 7275 6e63 6174 6564 2063 6f6e 652e 2020 runcated cone. \n-00015260: 4865 7265 2061 7265 2074 6865 2070 6963 Here are the pic\n-00015270: 7475 7265 7320 7765 2077 696c 6c0a 7072 tures we will.pr\n-00015280: 6f64 7563 652e 0a0a 0008 5b69 6d61 6765 oduce.....[image\n-00015290: 2073 7263 3d22 6578 3235 302e 706e 6722 src=\"ex250.png\"\n-000152a0: 2074 6578 743d 2249 6d61 6765 2065 7832 text=\"Image ex2\n-000152b0: 3530 206f 6d69 7474 6564 2069 6e20 7465 50 omitted in te\n-000152c0: 7874 2076 6572 7369 6f6e 206f 6620 7468 xt version of th\n-000152d0: 6973 2064 6f63 756d 656e 742e 2200 085d is document.\"..]\n-000152e0: 2020 2020 2000 085b 696d 6167 6520 7372 ..[image sr\n-000152f0: 633d 2265 7832 3630 2e70 6e67 2220 7465 c=\"ex260.png\" te\n-00015300: 7874 3d22 496d 6167 6520 6578 3236 3020 xt=\"Image ex260 \n-00015310: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text \n-00015320: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this \n-00015330: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a20 document.\"..].. \n-00015340: 2020 5468 6520 636f 6e65 2073 6861 7065 The cone shape\n-00015350: 2069 7320 6a75 7374 2061 2073 7765 7074 is just a swept\n-00015360: 206c 696e 6520 7769 7468 206e 6f20 636c line with no cl\n-00015370: 6f73 7572 6520 7461 6720 616e 6420 6375 osure tag and cu\n-00015380: 6c6c 696e 670a 7475 726e 6564 206f 6666 lling.turned off\n-00015390: 2e20 2042 6567 696e 2062 7920 7365 7474 . Begin by sett\n-000153a0: 696e 6720 7570 2073 6f6d 6520 7573 6566 ing up some usef\n-000153b0: 756c 2063 6f6e 7374 616e 7473 2e0a 2020 ul constants.. \n-000153c0: 6465 6620 4f20 2830 2c30 2c30 2920 6465 def O (0,0,0) de\n-000153d0: 6620 4920 5b31 2c30 2c30 5d20 6465 6620 f I [1,0,0] def \n-000153e0: 4a20 5b30 2c31 2c30 5d20 6465 6620 4b20 J [0,1,0] def K \n-000153f0: 5b30 2c30 2c31 5d0a 2020 6465 6620 7030 [0,0,1]. def p0\n-00015400: 2028 312c 3229 2064 6566 2070 3120 2831 (1,2) def p1 (1\n-00015410: 2e35 2c30 2920 6465 6620 4e20 380a 2020 .5,0) def N 8. \n-00015420: 6465 6620 7365 675f 726f 7420 726f 7461 def seg_rot rota\n-00015430: 7465 2833 3630 202f 204e 2c20 5b4a 5d29 te(360 / N, [J])\n-00015440: 0a54 6865 2070 6f69 6e74 7320 e280 9870 .The points ...p\n-00015450: 30e2 8099 2061 6e64 20e2 8098 7031 e280 0... and ...p1..\n-00015460: 9920 6172 6520 7468 6520 656e 6420 706f . are the end po\n-00015470: 696e 7473 206f 6620 7468 6520 6c69 6e65 ints of the line\n-00015480: 2074 6f20 6265 2073 7765 7074 2e0a 5468 to be swept..Th\n-00015490: 6520 6465 6669 6e69 7469 6f6e 20e2 8098 e definition ...\n-000154a0: 7365 675f 726f 74e2 8099 2069 7320 7468 seg_rot... is th\n-000154b0: 6520 7377 6565 7020 7472 616e 7366 6f72 e sweep transfor\n-000154c0: 6d61 7469 6f6e 2e20 2057 6974 6820 7468 mation. With th\n-000154d0: 6573 652c 2074 6865 0a63 6f6e 6520 6974 ese, the.cone it\n-000154e0: 7365 6c66 2069 7320 7369 6d70 6c65 2e0a self is simple..\n-000154f0: 2020 7377 6565 705b 6375 6c6c 3d66 616c sweep[cull=fal\n-00015500: 7365 5d20 7b20 4e2c 205b 5b73 6567 5f72 se] { N, [[seg_r\n-00015510: 6f74 5d5d 207d 206c 696e 6528 7030 2928 ot]] } line(p0)(\n-00015520: 7031 290a 0a20 2020 5468 6520 6178 6573 p1).. The axes\n-00015530: 2061 7265 206e 6578 7420 616e 6420 696e are next and in\n-00015540: 636c 7564 6520 616e 2069 6e74 6572 6573 clude an interes\n-00015550: 696e 6720 7472 6963 6b20 7468 6174 2073 ing trick that s\n-00015560: 686f 7773 2074 6865 0a68 6964 6465 6e20 hows the.hidden \n-00015570: 7061 7274 7320 6173 2064 6f74 7465 6420 parts as dotted \n-00015580: 6c69 6e65 732e 2020 5468 6520 7365 6372 lines. The secr\n-00015590: 6574 2069 7320 6472 6177 2074 6865 2061 et is draw the a\n-000155a0: 7865 7320 7477 6963 652d 2d73 6f6c 6964 xes twice--solid\n-000155b0: 0a6c 696e 6573 2077 6974 6820 7468 6520 .lines with the \n-000155c0: 6e6f 726d 616c 2068 6964 6465 6e20 7375 normal hidden su\n-000155d0: 7266 6163 6520 616c 676f 7269 7468 6d20 rface algorithm \n-000155e0: 696e 2065 6666 6563 742c 2061 6e64 2074 in effect, and t\n-000155f0: 6865 6e0a 646f 7474 6564 2077 6974 6820 hen.dotted with \n-00015600: 7468 6520 6f70 7469 6f6e 20e2 8098 6c61 the option ...la\n-00015610: 793d 6f76 6572 e280 9920 736f 2074 6861 y=over... so tha\n-00015620: 7420 6e6f 2070 6f6c 7967 6f6e 7320 6361 t no polygons ca\n-00015630: 6e20 6869 6465 2074 6865 6d2e 0a20 2064 n hide them.. d\n-00015640: 6566 2061 7820 2864 782c 302c 3029 2025 ef ax (dx,0,0) %\n-00015650: 2074 6970 7320 6f66 2074 6865 2061 7865 tips of the axe\n-00015660: 730a 2020 6465 6620 6179 2028 302c 6479 s. def ay (0,dy\n-00015670: 2c30 290a 2020 6465 6620 617a 2028 302c ,0). def az (0,\n-00015680: 302c 647a 290a 2020 6c69 6e65 5b61 7272 0,dz). line[arr\n-00015690: 6f77 733d 3c2d 3e2c 6c69 6e65 7769 6474 ows=<->,linewidt\n-000156a0: 683d 2e34 7074 5d28 6178 2928 4f29 2861 h=.4pt](ax)(O)(a\n-000156b0: 7929 0a20 206c 696e 655b 6172 726f 7773 y). line[arrows\n-000156c0: 3d2d 3e2c 6c69 6e65 7769 6474 683d 2e34 =->,linewidth=.4\n-000156d0: 7074 5d28 4f29 2861 7a29 0a20 2025 2072 pt](O)(az). % r\n-000156e0: 6570 6561 7420 646f 7474 6564 2061 7320 epeat dotted as \n-000156f0: 616e 206f 7665 726c 6179 2074 6f20 6869 an overlay to hi\n-00015700: 6e74 2061 7420 7468 6520 6869 6464 656e nt at the hidden\n-00015710: 206c 696e 6573 0a20 206c 696e 655b 6c61 lines. line[la\n-00015720: 793d 6f76 6572 2c6c 696e 6573 7479 6c65 y=over,linestyle\n-00015730: 3d64 6f74 7465 642c 6c69 6e65 7769 6474 =dotted,linewidt\n-00015740: 683d 2e34 7074 5d28 6178 2928 4f29 2861 h=.4pt](ax)(O)(a\n-00015750: 7929 0a20 206c 696e 655b 6c61 793d 6f76 y). line[lay=ov\n-00015760: 6572 2c6c 696e 6573 7479 6c65 3d64 6f74 er,linestyle=dot\n-00015770: 7465 642c 6c69 6e65 7769 6474 683d 2e34 ted,linewidth=.4\n-00015780: 7074 5d28 4f29 2861 7a29 0a20 2073 7065 pt](O)(az). spe\n-00015790: 6369 616c 7c5c 666f 6f74 6e6f 7465 7369 cial|\\footnotesi\n-000157a0: 7a65 0a20 2020 2020 2020 2020 205c 7570 ze. \\up\n-000157b0: 7574 5b64 5d23 317b 2478 247d 5c75 7075 ut[d]#1{$x$}\\upu\n-000157c0: 745b 755d 2332 7b24 7924 7d5c 7570 7574 t[u]#2{$y$}\\uput\n-000157d0: 5b6c 5d23 337b 247a 247d 7c0a 2020 2020 [l]#3{$z$}|. \n-000157e0: 2861 7829 2861 7929 2861 7a29 0a54 6865 (ax)(ay)(az).The\n-000157f0: 206c 6162 656c 7320 6172 6520 6170 706c labels are appl\n-00015800: 6965 6420 7769 7468 20e2 8098 5053 5472 ied with ...PSTr\n-00015810: 6963 6b73 e280 9920 7370 6563 6961 6c20 icks... special \n-00015820: 6f62 6a65 6374 7320 6173 2075 7375 616c objects as usual\n-00015830: 2e0a 0a20 2020 466f 7220 7468 6520 6865 ... For the he\n-00015840: 6967 6874 2064 696d 656e 7369 6f6e 206d ight dimension m\n-00015850: 6172 6b2c 2074 6865 2070 6f77 6572 206f ark, the power o\n-00015860: 6620 6166 6669 6e65 2061 7269 7468 6574 f affine arithet\n-00015870: 6963 2069 7320 7665 7279 0a68 656c 7066 ic is very.helpf\n-00015880: 756c 2e0a 2020 6465 6620 6864 696d 5f72 ul.. def hdim_r\n-00015890: 6566 2075 6e69 7428 2870 3129 202d 2028 ef unit((p1) - (\n-000158a0: 4f29 2920 7468 656e 205b 5b73 6567 5f72 O)) then [[seg_r\n-000158b0: 6f74 5d5d 5e32 0a20 2064 6566 2063 3020 ot]]^2. def c0 \n-000158c0: 2870 3029 2074 6865 6e20 7363 616c 6528 (p0) then scale(\n-000158d0: 5b4a 5d29 0a20 2064 6566 2068 3030 2028 [J]). def h00 (\n-000158e0: 6330 2920 2b20 312e 3120 2a20 5b68 6469 c0) + 1.1 * [hdi\n-000158f0: 6d5f 7265 665d 0a20 2064 6566 2068 3031 m_ref]. def h01\n-00015900: 2028 6330 2920 2b20 312e 3920 2a20 5b68 (c0) + 1.9 * [h\n-00015910: 6469 6d5f 7265 665d 0a20 2064 6566 2068 dim_ref]. def h\n-00015920: 3032 2028 6330 2920 2b20 312e 3820 2a20 02 (c0) + 1.8 * \n-00015930: 5b68 6469 6d5f 7265 665d 0a20 206c 696e [hdim_ref]. lin\n-00015940: 6528 6830 3029 2868 3031 290a 2020 6465 e(h00)(h01). de\n-00015950: 6620 6831 3020 284f 2920 2b20 312e 3620 f h10 (O) + 1.6 \n-00015960: 2a20 5b68 6469 6d5f 7265 665d 0a20 2064 * [hdim_ref]. d\n-00015970: 6566 2068 3131 2028 4f29 202b 2031 2e39 ef h11 (O) + 1.9\n-00015980: 202a 205b 6864 696d 5f72 6566 5d0a 2020 * [hdim_ref]. \n-00015990: 6465 6620 6831 3220 284f 2920 2b20 312e def h12 (O) + 1.\n-000159a0: 3820 2a20 5b68 6469 6d5f 7265 665d 0a20 8 * [hdim_ref]. \n-000159b0: 206c 696e 6528 6831 3029 2868 3131 290a line(h10)(h11).\n-000159c0: 2020 6c69 6e65 5b61 7272 6f77 733d 3c2d line[arrows=<-\n-000159d0: 3e5d 2868 3032 2928 6831 3229 0a20 2064 >](h02)(h12). d\n-000159e0: 6566 2068 6d32 2028 2868 3032 2920 2d20 ef hm2 ((h02) - \n-000159f0: 284f 2920 2b20 2868 3132 2920 2d20 284f (O) + (h12) - (O\n-00015a00: 2929 202f 2032 202b 2028 4f29 0a20 2073 )) / 2 + (O). s\n-00015a10: 7065 6369 616c 7c5c 666f 6f74 6e6f 7465 pecial|\\footnote\n-00015a20: 7369 7a65 5c72 7075 742a 2331 7b24 6824 size\\rput*#1{$h$\n-00015a30: 7d7c 2868 6d32 290a 2020 2054 6865 2067 }|(hm2). The g\n-00015a40: 656e 6572 616c 2069 6465 6120 656d 706c eneral idea empl\n-00015a50: 6f79 6564 2068 6572 6520 6973 2074 6f20 oyed here is to \n-00015a60: 636f 6d70 7574 6520 6120 756e 6974 2022 compute a unit \"\n-00015a70: 7265 6665 7265 6e63 650a 7665 6374 6f72 reference.vector\n-00015a80: 2220 7061 7261 6c6c 656c 2074 6f20 7468 \" parallel to th\n-00015a90: 6520 787a 2d70 6c61 6e65 2069 6e20 7468 e xz-plane in th\n-00015aa0: 6520 6465 7369 7265 6420 6469 7265 6374 e desired direct\n-00015ab0: 696f 6e20 6f66 2074 6865 0a64 696d 656e ion of the.dimen\n-00015ac0: 7369 6f6e 2066 726f 6d20 7468 6520 6f72 sion from the or\n-00015ad0: 6967 696e 2e20 2054 6865 2074 7261 6e73 igin. The trans\n-00015ae0: 666f 726d 6174 696f 6e20 e280 985b 5b73 formation ...[[s\n-00015af0: 6567 5f72 6f74 5d5d 5e32 e280 9920 726f eg_rot]]^2... ro\n-00015b00: 7461 7465 730a 7477 6f20 7365 676d 656e tates.two segmen\n-00015b10: 7473 2061 626f 7574 2074 6865 2079 2d61 ts about the y-a\n-00015b20: 7869 732e 2020 5768 656e 2061 7070 6c69 xis. When appli\n-00015b30: 6564 2074 6f20 e280 9828 7031 2920 2d20 ed to ...(p1) - \n-00015b40: 284f 29e2 8099 2c20 7468 650a 7265 7375 (O)..., the.resu\n-00015b50: 6c74 696e 6720 7665 6374 6f72 2070 6f69 lting vector poi\n-00015b60: 6e74 7320 746f 2074 6865 2072 6967 6874 nts to the right\n-00015b70: 2061 7320 7368 6f77 6e2e 2020 496e 2074 as shown. In t\n-00015b80: 6869 7320 6d61 6e6e 6572 2c20 7765 2063 his manner, we c\n-00015b90: 616e 0a70 6963 6b20 616e 7920 7665 7274 an.pick any vert\n-00015ba0: 6578 2061 7320 7468 6520 6c6f 6361 7469 ex as the locati\n-00015bb0: 6f6e 206f 6620 7468 6520 6865 6967 6874 on of the height\n-00015bc0: 2064 696d 656e 7369 6f6e 206c 696e 6573 dimension lines\n-00015bd0: 2062 7920 7661 7279 696e 670a 7468 6520 by varying.the \n-00015be0: 6578 706f 6e65 6e74 206f 6620 e280 985b exponent of ...[\n-00015bf0: 5b73 6567 5f72 6f74 5d5d e280 992e 2020 [seg_rot]].... \n-00015c00: 5468 6973 2069 7320 6f6e 6c79 206f 6e65 This is only one\n-00015c10: 206f 6620 6d61 6e79 2070 6f73 7369 626c of many possibl\n-00015c20: 650a 7374 7261 7465 6769 6573 2e0a 0a20 e.strategies... \n-00015c30: 2020 5468 6520 636f 6d70 7574 6174 696f The computatio\n-00015c40: 6e20 6f66 20e2 8098 686d 32e2 8099 2069 n of ...hm2... i\n-00015c50: 7320 6120 7573 6566 756c 2069 6469 6f6d s a useful idiom\n-00015c60: 2066 6f72 2066 696e 6469 6e67 2074 6865 for finding the\n-00015c70: 2063 656e 7472 6f69 640a 6f66 2061 2073 centroid.of a s\n-00015c80: 6574 206f 6620 706f 696e 7473 2e0a 0a20 et of points... \n-00015c90: 2020 5468 6520 7477 6f20 7261 6469 7573 The two radius\n-00015ca0: 206d 6172 6b73 2061 7265 2064 6f6e 6520 marks are done \n-00015cb0: 7369 6d69 6c61 726c 792c 2073 6f20 7765 similarly, so we\n-00015cc0: 2070 7265 7365 6e74 2074 6865 2063 6f64 present the cod\n-00015cd0: 650a 7769 7468 6f75 7420 636f 6d6d 656e e.without commen\n-00015ce0: 742e 0a20 2025 2072 6164 6975 7320 6d65 t.. % radius me\n-00015cf0: 6173 7572 656d 656e 7420 6d61 726b 730a asurement marks.\n-00015d00: 2020 6465 6620 6761 7020 5b30 2c2e 322c def gap [0,.2,\n-00015d10: 305d 2020 2520 7573 6564 2074 6f20 6372 0] % used to cr\n-00015d20: 6561 7465 2073 6d61 6c6c 2076 6572 7469 eate small verti\n-00015d30: 6361 6c20 6761 7073 0a0a 2020 2520 6669 cal gaps.. % fi\n-00015d40: 7273 7420 7231 0a20 2064 6566 2075 7031 rst r1. def up1\n-00015d50: 205b 302c 332e 312c 305d 2025 2074 6963 [0,3.1,0] % tic\n-00015d60: 6b20 7269 7365 7320 6162 6f76 6520 6469 k rises above di\n-00015d70: 6d65 6e73 696f 6e20 6120 6c69 7474 6c65 mension a little\n-00015d80: 0a20 2064 6566 2072 3120 2828 7031 2920 . def r1 ((p1) \n-00015d90: 7468 656e 205b 5b73 6567 5f72 6f74 5d5d then [[seg_rot]]\n-00015da0: 5e2d 3229 202b 205b 7570 315d 0a20 2064 ^-2) + [up1]. d\n-00015db0: 6566 2072 3163 2028 7231 2920 7468 656e ef r1c (r1) then\n-00015dc0: 2073 6361 6c65 285b 4a5d 290a 2020 6465 scale([J]). de\n-00015dd0: 6620 7231 7420 2872 3129 202b 205b 6761 f r1t (r1) + [ga\n-00015de0: 705d 0a20 2064 6566 2072 3162 2028 2872 p]. def r1b ((r\n-00015df0: 3174 2920 7468 656e 2073 6361 6c65 285b 1t) then scale([\n-00015e00: 312c 302c 315d 2929 202b 205b 6761 705d 1,0,1])) + [gap]\n-00015e10: 0a20 206c 696e 655b 6172 726f 7773 3d3c . line[arrows=<\n-00015e20: 2d3e 5d28 7231 6329 2872 3129 2020 2520 ->](r1c)(r1) % \n-00015e30: 6469 6d65 6e73 696f 6e20 6c69 6e65 0a20 dimension line. \n-00015e40: 206c 696e 6528 7231 6229 2872 3174 2920 line(r1b)(r1t) \n-00015e50: 2020 2020 2020 2020 2020 2020 2520 7469 % ti\n-00015e60: 636b 0a20 2064 6566 2072 316d 2028 2872 ck. def r1m ((r\n-00015e70: 3129 202d 2028 4f29 202b 2028 7231 6329 1) - (O) + (r1c)\n-00015e80: 202d 2028 4f29 2920 2f20 3220 2b20 284f - (O)) / 2 + (O\n-00015e90: 2920 2520 6c61 6265 6c20 706f 7369 7469 ) % label positi\n-00015ea0: 6f6e 0a20 2073 7065 6369 616c 207c 5c66 on. special |\\f\n-00015eb0: 6f6f 746e 6f74 6573 697a 655c 7270 7574 ootnotesize\\rput\n-00015ec0: 2a23 317b 2472 5f31 247d 7c28 7231 6d29 *#1{$r_1$}|(r1m)\n-00015ed0: 2020 2520 6c61 6265 6c0a 0a20 2025 2073 % label.. % s\n-00015ee0: 616d 6520 6472 696c 6c20 666f 7220 7230 ame drill for r0\n-00015ef0: 2c20 6275 7420 6d75 7374 2070 726f 6a65 , but must proje\n-00015f00: 6374 2064 6f77 6e20 6669 7273 740a 2020 ct down first. \n-00015f10: 6465 6620 7570 3020 5b30 2c32 2e37 2c30 def up0 [0,2.7,0\n-00015f20: 5d0a 2020 6465 6620 7230 2028 2870 3029 ]. def r0 ((p0)\n-00015f30: 2074 6865 6e20 7363 616c 6528 5b31 2c30 then scale([1,0\n-00015f40: 2c31 5d29 2074 6865 6e20 5b5b 7365 675f ,1]) then [[seg_\n-00015f50: 726f 745d 5d5e 2d32 2920 2b20 5b75 7030 rot]]^-2) + [up0\n-00015f60: 5d0a 2020 6465 6620 7230 6320 2872 3029 ]. def r0c (r0)\n-00015f70: 2074 6865 6e20 7363 616c 6528 5b4a 5d29 then scale([J])\n-00015f80: 0a20 2064 6566 2072 3074 2028 7230 2920 . def r0t (r0) \n-00015f90: 2b20 5b67 6170 5d0a 2020 6465 6620 7230 + [gap]. def r0\n-00015fa0: 6220 2828 7030 2920 7468 656e 205b 5b73 b ((p0) then [[s\n-00015fb0: 6567 5f72 6f74 5d5d 5e2d 3229 202b 205b eg_rot]]^-2) + [\n-00015fc0: 6761 705d 0a20 206c 696e 655b 6172 726f gap]. line[arro\n-00015fd0: 7773 3d3c 2d3e 5d28 7230 6329 2872 3029 ws=<->](r0c)(r0)\n-00015fe0: 0a20 206c 696e 6528 7230 6229 2872 3074 . line(r0b)(r0t\n-00015ff0: 290a 2020 6465 6620 7230 6d20 2828 7230 ). def r0m ((r0\n-00016000: 2920 2d20 284f 2920 2b20 2872 3063 2920 ) - (O) + (r0c) \n-00016010: 2d20 284f 2929 202f 2032 202b 2028 4f29 - (O)) / 2 + (O)\n-00016020: 0a20 2073 7065 6369 616c 207c 5c66 6f6f . special |\\foo\n-00016030: 746e 6f74 6573 697a 655c 7270 7574 2a23 tnotesize\\rput*#\n-00016040: 317b 2472 5f30 247d 7c28 7230 6d29 0a0a 1{$r_0$}|(r0m)..\n-00016050: 2020 2054 6865 2073 6563 6f6e 6420 6472 The second dr\n-00016060: 6177 696e 6720 7573 6573 2074 6865 2073 awing uses the s\n-00016070: 616d 6520 7465 6368 6e69 7175 6573 2e20 ame techniques. \n-00016080: 204f 6e6c 7920 7468 6520 6d65 7468 6f64 Only the method\n-00016090: 2066 6f72 0a64 7261 7769 6e67 2074 6865 for.drawing the\n-000160a0: 2065 6c6c 6970 7469 6361 6c20 6172 6320 elliptical arc \n-000160b0: 6973 206e 6577 2e20 2048 6572 6520 6973 is new. Here is\n-000160c0: 2074 6865 2063 6f64 652e 0a20 2064 6566 the code.. def\n-000160d0: 206d 6964 2028 2870 3030 292d 284f 292b mid ((p00)-(O)+\n-000160e0: 2870 3130 292d 284f 292b 2870 3131 292d (p10)-(O)+(p11)-\n-000160f0: 284f 292b 2870 3031 292d 284f 2929 2f34 (O)+(p01)-(O))/4\n-00016100: 2b28 4f29 0a20 2073 7065 6369 616c 7c5c +(O). special|\\\n-00016110: 7270 7574 2331 7b5c 7073 6375 7374 6f6d rput#1{\\pscustom\n-00016120: 7b0a 2020 2020 5c73 6361 6c65 7b31 2031 {. \\scale{1 1\n-00016130: 2e33 7d0a 2020 2020 5c70 7361 7263 5b61 .3}. \\psarc[a\n-00016140: 7272 6f77 6c65 6e67 7468 3d2e 355d 7b2d rrowlength=.5]{-\n-00016150: 3e7d 7b2e 3235 7d7b 2d36 307d 7b32 3430 >}{.25}{-60}{240\n-00016160: 7d7d 7d7c 0a20 2020 205b 6c61 793d 6f76 }}}|. [lay=ov\n-00016170: 6572 5d28 6d69 6429 0a57 6520 636f 756c er](mid).We coul\n-00016180: 6420 6861 7665 2073 7765 7074 2061 2070 d have swept a p\n-00016190: 6f69 6e74 2074 6f20 6d61 6b65 2074 6865 oint to make the\n-000161a0: 2061 7263 2077 6974 6820 e280 9873 6b65 arc with ...ske\n-000161b0: 7463 68e2 8099 2c20 6275 7420 7573 696e tch..., but usin\n-000161c0: 6720 610a e280 9850 5354 7269 636b 73e2 g a....PSTricks.\n-000161d0: 8099 2063 7573 746f 6d20 6772 6170 6869 .. custom graphi\n-000161e0: 6320 7761 7320 7369 6d70 6c65 722e 2020 c was simpler. \n-000161f0: 4167 6169 6e20 7765 2063 6f6d 7075 7465 Again we compute\n-00016200: 6420 7468 6520 6365 6e74 726f 6964 0a6f d the centroid.o\n-00016210: 6620 7468 6520 7175 6164 7269 6c61 7465 f the quadrilate\n-00016220: 7261 6c20 6279 2061 7665 7261 6769 6e67 ral by averaging\n-00016230: 2070 6f69 6e74 732e 2020 4e6f 7465 2074 points. Note t\n-00016240: 6861 7420 7363 616c 696e 6720 696e 0a50 hat scaling in.P\n-00016250: 6f73 7473 6372 6970 7420 6469 7374 6f72 ostscript distor\n-00016260: 7473 2074 6865 2061 7272 6f77 6865 6164 ts the arrowhead\n-00016270: 2c20 6275 7420 696e 2074 6869 7320 6361 , but in this ca\n-00016280: 7365 2074 6865 2064 6973 746f 7274 696f se the distortio\n-00016290: 6e0a 6163 7475 616c 6c79 206c 6f6f 6b73 n.actually looks\n-000162a0: 2062 6574 7465 7220 696e 2074 6865 2070 better in the p\n-000162b0: 726f 6a65 6374 696f 6e20 6f66 2074 6865 rojection of the\n-000162c0: 2073 6c61 6e74 6564 2066 6163 652e 2020 slanted face. \n-000162d0: 4120 e280 9873 6b65 7463 68e2 8099 0a61 A ...sketch....a\n-000162e0: 7272 6f77 6865 6164 2077 6f75 6c64 206e rrowhead would n\n-000162f0: 6f74 2068 6176 6520 6265 656e 2064 6973 ot have been dis\n-00016300: 746f 7274 6564 2e0a 0a20 2020 5468 6520 torted... The \n-00016310: 636f 6d70 6c65 7465 2063 6f64 6520 666f complete code fo\n-00016320: 7220 7468 6973 2065 7861 6d70 6c65 2c20 r this example, \n-00016330: 7768 6963 6820 6472 6177 7320 6569 7468 which draws eith\n-00016340: 6572 2066 6967 7572 650a 6465 7065 6e64 er figure.depend\n-00016350: 696e 6720 6f6e 2074 6865 2064 6566 696e ing on the defin\n-00016360: 6974 696f 6e20 6f66 2074 6865 2074 6167 ition of the tag\n-00016370: 20e2 8098 3c6c 6162 656c 6564 3ee2 8099 ......\n-00016380: 2c20 6973 2069 6e63 6c75 6465 6420 696e , is included in\n-00016390: 2074 6865 0ae2 8098 736b 6574 6368 e280 the....sketch..\n-000163a0: 9920 6469 7374 7269 6275 7469 6f6e 2069 . distribution i\n-000163b0: 6e20 7468 6520 6669 6c65 20e2 8098 7472 n the file ...tr\n-000163c0: 756e 6361 7465 6463 6f6e 652e 736b e280 uncatedcone.sk..\n-000163d0: 992e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ......File: sket\n-000163e0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-000163f0: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m\n-00016400: 6f64 656c 2c20 204e 6578 743a 2043 6176 odel, Next: Cav\n-00016410: 6561 7473 2c20 2050 7265 763a 2041 2074 eats, Prev: A t\n-00016420: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n-00016430: 2c20 2055 703a 2042 7569 6c64 696e 6720 , Up: Building \n-00016440: 6120 6472 6177 696e 670a 0a34 2e33 2041 a drawing..4.3 A\n-00016450: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n-00016460: 6465 6c0a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d del.============\n-00016470: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 5768 ============..Wh\n-00016480: 696c 6520 e280 9873 6b65 7463 68e2 8099 ile ...sketch...\n-00016490: 2077 6173 206e 6576 6572 206d 6561 6e74 was never meant\n-000164a0: 2074 6f20 6265 2061 2067 656f 6d65 7472 to be a geometr\n-000164b0: 6963 206d 6f64 656c 696e 6720 6c61 6e67 ic modeling lang\n-000164c0: 7561 6765 2c20 6974 0a63 6f6d 6573 2066 uage, it.comes f\n-000164d0: 6169 726c 7920 636c 6f73 652e 2020 5468 airly close. Th\n-000164e0: 6520 666f 6c6c 6f77 696e 6720 6578 616d e following exam\n-000164f0: 706c 6520 7075 7473 2061 6c6c 2077 6520 ple puts all we \n-00016500: 6861 7665 2073 6565 6e20 746f 2077 6f72 have seen to wor\n-00016510: 6b0a 696e 2061 2076 6572 7920 7369 6d70 k.in a very simp\n-00016520: 6c65 206d 6f64 656c 206f 6620 7468 6520 le model of the \n-00016530: 6875 6d61 6e20 6861 6e64 2e20 2053 7461 human hand. Sta\n-00016540: 7274 2062 7920 7377 6565 7069 6e67 2061 rt by sweeping a\n-00016550: 206c 696e 6520 746f 0a6d 616b 6520 6120 line to.make a \n-00016560: 7472 756e 6361 7465 6420 636f 6e65 2c20 truncated cone, \n-00016570: 7768 6963 6820 7769 6c6c 2062 6520 636f which will be co\n-00016580: 7069 6564 206f 7665 7220 616e 6420 6f76 pied over and ov\n-00016590: 6572 2061 6761 696e 2074 6f20 6d61 6b65 er again to make\n-000165a0: 0a74 6865 2073 6567 6d65 6e74 7320 6f66 .the segments of\n-000165b0: 2066 696e 6765 7273 2e0a 2020 6465 6620 fingers.. def \n-000165c0: 4f20 2830 2c30 2c30 2920 2520 6f72 6967 O (0,0,0) % orig\n-000165d0: 696e 0a20 2064 6566 2049 205b 312c 302c in. def I [1,0,\n-000165e0: 305d 2064 6566 204a 205b 302c 312c 305d 0] def J [0,1,0]\n-000165f0: 2064 6566 204b 205b 302c 302c 315d 2025 def K [0,0,1] %\n-00016600: 2063 616e 6f6e 6963 616c 2075 6e69 7420 canonical unit \n-00016610: 7665 6374 6f72 730a 2020 6465 6620 7365 vectors. def se\n-00016620: 676d 656e 7420 7b0a 2020 2020 6465 6620 gment {. def \n-00016630: 6e5f 6661 6365 7320 380a 2020 2020 7377 n_faces 8. sw\n-00016640: 6565 7020 7b20 6e5f 6661 6365 733c 3e2c eep { n_faces<>,\n-00016650: 2072 6f74 6174 6528 3336 3020 2f20 6e5f rotate(360 / n_\n-00016660: 6661 6365 732c 205b 4a5d 2920 7d20 0a20 faces, [J]) } . \n-00016670: 2020 2020 206c 696e 6528 7072 6f78 696d line(proxim\n-00016680: 616c 5f72 6164 2c20 3029 2864 6973 7461 al_rad, 0)(dista\n-00016690: 6c5f 7261 642c 2064 6973 7461 6c5f 6c65 l_rad, distal_le\n-000166a0: 6e29 0a20 207d 0a49 6e20 6861 6e64 2061 n). }.In hand a\n-000166b0: 6e61 746f 6d79 2c20 5f64 6973 7461 6c5f natomy, _distal_\n-000166c0: 2069 7320 2261 7420 7468 6520 7469 7022 is \"at the tip\"\n-000166d0: 2061 6e64 205f 7072 6f78 696d 616c 5f20 and _proximal_ \n-000166e0: 6973 2022 696e 2074 6865 2061 7265 610a is \"in the area.\n-000166f0: 6f66 2074 6865 2070 616c 6d2e 2220 2057 of the palm.\" W\n-00016700: 6520 6861 7665 206f 6d69 7474 6564 2061 e have omitted a\n-00016710: 6c6c 2074 6865 2073 6361 6c61 7220 636f ll the scalar co\n-00016720: 6e73 7461 6e74 732e 2020 596f 7520 6361 nstants. You ca\n-00016730: 6e20 6669 6e64 0a74 6865 6d20 696e 20e2 n find.them in .\n-00016740: 8098 6861 6e64 2e73 6be2 8099 2c20 7768 ..hand.sk..., wh\n-00016750: 6963 6820 6973 2070 726f 7669 6465 6420 ich is provided \n-00016760: 696e 2074 6865 20e2 8098 736b 6574 6368 in the ...sketch\n-00016770: e280 9920 6469 7374 7269 6275 7469 6f6e ... distribution\n-00016780: 2e0a 0a20 2020 5765 2061 6c73 6f20 6e65 ... We also ne\n-00016790: 6564 2061 2070 726f 746f 7479 7069 6361 ed a prototypica\n-000167a0: 6c20 7370 6865 7265 2074 6f20 7573 6520 l sphere to use \n-000167b0: 666f 7220 7468 6520 6a6f 696e 7473 2074 for the joints t\n-000167c0: 6865 6d73 656c 7665 732e 0a20 2064 6566 hemselves.. def\n-000167d0: 206a 6f69 6e74 5f73 7068 6572 6520 7b0a joint_sphere {.\n-000167e0: 2020 2020 6465 6620 6e5f 6a6f 696e 745f def n_joint_\n-000167f0: 6661 6365 7320 380a 2020 2020 7377 6565 faces 8. swee\n-00016800: 7020 5b66 696c 6c63 6f6c 6f72 3d72 6564 p [fillcolor=red\n-00016810: 5d20 7b20 6e5f 6a6f 696e 745f 6661 6365 ] { n_joint_face\n-00016820: 732c 2072 6f74 6174 6528 3336 3020 2f20 s, rotate(360 / \n-00016830: 6e5f 6a6f 696e 745f 6661 6365 732c 205b n_joint_faces, [\n-00016840: 4a5d 2920 7d0a 2020 2020 2020 7377 6565 J]) }. swee\n-00016850: 7020 7b20 6e5f 6a6f 696e 745f 6661 6365 p { n_joint_face\n-00016860: 732c 2072 6f74 6174 6528 3138 3020 2f20 s, rotate(180 / \n-00016870: 6e5f 6a6f 696e 745f 6661 6365 7329 207d n_joint_faces) }\n-00016880: 200a 2020 2020 2020 2020 2830 2c20 2d6a . (0, -j\n-00016890: 6f69 6e74 5f72 6164 290a 2020 7d0a 0a20 oint_rad). }.. \n-000168a0: 2020 5765 276c 6c20 6e6f 7720 6465 7369 We'll now desi\n-000168b0: 676e 2074 6865 2069 6e64 6578 2066 696e gn the index fin\n-000168c0: 6765 7220 286e 756d 6265 7220 3120 696e ger (number 1 in\n-000168d0: 206f 7572 206e 6f74 6174 696f 6e61 6c0a our notational.\n-000168e0: 636f 6e76 656e 7469 6f6e 3b20 6669 6e67 convention; fing\n-000168f0: 6572 2030 2069 7320 7468 6520 7468 756d er 0 is the thum\n-00016900: 6229 2e20 2054 6865 2064 6973 7461 6c20 b). The distal \n-00016910: 726f 7461 7469 6f6e 2066 6f72 2074 6865 rotation for the\n-00016920: 2066 696e 6765 720a 6170 706c 6965 7320 finger.applies \n-00016930: 6f6e 6c79 2074 6f20 7468 6520 7469 702c only to the tip,\n-00016940: 2073 6f20 7765 2064 6566 696e 6520 7468 so we define th\n-00016950: 6520 666f 6c6c 6f77 696e 672e 0a20 2064 e following.. d\n-00016960: 6566 2064 6973 7461 6c5f 3120 7b0a 2020 ef distal_1 {. \n-00016970: 2020 7075 7420 7b20 7472 616e 736c 6174 put { translat\n-00016980: 6528 6a6f 696e 745f 6761 7020 2a20 6a6f e(joint_gap * jo\n-00016990: 696e 745f 7261 6420 2a20 5b4a 5d29 200a int_rad * [J]) .\n-000169a0: 2020 2020 2020 2020 2020 7468 656e 2072 then r\n-000169b0: 6f74 6174 6528 6469 7374 616c 5f31 5f72 otate(distal_1_r\n-000169c0: 6f74 2c20 5b49 5d29 200a 2020 2020 2020 ot, [I]) . \n-000169d0: 2020 2020 7468 656e 2074 7261 6e73 6c61 then transla\n-000169e0: 7465 2828 6469 7374 616c 5f6c 656e 202b te((distal_len +\n-000169f0: 206a 6f69 6e74 5f67 6170 202a 206a 6f69 joint_gap * joi\n-00016a00: 6e74 5f72 6164 2920 2a20 5b4a 5d29 207d nt_rad) * [J]) }\n-00016a10: 0a20 2020 2020 207b 7365 676d 656e 747d . {segment}\n-00016a20: 0a20 2020 2070 7574 207b 2072 6f74 6174 . put { rotat\n-00016a30: 6528 6469 7374 616c 5f31 5f72 6f74 202f e(distal_1_rot /\n-00016a40: 2032 2c20 5b49 5d29 0a20 2020 2020 2020 2, [I]). \n-00016a50: 2020 2074 6865 6e20 7472 616e 736c 6174 then translat\n-00016a60: 6528 2864 6973 7461 6c5f 6c65 6e20 2b20 e((distal_len + \n-00016a70: 6a6f 696e 745f 6761 7020 2a20 6a6f 696e joint_gap * join\n-00016a80: 745f 7261 6429 202a 205b 4a5d 2920 7d20 t_rad) * [J]) } \n-00016a90: 0a20 2020 2020 207b 6a6f 696e 745f 7370 . {joint_sp\n-00016aa0: 6865 7265 7d0a 2020 2020 7075 7420 7b20 here}. put { \n-00016ab0: 7363 616c 6528 205b 4a5d 202b 2070 726f scale( [J] + pro\n-00016ac0: 7869 6d61 6c5f 6469 7374 616c 5f72 6174 ximal_distal_rat\n-00016ad0: 696f 202a 2028 5b49 5d2b 5b4b 5d29 2029 io * ([I]+[K]) )\n-00016ae0: 207d 0a20 2020 2020 207b 7365 676d 656e }. {segmen\n-00016af0: 747d 0a20 207d 2020 0a54 6865 2069 6465 t}. } .The ide\n-00016b00: 6e74 6966 6965 7273 2068 6572 6520 6172 ntifiers here ar\n-00016b10: 6520 666f 7220 7369 7a65 2061 6e64 206c e for size and l\n-00016b20: 6f63 6174 696f 6e20 636f 6e73 7461 6e74 ocation constant\n-00016b30: 732e 2020 5468 6520 6578 6365 7074 696f s. The exceptio\n-00016b40: 6e0a 6973 20e2 8098 6469 7374 616c 5f72 n.is ...distal_r\n-00016b50: 6f74 5f31 e280 992e 2020 5468 6973 2072 ot_1.... This r\n-00016b60: 6f74 6174 696f 6e20 7061 7261 6d65 7465 otation paramete\n-00016b70: 7220 6d6f 6465 6c73 2074 6865 2066 6c65 r models the fle\n-00016b80: 7869 6e67 206f 6620 7468 650a 6669 6e67 xing of the.fing\n-00016b90: 6572 2074 6970 2e20 2054 6865 2066 6972 er tip. The fir\n-00016ba0: 7374 20e2 8098 7075 74e2 8099 206d 616b st ...put... mak\n-00016bb0: 6573 2061 2063 6f70 7920 6f66 2074 6865 es a copy of the\n-00016bc0: 2066 696e 6765 7220 7365 676d 656e 7420 finger segment \n-00016bd0: 7468 6174 2069 730a 7472 616e 736c 6174 that is.translat\n-00016be0: 6564 2075 7077 6172 6420 6a75 7374 2066 ed upward just f\n-00016bf0: 6172 2065 6e6f 7567 6820 746f 206d 616b ar enough to mak\n-00016c00: 6520 726f 6f6d 2066 6f72 2074 6865 2073 e room for the s\n-00016c10: 7068 6572 6963 616c 206a 6f69 6e74 2e0a pherical joint..\n-00016c20: 5468 656e 2069 7420 6170 706c 6965 7320 Then it applies \n-00016c30: 7468 6520 6469 7374 616c 2072 6f74 6174 the distal rotat\n-00016c40: 696f 6e2e 2020 4669 6e61 6c6c 7920 6974 ion. Finally it\n-00016c50: 2074 7261 6e73 6c61 7465 7320 7468 6520 translates the \n-00016c60: 7768 6f6c 650a 6173 7365 6d62 6c79 2075 whole.assembly u\n-00016c70: 7077 6172 6420 6167 6169 6e20 746f 206d pward again to m\n-00016c80: 616b 6520 726f 6f6d 2066 6f72 2074 6865 ake room for the\n-00016c90: 206d 6964 646c 6520 7068 6c61 6e67 6573 middle phlanges\n-00016ca0: 2028 7468 6520 6e65 7874 0a62 6f6e 6520 (the next.bone \n-00016cb0: 746f 7761 7264 2074 6865 2070 616c 6d29 toward the palm)\n-00016cc0: 2e20 2054 6865 2073 6563 6f6e 6420 e280 . The second ..\n-00016cd0: 9870 7574 e280 9920 706f 7369 7469 6f6e .put... position\n-00016ce0: 7320 7468 6520 7370 6865 7265 2e20 2054 s the sphere. T\n-00016cf0: 6865 7265 2069 730a 6120 726f 7461 7469 here is.a rotati\n-00016d00: 6f6e 2074 6f20 706c 6163 6520 7468 6520 on to place the \n-00016d10: 6772 6964 206f 6e20 7468 6520 7370 6865 grid on the sphe\n-00016d20: 7265 2073 7572 6661 6365 2061 7420 616e re surface at an\n-00016d30: 206e 6963 6520 616e 676c 652c 0a74 6865 nice angle,.the\n-00016d40: 6e20 6120 7472 616e 736c 6174 696f 6e20 n a translation \n-00016d50: 746f 2074 6865 2062 6173 6520 6f66 2074 to the base of t\n-00016d60: 6865 2064 6973 7461 6c20 7068 6c61 6e67 he distal phlang\n-00016d70: 6573 2c20 7768 6963 6820 6973 2061 6c73 es, which is als\n-00016d80: 6f0a 6365 6e74 6572 206f 6620 6974 7320 o.center of its \n-00016d90: 726f 7461 7469 6f6e 2e20 2046 696e 616c rotation. Final\n-00016da0: 6c79 2c20 7468 6520 6c61 7374 20e2 8098 ly, the last ...\n-00016db0: 7075 74e2 8099 2070 6f73 6974 696f 6e73 put... positions\n-00016dc0: 2074 6865 206d 6964 646c 650a 7365 676d the middle.segm\n-00016dd0: 656e 7420 6974 7365 6c66 2e0a 0a20 2020 ent itself... \n-00016de0: 5468 6520 6d69 6464 6c65 206a 6f69 6e74 The middle joint\n-00016df0: 2069 7320 7468 6520 6e65 7874 206f 6e65 is the next one\n-00016e00: 2064 6f77 6e2c 2077 6974 6820 726f 7461 down, with rota\n-00016e10: 7469 6f6e 2061 6e67 6c65 0ae2 8098 6d69 tion angle....mi\n-00016e20: 6464 6c65 5f72 6f74 5f31 e280 992e 2020 ddle_rot_1.... \n-00016e30: 5768 656e 2074 6869 7320 616e 676c 6520 When this angle \n-00016e40: 6368 616e 6765 732c 2077 6520 6e65 6564 changes, we need\n-00016e50: 2061 6c6c 2074 6865 206f 626a 6563 7473 all the objects\n-00016e60: 2069 6e0a e280 9864 6973 7461 6c5f 31e2 in....distal_1.\n-00016e70: 8099 2074 6f20 726f 7461 7465 2061 7320 .. to rotate as \n-00016e80: 6120 756e 6974 2e20 2054 6869 7320 6973 a unit. This is\n-00016e90: 2074 6865 2072 6561 736f 6e69 6e67 2062 the reasoning b\n-00016ea0: 6568 696e 6420 7468 6520 6e65 7874 0a64 ehind the next.d\n-00016eb0: 6566 696e 6974 696f 6e2e 0a20 2064 6566 efinition.. def\n-00016ec0: 2066 696e 6765 725f 3120 7b0a 2020 2020 finger_1 {. \n-00016ed0: 7075 7420 7b20 7472 616e 736c 6174 6528 put { translate(\n-00016ee0: 6a6f 696e 745f 6761 7020 2a20 6a6f 696e joint_gap * join\n-00016ef0: 745f 7261 6420 2a20 5b4a 5d29 0a20 2020 t_rad * [J]). \n-00016f00: 2020 2020 2020 2074 6865 6e20 726f 7461 then rota\n-00016f10: 7465 286d 6964 646c 655f 315f 726f 742c te(middle_1_rot,\n-00016f20: 205b 495d 290a 2020 2020 2020 2020 2020 [I]). \n-00016f30: 7468 656e 2074 7261 6e73 6c61 7465 2828 then translate((\n-00016f40: 6d69 6464 6c65 5f72 6174 696f 202a 2064 middle_ratio * d\n-00016f50: 6973 7461 6c5f 6c65 6e20 2b20 0a20 2020 istal_len + . \n-00016f60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00016f70: 2020 2020 2020 206a 6f69 6e74 5f67 6170 joint_gap\n-00016f80: 202a 206a 6f69 6e74 5f72 6164 2920 2a20 * joint_rad) * \n-00016f90: 5b4a 5d29 207d 0a20 2020 2020 207b 6469 [J]) }. {di\n-00016fa0: 7374 616c 5f31 7d0a 2020 2020 7075 7420 stal_1}. put \n-00016fb0: 7b20 7363 616c 6528 7072 6f78 696d 616c { scale(proximal\n-00016fc0: 5f64 6973 7461 6c5f 7261 7469 6f29 0a20 _distal_ratio). \n-00016fd0: 2020 2020 2020 2020 2074 6865 6e20 726f then ro\n-00016fe0: 7461 7465 286d 6964 646c 655f 315f 726f tate(middle_1_ro\n-00016ff0: 7420 2f20 322c 205b 495d 290a 2020 2020 t / 2, [I]). \n-00017000: 2020 2020 2020 7468 656e 2074 7261 6e73 then trans\n-00017010: 6c61 7465 2828 6d69 6464 6c65 5f72 6174 late((middle_rat\n-00017020: 696f 202a 2064 6973 7461 6c5f 6c65 6e20 io * distal_len \n-00017030: 2b20 0a20 2020 2020 2020 2020 2020 2020 + . \n-00017040: 2020 2020 2020 2020 2020 2020 206a 6f69 joi\n-00017050: 6e74 5f67 6170 202a 206a 6f69 6e74 5f72 nt_gap * joint_r\n-00017060: 6164 2920 2a20 5b4a 5d29 207d 200a 2020 ad) * [J]) } . \n-00017070: 2020 2020 7b6a 6f69 6e74 5f73 7068 6572 {joint_spher\n-00017080: 657d 0a20 2020 2070 7574 207b 2073 6361 e}. put { sca\n-00017090: 6c65 2820 6d69 6464 6c65 5f72 6174 696f le( middle_ratio\n-000170a0: 202a 205b 4a5d 202b 200a 2020 2020 2020 * [J] + . \n-000170b0: 2020 2020 2020 2020 2020 2070 726f 7869 proxi\n-000170c0: 6d61 6c5f 6469 7374 616c 5f72 6174 696f mal_distal_ratio\n-000170d0: 5e32 202a 2028 5b49 5d2b 5b4b 5d29 2029 ^2 * ([I]+[K]) )\n-000170e0: 207d 0a20 2020 2020 207b 7365 676d 656e }. {segmen\n-000170f0: 747d 0a20 207d 0a54 6869 7320 6c6f 6f6b t}. }.This look\n-00017100: 7320 7665 7279 2073 696d 696c 6172 2074 s very similar t\n-00017110: 6f20 7468 6520 7072 6576 696f 7573 2064 o the previous d\n-00017120: 6566 696e 6974 696f 6e2c 2061 6e64 2069 efinition, and i\n-00017130: 7420 6973 2e20 2054 6865 0a69 6d70 6f72 t is. The.impor\n-00017140: 7461 6e74 2064 6966 6665 7265 6e63 6520 tant difference \n-00017150: 6973 2074 6861 7420 7261 7468 6572 2074 is that rather t\n-00017160: 6861 6e20 706f 7369 7469 6f6e 696e 6720 han positioning \n-00017170: 616e 6420 726f 7461 7469 6e67 2061 0a73 and rotating a.s\n-00017180: 696e 676c 6520 7365 676d 656e 742c 2077 ingle segment, w\n-00017190: 6520 706f 7369 7469 6f6e 2061 6e64 2072 e position and r\n-000171a0: 6f74 6174 6520 7468 6520 656e 7469 7265 otate the entire\n-000171b0: 2022 6173 7365 6d62 6c79 2220 6465 6669 \"assembly\" defi\n-000171c0: 6e65 6420 6173 0ae2 8098 6469 7374 616c ned as....distal\n-000171d0: 5f31 e280 992e 2020 5468 6520 7265 7374 _1.... The rest\n-000171e0: 2069 7320 6a75 7374 2061 7269 7468 6d65 is just arithme\n-000171f0: 7469 6320 746f 2063 6f6d 7075 7465 2073 tic to compute s\n-00017200: 697a 6573 2061 6e64 2070 6f73 6974 696f izes and positio\n-00017210: 6e73 0a74 6861 7420 6c6f 6f6b 206e 6963 ns.that look nic\n-00017220: 652e 2020 5468 6520 6c61 7374 20e2 8098 e. The last ...\n-00017230: 7075 74e2 8099 2070 6c61 6365 7320 616e put... places an\n-00017240: 2061 7070 726f 7072 6961 7465 6c79 2073 appropriately s\n-00017250: 6861 7065 6420 7365 676d 656e 740a 7468 haped segment.th\n-00017260: 6174 2069 7320 7468 6520 5f70 726f 7869 at is the _proxi\n-00017270: 6d61 6c20 7068 6c61 6e67 6573 5f2c 2074 mal phlanges_, t\n-00017280: 6865 2062 6f6e 6520 7468 6174 206a 6f69 he bone that joi\n-00017290: 6e73 2074 6865 2070 616c 6d20 6f66 2074 ns the palm of t\n-000172a0: 6865 0a68 616e 642e 2020 5468 6973 2063 he.hand. This c\n-000172b0: 6f6d 706c 6574 6573 2074 6865 2066 696e ompletes the fin\n-000172c0: 6765 7220 6974 7365 6c66 2e0a 0a20 2020 ger itself... \n-000172d0: 416c 6c20 7468 6520 6f74 6865 7220 6669 All the other fi\n-000172e0: 6e67 6572 7320 6172 6520 6465 7363 7269 ngers are descri\n-000172f0: 6265 6420 6964 656e 7469 6361 6c6c 7920 bed identically \n-00017300: 746f 2074 6869 7320 6f6e 652e 2020 5765 to this one. We\n-00017310: 0a61 6363 6f75 6e74 2066 6f72 2074 6865 .account for the\n-00017320: 2066 6163 7420 7468 6174 2072 6561 6c20 fact that real \n-00017330: 6669 6e67 6572 7320 6172 6520 6469 6666 fingers are diff\n-00017340: 6572 656e 7420 7369 7a65 7320 696e 2074 erent sizes in t\n-00017350: 6865 206e 6578 740a 7374 6570 2c20 7768 he next.step, wh\n-00017360: 6963 6820 6973 2074 6f20 6275 696c 6420 ich is to build \n-00017370: 7468 6520 656e 7469 7265 2068 616e 642e the entire hand.\n-00017380: 0a0a 2020 2054 6865 20e2 8098 6861 6e64 .. The ...hand\n-00017390: e280 9920 6465 6669 6e69 7469 6f6e 2074 ... definition t\n-000173a0: 6861 7420 666f 6c6c 6f77 7320 696e 636c hat follows incl\n-000173b0: 7564 6573 2061 2073 6563 7469 6f6e 2066 udes a section f\n-000173c0: 6f72 2065 6163 680a 6669 6e67 6572 2e20 or each.finger. \n-000173d0: 2057 6527 6c6c 2063 6f6e 7469 6e75 6520 We'll continue \n-000173e0: 7769 7468 2066 696e 6765 7220 3120 616e with finger 1 an\n-000173f0: 6420 6f6d 6974 2061 6c6c 2074 6865 206f d omit all the o\n-00017400: 7468 6572 732e 2020 284f 6620 6e6f 7465 thers. (Of note\n-00017410: 0a69 7320 7468 6174 2074 6865 2074 6875 .is that the thu\n-00017420: 6d62 206e 6565 6473 2073 6c69 6768 746c mb needs slightl\n-00017430: 7920 7370 6563 6961 6c20 7472 6561 746d y special treatm\n-00017440: 656e 742d 2d61 6e20 6578 7472 6120 726f ent--an extra ro\n-00017450: 7461 7469 6f6e 2074 6f0a 6163 636f 756e tation to.accoun\n-00017460: 7420 666f 7220 6974 7320 6f70 706f 7369 t for its opposi\n-00017470: 6e67 2061 6e67 6c65 2e20 2054 6869 7320 ng angle. This \n-00017480: 6973 2063 6c65 6172 2069 6e20 7468 6520 is clear in the \n-00017490: 6675 6c6c 2073 6f75 7263 6520 636f 6465 full source code\n-000174a0: 2e29 0a4e 6f74 2073 7572 7072 6973 696e .).Not surprisin\n-000174b0: 676c 792c 2074 6865 20e2 8098 6861 6e64 gly, the ...hand\n-000174c0: e280 9920 6465 6669 6e69 7469 6f6e 206c ... definition l\n-000174d0: 6f6f 6b73 2076 6572 7920 6d75 6368 206c ooks very much l\n-000174e0: 696b 6520 7468 650a 7072 6576 696f 7573 ike the.previous\n-000174f0: 2074 776f 2e20 2049 7420 7368 6f75 6c64 two. It should\n-00017500: 2062 6520 6e6f 2073 7572 7072 6973 6520 be no surprise \n-00017510: 7468 6174 2077 6865 6e20 7468 6520 726f that when the ro\n-00017520: 7461 7469 6f6e 2070 6172 616d 6574 6572 tation parameter\n-00017530: 0ae2 8098 6d65 7461 5f31 5f72 6f74 e280 ....meta_1_rot..\n-00017540: 9920 6368 616e 6765 732c 2074 6865 2065 . changes, the e\n-00017550: 6e74 6972 6520 6669 6e67 6572 2072 6f74 ntire finger rot\n-00017560: 6174 6573 2120 2054 6865 7265 2069 7320 ates! There is \n-00017570: 616e 2061 6464 6974 696f 6e61 6c0a 726f an additional.ro\n-00017580: 7461 7469 6f6e 2074 6861 7420 616c 6c6f tation that allo\n-00017590: 7773 2074 6865 2066 696e 6765 7273 2074 ws the fingers t\n-000175a0: 6f20 7370 7265 6164 206c 6174 6572 616c o spread lateral\n-000175b0: 6c79 2e20 2057 6520 7361 7920 7468 6573 ly. We say thes\n-000175c0: 650a 6a6f 696e 7473 206f 6620 7468 6520 e.joints of the \n-000175d0: 7072 6f78 696d 616c 2070 686c 616e 6765 proximal phlange\n-000175e0: 7320 6861 7665 2074 776f 205f 6465 6772 s have two _degr\n-000175f0: 6565 7320 6f66 2066 7265 6564 6f6d 5f2e ees of freedom_.\n-00017600: 2020 5468 650a 6a6f 696e 7473 2068 6967 The.joints hig\n-00017610: 6865 7220 6f6e 2074 6865 2066 696e 6765 her on the finge\n-00017620: 7220 6861 7665 206f 6e6c 7920 6f6e 652e r have only one.\n-00017630: 2020 4669 6e61 6c6c 792c 2065 6163 6820 Finally, each \n-00017640: 6669 6e67 6572 2069 730a 7363 616c 6564 finger is.scaled\n-00017650: 2062 7920 6120 6661 6374 6f72 2074 6f20 by a factor to \n-00017660: 6c65 6e64 2069 7420 7072 6f70 6f72 7469 lend it proporti\n-00017670: 6f6e 2e0a 2020 6465 6620 6861 6e64 207b on.. def hand {\n-00017680: 0a20 2020 2025 2066 696e 6765 7220 3120 . % finger 1 \n-00017690: 5b61 6c6c 206f 7468 6572 2066 696e 6765 [all other finge\n-000176a0: 7273 206f 6d69 7474 6564 5d0a 2020 2020 rs omitted]. \n-000176b0: 6465 6620 7363 616c 655f 3120 2e38 350a def scale_1 .85.\n-000176c0: 2020 2020 7075 7420 7b20 7363 616c 6528 put { scale(\n-000176d0: 7363 616c 655f 3129 200a 2020 2020 2020 scale_1) . \n-000176e0: 2020 2020 7468 656e 2074 7261 6e73 6c61 then transla\n-000176f0: 7465 2828 6a6f 696e 745f 6761 7020 2a20 te((joint_gap * \n-00017700: 6a6f 696e 745f 7261 6429 202a 205b 4a5d joint_rad) * [J]\n-00017710: 290a 0920 2074 6865 6e20 726f 7461 7465 ).. then rotate\n-00017720: 286d 6574 615f 315f 726f 742c 205b 495d (meta_1_rot, [I]\n-00017730: 290a 2020 2020 2020 2020 2020 7468 656e ). then\n-00017740: 2072 6f74 6174 6528 2d73 7072 6561 645f rotate(-spread_\n-00017750: 726f 742c 205b 4b5d 290a 2020 2020 2020 rot, [K]). \n-00017760: 2020 2020 7468 656e 2074 7261 6e73 6c61 then transla\n-00017770: 7465 2828 7072 6f78 696d 616c 5f31 5f6c te((proximal_1_l\n-00017780: 6f63 2920 2d20 284f 2929 207d 200a 2020 oc) - (O)) } . \n-00017790: 2020 2020 7b66 696e 6765 725f 317d 0a20 {finger_1}. \n-000177a0: 2020 2070 7574 207b 2073 6361 6c65 2873 put { scale(s\n-000177b0: 6361 6c65 5f31 202a 2070 726f 7869 6d61 cale_1 * proxima\n-000177c0: 6c5f 6469 7374 616c 5f72 6174 696f 5e32 l_distal_ratio^2\n-000177d0: 290a 2020 2020 2020 2020 2020 7468 656e ). then\n-000177e0: 2072 6f74 6174 6528 6d65 7461 5f31 5f72 rotate(meta_1_r\n-000177f0: 6f74 202f 2032 2c20 5b49 5d29 0a20 2020 ot / 2, [I]). \n-00017800: 2020 2020 2020 2074 6865 6e20 726f 7461 then rota\n-00017810: 7465 282d 7370 7265 6164 5f72 6f74 2c20 te(-spread_rot, \n-00017820: 5b4b 5d29 0a20 2020 2020 2020 2020 2074 [K]). t\n-00017830: 6865 6e20 7472 616e 736c 6174 6528 2870 hen translate((p\n-00017840: 726f 7869 6d61 6c5f 315f 6c6f 6329 202d roximal_1_loc) -\n-00017850: 2028 4f29 2920 7d20 0a20 2020 2020 207b (O)) } . {\n-00017860: 6a6f 696e 745f 7370 6865 7265 7d0a 0a20 joint_sphere}.. \n-00017870: 2020 2025 2070 616c 6d0a 2020 2020 7377 % palm. sw\n-00017880: 6565 7020 7b20 312c 2072 6f74 6174 6528 eep { 1, rotate(\n-00017890: 362c 2028 302c 3135 2c30 292c 205b 495d 6, (0,15,0), [I]\n-000178a0: 2920 7d0a 2020 2020 2020 7075 7420 7b20 ) }. put { \n-000178b0: 726f 7461 7465 282d 332c 2028 302c 3135 rotate(-3, (0,15\n-000178c0: 2c30 292c 205b 495d 2920 7d20 7b0a 2020 ,0), [I]) } {. \n-000178d0: 2020 2020 2020 706f 6c79 676f 6e28 7072 polygon(pr\n-000178e0: 6f78 696d 616c 5f31 5f6c 6f63 2928 7072 oximal_1_loc)(pr\n-000178f0: 6f78 696d 616c 5f32 5f6c 6f63 290a 2020 oximal_2_loc). \n-00017900: 2020 2020 2020 2020 2020 2020 2028 7072 (pr\n-00017910: 6f78 696d 616c 5f33 5f6c 6f63 2928 7072 oximal_3_loc)(pr\n-00017920: 6f78 696d 616c 5f34 5f6c 6f63 290a 2020 oximal_4_loc). \n-00017930: 2020 2020 2020 2020 2020 2020 2028 6835 (h5\n-00017940: 2928 6836 2928 6836 6129 2868 3929 2868 )(h6)(h6a)(h9)(h\n-00017950: 3130 290a 2020 2020 2020 2020 706f 6c79 10). poly\n-00017960: 676f 6e28 6836 6129 2868 3729 2868 3829 gon(h6a)(h7)(h8)\n-00017970: 2868 3929 0a20 2020 7d20 207d 0a54 6865 (h9). } }.The\n-00017980: 206c 6173 7420 7365 6374 696f 6e20 6f66 last section of\n-00017990: 2074 6865 2064 6566 696e 6974 696f 6e20 the definition \n-000179a0: 6372 6561 7465 7320 7468 6520 706f 6c79 creates the poly\n-000179b0: 746f 7065 2066 6f72 2074 6865 2070 616c tope for the pal\n-000179c0: 6d20 6f66 0a74 6865 2068 616e 6420 6279 m of.the hand by\n-000179d0: 20e2 8098 7377 6565 70e2 8099 696e 6720 ...sweep...ing \n-000179e0: 6120 3130 2d73 6964 6564 2070 6f6c 7967 a 10-sided polyg\n-000179f0: 6f6e 2074 6872 6f75 6768 2061 2076 6572 on through a ver\n-00017a00: 7920 7368 6f72 7420 6172 630a 2839 2064 y short arc.(9 d\n-00017a10: 6567 7265 6573 292e 2020 5468 6973 2070 egrees). This p\n-00017a20: 726f 7669 6465 7320 6120 7765 6467 652d rovides a wedge-\n-00017a30: 7368 6170 6564 2070 726f 6669 6c65 2077 shaped profile w\n-00017a40: 6865 6e20 7669 6577 6564 2066 726f 6d20 hen viewed from \n-00017a50: 7468 650a 7369 6465 2e20 2054 6865 2074 the.side. The t\n-00017a60: 6869 636b 2065 6e64 206f 6620 7468 6520 hick end of the \n-00017a70: 7765 6467 6520 6973 2074 6865 2077 7269 wedge is the wri\n-00017a80: 7374 2e20 2042 6563 6175 7365 2074 6865 st. Because the\n-00017a90: 2070 6f6c 7967 6f6e 2069 730a 636f 6e63 polygon is.conc\n-00017aa0: 6176 652c 2069 7420 6973 2073 706c 6974 ave, it is split\n-00017ab0: 2069 6e74 6f20 696e 746f 2074 776f 2063 into into two c\n-00017ac0: 6f6e 7665 7820 7368 6170 6573 2077 6974 onvex shapes wit\n-00017ad0: 6820 6e69 6e65 2061 6e64 2066 6f75 720a h nine and four.\n-00017ae0: 7665 7274 6963 6573 2e0a 0a20 2020 5765 vertices... We\n-00017af0: 2063 616e 206e 6f77 2068 6176 6520 6675 can now have fu\n-00017b00: 6e20 706f 7369 7469 6f6e 696e 6720 7468 n positioning th\n-00017b10: 6520 6861 6e64 2062 7920 6164 6a75 7374 e hand by adjust\n-00017b20: 696e 6720 7468 6520 7661 7269 6f75 730a ing the various.\n-00017b30: 726f 7461 7469 6f6e 2061 6e67 6c65 732e rotation angles.\n-00017b40: 2020 5468 6520 636f 6d70 6c65 7465 2073 The complete s\n-00017b50: 6f75 7263 6520 696e 636c 7564 6573 2064 ource includes d\n-00017b60: 6566 696e 6974 696f 6e73 2077 6974 680a efinitions with.\n-00017b70: 616c 7465 726e 6174 6976 6573 2074 6861 alternatives tha\n-00017b80: 7420 696e 636c 7564 6520 7468 6520 666f t include the fo\n-00017b90: 6c6c 6f77 696e 6720 7669 6577 7320 616e llowing views an\n-00017ba0: 6420 6d6f 7265 2e0a 0a00 085b 696d 6167 d more.....[imag\n-00017bb0: 6520 7372 633d 2265 7832 3130 2e70 6e67 e src=\"ex210.png\n-00017bc0: 2220 7465 7874 3d22 496d 6167 6520 6578 \" text=\"Image ex\n-00017bd0: 3231 3020 6f6d 6974 7465 6420 696e 2074 210 omitted in t\n-00017be0: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t\n-00017bf0: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.\"..\n-00017c00: 5d00 085b 696d 6167 6520 7372 633d 2265 ]..[image src=\"e\n-00017c10: 7832 3230 2e70 6e67 2220 7465 7874 3d22 x220.png\" text=\"\n-00017c20: 496d 6167 6520 6578 3232 3020 6f6d 6974 Image ex220 omit\n-00017c30: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n-00017c40: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n-00017c50: 6d65 6e74 2e22 0008 5d00 085b 696d 6167 ment.\"..]..[imag\n-00017c60: 6520 7372 633d 2265 7832 3330 2e70 6e67 e src=\"ex230.png\n-00017c70: 2220 7465 7874 3d22 496d 6167 6520 6578 \" text=\"Image ex\n-00017c80: 3233 3020 6f6d 6974 7465 6420 696e 2074 230 omitted in t\n-00017c90: 6578 7420 7665 7273 696f 6e20 6f66 2074 ext version of t\n-00017ca0: 6869 7320 646f 6375 6d65 6e74 2e22 0008 his document.\"..\n-00017cb0: 5d00 085b 696d 6167 6520 7372 633d 2265 ]..[image src=\"e\n-00017cc0: 7832 3430 2e70 6e67 2220 7465 7874 3d22 x240.png\" text=\"\n-00017cd0: 496d 6167 6520 6578 3234 3020 6f6d 6974 Image ex240 omit\n-00017ce0: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n-00017cf0: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n-00017d00: 6d65 6e74 2e22 0008 5d0a 0a1f 0a46 696c ment.\"..]....Fil\n-00017d10: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n-00017d20: 204e 6f64 653a 2043 6176 6561 7473 2c20 Node: Caveats, \n-00017d30: 2050 7265 763a 2041 2068 6965 7261 7263 Prev: A hierarc\n-00017d40: 6869 6361 6c20 6d6f 6465 6c2c 2020 5570 hical model, Up\n-00017d50: 3a20 4275 696c 6469 6e67 2061 2064 7261 : Building a dra\n-00017d60: 7769 6e67 0a0a 342e 3420 4361 7665 6174 wing..4.4 Caveat\n-00017d70: 730a 3d3d 3d3d 3d3d 3d3d 3d3d 3d0a 0ae2 s.===========...\n-00017d80: 8098 536b 6574 6368 e280 9920 6973 2061 ..Sketch... is a\n-00017d90: 2066 6169 726c 7920 706f 7765 7266 756c fairly powerful\n-00017da0: 2074 6f6f 6c20 666f 7220 6472 6177 696e tool for drawin\n-00017db0: 672c 2062 7574 2c20 6a75 7374 2061 7320 g, but, just as \n-00017dc0: 7769 7468 2054 6558 2c0a 7468 6520 706f with TeX,.the po\n-00017dd0: 7765 7220 746f 2063 7265 6174 6520 6265 wer to create be\n-00017de0: 6175 7469 6675 6c20 7265 7375 6c74 7320 autiful results \n-00017df0: 636f 6d65 7320 616c 6f6e 6720 7769 7468 comes along with\n-00017e00: 2074 6865 2070 6f77 6572 2074 6f20 6d61 the power to ma\n-00017e10: 6b65 0a6d 6973 7461 6b65 732e 2020 5468 ke.mistakes. Th\n-00017e20: 6520 666f 6c6c 6f77 696e 6720 6172 6520 e following are \n-00017e30: 736f 6d65 2070 6f69 6e74 7320 7768 6572 some points wher\n-00017e40: 6520 6361 7265 2069 7320 6e65 6365 7373 e care is necess\n-00017e50: 6172 7920 616e 640a 7768 6572 6520 7468 ary and.where th\n-00017e60: 6520 6375 7272 656e 7420 7665 7273 696f e current versio\n-00017e70: 6e20 6f66 20e2 8098 736b 6574 6368 e280 n of ...sketch..\n-00017e80: 9920 6973 206c 696d 6974 6564 206f 7220 . is limited or \n-00017e90: 6861 7320 6b6e 6f77 6e20 6275 6773 2e0a has known bugs..\n-00017ea0: 0a2a 204d 656e 753a 0a0a 2a20 4c69 6d69 .* Menu:..* Limi\n-00017eb0: 7473 206f 6e20 6572 726f 7220 6465 7465 ts on error dete\n-00017ec0: 6374 696f 6e3a 3a20 2020 5768 6174 2073 ction:: What s\n-00017ed0: 6b65 7463 6820 646f 6573 6e27 7420 646f ketch doesn't do\n-00017ee0: 2e0a 2a20 436c 6970 7069 6e67 3a3a 2020 ..* Clipping:: \n-00017ef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00017f00: 2020 4e6f 2063 6c69 7070 696e 6720 6174 No clipping at\n-00017f10: 2070 7265 7365 6e74 2e0a 2a20 4869 6464 present..* Hidd\n-00017f20: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov\n-00017f30: 616c 3a3a 2020 2020 2020 496d 7065 7266 al:: Imperf\n-00017f40: 6563 7469 6f6e 7320 746f 2066 6978 2e0a ections to fix..\n-00017f50: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n-00017f60: 696e 666f 2c20 204e 6f64 653a 204c 696d info, Node: Lim\n-00017f70: 6974 7320 6f6e 2065 7272 6f72 2064 6574 its on error det\n-00017f80: 6563 7469 6f6e 2c20 204e 6578 743a 2043 ection, Next: C\n-00017f90: 6c69 7070 696e 672c 2020 5072 6576 3a20 lipping, Prev: \n-00017fa0: 4361 7665 6174 732c 2020 5570 3a20 4361 Caveats, Up: Ca\n-00017fb0: 7665 6174 730a 0a34 2e34 2e31 204c 696d veats..4.4.1 Lim\n-00017fc0: 6974 7320 6f6e 20e2 8098 736b 6574 6368 its on ...sketch\n-00017fd0: e280 9920 6572 726f 7220 6465 7465 6374 ... error detect\n-00017fe0: 696f 6e0a 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ion.------------\n+00011d40: 2d2d 2d2d 2d2d 2d0a 7363 616c 6172 2020 -------.scalar \n+00011d50: 2020 2020 e280 9849 44e2 8099 0a70 6f69 ...ID....poi\n+00011d60: 6e74 2020 2020 2020 20e2 8098 2849 4429 nt ...(ID)\n+00011d70: e280 990a 7665 6374 6f72 2020 2020 2020 ....vector \n+00011d80: e280 985b 4944 5de2 8099 0a74 7261 6e73 ...[ID]....trans\n+00011d90: 666f 726d 2020 20e2 8098 5b5b 4944 5d5d form ...[[ID]]\n+00011da0: e280 990a 6472 6177 6162 6c65 2020 2020 ....drawable \n+00011db0: e280 987b 4944 7de2 8099 0a6f 7074 696f ...{ID}....optio\n+00011dc0: 6e73 2020 2020 20e2 8098 5b49 445d e280 ns ...[ID]..\n+00011dd0: 9920 6f72 20e2 8098 5b49 4431 2c2e 2e2e . or ...[ID1,...\n+00011de0: 2c49 444e 5de2 8099 0a74 6167 2020 2020 ,IDN]....tag \n+00011df0: 2020 2020 20e2 8098 3c49 443e e280 990a .......\n+00011e00: 0a4e 6f74 6520 7468 6174 2073 7175 6172 .Note that squar\n+00011e10: 6520 6272 6163 6b65 7473 20e2 8098 5b20 e brackets ...[ \n+00011e20: 5de2 8099 2061 7265 2075 7365 6420 626f ]... are used bo\n+00011e30: 7468 2066 6f72 2076 6563 746f 7220 616e th for vector an\n+00011e40: 6420 666f 7220 6f70 7469 6f6e 730a 7265 d for options.re\n+00011e50: 6665 7265 6e63 6573 2e20 2044 6574 6169 ferences. Detai\n+00011e60: 6c73 206f 6620 e280 9873 6b65 7463 68e2 ls of ...sketch.\n+00011e70: 8099 2073 796e 7461 7820 6d61 6b65 2069 .. syntax make i\n+00011e80: 7420 696d 706f 7373 6962 6c65 2066 6f72 t impossible for\n+00011e90: 2074 6865 7365 2074 776f 0a72 6566 6572 these two.refer\n+00011ea0: 656e 6365 2074 7970 6573 2074 6f20 6265 ence types to be\n+00011eb0: 2063 6f6e 6675 7365 642e 2020 5468 6520 confused. The \n+00011ec0: 7370 6563 6961 6c20 6d75 6c74 6970 6c65 special multiple\n+00011ed0: 2072 6566 6572 656e 6365 0ae2 8098 5b49 reference....[I\n+00011ee0: 4431 2c49 4432 2c2e 2e2e 2c49 444e 5de2 D1,ID2,...,IDN].\n+00011ef0: 8099 2061 6374 7320 6173 2069 6620 7468 .. acts as if th\n+00011f00: 6520 7265 7370 6563 7469 7665 206c 6973 e respective lis\n+00011f10: 7473 206f 6620 6f70 7469 6f6e 7320 7765 ts of options we\n+00011f20: 7265 0a63 6f6e 6361 7465 6e61 7465 642e re.concatenated.\n+00011f30: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n+00011f40: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 476c .info, Node: Gl\n+00011f50: 6f62 616c 2065 6e76 6972 6f6e 6d65 6e74 obal environment\n+00011f60: 2c20 2050 7265 763a 2044 6566 696e 6974 , Prev: Definit\n+00011f70: 696f 6e73 2c20 2055 703a 2049 6e70 7574 ions, Up: Input\n+00011f80: 206c 616e 6775 6167 650a 0a33 2e34 2047 language..3.4 G\n+00011f90: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen\n+00011fa0: 740a 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d t.==============\n+00011fb0: 3d3d 3d3d 3d3d 3d3d 0a0a 416e 206f 7074 ========..An opt\n+00011fc0: 696f 6e61 6c20 676c 6f62 616c 2065 6e76 ional global env\n+00011fd0: 6972 6f6e 6d65 6e74 2062 6c6f 636b 2070 ironment block p\n+00011fe0: 726f 7669 6465 7320 6120 6665 7720 7761 rovides a few wa\n+00011ff0: 7973 2074 6f20 6166 6665 6374 2074 6865 ys to affect the\n+00012000: 0a65 6e74 6972 6520 7363 656e 652e 2020 .entire scene. \n+00012010: 5468 6520 626c 6f63 6b20 6d75 7374 2061 The block must a\n+00012020: 7070 6561 7220 6173 2074 6865 206c 6173 ppear as the las\n+00012030: 7420 7465 7874 2069 6e20 7468 6520 e280 t text in the ..\n+00012040: 9873 6b65 7463 68e2 8099 0a69 6e70 7574 .sketch....input\n+00012050: 2066 696c 652e 2020 4974 206d 6179 2069 file. It may i\n+00012060: 6e63 6c75 6465 2064 6566 696e 6974 696f nclude definitio\n+00012070: 6e73 2c20 6275 7420 6e6f 7465 2074 6861 ns, but note tha\n+00012080: 7420 7072 6576 696f 7573 0a64 6566 696e t previous.defin\n+00012090: 6974 696f 6e73 2061 7420 7468 6520 746f itions at the to\n+000120a0: 7020 6c65 7665 6c20 286e 6f74 206e 6573 p level (not nes\n+000120b0: 7465 6420 696e 7369 6465 2062 6c6f 636b ted inside block\n+000120c0: 7329 2061 7265 2061 6c73 6f0a 6176 6169 s) are also.avai\n+000120d0: 6c61 626c 652e 0a0a 2a53 796e 7461 783a lable...*Syntax:\n+000120e0: 2a0a 2020 2020 2067 6c6f 6261 6c20 7b20 *. global { \n+000120f0: 454e 5649 524f 4e4d 454e 545f 5345 5454 ENVIRONMENT_SETT\n+00012100: 494e 4753 207d 0a54 6865 2063 6f6e 7465 INGS }.The conte\n+00012110: 6e74 7320 6f66 2045 4e56 4952 4f4e 4d45 nts of ENVIRONME\n+00012120: 4e54 5f53 4554 5449 4e47 5320 6172 6520 NT_SETTINGS are \n+00012130: 6469 7363 7573 7365 6420 696e 2074 6865 discussed in the\n+00012140: 2073 6563 7469 6f6e 7320 7468 6174 0a66 sections that.f\n+00012150: 6f6c 6c6f 772e 0a0a 2a20 4d65 6e75 3a0a ollow...* Menu:.\n+00012160: 0a2a 2047 6c6f 6261 6c20 6f70 7469 6f6e .* Global option\n+00012170: 733a 3a20 2020 2020 2020 2020 2020 2020 s:: \n+00012180: 2041 7474 7269 6275 7465 7320 6f66 2074 Attributes of t\n+00012190: 6865 2065 6e74 6972 6520 6472 6177 696e he entire drawin\n+000121a0: 672e 0a2a 2043 616d 6572 613a 3a20 2020 g..* Camera:: \n+000121b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000121c0: 2020 2041 2066 696e 616c 2063 616d 6572 A final camer\n+000121d0: 6120 7472 616e 7366 6f72 6d61 7469 6f6e a transformation\n+000121e0: 206f 6620 7468 6520 7363 656e 652e 0a2a of the scene..*\n+000121f0: 2050 6963 7475 7265 2062 6f78 3a3a 2020 Picture box:: \n+00012200: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00012210: 6574 7469 6e67 2074 6865 2062 6f75 6e64 etting the bound\n+00012220: 696e 6720 626f 7820 616e 6420 3264 2063 ing box and 2d c\n+00012230: 6c69 7070 696e 672e 0a2a 2046 7261 6d65 lipping..* Frame\n+00012240: 3a3a 2020 2020 2020 2020 2020 2020 2020 :: \n+00012250: 2020 2020 2020 2020 2041 6464 696e 6720 Adding \n+00012260: 6120 626f 7820 6172 6f75 6e64 2074 6865 a box around the\n+00012270: 2064 7261 7769 6e67 2e0a 2a20 4c61 6e67 drawing..* Lang\n+00012280: 7561 6765 3a3a 2020 2020 2020 2020 2020 uage:: \n+00012290: 2020 2020 2020 2020 2020 5365 7474 696e Settin\n+000122a0: 6720 7468 6520 6f75 7470 7574 206c 616e g the output lan\n+000122b0: 6775 6167 652e 0a0a 1f0a 4669 6c65 3a20 guage.....File: \n+000122c0: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n+000122d0: 6465 3a20 476c 6f62 616c 206f 7074 696f de: Global optio\n+000122e0: 6e73 2c20 204e 6578 743a 2043 616d 6572 ns, Next: Camer\n+000122f0: 612c 2020 5072 6576 3a20 476c 6f62 616c a, Prev: Global\n+00012300: 2065 6e76 6972 6f6e 6d65 6e74 2c20 2055 environment, U\n+00012310: 703a 2047 6c6f 6261 6c20 656e 7669 726f p: Global enviro\n+00012320: 6e6d 656e 740a 0a33 2e34 2e31 2047 6c6f nment..3.4.1 Glo\n+00012330: 6261 6c20 6f70 7469 6f6e 730a 2d2d 2d2d bal options.----\n+00012340: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00012350: 0a0a 2a53 796e 7461 783a 2a0a 2020 2020 ..*Syntax:*. \n+00012360: 2073 6574 205b 204f 5054 494f 4e53 205d set [ OPTIONS ]\n+00012370: 0a54 6865 2063 6f6e 7465 6e74 7320 6f66 .The contents of\n+00012380: 204f 5054 494f 4e53 2c20 6578 6365 7074 OPTIONS, except\n+00012390: 2066 6f72 20e2 8098 736b 6574 6368 e280 for ...sketch..\n+000123a0: 9920 696e 7465 726e 616c 206f 7074 696f . internal optio\n+000123b0: 6e73 2c20 6172 650a 636f 7069 6564 2061 ns, are.copied a\n+000123c0: 732d 6973 2074 6f20 6120 5c70 7373 6574 s-is to a \\psset\n+000123d0: 2074 6861 7420 6170 7065 6172 7320 6265 that appears be\n+000123e0: 666f 7265 2061 6e79 7468 696e 6720 656c fore anything el\n+000123f0: 7365 2069 6e20 7468 6520 6f75 7470 7574 se in the output\n+00012400: 0a66 696c 652e 2020 5468 6973 2069 7320 .file. This is \n+00012410: 6120 676f 6f64 2070 6c61 6365 2074 6f20 a good place to \n+00012420: 7365 7420 e280 9875 6e69 74e2 8099 2c20 set ...unit..., \n+00012430: 6120 6465 6661 756c 7420 e280 986c 696e a default ...lin\n+00012440: 6577 6964 7468 e280 992c 2065 7463 2e0a ewidth..., etc..\n+00012450: 0a20 2020 496e 7465 726e 616c 206f 7074 . Internal opt\n+00012460: 696f 6e73 2077 6f72 6b20 6f6e 2061 6c6c ions work on all\n+00012470: 206f 626a 6563 7473 2077 6865 7265 2074 objects where t\n+00012480: 6865 7920 6d61 6b65 2073 656e 7365 2e20 hey make sense. \n+00012490: 2054 6869 730a 696e 636c 7564 6573 20e2 This.includes .\n+000124a0: 8098 6375 6c6c e280 9920 616e 6420 e280 ..cull... and ..\n+000124b0: 9873 706c 6974 e280 9920 2862 7574 206e .split... (but n\n+000124c0: 6f74 20e2 8098 6c61 79e2 8099 292e 2020 ot ...lay...). \n+000124d0: 2a4e 6f74 6520 496e 7465 726e 616c 206f *Note Internal o\n+000124e0: 7074 696f 6e73 3a3a 2e0a 0a1f 0a46 696c ptions::.....Fil\n+000124f0: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n+00012500: 204e 6f64 653a 2043 616d 6572 612c 2020 Node: Camera, \n+00012510: 4e65 7874 3a20 5069 6374 7572 6520 626f Next: Picture bo\n+00012520: 782c 2020 5072 6576 3a20 476c 6f62 616c x, Prev: Global\n+00012530: 206f 7074 696f 6e73 2c20 2055 703a 2047 options, Up: G\n+00012540: 6c6f 6261 6c20 656e 7669 726f 6e6d 656e lobal environmen\n+00012550: 740a 0a33 2e34 2e32 2043 616d 6572 610a t..3.4.2 Camera.\n+00012560: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 ------------..*S\n+00012570: 796e 7461 783a 2a0a 2020 2020 2063 616d yntax:*. cam\n+00012580: 6572 6120 5452 414e 5346 4f52 4d5f 4558 era TRANSFORM_EX\n+00012590: 5052 4553 5349 4f4e 0a20 2020 5468 6520 PRESSION. The \n+000125a0: 5452 414e 5346 4f52 4d5f 4558 5052 4553 TRANSFORM_EXPRES\n+000125b0: 5349 4f4e 2069 7320 6170 706c 6965 6420 SION is applied \n+000125c0: 6166 7465 7220 616c 6c20 6f74 6865 7220 after all other \n+000125d0: 7472 616e 7366 6f72 6d61 7469 6f6e 730a transformations.\n+000125e0: 6f66 2074 6865 2073 6365 6e65 2e20 2054 of the scene. T\n+000125f0: 6869 7320 6973 2063 7572 7265 6e74 6c79 his is currently\n+00012600: 206f 6e6c 7920 7573 6566 756c 2066 6f72 only useful for\n+00012610: 2074 7261 6e73 666f 726d 696e 6720 7468 transforming th\n+00012620: 650a 626f 756e 6469 6e67 2062 6f78 2e20 e.bounding box. \n+00012630: 202a 4e6f 7465 2050 6963 7475 7265 2062 *Note Picture b\n+00012640: 6f78 3a3a 2e20 2049 7420 7769 6c6c 2070 ox::. It will p\n+00012650: 6c61 7920 6120 726f 6c65 2069 6e20 616e lay a role in an\n+00012660: 7920 6675 7475 7265 0a69 6d70 6c65 6d65 y future.impleme\n+00012670: 6e74 6174 696f 6e20 6f66 2063 6c69 7070 ntation of clipp\n+00012680: 696e 672e 0a0a 1f0a 4669 6c65 3a20 736b ing.....File: sk\n+00012690: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+000126a0: 3a20 5069 6374 7572 6520 626f 782c 2020 : Picture box, \n+000126b0: 4e65 7874 3a20 4672 616d 652c 2020 5072 Next: Frame, Pr\n+000126c0: 6576 3a20 4361 6d65 7261 2c20 2055 703a ev: Camera, Up:\n+000126d0: 2047 6c6f 6261 6c20 656e 7669 726f 6e6d Global environm\n+000126e0: 656e 740a 0a33 2e34 2e33 2050 6963 7475 ent..3.4.3 Pictu\n+000126f0: 7265 2062 6f78 0a2d 2d2d 2d2d 2d2d 2d2d re box.---------\n+00012700: 2d2d 2d2d 2d2d 2d2d 0a0a 2a53 796e 7461 --------..*Synta\n+00012710: 783a 2a0a 2020 2020 2070 6963 7475 7265 x:*. picture\n+00012720: 626f 785b 4241 5345 4c49 4e45 5d0a 2020 box[BASELINE]. \n+00012730: 2020 2070 6963 7475 7265 626f 785b 4241 picturebox[BA\n+00012740: 5345 4c49 4e45 5d20 2850 3129 2850 3229 SELINE] (P1)(P2)\n+00012750: 0a54 6865 2066 6972 7374 2066 6f72 6d20 .The first form \n+00012760: 6f66 20e2 8098 7069 6374 7572 6562 6f78 of ...picturebox\n+00012770: e280 9920 6361 7573 6573 2061 2073 6361 ... causes a sca\n+00012780: 6c61 7220 4241 5345 4c49 4e45 2066 7261 lar BASELINE fra\n+00012790: 6374 696f 6e20 746f 2062 650a 656d 6974 ction to be.emit\n+000127a0: 7465 6420 696e 2074 6865 20e2 8098 7073 ted in the ...ps\n+000127b0: 7069 6374 7572 65e2 8099 2065 6e76 6972 picture... envir\n+000127c0: 6f6e 6d65 6e74 206f 6620 7468 6520 6f75 onment of the ou\n+000127d0: 7470 7574 2e20 2053 6565 20e2 8098 5053 tput. See ...PS\n+000127e0: 5472 6963 6b73 e280 990a 646f 6375 6d65 Tricks....docume\n+000127f0: 6e74 6174 696f 6e20 666f 7220 e280 9870 ntation for ...p\n+00012800: 7370 6963 7475 7265 e280 992e 0a0a 2020 spicture...... \n+00012810: 2049 6e20 7468 6520 7365 636f 6e64 2066 In the second f\n+00012820: 6f72 6d2c 2074 6865 2042 4153 454c 494e orm, the BASELIN\n+00012830: 4520 6672 6163 7469 6f6e 2069 7320 6f70 E fraction is op\n+00012840: 7469 6f6e 616c 2c20 616e 6420 7468 6520 tional, and the \n+00012850: 7477 6f0a 706f 696e 7473 2074 6861 7420 two.points that \n+00012860: 666f 6c6c 6f77 2064 6566 696e 6520 7468 follow define th\n+00012870: 6520 6469 6167 6f6e 616c 206f 6620 6120 e diagonal of a \n+00012880: 7468 7265 652d 6469 6d65 6e73 696f 6e61 three-dimensiona\n+00012890: 6c20 626f 756e 6469 6e67 0a62 6f78 2066 l bounding.box f\n+000128a0: 6f72 2074 6865 2063 6f6d 706c 6574 6564 or the completed\n+000128b0: 2073 6365 6e65 2e20 2054 6865 2070 6172 scene. The par\n+000128c0: 616c 6c65 6c20 7072 6f6a 6563 7469 6f6e allel projection\n+000128d0: 206f 6620 7468 6520 626f 756e 6469 6e67 of the bounding\n+000128e0: 0a62 6f78 2064 6574 6572 6d69 6e65 7320 .box determines \n+000128f0: 7468 6520 636f 726e 6572 7320 6f66 2074 the corners of t\n+00012900: 6865 2064 7261 7769 6e67 2773 20e2 8098 he drawing's ...\n+00012910: 7073 7069 6374 7572 652a e280 9920 656e pspicture*... en\n+00012920: 7669 726f 6e6d 656e 742c 0a77 6869 6368 vironment,.which\n+00012930: 2069 7320 7573 6564 2069 6e20 706c 6163 is used in plac\n+00012940: 6520 6f66 20e2 8098 7073 7069 6374 7572 e of ...pspictur\n+00012950: 65e2 8099 2e20 2054 6869 7320 6361 7573 e.... This caus\n+00012960: 6573 2050 6f73 7453 6372 6970 7420 746f es PostScript to\n+00012970: 2063 6c69 700a 7468 6520 6669 6e61 6c20 clip.the final \n+00012980: 6472 6177 696e 6720 746f 2074 6865 2062 drawing to the b\n+00012990: 6f75 6e64 696e 6720 626f 7820 696e 2032 ounding box in 2\n+000129a0: 642e 2020 4966 2074 6865 7265 2069 7320 d. If there is \n+000129b0: 6120 e280 9863 616d 6572 61e2 8099 0a73 a ...camera....s\n+000129c0: 7065 6369 6669 6564 2c20 7468 6520 6361 pecified, the ca\n+000129d0: 6d65 7261 2074 7261 6e66 6f72 6d61 7469 mera tranformati\n+000129e0: 6f6e 2069 7320 6170 706c 6965 6420 746f on is applied to\n+000129f0: 2074 6865 2062 6f75 6e64 696e 6720 626f the bounding bo\n+00012a00: 782c 2061 6e64 0a74 6865 20e2 8098 7073 x, and.the ...ps\n+00012a10: 7069 6374 7572 65e2 8099 2069 7320 7365 picture... is se\n+00012a20: 7420 6a75 7374 206c 6172 6765 2065 6e6f t just large eno\n+00012a30: 7567 6820 746f 2069 6e63 6c75 6465 2074 ugh to include t\n+00012a40: 6865 2074 7261 6e73 666f 726d 6564 2062 he transformed b\n+00012a50: 6f78 2e0a 0a20 2020 5768 656e 206e 6f20 ox... When no \n+00012a60: 626f 756e 6469 6e67 2062 6f78 2069 7320 bounding box is \n+00012a70: 6769 7665 6e2c 20e2 8098 736b 6574 6368 given, ...sketch\n+00012a80: e280 9920 636f 6d70 7574 6573 206f 6e65 ... computes one\n+00012a90: 2061 7574 6f6d 6174 6963 616c 6c79 2e0a automatically..\n+00012aa0: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+00012ab0: 696e 666f 2c20 204e 6f64 653a 2046 7261 info, Node: Fra\n+00012ac0: 6d65 2c20 204e 6578 743a 204c 616e 6775 me, Next: Langu\n+00012ad0: 6167 652c 2020 5072 6576 3a20 5069 6374 age, Prev: Pict\n+00012ae0: 7572 6520 626f 782c 2020 5570 3a20 476c ure box, Up: Gl\n+00012af0: 6f62 616c 2065 6e76 6972 6f6e 6d65 6e74 obal environment\n+00012b00: 0a0a 332e 342e 3420 4672 616d 650a 2d2d ..3.4.4 Frame.--\n+00012b10: 2d2d 2d2d 2d2d 2d2d 2d0a 0a2a 5379 6e74 ---------..*Synt\n+00012b20: 6178 3a2a 0a20 2020 2020 6672 616d 6520 ax:*. frame \n+00012b30: 5b4f 5054 494f 4e53 5d0a 4361 7573 6573 [OPTIONS].Causes\n+00012b40: 2061 205c 7073 6672 616d 6562 6f78 2074 a \\psframebox t\n+00012b50: 6f20 7375 7272 6f75 6e64 2074 6865 20e2 o surround the .\n+00012b60: 8098 7073 7069 6374 7572 65e2 8099 2065 ..pspicture... e\n+00012b70: 6e76 6972 6f6e 6d65 6e74 2069 6e20 7468 nvironment in th\n+00012b80: 650a 6f75 7470 7574 2e20 2049 6620 4f50 e.output. If OP\n+00012b90: 5449 4f4e 5320 6172 6520 7072 6573 656e TIONS are presen\n+00012ba0: 742c 2074 6865 7920 6172 6520 636f 7069 t, they are copi\n+00012bb0: 6564 2061 732d 6973 2e20 204e 6f72 6d61 ed as-is. Norma\n+00012bc0: 6c6c 7920 6f6e 650a 776f 756c 6420 7761 lly one.would wa\n+00012bd0: 6e74 2074 6f20 7365 7420 e280 986c 696e nt to set ...lin\n+00012be0: 6577 6964 7468 e280 992c 20e2 8098 6c69 ewidth..., ...li\n+00012bf0: 6e65 7374 796c 65e2 8099 2c20 e280 986c nestyle..., ...l\n+00012c00: 696e 6563 6f6c 6f72 e280 992c 2065 7463 inecolor..., etc\n+00012c10: 2e20 2049 660a 6f6d 6974 7465 642c 2074 . If.omitted, t\n+00012c20: 6865 6e20 e280 9866 7261 6d65 7365 703d hen ...framesep=\n+00012c30: 3070 74e2 8099 2069 7320 6164 6465 6420 0pt... is added \n+00012c40: 736f 2074 6861 7420 7468 6520 6672 616d so that the fram\n+00012c50: 6520 7469 6768 746c 7920 6875 6773 2074 e tightly hugs t\n+00012c60: 6865 0ae2 8098 7073 7069 6374 7572 65e2 he....pspicture.\n+00012c70: 8099 2e0a 0a1f 0a46 696c 653a 2073 6b65 .......File: ske\n+00012c80: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+00012c90: 204c 616e 6775 6167 652c 2020 5072 6576 Language, Prev\n+00012ca0: 3a20 4672 616d 652c 2020 5570 3a20 476c : Frame, Up: Gl\n+00012cb0: 6f62 616c 2065 6e76 6972 6f6e 6d65 6e74 obal environment\n+00012cc0: 0a0a 332e 342e 3520 4c61 6e67 7561 6765 ..3.4.5 Language\n+00012cd0: 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d0a .--------------.\n+00012ce0: 0a20 2020 2020 6c61 6e67 7561 6765 2074 . language t\n+00012cf0: 696b 7a0a 2020 2020 206c 616e 6775 6167 ikz. languag\n+00012d00: 6520 7469 6b7a 2c20 636f 6e74 6578 740a e tikz, context.\n+00012d10: 2020 2020 206c 616e 6775 6167 6520 7073 language ps\n+00012d20: 7472 6963 6b73 0a20 2020 2020 6c61 6e67 tricks. lang\n+00012d30: 7561 6765 2070 7374 7269 636b 732c 206c uage pstricks, l\n+00012d40: 6174 6578 0a53 6574 7320 7468 6520 6f75 atex.Sets the ou\n+00012d50: 7470 7574 206c 616e 6775 6167 6520 6765 tput language ge\n+00012d60: 6e65 7261 7465 6420 6279 20e2 8098 736b nerated by ...sk\n+00012d70: 6574 6368 e280 992e 2020 5468 6520 7365 etch.... The se\n+00012d80: 7420 6f66 206f 7074 696f 6e73 0a75 6e64 t of options.und\n+00012d90: 6572 7374 6f6f 6420 6279 2073 6b65 7463 erstood by sketc\n+00012da0: 6820 616c 736f 2063 6861 6e67 6573 2e20 h also changes. \n+00012db0: 2046 6f72 2065 7861 6d70 6c65 2c20 7468 For example, th\n+00012dc0: 6520 e280 9850 5354 7269 636b 73e2 8099 e ...PSTricks...\n+00012dd0: 206f 7074 696f 6e0a e280 986c 696e 6577 option....linew\n+00012de0: 6964 7468 e280 9920 7769 6c6c 206e 6f74 idth... will not\n+00012df0: 2062 6520 7072 6f70 6572 6c79 2068 616e be properly han\n+00012e00: 646c 6564 2069 6620 e280 986c 616e 6775 dled if ...langu\n+00012e10: 6167 65e2 8099 2069 7320 7365 7420 746f age... is set to\n+00012e20: 20e2 8098 7469 6b7a e280 992e 0a53 696d ...tikz.....Sim\n+00012e30: 696c 6172 6c79 2c20 7468 6520 e280 9854 ilarly, the ...T\n+00012e40: 696b 5ae2 8099 206f 7074 696f 6e20 e280 ikZ... option ..\n+00012e50: 986c 696e 6520 7374 796c 65e2 8099 2028 .line style... (\n+00012e60: 6e6f 7465 2074 6865 2073 7061 6365 2920 note the space) \n+00012e70: 7769 6c6c 206e 6f74 2062 650a 7072 6f70 will not be.prop\n+00012e80: 6572 6c79 2068 616e 646c 6564 2069 6620 erly handled if \n+00012e90: e280 986c 616e 6775 6167 65e2 8099 2069 ...language... i\n+00012ea0: 7320 7365 7420 746f 20e2 8098 7073 7472 s set to ...pstr\n+00012eb0: 6963 6b73 e280 992e 2020 4966 206e 6f20 icks.... If no \n+00012ec0: 6c61 6e67 7561 6765 2069 730a 7370 6563 language is.spec\n+00012ed0: 6966 6965 642c 2074 6865 2064 6566 6175 ified, the defau\n+00012ee0: 6c74 20e2 8098 7073 7472 6963 6b73 e280 lt ...pstricks..\n+00012ef0: 9920 6973 2075 7365 642e 0a0a 2020 2041 . is used... A\n+00012f00: 6e20 6f70 7469 6f6e 616c 2063 6f6d 6d61 n optional comma\n+00012f10: 2066 6f6c 6c6f 7765 6420 6279 20e2 8098 followed by ...\n+00012f20: 6c61 7465 78e2 8099 206f 7220 e280 9863 latex... or ...c\n+00012f30: 6f6e 7465 7874 e280 9920 7370 6563 6966 ontext... specif\n+00012f40: 6965 7320 7468 650a 6d61 6372 6f20 7061 ies the.macro pa\n+00012f50: 636b 6167 6520 7468 6174 2074 6865 206f ckage that the o\n+00012f60: 7574 7075 7420 7368 6f75 6c64 2061 7373 utput should ass\n+00012f70: 756d 652e 2020 5468 6973 2061 6666 6563 ume. This affec\n+00012f80: 7473 2074 6865 20e2 8098 7069 6374 7572 ts the ...pictur\n+00012f90: 65e2 8099 0a65 6e76 6972 6f6e 6d65 6e74 e....environment\n+00012fa0: 2063 6f6d 6d61 6e64 7320 656d 6974 7465 commands emitte\n+00012fb0: 6420 616e 6420 7468 6520 646f 6375 6d65 d and the docume\n+00012fc0: 6e74 2074 656d 706c 6174 6520 7573 6564 nt template used\n+00012fd0: 2077 6974 6820 7468 650a e280 982d 54e2 with the....-T.\n+00012fe0: 8099 206f 7074 696f 6e2e 2020 2a4e 6f74 .. option. *Not\n+00012ff0: 6520 436f 6d6d 616e 6420 6c69 6e65 3a3a e Command line::\n+00013000: 2e20 204e 6f74 6520 7468 6174 2061 7420 . Note that at \n+00013010: 7468 6520 7469 6d65 2074 6869 7320 6d61 the time this ma\n+00013020: 6e75 616c 0a77 6173 2067 656e 6572 6174 nual.was generat\n+00013030: 6564 2c20 e280 9850 5354 7269 636b 73e2 ed, ...PSTricks.\n+00013040: 8099 2077 6173 206e 6f74 2073 7570 706f .. was not suppo\n+00013050: 7274 6564 2062 7920 4c61 5465 5820 6f72 rted by LaTeX or\n+00013060: 2062 7920 e280 9843 6f6e 5465 5874 e280 by ...ConTeXt..\n+00013070: 992e 0a0a 1f0a 4669 6c65 3a20 736b 6574 ......File: sket\n+00013080: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n+00013090: 4275 696c 6469 6e67 2061 2064 7261 7769 Building a drawi\n+000130a0: 6e67 2c20 204e 6578 743a 2043 6f6d 6d61 ng, Next: Comma\n+000130b0: 6e64 206c 696e 652c 2020 5072 6576 3a20 nd line, Prev: \n+000130c0: 496e 7075 7420 6c61 6e67 7561 6765 2c20 Input language, \n+000130d0: 2055 703a 2054 6f70 0a0a 3420 4275 696c Up: Top..4 Buil\n+000130e0: 6469 6e67 2061 2064 7261 7769 6e67 0a2a ding a drawing.*\n+000130f0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+00013100: 2a2a 2a0a 0a53 7563 6365 7373 6675 6c20 ***..Successful \n+00013110: 6472 6177 696e 6773 2077 6974 6820 e280 drawings with ..\n+00013120: 9873 6b65 7463 68e2 8099 2061 6e64 2077 .sketch... and w\n+00013130: 6974 6820 616e 7920 7363 656e 6520 6465 ith any scene de\n+00013140: 7363 7269 7074 696f 6e0a 6c61 6e67 7561 scription.langua\n+00013150: 6765 2072 6571 7569 7265 2074 6861 7420 ge require that \n+00013160: 7468 6520 7573 6572 2064 6576 656c 6f70 the user develop\n+00013170: 2061 6e20 6163 6375 7261 7465 206d 656e an accurate men\n+00013180: 7461 6c20 7069 6374 7572 6520 6f66 2068 tal picture of h\n+00013190: 6572 0a63 6f64 6520 616e 6420 6974 7320 er.code and its \n+000131a0: 6d65 616e 696e 672e 2020 5468 6973 2069 meaning. This i\n+000131b0: 6d61 6765 2069 7320 6265 7374 2062 7569 mage is best bui\n+000131c0: 6c74 2069 6e20 736d 616c 6c20 7069 6563 lt in small piec\n+000131d0: 6573 2e0a 5468 6572 6566 6f72 652c 20e2 es..Therefore, .\n+000131e0: 8098 736b 6574 6368 e280 9920 696e 7075 ..sketch... inpu\n+000131f0: 7473 2061 7265 2062 6573 7420 6372 6561 ts are best crea\n+00013200: 7465 6420 696e 2073 6d61 6c6c 2069 6e63 ted in small inc\n+00013210: 7265 6d65 6e74 7320 7769 7468 0a66 7265 rements with.fre\n+00013220: 7175 656e 7420 7061 7573 6573 2074 6f20 quent pauses to \n+00013230: 636f 6d70 696c 6520 616e 6420 7669 6577 compile and view\n+00013240: 2074 6865 2072 6573 756c 7473 2e20 2043 the results. C\n+00013250: 6172 6566 756c 2063 6f6d 6d65 6e74 7320 areful comments \n+00013260: 696e 0a74 6865 2069 6e70 7574 206f 6674 in.the input oft\n+00013270: 656e 2068 656c 7020 6173 2061 2073 6365 en help as a sce\n+00013280: 6e65 2067 726f 7773 2069 6e20 636f 6d70 ne grows in comp\n+00013290: 6c65 7869 7479 2e0a 0a2a 204d 656e 753a lexity...* Menu:\n+000132a0: 0a0a 2a20 4f76 6572 7669 6577 3a3a 2020 ..* Overview:: \n+000132b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000132c0: 2020 4275 696c 6469 6e67 2061 2073 7562 Building a sub\n+000132d0: 7374 616e 7469 616c 2064 7261 7769 6e67 stantial drawing\n+000132e0: 2e0a 2a20 4120 7465 6368 6e69 6361 6c20 ..* A technical \n+000132f0: 6472 6177 696e 673a 3a20 2020 2020 2020 drawing:: \n+00013300: 2020 416e 2065 7861 6d70 6c65 2077 6974 An example wit\n+00013310: 6820 6669 6e65 2070 6c61 6365 6d65 6e74 h fine placement\n+00013320: 2e0a 2a20 4120 6869 6572 6172 6368 6963 ..* A hierarchic\n+00013330: 616c 206d 6f64 656c 3a3a 2020 2020 2020 al model:: \n+00013340: 2020 416e 2065 7861 6d70 6c65 2077 6974 An example wit\n+00013350: 6820 7377 6565 7073 2061 6e64 2070 7574 h sweeps and put\n+00013360: 732e 0a2a 2043 6176 6561 7473 3a3a 2020 s..* Caveats:: \n+00013370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00013380: 2020 2057 6865 7265 2074 726f 7562 6c65 Where trouble\n+00013390: 2063 616e 206f 6363 7572 2e0a 0a1f 0a46 can occur.....F\n+000133a0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+000133b0: 2c20 204e 6f64 653a 204f 7665 7276 6965 , Node: Overvie\n+000133c0: 772c 2020 4e65 7874 3a20 4120 7465 6368 w, Next: A tech\n+000133d0: 6e69 6361 6c20 6472 6177 696e 672c 2020 nical drawing, \n+000133e0: 5072 6576 3a20 4275 696c 6469 6e67 2061 Prev: Building a\n+000133f0: 2064 7261 7769 6e67 2c20 2055 703a 2042 drawing, Up: B\n+00013400: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin\n+00013410: 670a 0a34 2e31 204f 7665 7276 6965 770a g..4.1 Overview.\n+00013420: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 0a0a 4173 ============..As\n+00013430: 2061 6e20 6f76 6572 7669 6577 2c20 6c65 an overview, le\n+00013440: 7427 7320 6465 7665 6c6f 7020 6120 6469 t's develop a di\n+00013450: 6167 7261 6d20 7468 6174 2073 686f 7773 agram that shows\n+00013460: 2068 6f77 2061 2070 6572 7370 6563 7469 how a perspecti\n+00013470: 7665 0a70 726f 6a65 6374 696f 6e20 7472 ve.projection tr\n+00013480: 616e 7366 6f72 6d20 776f 726b 732e 2020 ansform works. \n+00013490: 5765 276c 6c20 7374 6172 7420 7769 7468 We'll start with\n+000134a0: 2074 6865 2074 7261 6469 7469 6f6e 616c the traditional\n+000134b0: 2072 6566 6572 656e 6365 0a6f 626a 6563 reference.objec\n+000134c0: 7420 7573 6564 2069 6e20 636f 6d70 7574 t used in comput\n+000134d0: 6572 2067 7261 7068 6963 7320 7465 7874 er graphics text\n+000134e0: 626f 6f6b 732c 2061 2068 6f75 7365 2d73 books, a house-s\n+000134f0: 6861 7065 6420 7072 6973 6d2e 2020 4265 haped prism. Be\n+00013500: 6769 6e0a 6279 2064 6566 696e 696e 6720 gin.by defining \n+00013510: 7468 6520 706f 696e 7473 206f 6620 7468 the points of th\n+00013520: 6520 686f 7573 652e 2020 5261 7468 6572 e house. Rather\n+00013530: 2074 6861 6e20 6465 6669 6e69 6e67 2074 than defining t\n+00013540: 6865 2066 6163 6573 206f 660a 7468 6520 he faces of.the \n+00013550: 686f 7573 6520 6173 2070 6f6c 7967 6f6e house as polygon\n+00013560: 7320 616e 6420 7472 616e 7366 6f72 6d69 s and transformi\n+00013570: 6e67 2074 686f 7365 2c20 7765 2061 7265 ng those, we are\n+00013580: 2067 6f69 6e67 2074 6f20 7472 616e 7366 going to transf\n+00013590: 6f72 6d0a 7468 6520 706f 696e 7473 2074 orm.the points t\n+000135a0: 6865 6d73 656c 7665 7320 7769 7468 20e2 hemselves with .\n+000135b0: 8098 736b 6574 6368 e280 9920 6172 6974 ..sketch... arit\n+000135c0: 686d 6574 6963 2073 6f20 7468 6174 2077 hmetic so that w\n+000135d0: 6520 6861 7665 206e 616d 6573 2066 6f72 e have names for\n+000135e0: 0a74 6865 2074 7261 6e73 666f 726d 6564 .the transformed\n+000135f0: 2070 6f69 6e74 7320 6c61 7465 722e 0a20 points later.. \n+00013600: 2025 2072 6967 6874 2073 6964 6520 286f % right side (o\n+00013610: 7574 7369 6465 2074 6f20 7269 6768 7429 utside to right)\n+00013620: 0a20 2064 6566 2052 3120 2831 2c31 2c31 . def R1 (1,1,1\n+00013630: 2920 6465 6620 5232 2028 312c 2d31 2c31 ) def R2 (1,-1,1\n+00013640: 2920 6465 6620 5233 2028 312c 2d31 2c2d ) def R3 (1,-1,-\n+00013650: 3129 2064 6566 2052 3420 2831 2c31 2c2d 1) def R4 (1,1,-\n+00013660: 3129 0a20 2064 6566 2052 3520 2831 2c31 1). def R5 (1,1\n+00013670: 2e35 2c30 290a 0a20 2025 206c 6566 7420 .5,0).. % left \n+00013680: 7369 6465 2028 6f75 7473 6964 6520 746f side (outside to\n+00013690: 2072 6967 6874 2d2d 6261 636b 7761 7264 right--backward\n+000136a0: 290a 2020 6465 6620 5720 205b 322c 302c ). def W [2,0,\n+000136b0: 305d 0a20 2064 6566 204c 3120 2852 3129 0]. def L1 (R1)\n+000136c0: 2d5b 575d 2064 6566 204c 3220 2852 3229 -[W] def L2 (R2)\n+000136d0: 2d5b 575d 2064 6566 204c 3320 2852 3329 -[W] def L3 (R3)\n+000136e0: 2d5b 575d 2064 6566 204c 3420 2852 3429 -[W] def L4 (R4)\n+000136f0: 2d5b 575d 0a20 2064 6566 204c 3520 2852 -[W]. def L5 (R\n+00013700: 3529 2d5b 575d 0a54 6f20 6164 6420 6120 5)-[W].To add a \n+00013710: 646f 6f72 2074 6f20 7468 6520 686f 7573 door to the hous\n+00013720: 652c 2077 6520 7573 6520 6120 706f 6c79 e, we use a poly\n+00013730: 676f 6e20 736c 6967 6874 6c79 2069 6e20 gon slightly in \n+00013740: 6672 6f6e 7420 6f66 2074 6865 0a66 6f72 front of the.for\n+00013750: 656d 6f73 7420 6661 6365 206f 6620 7468 emost face of th\n+00013760: 6520 686f 7573 652e 0a20 2025 2064 6f6f e house.. % doo\n+00013770: 720a 2020 6465 6620 6520 2e30 310a 2020 r. def e .01. \n+00013780: 6465 6620 4431 2028 302c 2d31 2c31 2b65 def D1 (0,-1,1+e\n+00013790: 2920 6465 6620 4432 2028 2e35 2c2d 312c ) def D2 (.5,-1,\n+000137a0: 312b 6529 2064 6566 2044 3320 282e 352c 1+e) def D3 (.5,\n+000137b0: 302c 312b 6529 2064 6566 2044 3420 2830 0,1+e) def D4 (0\n+000137c0: 2c30 2c31 2b65 290a 4e6f 7720 6c65 7427 ,0,1+e).Now let'\n+000137d0: 7320 6372 6561 7465 2061 206e 6577 2073 s create a new s\n+000137e0: 6574 206f 6620 706f 696e 7473 2074 6861 et of points tha\n+000137f0: 7420 6172 6520 6120 746f 2d62 652d 6465 t are a to-be-de\n+00013800: 7465 726d 696e 6564 0a74 7261 6e73 666f termined.transfo\n+00013810: 726d 206f 6620 7468 6520 6f72 6967 696e rm of the origin\n+00013820: 616c 732e 0a20 2064 6566 2068 7020 7363 als.. def hp sc\n+00013830: 616c 6528 3129 2025 2068 6f75 7365 2070 ale(1) % house p\n+00013840: 6f73 6974 696f 6e65 720a 2020 6465 6620 ositioner. def \n+00013850: 7052 3120 5b5b 6870 5d5d 2a28 5231 2920 pR1 [[hp]]*(R1) \n+00013860: 6465 6620 7052 3220 5b5b 6870 5d5d 2a28 def pR2 [[hp]]*(\n+00013870: 5232 2920 6465 6620 7052 3320 5b5b 6870 R2) def pR3 [[hp\n+00013880: 5d5d 2a28 5233 290a 2020 6465 6620 7052 ]]*(R3). def pR\n+00013890: 3420 5b5b 6870 5d5d 2a28 5234 2920 6465 4 [[hp]]*(R4) de\n+000138a0: 6620 7052 3520 5b5b 6870 5d5d 2a28 5235 f pR5 [[hp]]*(R5\n+000138b0: 290a 2020 6465 6620 704c 3120 5b5b 6870 ). def pL1 [[hp\n+000138c0: 5d5d 2a28 4c31 2920 6465 6620 704c 3220 ]]*(L1) def pL2 \n+000138d0: 5b5b 6870 5d5d 2a28 4c32 2920 6465 6620 [[hp]]*(L2) def \n+000138e0: 704c 3320 5b5b 6870 5d5d 2a28 4c33 290a pL3 [[hp]]*(L3).\n+000138f0: 2020 6465 6620 704c 3420 5b5b 6870 5d5d def pL4 [[hp]]\n+00013900: 2a28 4c34 2920 6465 6620 704c 3520 5b5b *(L4) def pL5 [[\n+00013910: 6870 5d5d 2a28 4c35 290a 2020 6465 6620 hp]]*(L5). def \n+00013920: 7044 3120 5b5b 6870 5d5d 2a28 4431 2920 pD1 [[hp]]*(D1) \n+00013930: 6465 6620 7044 3220 5b5b 6870 5d5d 2a28 def pD2 [[hp]]*(\n+00013940: 4432 2920 6465 6620 7044 3320 5b5b 6870 D2) def pD3 [[hp\n+00013950: 5d5d 2a28 4433 290a 2020 6465 6620 7044 ]]*(D3). def pD\n+00013960: 3420 5b5b 6870 5d5d 2a28 4434 2920 0a4e 4 [[hp]]*(D4) .N\n+00013970: 6f74 6520 7468 6520 7573 6520 6f66 2061 ote the use of a\n+00013980: 20e2 809c 7472 616e 7366 6f72 6d20 6465 ...transform de\n+00013990: 6669 6e69 7469 6f6e e280 9d20 616e 6420 finition... and \n+000139a0: e280 9c74 7261 6e73 666f 726d 2072 6566 ...transform ref\n+000139b0: 6572 656e 6365 73e2 809d 2e0a 4e6f 7720 erences.....Now \n+000139c0: 6465 6669 6e65 2074 6865 2073 6576 656e define the seven\n+000139d0: 2070 6f6c 7967 6f6e 616c 2066 6163 6573 polygonal faces\n+000139e0: 206f 6620 7468 6520 686f 7573 6520 616e of the house an\n+000139f0: 6420 7468 6520 646f 6f72 2075 7369 6e67 d the door using\n+00013a00: 2074 6865 0a74 7261 6e73 666f 726d 6564 the.transformed\n+00013a10: 2070 6f69 6e74 7320 6173 2076 6572 7469 points as verti\n+00013a20: 6365 732e 2020 4265 2063 6172 6566 756c ces. Be careful\n+00013a30: 2077 6974 6820 7665 7274 6578 206f 7264 with vertex ord\n+00013a40: 6572 210a 2020 6465 6620 7267 7420 706f er!. def rgt po\n+00013a50: 6c79 676f 6e20 2870 5231 2928 7052 3229 lygon (pR1)(pR2)\n+00013a60: 2870 5233 2928 7052 3429 2870 5235 290a (pR3)(pR4)(pR5).\n+00013a70: 2020 6465 6620 6c66 7420 706f 6c79 676f def lft polygo\n+00013a80: 6e20 2870 4c35 2928 704c 3429 2870 4c33 n (pL5)(pL4)(pL3\n+00013a90: 2928 704c 3229 2870 4c31 290a 2020 6465 )(pL2)(pL1). de\n+00013aa0: 6620 6672 7420 706f 6c79 676f 6e20 2870 f frt polygon (p\n+00013ab0: 5232 2928 7052 3129 2870 4c31 2928 704c R2)(pR1)(pL1)(pL\n+00013ac0: 3229 0a20 2064 6566 2062 636b 2070 6f6c 2). def bck pol\n+00013ad0: 7967 6f6e 2028 7052 3429 2870 5233 2928 ygon (pR4)(pR3)(\n+00013ae0: 704c 3329 2870 4c34 290a 2020 6465 6620 pL3)(pL4). def \n+00013af0: 7466 7220 706f 6c79 676f 6e20 2870 5231 tfr polygon (pR1\n+00013b00: 2928 7052 3529 2870 4c35 2928 704c 3129 )(pR5)(pL5)(pL1)\n+00013b10: 0a20 2064 6566 2074 626b 2070 6f6c 7967 . def tbk polyg\n+00013b20: 6f6e 2028 7052 3529 2870 5234 2928 704c on (pR5)(pR4)(pL\n+00013b30: 3429 2870 4c35 290a 2020 6465 6620 626f 4)(pL5). def bo\n+00013b40: 7420 706f 6c79 676f 6e20 2870 5232 2928 t polygon (pR2)(\n+00013b50: 704c 3229 2870 4c33 2928 7052 3329 0a20 pL2)(pL3)(pR3). \n+00013b60: 2064 6566 2064 6f6f 7220 706f 6c79 676f def door polygo\n+00013b70: 6e5b 6669 6c6c 636f 6c6f 723d 6272 6f77 n[fillcolor=brow\n+00013b80: 6e5d 2028 7044 3129 2870 4432 2928 7044 n] (pD1)(pD2)(pD\n+00013b90: 3329 2870 4434 290a 2020 6465 6620 686f 3)(pD4). def ho\n+00013ba0: 7573 6520 7b20 7b72 6774 7d7b 6c66 747d use { {rgt}{lft}\n+00013bb0: 7b66 7274 7d7b 6263 6b7d 7b74 6672 7d7b {frt}{bck}{tfr}{\n+00013bc0: 7462 6b7d 7b62 6f74 7d7b 646f 6f72 7d20 tbk}{bot}{door} \n+00013bd0: 7d0a 2020 2054 696d 6520 666f 7220 6120 }. Time for a \n+00013be0: 7361 6e69 7479 2063 6865 636b 2e20 2041 sanity check. A\n+00013bf0: 6464 2074 6865 206c 696e 650a 2020 7b68 dd the line. {h\n+00013c00: 6f75 7365 7d0a 616e 6420 7468 6973 2069 ouse}.and this i\n+00013c10: 7320 7768 6174 2077 6520 6765 742e 0a0a s what we get...\n+00013c20: 0008 5b69 6d61 6765 2073 7263 3d22 6578 ..[image src=\"ex\n+00013c30: 3133 302e 706e 6722 2074 6578 743d 2249 130.png\" text=\"I\n+00013c40: 6d61 6765 2065 7831 3330 206f 6d69 7474 mage ex130 omitt\n+00013c50: 6564 2069 6e20 7465 7874 2076 6572 7369 ed in text versi\n+00013c60: 6f6e 206f 6620 7468 6973 2064 6f63 756d on of this docum\n+00013c70: 656e 742e 2200 085d 0a0a 5468 6973 2069 ent.\"..]..This i\n+00013c80: 7320 636f 7272 6563 742c 2062 7574 2064 s correct, but d\n+00013c90: 6f65 7320 6e6f 7420 7265 7665 616c 2076 oes not reveal v\n+00013ca0: 6572 7920 6d75 6368 2e20 2043 6f6d 6d6f ery much. Commo\n+00013cb0: 6e20 6572 726f 7273 2061 7265 0a6d 6973 n errors are.mis\n+00013cc0: 706c 6163 6564 2076 6572 7469 6365 7320 placed vertices \n+00013cd0: 616e 6420 706f 6c79 676f 6e73 206d 6973 and polygons mis\n+00013ce0: 7369 6e67 2065 6e74 6972 656c 7920 6475 sing entirely du\n+00013cf0: 6520 746f 2069 6e63 6f72 7265 6374 2076 e to incorrect v\n+00013d00: 6572 7465 780a 6f72 6465 722e 2020 546f ertex.order. To\n+00013d10: 2072 756c 6520 7468 6573 6520 6f75 742c rule these out,\n+00013d20: 206c 6574 2773 2069 6e73 7065 6374 2061 let's inspect a\n+00013d30: 6c6c 2073 6964 6573 206f 6620 7468 6520 ll sides of the \n+00013d40: 686f 7573 652e 2020 5468 6973 0a69 7320 house. This.is \n+00013d50: 6e6f 7420 6861 7264 2e20 204d 6572 656c not hard. Merel\n+00013d60: 7920 7265 706c 6163 6520 7468 6520 7265 y replace the re\n+00013d70: 6665 7265 6e63 6520 7b68 6f75 7365 7d20 ference {house} \n+00013d80: 7769 7468 2061 20e2 8098 7265 7065 6174 with a ...repeat\n+00013d90: e280 992e 0a2a 4e6f 7465 2052 6570 6561 .....*Note Repea\n+00013da0: 7473 3a3a 2e0a 2020 7265 7065 6174 207b ts::.. repeat {\n+00013db0: 2031 332c 2072 6f74 6174 6528 3330 2c20 13, rotate(30, \n+00013dc0: 5b31 2c32 2c33 5d29 2c20 7472 616e 736c [1,2,3]), transl\n+00013dd0: 6174 6528 5b33 2c30 2c30 5d29 207d 207b ate([3,0,0]) } {\n+00013de0: 686f 7573 657d 0a00 085b 696d 6167 6520 house}...[image \n+00013df0: 7372 633d 2265 7831 3430 2e70 6e67 2220 src=\"ex140.png\" \n+00013e00: 7465 7874 3d22 496d 6167 6520 6578 3134 text=\"Image ex14\n+00013e10: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex\n+00013e20: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi\n+00013e30: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document.\"..].\n+00013e40: 0a41 6761 696e 2074 6869 6e67 7320 6c6f .Again things lo\n+00013e50: 6f6b 2063 6f72 7265 6374 2e20 204e 6f74 ok correct. Not\n+00013e60: 6520 7468 6174 2074 6865 2068 6964 6465 e that the hidde\n+00013e70: 6e20 7375 7266 6163 6520 616c 676f 7269 n surface algori\n+00013e80: 7468 6d0a 6861 6e64 6c65 7320 696e 7465 thm.handles inte\n+00013e90: 7273 6563 7469 6e67 2070 6f6c 7967 6f6e rsecting polygon\n+00013ea0: 7320 636f 7272 6563 746c 7920 7768 6572 s correctly wher\n+00013eb0: 6520 736f 6d65 2063 6f70 6965 7320 6f66 e some copies of\n+00013ec0: 2074 6865 2068 6f75 7365 0a6f 7665 726c the house.overl\n+00013ed0: 6170 2e0a 0a20 2020 4c65 7427 7320 6c61 ap... Let's la\n+00013ee0: 7920 6f75 7420 7468 6520 6765 6f6d 6574 y out the geomet\n+00013ef0: 7279 206f 6620 7065 7273 7065 6374 6976 ry of perspectiv\n+00013f00: 6520 7072 6f6a 6563 7469 6f6e 206f 6620 e projection of \n+00013f10: 7468 6520 686f 7573 650a 6f6e 746f 2061 the house.onto a\n+00013f20: 2070 6c61 6e65 2077 6974 6820 7261 7973 plane with rays\n+00013f30: 2070 6173 7369 6e67 2074 6872 6f75 6768 passing through\n+00013f40: 2074 6865 206f 7269 6769 6e2e 2020 4265 the origin. Be\n+00013f50: 6769 6e20 6279 2070 6f73 6974 696f 6e69 gin by positioni\n+00013f60: 6e67 0a74 6865 2068 6f75 7365 2074 7765 ng.the house twe\n+00013f70: 6c76 6520 756e 6974 7320 6261 636b 206f lve units back o\n+00013f80: 6e20 7468 6520 6e65 6761 7469 7665 207a n the negative z\n+00013f90: 2d61 7869 7320 616e 6420 6164 6469 6e67 -axis and adding\n+00013fa0: 2061 2073 6574 206f 660a 636f 6f72 6469 a set of.coordi\n+00013fb0: 6e61 7465 2061 7865 732e 2020 546f 206d nate axes. To m\n+00013fc0: 6f76 6520 7468 6520 686f 7573 6520 7765 ove the house we\n+00013fd0: 206e 6565 6420 6f6e 6c79 2063 6861 6e67 need only chang\n+00013fe0: 6520 7468 6520 2268 6f75 7365 0a70 6f73 e the \"house.pos\n+00013ff0: 6974 696f 6e69 6e67 2220 7472 616e 7366 itioning\" transf\n+00014000: 6f72 6d20 6465 6669 6e65 6420 6561 726c orm defined earl\n+00014010: 6965 722e 0a20 2064 6566 2068 7020 726f ier.. def hp ro\n+00014020: 7461 7465 282d 3430 2c20 5b30 2c31 2c30 tate(-40, [0,1,0\n+00014030: 5d29 2074 6865 6e20 7472 616e 736c 6174 ]) then translat\n+00014040: 6528 5b30 2c30 2c2d 3132 5d29 0a20 2064 e([0,0,-12]). d\n+00014050: 6566 2061 7865 7320 7b0a 2020 2020 6465 ef axes {. de\n+00014060: 6620 737a 2031 0a20 2020 206c 696e 6520 f sz 1. line \n+00014070: 5b61 7272 6f77 733d 3c2d 3e5d 2028 737a [arrows=<->] (sz\n+00014080: 2c30 2c30 2928 4f29 2830 2c73 7a2c 3029 ,0,0)(O)(0,sz,0)\n+00014090: 0a20 2020 206c 696e 6520 5b61 7272 6f77 . line [arrow\n+000140a0: 733d 2d3e 5d20 2028 4f29 2830 2c30 2c73 s=->] (O)(0,0,s\n+000140b0: 7a29 0a20 2020 206c 696e 6520 5b6c 696e z). line [lin\n+000140c0: 6577 6964 7468 3d2e 3270 742c 6c69 6e65 ewidth=.2pt,line\n+000140d0: 636f 6c6f 723d 626c 7565 2c6c 696e 6573 color=blue,lines\n+000140e0: 7479 6c65 3d64 6173 6865 645d 2028 4f29 tyle=dashed] (O)\n+000140f0: 2830 2c30 2c2d 3130 290a 2020 2020 7370 (0,0,-10). sp\n+00014100: 6563 6961 6c20 7c5c 7570 7574 5b72 5d23 ecial |\\uput[r]#\n+00014110: 317b 2478 247d 5c75 7075 745b 755d 2332 1{$x$}\\uput[u]#2\n+00014120: 7b24 7924 7d5c 7570 7574 5b6c 5d23 337b {$y$}\\uput[l]#3{\n+00014130: 247a 247d 7c0a 2020 2020 2020 2873 7a2c $z$}|. (sz,\n+00014140: 302c 3029 2830 2c73 7a2c 3029 2830 2c30 0,0)(0,sz,0)(0,0\n+00014150: 2c73 7a29 0a20 207d 0a0a 2020 2054 696d ,sz). }.. Tim\n+00014160: 6520 666f 7220 616e 6f74 6865 7220 7465 e for another te\n+00014170: 7374 2e20 204c 6574 2773 2062 7569 6c64 st. Let's build\n+00014180: 2061 2072 6561 6c20 7669 6577 2074 7261 a real view tra\n+00014190: 6e73 666f 726d 2c20 6372 6561 7469 6e67 nsform, creating\n+000141a0: 2061 0ae2 809c 7669 7274 7561 6c20 6361 a....virtual ca\n+000141b0: 6d65 7261 e280 9d20 746f 206c 6f6f 6b20 mera... to look \n+000141c0: 6174 2074 6865 2073 6365 6e65 2077 6520 at the scene we \n+000141d0: 6172 6520 636f 6e73 7472 7563 7469 6e67 are constructing\n+000141e0: 2e20 2052 6570 6c61 6365 2074 6865 0ae2 . Replace the..\n+000141f0: 8098 7265 7065 6174 e280 9920 7769 7468 ..repeat... with\n+00014200: 0a20 2064 6566 2065 7965 2028 3130 2c34 . def eye (10,4\n+00014210: 2c31 3029 0a20 2064 6566 206c 6f6f 6b5f ,10). def look_\n+00014220: 6174 2028 302c 302c 2d35 290a 2020 7075 at (0,0,-5). pu\n+00014230: 7420 7b20 7669 6577 2828 6579 6529 2c20 t { view((eye), \n+00014240: 286c 6f6f 6b5f 6174 2929 207d 207b 207b (look_at)) } { {\n+00014250: 686f 7573 657d 7b61 7865 737d 207d 0a20 house}{axes} }. \n+00014260: 2020 5468 6520 e280 9c76 6965 7720 7472 The ...view tr\n+00014270: 616e 7366 6f72 6de2 809d 2072 6570 6f73 ansform... repos\n+00014280: 6974 696f 6e73 2074 6865 2073 6365 6e65 itions the scene\n+00014290: 2073 6f20 7468 6174 2074 6865 2070 6f69 so that the poi\n+000142a0: 6e74 20e2 8098 6579 65e2 8099 2069 730a nt ...eye... is.\n+000142b0: 6174 2074 6865 206f 7269 6769 6e20 616e at the origin an\n+000142c0: 6420 7468 6520 6469 7265 6374 696f 6e20 d the direction \n+000142d0: 6672 6f6d 20e2 8098 6579 65e2 8099 2074 from ...eye... t\n+000142e0: 6f20 e280 986c 6f6f 6b5f 6174 e280 9920 o ...look_at... \n+000142f0: 6973 2074 6865 206e 6567 6174 6976 650a is the negative.\n+00014300: 7a2d 6178 6973 2e20 2054 6869 7320 7265 z-axis. This re\n+00014310: 7175 6972 6573 2061 2072 6f74 6174 696f quires a rotatio\n+00014320: 6e20 616e 6420 6120 7472 616e 736c 6174 n and a translat\n+00014330: 696f 6e20 7468 6174 2061 7265 2061 6c6c ion that are all\n+00014340: 2070 6163 6b65 640a 696e 746f 2074 6865 packed.into the\n+00014350: 2063 6f6e 7374 7275 6374 6f72 20e2 8098 constructor ...\n+00014360: 7669 6577 e280 992e 0a0a 0008 5b69 6d61 view........[ima\n+00014370: 6765 2073 7263 3d22 6578 3135 302e 706e ge src=\"ex150.pn\n+00014380: 6722 2074 6578 743d 2249 6d61 6765 2065 g\" text=\"Image e\n+00014390: 7831 3530 206f 6d69 7474 6564 2069 6e20 x150 omitted in \n+000143a0: 7465 7874 2076 6572 7369 6f6e 206f 6620 text version of \n+000143b0: 7468 6973 2064 6f63 756d 656e 742e 2200 this document.\".\n+000143c0: 085d 0a0a 5468 6973 2069 7320 7374 6172 .]..This is star\n+000143d0: 7469 6e67 2074 6f20 6c6f 6f6b 2067 6f6f ting to look goo\n+000143e0: 6421 2020 4164 6420 7468 6520 7072 6f6a d! Add the proj\n+000143f0: 6563 7469 6f6e 2070 6c61 6e65 2068 616c ection plane hal\n+00014400: 6620 7761 790a 6265 7477 6565 6e20 7468 f way.between th\n+00014410: 6520 6f72 6967 696e 2061 6e64 2074 6865 e origin and the\n+00014420: 2068 6f75 7365 2061 7420 7a3d 2d35 2e20 house at z=-5. \n+00014430: 2057 6527 6c6c 2074 7279 2074 6865 2061 We'll try the a\n+00014440: 6e67 6c65 2061 7267 756d 656e 740a 6665 ngle argument.fe\n+00014450: 6174 7572 6520 6f66 20e2 8098 7370 6563 ature of ...spec\n+00014460: 6961 6ce2 8099 2074 6f20 706f 7369 7469 ial... to positi\n+00014470: 6f6e 2061 206c 6162 656c 2e0a 2020 6465 on a label.. de\n+00014480: 6620 7020 3520 2520 7072 6f6a 6563 7469 f p 5 % projecti\n+00014490: 6f6e 2064 6973 7461 6e63 6520 2870 6c61 on distance (pla\n+000144a0: 6e65 2061 7420 7a3d 2d70 290a 2020 6465 ne at z=-p). de\n+000144b0: 6620 7072 6f6a 6563 7469 6f6e 5f70 6c61 f projection_pla\n+000144c0: 6e65 207b 0a20 2020 2064 6566 2073 7a20 ne {. def sz \n+000144d0: 312e 350a 2020 2020 706f 6c79 676f 6e20 1.5. polygon \n+000144e0: 282d 737a 2c2d 737a 2c2d 7029 2873 7a2c (-sz,-sz,-p)(sz,\n+000144f0: 2d73 7a2c 2d70 2928 737a 2c73 7a2c 2d70 -sz,-p)(sz,sz,-p\n+00014500: 2928 2d73 7a2c 737a 2c2d 7029 0a20 2020 )(-sz,sz,-p). \n+00014510: 2073 7065 6369 616c 207c 5c72 7075 745b special |\\rput[\n+00014520: 625d 2331 2d32 2333 7b5c 666f 6f74 6e6f b]#1-2#3{\\footno\n+00014530: 7465 7369 7a65 5c73 6620 7072 6f6a 6563 tesize\\sf projec\n+00014540: 7469 6f6e 2070 6c61 6e65 7d7c 200a 2020 tion plane}| . \n+00014550: 2020 2020 282d 737a 2c2d 737a 2c2d 7029 (-sz,-sz,-p)\n+00014560: 2873 7a2c 2d73 7a2c 2d70 2928 302c 2d73 (sz,-sz,-p)(0,-s\n+00014570: 7a2b 2e31 2c2d 7029 0a20 207d 0a41 6464 z+.1,-p). }.Add\n+00014580: 207b 7072 6f6a 6563 7469 6f6e 5f70 6c61 {projection_pla\n+00014590: 6e65 7d20 746f 2074 6865 206c 6973 7420 ne} to the list \n+000145a0: 6f66 206f 626a 6563 7473 2069 6e20 7468 of objects in th\n+000145b0: 6520 e280 9870 7574 e280 9920 6162 6f76 e ...put... abov\n+000145c0: 652e 0a0a 0008 5b69 6d61 6765 2073 7263 e.....[image src\n+000145d0: 3d22 6578 3136 302e 706e 6722 2074 6578 =\"ex160.png\" tex\n+000145e0: 743d 2249 6d61 6765 2065 7831 3630 206f t=\"Image ex160 o\n+000145f0: 6d69 7474 6564 2069 6e20 7465 7874 2076 mitted in text v\n+00014600: 6572 7369 6f6e 206f 6620 7468 6973 2064 ersion of this d\n+00014610: 6f63 756d 656e 742e 2200 085d 0a0a 2020 ocument.\"..].. \n+00014620: 2054 6865 2077 6179 2077 6520 636f 6e73 The way we cons\n+00014630: 7472 7563 7465 6420 7468 6520 706f 696e tructed the poin\n+00014640: 7473 206f 6620 7468 6520 686f 7573 6520 ts of the house \n+00014650: 6e6f 7720 6d61 6b65 7320 6974 2065 6173 now makes it eas\n+00014660: 7920 746f 0a64 7261 7720 7261 7973 206f y to.draw rays o\n+00014670: 6620 7072 6f6a 6563 7469 6f6e 2e20 2057 f projection. W\n+00014680: 6527 6c6c 2063 6173 7420 6f6e 6520 7261 e'll cast one ra\n+00014690: 7920 6672 6f6d 2065 7665 7279 2076 6973 y from every vis\n+000146a0: 6962 6c65 2076 6572 7465 780a 6f66 2074 ible vertex.of t\n+000146b0: 6865 2068 6f75 7365 2061 6e64 2064 6566 he house and def\n+000146c0: 696e 6520 6f70 7469 6f6e 7320 736f 2074 ine options so t\n+000146d0: 6865 2061 7070 6561 7261 6e63 6520 6f66 he appearance of\n+000146e0: 2061 6c6c 2072 6179 7320 6361 6e20 6265 all rays can be\n+000146f0: 0a63 6861 6e67 6564 2061 7420 7468 6520 .changed at the \n+00014700: 7361 6d65 2074 696d 652e 0a20 2064 6566 same time.. def\n+00014710: 2070 726f 6a65 6374 696f 6e5f 7261 7973 projection_rays\n+00014720: 207b 0a20 2020 2064 6566 2072 6179 6f70 {. def rayop\n+00014730: 7420 5b6c 696e 6577 6964 7468 3d2e 3370 t [linewidth=.3p\n+00014740: 742c 6c69 6e65 636f 6c6f 723d 6c69 6768 t,linecolor=ligh\n+00014750: 7467 7261 795d 0a20 2020 206c 696e 6520 tgray]. line \n+00014760: 5b72 6179 6f70 745d 284f 2928 7052 3129 [rayopt](O)(pR1)\n+00014770: 206c 696e 6520 5b72 6179 6f70 745d 284f line [rayopt](O\n+00014780: 2928 7052 3229 206c 696e 655b 7261 796f )(pR2) line[rayo\n+00014790: 7074 5d28 4f29 2870 5233 290a 2020 2020 pt](O)(pR3). \n+000147a0: 6c69 6e65 205b 7261 796f 7074 5d28 4f29 line [rayopt](O)\n+000147b0: 2870 5234 2920 6c69 6e65 205b 7261 796f (pR4) line [rayo\n+000147c0: 7074 5d28 4f29 2870 5235 290a 2020 2020 pt](O)(pR5). \n+000147d0: 6c69 6e65 205b 7261 796f 7074 5d28 4f29 line [rayopt](O)\n+000147e0: 2870 4c31 2920 6c69 6e65 205b 7261 796f (pL1) line [rayo\n+000147f0: 7074 5d28 4f29 2870 4c32 2920 6c69 6e65 pt](O)(pL2) line\n+00014800: 5b72 6179 6f70 745d 284f 2928 704c 3529 [rayopt](O)(pL5)\n+00014810: 0a20 2020 206c 696e 6520 5b72 6179 6f70 . line [rayop\n+00014820: 745d 284f 2928 7044 3129 206c 696e 6520 t](O)(pD1) line \n+00014830: 5b72 6179 6f70 745d 284f 2928 7044 3229 [rayopt](O)(pD2)\n+00014840: 200a 2020 2020 6c69 6e65 205b 7261 796f . line [rayo\n+00014850: 7074 5d28 4f29 2870 4433 2920 6c69 6e65 pt](O)(pD3) line\n+00014860: 205b 7261 796f 7074 5d28 4f29 2870 4434 [rayopt](O)(pD4\n+00014870: 2920 0a20 207d 0a54 6865 2072 6573 756c ) . }.The resul\n+00014880: 7420 6973 2073 686f 776e 2068 6572 652e t is shown here.\n+00014890: 0a0a 0008 5b69 6d61 6765 2073 7263 3d22 ....[image src=\"\n+000148a0: 6578 3137 302e 706e 6722 2074 6578 743d ex170.png\" text=\n+000148b0: 2249 6d61 6765 2065 7831 3730 206f 6d69 \"Image ex170 omi\n+000148c0: 7474 6564 2069 6e20 7465 7874 2076 6572 tted in text ver\n+000148d0: 7369 6f6e 206f 6620 7468 6973 2064 6f63 sion of this doc\n+000148e0: 756d 656e 742e 2200 085d 0a0a 5468 6520 ument.\"..]..The \n+000148f0: 7261 7973 2070 6965 7263 6520 7468 6520 rays pierce the \n+00014900: 7072 6f6a 6563 7469 6f6e 2070 6c61 6e65 projection plane\n+00014910: 2061 7420 7468 6520 636f 7272 6573 706f at the correspo\n+00014920: 6e64 696e 6720 706f 696e 7473 206f 6e20 nding points on \n+00014930: 7468 650a 7065 7273 7065 6374 6976 6520 the.perspective \n+00014940: 696d 6167 6520 7765 2061 7265 2074 7279 image we are try\n+00014950: 696e 6720 746f 2064 7261 772e 2020 416c ing to draw. Al\n+00014960: 6272 6563 6874 2044 c3bc 7265 7220 616e brecht D..rer an\n+00014970: 6420 6869 730a 5265 6e61 6973 7361 6e63 d his.Renaissanc\n+00014980: 6520 636f 6e74 656d 706f 7261 7269 6573 e contemporaries\n+00014990: 2068 6164 2074 6865 2073 616d 6520 6964 had the same id\n+000149a0: 6561 2069 6e20 7468 6520 6561 726c 7920 ea in the early \n+000149b0: 3135 3030 2773 2e0a 0a00 085b 696d 6167 1500's.....[imag\n+000149c0: 6520 7372 633d 2264 7565 7265 722e 706e e src=\"duerer.pn\n+000149d0: 6722 2074 6578 743d 2249 6d61 6765 206f g\" text=\"Image o\n+000149e0: 6620 4475 6572 6572 2773 2070 6572 7370 f Duerer's persp\n+000149f0: 6563 7469 7665 2063 6f6d 7075 7465 7220 ective computer \n+00014a00: 6f6d 6974 7465 6420 696e 2074 6578 7420 omitted in text \n+00014a10: 7665 7273 696f 6e20 6f66 2074 6869 7320 version of this \n+00014a20: 646f 6375 6d65 6e74 2e22 0008 5d0a 0a20 document.\"..].. \n+00014a30: 2020 416c 6c20 7468 6174 2773 206c 6566 All that's lef\n+00014a40: 7420 6973 2074 6f20 6669 6e64 2061 2077 t is to find a w\n+00014a50: 6179 2074 6f20 636f 6e6e 6563 7420 7468 ay to connect th\n+00014a60: 6520 706f 696e 7473 206f 6620 7468 6520 e points of the \n+00014a70: 686f 7573 650a 6f6e 2074 6865 2070 726f house.on the pro\n+00014a80: 6a65 6374 696f 6e20 706c 616e 652e 2020 jection plane. \n+00014a90: 5765 2063 6f75 6c64 2070 756c 6c20 6f75 We could pull ou\n+00014aa0: 7420 6120 676f 6f64 2063 6f6d 7075 7465 t a good compute\n+00014ab0: 7220 6772 6170 6869 6373 0a74 6578 742c r graphics.text,\n+00014ac0: 2066 696e 6420 7468 6520 6e65 6365 7373 find the necess\n+00014ad0: 6172 7920 6d61 7472 6978 2c20 616e 6420 ary matrix, and \n+00014ae0: 656e 7465 7220 6974 206f 7572 7365 6c76 enter it ourselv\n+00014af0: 6573 2061 7320 6120 7472 616e 7366 6f72 es as a transfor\n+00014b00: 6d0a 6c69 7465 7261 6c2e 2020 2a4e 6f74 m.literal. *Not\n+00014b10: 6520 5472 616e 7366 6f72 6d20 6c69 7465 e Transform lite\n+00014b20: 7261 6c73 3a3a 2e20 2054 6861 7420 776f rals::. That wo\n+00014b30: 726b 2069 7320 616c 7265 6164 7920 646f rk is already do\n+00014b40: 6e65 2c0a 686f 7765 7665 722e 2020 5765 ne,.however. We\n+00014b50: 2063 616e 2075 7365 2074 6865 20e2 8098 can use the ...\n+00014b60: 7072 6f6a 6563 7428 7029 e280 9920 636f project(p)... co\n+00014b70: 6e73 7472 7563 746f 722e 0a0a 2020 2054 nstructor... T\n+00014b80: 6865 7265 2061 7265 2073 7469 6c6c 2073 here are still s\n+00014b90: 6f6d 6520 6465 7461 696c 7320 7468 6174 ome details that\n+00014ba0: 2072 6571 7569 7265 2063 6172 652e 2020 require care. \n+00014bb0: 5072 6f6a 6563 7469 6f6e 2077 696c 6c0a Projection will.\n+00014bc0: 666c 6174 7465 6e20 7768 6174 6576 6572 flatten whatever\n+00014bd0: 2069 7320 7472 616e 7366 6f72 6d65 6420 is transformed \n+00014be0: 6f6e 746f 2074 6865 2070 6c61 6e65 207a onto the plane z\n+00014bf0: 3d2d 702e 2020 5468 6572 6566 6f72 6520 =-p. Therefore \n+00014c00: 616e 7920 7061 7274 0a6f 6620 7468 6520 any part.of the \n+00014c10: 686f 7573 6520 636f 756c 6420 6469 7361 house could disa\n+00014c20: 7070 6561 7220 6265 6869 6e64 2074 6865 ppear behind the\n+00014c30: 2070 726f 6a65 6374 696f 6e20 706c 616e projection plan\n+00014c40: 6520 2874 6865 2068 6964 6465 6e0a 7375 e (the hidden.su\n+00014c50: 7266 6163 6520 616c 676f 7269 7468 6d20 rface algorithm \n+00014c60: 6f72 6465 7273 206f 626a 6563 7473 2061 orders objects a\n+00014c70: 7420 7468 6520 7361 6d65 2064 6570 7468 t the same depth\n+00014c80: 2061 7262 6974 7261 7269 6c79 292e 2020 arbitrarily). \n+00014c90: 5468 650a 646f 6f72 206d 6179 2061 6c73 The.door may als\n+00014ca0: 6f20 6469 7361 7070 6561 7220 6265 6869 o disappear behi\n+00014cb0: 6e64 2074 6865 2066 726f 6e74 206f 6620 nd the front of \n+00014cc0: 7468 6520 686f 7573 652e 2020 546f 206d the house. To m\n+00014cd0: 616b 6520 7375 7265 0a65 7665 7279 7468 ake sure.everyth\n+00014ce0: 696e 6720 7265 6d61 696e 7320 7669 7369 ing remains visi\n+00014cf0: 626c 652c 2077 6527 6c6c 2070 6c61 6365 ble, we'll place\n+00014d00: 2074 6865 2068 6f75 7365 2061 2074 696e the house a tin\n+00014d10: 7920 6269 7420 696e 2066 726f 6e74 206f y bit in front o\n+00014d20: 660a 7468 6520 7072 6f6a 6563 7469 6f6e f.the projection\n+00014d30: 2070 6c61 6e65 2061 6e64 2061 2073 6563 plane and a sec\n+00014d40: 6f6e 6420 636f 7079 206f 6620 7468 6520 ond copy of the \n+00014d50: 646f 6f72 2069 6e20 6672 6f6e 7420 6f66 door in front of\n+00014d60: 2074 6865 0a68 6f75 7365 2e0a 2020 6465 the.house.. de\n+00014d70: 6620 7072 6f6a 6563 7469 6f6e 207b 0a20 f projection {. \n+00014d80: 2020 2025 2065 2069 7320 6120 736d 616c % e is a smal\n+00014d90: 6c20 6e75 6d62 6572 2064 6566 696e 6564 l number defined\n+00014da0: 2061 626f 7665 0a20 2020 2070 7574 207b above. put {\n+00014db0: 2070 726f 6a65 6374 2870 2920 7468 656e project(p) then\n+00014dc0: 2074 7261 6e73 6c61 7465 285b 302c 302c translate([0,0,\n+00014dd0: 312a 655d 2920 7d20 7b68 6f75 7365 7d0a 1*e]) } {house}.\n+00014de0: 2020 2020 7075 7420 7b20 7072 6f6a 6563 put { projec\n+00014df0: 7428 7029 2074 6865 6e20 7472 616e 736c t(p) then transl\n+00014e00: 6174 6528 5b30 2c30 2c32 2a65 5d29 207d ate([0,0,2*e]) }\n+00014e10: 207b 646f 6f72 7d0a 2020 7d0a 0a00 085b {door}. }....[\n+00014e20: 696d 6167 6520 7372 633d 2265 7831 3830 image src=\"ex180\n+00014e30: 2e70 6e67 2220 7465 7874 3d22 496d 6167 .png\" text=\"Imag\n+00014e40: 6520 6578 3138 3020 6f6d 6974 7465 6420 e ex180 omitted \n+00014e50: 696e 2074 6578 7420 7665 7273 696f 6e20 in text version \n+00014e60: 6f66 2074 6869 7320 646f 6375 6d65 6e74 of this document\n+00014e70: 2e22 0008 5d0a 0a20 2020 4966 2079 6f75 .\"..].. If you\n+00014e80: 2068 6176 6520 7374 7564 6965 6420 616e have studied an\n+00014e90: 6420 756e 6465 7273 7461 6e64 2061 6c6c d understand all\n+00014ea0: 2074 6869 732c 2079 6f75 2061 7265 2077 this, you are w\n+00014eb0: 656c 6c20 6f6e 2074 6865 2077 6179 0a74 ell on the way.t\n+00014ec0: 6f20 7375 6363 6573 7320 7769 7468 20e2 o success with .\n+00014ed0: 8098 736b 6574 6368 e280 992e 2020 4e6f ..sketch.... No\n+00014ee0: 7420 7368 6f77 6e20 6172 6520 7468 6520 t shown are the \n+00014ef0: 3230 206f 7220 736f 2069 7465 7261 7469 20 or so iterati\n+00014f00: 6f6e 7320 7468 6174 0a77 6572 6520 7265 ons that.were re\n+00014f10: 7175 6972 6564 2074 6f20 6669 6e64 2061 quired to find a\n+00014f20: 2072 6561 736f 6e61 626c 6520 7669 6577 reasonable view\n+00014f30: 696e 6720 616e 676c 6520 616e 6420 686f ing angle and ho\n+00014f40: 7573 6520 706f 7369 7469 6f6e 2c0a 6574 use position,.et\n+00014f50: 632e 2020 4e6f 6e65 7468 656c 6573 732c c. Nonetheless,\n+00014f60: 2074 6869 7320 6472 6177 696e 6720 7761 this drawing wa\n+00014f70: 7320 636f 6d70 6c65 7465 6420 696e 2061 s completed in a\n+00014f80: 626f 7574 2061 6e20 686f 7572 2e20 2057 bout an hour. W\n+00014f90: 6869 6c65 2061 0a47 5549 2074 6f6f 6c20 hile a.GUI tool \n+00014fa0: 6d61 7920 6861 7665 2062 6565 6e20 6120 may have been a \n+00014fb0: 6c69 7474 6c65 2066 6173 7465 722c 2069 little faster, i\n+00014fc0: 7420 6973 2075 6e6c 696b 656c 7920 7468 t is unlikely th\n+00014fd0: 6174 2061 206e 6577 0a64 7261 7769 6e67 at a new.drawing\n+00014fe0: 2c20 6974 7365 6c66 2061 2070 6572 7370 , itself a persp\n+00014ff0: 6563 7469 7665 2070 726f 6a65 6374 696f ective projectio\n+00015000: 6e20 6f66 2074 6865 2073 6365 6e65 2c20 n of the scene, \n+00015010: 636f 756c 6420 6265 0a67 656e 6572 6174 could be.generat\n+00015020: 6564 2077 6974 6820 7477 6f20 6d6f 7265 ed with two more\n+00015030: 206d 696e 7574 6573 2720 776f 726b 2120 minutes' work! \n+00015040: 204a 7573 7420 6368 616e 6765 2074 6865 Just change the\n+00015050: 2076 6965 7720 7472 616e 7366 6f72 6d0a view transform.\n+00015060: 746f 0a20 2070 7574 207b 2076 6965 7728 to. put { view(\n+00015070: 2865 7965 292c 2028 6c6f 6f6b 5f61 7429 (eye), (look_at)\n+00015080: 2920 7468 656e 2070 6572 7370 6563 7469 ) then perspecti\n+00015090: 7665 2839 2920 7d20 7b20 2e2e 2e0a 616e ve(9) } { ....an\n+000150a0: 6420 7072 6f64 7563 6520 7468 6973 2e0a d produce this..\n+000150b0: 0a00 085b 696d 6167 6520 7372 633d 2265 ...[image src=\"e\n+000150c0: 7831 3930 2e70 6e67 2220 7465 7874 3d22 x190.png\" text=\"\n+000150d0: 496d 6167 6520 6578 3139 3020 6f6d 6974 Image ex190 omit\n+000150e0: 7465 6420 696e 2074 6578 7420 7665 7273 ted in text vers\n+000150f0: 696f 6e20 6f66 2074 6869 7320 646f 6375 ion of this docu\n+00015100: 6d65 6e74 2e22 0008 5d0a 0a1f 0a46 696c ment.\"..]....Fil\n+00015110: 653a 2073 6b65 7463 682e 696e 666f 2c20 e: sketch.info, \n+00015120: 204e 6f64 653a 2041 2074 6563 686e 6963 Node: A technic\n+00015130: 616c 2064 7261 7769 6e67 2c20 204e 6578 al drawing, Nex\n+00015140: 743a 2041 2068 6965 7261 7263 6869 6361 t: A hierarchica\n+00015150: 6c20 6d6f 6465 6c2c 2020 5072 6576 3a20 l model, Prev: \n+00015160: 4f76 6572 7669 6577 2c20 2055 703a 2042 Overview, Up: B\n+00015170: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin\n+00015180: 670a 0a34 2e32 2041 2074 6563 686e 6963 g..4.2 A technic\n+00015190: 616c 2064 7261 7769 6e67 0a3d 3d3d 3d3d al drawing.=====\n+000151a0: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+000151b0: 3d3d 0a0a 4c65 7427 7320 6c6f 6f6b 2061 ==..Let's look a\n+000151c0: 7420 6120 6472 6177 696e 6720 7468 6174 t a drawing that\n+000151d0: 2072 6570 7265 7365 6e74 7320 7468 6520 represents the \n+000151e0: 6b69 6e64 206f 6620 7072 6f62 6c65 6d20 kind of problem \n+000151f0: e280 9873 6b65 7463 68e2 8099 2077 6173 ...sketch... was\n+00015200: 0a6d 6561 6e74 2074 6f20 736f 6c76 652d .meant to solve-\n+00015210: 2d61 2070 6169 7220 6f66 2074 6578 7462 -a pair of textb\n+00015220: 6f6f 6b20 6669 6775 7265 7320 7265 6761 ook figures rega\n+00015230: 7264 696e 6720 6120 706f 6c79 676f 6e61 rding a polygona\n+00015240: 6c0a 6170 7072 6f78 696d 6174 696f 6e20 l.approximation \n+00015250: 6f66 2061 2074 7275 6e63 6174 6564 2063 of a truncated c\n+00015260: 6f6e 652e 2020 4865 7265 2061 7265 2074 one. Here are t\n+00015270: 6865 2070 6963 7475 7265 7320 7765 2077 he pictures we w\n+00015280: 696c 6c0a 7072 6f64 7563 652e 0a0a 0008 ill.produce.....\n+00015290: 5b69 6d61 6765 2073 7263 3d22 6578 3235 [image src=\"ex25\n+000152a0: 302e 706e 6722 2074 6578 743d 2249 6d61 0.png\" text=\"Ima\n+000152b0: 6765 2065 7832 3530 206f 6d69 7474 6564 ge ex250 omitted\n+000152c0: 2069 6e20 7465 7874 2076 6572 7369 6f6e in text version\n+000152d0: 206f 6620 7468 6973 2064 6f63 756d 656e of this documen\n+000152e0: 742e 2200 085d 2020 2020 2000 085b 696d t.\"..] ..[im\n+000152f0: 6167 6520 7372 633d 2265 7832 3630 2e70 age src=\"ex260.p\n+00015300: 6e67 2220 7465 7874 3d22 496d 6167 6520 ng\" text=\"Image \n+00015310: 6578 3236 3020 6f6d 6974 7465 6420 696e ex260 omitted in\n+00015320: 2074 6578 7420 7665 7273 696f 6e20 6f66 text version of\n+00015330: 2074 6869 7320 646f 6375 6d65 6e74 2e22 this document.\"\n+00015340: 0008 5d0a 0a20 2020 5468 6520 636f 6e65 ..].. The cone\n+00015350: 2073 6861 7065 2069 7320 6a75 7374 2061 shape is just a\n+00015360: 2073 7765 7074 206c 696e 6520 7769 7468 swept line with\n+00015370: 206e 6f20 636c 6f73 7572 6520 7461 6720 no closure tag \n+00015380: 616e 6420 6375 6c6c 696e 670a 7475 726e and culling.turn\n+00015390: 6564 206f 6666 2e20 2042 6567 696e 2062 ed off. Begin b\n+000153a0: 7920 7365 7474 696e 6720 7570 2073 6f6d y setting up som\n+000153b0: 6520 7573 6566 756c 2063 6f6e 7374 616e e useful constan\n+000153c0: 7473 2e0a 2020 6465 6620 4f20 2830 2c30 ts.. def O (0,0\n+000153d0: 2c30 2920 6465 6620 4920 5b31 2c30 2c30 ,0) def I [1,0,0\n+000153e0: 5d20 6465 6620 4a20 5b30 2c31 2c30 5d20 ] def J [0,1,0] \n+000153f0: 6465 6620 4b20 5b30 2c30 2c31 5d0a 2020 def K [0,0,1]. \n+00015400: 6465 6620 7030 2028 312c 3229 2064 6566 def p0 (1,2) def\n+00015410: 2070 3120 2831 2e35 2c30 2920 6465 6620 p1 (1.5,0) def \n+00015420: 4e20 380a 2020 6465 6620 7365 675f 726f N 8. def seg_ro\n+00015430: 7420 726f 7461 7465 2833 3630 202f 204e t rotate(360 / N\n+00015440: 2c20 5b4a 5d29 0a54 6865 2070 6f69 6e74 , [J]).The point\n+00015450: 7320 e280 9870 30e2 8099 2061 6e64 20e2 s ...p0... and .\n+00015460: 8098 7031 e280 9920 6172 6520 7468 6520 ..p1... are the \n+00015470: 656e 6420 706f 696e 7473 206f 6620 7468 end points of th\n+00015480: 6520 6c69 6e65 2074 6f20 6265 2073 7765 e line to be swe\n+00015490: 7074 2e0a 5468 6520 6465 6669 6e69 7469 pt..The definiti\n+000154a0: 6f6e 20e2 8098 7365 675f 726f 74e2 8099 on ...seg_rot...\n+000154b0: 2069 7320 7468 6520 7377 6565 7020 7472 is the sweep tr\n+000154c0: 616e 7366 6f72 6d61 7469 6f6e 2e20 2057 ansformation. W\n+000154d0: 6974 6820 7468 6573 652c 2074 6865 0a63 ith these, the.c\n+000154e0: 6f6e 6520 6974 7365 6c66 2069 7320 7369 one itself is si\n+000154f0: 6d70 6c65 2e0a 2020 7377 6565 705b 6375 mple.. sweep[cu\n+00015500: 6c6c 3d66 616c 7365 5d20 7b20 4e2c 205b ll=false] { N, [\n+00015510: 5b73 6567 5f72 6f74 5d5d 207d 206c 696e [seg_rot]] } lin\n+00015520: 6528 7030 2928 7031 290a 0a20 2020 5468 e(p0)(p1).. Th\n+00015530: 6520 6178 6573 2061 7265 206e 6578 7420 e axes are next \n+00015540: 616e 6420 696e 636c 7564 6520 616e 2069 and include an i\n+00015550: 6e74 6572 6573 696e 6720 7472 6963 6b20 nteresing trick \n+00015560: 7468 6174 2073 686f 7773 2074 6865 0a68 that shows the.h\n+00015570: 6964 6465 6e20 7061 7274 7320 6173 2064 idden parts as d\n+00015580: 6f74 7465 6420 6c69 6e65 732e 2020 5468 otted lines. Th\n+00015590: 6520 7365 6372 6574 2069 7320 6472 6177 e secret is draw\n+000155a0: 2074 6865 2061 7865 7320 7477 6963 652d the axes twice-\n+000155b0: 2d73 6f6c 6964 0a6c 696e 6573 2077 6974 -solid.lines wit\n+000155c0: 6820 7468 6520 6e6f 726d 616c 2068 6964 h the normal hid\n+000155d0: 6465 6e20 7375 7266 6163 6520 616c 676f den surface algo\n+000155e0: 7269 7468 6d20 696e 2065 6666 6563 742c rithm in effect,\n+000155f0: 2061 6e64 2074 6865 6e0a 646f 7474 6564 and then.dotted\n+00015600: 2077 6974 6820 7468 6520 6f70 7469 6f6e with the option\n+00015610: 20e2 8098 6c61 793d 6f76 6572 e280 9920 ...lay=over... \n+00015620: 736f 2074 6861 7420 6e6f 2070 6f6c 7967 so that no polyg\n+00015630: 6f6e 7320 6361 6e20 6869 6465 2074 6865 ons can hide the\n+00015640: 6d2e 0a20 2064 6566 2061 7820 2864 782c m.. def ax (dx,\n+00015650: 302c 3029 2025 2074 6970 7320 6f66 2074 0,0) % tips of t\n+00015660: 6865 2061 7865 730a 2020 6465 6620 6179 he axes. def ay\n+00015670: 2028 302c 6479 2c30 290a 2020 6465 6620 (0,dy,0). def \n+00015680: 617a 2028 302c 302c 647a 290a 2020 6c69 az (0,0,dz). li\n+00015690: 6e65 5b61 7272 6f77 733d 3c2d 3e2c 6c69 ne[arrows=<->,li\n+000156a0: 6e65 7769 6474 683d 2e34 7074 5d28 6178 newidth=.4pt](ax\n+000156b0: 2928 4f29 2861 7929 0a20 206c 696e 655b )(O)(ay). line[\n+000156c0: 6172 726f 7773 3d2d 3e2c 6c69 6e65 7769 arrows=->,linewi\n+000156d0: 6474 683d 2e34 7074 5d28 4f29 2861 7a29 dth=.4pt](O)(az)\n+000156e0: 0a20 2025 2072 6570 6561 7420 646f 7474 . % repeat dott\n+000156f0: 6564 2061 7320 616e 206f 7665 726c 6179 ed as an overlay\n+00015700: 2074 6f20 6869 6e74 2061 7420 7468 6520 to hint at the \n+00015710: 6869 6464 656e 206c 696e 6573 0a20 206c hidden lines. l\n+00015720: 696e 655b 6c61 793d 6f76 6572 2c6c 696e ine[lay=over,lin\n+00015730: 6573 7479 6c65 3d64 6f74 7465 642c 6c69 estyle=dotted,li\n+00015740: 6e65 7769 6474 683d 2e34 7074 5d28 6178 newidth=.4pt](ax\n+00015750: 2928 4f29 2861 7929 0a20 206c 696e 655b )(O)(ay). line[\n+00015760: 6c61 793d 6f76 6572 2c6c 696e 6573 7479 lay=over,linesty\n+00015770: 6c65 3d64 6f74 7465 642c 6c69 6e65 7769 le=dotted,linewi\n+00015780: 6474 683d 2e34 7074 5d28 4f29 2861 7a29 dth=.4pt](O)(az)\n+00015790: 0a20 2073 7065 6369 616c 7c5c 666f 6f74 . special|\\foot\n+000157a0: 6e6f 7465 7369 7a65 0a20 2020 2020 2020 notesize. \n+000157b0: 2020 205c 7570 7574 5b64 5d23 317b 2478 \\uput[d]#1{$x\n+000157c0: 247d 5c75 7075 745b 755d 2332 7b24 7924 $}\\uput[u]#2{$y$\n+000157d0: 7d5c 7570 7574 5b6c 5d23 337b 247a 247d }\\uput[l]#3{$z$}\n+000157e0: 7c0a 2020 2020 2861 7829 2861 7929 2861 |. (ax)(ay)(a\n+000157f0: 7a29 0a54 6865 206c 6162 656c 7320 6172 z).The labels ar\n+00015800: 6520 6170 706c 6965 6420 7769 7468 20e2 e applied with .\n+00015810: 8098 5053 5472 6963 6b73 e280 9920 7370 ..PSTricks... sp\n+00015820: 6563 6961 6c20 6f62 6a65 6374 7320 6173 ecial objects as\n+00015830: 2075 7375 616c 2e0a 0a20 2020 466f 7220 usual... For \n+00015840: 7468 6520 6865 6967 6874 2064 696d 656e the height dimen\n+00015850: 7369 6f6e 206d 6172 6b2c 2074 6865 2070 sion mark, the p\n+00015860: 6f77 6572 206f 6620 6166 6669 6e65 2061 ower of affine a\n+00015870: 7269 7468 6574 6963 2069 7320 7665 7279 rithetic is very\n+00015880: 0a68 656c 7066 756c 2e0a 2020 6465 6620 .helpful.. def \n+00015890: 6864 696d 5f72 6566 2075 6e69 7428 2870 hdim_ref unit((p\n+000158a0: 3129 202d 2028 4f29 2920 7468 656e 205b 1) - (O)) then [\n+000158b0: 5b73 6567 5f72 6f74 5d5d 5e32 0a20 2064 [seg_rot]]^2. d\n+000158c0: 6566 2063 3020 2870 3029 2074 6865 6e20 ef c0 (p0) then \n+000158d0: 7363 616c 6528 5b4a 5d29 0a20 2064 6566 scale([J]). def\n+000158e0: 2068 3030 2028 6330 2920 2b20 312e 3120 h00 (c0) + 1.1 \n+000158f0: 2a20 5b68 6469 6d5f 7265 665d 0a20 2064 * [hdim_ref]. d\n+00015900: 6566 2068 3031 2028 6330 2920 2b20 312e ef h01 (c0) + 1.\n+00015910: 3920 2a20 5b68 6469 6d5f 7265 665d 0a20 9 * [hdim_ref]. \n+00015920: 2064 6566 2068 3032 2028 6330 2920 2b20 def h02 (c0) + \n+00015930: 312e 3820 2a20 5b68 6469 6d5f 7265 665d 1.8 * [hdim_ref]\n+00015940: 0a20 206c 696e 6528 6830 3029 2868 3031 . line(h00)(h01\n+00015950: 290a 2020 6465 6620 6831 3020 284f 2920 ). def h10 (O) \n+00015960: 2b20 312e 3620 2a20 5b68 6469 6d5f 7265 + 1.6 * [hdim_re\n+00015970: 665d 0a20 2064 6566 2068 3131 2028 4f29 f]. def h11 (O)\n+00015980: 202b 2031 2e39 202a 205b 6864 696d 5f72 + 1.9 * [hdim_r\n+00015990: 6566 5d0a 2020 6465 6620 6831 3220 284f ef]. def h12 (O\n+000159a0: 2920 2b20 312e 3820 2a20 5b68 6469 6d5f ) + 1.8 * [hdim_\n+000159b0: 7265 665d 0a20 206c 696e 6528 6831 3029 ref]. line(h10)\n+000159c0: 2868 3131 290a 2020 6c69 6e65 5b61 7272 (h11). line[arr\n+000159d0: 6f77 733d 3c2d 3e5d 2868 3032 2928 6831 ows=<->](h02)(h1\n+000159e0: 3229 0a20 2064 6566 2068 6d32 2028 2868 2). def hm2 ((h\n+000159f0: 3032 2920 2d20 284f 2920 2b20 2868 3132 02) - (O) + (h12\n+00015a00: 2920 2d20 284f 2929 202f 2032 202b 2028 ) - (O)) / 2 + (\n+00015a10: 4f29 0a20 2073 7065 6369 616c 7c5c 666f O). special|\\fo\n+00015a20: 6f74 6e6f 7465 7369 7a65 5c72 7075 742a otnotesize\\rput*\n+00015a30: 2331 7b24 6824 7d7c 2868 6d32 290a 2020 #1{$h$}|(hm2). \n+00015a40: 2054 6865 2067 656e 6572 616c 2069 6465 The general ide\n+00015a50: 6120 656d 706c 6f79 6564 2068 6572 6520 a employed here \n+00015a60: 6973 2074 6f20 636f 6d70 7574 6520 6120 is to compute a \n+00015a70: 756e 6974 2022 7265 6665 7265 6e63 650a unit \"reference.\n+00015a80: 7665 6374 6f72 2220 7061 7261 6c6c 656c vector\" parallel\n+00015a90: 2074 6f20 7468 6520 787a 2d70 6c61 6e65 to the xz-plane\n+00015aa0: 2069 6e20 7468 6520 6465 7369 7265 6420 in the desired \n+00015ab0: 6469 7265 6374 696f 6e20 6f66 2074 6865 direction of the\n+00015ac0: 0a64 696d 656e 7369 6f6e 2066 726f 6d20 .dimension from \n+00015ad0: 7468 6520 6f72 6967 696e 2e20 2054 6865 the origin. The\n+00015ae0: 2074 7261 6e73 666f 726d 6174 696f 6e20 transformation \n+00015af0: e280 985b 5b73 6567 5f72 6f74 5d5d 5e32 ...[[seg_rot]]^2\n+00015b00: e280 9920 726f 7461 7465 730a 7477 6f20 ... rotates.two \n+00015b10: 7365 676d 656e 7473 2061 626f 7574 2074 segments about t\n+00015b20: 6865 2079 2d61 7869 732e 2020 5768 656e he y-axis. When\n+00015b30: 2061 7070 6c69 6564 2074 6f20 e280 9828 applied to ...(\n+00015b40: 7031 2920 2d20 284f 29e2 8099 2c20 7468 p1) - (O)..., th\n+00015b50: 650a 7265 7375 6c74 696e 6720 7665 6374 e.resulting vect\n+00015b60: 6f72 2070 6f69 6e74 7320 746f 2074 6865 or points to the\n+00015b70: 2072 6967 6874 2061 7320 7368 6f77 6e2e right as shown.\n+00015b80: 2020 496e 2074 6869 7320 6d61 6e6e 6572 In this manner\n+00015b90: 2c20 7765 2063 616e 0a70 6963 6b20 616e , we can.pick an\n+00015ba0: 7920 7665 7274 6578 2061 7320 7468 6520 y vertex as the \n+00015bb0: 6c6f 6361 7469 6f6e 206f 6620 7468 6520 location of the \n+00015bc0: 6865 6967 6874 2064 696d 656e 7369 6f6e height dimension\n+00015bd0: 206c 696e 6573 2062 7920 7661 7279 696e lines by varyin\n+00015be0: 670a 7468 6520 6578 706f 6e65 6e74 206f g.the exponent o\n+00015bf0: 6620 e280 985b 5b73 6567 5f72 6f74 5d5d f ...[[seg_rot]]\n+00015c00: e280 992e 2020 5468 6973 2069 7320 6f6e .... This is on\n+00015c10: 6c79 206f 6e65 206f 6620 6d61 6e79 2070 ly one of many p\n+00015c20: 6f73 7369 626c 650a 7374 7261 7465 6769 ossible.strategi\n+00015c30: 6573 2e0a 0a20 2020 5468 6520 636f 6d70 es... The comp\n+00015c40: 7574 6174 696f 6e20 6f66 20e2 8098 686d utation of ...hm\n+00015c50: 32e2 8099 2069 7320 6120 7573 6566 756c 2... is a useful\n+00015c60: 2069 6469 6f6d 2066 6f72 2066 696e 6469 idiom for findi\n+00015c70: 6e67 2074 6865 2063 656e 7472 6f69 640a ng the centroid.\n+00015c80: 6f66 2061 2073 6574 206f 6620 706f 696e of a set of poin\n+00015c90: 7473 2e0a 0a20 2020 5468 6520 7477 6f20 ts... The two \n+00015ca0: 7261 6469 7573 206d 6172 6b73 2061 7265 radius marks are\n+00015cb0: 2064 6f6e 6520 7369 6d69 6c61 726c 792c done similarly,\n+00015cc0: 2073 6f20 7765 2070 7265 7365 6e74 2074 so we present t\n+00015cd0: 6865 2063 6f64 650a 7769 7468 6f75 7420 he code.without \n+00015ce0: 636f 6d6d 656e 742e 0a20 2025 2072 6164 comment.. % rad\n+00015cf0: 6975 7320 6d65 6173 7572 656d 656e 7420 ius measurement \n+00015d00: 6d61 726b 730a 2020 6465 6620 6761 7020 marks. def gap \n+00015d10: 5b30 2c2e 322c 305d 2020 2520 7573 6564 [0,.2,0] % used\n+00015d20: 2074 6f20 6372 6561 7465 2073 6d61 6c6c to create small\n+00015d30: 2076 6572 7469 6361 6c20 6761 7073 0a0a vertical gaps..\n+00015d40: 2020 2520 6669 7273 7420 7231 0a20 2064 % first r1. d\n+00015d50: 6566 2075 7031 205b 302c 332e 312c 305d ef up1 [0,3.1,0]\n+00015d60: 2025 2074 6963 6b20 7269 7365 7320 6162 % tick rises ab\n+00015d70: 6f76 6520 6469 6d65 6e73 696f 6e20 6120 ove dimension a \n+00015d80: 6c69 7474 6c65 0a20 2064 6566 2072 3120 little. def r1 \n+00015d90: 2828 7031 2920 7468 656e 205b 5b73 6567 ((p1) then [[seg\n+00015da0: 5f72 6f74 5d5d 5e2d 3229 202b 205b 7570 _rot]]^-2) + [up\n+00015db0: 315d 0a20 2064 6566 2072 3163 2028 7231 1]. def r1c (r1\n+00015dc0: 2920 7468 656e 2073 6361 6c65 285b 4a5d ) then scale([J]\n+00015dd0: 290a 2020 6465 6620 7231 7420 2872 3129 ). def r1t (r1)\n+00015de0: 202b 205b 6761 705d 0a20 2064 6566 2072 + [gap]. def r\n+00015df0: 3162 2028 2872 3174 2920 7468 656e 2073 1b ((r1t) then s\n+00015e00: 6361 6c65 285b 312c 302c 315d 2929 202b cale([1,0,1])) +\n+00015e10: 205b 6761 705d 0a20 206c 696e 655b 6172 [gap]. line[ar\n+00015e20: 726f 7773 3d3c 2d3e 5d28 7231 6329 2872 rows=<->](r1c)(r\n+00015e30: 3129 2020 2520 6469 6d65 6e73 696f 6e20 1) % dimension \n+00015e40: 6c69 6e65 0a20 206c 696e 6528 7231 6229 line. line(r1b)\n+00015e50: 2872 3174 2920 2020 2020 2020 2020 2020 (r1t) \n+00015e60: 2020 2520 7469 636b 0a20 2064 6566 2072 % tick. def r\n+00015e70: 316d 2028 2872 3129 202d 2028 4f29 202b 1m ((r1) - (O) +\n+00015e80: 2028 7231 6329 202d 2028 4f29 2920 2f20 (r1c) - (O)) / \n+00015e90: 3220 2b20 284f 2920 2520 6c61 6265 6c20 2 + (O) % label \n+00015ea0: 706f 7369 7469 6f6e 0a20 2073 7065 6369 position. speci\n+00015eb0: 616c 207c 5c66 6f6f 746e 6f74 6573 697a al |\\footnotesiz\n+00015ec0: 655c 7270 7574 2a23 317b 2472 5f31 247d e\\rput*#1{$r_1$}\n+00015ed0: 7c28 7231 6d29 2020 2520 6c61 6265 6c0a |(r1m) % label.\n+00015ee0: 0a20 2025 2073 616d 6520 6472 696c 6c20 . % same drill \n+00015ef0: 666f 7220 7230 2c20 6275 7420 6d75 7374 for r0, but must\n+00015f00: 2070 726f 6a65 6374 2064 6f77 6e20 6669 project down fi\n+00015f10: 7273 740a 2020 6465 6620 7570 3020 5b30 rst. def up0 [0\n+00015f20: 2c32 2e37 2c30 5d0a 2020 6465 6620 7230 ,2.7,0]. def r0\n+00015f30: 2028 2870 3029 2074 6865 6e20 7363 616c ((p0) then scal\n+00015f40: 6528 5b31 2c30 2c31 5d29 2074 6865 6e20 e([1,0,1]) then \n+00015f50: 5b5b 7365 675f 726f 745d 5d5e 2d32 2920 [[seg_rot]]^-2) \n+00015f60: 2b20 5b75 7030 5d0a 2020 6465 6620 7230 + [up0]. def r0\n+00015f70: 6320 2872 3029 2074 6865 6e20 7363 616c c (r0) then scal\n+00015f80: 6528 5b4a 5d29 0a20 2064 6566 2072 3074 e([J]). def r0t\n+00015f90: 2028 7230 2920 2b20 5b67 6170 5d0a 2020 (r0) + [gap]. \n+00015fa0: 6465 6620 7230 6220 2828 7030 2920 7468 def r0b ((p0) th\n+00015fb0: 656e 205b 5b73 6567 5f72 6f74 5d5d 5e2d en [[seg_rot]]^-\n+00015fc0: 3229 202b 205b 6761 705d 0a20 206c 696e 2) + [gap]. lin\n+00015fd0: 655b 6172 726f 7773 3d3c 2d3e 5d28 7230 e[arrows=<->](r0\n+00015fe0: 6329 2872 3029 0a20 206c 696e 6528 7230 c)(r0). line(r0\n+00015ff0: 6229 2872 3074 290a 2020 6465 6620 7230 b)(r0t). def r0\n+00016000: 6d20 2828 7230 2920 2d20 284f 2920 2b20 m ((r0) - (O) + \n+00016010: 2872 3063 2920 2d20 284f 2929 202f 2032 (r0c) - (O)) / 2\n+00016020: 202b 2028 4f29 0a20 2073 7065 6369 616c + (O). special\n+00016030: 207c 5c66 6f6f 746e 6f74 6573 697a 655c |\\footnotesize\\\n+00016040: 7270 7574 2a23 317b 2472 5f30 247d 7c28 rput*#1{$r_0$}|(\n+00016050: 7230 6d29 0a0a 2020 2054 6865 2073 6563 r0m).. The sec\n+00016060: 6f6e 6420 6472 6177 696e 6720 7573 6573 ond drawing uses\n+00016070: 2074 6865 2073 616d 6520 7465 6368 6e69 the same techni\n+00016080: 7175 6573 2e20 204f 6e6c 7920 7468 6520 ques. Only the \n+00016090: 6d65 7468 6f64 2066 6f72 0a64 7261 7769 method for.drawi\n+000160a0: 6e67 2074 6865 2065 6c6c 6970 7469 6361 ng the elliptica\n+000160b0: 6c20 6172 6320 6973 206e 6577 2e20 2048 l arc is new. H\n+000160c0: 6572 6520 6973 2074 6865 2063 6f64 652e ere is the code.\n+000160d0: 0a20 2064 6566 206d 6964 2028 2870 3030 . def mid ((p00\n+000160e0: 292d 284f 292b 2870 3130 292d 284f 292b )-(O)+(p10)-(O)+\n+000160f0: 2870 3131 292d 284f 292b 2870 3031 292d (p11)-(O)+(p01)-\n+00016100: 284f 2929 2f34 2b28 4f29 0a20 2073 7065 (O))/4+(O). spe\n+00016110: 6369 616c 7c5c 7270 7574 2331 7b5c 7073 cial|\\rput#1{\\ps\n+00016120: 6375 7374 6f6d 7b0a 2020 2020 5c73 6361 custom{. \\sca\n+00016130: 6c65 7b31 2031 2e33 7d0a 2020 2020 5c70 le{1 1.3}. \\p\n+00016140: 7361 7263 5b61 7272 6f77 6c65 6e67 7468 sarc[arrowlength\n+00016150: 3d2e 355d 7b2d 3e7d 7b2e 3235 7d7b 2d36 =.5]{->}{.25}{-6\n+00016160: 307d 7b32 3430 7d7d 7d7c 0a20 2020 205b 0}{240}}}|. [\n+00016170: 6c61 793d 6f76 6572 5d28 6d69 6429 0a57 lay=over](mid).W\n+00016180: 6520 636f 756c 6420 6861 7665 2073 7765 e could have swe\n+00016190: 7074 2061 2070 6f69 6e74 2074 6f20 6d61 pt a point to ma\n+000161a0: 6b65 2074 6865 2061 7263 2077 6974 6820 ke the arc with \n+000161b0: e280 9873 6b65 7463 68e2 8099 2c20 6275 ...sketch..., bu\n+000161c0: 7420 7573 696e 6720 610a e280 9850 5354 t using a....PST\n+000161d0: 7269 636b 73e2 8099 2063 7573 746f 6d20 ricks... custom \n+000161e0: 6772 6170 6869 6320 7761 7320 7369 6d70 graphic was simp\n+000161f0: 6c65 722e 2020 4167 6169 6e20 7765 2063 ler. Again we c\n+00016200: 6f6d 7075 7465 6420 7468 6520 6365 6e74 omputed the cent\n+00016210: 726f 6964 0a6f 6620 7468 6520 7175 6164 roid.of the quad\n+00016220: 7269 6c61 7465 7261 6c20 6279 2061 7665 rilateral by ave\n+00016230: 7261 6769 6e67 2070 6f69 6e74 732e 2020 raging points. \n+00016240: 4e6f 7465 2074 6861 7420 7363 616c 696e Note that scalin\n+00016250: 6720 696e 0a50 6f73 7473 6372 6970 7420 g in.Postscript \n+00016260: 6469 7374 6f72 7473 2074 6865 2061 7272 distorts the arr\n+00016270: 6f77 6865 6164 2c20 6275 7420 696e 2074 owhead, but in t\n+00016280: 6869 7320 6361 7365 2074 6865 2064 6973 his case the dis\n+00016290: 746f 7274 696f 6e0a 6163 7475 616c 6c79 tortion.actually\n+000162a0: 206c 6f6f 6b73 2062 6574 7465 7220 696e looks better in\n+000162b0: 2074 6865 2070 726f 6a65 6374 696f 6e20 the projection \n+000162c0: 6f66 2074 6865 2073 6c61 6e74 6564 2066 of the slanted f\n+000162d0: 6163 652e 2020 4120 e280 9873 6b65 7463 ace. A ...sketc\n+000162e0: 68e2 8099 0a61 7272 6f77 6865 6164 2077 h....arrowhead w\n+000162f0: 6f75 6c64 206e 6f74 2068 6176 6520 6265 ould not have be\n+00016300: 656e 2064 6973 746f 7274 6564 2e0a 0a20 en distorted... \n+00016310: 2020 5468 6520 636f 6d70 6c65 7465 2063 The complete c\n+00016320: 6f64 6520 666f 7220 7468 6973 2065 7861 ode for this exa\n+00016330: 6d70 6c65 2c20 7768 6963 6820 6472 6177 mple, which draw\n+00016340: 7320 6569 7468 6572 2066 6967 7572 650a s either figure.\n+00016350: 6465 7065 6e64 696e 6720 6f6e 2074 6865 depending on the\n+00016360: 2064 6566 696e 6974 696f 6e20 6f66 2074 definition of t\n+00016370: 6865 2074 6167 20e2 8098 3c6c 6162 656c he tag ......, is inclu\n+00016390: 6465 6420 696e 2074 6865 0ae2 8098 736b ded in the....sk\n+000163a0: 6574 6368 e280 9920 6469 7374 7269 6275 etch... distribu\n+000163b0: 7469 6f6e 2069 6e20 7468 6520 6669 6c65 tion in the file\n+000163c0: 20e2 8098 7472 756e 6361 7465 6463 6f6e ...truncatedcon\n+000163d0: 652e 736b e280 992e 0a0a 1f0a 4669 6c65 e.sk........File\n+000163e0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+000163f0: 4e6f 6465 3a20 4120 6869 6572 6172 6368 Node: A hierarch\n+00016400: 6963 616c 206d 6f64 656c 2c20 204e 6578 ical model, Nex\n+00016410: 743a 2043 6176 6561 7473 2c20 2050 7265 t: Caveats, Pre\n+00016420: 763a 2041 2074 6563 686e 6963 616c 2064 v: A technical d\n+00016430: 7261 7769 6e67 2c20 2055 703a 2042 7569 rawing, Up: Bui\n+00016440: 6c64 696e 6720 6120 6472 6177 696e 670a lding a drawing.\n+00016450: 0a34 2e33 2041 2068 6965 7261 7263 6869 .4.3 A hierarchi\n+00016460: 6361 6c20 6d6f 6465 6c0a 3d3d 3d3d 3d3d cal model.======\n+00016470: 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d 3d3d ================\n+00016480: 3d3d 0a0a 5768 696c 6520 e280 9873 6b65 ==..While ...ske\n+00016490: 7463 68e2 8099 2077 6173 206e 6576 6572 tch... was never\n+000164a0: 206d 6561 6e74 2074 6f20 6265 2061 2067 meant to be a g\n+000164b0: 656f 6d65 7472 6963 206d 6f64 656c 696e eometric modelin\n+000164c0: 6720 6c61 6e67 7561 6765 2c20 6974 0a63 g language, it.c\n+000164d0: 6f6d 6573 2066 6169 726c 7920 636c 6f73 omes fairly clos\n+000164e0: 652e 2020 5468 6520 666f 6c6c 6f77 696e e. The followin\n+000164f0: 6720 6578 616d 706c 6520 7075 7473 2061 g example puts a\n+00016500: 6c6c 2077 6520 6861 7665 2073 6565 6e20 ll we have seen \n+00016510: 746f 2077 6f72 6b0a 696e 2061 2076 6572 to work.in a ver\n+00016520: 7920 7369 6d70 6c65 206d 6f64 656c 206f y simple model o\n+00016530: 6620 7468 6520 6875 6d61 6e20 6861 6e64 f the human hand\n+00016540: 2e20 2053 7461 7274 2062 7920 7377 6565 . Start by swee\n+00016550: 7069 6e67 2061 206c 696e 6520 746f 0a6d ping a line to.m\n+00016560: 616b 6520 6120 7472 756e 6361 7465 6420 ake a truncated \n+00016570: 636f 6e65 2c20 7768 6963 6820 7769 6c6c cone, which will\n+00016580: 2062 6520 636f 7069 6564 206f 7665 7220 be copied over \n+00016590: 616e 6420 6f76 6572 2061 6761 696e 2074 and over again t\n+000165a0: 6f20 6d61 6b65 0a74 6865 2073 6567 6d65 o make.the segme\n+000165b0: 6e74 7320 6f66 2066 696e 6765 7273 2e0a nts of fingers..\n+000165c0: 2020 6465 6620 4f20 2830 2c30 2c30 2920 def O (0,0,0) \n+000165d0: 2520 6f72 6967 696e 0a20 2064 6566 2049 % origin. def I\n+000165e0: 205b 312c 302c 305d 2064 6566 204a 205b [1,0,0] def J [\n+000165f0: 302c 312c 305d 2064 6566 204b 205b 302c 0,1,0] def K [0,\n+00016600: 302c 315d 2025 2063 616e 6f6e 6963 616c 0,1] % canonical\n+00016610: 2075 6e69 7420 7665 6374 6f72 730a 2020 unit vectors. \n+00016620: 6465 6620 7365 676d 656e 7420 7b0a 2020 def segment {. \n+00016630: 2020 6465 6620 6e5f 6661 6365 7320 380a def n_faces 8.\n+00016640: 2020 2020 7377 6565 7020 7b20 6e5f 6661 sweep { n_fa\n+00016650: 6365 733c 3e2c 2072 6f74 6174 6528 3336 ces<>, rotate(36\n+00016660: 3020 2f20 6e5f 6661 6365 732c 205b 4a5d 0 / n_faces, [J]\n+00016670: 2920 7d20 0a20 2020 2020 206c 696e 6528 ) } . line(\n+00016680: 7072 6f78 696d 616c 5f72 6164 2c20 3029 proximal_rad, 0)\n+00016690: 2864 6973 7461 6c5f 7261 642c 2064 6973 (distal_rad, dis\n+000166a0: 7461 6c5f 6c65 6e29 0a20 207d 0a49 6e20 tal_len). }.In \n+000166b0: 6861 6e64 2061 6e61 746f 6d79 2c20 5f64 hand anatomy, _d\n+000166c0: 6973 7461 6c5f 2069 7320 2261 7420 7468 istal_ is \"at th\n+000166d0: 6520 7469 7022 2061 6e64 205f 7072 6f78 e tip\" and _prox\n+000166e0: 696d 616c 5f20 6973 2022 696e 2074 6865 imal_ is \"in the\n+000166f0: 2061 7265 610a 6f66 2074 6865 2070 616c area.of the pal\n+00016700: 6d2e 2220 2057 6520 6861 7665 206f 6d69 m.\" We have omi\n+00016710: 7474 6564 2061 6c6c 2074 6865 2073 6361 tted all the sca\n+00016720: 6c61 7220 636f 6e73 7461 6e74 732e 2020 lar constants. \n+00016730: 596f 7520 6361 6e20 6669 6e64 0a74 6865 You can find.the\n+00016740: 6d20 696e 20e2 8098 6861 6e64 2e73 6be2 m in ...hand.sk.\n+00016750: 8099 2c20 7768 6963 6820 6973 2070 726f .., which is pro\n+00016760: 7669 6465 6420 696e 2074 6865 20e2 8098 vided in the ...\n+00016770: 736b 6574 6368 e280 9920 6469 7374 7269 sketch... distri\n+00016780: 6275 7469 6f6e 2e0a 0a20 2020 5765 2061 bution... We a\n+00016790: 6c73 6f20 6e65 6564 2061 2070 726f 746f lso need a proto\n+000167a0: 7479 7069 6361 6c20 7370 6865 7265 2074 typical sphere t\n+000167b0: 6f20 7573 6520 666f 7220 7468 6520 6a6f o use for the jo\n+000167c0: 696e 7473 2074 6865 6d73 656c 7665 732e ints themselves.\n+000167d0: 0a20 2064 6566 206a 6f69 6e74 5f73 7068 . def joint_sph\n+000167e0: 6572 6520 7b0a 2020 2020 6465 6620 6e5f ere {. def n_\n+000167f0: 6a6f 696e 745f 6661 6365 7320 380a 2020 joint_faces 8. \n+00016800: 2020 7377 6565 7020 5b66 696c 6c63 6f6c sweep [fillcol\n+00016810: 6f72 3d72 6564 5d20 7b20 6e5f 6a6f 696e or=red] { n_join\n+00016820: 745f 6661 6365 732c 2072 6f74 6174 6528 t_faces, rotate(\n+00016830: 3336 3020 2f20 6e5f 6a6f 696e 745f 6661 360 / n_joint_fa\n+00016840: 6365 732c 205b 4a5d 2920 7d0a 2020 2020 ces, [J]) }. \n+00016850: 2020 7377 6565 7020 7b20 6e5f 6a6f 696e sweep { n_join\n+00016860: 745f 6661 6365 732c 2072 6f74 6174 6528 t_faces, rotate(\n+00016870: 3138 3020 2f20 6e5f 6a6f 696e 745f 6661 180 / n_joint_fa\n+00016880: 6365 7329 207d 200a 2020 2020 2020 2020 ces) } . \n+00016890: 2830 2c20 2d6a 6f69 6e74 5f72 6164 290a (0, -joint_rad).\n+000168a0: 2020 7d0a 0a20 2020 5765 276c 6c20 6e6f }.. We'll no\n+000168b0: 7720 6465 7369 676e 2074 6865 2069 6e64 w design the ind\n+000168c0: 6578 2066 696e 6765 7220 286e 756d 6265 ex finger (numbe\n+000168d0: 7220 3120 696e 206f 7572 206e 6f74 6174 r 1 in our notat\n+000168e0: 696f 6e61 6c0a 636f 6e76 656e 7469 6f6e ional.convention\n+000168f0: 3b20 6669 6e67 6572 2030 2069 7320 7468 ; finger 0 is th\n+00016900: 6520 7468 756d 6229 2e20 2054 6865 2064 e thumb). The d\n+00016910: 6973 7461 6c20 726f 7461 7469 6f6e 2066 istal rotation f\n+00016920: 6f72 2074 6865 2066 696e 6765 720a 6170 or the finger.ap\n+00016930: 706c 6965 7320 6f6e 6c79 2074 6f20 7468 plies only to th\n+00016940: 6520 7469 702c 2073 6f20 7765 2064 6566 e tip, so we def\n+00016950: 696e 6520 7468 6520 666f 6c6c 6f77 696e ine the followin\n+00016960: 672e 0a20 2064 6566 2064 6973 7461 6c5f g.. def distal_\n+00016970: 3120 7b0a 2020 2020 7075 7420 7b20 7472 1 {. put { tr\n+00016980: 616e 736c 6174 6528 6a6f 696e 745f 6761 anslate(joint_ga\n+00016990: 7020 2a20 6a6f 696e 745f 7261 6420 2a20 p * joint_rad * \n+000169a0: 5b4a 5d29 200a 2020 2020 2020 2020 2020 [J]) . \n+000169b0: 7468 656e 2072 6f74 6174 6528 6469 7374 then rotate(dist\n+000169c0: 616c 5f31 5f72 6f74 2c20 5b49 5d29 200a al_1_rot, [I]) .\n+000169d0: 2020 2020 2020 2020 2020 7468 656e 2074 then t\n+000169e0: 7261 6e73 6c61 7465 2828 6469 7374 616c ranslate((distal\n+000169f0: 5f6c 656e 202b 206a 6f69 6e74 5f67 6170 _len + joint_gap\n+00016a00: 202a 206a 6f69 6e74 5f72 6164 2920 2a20 * joint_rad) * \n+00016a10: 5b4a 5d29 207d 0a20 2020 2020 207b 7365 [J]) }. {se\n+00016a20: 676d 656e 747d 0a20 2020 2070 7574 207b gment}. put {\n+00016a30: 2072 6f74 6174 6528 6469 7374 616c 5f31 rotate(distal_1\n+00016a40: 5f72 6f74 202f 2032 2c20 5b49 5d29 0a20 _rot / 2, [I]). \n+00016a50: 2020 2020 2020 2020 2074 6865 6e20 7472 then tr\n+00016a60: 616e 736c 6174 6528 2864 6973 7461 6c5f anslate((distal_\n+00016a70: 6c65 6e20 2b20 6a6f 696e 745f 6761 7020 len + joint_gap \n+00016a80: 2a20 6a6f 696e 745f 7261 6429 202a 205b * joint_rad) * [\n+00016a90: 4a5d 2920 7d20 0a20 2020 2020 207b 6a6f J]) } . {jo\n+00016aa0: 696e 745f 7370 6865 7265 7d0a 2020 2020 int_sphere}. \n+00016ab0: 7075 7420 7b20 7363 616c 6528 205b 4a5d put { scale( [J]\n+00016ac0: 202b 2070 726f 7869 6d61 6c5f 6469 7374 + proximal_dist\n+00016ad0: 616c 5f72 6174 696f 202a 2028 5b49 5d2b al_ratio * ([I]+\n+00016ae0: 5b4b 5d29 2029 207d 0a20 2020 2020 207b [K]) ) }. {\n+00016af0: 7365 676d 656e 747d 0a20 207d 2020 0a54 segment}. } .T\n+00016b00: 6865 2069 6465 6e74 6966 6965 7273 2068 he identifiers h\n+00016b10: 6572 6520 6172 6520 666f 7220 7369 7a65 ere are for size\n+00016b20: 2061 6e64 206c 6f63 6174 696f 6e20 636f and location co\n+00016b30: 6e73 7461 6e74 732e 2020 5468 6520 6578 nstants. The ex\n+00016b40: 6365 7074 696f 6e0a 6973 20e2 8098 6469 ception.is ...di\n+00016b50: 7374 616c 5f72 6f74 5f31 e280 992e 2020 stal_rot_1.... \n+00016b60: 5468 6973 2072 6f74 6174 696f 6e20 7061 This rotation pa\n+00016b70: 7261 6d65 7465 7220 6d6f 6465 6c73 2074 rameter models t\n+00016b80: 6865 2066 6c65 7869 6e67 206f 6620 7468 he flexing of th\n+00016b90: 650a 6669 6e67 6572 2074 6970 2e20 2054 e.finger tip. T\n+00016ba0: 6865 2066 6972 7374 20e2 8098 7075 74e2 he first ...put.\n+00016bb0: 8099 206d 616b 6573 2061 2063 6f70 7920 .. makes a copy \n+00016bc0: 6f66 2074 6865 2066 696e 6765 7220 7365 of the finger se\n+00016bd0: 676d 656e 7420 7468 6174 2069 730a 7472 gment that is.tr\n+00016be0: 616e 736c 6174 6564 2075 7077 6172 6420 anslated upward \n+00016bf0: 6a75 7374 2066 6172 2065 6e6f 7567 6820 just far enough \n+00016c00: 746f 206d 616b 6520 726f 6f6d 2066 6f72 to make room for\n+00016c10: 2074 6865 2073 7068 6572 6963 616c 206a the spherical j\n+00016c20: 6f69 6e74 2e0a 5468 656e 2069 7420 6170 oint..Then it ap\n+00016c30: 706c 6965 7320 7468 6520 6469 7374 616c plies the distal\n+00016c40: 2072 6f74 6174 696f 6e2e 2020 4669 6e61 rotation. Fina\n+00016c50: 6c6c 7920 6974 2074 7261 6e73 6c61 7465 lly it translate\n+00016c60: 7320 7468 6520 7768 6f6c 650a 6173 7365 s the whole.asse\n+00016c70: 6d62 6c79 2075 7077 6172 6420 6167 6169 mbly upward agai\n+00016c80: 6e20 746f 206d 616b 6520 726f 6f6d 2066 n to make room f\n+00016c90: 6f72 2074 6865 206d 6964 646c 6520 7068 or the middle ph\n+00016ca0: 6c61 6e67 6573 2028 7468 6520 6e65 7874 langes (the next\n+00016cb0: 0a62 6f6e 6520 746f 7761 7264 2074 6865 .bone toward the\n+00016cc0: 2070 616c 6d29 2e20 2054 6865 2073 6563 palm). The sec\n+00016cd0: 6f6e 6420 e280 9870 7574 e280 9920 706f ond ...put... po\n+00016ce0: 7369 7469 6f6e 7320 7468 6520 7370 6865 sitions the sphe\n+00016cf0: 7265 2e20 2054 6865 7265 2069 730a 6120 re. There is.a \n+00016d00: 726f 7461 7469 6f6e 2074 6f20 706c 6163 rotation to plac\n+00016d10: 6520 7468 6520 6772 6964 206f 6e20 7468 e the grid on th\n+00016d20: 6520 7370 6865 7265 2073 7572 6661 6365 e sphere surface\n+00016d30: 2061 7420 616e 206e 6963 6520 616e 676c at an nice angl\n+00016d40: 652c 0a74 6865 6e20 6120 7472 616e 736c e,.then a transl\n+00016d50: 6174 696f 6e20 746f 2074 6865 2062 6173 ation to the bas\n+00016d60: 6520 6f66 2074 6865 2064 6973 7461 6c20 e of the distal \n+00016d70: 7068 6c61 6e67 6573 2c20 7768 6963 6820 phlanges, which \n+00016d80: 6973 2061 6c73 6f0a 6365 6e74 6572 206f is also.center o\n+00016d90: 6620 6974 7320 726f 7461 7469 6f6e 2e20 f its rotation. \n+00016da0: 2046 696e 616c 6c79 2c20 7468 6520 6c61 Finally, the la\n+00016db0: 7374 20e2 8098 7075 74e2 8099 2070 6f73 st ...put... pos\n+00016dc0: 6974 696f 6e73 2074 6865 206d 6964 646c itions the middl\n+00016dd0: 650a 7365 676d 656e 7420 6974 7365 6c66 e.segment itself\n+00016de0: 2e0a 0a20 2020 5468 6520 6d69 6464 6c65 ... The middle\n+00016df0: 206a 6f69 6e74 2069 7320 7468 6520 6e65 joint is the ne\n+00016e00: 7874 206f 6e65 2064 6f77 6e2c 2077 6974 xt one down, wit\n+00016e10: 6820 726f 7461 7469 6f6e 2061 6e67 6c65 h rotation angle\n+00016e20: 0ae2 8098 6d69 6464 6c65 5f72 6f74 5f31 ....middle_rot_1\n+00016e30: e280 992e 2020 5768 656e 2074 6869 7320 .... When this \n+00016e40: 616e 676c 6520 6368 616e 6765 732c 2077 angle changes, w\n+00016e50: 6520 6e65 6564 2061 6c6c 2074 6865 206f e need all the o\n+00016e60: 626a 6563 7473 2069 6e0a e280 9864 6973 bjects in....dis\n+00016e70: 7461 6c5f 31e2 8099 2074 6f20 726f 7461 tal_1... to rota\n+00016e80: 7465 2061 7320 6120 756e 6974 2e20 2054 te as a unit. T\n+00016e90: 6869 7320 6973 2074 6865 2072 6561 736f his is the reaso\n+00016ea0: 6e69 6e67 2062 6568 696e 6420 7468 6520 ning behind the \n+00016eb0: 6e65 7874 0a64 6566 696e 6974 696f 6e2e next.definition.\n+00016ec0: 0a20 2064 6566 2066 696e 6765 725f 3120 . def finger_1 \n+00016ed0: 7b0a 2020 2020 7075 7420 7b20 7472 616e {. put { tran\n+00016ee0: 736c 6174 6528 6a6f 696e 745f 6761 7020 slate(joint_gap \n+00016ef0: 2a20 6a6f 696e 745f 7261 6420 2a20 5b4a * joint_rad * [J\n+00016f00: 5d29 0a20 2020 2020 2020 2020 2074 6865 ]). the\n+00016f10: 6e20 726f 7461 7465 286d 6964 646c 655f n rotate(middle_\n+00016f20: 315f 726f 742c 205b 495d 290a 2020 2020 1_rot, [I]). \n+00016f30: 2020 2020 2020 7468 656e 2074 7261 6e73 then trans\n+00016f40: 6c61 7465 2828 6d69 6464 6c65 5f72 6174 late((middle_rat\n+00016f50: 696f 202a 2064 6973 7461 6c5f 6c65 6e20 io * distal_len \n+00016f60: 2b20 0a20 2020 2020 2020 2020 2020 2020 + . \n+00016f70: 2020 2020 2020 2020 2020 2020 206a 6f69 joi\n+00016f80: 6e74 5f67 6170 202a 206a 6f69 6e74 5f72 nt_gap * joint_r\n+00016f90: 6164 2920 2a20 5b4a 5d29 207d 0a20 2020 ad) * [J]) }. \n+00016fa0: 2020 207b 6469 7374 616c 5f31 7d0a 2020 {distal_1}. \n+00016fb0: 2020 7075 7420 7b20 7363 616c 6528 7072 put { scale(pr\n+00016fc0: 6f78 696d 616c 5f64 6973 7461 6c5f 7261 oximal_distal_ra\n+00016fd0: 7469 6f29 0a20 2020 2020 2020 2020 2074 tio). t\n+00016fe0: 6865 6e20 726f 7461 7465 286d 6964 646c hen rotate(middl\n+00016ff0: 655f 315f 726f 7420 2f20 322c 205b 495d e_1_rot / 2, [I]\n+00017000: 290a 2020 2020 2020 2020 2020 7468 656e ). then\n+00017010: 2074 7261 6e73 6c61 7465 2828 6d69 6464 translate((midd\n+00017020: 6c65 5f72 6174 696f 202a 2064 6973 7461 le_ratio * dista\n+00017030: 6c5f 6c65 6e20 2b20 0a20 2020 2020 2020 l_len + . \n+00017040: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00017050: 2020 206a 6f69 6e74 5f67 6170 202a 206a joint_gap * j\n+00017060: 6f69 6e74 5f72 6164 2920 2a20 5b4a 5d29 oint_rad) * [J])\n+00017070: 207d 200a 2020 2020 2020 7b6a 6f69 6e74 } . {joint\n+00017080: 5f73 7068 6572 657d 0a20 2020 2070 7574 _sphere}. put\n+00017090: 207b 2073 6361 6c65 2820 6d69 6464 6c65 { scale( middle\n+000170a0: 5f72 6174 696f 202a 205b 4a5d 202b 200a _ratio * [J] + .\n+000170b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000170c0: 2070 726f 7869 6d61 6c5f 6469 7374 616c proximal_distal\n+000170d0: 5f72 6174 696f 5e32 202a 2028 5b49 5d2b _ratio^2 * ([I]+\n+000170e0: 5b4b 5d29 2029 207d 0a20 2020 2020 207b [K]) ) }. {\n+000170f0: 7365 676d 656e 747d 0a20 207d 0a54 6869 segment}. }.Thi\n+00017100: 7320 6c6f 6f6b 7320 7665 7279 2073 696d s looks very sim\n+00017110: 696c 6172 2074 6f20 7468 6520 7072 6576 ilar to the prev\n+00017120: 696f 7573 2064 6566 696e 6974 696f 6e2c ious definition,\n+00017130: 2061 6e64 2069 7420 6973 2e20 2054 6865 and it is. The\n+00017140: 0a69 6d70 6f72 7461 6e74 2064 6966 6665 .important diffe\n+00017150: 7265 6e63 6520 6973 2074 6861 7420 7261 rence is that ra\n+00017160: 7468 6572 2074 6861 6e20 706f 7369 7469 ther than positi\n+00017170: 6f6e 696e 6720 616e 6420 726f 7461 7469 oning and rotati\n+00017180: 6e67 2061 0a73 696e 676c 6520 7365 676d ng a.single segm\n+00017190: 656e 742c 2077 6520 706f 7369 7469 6f6e ent, we position\n+000171a0: 2061 6e64 2072 6f74 6174 6520 7468 6520 and rotate the \n+000171b0: 656e 7469 7265 2022 6173 7365 6d62 6c79 entire \"assembly\n+000171c0: 2220 6465 6669 6e65 6420 6173 0ae2 8098 \" defined as....\n+000171d0: 6469 7374 616c 5f31 e280 992e 2020 5468 distal_1.... Th\n+000171e0: 6520 7265 7374 2069 7320 6a75 7374 2061 e rest is just a\n+000171f0: 7269 7468 6d65 7469 6320 746f 2063 6f6d rithmetic to com\n+00017200: 7075 7465 2073 697a 6573 2061 6e64 2070 pute sizes and p\n+00017210: 6f73 6974 696f 6e73 0a74 6861 7420 6c6f ositions.that lo\n+00017220: 6f6b 206e 6963 652e 2020 5468 6520 6c61 ok nice. The la\n+00017230: 7374 20e2 8098 7075 74e2 8099 2070 6c61 st ...put... pla\n+00017240: 6365 7320 616e 2061 7070 726f 7072 6961 ces an appropria\n+00017250: 7465 6c79 2073 6861 7065 6420 7365 676d tely shaped segm\n+00017260: 656e 740a 7468 6174 2069 7320 7468 6520 ent.that is the \n+00017270: 5f70 726f 7869 6d61 6c20 7068 6c61 6e67 _proximal phlang\n+00017280: 6573 5f2c 2074 6865 2062 6f6e 6520 7468 es_, the bone th\n+00017290: 6174 206a 6f69 6e73 2074 6865 2070 616c at joins the pal\n+000172a0: 6d20 6f66 2074 6865 0a68 616e 642e 2020 m of the.hand. \n+000172b0: 5468 6973 2063 6f6d 706c 6574 6573 2074 This completes t\n+000172c0: 6865 2066 696e 6765 7220 6974 7365 6c66 he finger itself\n+000172d0: 2e0a 0a20 2020 416c 6c20 7468 6520 6f74 ... All the ot\n+000172e0: 6865 7220 6669 6e67 6572 7320 6172 6520 her fingers are \n+000172f0: 6465 7363 7269 6265 6420 6964 656e 7469 described identi\n+00017300: 6361 6c6c 7920 746f 2074 6869 7320 6f6e cally to this on\n+00017310: 652e 2020 5765 0a61 6363 6f75 6e74 2066 e. We.account f\n+00017320: 6f72 2074 6865 2066 6163 7420 7468 6174 or the fact that\n+00017330: 2072 6561 6c20 6669 6e67 6572 7320 6172 real fingers ar\n+00017340: 6520 6469 6666 6572 656e 7420 7369 7a65 e different size\n+00017350: 7320 696e 2074 6865 206e 6578 740a 7374 s in the next.st\n+00017360: 6570 2c20 7768 6963 6820 6973 2074 6f20 ep, which is to \n+00017370: 6275 696c 6420 7468 6520 656e 7469 7265 build the entire\n+00017380: 2068 616e 642e 0a0a 2020 2054 6865 20e2 hand... The .\n+00017390: 8098 6861 6e64 e280 9920 6465 6669 6e69 ..hand... defini\n+000173a0: 7469 6f6e 2074 6861 7420 666f 6c6c 6f77 tion that follow\n+000173b0: 7320 696e 636c 7564 6573 2061 2073 6563 s includes a sec\n+000173c0: 7469 6f6e 2066 6f72 2065 6163 680a 6669 tion for each.fi\n+000173d0: 6e67 6572 2e20 2057 6527 6c6c 2063 6f6e nger. We'll con\n+000173e0: 7469 6e75 6520 7769 7468 2066 696e 6765 tinue with finge\n+000173f0: 7220 3120 616e 6420 6f6d 6974 2061 6c6c r 1 and omit all\n+00017400: 2074 6865 206f 7468 6572 732e 2020 284f the others. (O\n+00017410: 6620 6e6f 7465 0a69 7320 7468 6174 2074 f note.is that t\n+00017420: 6865 2074 6875 6d62 206e 6565 6473 2073 he thumb needs s\n+00017430: 6c69 6768 746c 7920 7370 6563 6961 6c20 lightly special \n+00017440: 7472 6561 746d 656e 742d 2d61 6e20 6578 treatment--an ex\n+00017450: 7472 6120 726f 7461 7469 6f6e 2074 6f0a tra rotation to.\n+00017460: 6163 636f 756e 7420 666f 7220 6974 7320 account for its \n+00017470: 6f70 706f 7369 6e67 2061 6e67 6c65 2e20 opposing angle. \n+00017480: 2054 6869 7320 6973 2063 6c65 6172 2069 This is clear i\n+00017490: 6e20 7468 6520 6675 6c6c 2073 6f75 7263 n the full sourc\n+000174a0: 6520 636f 6465 2e29 0a4e 6f74 2073 7572 e code.).Not sur\n+000174b0: 7072 6973 696e 676c 792c 2074 6865 20e2 prisingly, the .\n+000174c0: 8098 6861 6e64 e280 9920 6465 6669 6e69 ..hand... defini\n+000174d0: 7469 6f6e 206c 6f6f 6b73 2076 6572 7920 tion looks very \n+000174e0: 6d75 6368 206c 696b 6520 7468 650a 7072 much like the.pr\n+000174f0: 6576 696f 7573 2074 776f 2e20 2049 7420 evious two. It \n+00017500: 7368 6f75 6c64 2062 6520 6e6f 2073 7572 should be no sur\n+00017510: 7072 6973 6520 7468 6174 2077 6865 6e20 prise that when \n+00017520: 7468 6520 726f 7461 7469 6f6e 2070 6172 the rotation par\n+00017530: 616d 6574 6572 0ae2 8098 6d65 7461 5f31 ameter....meta_1\n+00017540: 5f72 6f74 e280 9920 6368 616e 6765 732c _rot... changes,\n+00017550: 2074 6865 2065 6e74 6972 6520 6669 6e67 the entire fing\n+00017560: 6572 2072 6f74 6174 6573 2120 2054 6865 er rotates! The\n+00017570: 7265 2069 7320 616e 2061 6464 6974 696f re is an additio\n+00017580: 6e61 6c0a 726f 7461 7469 6f6e 2074 6861 nal.rotation tha\n+00017590: 7420 616c 6c6f 7773 2074 6865 2066 696e t allows the fin\n+000175a0: 6765 7273 2074 6f20 7370 7265 6164 206c gers to spread l\n+000175b0: 6174 6572 616c 6c79 2e20 2057 6520 7361 aterally. We sa\n+000175c0: 7920 7468 6573 650a 6a6f 696e 7473 206f y these.joints o\n+000175d0: 6620 7468 6520 7072 6f78 696d 616c 2070 f the proximal p\n+000175e0: 686c 616e 6765 7320 6861 7665 2074 776f hlanges have two\n+000175f0: 205f 6465 6772 6565 7320 6f66 2066 7265 _degrees of fre\n+00017600: 6564 6f6d 5f2e 2020 5468 650a 6a6f 696e edom_. The.join\n+00017610: 7473 2068 6967 6865 7220 6f6e 2074 6865 ts higher on the\n+00017620: 2066 696e 6765 7220 6861 7665 206f 6e6c finger have onl\n+00017630: 7920 6f6e 652e 2020 4669 6e61 6c6c 792c y one. Finally,\n+00017640: 2065 6163 6820 6669 6e67 6572 2069 730a each finger is.\n+00017650: 7363 616c 6564 2062 7920 6120 6661 6374 scaled by a fact\n+00017660: 6f72 2074 6f20 6c65 6e64 2069 7420 7072 or to lend it pr\n+00017670: 6f70 6f72 7469 6f6e 2e0a 2020 6465 6620 oportion.. def \n+00017680: 6861 6e64 207b 0a20 2020 2025 2066 696e hand {. % fin\n+00017690: 6765 7220 3120 5b61 6c6c 206f 7468 6572 ger 1 [all other\n+000176a0: 2066 696e 6765 7273 206f 6d69 7474 6564 fingers omitted\n+000176b0: 5d0a 2020 2020 6465 6620 7363 616c 655f ]. def scale_\n+000176c0: 3120 2e38 350a 2020 2020 7075 7420 7b20 1 .85. put { \n+000176d0: 7363 616c 6528 7363 616c 655f 3129 200a scale(scale_1) .\n+000176e0: 2020 2020 2020 2020 2020 7468 656e 2074 then t\n+000176f0: 7261 6e73 6c61 7465 2828 6a6f 696e 745f ranslate((joint_\n+00017700: 6761 7020 2a20 6a6f 696e 745f 7261 6429 gap * joint_rad)\n+00017710: 202a 205b 4a5d 290a 0920 2074 6865 6e20 * [J]).. then \n+00017720: 726f 7461 7465 286d 6574 615f 315f 726f rotate(meta_1_ro\n+00017730: 742c 205b 495d 290a 2020 2020 2020 2020 t, [I]). \n+00017740: 2020 7468 656e 2072 6f74 6174 6528 2d73 then rotate(-s\n+00017750: 7072 6561 645f 726f 742c 205b 4b5d 290a pread_rot, [K]).\n+00017760: 2020 2020 2020 2020 2020 7468 656e 2074 then t\n+00017770: 7261 6e73 6c61 7465 2828 7072 6f78 696d ranslate((proxim\n+00017780: 616c 5f31 5f6c 6f63 2920 2d20 284f 2929 al_1_loc) - (O))\n+00017790: 207d 200a 2020 2020 2020 7b66 696e 6765 } . {finge\n+000177a0: 725f 317d 0a20 2020 2070 7574 207b 2073 r_1}. put { s\n+000177b0: 6361 6c65 2873 6361 6c65 5f31 202a 2070 cale(scale_1 * p\n+000177c0: 726f 7869 6d61 6c5f 6469 7374 616c 5f72 roximal_distal_r\n+000177d0: 6174 696f 5e32 290a 2020 2020 2020 2020 atio^2). \n+000177e0: 2020 7468 656e 2072 6f74 6174 6528 6d65 then rotate(me\n+000177f0: 7461 5f31 5f72 6f74 202f 2032 2c20 5b49 ta_1_rot / 2, [I\n+00017800: 5d29 0a20 2020 2020 2020 2020 2074 6865 ]). the\n+00017810: 6e20 726f 7461 7465 282d 7370 7265 6164 n rotate(-spread\n+00017820: 5f72 6f74 2c20 5b4b 5d29 0a20 2020 2020 _rot, [K]). \n+00017830: 2020 2020 2074 6865 6e20 7472 616e 736c then transl\n+00017840: 6174 6528 2870 726f 7869 6d61 6c5f 315f ate((proximal_1_\n+00017850: 6c6f 6329 202d 2028 4f29 2920 7d20 0a20 loc) - (O)) } . \n+00017860: 2020 2020 207b 6a6f 696e 745f 7370 6865 {joint_sphe\n+00017870: 7265 7d0a 0a20 2020 2025 2070 616c 6d0a re}.. % palm.\n+00017880: 2020 2020 7377 6565 7020 7b20 312c 2072 sweep { 1, r\n+00017890: 6f74 6174 6528 362c 2028 302c 3135 2c30 otate(6, (0,15,0\n+000178a0: 292c 205b 495d 2920 7d0a 2020 2020 2020 ), [I]) }. \n+000178b0: 7075 7420 7b20 726f 7461 7465 282d 332c put { rotate(-3,\n+000178c0: 2028 302c 3135 2c30 292c 205b 495d 2920 (0,15,0), [I]) \n+000178d0: 7d20 7b0a 2020 2020 2020 2020 706f 6c79 } {. poly\n+000178e0: 676f 6e28 7072 6f78 696d 616c 5f31 5f6c gon(proximal_1_l\n+000178f0: 6f63 2928 7072 6f78 696d 616c 5f32 5f6c oc)(proximal_2_l\n+00017900: 6f63 290a 2020 2020 2020 2020 2020 2020 oc). \n+00017910: 2020 2028 7072 6f78 696d 616c 5f33 5f6c (proximal_3_l\n+00017920: 6f63 2928 7072 6f78 696d 616c 5f34 5f6c oc)(proximal_4_l\n+00017930: 6f63 290a 2020 2020 2020 2020 2020 2020 oc). \n+00017940: 2020 2028 6835 2928 6836 2928 6836 6129 (h5)(h6)(h6a)\n+00017950: 2868 3929 2868 3130 290a 2020 2020 2020 (h9)(h10). \n+00017960: 2020 706f 6c79 676f 6e28 6836 6129 2868 polygon(h6a)(h\n+00017970: 3729 2868 3829 2868 3929 0a20 2020 7d20 7)(h8)(h9). } \n+00017980: 207d 0a54 6865 206c 6173 7420 7365 6374 }.The last sect\n+00017990: 696f 6e20 6f66 2074 6865 2064 6566 696e ion of the defin\n+000179a0: 6974 696f 6e20 6372 6561 7465 7320 7468 ition creates th\n+000179b0: 6520 706f 6c79 746f 7065 2066 6f72 2074 e polytope for t\n+000179c0: 6865 2070 616c 6d20 6f66 0a74 6865 2068 he palm of.the h\n+000179d0: 616e 6420 6279 20e2 8098 7377 6565 70e2 and by ...sweep.\n+000179e0: 8099 696e 6720 6120 3130 2d73 6964 6564 ..ing a 10-sided\n+000179f0: 2070 6f6c 7967 6f6e 2074 6872 6f75 6768 polygon through\n+00017a00: 2061 2076 6572 7920 7368 6f72 7420 6172 a very short ar\n+00017a10: 630a 2839 2064 6567 7265 6573 292e 2020 c.(9 degrees). \n+00017a20: 5468 6973 2070 726f 7669 6465 7320 6120 This provides a \n+00017a30: 7765 6467 652d 7368 6170 6564 2070 726f wedge-shaped pro\n+00017a40: 6669 6c65 2077 6865 6e20 7669 6577 6564 file when viewed\n+00017a50: 2066 726f 6d20 7468 650a 7369 6465 2e20 from the.side. \n+00017a60: 2054 6865 2074 6869 636b 2065 6e64 206f The thick end o\n+00017a70: 6620 7468 6520 7765 6467 6520 6973 2074 f the wedge is t\n+00017a80: 6865 2077 7269 7374 2e20 2042 6563 6175 he wrist. Becau\n+00017a90: 7365 2074 6865 2070 6f6c 7967 6f6e 2069 se the polygon i\n+00017aa0: 730a 636f 6e63 6176 652c 2069 7420 6973 s.concave, it is\n+00017ab0: 2073 706c 6974 2069 6e74 6f20 696e 746f split into into\n+00017ac0: 2074 776f 2063 6f6e 7665 7820 7368 6170 two convex shap\n+00017ad0: 6573 2077 6974 6820 6e69 6e65 2061 6e64 es with nine and\n+00017ae0: 2066 6f75 720a 7665 7274 6963 6573 2e0a four.vertices..\n+00017af0: 0a20 2020 5765 2063 616e 206e 6f77 2068 . We can now h\n+00017b00: 6176 6520 6675 6e20 706f 7369 7469 6f6e ave fun position\n+00017b10: 696e 6720 7468 6520 6861 6e64 2062 7920 ing the hand by \n+00017b20: 6164 6a75 7374 696e 6720 7468 6520 7661 adjusting the va\n+00017b30: 7269 6f75 730a 726f 7461 7469 6f6e 2061 rious.rotation a\n+00017b40: 6e67 6c65 732e 2020 5468 6520 636f 6d70 ngles. The comp\n+00017b50: 6c65 7465 2073 6f75 7263 6520 696e 636c lete source incl\n+00017b60: 7564 6573 2064 6566 696e 6974 696f 6e73 udes definitions\n+00017b70: 2077 6974 680a 616c 7465 726e 6174 6976 with.alternativ\n+00017b80: 6573 2074 6861 7420 696e 636c 7564 6520 es that include \n+00017b90: 7468 6520 666f 6c6c 6f77 696e 6720 7669 the following vi\n+00017ba0: 6577 7320 616e 6420 6d6f 7265 2e0a 0a00 ews and more....\n+00017bb0: 085b 696d 6167 6520 7372 633d 2265 7832 .[image src=\"ex2\n+00017bc0: 3130 2e70 6e67 2220 7465 7874 3d22 496d 10.png\" text=\"Im\n+00017bd0: 6167 6520 6578 3231 3020 6f6d 6974 7465 age ex210 omitte\n+00017be0: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio\n+00017bf0: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume\n+00017c00: 6e74 2e22 0008 5d00 085b 696d 6167 6520 nt.\"..]..[image \n+00017c10: 7372 633d 2265 7832 3230 2e70 6e67 2220 src=\"ex220.png\" \n+00017c20: 7465 7874 3d22 496d 6167 6520 6578 3232 text=\"Image ex22\n+00017c30: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex\n+00017c40: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi\n+00017c50: 7320 646f 6375 6d65 6e74 2e22 0008 5d00 s document.\"..].\n+00017c60: 085b 696d 6167 6520 7372 633d 2265 7832 .[image src=\"ex2\n+00017c70: 3330 2e70 6e67 2220 7465 7874 3d22 496d 30.png\" text=\"Im\n+00017c80: 6167 6520 6578 3233 3020 6f6d 6974 7465 age ex230 omitte\n+00017c90: 6420 696e 2074 6578 7420 7665 7273 696f d in text versio\n+00017ca0: 6e20 6f66 2074 6869 7320 646f 6375 6d65 n of this docume\n+00017cb0: 6e74 2e22 0008 5d00 085b 696d 6167 6520 nt.\"..]..[image \n+00017cc0: 7372 633d 2265 7832 3430 2e70 6e67 2220 src=\"ex240.png\" \n+00017cd0: 7465 7874 3d22 496d 6167 6520 6578 3234 text=\"Image ex24\n+00017ce0: 3020 6f6d 6974 7465 6420 696e 2074 6578 0 omitted in tex\n+00017cf0: 7420 7665 7273 696f 6e20 6f66 2074 6869 t version of thi\n+00017d00: 7320 646f 6375 6d65 6e74 2e22 0008 5d0a s document.\"..].\n+00017d10: 0a1f 0a46 696c 653a 2073 6b65 7463 682e ...File: sketch.\n+00017d20: 696e 666f 2c20 204e 6f64 653a 2043 6176 info, Node: Cav\n+00017d30: 6561 7473 2c20 2050 7265 763a 2041 2068 eats, Prev: A h\n+00017d40: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n+00017d50: 6c2c 2020 5570 3a20 4275 696c 6469 6e67 l, Up: Building\n+00017d60: 2061 2064 7261 7769 6e67 0a0a 342e 3420 a drawing..4.4 \n+00017d70: 4361 7665 6174 730a 3d3d 3d3d 3d3d 3d3d Caveats.========\n+00017d80: 3d3d 3d0a 0ae2 8098 536b 6574 6368 e280 ===.....Sketch..\n+00017d90: 9920 6973 2061 2066 6169 726c 7920 706f . is a fairly po\n+00017da0: 7765 7266 756c 2074 6f6f 6c20 666f 7220 werful tool for \n+00017db0: 6472 6177 696e 672c 2062 7574 2c20 6a75 drawing, but, ju\n+00017dc0: 7374 2061 7320 7769 7468 2054 6558 2c0a st as with TeX,.\n+00017dd0: 7468 6520 706f 7765 7220 746f 2063 7265 the power to cre\n+00017de0: 6174 6520 6265 6175 7469 6675 6c20 7265 ate beautiful re\n+00017df0: 7375 6c74 7320 636f 6d65 7320 616c 6f6e sults comes alon\n+00017e00: 6720 7769 7468 2074 6865 2070 6f77 6572 g with the power\n+00017e10: 2074 6f20 6d61 6b65 0a6d 6973 7461 6b65 to make.mistake\n+00017e20: 732e 2020 5468 6520 666f 6c6c 6f77 696e s. The followin\n+00017e30: 6720 6172 6520 736f 6d65 2070 6f69 6e74 g are some point\n+00017e40: 7320 7768 6572 6520 6361 7265 2069 7320 s where care is \n+00017e50: 6e65 6365 7373 6172 7920 616e 640a 7768 necessary and.wh\n+00017e60: 6572 6520 7468 6520 6375 7272 656e 7420 ere the current \n+00017e70: 7665 7273 696f 6e20 6f66 20e2 8098 736b version of ...sk\n+00017e80: 6574 6368 e280 9920 6973 206c 696d 6974 etch... is limit\n+00017e90: 6564 206f 7220 6861 7320 6b6e 6f77 6e20 ed or has known \n+00017ea0: 6275 6773 2e0a 0a2a 204d 656e 753a 0a0a bugs...* Menu:..\n+00017eb0: 2a20 4c69 6d69 7473 206f 6e20 6572 726f * Limits on erro\n+00017ec0: 7220 6465 7465 6374 696f 6e3a 3a20 2020 r detection:: \n+00017ed0: 5768 6174 2073 6b65 7463 6820 646f 6573 What sketch does\n+00017ee0: 6e27 7420 646f 2e0a 2a20 436c 6970 7069 n't do..* Clippi\n+00017ef0: 6e67 3a3a 2020 2020 2020 2020 2020 2020 ng:: \n+00017f00: 2020 2020 2020 2020 4e6f 2063 6c69 7070 No clipp\n+00017f10: 696e 6720 6174 2070 7265 7365 6e74 2e0a ing at present..\n+00017f20: 2a20 4869 6464 656e 2073 7572 6661 6365 * Hidden surface\n+00017f30: 2072 656d 6f76 616c 3a3a 2020 2020 2020 removal:: \n+00017f40: 496d 7065 7266 6563 7469 6f6e 7320 746f Imperfections to\n+00017f50: 2066 6978 2e0a 0a1f 0a46 696c 653a 2073 fix.....File: s\n+00017f60: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n+00017f70: 653a 204c 696d 6974 7320 6f6e 2065 7272 e: Limits on err\n+00017f80: 6f72 2064 6574 6563 7469 6f6e 2c20 204e or detection, N\n+00017f90: 6578 743a 2043 6c69 7070 696e 672c 2020 ext: Clipping, \n+00017fa0: 5072 6576 3a20 4361 7665 6174 732c 2020 Prev: Caveats, \n+00017fb0: 5570 3a20 4361 7665 6174 730a 0a34 2e34 Up: Caveats..4.4\n+00017fc0: 2e31 204c 696d 6974 7320 6f6e 20e2 8098 .1 Limits on ...\n+00017fd0: 736b 6574 6368 e280 9920 6572 726f 7220 sketch... error \n+00017fe0: 6465 7465 6374 696f 6e0a 2d2d 2d2d 2d2d detection.------\n 00017ff0: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n-00018000: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a e280 ------------....\n-00018010: 9853 6b65 7463 68e2 8099 2063 6174 6368 .Sketch... catch\n-00018020: 6573 206d 616e 7920 6b69 6e64 7320 6f66 es many kinds of\n-00018030: 2065 7272 6f72 732c 2062 7574 206e 6f74 errors, but not\n-00018040: 2061 6c6c 2e20 2046 6f72 2065 7861 6d70 all. For examp\n-00018050: 6c65 2c0a 6f70 7469 6f6e 7320 7468 6174 le,.options that\n-00018060: 2073 6b65 7463 6820 646f 6573 206e 6f74 sketch does not\n-00018070: 2072 6563 6f67 6e69 7a65 2c20 6576 656e recognize, even\n-00018080: 2069 6e63 6f72 7265 6374 206f 6e65 732c incorrect ones,\n-00018090: 2061 7265 2071 7569 6574 6c79 0a63 6f70 are quietly.cop\n-000180a0: 6965 6420 746f 20e2 8098 5053 5472 6963 ied to ...PSTric\n-000180b0: 6b73 e280 9920 636f 6d6d 616e 6473 2069 ks... commands i\n-000180c0: 6e20 7468 6520 6f75 7470 7574 2e20 2049 n the output. I\n-000180d0: 7420 6973 2061 6c73 6f20 756e 666f 7274 t is also unfort\n-000180e0: 756e 6174 656c 790a 6561 7379 2074 6f20 unately.easy to \n-000180f0: 7072 6f64 7563 6520 e280 9873 6b65 7463 produce ...sketc\n-00018100: 68e2 8099 2069 6e70 7574 7320 7468 6174 h... inputs that\n-00018110: 206c 6561 6420 746f 206e 6f20 7069 6374 lead to no pict\n-00018120: 7572 6520 6174 2061 6c6c 2028 696d 7072 ure at all (impr\n-00018130: 6f70 6572 0a76 6572 7465 7820 6f72 6465 oper.vertex orde\n-00018140: 7269 6e67 2063 6175 7365 7320 6576 6572 ring causes ever\n-00018150: 7974 6869 6e67 2074 6f20 6265 2063 756c ything to be cul\n-00018160: 6c65 6429 2c20 746f 2070 6963 7475 7265 led), to picture\n-00018170: 7320 7468 6174 2061 7265 0a74 6f6f 2062 s that are.too b\n-00018180: 6967 206f 7220 746f 6f20 736d 616c 6c20 ig or too small \n-00018190: 666f 7220 e280 9850 5354 7269 636b 73e2 for ...PSTricks.\n-000181a0: 8099 2074 6f20 6472 6177 2028 6475 6520 .. to draw (due \n-000181b0: 746f 206c 696d 6974 7320 6f66 2054 6558 to limits of TeX\n-000181c0: 206d 6174 6829 2c0a 616e 6420 7069 6374 math),.and pict\n-000181d0: 7572 6573 2074 6861 7420 6c6f 6f6b 206e ures that look n\n-000181e0: 6f74 6869 6e67 206c 696b 6520 7768 6174 othing like what\n-000181f0: 2077 6173 2069 6e74 656e 6465 642e 2020 was intended. \n-00018200: 4120 7069 6374 7572 6520 7769 7468 0a6f A picture with.o\n-00018210: 6e65 206f 6620 7468 6573 6520 7072 6f62 ne of these prob\n-00018220: 6c65 6d73 2063 616e 2062 6520 6469 6666 lems can be diff\n-00018230: 6963 756c 7420 746f 2022 6465 6275 672e icult to \"debug.\n-00018240: 2220 2057 6520 6f66 6665 7220 7468 650a \" We offer the.\n-00018250: 666f 6c6c 6f77 696e 6720 7375 6767 6573 following sugges\n-00018260: 7469 6f6e 732e 0a20 2020 e280 a220 466f tions.. ... Fo\n-00018270: 6c6c 6f77 2074 6865 2073 7567 6765 7374 llow the suggest\n-00018280: 6564 2069 6e63 7265 6d65 6e74 616c 2064 ed incremental d\n-00018290: 6576 656c 6f70 6d65 6e74 206d 6574 686f evelopment metho\n-000182a0: 6420 6465 7363 7269 6265 6420 696e 0a20 d described in. \n-000182b0: 2020 2020 2a6e 6f74 6520 4f76 6572 7669 *note Overvi\n-000182c0: 6577 3a3a 2e0a 2020 20e2 80a2 2041 6c77 ew::.. ... Alw\n-000182d0: 6179 7320 6d61 696e 7461 696e 206f 6e65 ays maintain one\n-000182e0: 206f 7220 7477 6f20 6261 636b 2d76 6572 or two back-ver\n-000182f0: 7369 6f6e 7320 6f66 2061 2064 7261 7769 sions of a drawi\n-00018300: 6e67 2073 6f20 7468 6174 2069 7420 6973 ng so that it is\n-00018310: 0a20 2020 2020 6561 7379 2074 6f20 6661 . easy to fa\n-00018320: 6c6c 2062 6163 6b20 746f 2061 206b 6e6f ll back to a kno\n-00018330: 776e 2d67 6f6f 6420 696e 6372 656d 656e wn-good incremen\n-00018340: 742e 0a20 2020 e280 a220 5768 656e 2075 t.. ... When u\n-00018350: 7369 6e67 20e2 8098 7065 7273 7065 6374 sing ...perspect\n-00018360: 6976 65e2 8099 2c20 656e 7375 7265 2061 ive..., ensure a\n-00018370: 6c6c 2066 696e 616c 6c79 2074 7261 6e73 ll finally trans\n-00018380: 666f 726d 6564 206f 626a 6563 7473 0a20 formed objects. \n-00018390: 2020 2020 7361 7469 7366 7920 7a3c 3020 satisfy z<0 \n-000183a0: 616e 642c 2069 6e20 6661 6374 2c20 646f and, in fact, do\n-000183b0: 206e 6f74 2063 6f6d 6520 7665 7279 2063 not come very c\n-000183c0: 6c6f 7365 2074 6f20 7468 6520 6f72 6967 lose to the orig\n-000183d0: 696e 2061 740a 2020 2020 2061 6c6c 2e0a in at. all..\n-000183e0: 2020 20e2 80a2 2054 656d 706f 7261 7269 ... Temporari\n-000183f0: 6c79 2075 7365 20e2 8098 6375 6c6c 3d66 ly use ...cull=f\n-00018400: 616c 7365 e280 9920 746f 2073 6565 2077 alse... to see w\n-00018410: 6865 7265 2076 6572 7465 7820 6f72 6465 here vertex orde\n-00018420: 7269 6e67 2070 726f 626c 656d 730a 2020 ring problems. \n-00018430: 2020 206c 6965 2e0a 2020 20e2 80a2 2055 lie.. ... U\n-00018440: 7365 2074 656d 706f 7261 7279 2063 6861 se temporary cha\n-00018450: 6e67 6573 206f 6620 636f 6c6f 7220 6f66 nges of color of\n-00018460: 206f 6e65 206f 7220 6d6f 7265 206f 626a one or more obj\n-00018470: 6563 7473 2074 6f20 656e 7375 7265 0a20 ects to ensure. \n-00018480: 2020 2020 7468 6174 2079 6f75 7220 756e that your un\n-00018490: 6465 7273 7461 6e64 696e 6720 6f66 2074 derstanding of t\n-000184a0: 6865 2073 6365 6e65 2067 656f 6d65 7472 he scene geometr\n-000184b0: 7920 6973 2063 6f72 7265 6374 2e0a 2020 y is correct.. \n-000184c0: 20e2 80a2 2049 6620 e280 9850 5354 7269 ... If ...PSTri\n-000184d0: 636b 73e2 8099 2063 6f6d 706c 6169 6e73 cks... complains\n-000184e0: 2061 626f 7574 2073 6f6d 6574 6869 6e67 about something\n-000184f0: 2c20 696e 7370 6563 7420 7468 6520 6f75 , inspect the ou\n-00018500: 7470 7574 0a20 2020 2020 6469 7265 6374 tput. direct\n-00018510: 6c79 2066 6f72 2063 6c75 6573 2e0a 0a1f ly for clues....\n-00018520: 0a46 696c 653a 2073 6b65 7463 682e 696e .File: sketch.in\n-00018530: 666f 2c20 204e 6f64 653a 2043 6c69 7070 fo, Node: Clipp\n-00018540: 696e 672c 2020 4e65 7874 3a20 4869 6464 ing, Next: Hidd\n-00018550: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov\n-00018560: 616c 2c20 2050 7265 763a 204c 696d 6974 al, Prev: Limit\n-00018570: 7320 6f6e 2065 7272 6f72 2064 6574 6563 s on error detec\n-00018580: 7469 6f6e 2c20 2055 703a 2043 6176 6561 tion, Up: Cavea\n-00018590: 7473 0a0a 342e 342e 3220 436c 6970 7069 ts..4.4.2 Clippi\n-000185a0: 6e67 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ng.-------------\n-000185b0: 2d0a 0a54 6865 2063 7572 7265 6e74 2076 -..The current v\n-000185c0: 6572 7369 6f6e 206f 6620 e280 9873 6b65 ersion of ...ske\n-000185d0: 7463 68e2 8099 2068 6173 206e 6f20 636c tch... has no cl\n-000185e0: 6970 7069 6e67 206f 7065 7261 7469 6f6e ipping operation\n-000185f0: 732e 2020 5468 6520 656e 7469 7265 0a73 s. The entire.s\n-00018600: 6365 6e65 2069 7320 616c 7761 7973 2064 cene is always d\n-00018610: 7261 776e 2e20 2054 6869 7320 6d65 616e rawn. This mean\n-00018620: 7320 7468 6174 2077 6865 6e20 6120 7065 s that when a pe\n-00018630: 7273 7065 6374 6976 6520 7472 616e 7366 rspective transf\n-00018640: 6f72 6d20 6973 0a65 6d70 6c6f 7965 642c orm is.employed,\n-00018650: 2069 7420 6973 2074 6865 2075 7365 7227 it is the user'\n-00018660: 7320 7265 7370 6f6e 7369 6269 6c69 7479 s responsibility\n-00018670: 2074 6f20 6d61 6b65 2073 7572 6520 7468 to make sure th\n-00018680: 6520 656e 7469 7265 2073 6365 6e65 0a72 e entire scene.r\n-00018690: 656d 6169 6e73 2069 6e20 6672 6f6e 7420 emains in front \n-000186a0: 6f66 2074 6865 2076 6965 7765 722c 2074 of the viewer, t\n-000186b0: 6865 2072 6567 696f 6e20 7a3c 302e 0a0a he region z<0...\n-000186c0: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n-000186d0: 6e66 6f2c 2020 4e6f 6465 3a20 4869 6464 nfo, Node: Hidd\n-000186e0: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov\n-000186f0: 616c 2c20 2050 7265 763a 2043 6c69 7070 al, Prev: Clipp\n-00018700: 696e 672c 2020 5570 3a20 4361 7665 6174 ing, Up: Caveat\n-00018710: 730a 0a34 2e34 2e33 2048 6964 6465 6e20 s..4.4.3 Hidden \n-00018720: 7375 7266 6163 6520 7265 6d6f 7661 6c20 surface removal \n-00018730: 616e 6420 706f 6c79 676f 6e20 7370 6c69 and polygon spli\n-00018740: 7474 696e 670a 2d2d 2d2d 2d2d 2d2d 2d2d tting.----------\n+00018000: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d ----------------\n+00018010: 2d2d 0a0a e280 9853 6b65 7463 68e2 8099 --.....Sketch...\n+00018020: 2063 6174 6368 6573 206d 616e 7920 6b69 catches many ki\n+00018030: 6e64 7320 6f66 2065 7272 6f72 732c 2062 nds of errors, b\n+00018040: 7574 206e 6f74 2061 6c6c 2e20 2046 6f72 ut not all. For\n+00018050: 2065 7861 6d70 6c65 2c0a 6f70 7469 6f6e example,.option\n+00018060: 7320 7468 6174 2073 6b65 7463 6820 646f s that sketch do\n+00018070: 6573 206e 6f74 2072 6563 6f67 6e69 7a65 es not recognize\n+00018080: 2c20 6576 656e 2069 6e63 6f72 7265 6374 , even incorrect\n+00018090: 206f 6e65 732c 2061 7265 2071 7569 6574 ones, are quiet\n+000180a0: 6c79 0a63 6f70 6965 6420 746f 20e2 8098 ly.copied to ...\n+000180b0: 5053 5472 6963 6b73 e280 9920 636f 6d6d PSTricks... comm\n+000180c0: 616e 6473 2069 6e20 7468 6520 6f75 7470 ands in the outp\n+000180d0: 7574 2e20 2049 7420 6973 2061 6c73 6f20 ut. It is also \n+000180e0: 756e 666f 7274 756e 6174 656c 790a 6561 unfortunately.ea\n+000180f0: 7379 2074 6f20 7072 6f64 7563 6520 e280 sy to produce ..\n+00018100: 9873 6b65 7463 68e2 8099 2069 6e70 7574 .sketch... input\n+00018110: 7320 7468 6174 206c 6561 6420 746f 206e s that lead to n\n+00018120: 6f20 7069 6374 7572 6520 6174 2061 6c6c o picture at all\n+00018130: 2028 696d 7072 6f70 6572 0a76 6572 7465 (improper.verte\n+00018140: 7820 6f72 6465 7269 6e67 2063 6175 7365 x ordering cause\n+00018150: 7320 6576 6572 7974 6869 6e67 2074 6f20 s everything to \n+00018160: 6265 2063 756c 6c65 6429 2c20 746f 2070 be culled), to p\n+00018170: 6963 7475 7265 7320 7468 6174 2061 7265 ictures that are\n+00018180: 0a74 6f6f 2062 6967 206f 7220 746f 6f20 .too big or too \n+00018190: 736d 616c 6c20 666f 7220 e280 9850 5354 small for ...PST\n+000181a0: 7269 636b 73e2 8099 2074 6f20 6472 6177 ricks... to draw\n+000181b0: 2028 6475 6520 746f 206c 696d 6974 7320 (due to limits \n+000181c0: 6f66 2054 6558 206d 6174 6829 2c0a 616e of TeX math),.an\n+000181d0: 6420 7069 6374 7572 6573 2074 6861 7420 d pictures that \n+000181e0: 6c6f 6f6b 206e 6f74 6869 6e67 206c 696b look nothing lik\n+000181f0: 6520 7768 6174 2077 6173 2069 6e74 656e e what was inten\n+00018200: 6465 642e 2020 4120 7069 6374 7572 6520 ded. A picture \n+00018210: 7769 7468 0a6f 6e65 206f 6620 7468 6573 with.one of thes\n+00018220: 6520 7072 6f62 6c65 6d73 2063 616e 2062 e problems can b\n+00018230: 6520 6469 6666 6963 756c 7420 746f 2022 e difficult to \"\n+00018240: 6465 6275 672e 2220 2057 6520 6f66 6665 debug.\" We offe\n+00018250: 7220 7468 650a 666f 6c6c 6f77 696e 6720 r the.following \n+00018260: 7375 6767 6573 7469 6f6e 732e 0a20 2020 suggestions.. \n+00018270: e280 a220 466f 6c6c 6f77 2074 6865 2073 ... Follow the s\n+00018280: 7567 6765 7374 6564 2069 6e63 7265 6d65 uggested increme\n+00018290: 6e74 616c 2064 6576 656c 6f70 6d65 6e74 ntal development\n+000182a0: 206d 6574 686f 6420 6465 7363 7269 6265 method describe\n+000182b0: 6420 696e 0a20 2020 2020 2a6e 6f74 6520 d in. *note \n+000182c0: 4f76 6572 7669 6577 3a3a 2e0a 2020 20e2 Overview::.. .\n+000182d0: 80a2 2041 6c77 6179 7320 6d61 696e 7461 .. Always mainta\n+000182e0: 696e 206f 6e65 206f 7220 7477 6f20 6261 in one or two ba\n+000182f0: 636b 2d76 6572 7369 6f6e 7320 6f66 2061 ck-versions of a\n+00018300: 2064 7261 7769 6e67 2073 6f20 7468 6174 drawing so that\n+00018310: 2069 7420 6973 0a20 2020 2020 6561 7379 it is. easy\n+00018320: 2074 6f20 6661 6c6c 2062 6163 6b20 746f to fall back to\n+00018330: 2061 206b 6e6f 776e 2d67 6f6f 6420 696e a known-good in\n+00018340: 6372 656d 656e 742e 0a20 2020 e280 a220 crement.. ... \n+00018350: 5768 656e 2075 7369 6e67 20e2 8098 7065 When using ...pe\n+00018360: 7273 7065 6374 6976 65e2 8099 2c20 656e rspective..., en\n+00018370: 7375 7265 2061 6c6c 2066 696e 616c 6c79 sure all finally\n+00018380: 2074 7261 6e73 666f 726d 6564 206f 626a transformed obj\n+00018390: 6563 7473 0a20 2020 2020 7361 7469 7366 ects. satisf\n+000183a0: 7920 7a3c 3020 616e 642c 2069 6e20 6661 y z<0 and, in fa\n+000183b0: 6374 2c20 646f 206e 6f74 2063 6f6d 6520 ct, do not come \n+000183c0: 7665 7279 2063 6c6f 7365 2074 6f20 7468 very close to th\n+000183d0: 6520 6f72 6967 696e 2061 740a 2020 2020 e origin at. \n+000183e0: 2061 6c6c 2e0a 2020 20e2 80a2 2054 656d all.. ... Tem\n+000183f0: 706f 7261 7269 6c79 2075 7365 20e2 8098 porarily use ...\n+00018400: 6375 6c6c 3d66 616c 7365 e280 9920 746f cull=false... to\n+00018410: 2073 6565 2077 6865 7265 2076 6572 7465 see where verte\n+00018420: 7820 6f72 6465 7269 6e67 2070 726f 626c x ordering probl\n+00018430: 656d 730a 2020 2020 206c 6965 2e0a 2020 ems. lie.. \n+00018440: 20e2 80a2 2055 7365 2074 656d 706f 7261 ... Use tempora\n+00018450: 7279 2063 6861 6e67 6573 206f 6620 636f ry changes of co\n+00018460: 6c6f 7220 6f66 206f 6e65 206f 7220 6d6f lor of one or mo\n+00018470: 7265 206f 626a 6563 7473 2074 6f20 656e re objects to en\n+00018480: 7375 7265 0a20 2020 2020 7468 6174 2079 sure. that y\n+00018490: 6f75 7220 756e 6465 7273 7461 6e64 696e our understandin\n+000184a0: 6720 6f66 2074 6865 2073 6365 6e65 2067 g of the scene g\n+000184b0: 656f 6d65 7472 7920 6973 2063 6f72 7265 eometry is corre\n+000184c0: 6374 2e0a 2020 20e2 80a2 2049 6620 e280 ct.. ... If ..\n+000184d0: 9850 5354 7269 636b 73e2 8099 2063 6f6d .PSTricks... com\n+000184e0: 706c 6169 6e73 2061 626f 7574 2073 6f6d plains about som\n+000184f0: 6574 6869 6e67 2c20 696e 7370 6563 7420 ething, inspect \n+00018500: 7468 6520 6f75 7470 7574 0a20 2020 2020 the output. \n+00018510: 6469 7265 6374 6c79 2066 6f72 2063 6c75 directly for clu\n+00018520: 6573 2e0a 0a1f 0a46 696c 653a 2073 6b65 es.....File: ske\n+00018530: 7463 682e 696e 666f 2c20 204e 6f64 653a tch.info, Node:\n+00018540: 2043 6c69 7070 696e 672c 2020 4e65 7874 Clipping, Next\n+00018550: 3a20 4869 6464 656e 2073 7572 6661 6365 : Hidden surface\n+00018560: 2072 656d 6f76 616c 2c20 2050 7265 763a removal, Prev:\n+00018570: 204c 696d 6974 7320 6f6e 2065 7272 6f72 Limits on error\n+00018580: 2064 6574 6563 7469 6f6e 2c20 2055 703a detection, Up:\n+00018590: 2043 6176 6561 7473 0a0a 342e 342e 3220 Caveats..4.4.2 \n+000185a0: 436c 6970 7069 6e67 0a2d 2d2d 2d2d 2d2d Clipping.-------\n+000185b0: 2d2d 2d2d 2d2d 2d0a 0a54 6865 2063 7572 -------..The cur\n+000185c0: 7265 6e74 2076 6572 7369 6f6e 206f 6620 rent version of \n+000185d0: e280 9873 6b65 7463 68e2 8099 2068 6173 ...sketch... has\n+000185e0: 206e 6f20 636c 6970 7069 6e67 206f 7065 no clipping ope\n+000185f0: 7261 7469 6f6e 732e 2020 5468 6520 656e rations. The en\n+00018600: 7469 7265 0a73 6365 6e65 2069 7320 616c tire.scene is al\n+00018610: 7761 7973 2064 7261 776e 2e20 2054 6869 ways drawn. Thi\n+00018620: 7320 6d65 616e 7320 7468 6174 2077 6865 s means that whe\n+00018630: 6e20 6120 7065 7273 7065 6374 6976 6520 n a perspective \n+00018640: 7472 616e 7366 6f72 6d20 6973 0a65 6d70 transform is.emp\n+00018650: 6c6f 7965 642c 2069 7420 6973 2074 6865 loyed, it is the\n+00018660: 2075 7365 7227 7320 7265 7370 6f6e 7369 user's responsi\n+00018670: 6269 6c69 7479 2074 6f20 6d61 6b65 2073 bility to make s\n+00018680: 7572 6520 7468 6520 656e 7469 7265 2073 ure the entire s\n+00018690: 6365 6e65 0a72 656d 6169 6e73 2069 6e20 cene.remains in \n+000186a0: 6672 6f6e 7420 6f66 2074 6865 2076 6965 front of the vie\n+000186b0: 7765 722c 2074 6865 2072 6567 696f 6e20 wer, the region \n+000186c0: 7a3c 302e 0a0a 1f0a 4669 6c65 3a20 736b z<0.....File: sk\n+000186d0: 6574 6368 2e69 6e66 6f2c 2020 4e6f 6465 etch.info, Node\n+000186e0: 3a20 4869 6464 656e 2073 7572 6661 6365 : Hidden surface\n+000186f0: 2072 656d 6f76 616c 2c20 2050 7265 763a removal, Prev:\n+00018700: 2043 6c69 7070 696e 672c 2020 5570 3a20 Clipping, Up: \n+00018710: 4361 7665 6174 730a 0a34 2e34 2e33 2048 Caveats..4.4.3 H\n+00018720: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re\n+00018730: 6d6f 7661 6c20 616e 6420 706f 6c79 676f moval and polygo\n+00018740: 6e20 7370 6c69 7474 696e 670a 2d2d 2d2d n splitting.----\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 0a0a e280 9853 6b65 --------.....Ske\n-00018780: 7463 68e2 8099 2075 7365 7320 7468 6520 tch... uses the \n-00018790: e280 9c64 6570 7468 2073 6f72 7420 616c ...depth sort al\n-000187a0: 676f 7269 7468 6de2 809d 2066 6f72 2068 gorithm... for h\n-000187b0: 6964 6465 6e20 7375 7266 6163 6520 7265 idden surface re\n-000187c0: 6d6f 7661 6c2e 0a54 6869 7320 6973 2061 moval..This is a\n-000187d0: 2076 6572 7920 6f6c 6420 7465 6368 6e69 very old techni\n-000187e0: 7175 6520 6475 6520 746f 204e 6577 656c que due to Newel\n-000187f0: 6c2e 2831 2920 2049 7420 6973 2067 656e l.(1) It is gen\n-00018800: 6572 616c 6c79 2072 6567 6172 6465 640a erally regarded.\n-00018810: 6173 2074 6f6f 2073 6c6f 7720 666f 7220 as too slow for \n-00018820: 7265 616c 2074 696d 6520 6772 6170 6869 real time graphi\n-00018830: 6373 2c20 6275 7420 6974 2069 7320 6964 cs, but it is id\n-00018840: 6561 6c20 666f 7220 6f75 7220 7075 7270 eal for our purp\n-00018850: 6f73 650a 7768 6572 6520 7370 6565 6420 ose.where speed \n-00018860: 6973 206e 6f74 2076 6572 7920 696d 706f is not very impo\n-00018870: 7274 616e 742e 2832 290a 0a20 2020 5468 rtant.(2).. Th\n-00018880: 6520 6465 7074 6820 736f 7274 2061 6c67 e depth sort alg\n-00018890: 6f72 6974 686d 206d 6572 656c 7920 736f orithm merely so\n-000188a0: 7274 7320 6f62 6a65 6374 7320 6f6e 2061 rts objects on a\n-000188b0: 206b 6579 206f 6620 696e 6372 6561 7369 key of increasi\n-000188c0: 6e67 0a7a 2d63 6f6f 7264 696e 6174 652c ng.z-coordinate,\n-000188d0: 2065 7175 6976 616c 656e 7420 746f 2064 equivalent to d\n-000188e0: 6563 7265 6173 696e 6720 6465 7074 682e ecreasing depth.\n-000188f0: 2020 4f62 6a65 6374 7320 6172 6520 7468 Objects are th\n-00018900: 656e 2064 7261 776e 2069 6e0a 7468 6520 en drawn in.the \n-00018910: 736f 7274 6564 2073 6571 7565 6e63 6520 sorted sequence \n-00018920: 736f 2074 6861 7420 7468 6f73 6520 6174 so that those at\n-00018930: 2074 6865 2072 6561 7220 6f66 2074 6865 the rear of the\n-00018940: 2073 6365 6e65 2061 7265 0a6f 7665 7277 scene are.overw\n-00018950: 7269 7474 656e 2062 7920 7468 6f73 6520 ritten by those \n-00018960: 636c 6f73 6572 2074 6f20 7468 6520 7669 closer to the vi\n-00018970: 6577 6572 2e20 2053 696e 6365 2074 6869 ewer. Since thi\n-00018980: 7320 6973 2061 6c73 6f20 686f 7720 6f69 s is also how oi\n-00018990: 6c0a 7061 696e 7465 7273 2070 7261 6374 l.painters pract\n-000189a0: 6963 6520 7468 6569 7220 6172 742c 2064 ice their art, d\n-000189b0: 6570 7468 2073 6f72 7420 6973 2073 6f6d epth sort is som\n-000189c0: 6574 696d 6573 2063 616c 6c65 6420 2274 etimes called \"t\n-000189d0: 6865 0a70 6169 6e74 6572 2773 2061 6c67 he.painter's alg\n-000189e0: 6f72 6974 686d 2e22 0a0a 2020 2049 6e20 orithm.\".. In \n-000189f0: 736f 6d65 2063 6173 6573 2069 7420 6973 some cases it is\n-00018a00: 2069 6d70 6f73 7369 626c 6520 746f 2073 impossible to s\n-00018a10: 7472 6963 746c 7920 6f72 6465 7220 706f trictly order po\n-00018a20: 6c79 676f 6e73 2061 6363 6f72 6469 6e67 lygons according\n-00018a30: 0a74 6f20 6465 7074 682e 2020 4d6f 7265 .to depth. More\n-00018a40: 6f76 6572 2c20 6576 656e 2069 6620 6120 over, even if a \n-00018a50: 636f 7272 6563 7420 6465 7074 6820 6f72 correct depth or\n-00018a60: 6465 7269 6e67 2065 7869 7374 732c 2074 dering exists, t\n-00018a70: 6865 0a63 6f6d 7075 7461 7469 6f6e 206e he.computation n\n-00018a80: 6565 6465 6420 746f 2066 696e 6420 6974 eeded to find it\n-00018a90: 206d 6179 2062 6520 746f 6f20 636f 6d70 may be too comp\n-00018aa0: 6c65 7820 616e 6420 736c 6f77 2e20 2049 lex and slow. I\n-00018ab0: 6e20 7468 6573 650a 6361 7365 732c 20e2 n these.cases, .\n-00018ac0: 8098 736b 6574 6368 e280 9920 7370 6c69 ..sketch... spli\n-00018ad0: 7473 206f 6e65 206f 7220 6d6f 7265 2070 ts one or more p\n-00018ae0: 6f6c 7967 6f6e 7320 696e 746f 2070 6965 olygons into pie\n-00018af0: 6365 732e 2020 5468 650a 6578 7065 6374 ces. The.expect\n-00018b00: 6174 696f 6e20 6973 2074 6861 7420 7468 ation is that th\n-00018b10: 6520 6e65 772c 2073 6d61 6c6c 6572 2070 e new, smaller p\n-00018b20: 6f6c 7967 6f6e 7320 7769 6c6c 2062 6520 olygons will be \n-00018b30: 7369 6d70 6c65 7220 746f 206f 7264 6572 simpler to order\n-00018b40: 2e0a e280 9853 6b65 7463 68e2 8099 2075 .....Sketch... u\n-00018b50: 7365 7320 6120 4253 5020 2862 696e 6172 ses a BSP (binar\n-00018b60: 7920 7370 6163 6520 7061 7274 6974 696f y space partitio\n-00018b70: 6e29 2074 6f20 6861 6e64 6c65 2074 6865 n) to handle the\n-00018b80: 2073 706c 6974 7469 6e67 0a6f 7065 7261 splitting.opera\n-00018b90: 7469 6f6e 2e0a 0a2a 204d 656e 753a 0a0a tion...* Menu:..\n-00018ba0: 2a20 5374 6174 6973 7469 6373 3a3a 2020 * Statistics:: \n-00018bb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00018bc0: 5065 7266 6f72 6d61 6e63 6520 6e75 6d62 Performance numb\n-00018bd0: 6572 7320 6f6e 2064 6570 7468 2073 6f72 ers on depth sor\n-00018be0: 742e 0a2a 2042 7567 7320 616e 6420 616e t..* Bugs and an\n-00018bf0: 6f6d 616c 6965 733a 3a20 2020 2020 2020 omalies:: \n-00018c00: 2020 2049 6d70 6572 6665 6374 696f 6e73 Imperfections\n-00018c10: 2069 6e20 7468 6973 2069 6d70 6c65 6d65 in this impleme\n-00018c20: 6e74 6174 696f 6e2e 0a0a 2020 202d 2d2d ntation... ---\n-00018c30: 2d2d 2d2d 2d2d 2d20 466f 6f74 6e6f 7465 ------- Footnote\n-00018c40: 7320 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a 2020 s ----------.. \n-00018c50: 2028 3129 204e 6577 656c 6c2c 204d 2e45 (1) Newell, M.E\n-00018c60: 2e2c 2052 2e47 2e20 4e65 7765 6c6c 2c20 ., R.G. Newell, \n-00018c70: 616e 6420 542e 4c2e 2053 616e 6368 612c and T.L. Sancha,\n-00018c80: 2041 2073 6f6c 7574 696f 6e20 746f 2074 A solution to t\n-00018c90: 6865 0a68 6964 6465 6e20 7375 7266 6163 he.hidden surfac\n-00018ca0: 6520 7072 6f62 6c65 6d2e 2020 5072 6f63 e problem. Proc\n-00018cb0: 6565 6469 6e67 7320 6f66 2074 6865 2041 eedings of the A\n-00018cc0: 434d 2061 6e6e 7561 6c20 636f 6e66 6572 CM annual confer\n-00018cd0: 656e 6365 202d 0a56 6f6c 756d 6520 312c ence -.Volume 1,\n-00018ce0: 2070 6167 6520 3434 332d 3435 302c 2041 page 443-450, A\n-00018cf0: 434d 2050 7265 7373 2c20 3139 3732 2e0a CM Press, 1972..\n-00018d00: 0a20 2020 2832 2920 5765 2068 6176 6520 . (2) We have \n-00018d10: 7275 6e20 e280 9873 6b65 7463 68e2 8099 run ...sketch...\n-00018d20: 206f 6e20 7468 6520 6661 6d6f 7573 2053 on the famous S\n-00018d30: 7461 6e66 6f72 6420 4275 6e6e 792c 2077 tanford Bunny, w\n-00018d40: 6869 6368 2063 6f6e 7369 7374 730a 6f66 hich consists.of\n-00018d50: 206e 6561 726c 7920 3730 2c30 3030 2074 nearly 70,000 t\n-00018d60: 7269 616e 676c 6573 2e20 2052 756e 2074 riangles. Run t\n-00018d70: 696d 6520 7761 7320 6162 6f75 7420 3620 ime was about 6 \n-00018d80: 7365 636f 6e64 732e 2020 4d6f 7374 206f seconds. Most o\n-00018d90: 6620 7468 6973 0a77 6173 2073 7065 6e74 f this.was spent\n-00018da0: 2077 7269 7469 6e67 2074 6865 206f 7574 writing the out\n-00018db0: 7075 7420 6669 6c65 2072 6174 6865 7220 put file rather \n-00018dc0: 7468 616e 2069 6e20 7468 6520 6869 6464 than in the hidd\n-00018dd0: 656e 2073 7572 6661 6365 0a61 6c67 6f72 en surface.algor\n-00018de0: 6974 686d 2e20 204c 6154 6558 2074 6f6f ithm. LaTeX too\n-00018df0: 6b20 6d75 6368 206c 6f6e 6765 7220 746f k much longer to\n-00018e00: 2070 726f 6365 7373 2074 6865 2072 6573 process the res\n-00018e10: 756c 7469 6e67 20e2 8098 5053 5472 6963 ulting ...PSTric\n-00018e20: 6b73 e280 990a 636f 6465 2e20 2054 6865 ks....code. The\n-00018e30: 206f 6276 696f 7573 2063 6f6e 636c 7573 obvious conclus\n-00018e40: 696f 6e20 6973 2074 6861 7420 7468 6520 ion is that the \n-00018e50: 7370 6565 6420 6f66 2074 6865 2064 6570 speed of the dep\n-00018e60: 7468 2073 6f72 740a 616c 676f 7269 7468 th sort.algorith\n-00018e70: 6d20 6973 206e 6f74 2061 2077 6f72 7279 m is not a worry\n-00018e80: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n-00018e90: 682e 696e 666f 2c20 204e 6f64 653a 2053 h.info, Node: S\n-00018ea0: 7461 7469 7374 6963 732c 2020 4e65 7874 tatistics, Next\n-00018eb0: 3a20 4275 6773 2061 6e64 2061 6e6f 6d61 : Bugs and anoma\n-00018ec0: 6c69 6573 2c20 2050 7265 763a 2048 6964 lies, Prev: Hid\n-00018ed0: 6465 6e20 7375 7266 6163 6520 7265 6d6f den surface remo\n-00018ee0: 7661 6c2c 2020 5570 3a20 4869 6464 656e val, Up: Hidden\n-00018ef0: 2073 7572 6661 6365 2072 656d 6f76 616c surface removal\n-00018f00: 0a0a 342e 342e 332e 3120 5374 6174 6973 ..4.4.3.1 Statis\n-00018f10: 7469 6373 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e tics............\n-00018f20: 2e2e 2e2e 2e2e 2e0a 0a46 6f72 2074 6865 .........For the\n-00018f30: 2063 7572 696f 7573 2c20 e280 9873 6b65 curious, ...ske\n-00018f40: 7463 68e2 8099 2077 7269 7465 7320 6f6e tch... writes on\n-00018f50: 6520 6c69 6e65 206f 6620 6465 7074 6820 e line of depth \n-00018f60: 736f 7274 2073 7461 7469 7374 6963 732e sort statistics.\n-00018f70: 0a48 6572 6520 6973 2061 6e20 6578 616d .Here is an exam\n-00018f80: 706c 6520 666f 7220 6120 6c61 7267 6520 ple for a large \n-00018f90: 636f 6c6c 6563 7469 6f6e 206f 6620 7472 collection of tr\n-00018fa0: 6961 6e67 6c65 732e 0a20 2072 656d 6172 iangles.. remar\n-00018fb0: 6b2c 206e 6f64 653d 3334 3832 3420 7072 k, node=34824 pr\n-00018fc0: 6f62 653d 3538 312e 3920 7377 6170 3d35 obe=581.9 swap=5\n-00018fd0: 2073 706c 6974 3d32 2028 696e 3d34 206f split=2 (in=4 o\n-00018fe0: 7574 3d36 2920 6f6c 733d 3234 3835 312f ut=6) ols=24851/\n-00018ff0: 300a 4974 206d 6561 6e73 2074 6861 7420 0.It means that \n-00019000: 3334 2c38 3234 206f 626a 6563 7473 2077 34,824 objects w\n-00019010: 6572 6520 6465 7074 6820 736f 7274 6564 ere depth sorted\n-00019020: 2061 6674 6572 2063 756c 6c69 6e67 2e20 after culling. \n-00019030: 2046 6f72 2065 6163 682c 0a61 6e20 6176 For each,.an av\n-00019040: 6572 6167 6520 6f66 2035 3831 2e39 206f erage of 581.9 o\n-00019050: 7468 6572 7320 6861 6420 746f 2062 6520 thers had to be \n-00019060: 6368 6563 6b65 6420 746f 2065 6e73 7572 checked to ensur\n-00019070: 6520 7468 6174 2074 6865 2069 6e69 7469 e that the initi\n-00019080: 616c 2c0a 6170 7072 6f78 696d 6174 6520 al,.approximate \n-00019090: 6f72 6465 7269 6e67 2077 6173 2063 6f72 ordering was cor\n-000190a0: 7265 6374 2e20 2041 6d6f 6e67 2061 6c6c rect. Among all\n-000190b0: 2074 6865 7365 2063 6865 636b 732c 206f these checks, o\n-000190c0: 6e6c 7920 350a 7265 7375 6c74 6564 2069 nly 5.resulted i\n-000190d0: 6e20 7377 6170 7320 746f 2072 656f 7264 n swaps to reord\n-000190e0: 6572 2074 6865 2069 6e69 7469 616c 2073 er the initial s\n-000190f0: 6f72 742e 2020 496e 2074 776f 2063 6173 ort. In two cas\n-00019100: 6573 2c20 6120 636f 7272 6563 740a 6f72 es, a correct.or\n-00019110: 6465 7269 6e67 2063 6f75 6c64 206e 6f74 dering could not\n-00019120: 2062 6520 6465 7465 726d 696e 6564 2c20 be determined, \n-00019130: 736f 2062 696e 6172 7920 7370 6163 6520 so binary space \n-00019140: 7061 7274 6974 696f 6e73 2077 6572 650a partitions were.\n-00019150: 636f 6e73 7472 7563 7465 6420 666f 7220 constructed for \n-00019160: 7370 6c69 7474 696e 672e 2020 4120 746f splitting. A to\n-00019170: 7461 6c20 6f66 2034 206f 626a 6563 7473 tal of 4 objects\n-00019180: 2028 7472 6961 6e67 6c65 7320 696e 2074 (triangles in t\n-00019190: 6869 730a 6361 7365 2920 7765 7265 2069 his.case) were i\n-000191a0: 6e73 6572 7465 6420 696e 2074 6865 2070 nserted in the p\n-000191b0: 6172 7469 7469 6f6e 732c 2061 6e64 2036 artitions, and 6\n-000191c0: 2070 6f6c 7967 6f6e 7320 7765 7265 2070 polygons were p\n-000191d0: 726f 6475 6365 642e 0a46 696e 616c 6c79 roduced..Finally\n-000191e0: 2c20 3234 2c38 3531 2022 6c61 7374 2072 , 24,851 \"last r\n-000191f0: 6573 6f72 7422 2070 6f6c 7967 6f6e 206f esort\" polygon o\n-00019200: 7665 726c 6170 2063 6865 636b 7320 7765 verlap checks we\n-00019210: 7265 2070 6572 666f 726d 6564 0a61 6674 re performed.aft\n-00019220: 6572 2073 696d 706c 6572 2c20 6661 7374 er simpler, fast\n-00019230: 6572 2063 6865 636b 7320 6661 696c 6564 er checks failed\n-00019240: 2074 6f20 7969 656c 6420 636f 6e63 6c75 to yield conclu\n-00019250: 7369 7665 2072 6573 756c 7473 2e20 2054 sive results. T\n-00019260: 6865 0a66 696e 616c 202f 3020 6973 2066 he.final /0 is f\n-00019270: 6f72 206c 696e 652d 706f 6c79 676f 6e20 or line-polygon \n-00019280: 6f76 6572 6c61 7020 6368 6563 6b73 2e20 overlap checks. \n-00019290: 2046 6f72 2063 6f6d 7061 7269 736f 6e2c For comparison,\n-000192a0: 2074 6865 0a73 7461 7469 7374 6963 7320 the.statistics \n-000192b0: 666f 7220 7468 6520 6c61 7374 2066 6967 for the last fig\n-000192c0: 7572 6520 696e 202a 6e6f 7465 204f 7665 ure in *note Ove\n-000192d0: 7276 6965 773a 3a20 666f 6c6c 6f77 2e0a rview:: follow..\n-000192e0: 2020 7265 6d61 726b 2c20 6e6f 6465 3d32 remark, node=2\n-000192f0: 3720 7072 6f62 653d 3134 2e36 2073 7761 7 probe=14.6 swa\n-00019300: 703d 3336 2073 706c 6974 3d31 3520 2869 p=36 split=15 (i\n-00019310: 6e3d 3330 206f 7574 3d34 3529 206f 6c73 n=30 out=45) ols\n-00019320: 3d30 2f36 390a 4e6f 7465 2074 6861 7420 =0/69.Note that \n-00019330: 7468 6572 6520 7761 7320 7072 6f70 6f72 there was propor\n-00019340: 7469 6f6e 616c 6c79 206d 7563 6820 6d6f tionally much mo\n-00019350: 7265 2073 7761 7070 696e 6720 616e 6420 re swapping and \n-00019360: 7370 6c69 7474 696e 670a 6163 7469 7669 splitting.activi\n-00019370: 7479 2069 6e20 7468 6973 2068 6967 686c ty in this highl\n-00019380: 7920 636f 6e6e 6563 7465 6420 7363 656e y connected scen\n-00019390: 652e 0a0a 1f0a 4669 6c65 3a20 736b 6574 e.....File: sket\n-000193a0: 6368 2e69 6e66 6f2c 2020 4e6f 6465 3a20 ch.info, Node: \n-000193b0: 4275 6773 2061 6e64 2061 6e6f 6d61 6c69 Bugs and anomali\n-000193c0: 6573 2c20 2050 7265 763a 2053 7461 7469 es, Prev: Stati\n-000193d0: 7374 6963 732c 2020 5570 3a20 4869 6464 stics, Up: Hidd\n-000193e0: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov\n-000193f0: 616c 0a0a 342e 342e 332e 3220 4275 6773 al..4.4.3.2 Bugs\n-00019400: 2061 6e64 2061 6e6f 6d61 6c69 6573 0a2e and anomalies..\n-00019410: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e ................\n-00019420: 2e2e 2e2e 2e2e 2e2e 2e0a 0a50 6f6c 7967 ...........Polyg\n-00019430: 6f6e 2061 6e64 206c 696e 6520 7370 6c69 on and line spli\n-00019440: 7474 696e 6720 6361 6e20 626f 7468 2063 tting can both c\n-00019450: 6175 7365 2061 6e6f 6d61 6c69 6573 2069 ause anomalies i\n-00019460: 6e20 7468 6520 6f75 7470 7574 2e0a e280 n the output....\n-00019470: 9850 5354 7269 636b 73e2 8099 2064 6173 .PSTricks... das\n-00019480: 6820 7061 7474 6572 6e73 2c20 7370 6563 h patterns, spec\n-00019490: 6966 6965 6420 7769 7468 20e2 8098 6c69 ified with ...li\n-000194a0: 6e65 7374 796c 653d 6461 7368 6564 e280 nestyle=dashed..\n-000194b0: 992c 2063 616e 2062 650a 6469 7372 7570 ., can be.disrup\n-000194c0: 7465 6420 6279 2073 706c 6974 7469 6e67 ted by splitting\n-000194d0: 2e20 2054 6869 7320 6f63 6375 7273 2077 . This occurs w\n-000194e0: 6865 6e20 7468 6520 6465 7074 6820 736f hen the depth so\n-000194f0: 7274 2067 6976 6573 2075 7020 746f 6f0a rt gives up too.\n-00019500: 6561 726c 7920 616e 6420 7370 6c69 7473 early and splits\n-00019510: 2061 206c 696e 6520 7768 6572 6520 6974 a line where it\n-00019520: 2069 7320 6e6f 7420 7265 616c 6c79 206e is not really n\n-00019530: 6563 6573 7361 7279 2e20 2041 2077 6f72 ecessary. A wor\n-00019540: 6b61 726f 756e 640a 6973 2074 6f20 7573 karound.is to us\n-00019550: 6520 6772 6179 206f 7220 6669 6e65 6c79 e gray or finely\n-00019560: 2064 6f74 7465 6420 6c69 6e65 7320 696e dotted lines in\n-00019570: 7374 6561 642e 2020 4966 2079 6f75 7220 stead. If your \n-00019580: 6472 6177 696e 6720 6973 0a73 6d61 6c6c drawing is.small\n-00019590: 2c20 796f 7520 6361 6e20 616c 736f 2065 , you can also e\n-000195a0: 6469 7420 7468 6520 e280 9873 6b65 7463 dit the ...sketc\n-000195b0: 68e2 8099 206f 7574 7075 7420 6279 2068 h... output by h\n-000195c0: 616e 6420 746f 206d 6572 6765 2074 6865 and to merge the\n-000195d0: 2070 6965 6365 730a 6f66 2074 6865 206f pieces.of the o\n-000195e0: 6666 656e 6469 6e67 206c 696e 652e 0a0a ffending line...\n-000195f0: 2020 2041 6e6f 7468 6572 2061 6e6f 6d61 Another anoma\n-00019600: 6c79 2069 7320 7469 6e79 2028 6f72 2069 ly is tiny (or i\n-00019610: 6e20 6465 6765 6e65 7261 7465 2063 6173 n degenerate cas\n-00019620: 6573 206e 6f74 2d73 6f2d 7469 6e79 2920 es not-so-tiny) \n-00019630: 6e6f 7463 6865 730a 696e 2074 6865 206c notches.in the l\n-00019640: 696e 6573 2074 6861 7420 626f 7264 6572 ines that border\n-00019650: 2073 706c 6974 2070 6f6c 7967 6f6e 732e split polygons.\n-00019660: 2020 5468 6573 6520 6465 7269 7665 2066 These derive f\n-00019670: 726f 6d20 7468 6520 7761 7920 6561 6368 rom the way each\n-00019680: 0a70 6f6c 7967 6f6e 2069 7320 7061 696e .polygon is pain\n-00019690: 7465 643a 2066 6972 7374 2c20 616c 6c20 ted: first, all \n-000196a0: 7069 7865 6c73 2077 6974 6869 6e20 7468 pixels within th\n-000196b0: 6520 626f 756e 6461 7279 2061 7265 20e2 e boundary are .\n-000196c0: 809c 6669 6c6c 6564 e280 9d0a 7769 7468 ..filled....with\n-000196d0: 2063 6f6c 6f72 2028 7065 7268 6170 7320 color (perhaps \n-000196e0: 7768 6974 6529 2c20 7468 656e 2074 6865 white), then the\n-000196f0: 2073 616d 6520 626f 756e 6461 7279 2069 same boundary i\n-00019700: 7320 e280 9c73 7472 6f6b 6564 e280 9d20 s ...stroked... \n-00019710: 2861 0a50 6f73 7473 6372 6970 7420 7465 (a.Postscript te\n-00019720: 726d 2920 7769 7468 2061 206c 696e 652e rm) with a line.\n-00019730: 2020 5468 6520 7265 7375 6c74 2069 7320 The result is \n-00019740: 7468 6174 2068 616c 6620 7468 6520 6c69 that half the li\n-00019750: 6e65 206c 6965 730a 696e 7369 6465 2074 ne lies.inside t\n-00019760: 6865 2062 6f75 6e64 6172 7920 616e 6420 he boundary and \n-00019770: 6861 6c66 206f 7574 7369 6465 2c20 7768 half outside, wh\n-00019780: 696c 6520 7468 6520 5061 696e 7465 7227 ile the Painter'\n-00019790: 7320 616c 676f 7269 7468 6d0a 6173 7375 s algorithm.assu\n-000197a0: 6d65 7320 7468 6520 706f 6c79 676f 6e20 mes the polygon \n-000197b0: 6c69 6573 2065 6e74 6972 656c 7920 7769 lies entirely wi\n-000197c0: 7468 696e 2069 7473 2062 6f75 6e64 6172 thin its boundar\n-000197d0: 792e 2020 5468 6520 6e6f 7463 6865 7320 y. The notches \n-000197e0: 6172 650a 6475 6520 746f 206f 6e65 2070 are.due to one p\n-000197f0: 6f6c 7967 6f6e 2066 696c 6c20 6f70 6572 olygon fill oper\n-00019800: 6174 696f 6e20 6f76 6572 7772 6974 696e ation overwritin\n-00019810: 6720 7468 6520 616c 7265 6164 792d 6472 g the already-dr\n-00019820: 6177 6e20 696e 7369 6465 0a6f 6620 7468 awn inside.of th\n-00019830: 6520 626f 7264 6572 206f 6620 616e 6f74 e border of anot\n-00019840: 6865 7220 706f 6c79 676f 6e2e 2831 2920 her polygon.(1) \n-00019850: 204f 6e65 2077 6f72 6b61 726f 756e 6420 One workaround \n-00019860: 6973 2074 6f20 6d61 6b65 2062 6f72 6465 is to make borde\n-00019870: 720a 6c69 6e65 7320 7665 7279 2074 6869 r.lines very thi\n-00019880: 6e2e 2020 496e 2066 6163 7420 e280 986c n. In fact ...l\n-00019890: 696e 6577 6964 7468 3d30 7074 e280 9920 inewidth=0pt... \n-000198a0: 6973 2067 7561 7261 6e74 6565 6420 746f is guaranteed to\n-000198b0: 2065 6c69 6d69 6e61 7465 0a74 6869 7320 eliminate.this \n-000198c0: 7072 6f62 6c65 6d2c 2074 686f 7567 6820 problem, though \n-000198d0: 7468 6973 2072 6573 756c 7473 2069 6e20 this results in \n-000198e0: 7468 6520 7468 696e 6e65 7374 206c 696e the thinnest lin\n-000198f0: 6520 796f 7572 206f 7574 7075 740a 6465 e your output.de\n-00019900: 7669 6365 2063 616e 2064 7261 772c 2077 vice can draw, w\n-00019910: 6869 6368 2069 7320 7573 7561 6c6c 7920 hich is usually \n-00019920: 746f 6f20 7468 696e 2e20 2059 6f75 206d too thin. You m\n-00019930: 6967 6874 2067 6574 206c 7563 6b79 2062 ight get lucky b\n-00019940: 790a 6d65 7265 6c79 2072 656f 7264 6572 y.merely reorder\n-00019950: 696e 6720 7468 696e 6773 2069 6e20 7468 ing things in th\n-00019960: 6520 696e 7075 7420 6669 6c65 2c20 7768 e input file, wh\n-00019970: 6963 6820 6973 206c 696b 656c 7920 746f ich is likely to\n-00019980: 206d 6f76 6520 7468 650a 7370 6c69 7473 move the.splits\n-00019990: 2074 6f20 6469 6666 6572 656e 7420 706c to different pl\n-000199a0: 6163 6573 2e20 2054 6865 206f 6e6c 7920 aces. The only \n-000199b0: 7375 7265 2d66 6972 6520 736f 6c75 7469 sure-fire soluti\n-000199c0: 6f6e 2069 7320 7072 6574 7479 0a74 6572 on is pretty.ter\n-000199d0: 7269 626c 653a 2063 7573 746f 6d20 6669 rible: custom fi\n-000199e0: 7420 e280 9873 7065 6369 616c e280 9920 t ...special... \n-000199f0: 6f76 6572 6c61 7920 6c69 6e65 7320 2877 overlay lines (w\n-00019a00: 6974 6820 e280 985c 7073 6c69 6e65 e280 ith ...\\psline..\n-00019a10: 9929 2074 6f20 636f 7665 720a 7468 6520 .) to cover.the \n-00019a20: 6e6f 7463 6865 732e 0a0a 2020 2050 6f6c notches... Pol\n-00019a30: 7967 6f6e 2073 706c 6974 7469 6e67 2061 ygon splitting a\n-00019a40: 6c73 6f20 6272 6561 6b73 20e2 8098 5053 lso breaks ...PS\n-00019a50: 5472 6963 6b73 e280 9920 6861 7463 6820 Tricks... hatch \n-00019a60: 7061 7474 6572 6e73 2e20 2054 6865 206f patterns. The o\n-00019a70: 6e6c 790a 6b6e 6f77 6e20 776f 726b 6172 nly.known workar\n-00019a80: 6f75 6e64 2069 7320 746f 2073 7562 7374 ound is to subst\n-00019a90: 6974 7574 6520 6120 736f 6c69 6420 6669 itute a solid fi\n-00019aa0: 6c6c 2066 6f72 2074 6865 2068 6174 6368 ll for the hatch\n-00019ab0: 2e0a 0a20 2020 2d2d 2d2d 2d2d 2d2d 2d2d ... ----------\n-00019ac0: 2046 6f6f 746e 6f74 6573 202d 2d2d 2d2d Footnotes -----\n-00019ad0: 2d2d 2d2d 2d0a 0a20 2020 2831 2920 4920 -----.. (1) I \n-00019ae0: 6b6e 6f77 2068 6f77 2074 6f20 6669 7820 know how to fix \n-00019af0: 7468 6973 2070 726f 626c 656d 2c20 6275 this problem, bu\n-00019b00: 7420 4920 646f 6e27 7420 6c69 6b65 206d t I don't like m\n-00019b10: 7920 736f 6c75 7469 6f6e 2c20 616e 640a y solution, and.\n-00019b20: 4927 6d20 696e 7465 7265 7374 6564 2069 I'm interested i\n-00019b30: 6e20 796f 7572 732e 0a0a 1f0a 4669 6c65 n yours.....File\n-00019b40: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n-00019b50: 4e6f 6465 3a20 436f 6d6d 616e 6420 6c69 Node: Command li\n-00019b60: 6e65 2c20 204e 6578 743a 2049 6e73 7461 ne, Next: Insta\n-00019b70: 6c6c 696e 6720 736b 6574 6368 2c20 2050 lling sketch, P\n-00019b80: 7265 763a 2042 7569 6c64 696e 6720 6120 rev: Building a \n-00019b90: 6472 6177 696e 672c 2020 5570 3a20 546f drawing, Up: To\n-00019ba0: 700a 0a35 2043 6f6d 6d61 6e64 206c 696e p..5 Command lin\n-00019bb0: 650a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a e.**************\n-00019bc0: 0a0a 2a53 796e 6f70 7369 733a 2a0a 2020 ..*Synopsis:*. \n-00019bd0: 2020 2073 6b65 7463 6820 5b2d 685d 5b2d sketch [-h][-\n-00019be0: 5620 782e 795d 5b2d 765d 5b2d 625d 5b2d V x.y][-v][-b][-\n-00019bf0: 645d 5b74 2064 6f63 746d 705d 5b2d 545b d][t doctmp][-T[\n-00019c00: 757c 655d 5b70 5b50 7c54 5d5b 4c7c 435d u|e][p[P|T][L|C]\n-00019c10: 5d5d 5b2d 6f20 6f75 7470 7574 2e74 6578 ]][-o output.tex\n-00019c20: 5d0a 2020 2020 2020 205b 2d44 2054 4147 ]. [-D TAG\n-00019c30: 202e 2e2e 5d20 696e 7075 7431 2e73 6b20 ...] input1.sk \n-00019c40: 5b2d 5520 5441 4720 2e2e 2e5d 2069 6e70 [-U TAG ...] inp\n-00019c50: 7574 322e 736b 202e 2e2e 0a0a 2a44 6573 ut2.sk .....*Des\n-00019c60: 6372 6970 7469 6f6e 2a20 5072 6f63 6573 cription* Proces\n-00019c70: 7365 7320 7468 6520 e280 9873 6b65 7463 ses the ...sketc\n-00019c80: 68e2 8099 2069 6e70 7574 2066 696c 6573 h... input files\n-00019c90: 2069 6e20 6f72 6465 7220 746f 2070 726f in order to pro\n-00019ca0: 6475 6365 0ae2 8098 5053 5472 6963 6b73 duce....PSTricks\n-00019cb0: e280 9920 6f75 7470 7574 2063 6f64 6520 ... output code \n-00019cc0: 7375 6974 6162 6c65 2066 6f72 2069 6e63 suitable for inc\n-00019cd0: 6c75 7369 6f6e 2069 6e20 6120 5465 5820 lusion in a TeX \n-00019ce0: 6f72 204c 6154 6558 0a64 6f63 756d 656e or LaTeX.documen\n-00019cf0: 742e 0a0a 2a4f 7074 696f 6e73 3a2a 0ae2 t...*Options:*..\n-00019d00: 8098 2d68 e280 990a 2020 2020 2050 7269 ..-h.... Pri\n-00019d10: 6e74 2061 2073 686f 7274 2063 6174 616c nt a short catal\n-00019d20: 6f67 206f 6620 6f70 7469 6f6e 732e 0ae2 og of options...\n-00019d30: 8098 2d56 e280 990a 2020 2020 2053 6574 ..-V.... Set\n-00019d40: 2074 6865 20e2 8098 5053 5472 6963 6b73 the ...PSTricks\n-00019d50: e280 9920 7665 7273 696f 6e20 6173 7375 ... version assu\n-00019d60: 6d65 6420 666f 7220 6f75 7470 7574 2070 med for output p\n-00019d70: 7572 706f 7365 7320 746f 20e2 8098 782e urposes to ...x.\n-00019d80: 79e2 8099 2c0a 2020 2020 2066 6f72 2065 y...,. for e\n-00019d90: 7861 6d70 6c65 2031 2e31 392e 2020 5573 xample 1.19. Us\n-00019da0: 7561 6c6c 7920 6e65 6564 6564 206f 6e6c ually needed onl\n-00019db0: 7920 6966 2079 6f75 7220 e280 9850 5354 y if your ...PST\n-00019dc0: 7269 636b 73e2 8099 2069 7320 6f6c 640a ricks... is old.\n-00019dd0: 2020 2020 2063 6f6d 7061 7265 6420 746f compared to\n-00019de0: 2079 6f75 7220 e280 9873 6b65 7463 68e2 your ...sketch.\n-00019df0: 8099 2e20 2055 7365 20e2 8098 2d76 e280 ... Use ...-v..\n-00019e00: 9920 746f 2073 6565 2077 6861 7420 e280 . to see what ..\n-00019e10: 9873 6b65 7463 68e2 8099 2061 7373 756d .sketch... assum\n-00019e20: 6573 0a20 2020 2020 6279 2064 6566 6175 es. by defau\n-00019e30: 6c74 2e0a e280 982d 76e2 8099 0a20 2020 lt.....-v.... \n-00019e40: 2020 5072 696e 7420 7665 7273 696f 6e20 Print version \n-00019e50: 696e 666f 726d 6174 696f 6e20 746f 2073 information to s\n-00019e60: 7461 6e64 6172 6420 6f75 7470 7574 2c20 tandard output, \n-00019e70: 696e 636c 7564 696e 6720 7468 6520 7665 including the ve\n-00019e80: 7273 696f 6e0a 2020 2020 206f 6620 e280 rsion. of ..\n-00019e90: 9850 5354 7269 636b 73e2 8099 2061 7373 .PSTricks... ass\n-00019ea0: 756d 6564 2066 6f72 206f 7574 7075 7420 umed for output \n-00019eb0: 2863 616e 2062 6520 6368 616e 6765 6420 (can be changed \n-00019ec0: 7769 7468 20e2 8098 2d56 e280 9920 6162 with ...-V... ab\n-00019ed0: 6f76 6529 2e0a e280 982d 62e2 8099 0a20 ove).....-b.... \n-00019ee0: 2020 2020 5573 6520 6120 4253 5020 282a Use a BSP (*\n-00019ef0: 4e6f 7465 2048 6964 6465 6e20 7375 7266 Note Hidden surf\n-00019f00: 6163 6520 7265 6d6f 7661 6c3a 3a2e 2920 ace removal::.) \n-00019f10: 2066 6f72 205f 616c 6c5f 2068 6964 6465 for _all_ hidde\n-00019f20: 6e0a 2020 2020 2073 7572 6661 6365 2072 n. surface r\n-00019f30: 656d 6f76 616c 2072 6174 6865 7220 7468 emoval rather th\n-00019f40: 616e 2074 6865 2064 6566 6175 6c74 2c20 an the default, \n-00019f50: 7768 6963 6820 6973 2074 6865 2064 6570 which is the dep\n-00019f60: 7468 2073 6f72 740a 2020 2020 2061 6c67 th sort. alg\n-00019f70: 6f72 6974 686d 2077 6974 6820 4253 5073 orithm with BSPs\n-00019f80: 2075 7365 6420 6f6e 6c79 2066 6f72 2063 used only for c\n-00019f90: 7963 6c65 2072 6573 6f6c 7574 696f 6e2e ycle resolution.\n-00019fa0: 2020 5468 6973 206d 6179 0a20 2020 2020 This may. \n-00019fb0: 7072 6f64 7563 6520 636f 7272 6563 7420 produce correct \n-00019fc0: 6f75 7470 7574 2069 6e20 6365 7274 6169 output in certai\n-00019fd0: 6e20 6465 6765 6e65 7261 7465 2063 6173 n degenerate cas\n-00019fe0: 6573 2077 6865 7265 2074 6865 2064 6570 es where the dep\n-00019ff0: 7468 0a20 2020 2020 736f 7274 2063 616e th. sort can\n-0001a000: 6e6f 742c 2062 7574 2069 7420 616c 736f not, but it also\n-0001a010: 206c 6561 6473 2074 6f20 6d61 6e79 2067 leads to many g\n-0001a020: 7261 7475 6974 6f75 7320 7370 6c69 7473 ratuitous splits\n-0001a030: 2c20 6865 6e63 650a 2020 2020 206d 6f72 , hence. mor\n-0001a040: 6520 616e 6f6d 616c 6965 7320 2a6e 6f74 e anomalies *not\n-0001a050: 6520 4275 6773 2061 6e64 2061 6e6f 6d61 e Bugs and anoma\n-0001a060: 6c69 6573 3a3a 2061 6e64 2062 6967 206f lies:: and big o\n-0001a070: 7574 7075 7420 6669 6c65 732e 0ae2 8098 utput files.....\n-0001a080: 2d64 e280 990a 2020 2020 2052 756e 20e2 -d.... Run .\n-0001a090: 8098 736b 6574 6368 e280 9927 7320 7061 ..sketch...'s pa\n-0001a0a0: 7273 6572 2069 6e20 6465 6275 6767 696e rser in debuggin\n-0001a0b0: 6720 6d6f 6465 2e20 2054 6869 7320 6973 g mode. This is\n-0001a0c0: 2070 7269 6d61 7269 6c79 2066 6f72 0a20 primarily for. \n-0001a0d0: 2020 2020 6465 7665 6c6f 706d 656e 742e development.\n-0001a0e0: 0ae2 8098 2d74 e280 990a 2020 2020 2055 ....-t.... U\n-0001a0f0: 7365 2063 6f6e 7465 6e74 7320 6f66 2066 se contents of f\n-0001a100: 696c 6520 e280 9864 6f63 746d 70e2 8099 ile ...doctmp...\n-0001a110: 2061 7320 6120 646f 6375 6d65 6e74 2074 as a document t\n-0001a120: 656d 706c 6174 6520 696e 2077 6869 6368 emplate in which\n-0001a130: 2074 6f0a 2020 2020 2065 6e63 6c6f 7365 to. enclose\n-0001a140: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... \n-0001a150: 6f75 7470 7574 2063 6f64 652e 2020 5468 output code. Th\n-0001a160: 6520 636f 6465 2069 7320 696e 7365 7274 e code is insert\n-0001a170: 6564 2069 6e20 706c 6163 6520 6f66 0a20 ed in place of. \n-0001a180: 2020 2020 7468 6520 6669 7273 7420 696e the first in\n-0001a190: 7374 616e 6365 206f 6620 7468 6520 6573 stance of the es\n-0001a1a0: 6361 7065 2073 7472 696e 6720 2525 534b cape string %%SK\n-0001a1b0: 4554 4348 5f4f 5554 5055 5425 252e 0ae2 ETCH_OUTPUT%%...\n-0001a1c0: 8098 2d54 e280 990a 2020 2020 2043 6175 ..-T.... Cau\n-0001a1d0: 7365 7320 e280 9850 5354 7269 636b 73e2 ses ...PSTricks.\n-0001a1e0: 8099 206f 7574 7075 7420 746f 2062 6520 .. output to be \n-0001a1f0: 656e 636c 6f73 6564 2069 6e20 6465 6661 enclosed in defa\n-0001a200: 756c 7420 5553 2064 6f63 756d 656e 740a ult US document.\n-0001a210: 2020 2020 2074 656d 706c 6174 6520 7465 template te\n-0001a220: 7874 2e20 204f 7074 696f 6e20 e280 982d xt. Option ...-\n-0001a230: 5475 e280 9920 6973 2061 2073 796e 6f6e Tu... is a synon\n-0001a240: 796d 2e20 204f 7074 696f 6e20 e280 982d ym. Option ...-\n-0001a250: 5465 e280 9920 6361 7573 6573 2074 6865 Te... causes the\n-0001a260: 0a20 2020 2020 4575 726f 2073 7461 6e64 . Euro stand\n-0001a270: 6172 6420 646f 6375 6d65 6e74 2074 656d ard document tem\n-0001a280: 706c 6174 6520 746f 2062 6520 7573 6564 plate to be used\n-0001a290: 2e20 2041 20e2 8098 70e2 8099 2061 7070 . A ...p... app\n-0001a2a0: 656e 6465 6420 746f 2061 6e79 0a20 2020 ended to any. \n-0001a2b0: 2020 6f66 2074 6865 7365 206f 7074 696f of these optio\n-0001a2c0: 6e73 2063 6175 7365 7320 7468 6520 7265 ns causes the re\n-0001a2d0: 7370 6563 7469 7665 2064 6566 6175 6c74 spective default\n-0001a2e0: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... \n-0001a2f0: 646f 6375 6d65 6e74 0a20 2020 2020 7465 document. te\n-0001a300: 6d70 6c61 7465 2074 6f20 6265 2070 7269 mplate to be pri\n-0001a310: 6e74 6564 2074 6f20 7374 616e 6461 7264 nted to standard\n-0001a320: 206f 7574 7075 742e 2020 416e 2061 7070 output. An app\n-0001a330: 656e 6465 6420 e280 9850 e280 9920 6973 ended ...P... is\n-0001a340: 2061 0a20 2020 2020 7379 6e6f 6e79 6d2e a. synonym.\n-0001a350: 2020 416e 2061 7070 656e 6465 6420 e280 An appended ..\n-0001a360: 9854 e280 9920 6361 7573 6573 2074 6865 .T... causes the\n-0001a370: 2074 6865 20e2 8098 5469 6b5a 2f50 4746 the ...TikZ/PGF\n-0001a380: e280 9920 7465 6d70 6c61 7465 2074 6f20 ... template to \n-0001a390: 6265 0a20 2020 2020 7072 696e 7465 642e be. printed.\n-0001a3a0: 2020 416e 2061 7070 656e 6465 6420 e280 An appended ..\n-0001a3b0: 984c e280 9920 7072 696e 7473 2074 6865 .L... prints the\n-0001a3c0: 204c 6154 6558 2076 6572 7369 6f6e 206f LaTeX version o\n-0001a3d0: 6620 7468 6520 646f 6375 6d65 6e74 0a20 f the document. \n-0001a3e0: 2020 2020 7465 6d70 6c61 7465 2c20 6120 template, a \n-0001a3f0: 7379 6e6f 6e79 6d20 666f 7220 7468 6520 synonym for the \n-0001a400: 6465 6661 756c 742e 2020 4120 e280 9843 default. A ...C\n-0001a410: e280 9920 7072 696e 7473 2074 6865 20e2 ... prints the .\n-0001a420: 8098 436f 6e54 6558 74e2 8099 0a20 2020 ..ConTeXt.... \n-0001a430: 2020 7465 6d70 6c61 7465 2e0a e280 982d template.....-\n-0001a440: 6fe2 8099 0a20 2020 2020 5573 6520 e280 o.... Use ..\n-0001a450: 986f 7574 7075 742e 7465 78e2 8099 2061 .output.tex... a\n-0001a460: 7320 7468 6520 6f75 7470 7574 2066 696c s the output fil\n-0001a470: 652e 2020 5468 6520 6465 6661 756c 7420 e. The default \n-0001a480: 6973 2073 7461 6e64 6172 640a 2020 2020 is standard. \n-0001a490: 206f 7574 7075 742e 0ae2 8098 2d44 e280 output.....-D..\n-0001a4a0: 990a 2020 2020 2044 6566 696e 6520 6120 .. Define a \n-0001a4b0: 7461 6720 666f 7220 7075 7270 6f73 6573 tag for purposes\n-0001a4c0: 206f 6620 7365 6c65 6374 696e 6720 6465 of selecting de\n-0001a4d0: 6669 6e69 7469 6f6e 2061 6c74 6572 6e61 finition alterna\n-0001a4e0: 7469 7665 732e 0a20 2020 2020 2a4e 6f74 tives.. *Not\n-0001a4f0: 6520 4465 6669 6e69 7469 6f6e 733a 3a2e e Definitions::.\n-0001a500: 2020 5468 6520 6465 6669 6e69 7469 6f6e The definition\n-0001a510: 2061 7070 6c69 6573 2066 6f72 2061 6c6c applies for all\n-0001a520: 2069 6e70 7574 2066 696c 6573 0a20 2020 input files. \n-0001a530: 2020 7468 6174 2066 6f6c 6c6f 7720 756e that follow un\n-0001a540: 6c65 7373 2074 6865 2074 6167 2069 7320 less the tag is \n-0001a550: 756e 6465 6669 6e65 6420 7769 7468 20e2 undefined with .\n-0001a560: 8098 2d55 e280 992e 0ae2 8098 696e 7075 ..-U........inpu\n-0001a570: 7469 2e73 6be2 8099 0a20 2020 2020 496e ti.sk.... In\n-0001a580: 7075 7420 6669 6c65 732c 2072 6561 6420 put files, read \n-0001a590: 696e 2074 6865 2073 6571 7565 6e63 6520 in the sequence \n-0001a5a0: 7468 6579 2061 7265 2067 6976 656e 2e0a they are given..\n-0001a5b0: e280 982d 55e2 8099 0a20 2020 2020 556e ...-U.... Un\n-0001a5c0: 2d64 6566 696e 6520 6120 7461 6720 666f -define a tag fo\n-0001a5d0: 7220 7075 7270 6f73 6573 206f 6620 7365 r purposes of se\n-0001a5e0: 6c65 6374 696e 6720 6465 6669 6e69 7469 lecting definiti\n-0001a5f0: 6f6e 2061 6c74 6572 6e61 7469 7665 732e on alternatives.\n-0001a600: 0a0a 1f0a 4669 6c65 3a20 736b 6574 6368 ....File: sketch\n-0001a610: 2e69 6e66 6f2c 2020 4e6f 6465 3a20 496e .info, Node: In\n-0001a620: 7374 616c 6c69 6e67 2073 6b65 7463 682c stalling sketch,\n-0001a630: 2020 4e65 7874 3a20 496e 6465 7820 6f66 Next: Index of\n-0001a640: 2073 796e 7461 782c 2020 5072 6576 3a20 syntax, Prev: \n-0001a650: 436f 6d6d 616e 6420 6c69 6e65 2c20 2055 Command line, U\n-0001a660: 703a 2054 6f70 0a0a 3620 4275 696c 6469 p: Top..6 Buildi\n-0001a670: 6e67 2061 6e64 2069 6e73 7461 6c6c 696e ng and installin\n-0001a680: 6720 e280 9873 6b65 7463 68e2 8099 0a2a g ...sketch....*\n-0001a690: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n+00018770: 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 2d2d 0a0a --------------..\n+00018780: e280 9853 6b65 7463 68e2 8099 2075 7365 ...Sketch... use\n+00018790: 7320 7468 6520 e280 9c64 6570 7468 2073 s the ...depth s\n+000187a0: 6f72 7420 616c 676f 7269 7468 6de2 809d ort algorithm...\n+000187b0: 2066 6f72 2068 6964 6465 6e20 7375 7266 for hidden surf\n+000187c0: 6163 6520 7265 6d6f 7661 6c2e 0a54 6869 ace removal..Thi\n+000187d0: 7320 6973 2061 2076 6572 7920 6f6c 6420 s is a very old \n+000187e0: 7465 6368 6e69 7175 6520 6475 6520 746f technique due to\n+000187f0: 204e 6577 656c 6c2e 2831 2920 2049 7420 Newell.(1) It \n+00018800: 6973 2067 656e 6572 616c 6c79 2072 6567 is generally reg\n+00018810: 6172 6465 640a 6173 2074 6f6f 2073 6c6f arded.as too slo\n+00018820: 7720 666f 7220 7265 616c 2074 696d 6520 w for real time \n+00018830: 6772 6170 6869 6373 2c20 6275 7420 6974 graphics, but it\n+00018840: 2069 7320 6964 6561 6c20 666f 7220 6f75 is ideal for ou\n+00018850: 7220 7075 7270 6f73 650a 7768 6572 6520 r purpose.where \n+00018860: 7370 6565 6420 6973 206e 6f74 2076 6572 speed is not ver\n+00018870: 7920 696d 706f 7274 616e 742e 2832 290a y important.(2).\n+00018880: 0a20 2020 5468 6520 6465 7074 6820 736f . The depth so\n+00018890: 7274 2061 6c67 6f72 6974 686d 206d 6572 rt algorithm mer\n+000188a0: 656c 7920 736f 7274 7320 6f62 6a65 6374 ely sorts object\n+000188b0: 7320 6f6e 2061 206b 6579 206f 6620 696e s on a key of in\n+000188c0: 6372 6561 7369 6e67 0a7a 2d63 6f6f 7264 creasing.z-coord\n+000188d0: 696e 6174 652c 2065 7175 6976 616c 656e inate, equivalen\n+000188e0: 7420 746f 2064 6563 7265 6173 696e 6720 t to decreasing \n+000188f0: 6465 7074 682e 2020 4f62 6a65 6374 7320 depth. Objects \n+00018900: 6172 6520 7468 656e 2064 7261 776e 2069 are then drawn i\n+00018910: 6e0a 7468 6520 736f 7274 6564 2073 6571 n.the sorted seq\n+00018920: 7565 6e63 6520 736f 2074 6861 7420 7468 uence so that th\n+00018930: 6f73 6520 6174 2074 6865 2072 6561 7220 ose at the rear \n+00018940: 6f66 2074 6865 2073 6365 6e65 2061 7265 of the scene are\n+00018950: 0a6f 7665 7277 7269 7474 656e 2062 7920 .overwritten by \n+00018960: 7468 6f73 6520 636c 6f73 6572 2074 6f20 those closer to \n+00018970: 7468 6520 7669 6577 6572 2e20 2053 696e the viewer. Sin\n+00018980: 6365 2074 6869 7320 6973 2061 6c73 6f20 ce this is also \n+00018990: 686f 7720 6f69 6c0a 7061 696e 7465 7273 how oil.painters\n+000189a0: 2070 7261 6374 6963 6520 7468 6569 7220 practice their \n+000189b0: 6172 742c 2064 6570 7468 2073 6f72 7420 art, depth sort \n+000189c0: 6973 2073 6f6d 6574 696d 6573 2063 616c is sometimes cal\n+000189d0: 6c65 6420 2274 6865 0a70 6169 6e74 6572 led \"the.painter\n+000189e0: 2773 2061 6c67 6f72 6974 686d 2e22 0a0a 's algorithm.\"..\n+000189f0: 2020 2049 6e20 736f 6d65 2063 6173 6573 In some cases\n+00018a00: 2069 7420 6973 2069 6d70 6f73 7369 626c it is impossibl\n+00018a10: 6520 746f 2073 7472 6963 746c 7920 6f72 e to strictly or\n+00018a20: 6465 7220 706f 6c79 676f 6e73 2061 6363 der polygons acc\n+00018a30: 6f72 6469 6e67 0a74 6f20 6465 7074 682e ording.to depth.\n+00018a40: 2020 4d6f 7265 6f76 6572 2c20 6576 656e Moreover, even\n+00018a50: 2069 6620 6120 636f 7272 6563 7420 6465 if a correct de\n+00018a60: 7074 6820 6f72 6465 7269 6e67 2065 7869 pth ordering exi\n+00018a70: 7374 732c 2074 6865 0a63 6f6d 7075 7461 sts, the.computa\n+00018a80: 7469 6f6e 206e 6565 6465 6420 746f 2066 tion needed to f\n+00018a90: 696e 6420 6974 206d 6179 2062 6520 746f ind it may be to\n+00018aa0: 6f20 636f 6d70 6c65 7820 616e 6420 736c o complex and sl\n+00018ab0: 6f77 2e20 2049 6e20 7468 6573 650a 6361 ow. In these.ca\n+00018ac0: 7365 732c 20e2 8098 736b 6574 6368 e280 ses, ...sketch..\n+00018ad0: 9920 7370 6c69 7473 206f 6e65 206f 7220 . splits one or \n+00018ae0: 6d6f 7265 2070 6f6c 7967 6f6e 7320 696e more polygons in\n+00018af0: 746f 2070 6965 6365 732e 2020 5468 650a to pieces. The.\n+00018b00: 6578 7065 6374 6174 696f 6e20 6973 2074 expectation is t\n+00018b10: 6861 7420 7468 6520 6e65 772c 2073 6d61 hat the new, sma\n+00018b20: 6c6c 6572 2070 6f6c 7967 6f6e 7320 7769 ller polygons wi\n+00018b30: 6c6c 2062 6520 7369 6d70 6c65 7220 746f ll be simpler to\n+00018b40: 206f 7264 6572 2e0a e280 9853 6b65 7463 order.....Sketc\n+00018b50: 68e2 8099 2075 7365 7320 6120 4253 5020 h... uses a BSP \n+00018b60: 2862 696e 6172 7920 7370 6163 6520 7061 (binary space pa\n+00018b70: 7274 6974 696f 6e29 2074 6f20 6861 6e64 rtition) to hand\n+00018b80: 6c65 2074 6865 2073 706c 6974 7469 6e67 le the splitting\n+00018b90: 0a6f 7065 7261 7469 6f6e 2e0a 0a2a 204d .operation...* M\n+00018ba0: 656e 753a 0a0a 2a20 5374 6174 6973 7469 enu:..* Statisti\n+00018bb0: 6373 3a3a 2020 2020 2020 2020 2020 2020 cs:: \n+00018bc0: 2020 2020 2020 5065 7266 6f72 6d61 6e63 Performanc\n+00018bd0: 6520 6e75 6d62 6572 7320 6f6e 2064 6570 e numbers on dep\n+00018be0: 7468 2073 6f72 742e 0a2a 2042 7567 7320 th sort..* Bugs \n+00018bf0: 616e 6420 616e 6f6d 616c 6965 733a 3a20 and anomalies:: \n+00018c00: 2020 2020 2020 2020 2049 6d70 6572 6665 Imperfe\n+00018c10: 6374 696f 6e73 2069 6e20 7468 6973 2069 ctions in this i\n+00018c20: 6d70 6c65 6d65 6e74 6174 696f 6e2e 0a0a mplementation...\n+00018c30: 2020 202d 2d2d 2d2d 2d2d 2d2d 2d20 466f ---------- Fo\n+00018c40: 6f74 6e6f 7465 7320 2d2d 2d2d 2d2d 2d2d otnotes --------\n+00018c50: 2d2d 0a0a 2020 2028 3129 204e 6577 656c --.. (1) Newel\n+00018c60: 6c2c 204d 2e45 2e2c 2052 2e47 2e20 4e65 l, M.E., R.G. Ne\n+00018c70: 7765 6c6c 2c20 616e 6420 542e 4c2e 2053 well, and T.L. S\n+00018c80: 616e 6368 612c 2041 2073 6f6c 7574 696f ancha, A solutio\n+00018c90: 6e20 746f 2074 6865 0a68 6964 6465 6e20 n to the.hidden \n+00018ca0: 7375 7266 6163 6520 7072 6f62 6c65 6d2e surface problem.\n+00018cb0: 2020 5072 6f63 6565 6469 6e67 7320 6f66 Proceedings of\n+00018cc0: 2074 6865 2041 434d 2061 6e6e 7561 6c20 the ACM annual \n+00018cd0: 636f 6e66 6572 656e 6365 202d 0a56 6f6c conference -.Vol\n+00018ce0: 756d 6520 312c 2070 6167 6520 3434 332d ume 1, page 443-\n+00018cf0: 3435 302c 2041 434d 2050 7265 7373 2c20 450, ACM Press, \n+00018d00: 3139 3732 2e0a 0a20 2020 2832 2920 5765 1972... (2) We\n+00018d10: 2068 6176 6520 7275 6e20 e280 9873 6b65 have run ...ske\n+00018d20: 7463 68e2 8099 206f 6e20 7468 6520 6661 tch... on the fa\n+00018d30: 6d6f 7573 2053 7461 6e66 6f72 6420 4275 mous Stanford Bu\n+00018d40: 6e6e 792c 2077 6869 6368 2063 6f6e 7369 nny, which consi\n+00018d50: 7374 730a 6f66 206e 6561 726c 7920 3730 sts.of nearly 70\n+00018d60: 2c30 3030 2074 7269 616e 676c 6573 2e20 ,000 triangles. \n+00018d70: 2052 756e 2074 696d 6520 7761 7320 6162 Run time was ab\n+00018d80: 6f75 7420 3620 7365 636f 6e64 732e 2020 out 6 seconds. \n+00018d90: 4d6f 7374 206f 6620 7468 6973 0a77 6173 Most of this.was\n+00018da0: 2073 7065 6e74 2077 7269 7469 6e67 2074 spent writing t\n+00018db0: 6865 206f 7574 7075 7420 6669 6c65 2072 he output file r\n+00018dc0: 6174 6865 7220 7468 616e 2069 6e20 7468 ather than in th\n+00018dd0: 6520 6869 6464 656e 2073 7572 6661 6365 e hidden surface\n+00018de0: 0a61 6c67 6f72 6974 686d 2e20 204c 6154 .algorithm. LaT\n+00018df0: 6558 2074 6f6f 6b20 6d75 6368 206c 6f6e eX took much lon\n+00018e00: 6765 7220 746f 2070 726f 6365 7373 2074 ger to process t\n+00018e10: 6865 2072 6573 756c 7469 6e67 20e2 8098 he resulting ...\n+00018e20: 5053 5472 6963 6b73 e280 990a 636f 6465 PSTricks....code\n+00018e30: 2e20 2054 6865 206f 6276 696f 7573 2063 . The obvious c\n+00018e40: 6f6e 636c 7573 696f 6e20 6973 2074 6861 onclusion is tha\n+00018e50: 7420 7468 6520 7370 6565 6420 6f66 2074 t the speed of t\n+00018e60: 6865 2064 6570 7468 2073 6f72 740a 616c he depth sort.al\n+00018e70: 676f 7269 7468 6d20 6973 206e 6f74 2061 gorithm is not a\n+00018e80: 2077 6f72 7279 2e0a 0a1f 0a46 696c 653a worry.....File:\n+00018e90: 2073 6b65 7463 682e 696e 666f 2c20 204e sketch.info, N\n+00018ea0: 6f64 653a 2053 7461 7469 7374 6963 732c ode: Statistics,\n+00018eb0: 2020 4e65 7874 3a20 4275 6773 2061 6e64 Next: Bugs and\n+00018ec0: 2061 6e6f 6d61 6c69 6573 2c20 2050 7265 anomalies, Pre\n+00018ed0: 763a 2048 6964 6465 6e20 7375 7266 6163 v: Hidden surfac\n+00018ee0: 6520 7265 6d6f 7661 6c2c 2020 5570 3a20 e removal, Up: \n+00018ef0: 4869 6464 656e 2073 7572 6661 6365 2072 Hidden surface r\n+00018f00: 656d 6f76 616c 0a0a 342e 342e 332e 3120 emoval..4.4.3.1 \n+00018f10: 5374 6174 6973 7469 6373 0a2e 2e2e 2e2e Statistics......\n+00018f20: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a 0a46 ...............F\n+00018f30: 6f72 2074 6865 2063 7572 696f 7573 2c20 or the curious, \n+00018f40: e280 9873 6b65 7463 68e2 8099 2077 7269 ...sketch... wri\n+00018f50: 7465 7320 6f6e 6520 6c69 6e65 206f 6620 tes one line of \n+00018f60: 6465 7074 6820 736f 7274 2073 7461 7469 depth sort stati\n+00018f70: 7374 6963 732e 0a48 6572 6520 6973 2061 stics..Here is a\n+00018f80: 6e20 6578 616d 706c 6520 666f 7220 6120 n example for a \n+00018f90: 6c61 7267 6520 636f 6c6c 6563 7469 6f6e large collection\n+00018fa0: 206f 6620 7472 6961 6e67 6c65 732e 0a20 of triangles.. \n+00018fb0: 2072 656d 6172 6b2c 206e 6f64 653d 3334 remark, node=34\n+00018fc0: 3832 3420 7072 6f62 653d 3538 312e 3920 824 probe=581.9 \n+00018fd0: 7377 6170 3d35 2073 706c 6974 3d32 2028 swap=5 split=2 (\n+00018fe0: 696e 3d34 206f 7574 3d36 2920 6f6c 733d in=4 out=6) ols=\n+00018ff0: 3234 3835 312f 300a 4974 206d 6561 6e73 24851/0.It means\n+00019000: 2074 6861 7420 3334 2c38 3234 206f 626a that 34,824 obj\n+00019010: 6563 7473 2077 6572 6520 6465 7074 6820 ects were depth \n+00019020: 736f 7274 6564 2061 6674 6572 2063 756c sorted after cul\n+00019030: 6c69 6e67 2e20 2046 6f72 2065 6163 682c ling. For each,\n+00019040: 0a61 6e20 6176 6572 6167 6520 6f66 2035 .an average of 5\n+00019050: 3831 2e39 206f 7468 6572 7320 6861 6420 81.9 others had \n+00019060: 746f 2062 6520 6368 6563 6b65 6420 746f to be checked to\n+00019070: 2065 6e73 7572 6520 7468 6174 2074 6865 ensure that the\n+00019080: 2069 6e69 7469 616c 2c0a 6170 7072 6f78 initial,.approx\n+00019090: 696d 6174 6520 6f72 6465 7269 6e67 2077 imate ordering w\n+000190a0: 6173 2063 6f72 7265 6374 2e20 2041 6d6f as correct. Amo\n+000190b0: 6e67 2061 6c6c 2074 6865 7365 2063 6865 ng all these che\n+000190c0: 636b 732c 206f 6e6c 7920 350a 7265 7375 cks, only 5.resu\n+000190d0: 6c74 6564 2069 6e20 7377 6170 7320 746f lted in swaps to\n+000190e0: 2072 656f 7264 6572 2074 6865 2069 6e69 reorder the ini\n+000190f0: 7469 616c 2073 6f72 742e 2020 496e 2074 tial sort. In t\n+00019100: 776f 2063 6173 6573 2c20 6120 636f 7272 wo cases, a corr\n+00019110: 6563 740a 6f72 6465 7269 6e67 2063 6f75 ect.ordering cou\n+00019120: 6c64 206e 6f74 2062 6520 6465 7465 726d ld not be determ\n+00019130: 696e 6564 2c20 736f 2062 696e 6172 7920 ined, so binary \n+00019140: 7370 6163 6520 7061 7274 6974 696f 6e73 space partitions\n+00019150: 2077 6572 650a 636f 6e73 7472 7563 7465 were.constructe\n+00019160: 6420 666f 7220 7370 6c69 7474 696e 672e d for splitting.\n+00019170: 2020 4120 746f 7461 6c20 6f66 2034 206f A total of 4 o\n+00019180: 626a 6563 7473 2028 7472 6961 6e67 6c65 bjects (triangle\n+00019190: 7320 696e 2074 6869 730a 6361 7365 2920 s in this.case) \n+000191a0: 7765 7265 2069 6e73 6572 7465 6420 696e were inserted in\n+000191b0: 2074 6865 2070 6172 7469 7469 6f6e 732c the partitions,\n+000191c0: 2061 6e64 2036 2070 6f6c 7967 6f6e 7320 and 6 polygons \n+000191d0: 7765 7265 2070 726f 6475 6365 642e 0a46 were produced..F\n+000191e0: 696e 616c 6c79 2c20 3234 2c38 3531 2022 inally, 24,851 \"\n+000191f0: 6c61 7374 2072 6573 6f72 7422 2070 6f6c last resort\" pol\n+00019200: 7967 6f6e 206f 7665 726c 6170 2063 6865 ygon overlap che\n+00019210: 636b 7320 7765 7265 2070 6572 666f 726d cks were perform\n+00019220: 6564 0a61 6674 6572 2073 696d 706c 6572 ed.after simpler\n+00019230: 2c20 6661 7374 6572 2063 6865 636b 7320 , faster checks \n+00019240: 6661 696c 6564 2074 6f20 7969 656c 6420 failed to yield \n+00019250: 636f 6e63 6c75 7369 7665 2072 6573 756c conclusive resul\n+00019260: 7473 2e20 2054 6865 0a66 696e 616c 202f ts. The.final /\n+00019270: 3020 6973 2066 6f72 206c 696e 652d 706f 0 is for line-po\n+00019280: 6c79 676f 6e20 6f76 6572 6c61 7020 6368 lygon overlap ch\n+00019290: 6563 6b73 2e20 2046 6f72 2063 6f6d 7061 ecks. For compa\n+000192a0: 7269 736f 6e2c 2074 6865 0a73 7461 7469 rison, the.stati\n+000192b0: 7374 6963 7320 666f 7220 7468 6520 6c61 stics for the la\n+000192c0: 7374 2066 6967 7572 6520 696e 202a 6e6f st figure in *no\n+000192d0: 7465 204f 7665 7276 6965 773a 3a20 666f te Overview:: fo\n+000192e0: 6c6c 6f77 2e0a 2020 7265 6d61 726b 2c20 llow.. remark, \n+000192f0: 6e6f 6465 3d32 3720 7072 6f62 653d 3134 node=27 probe=14\n+00019300: 2e36 2073 7761 703d 3336 2073 706c 6974 .6 swap=36 split\n+00019310: 3d31 3520 2869 6e3d 3330 206f 7574 3d34 =15 (in=30 out=4\n+00019320: 3529 206f 6c73 3d30 2f36 390a 4e6f 7465 5) ols=0/69.Note\n+00019330: 2074 6861 7420 7468 6572 6520 7761 7320 that there was \n+00019340: 7072 6f70 6f72 7469 6f6e 616c 6c79 206d proportionally m\n+00019350: 7563 6820 6d6f 7265 2073 7761 7070 696e uch more swappin\n+00019360: 6720 616e 6420 7370 6c69 7474 696e 670a g and splitting.\n+00019370: 6163 7469 7669 7479 2069 6e20 7468 6973 activity in this\n+00019380: 2068 6967 686c 7920 636f 6e6e 6563 7465 highly connecte\n+00019390: 6420 7363 656e 652e 0a0a 1f0a 4669 6c65 d scene.....File\n+000193a0: 3a20 736b 6574 6368 2e69 6e66 6f2c 2020 : sketch.info, \n+000193b0: 4e6f 6465 3a20 4275 6773 2061 6e64 2061 Node: Bugs and a\n+000193c0: 6e6f 6d61 6c69 6573 2c20 2050 7265 763a nomalies, Prev:\n+000193d0: 2053 7461 7469 7374 6963 732c 2020 5570 Statistics, Up\n+000193e0: 3a20 4869 6464 656e 2073 7572 6661 6365 : Hidden surface\n+000193f0: 2072 656d 6f76 616c 0a0a 342e 342e 332e removal..4.4.3.\n+00019400: 3220 4275 6773 2061 6e64 2061 6e6f 6d61 2 Bugs and anoma\n+00019410: 6c69 6573 0a2e 2e2e 2e2e 2e2e 2e2e 2e2e lies............\n+00019420: 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e2e 2e0a ................\n+00019430: 0a50 6f6c 7967 6f6e 2061 6e64 206c 696e .Polygon and lin\n+00019440: 6520 7370 6c69 7474 696e 6720 6361 6e20 e splitting can \n+00019450: 626f 7468 2063 6175 7365 2061 6e6f 6d61 both cause anoma\n+00019460: 6c69 6573 2069 6e20 7468 6520 6f75 7470 lies in the outp\n+00019470: 7574 2e0a e280 9850 5354 7269 636b 73e2 ut.....PSTricks.\n+00019480: 8099 2064 6173 6820 7061 7474 6572 6e73 .. dash patterns\n+00019490: 2c20 7370 6563 6966 6965 6420 7769 7468 , specified with\n+000194a0: 20e2 8098 6c69 6e65 7374 796c 653d 6461 ...linestyle=da\n+000194b0: 7368 6564 e280 992c 2063 616e 2062 650a shed..., can be.\n+000194c0: 6469 7372 7570 7465 6420 6279 2073 706c disrupted by spl\n+000194d0: 6974 7469 6e67 2e20 2054 6869 7320 6f63 itting. This oc\n+000194e0: 6375 7273 2077 6865 6e20 7468 6520 6465 curs when the de\n+000194f0: 7074 6820 736f 7274 2067 6976 6573 2075 pth sort gives u\n+00019500: 7020 746f 6f0a 6561 726c 7920 616e 6420 p too.early and \n+00019510: 7370 6c69 7473 2061 206c 696e 6520 7768 splits a line wh\n+00019520: 6572 6520 6974 2069 7320 6e6f 7420 7265 ere it is not re\n+00019530: 616c 6c79 206e 6563 6573 7361 7279 2e20 ally necessary. \n+00019540: 2041 2077 6f72 6b61 726f 756e 640a 6973 A workaround.is\n+00019550: 2074 6f20 7573 6520 6772 6179 206f 7220 to use gray or \n+00019560: 6669 6e65 6c79 2064 6f74 7465 6420 6c69 finely dotted li\n+00019570: 6e65 7320 696e 7374 6561 642e 2020 4966 nes instead. If\n+00019580: 2079 6f75 7220 6472 6177 696e 6720 6973 your drawing is\n+00019590: 0a73 6d61 6c6c 2c20 796f 7520 6361 6e20 .small, you can \n+000195a0: 616c 736f 2065 6469 7420 7468 6520 e280 also edit the ..\n+000195b0: 9873 6b65 7463 68e2 8099 206f 7574 7075 .sketch... outpu\n+000195c0: 7420 6279 2068 616e 6420 746f 206d 6572 t by hand to mer\n+000195d0: 6765 2074 6865 2070 6965 6365 730a 6f66 ge the pieces.of\n+000195e0: 2074 6865 206f 6666 656e 6469 6e67 206c the offending l\n+000195f0: 696e 652e 0a0a 2020 2041 6e6f 7468 6572 ine... Another\n+00019600: 2061 6e6f 6d61 6c79 2069 7320 7469 6e79 anomaly is tiny\n+00019610: 2028 6f72 2069 6e20 6465 6765 6e65 7261 (or in degenera\n+00019620: 7465 2063 6173 6573 206e 6f74 2d73 6f2d te cases not-so-\n+00019630: 7469 6e79 2920 6e6f 7463 6865 730a 696e tiny) notches.in\n+00019640: 2074 6865 206c 696e 6573 2074 6861 7420 the lines that \n+00019650: 626f 7264 6572 2073 706c 6974 2070 6f6c border split pol\n+00019660: 7967 6f6e 732e 2020 5468 6573 6520 6465 ygons. These de\n+00019670: 7269 7665 2066 726f 6d20 7468 6520 7761 rive from the wa\n+00019680: 7920 6561 6368 0a70 6f6c 7967 6f6e 2069 y each.polygon i\n+00019690: 7320 7061 696e 7465 643a 2066 6972 7374 s painted: first\n+000196a0: 2c20 616c 6c20 7069 7865 6c73 2077 6974 , all pixels wit\n+000196b0: 6869 6e20 7468 6520 626f 756e 6461 7279 hin the boundary\n+000196c0: 2061 7265 20e2 809c 6669 6c6c 6564 e280 are ...filled..\n+000196d0: 9d0a 7769 7468 2063 6f6c 6f72 2028 7065 ..with color (pe\n+000196e0: 7268 6170 7320 7768 6974 6529 2c20 7468 rhaps white), th\n+000196f0: 656e 2074 6865 2073 616d 6520 626f 756e en the same boun\n+00019700: 6461 7279 2069 7320 e280 9c73 7472 6f6b dary is ...strok\n+00019710: 6564 e280 9d20 2861 0a50 6f73 7473 6372 ed... (a.Postscr\n+00019720: 6970 7420 7465 726d 2920 7769 7468 2061 ipt term) with a\n+00019730: 206c 696e 652e 2020 5468 6520 7265 7375 line. The resu\n+00019740: 6c74 2069 7320 7468 6174 2068 616c 6620 lt is that half \n+00019750: 7468 6520 6c69 6e65 206c 6965 730a 696e the line lies.in\n+00019760: 7369 6465 2074 6865 2062 6f75 6e64 6172 side the boundar\n+00019770: 7920 616e 6420 6861 6c66 206f 7574 7369 y and half outsi\n+00019780: 6465 2c20 7768 696c 6520 7468 6520 5061 de, while the Pa\n+00019790: 696e 7465 7227 7320 616c 676f 7269 7468 inter's algorith\n+000197a0: 6d0a 6173 7375 6d65 7320 7468 6520 706f m.assumes the po\n+000197b0: 6c79 676f 6e20 6c69 6573 2065 6e74 6972 lygon lies entir\n+000197c0: 656c 7920 7769 7468 696e 2069 7473 2062 ely within its b\n+000197d0: 6f75 6e64 6172 792e 2020 5468 6520 6e6f oundary. The no\n+000197e0: 7463 6865 7320 6172 650a 6475 6520 746f tches are.due to\n+000197f0: 206f 6e65 2070 6f6c 7967 6f6e 2066 696c one polygon fil\n+00019800: 6c20 6f70 6572 6174 696f 6e20 6f76 6572 l operation over\n+00019810: 7772 6974 696e 6720 7468 6520 616c 7265 writing the alre\n+00019820: 6164 792d 6472 6177 6e20 696e 7369 6465 ady-drawn inside\n+00019830: 0a6f 6620 7468 6520 626f 7264 6572 206f .of the border o\n+00019840: 6620 616e 6f74 6865 7220 706f 6c79 676f f another polygo\n+00019850: 6e2e 2831 2920 204f 6e65 2077 6f72 6b61 n.(1) One worka\n+00019860: 726f 756e 6420 6973 2074 6f20 6d61 6b65 round is to make\n+00019870: 2062 6f72 6465 720a 6c69 6e65 7320 7665 border.lines ve\n+00019880: 7279 2074 6869 6e2e 2020 496e 2066 6163 ry thin. In fac\n+00019890: 7420 e280 986c 696e 6577 6964 7468 3d30 t ...linewidth=0\n+000198a0: 7074 e280 9920 6973 2067 7561 7261 6e74 pt... is guarant\n+000198b0: 6565 6420 746f 2065 6c69 6d69 6e61 7465 eed to eliminate\n+000198c0: 0a74 6869 7320 7072 6f62 6c65 6d2c 2074 .this problem, t\n+000198d0: 686f 7567 6820 7468 6973 2072 6573 756c hough this resul\n+000198e0: 7473 2069 6e20 7468 6520 7468 696e 6e65 ts in the thinne\n+000198f0: 7374 206c 696e 6520 796f 7572 206f 7574 st line your out\n+00019900: 7075 740a 6465 7669 6365 2063 616e 2064 put.device can d\n+00019910: 7261 772c 2077 6869 6368 2069 7320 7573 raw, which is us\n+00019920: 7561 6c6c 7920 746f 6f20 7468 696e 2e20 ually too thin. \n+00019930: 2059 6f75 206d 6967 6874 2067 6574 206c You might get l\n+00019940: 7563 6b79 2062 790a 6d65 7265 6c79 2072 ucky by.merely r\n+00019950: 656f 7264 6572 696e 6720 7468 696e 6773 eordering things\n+00019960: 2069 6e20 7468 6520 696e 7075 7420 6669 in the input fi\n+00019970: 6c65 2c20 7768 6963 6820 6973 206c 696b le, which is lik\n+00019980: 656c 7920 746f 206d 6f76 6520 7468 650a ely to move the.\n+00019990: 7370 6c69 7473 2074 6f20 6469 6666 6572 splits to differ\n+000199a0: 656e 7420 706c 6163 6573 2e20 2054 6865 ent places. The\n+000199b0: 206f 6e6c 7920 7375 7265 2d66 6972 6520 only sure-fire \n+000199c0: 736f 6c75 7469 6f6e 2069 7320 7072 6574 solution is pret\n+000199d0: 7479 0a74 6572 7269 626c 653a 2063 7573 ty.terrible: cus\n+000199e0: 746f 6d20 6669 7420 e280 9873 7065 6369 tom fit ...speci\n+000199f0: 616c e280 9920 6f76 6572 6c61 7920 6c69 al... overlay li\n+00019a00: 6e65 7320 2877 6974 6820 e280 985c 7073 nes (with ...\\ps\n+00019a10: 6c69 6e65 e280 9929 2074 6f20 636f 7665 line...) to cove\n+00019a20: 720a 7468 6520 6e6f 7463 6865 732e 0a0a r.the notches...\n+00019a30: 2020 2050 6f6c 7967 6f6e 2073 706c 6974 Polygon split\n+00019a40: 7469 6e67 2061 6c73 6f20 6272 6561 6b73 ting also breaks\n+00019a50: 20e2 8098 5053 5472 6963 6b73 e280 9920 ...PSTricks... \n+00019a60: 6861 7463 6820 7061 7474 6572 6e73 2e20 hatch patterns. \n+00019a70: 2054 6865 206f 6e6c 790a 6b6e 6f77 6e20 The only.known \n+00019a80: 776f 726b 6172 6f75 6e64 2069 7320 746f workaround is to\n+00019a90: 2073 7562 7374 6974 7574 6520 6120 736f substitute a so\n+00019aa0: 6c69 6420 6669 6c6c 2066 6f72 2074 6865 lid fill for the\n+00019ab0: 2068 6174 6368 2e0a 0a20 2020 2d2d 2d2d hatch... ----\n+00019ac0: 2d2d 2d2d 2d2d 2046 6f6f 746e 6f74 6573 ------ Footnotes\n+00019ad0: 202d 2d2d 2d2d 2d2d 2d2d 2d0a 0a20 2020 ----------.. \n+00019ae0: 2831 2920 4920 6b6e 6f77 2068 6f77 2074 (1) I know how t\n+00019af0: 6f20 6669 7820 7468 6973 2070 726f 626c o fix this probl\n+00019b00: 656d 2c20 6275 7420 4920 646f 6e27 7420 em, but I don't \n+00019b10: 6c69 6b65 206d 7920 736f 6c75 7469 6f6e like my solution\n+00019b20: 2c20 616e 640a 4927 6d20 696e 7465 7265 , and.I'm intere\n+00019b30: 7374 6564 2069 6e20 796f 7572 732e 0a0a sted in yours...\n+00019b40: 1f0a 4669 6c65 3a20 736b 6574 6368 2e69 ..File: sketch.i\n+00019b50: 6e66 6f2c 2020 4e6f 6465 3a20 436f 6d6d nfo, Node: Comm\n+00019b60: 616e 6420 6c69 6e65 2c20 204e 6578 743a and line, Next:\n+00019b70: 2049 6e73 7461 6c6c 696e 6720 736b 6574 Installing sket\n+00019b80: 6368 2c20 2050 7265 763a 2042 7569 6c64 ch, Prev: Build\n+00019b90: 696e 6720 6120 6472 6177 696e 672c 2020 ing a drawing, \n+00019ba0: 5570 3a20 546f 700a 0a35 2043 6f6d 6d61 Up: Top..5 Comma\n+00019bb0: 6e64 206c 696e 650a 2a2a 2a2a 2a2a 2a2a nd line.********\n+00019bc0: 2a2a 2a2a 2a2a 0a0a 2a53 796e 6f70 7369 ******..*Synopsi\n+00019bd0: 733a 2a0a 2020 2020 2073 6b65 7463 6820 s:*. sketch \n+00019be0: 5b2d 685d 5b2d 5620 782e 795d 5b2d 765d [-h][-V x.y][-v]\n+00019bf0: 5b2d 625d 5b2d 645d 5b74 2064 6f63 746d [-b][-d][t doctm\n+00019c00: 705d 5b2d 545b 757c 655d 5b70 5b50 7c54 p][-T[u|e][p[P|T\n+00019c10: 5d5b 4c7c 435d 5d5d 5b2d 6f20 6f75 7470 ][L|C]]][-o outp\n+00019c20: 7574 2e74 6578 5d0a 2020 2020 2020 205b ut.tex]. [\n+00019c30: 2d44 2054 4147 202e 2e2e 5d20 696e 7075 -D TAG ...] inpu\n+00019c40: 7431 2e73 6b20 5b2d 5520 5441 4720 2e2e t1.sk [-U TAG ..\n+00019c50: 2e5d 2069 6e70 7574 322e 736b 202e 2e2e .] input2.sk ...\n+00019c60: 0a0a 2a44 6573 6372 6970 7469 6f6e 2a20 ..*Description* \n+00019c70: 5072 6f63 6573 7365 7320 7468 6520 e280 Processes the ..\n+00019c80: 9873 6b65 7463 68e2 8099 2069 6e70 7574 .sketch... input\n+00019c90: 2066 696c 6573 2069 6e20 6f72 6465 7220 files in order \n+00019ca0: 746f 2070 726f 6475 6365 0ae2 8098 5053 to produce....PS\n+00019cb0: 5472 6963 6b73 e280 9920 6f75 7470 7574 Tricks... output\n+00019cc0: 2063 6f64 6520 7375 6974 6162 6c65 2066 code suitable f\n+00019cd0: 6f72 2069 6e63 6c75 7369 6f6e 2069 6e20 or inclusion in \n+00019ce0: 6120 5465 5820 6f72 204c 6154 6558 0a64 a TeX or LaTeX.d\n+00019cf0: 6f63 756d 656e 742e 0a0a 2a4f 7074 696f ocument...*Optio\n+00019d00: 6e73 3a2a 0ae2 8098 2d68 e280 990a 2020 ns:*....-h.... \n+00019d10: 2020 2050 7269 6e74 2061 2073 686f 7274 Print a short\n+00019d20: 2063 6174 616c 6f67 206f 6620 6f70 7469 catalog of opti\n+00019d30: 6f6e 732e 0ae2 8098 2d56 e280 990a 2020 ons.....-V.... \n+00019d40: 2020 2053 6574 2074 6865 20e2 8098 5053 Set the ...PS\n+00019d50: 5472 6963 6b73 e280 9920 7665 7273 696f Tricks... versio\n+00019d60: 6e20 6173 7375 6d65 6420 666f 7220 6f75 n assumed for ou\n+00019d70: 7470 7574 2070 7572 706f 7365 7320 746f tput purposes to\n+00019d80: 20e2 8098 782e 79e2 8099 2c0a 2020 2020 ...x.y...,. \n+00019d90: 2066 6f72 2065 7861 6d70 6c65 2031 2e31 for example 1.1\n+00019da0: 392e 2020 5573 7561 6c6c 7920 6e65 6564 9. Usually need\n+00019db0: 6564 206f 6e6c 7920 6966 2079 6f75 7220 ed only if your \n+00019dc0: e280 9850 5354 7269 636b 73e2 8099 2069 ...PSTricks... i\n+00019dd0: 7320 6f6c 640a 2020 2020 2063 6f6d 7061 s old. compa\n+00019de0: 7265 6420 746f 2079 6f75 7220 e280 9873 red to your ...s\n+00019df0: 6b65 7463 68e2 8099 2e20 2055 7365 20e2 ketch.... Use .\n+00019e00: 8098 2d76 e280 9920 746f 2073 6565 2077 ..-v... to see w\n+00019e10: 6861 7420 e280 9873 6b65 7463 68e2 8099 hat ...sketch...\n+00019e20: 2061 7373 756d 6573 0a20 2020 2020 6279 assumes. by\n+00019e30: 2064 6566 6175 6c74 2e0a e280 982d 76e2 default.....-v.\n+00019e40: 8099 0a20 2020 2020 5072 696e 7420 7665 ... Print ve\n+00019e50: 7273 696f 6e20 696e 666f 726d 6174 696f rsion informatio\n+00019e60: 6e20 746f 2073 7461 6e64 6172 6420 6f75 n to standard ou\n+00019e70: 7470 7574 2c20 696e 636c 7564 696e 6720 tput, including \n+00019e80: 7468 6520 7665 7273 696f 6e0a 2020 2020 the version. \n+00019e90: 206f 6620 e280 9850 5354 7269 636b 73e2 of ...PSTricks.\n+00019ea0: 8099 2061 7373 756d 6564 2066 6f72 206f .. assumed for o\n+00019eb0: 7574 7075 7420 2863 616e 2062 6520 6368 utput (can be ch\n+00019ec0: 616e 6765 6420 7769 7468 20e2 8098 2d56 anged with ...-V\n+00019ed0: e280 9920 6162 6f76 6529 2e0a e280 982d ... above).....-\n+00019ee0: 62e2 8099 0a20 2020 2020 5573 6520 6120 b.... Use a \n+00019ef0: 4253 5020 282a 4e6f 7465 2048 6964 6465 BSP (*Note Hidde\n+00019f00: 6e20 7375 7266 6163 6520 7265 6d6f 7661 n surface remova\n+00019f10: 6c3a 3a2e 2920 2066 6f72 205f 616c 6c5f l::.) for _all_\n+00019f20: 2068 6964 6465 6e0a 2020 2020 2073 7572 hidden. sur\n+00019f30: 6661 6365 2072 656d 6f76 616c 2072 6174 face removal rat\n+00019f40: 6865 7220 7468 616e 2074 6865 2064 6566 her than the def\n+00019f50: 6175 6c74 2c20 7768 6963 6820 6973 2074 ault, which is t\n+00019f60: 6865 2064 6570 7468 2073 6f72 740a 2020 he depth sort. \n+00019f70: 2020 2061 6c67 6f72 6974 686d 2077 6974 algorithm wit\n+00019f80: 6820 4253 5073 2075 7365 6420 6f6e 6c79 h BSPs used only\n+00019f90: 2066 6f72 2063 7963 6c65 2072 6573 6f6c for cycle resol\n+00019fa0: 7574 696f 6e2e 2020 5468 6973 206d 6179 ution. This may\n+00019fb0: 0a20 2020 2020 7072 6f64 7563 6520 636f . produce co\n+00019fc0: 7272 6563 7420 6f75 7470 7574 2069 6e20 rrect output in \n+00019fd0: 6365 7274 6169 6e20 6465 6765 6e65 7261 certain degenera\n+00019fe0: 7465 2063 6173 6573 2077 6865 7265 2074 te cases where t\n+00019ff0: 6865 2064 6570 7468 0a20 2020 2020 736f he depth. so\n+0001a000: 7274 2063 616e 6e6f 742c 2062 7574 2069 rt cannot, but i\n+0001a010: 7420 616c 736f 206c 6561 6473 2074 6f20 t also leads to \n+0001a020: 6d61 6e79 2067 7261 7475 6974 6f75 7320 many gratuitous \n+0001a030: 7370 6c69 7473 2c20 6865 6e63 650a 2020 splits, hence. \n+0001a040: 2020 206d 6f72 6520 616e 6f6d 616c 6965 more anomalie\n+0001a050: 7320 2a6e 6f74 6520 4275 6773 2061 6e64 s *note Bugs and\n+0001a060: 2061 6e6f 6d61 6c69 6573 3a3a 2061 6e64 anomalies:: and\n+0001a070: 2062 6967 206f 7574 7075 7420 6669 6c65 big output file\n+0001a080: 732e 0ae2 8098 2d64 e280 990a 2020 2020 s.....-d.... \n+0001a090: 2052 756e 20e2 8098 736b 6574 6368 e280 Run ...sketch..\n+0001a0a0: 9927 7320 7061 7273 6572 2069 6e20 6465 .'s parser in de\n+0001a0b0: 6275 6767 696e 6720 6d6f 6465 2e20 2054 bugging mode. T\n+0001a0c0: 6869 7320 6973 2070 7269 6d61 7269 6c79 his is primarily\n+0001a0d0: 2066 6f72 0a20 2020 2020 6465 7665 6c6f for. develo\n+0001a0e0: 706d 656e 742e 0ae2 8098 2d74 e280 990a pment.....-t....\n+0001a0f0: 2020 2020 2055 7365 2063 6f6e 7465 6e74 Use content\n+0001a100: 7320 6f66 2066 696c 6520 e280 9864 6f63 s of file ...doc\n+0001a110: 746d 70e2 8099 2061 7320 6120 646f 6375 tmp... as a docu\n+0001a120: 6d65 6e74 2074 656d 706c 6174 6520 696e ment template in\n+0001a130: 2077 6869 6368 2074 6f0a 2020 2020 2065 which to. e\n+0001a140: 6e63 6c6f 7365 20e2 8098 5053 5472 6963 nclose ...PSTric\n+0001a150: 6b73 e280 9920 6f75 7470 7574 2063 6f64 ks... output cod\n+0001a160: 652e 2020 5468 6520 636f 6465 2069 7320 e. The code is \n+0001a170: 696e 7365 7274 6564 2069 6e20 706c 6163 inserted in plac\n+0001a180: 6520 6f66 0a20 2020 2020 7468 6520 6669 e of. the fi\n+0001a190: 7273 7420 696e 7374 616e 6365 206f 6620 rst instance of \n+0001a1a0: 7468 6520 6573 6361 7065 2073 7472 696e the escape strin\n+0001a1b0: 6720 2525 534b 4554 4348 5f4f 5554 5055 g %%SKETCH_OUTPU\n+0001a1c0: 5425 252e 0ae2 8098 2d54 e280 990a 2020 T%%.....-T.... \n+0001a1d0: 2020 2043 6175 7365 7320 e280 9850 5354 Causes ...PST\n+0001a1e0: 7269 636b 73e2 8099 206f 7574 7075 7420 ricks... output \n+0001a1f0: 746f 2062 6520 656e 636c 6f73 6564 2069 to be enclosed i\n+0001a200: 6e20 6465 6661 756c 7420 5553 2064 6f63 n default US doc\n+0001a210: 756d 656e 740a 2020 2020 2074 656d 706c ument. templ\n+0001a220: 6174 6520 7465 7874 2e20 204f 7074 696f ate text. Optio\n+0001a230: 6e20 e280 982d 5475 e280 9920 6973 2061 n ...-Tu... is a\n+0001a240: 2073 796e 6f6e 796d 2e20 204f 7074 696f synonym. Optio\n+0001a250: 6e20 e280 982d 5465 e280 9920 6361 7573 n ...-Te... caus\n+0001a260: 6573 2074 6865 0a20 2020 2020 4575 726f es the. Euro\n+0001a270: 2073 7461 6e64 6172 6420 646f 6375 6d65 standard docume\n+0001a280: 6e74 2074 656d 706c 6174 6520 746f 2062 nt template to b\n+0001a290: 6520 7573 6564 2e20 2041 20e2 8098 70e2 e used. A ...p.\n+0001a2a0: 8099 2061 7070 656e 6465 6420 746f 2061 .. appended to a\n+0001a2b0: 6e79 0a20 2020 2020 6f66 2074 6865 7365 ny. of these\n+0001a2c0: 206f 7074 696f 6e73 2063 6175 7365 7320 options causes \n+0001a2d0: 7468 6520 7265 7370 6563 7469 7665 2064 the respective d\n+0001a2e0: 6566 6175 6c74 20e2 8098 5053 5472 6963 efault ...PSTric\n+0001a2f0: 6b73 e280 9920 646f 6375 6d65 6e74 0a20 ks... document. \n+0001a300: 2020 2020 7465 6d70 6c61 7465 2074 6f20 template to \n+0001a310: 6265 2070 7269 6e74 6564 2074 6f20 7374 be printed to st\n+0001a320: 616e 6461 7264 206f 7574 7075 742e 2020 andard output. \n+0001a330: 416e 2061 7070 656e 6465 6420 e280 9850 An appended ...P\n+0001a340: e280 9920 6973 2061 0a20 2020 2020 7379 ... is a. sy\n+0001a350: 6e6f 6e79 6d2e 2020 416e 2061 7070 656e nonym. An appen\n+0001a360: 6465 6420 e280 9854 e280 9920 6361 7573 ded ...T... caus\n+0001a370: 6573 2074 6865 2074 6865 20e2 8098 5469 es the the ...Ti\n+0001a380: 6b5a 2f50 4746 e280 9920 7465 6d70 6c61 kZ/PGF... templa\n+0001a390: 7465 2074 6f20 6265 0a20 2020 2020 7072 te to be. pr\n+0001a3a0: 696e 7465 642e 2020 416e 2061 7070 656e inted. An appen\n+0001a3b0: 6465 6420 e280 984c e280 9920 7072 696e ded ...L... prin\n+0001a3c0: 7473 2074 6865 204c 6154 6558 2076 6572 ts the LaTeX ver\n+0001a3d0: 7369 6f6e 206f 6620 7468 6520 646f 6375 sion of the docu\n+0001a3e0: 6d65 6e74 0a20 2020 2020 7465 6d70 6c61 ment. templa\n+0001a3f0: 7465 2c20 6120 7379 6e6f 6e79 6d20 666f te, a synonym fo\n+0001a400: 7220 7468 6520 6465 6661 756c 742e 2020 r the default. \n+0001a410: 4120 e280 9843 e280 9920 7072 696e 7473 A ...C... prints\n+0001a420: 2074 6865 20e2 8098 436f 6e54 6558 74e2 the ...ConTeXt.\n+0001a430: 8099 0a20 2020 2020 7465 6d70 6c61 7465 ... template\n+0001a440: 2e0a e280 982d 6fe2 8099 0a20 2020 2020 .....-o.... \n+0001a450: 5573 6520 e280 986f 7574 7075 742e 7465 Use ...output.te\n+0001a460: 78e2 8099 2061 7320 7468 6520 6f75 7470 x... as the outp\n+0001a470: 7574 2066 696c 652e 2020 5468 6520 6465 ut file. The de\n+0001a480: 6661 756c 7420 6973 2073 7461 6e64 6172 fault is standar\n+0001a490: 640a 2020 2020 206f 7574 7075 742e 0ae2 d. output...\n+0001a4a0: 8098 2d44 e280 990a 2020 2020 2044 6566 ..-D.... Def\n+0001a4b0: 696e 6520 6120 7461 6720 666f 7220 7075 ine a tag for pu\n+0001a4c0: 7270 6f73 6573 206f 6620 7365 6c65 6374 rposes of select\n+0001a4d0: 696e 6720 6465 6669 6e69 7469 6f6e 2061 ing definition a\n+0001a4e0: 6c74 6572 6e61 7469 7665 732e 0a20 2020 lternatives.. \n+0001a4f0: 2020 2a4e 6f74 6520 4465 6669 6e69 7469 *Note Definiti\n+0001a500: 6f6e 733a 3a2e 2020 5468 6520 6465 6669 ons::. The defi\n+0001a510: 6e69 7469 6f6e 2061 7070 6c69 6573 2066 nition applies f\n+0001a520: 6f72 2061 6c6c 2069 6e70 7574 2066 696c or all input fil\n+0001a530: 6573 0a20 2020 2020 7468 6174 2066 6f6c es. that fol\n+0001a540: 6c6f 7720 756e 6c65 7373 2074 6865 2074 low unless the t\n+0001a550: 6167 2069 7320 756e 6465 6669 6e65 6420 ag is undefined \n+0001a560: 7769 7468 20e2 8098 2d55 e280 992e 0ae2 with ...-U......\n+0001a570: 8098 696e 7075 7469 2e73 6be2 8099 0a20 ..inputi.sk.... \n+0001a580: 2020 2020 496e 7075 7420 6669 6c65 732c Input files,\n+0001a590: 2072 6561 6420 696e 2074 6865 2073 6571 read in the seq\n+0001a5a0: 7565 6e63 6520 7468 6579 2061 7265 2067 uence they are g\n+0001a5b0: 6976 656e 2e0a e280 982d 55e2 8099 0a20 iven.....-U.... \n+0001a5c0: 2020 2020 556e 2d64 6566 696e 6520 6120 Un-define a \n+0001a5d0: 7461 6720 666f 7220 7075 7270 6f73 6573 tag for purposes\n+0001a5e0: 206f 6620 7365 6c65 6374 696e 6720 6465 of selecting de\n+0001a5f0: 6669 6e69 7469 6f6e 2061 6c74 6572 6e61 finition alterna\n+0001a600: 7469 7665 732e 0a0a 1f0a 4669 6c65 3a20 tives.....File: \n+0001a610: 736b 6574 6368 2e69 6e66 6f2c 2020 4e6f sketch.info, No\n+0001a620: 6465 3a20 496e 7374 616c 6c69 6e67 2073 de: Installing s\n+0001a630: 6b65 7463 682c 2020 4e65 7874 3a20 496e ketch, Next: In\n+0001a640: 6465 7820 6f66 2073 796e 7461 782c 2020 dex of syntax, \n+0001a650: 5072 6576 3a20 436f 6d6d 616e 6420 6c69 Prev: Command li\n+0001a660: 6e65 2c20 2055 703a 2054 6f70 0a0a 3620 ne, Up: Top..6 \n+0001a670: 4275 696c 6469 6e67 2061 6e64 2069 6e73 Building and ins\n+0001a680: 7461 6c6c 696e 6720 e280 9873 6b65 7463 talling ...sketc\n+0001a690: 68e2 8099 0a2a 2a2a 2a2a 2a2a 2a2a 2a2a h....***********\n 0001a6a0: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a ****************\n-0001a6b0: 2a0a 0ae2 8098 536b 6574 6368 e280 9920 *.....Sketch... \n-0001a6c0: 6973 2073 6f20 736d 616c 6c20 7468 6174 is so small that\n-0001a6d0: 2063 6f6d 7069 6c69 6e67 2062 7920 6272 compiling by br\n-0001a6e0: 7574 6520 666f 7263 6520 6973 2070 726f ute force is pro\n-0001a6f0: 6261 626c 7920 6265 7374 2e0a 5468 6520 bably best..The \n-0001a700: 666f 6c6c 6f77 696e 6720 636f 6d6d 616e following comman\n-0001a710: 6420 6f75 6768 7420 746f 2064 6f20 7468 d ought to do th\n-0001a720: 6520 7472 6963 6b20 6f6e 2061 6e79 2073 e trick on any s\n-0001a730: 7973 7465 6d73 2077 6865 7265 20e2 8098 ystems where ...\n-0001a740: 6763 63e2 8099 0a69 7320 696e 7374 616c gcc....is instal\n-0001a750: 6c65 642e 2020 4d61 6b65 2073 7572 6520 led. Make sure \n-0001a760: 746f 2066 6972 7374 2063 6861 6e67 6520 to first change \n-0001a770: 6375 7272 656e 7420 6469 7265 6374 6f72 current director\n-0001a780: 6965 7320 746f 2074 6865 0a70 6c61 6365 ies to the.place\n-0001a790: 2077 6865 7265 2079 6f75 2068 6176 6520 where you have \n-0001a7a0: 756e 7061 636b 6564 2074 6865 2073 6f75 unpacked the sou\n-0001a7b0: 7263 6573 2e0a 2020 2020 2067 6363 202a rces.. gcc *\n-0001a7c0: 2e63 202d 6f20 736b 6574 6368 2e65 7865 .c -o sketch.exe\n-0001a7d0: 202d 6c6d 0a54 6865 20e2 8098 2e65 7865 -lm.The ....exe\n-0001a7e0: e280 9920 6174 2074 6865 2065 6e64 2069 ... at the end i\n-0001a7f0: 7320 6e65 6365 7373 6172 7920 666f 7220 s necessary for \n-0001a800: 5769 6e64 6f77 7320 7379 7374 656d 732e Windows systems.\n-0001a810: 2020 4472 6f70 2069 7420 6966 2079 6f75 Drop it if you\n-0001a820: 720a 7379 7374 656d 2069 7320 736f 6d65 r.system is some\n-0001a830: 2076 6572 7369 6f6e 206f 6620 556e 6978 version of Unix\n-0001a840: 2e20 204f 7468 6572 2043 2063 6f6d 7069 . Other C compi\n-0001a850: 6c65 7273 206f 7567 6874 2074 6f20 776f lers ought to wo\n-0001a860: 726b 2061 7320 6a75 7374 0a61 7320 7765 rk as just.as we\n-0001a870: 6c6c 2e20 2046 6f72 2065 7861 6d70 6c65 ll. For example\n-0001a880: 2c0a 2020 2020 2063 6c20 2a2e 6320 2d6f ,. cl *.c -o\n-0001a890: 2073 6b65 7463 682e 6578 650a 6973 2074 sketch.exe.is t\n-0001a8a0: 6865 2063 6f72 7265 6374 2063 6f6d 6d61 he correct comma\n-0001a8b0: 6e64 2066 6f72 206d 616e 7920 7665 7273 nd for many vers\n-0001a8c0: 696f 6e73 206f 6620 4d53 2056 6973 7561 ions of MS Visua\n-0001a8d0: 6c20 432e 2049 6e20 7468 6520 6c61 7465 l C. In the late\n-0001a8e0: 7374 0a76 6572 7369 6f6e 732c 204d 6963 st.versions, Mic\n-0001a8f0: 726f 736f 6674 2068 6173 2064 6570 7265 rosoft has depre\n-0001a900: 6361 7465 6420 7468 6520 e280 982d 6fe2 cated the ...-o.\n-0001a910: 8099 206f 7074 696f 6e20 616e 642c 2062 .. option and, b\n-0001a920: 7920 6465 6661 756c 742c 2064 6f65 730a y default, does.\n-0001a930: 6e6f 7420 6465 6669 6e65 2074 6865 20e2 not define the .\n-0001a940: 8098 5f5f 5354 4443 5f5f e280 9920 6d61 ..__STDC__... ma\n-0001a950: 6372 6f2e 2020 5468 6973 2063 6175 7365 cro. This cause\n-0001a960: 7320 7072 6f62 6c65 6d73 2077 6974 6820 s problems with \n-0001a970: 736f 6d65 0a76 6572 7369 6f6e 7320 6f66 some.versions of\n-0001a980: 20e2 8098 666c 6578 e280 992c 20e2 8098 ...flex..., ...\n-0001a990: 6269 736f 6ee2 8099 2c20 e280 986c 6578 bison..., ...lex\n-0001a9a0: e280 992c 2061 6e64 20e2 8098 7961 6363 ..., and ...yacc\n-0001a9b0: e280 992c 2077 6869 6368 2061 7265 2075 ..., which are u\n-0001a9c0: 7365 6420 746f 2063 7265 6174 650a 7468 sed to create.th\n-0001a9d0: 6520 e280 9873 6b65 7463 68e2 8099 2073 e ...sketch... s\n-0001a9e0: 6361 6e6e 6572 2061 6e64 2070 6172 7365 canner and parse\n-0001a9f0: 722e 2020 4974 2773 206e 6561 726c 7920 r. It's nearly \n-0001aa00: 616c 7761 7973 2070 6f73 7369 626c 6520 always possible \n-0001aa10: 746f 2066 696e 6420 610a 7365 7420 6f66 to find a.set of\n-0001aa20: 206f 7074 696f 6e73 2074 6861 7420 636f options that co\n-0001aa30: 6d70 696c 6573 2077 6974 6820 6e6f 2065 mpiles with no e\n-0001aa40: 7272 6f72 7320 6f72 2077 6172 6e69 6e67 rrors or warning\n-0001aa50: 732c 2061 6e64 2074 6869 7320 6d65 616e s, and this mean\n-0001aa60: 730a e280 9873 6b65 7463 68e2 8099 2069 s....sketch... i\n-0001aa70: 7320 5f76 6572 795f 206c 696b 656c 7920 s _very_ likely \n-0001aa80: 746f 2077 6f72 6b20 636f 7272 6563 746c to work correctl\n-0001aa90: 792e 2020 466f 7220 6578 616d 706c 652c y. For example,\n-0001aaa0: 2074 6865 2056 6973 7561 6c0a 432b 2b20 the Visual.C++ \n-0001aab0: 3230 3035 2045 7870 7265 7373 2045 6469 2005 Express Edi\n-0001aac0: 7469 6f6e 2063 6f6d 7069 6c65 7220 2861 tion compiler (a\n-0001aad0: 7661 696c 6162 6c65 2066 7265 6520 6f66 vailable free of\n-0001aae0: 2063 6861 7267 6520 6672 6f6d 2074 6865 charge from the\n-0001aaf0: 0a4d 6963 726f 736f 6674 2077 6562 2073 .Microsoft web s\n-0001ab00: 6974 6529 2c20 e280 9866 6c65 78e2 8099 ite), ...flex...\n-0001ab10: 2076 6572 7369 6f6e 2032 2e35 2e34 2c20 version 2.5.4, \n-0001ab20: 616e 6420 e280 9862 6973 6f6e e280 9920 and ...bison... \n-0001ab30: 7665 7273 696f 6e20 322e 3120 6275 696c version 2.1 buil\n-0001ab40: 640a 6572 726f 722d 6672 6565 2077 6974 d.error-free wit\n-0001ab50: 680a 2020 2020 2063 6c20 2d44 5959 5f4e h. cl -DYY_N\n-0001ab60: 4556 4552 5f49 4e54 4552 4143 5449 5645 EVER_INTERACTIVE\n-0001ab70: 3d31 202d 5a61 202d 4f78 202d 4665 736b =1 -Za -Ox -Fesk\n-0001ab80: 6574 6368 2e65 7865 202a 2e63 0a0a 2020 etch.exe *.c.. \n-0001ab90: 2046 6f72 2070 7572 6973 7473 2c20 7468 For purists, th\n-0001aba0: 6572 6520 6973 2061 6c73 6f20 6120 e280 ere is also a ..\n-0001abb0: 986d 616b 6566 696c 65e2 8099 2063 6f6d .makefile... com\n-0001abc0: 7061 7469 626c 6520 7769 7468 2047 4e55 patible with GNU\n-0001abd0: 20e2 8098 6d61 6b65 e280 990a 616e 6420 ...make....and \n-0001abe0: e280 9867 6363 e280 992e 2020 5468 6520 ...gcc.... The \n-0001abf0: 636f 6d6d 616e 640a 2020 2020 206d 616b command. mak\n-0001ac00: 650a 7769 6c6c 2062 7569 6c64 2074 6865 e.will build the\n-0001ac10: 2065 7865 6375 7461 626c 652c 2069 6e63 executable, inc\n-0001ac20: 6c75 6469 6e67 2074 6865 2072 6562 7569 luding the rebui\n-0001ac30: 6c64 696e 6720 6f66 2074 6865 2073 6361 lding of the sca\n-0001ac40: 6e6e 6572 2061 6e64 0a70 6172 7365 7220 nner and.parser \n-0001ac50: 7769 7468 20e2 8098 666c 6578 e280 9920 with ...flex... \n-0001ac60: 616e 6420 e280 9862 6973 6f6e e280 9920 and ...bison... \n-0001ac70: 6966 2079 6f75 2068 6176 6520 6368 616e if you have chan\n-0001ac80: 6765 6420 e280 9873 6b65 7463 682e 6ce2 ged ...sketch.l.\n-0001ac90: 8099 206f 720a e280 9873 6b65 7463 682e .. or....sketch.\n-0001aca0: 79e2 8099 2072 6573 7065 6374 6976 656c y... respectivel\n-0001acb0: 792e 0a0a 2020 2057 6869 6c65 206e 6f74 y... While not\n-0001acc0: 2065 7373 656e 7469 616c 2c20 6275 696c essential, buil\n-0001acd0: 6469 6e67 2074 6865 206d 616e 7561 6c20 ding the manual \n-0001ace0: 6973 2061 6e20 6578 6365 6c6c 656e 7420 is an excellent \n-0001acf0: 7465 7374 206f 6620 796f 7572 0ae2 8098 test of your....\n-0001ad00: 736b 6574 6368 e280 9920 696e 7374 616c sketch... instal\n-0001ad10: 6c61 7469 6f6e 2e20 2054 6f20 6275 696c lation. To buil\n-0001ad20: 6420 7468 6973 2064 6f63 756d 656e 7420 d this document \n-0001ad30: 696e 2061 6c6c 2069 7473 206d 7972 6961 in all its myria\n-0001ad40: 6420 666f 726d 730a 2861 7373 756d 696e d forms.(assumin\n-0001ad50: 6720 796f 7520 6861 7665 2074 6865 206e g you have the n\n-0001ad60: 6563 6573 7361 7279 2063 6f6e 7665 7273 ecessary convers\n-0001ad70: 696f 6e20 7072 6f67 7261 6d73 206f 6e20 ion programs on \n-0001ad80: 796f 7572 2073 7973 7465 6d29 2c0a 7573 your system),.us\n-0001ad90: 650a 2020 2020 206d 616b 6520 646f 6373 e. make docs\n-0001ada0: 0a54 6865 2070 6f73 7369 6269 6c69 7469 .The possibiliti\n-0001adb0: 6573 2061 7265 206c 6973 7465 6420 696e es are listed in\n-0001adc0: 2074 6869 7320 666f 6c6c 6f77 696e 6720 this following \n-0001add0: 7461 626c 652e 0a46 6f72 6d61 7420 2020 table..Format \n-0001ade0: 2020 2020 2020 2020 2020 2020 2043 6f6e Con\n-0001adf0: 7665 7274 6572 2020 2020 2020 2020 5069 verter Pi\n-0001ae00: 6374 7572 6573 2020 2044 6573 6372 6970 ctures Descrip\n-0001ae10: 7469 6f6e 0a2d 2d2d 2d2d 2d2d 2d2d 2d2d tion.-----------\n+0001a6b0: 2a2a 2a2a 2a2a 2a0a 0ae2 8098 536b 6574 *******.....Sket\n+0001a6c0: 6368 e280 9920 6973 2073 6f20 736d 616c ch... is so smal\n+0001a6d0: 6c20 7468 6174 2063 6f6d 7069 6c69 6e67 l that compiling\n+0001a6e0: 2062 7920 6272 7574 6520 666f 7263 6520 by brute force \n+0001a6f0: 6973 2070 726f 6261 626c 7920 6265 7374 is probably best\n+0001a700: 2e0a 5468 6520 666f 6c6c 6f77 696e 6720 ..The following \n+0001a710: 636f 6d6d 616e 6420 6f75 6768 7420 746f command ought to\n+0001a720: 2064 6f20 7468 6520 7472 6963 6b20 6f6e do the trick on\n+0001a730: 2061 6e79 2073 7973 7465 6d73 2077 6865 any systems whe\n+0001a740: 7265 20e2 8098 6763 63e2 8099 0a69 7320 re ...gcc....is \n+0001a750: 696e 7374 616c 6c65 642e 2020 4d61 6b65 installed. Make\n+0001a760: 2073 7572 6520 746f 2066 6972 7374 2063 sure to first c\n+0001a770: 6861 6e67 6520 6375 7272 656e 7420 6469 hange current di\n+0001a780: 7265 6374 6f72 6965 7320 746f 2074 6865 rectories to the\n+0001a790: 0a70 6c61 6365 2077 6865 7265 2079 6f75 .place where you\n+0001a7a0: 2068 6176 6520 756e 7061 636b 6564 2074 have unpacked t\n+0001a7b0: 6865 2073 6f75 7263 6573 2e0a 2020 2020 he sources.. \n+0001a7c0: 2067 6363 202a 2e63 202d 6f20 736b 6574 gcc *.c -o sket\n+0001a7d0: 6368 2e65 7865 202d 6c6d 0a54 6865 20e2 ch.exe -lm.The .\n+0001a7e0: 8098 2e65 7865 e280 9920 6174 2074 6865 ...exe... at the\n+0001a7f0: 2065 6e64 2069 7320 6e65 6365 7373 6172 end is necessar\n+0001a800: 7920 666f 7220 5769 6e64 6f77 7320 7379 y for Windows sy\n+0001a810: 7374 656d 732e 2020 4472 6f70 2069 7420 stems. Drop it \n+0001a820: 6966 2079 6f75 720a 7379 7374 656d 2069 if your.system i\n+0001a830: 7320 736f 6d65 2076 6572 7369 6f6e 206f s some version o\n+0001a840: 6620 556e 6978 2e20 204f 7468 6572 2043 f Unix. Other C\n+0001a850: 2063 6f6d 7069 6c65 7273 206f 7567 6874 compilers ought\n+0001a860: 2074 6f20 776f 726b 2061 7320 6a75 7374 to work as just\n+0001a870: 0a61 7320 7765 6c6c 2e20 2046 6f72 2065 .as well. For e\n+0001a880: 7861 6d70 6c65 2c0a 2020 2020 2063 6c20 xample,. cl \n+0001a890: 2a2e 6320 2d6f 2073 6b65 7463 682e 6578 *.c -o sketch.ex\n+0001a8a0: 650a 6973 2074 6865 2063 6f72 7265 6374 e.is the correct\n+0001a8b0: 2063 6f6d 6d61 6e64 2066 6f72 206d 616e command for man\n+0001a8c0: 7920 7665 7273 696f 6e73 206f 6620 4d53 y versions of MS\n+0001a8d0: 2056 6973 7561 6c20 432e 2049 6e20 7468 Visual C. In th\n+0001a8e0: 6520 6c61 7465 7374 0a76 6572 7369 6f6e e latest.version\n+0001a8f0: 732c 204d 6963 726f 736f 6674 2068 6173 s, Microsoft has\n+0001a900: 2064 6570 7265 6361 7465 6420 7468 6520 deprecated the \n+0001a910: e280 982d 6fe2 8099 206f 7074 696f 6e20 ...-o... option \n+0001a920: 616e 642c 2062 7920 6465 6661 756c 742c and, by default,\n+0001a930: 2064 6f65 730a 6e6f 7420 6465 6669 6e65 does.not define\n+0001a940: 2074 6865 20e2 8098 5f5f 5354 4443 5f5f the ...__STDC__\n+0001a950: e280 9920 6d61 6372 6f2e 2020 5468 6973 ... macro. This\n+0001a960: 2063 6175 7365 7320 7072 6f62 6c65 6d73 causes problems\n+0001a970: 2077 6974 6820 736f 6d65 0a76 6572 7369 with some.versi\n+0001a980: 6f6e 7320 6f66 20e2 8098 666c 6578 e280 ons of ...flex..\n+0001a990: 992c 20e2 8098 6269 736f 6ee2 8099 2c20 ., ...bison..., \n+0001a9a0: e280 986c 6578 e280 992c 2061 6e64 20e2 ...lex..., and .\n+0001a9b0: 8098 7961 6363 e280 992c 2077 6869 6368 ..yacc..., which\n+0001a9c0: 2061 7265 2075 7365 6420 746f 2063 7265 are used to cre\n+0001a9d0: 6174 650a 7468 6520 e280 9873 6b65 7463 ate.the ...sketc\n+0001a9e0: 68e2 8099 2073 6361 6e6e 6572 2061 6e64 h... scanner and\n+0001a9f0: 2070 6172 7365 722e 2020 4974 2773 206e parser. It's n\n+0001aa00: 6561 726c 7920 616c 7761 7973 2070 6f73 early always pos\n+0001aa10: 7369 626c 6520 746f 2066 696e 6420 610a sible to find a.\n+0001aa20: 7365 7420 6f66 206f 7074 696f 6e73 2074 set of options t\n+0001aa30: 6861 7420 636f 6d70 696c 6573 2077 6974 hat compiles wit\n+0001aa40: 6820 6e6f 2065 7272 6f72 7320 6f72 2077 h no errors or w\n+0001aa50: 6172 6e69 6e67 732c 2061 6e64 2074 6869 arnings, and thi\n+0001aa60: 7320 6d65 616e 730a e280 9873 6b65 7463 s means....sketc\n+0001aa70: 68e2 8099 2069 7320 5f76 6572 795f 206c h... is _very_ l\n+0001aa80: 696b 656c 7920 746f 2077 6f72 6b20 636f ikely to work co\n+0001aa90: 7272 6563 746c 792e 2020 466f 7220 6578 rrectly. For ex\n+0001aaa0: 616d 706c 652c 2074 6865 2056 6973 7561 ample, the Visua\n+0001aab0: 6c0a 432b 2b20 3230 3035 2045 7870 7265 l.C++ 2005 Expre\n+0001aac0: 7373 2045 6469 7469 6f6e 2063 6f6d 7069 ss Edition compi\n+0001aad0: 6c65 7220 2861 7661 696c 6162 6c65 2066 ler (available f\n+0001aae0: 7265 6520 6f66 2063 6861 7267 6520 6672 ree of charge fr\n+0001aaf0: 6f6d 2074 6865 0a4d 6963 726f 736f 6674 om the.Microsoft\n+0001ab00: 2077 6562 2073 6974 6529 2c20 e280 9866 web site), ...f\n+0001ab10: 6c65 78e2 8099 2076 6572 7369 6f6e 2032 lex... version 2\n+0001ab20: 2e35 2e34 2c20 616e 6420 e280 9862 6973 .5.4, and ...bis\n+0001ab30: 6f6e e280 9920 7665 7273 696f 6e20 322e on... version 2.\n+0001ab40: 3120 6275 696c 640a 6572 726f 722d 6672 1 build.error-fr\n+0001ab50: 6565 2077 6974 680a 2020 2020 2063 6c20 ee with. cl \n+0001ab60: 2d44 5959 5f4e 4556 4552 5f49 4e54 4552 -DYY_NEVER_INTER\n+0001ab70: 4143 5449 5645 3d31 202d 5a61 202d 4f78 ACTIVE=1 -Za -Ox\n+0001ab80: 202d 4665 736b 6574 6368 2e65 7865 202a -Fesketch.exe *\n+0001ab90: 2e63 0a0a 2020 2046 6f72 2070 7572 6973 .c.. For puris\n+0001aba0: 7473 2c20 7468 6572 6520 6973 2061 6c73 ts, there is als\n+0001abb0: 6f20 6120 e280 986d 616b 6566 696c 65e2 o a ...makefile.\n+0001abc0: 8099 2063 6f6d 7061 7469 626c 6520 7769 .. compatible wi\n+0001abd0: 7468 2047 4e55 20e2 8098 6d61 6b65 e280 th GNU ...make..\n+0001abe0: 990a 616e 6420 e280 9867 6363 e280 992e ..and ...gcc....\n+0001abf0: 2020 5468 6520 636f 6d6d 616e 640a 2020 The command. \n+0001ac00: 2020 206d 616b 650a 7769 6c6c 2062 7569 make.will bui\n+0001ac10: 6c64 2074 6865 2065 7865 6375 7461 626c ld the executabl\n+0001ac20: 652c 2069 6e63 6c75 6469 6e67 2074 6865 e, including the\n+0001ac30: 2072 6562 7569 6c64 696e 6720 6f66 2074 rebuilding of t\n+0001ac40: 6865 2073 6361 6e6e 6572 2061 6e64 0a70 he scanner and.p\n+0001ac50: 6172 7365 7220 7769 7468 20e2 8098 666c arser with ...fl\n+0001ac60: 6578 e280 9920 616e 6420 e280 9862 6973 ex... and ...bis\n+0001ac70: 6f6e e280 9920 6966 2079 6f75 2068 6176 on... if you hav\n+0001ac80: 6520 6368 616e 6765 6420 e280 9873 6b65 e changed ...ske\n+0001ac90: 7463 682e 6ce2 8099 206f 720a e280 9873 tch.l... or....s\n+0001aca0: 6b65 7463 682e 79e2 8099 2072 6573 7065 ketch.y... respe\n+0001acb0: 6374 6976 656c 792e 0a0a 2020 2057 6869 ctively... Whi\n+0001acc0: 6c65 206e 6f74 2065 7373 656e 7469 616c le not essential\n+0001acd0: 2c20 6275 696c 6469 6e67 2074 6865 206d , building the m\n+0001ace0: 616e 7561 6c20 6973 2061 6e20 6578 6365 anual is an exce\n+0001acf0: 6c6c 656e 7420 7465 7374 206f 6620 796f llent test of yo\n+0001ad00: 7572 0ae2 8098 736b 6574 6368 e280 9920 ur....sketch... \n+0001ad10: 696e 7374 616c 6c61 7469 6f6e 2e20 2054 installation. T\n+0001ad20: 6f20 6275 696c 6420 7468 6973 2064 6f63 o build this doc\n+0001ad30: 756d 656e 7420 696e 2061 6c6c 2069 7473 ument in all its\n+0001ad40: 206d 7972 6961 6420 666f 726d 730a 2861 myriad forms.(a\n+0001ad50: 7373 756d 696e 6720 796f 7520 6861 7665 ssuming you have\n+0001ad60: 2074 6865 206e 6563 6573 7361 7279 2063 the necessary c\n+0001ad70: 6f6e 7665 7273 696f 6e20 7072 6f67 7261 onversion progra\n+0001ad80: 6d73 206f 6e20 796f 7572 2073 7973 7465 ms on your syste\n+0001ad90: 6d29 2c0a 7573 650a 2020 2020 206d 616b m),.use. mak\n+0001ada0: 6520 646f 6373 0a54 6865 2070 6f73 7369 e docs.The possi\n+0001adb0: 6269 6c69 7469 6573 2061 7265 206c 6973 bilities are lis\n+0001adc0: 7465 6420 696e 2074 6869 7320 666f 6c6c ted in this foll\n+0001add0: 6f77 696e 6720 7461 626c 652e 0a46 6f72 owing table..For\n+0001ade0: 6d61 7420 2020 2020 2020 2020 2020 2020 mat \n+0001adf0: 2020 2043 6f6e 7665 7274 6572 2020 2020 Converter \n+0001ae00: 2020 2020 5069 6374 7572 6573 2020 2044 Pictures D\n+0001ae10: 6573 6372 6970 7469 6f6e 0a2d 2d2d 2d2d escription.-----\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: 0a6d 616e 7561 6c2e 696e 666f 2020 2020 .manual.info \n-0001ae90: 2020 2020 2020 206d 616b 6569 6e66 6f20 makeinfo \n-0001aea0: 2020 2020 2020 2020 e280 982e 7478 74e2 ....txt.\n-0001aeb0: 8099 2020 2020 2047 4e55 2049 6e66 6f2e .. GNU Info.\n-0001aec0: 0a6d 616e 7561 6c2e 6476 6920 2020 2020 .manual.dvi \n-0001aed0: 2020 2020 2020 2074 6578 6932 6476 6920 texi2dvi \n-0001aee0: 2020 2020 2020 2020 e280 982e 6570 73e2 ....eps.\n-0001aef0: 8099 2020 2020 2054 6558 2074 7970 6573 .. TeX types\n-0001af00: 6574 206f 7574 7075 742e 0a6d 616e 7561 et output..manua\n-0001af10: 6c2e 7073 2020 2020 2020 2020 2020 2020 l.ps \n-0001af20: 2074 6578 6932 6476 692c 6476 6970 7320 texi2dvi,dvips \n-0001af30: 2020 e280 982e 6570 73e2 8099 2020 2020 ....eps... \n-0001af40: 2050 6f73 7473 6372 6970 742e 0a6d 616e Postscript..man\n-0001af50: 7561 6c2e 7064 6620 2020 2020 2020 2020 ual.pdf \n-0001af60: 2020 2074 6578 6932 6476 6920 2020 2020 texi2dvi \n-0001af70: 2020 2020 e280 982e 7064 66e2 8099 2020 ....pdf... \n-0001af80: 2020 2041 646f 6265 2050 4446 2e0a 6d61 Adobe PDF..ma\n-0001af90: 6e75 616c 2e68 746d 6c20 2020 2020 2020 nual.html \n-0001afa0: 2020 2020 6d61 6b65 696e 666f 2020 2020 makeinfo \n-0001afb0: 2020 2020 20e2 8098 2e70 6e67 e280 9920 ....png... \n-0001afc0: 2020 2020 4120 7369 6e67 6c65 2077 6562 A single web\n-0001afd0: 2070 6167 652e 0a6d 616e 7561 6c2f 696e page..manual/in\n-0001afe0: 6465 782e 6874 6d6c 2020 2020 206d 616b dex.html mak\n-0001aff0: 6569 6e66 6f20 2020 2020 2020 2020 e280 einfo ..\n-0001b000: 982e 706e 67e2 8099 2020 2020 204c 696e ..png... Lin\n-0001b010: 6b65 6420 7765 6220 7061 6765 732c 206f ked web pages, o\n-0001b020: 6e65 2070 6572 206e 6f64 652e 0a20 2020 ne per node.. \n-0001b030: 416c 6c20 7468 6520 7265 7175 6972 6564 All the required\n-0001b040: 2074 6f6f 6c73 2061 7265 2069 6e63 6c75 tools are inclu\n-0001b050: 6465 6420 696e 2074 6865 2073 7461 6e64 ded in the stand\n-0001b060: 6172 6420 e280 9854 6558 204c 6976 65e2 ard ...TeX Live.\n-0001b070: 8099 0a64 6973 7472 6962 7574 696f 6e20 ...distribution \n-0001b080: 6578 6365 7074 2074 6861 7420 616e 2061 except that an a\n-0001b090: 6464 6974 696f 6e61 6c20 6f70 656e 2073 dditional open s\n-0001b0a0: 6f75 7263 6520 7072 6f67 7261 6d20 e280 ource program ..\n-0001b0b0: 9865 7073 746f 6f6c e280 9920 6973 0a6e .epstool... is.n\n-0001b0c0: 6565 6465 6420 746f 2072 6566 696e 6520 eeded to refine \n-0001b0d0: 7468 6520 456e 6361 7073 756c 6174 6564 the Encapsulated\n-0001b0e0: 2050 6f73 7473 6372 6970 7420 626f 756e Postscript boun\n-0001b0f0: 6469 6e67 2062 6f78 6573 206f 660a e280 ding boxes of...\n-0001b100: 9873 6b65 7463 68e2 8099 2d67 656e 6572 .sketch...-gener\n-0001b110: 6174 6564 2066 6967 7572 6573 2069 6e20 ated figures in \n-0001b120: 7468 6520 6d61 6e75 616c 2e20 2054 6869 the manual. Thi\n-0001b130: 7320 746f 6f6c 2069 7320 6176 6169 6c61 s tool is availa\n-0001b140: 626c 6520 696e 0a62 696e 6172 7920 666f ble in.binary fo\n-0001b150: 726d 2066 6f72 2057 696e 646f 7773 2c20 rm for Windows, \n-0001b160: 616e 6420 6974 2062 7569 6c64 7320 6561 and it builds ea\n-0001b170: 7369 6c79 2077 6974 6820 6120 7369 6d70 sily with a simp\n-0001b180: 6c65 20e2 8098 6d61 6b65 e280 9920 756e le ...make... un\n-0001b190: 6465 720a 6c69 6e75 7820 6f72 2043 7967 der.linux or Cyg\n-0001b1a0: 7769 6e20 696e 7374 616c 6c61 7469 6f6e win installation\n-0001b1b0: 7320 7468 6174 2068 6176 6520 6465 7665 s that have deve\n-0001b1c0: 6c6f 706d 656e 7420 746f 6f6c 7320 696e lopment tools in\n-0001b1d0: 7374 616c 6c65 6420 6f72 0a75 6e64 6572 stalled or.under\n-0001b1e0: 20e2 8098 4d61 6320 4f53 2058 e280 9920 ...Mac OS X... \n-0001b1f0: 7769 7468 20e2 8098 5843 6f64 65e2 8099 with ...XCode...\n-0001b200: 2069 6e73 7461 6c6c 6564 2e0a 0a1f 0a46 installed.....F\n-0001b210: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n-0001b220: 2c20 204e 6f64 653a 2049 6e64 6578 206f , Node: Index o\n-0001b230: 6620 7379 6e74 6178 2c20 204e 6578 743a f syntax, Next:\n-0001b240: 2049 6e64 6578 2c20 2050 7265 763a 2049 Index, Prev: I\n-0001b250: 6e73 7461 6c6c 696e 6720 736b 6574 6368 nstalling sketch\n-0001b260: 2c20 2055 703a 2054 6f70 0a0a 496e 6465 , Up: Top..Inde\n-0001b270: 7820 6f66 2073 796e 7461 780a 2a2a 2a2a x of syntax.****\n-0001b280: 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a 0a00 085b ***********....[\n-0001b290: 696e 6465 7800 085d 0a2a 204d 656e 753a index..].* Menu:\n-0001b2a0: 0a0a 2a20 2d2c 206d 696e 7573 206f 7065 ..* -, minus ope\n-0001b2b0: 7261 746f 723a 2020 2020 2020 2020 2020 rator: \n-0001b2c0: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o\n-0001b2d0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n-0001b2e0: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. \n+0001ae80: 2d2d 2d2d 2d2d 0a6d 616e 7561 6c2e 696e ------.manual.in\n+0001ae90: 666f 2020 2020 2020 2020 2020 206d 616b fo mak\n+0001aea0: 6569 6e66 6f20 2020 2020 2020 2020 e280 einfo ..\n+0001aeb0: 982e 7478 74e2 8099 2020 2020 2047 4e55 ..txt... GNU\n+0001aec0: 2049 6e66 6f2e 0a6d 616e 7561 6c2e 6476 Info..manual.dv\n+0001aed0: 6920 2020 2020 2020 2020 2020 2074 6578 i tex\n+0001aee0: 6932 6476 6920 2020 2020 2020 2020 e280 i2dvi ..\n+0001aef0: 982e 6570 73e2 8099 2020 2020 2054 6558 ..eps... TeX\n+0001af00: 2074 7970 6573 6574 206f 7574 7075 742e typeset output.\n+0001af10: 0a6d 616e 7561 6c2e 7073 2020 2020 2020 .manual.ps \n+0001af20: 2020 2020 2020 2074 6578 6932 6476 692c texi2dvi,\n+0001af30: 6476 6970 7320 2020 e280 982e 6570 73e2 dvips ....eps.\n+0001af40: 8099 2020 2020 2050 6f73 7473 6372 6970 .. Postscrip\n+0001af50: 742e 0a6d 616e 7561 6c2e 7064 6620 2020 t..manual.pdf \n+0001af60: 2020 2020 2020 2020 2074 6578 6932 6476 texi2dv\n+0001af70: 6920 2020 2020 2020 2020 e280 982e 7064 i ....pd\n+0001af80: 66e2 8099 2020 2020 2041 646f 6265 2050 f... Adobe P\n+0001af90: 4446 2e0a 6d61 6e75 616c 2e68 746d 6c20 DF..manual.html \n+0001afa0: 2020 2020 2020 2020 2020 6d61 6b65 696e makein\n+0001afb0: 666f 2020 2020 2020 2020 20e2 8098 2e70 fo ....p\n+0001afc0: 6e67 e280 9920 2020 2020 4120 7369 6e67 ng... A sing\n+0001afd0: 6c65 2077 6562 2070 6167 652e 0a6d 616e le web page..man\n+0001afe0: 7561 6c2f 696e 6465 782e 6874 6d6c 2020 ual/index.html \n+0001aff0: 2020 206d 616b 6569 6e66 6f20 2020 2020 makeinfo \n+0001b000: 2020 2020 e280 982e 706e 67e2 8099 2020 ....png... \n+0001b010: 2020 204c 696e 6b65 6420 7765 6220 7061 Linked web pa\n+0001b020: 6765 732c 206f 6e65 2070 6572 206e 6f64 ges, one per nod\n+0001b030: 652e 0a20 2020 416c 6c20 7468 6520 7265 e.. All the re\n+0001b040: 7175 6972 6564 2074 6f6f 6c73 2061 7265 quired tools are\n+0001b050: 2069 6e63 6c75 6465 6420 696e 2074 6865 included in the\n+0001b060: 2073 7461 6e64 6172 6420 e280 9854 6558 standard ...TeX\n+0001b070: 204c 6976 65e2 8099 0a64 6973 7472 6962 Live....distrib\n+0001b080: 7574 696f 6e20 6578 6365 7074 2074 6861 ution except tha\n+0001b090: 7420 616e 2061 6464 6974 696f 6e61 6c20 t an additional \n+0001b0a0: 6f70 656e 2073 6f75 7263 6520 7072 6f67 open source prog\n+0001b0b0: 7261 6d20 e280 9865 7073 746f 6f6c e280 ram ...epstool..\n+0001b0c0: 9920 6973 0a6e 6565 6465 6420 746f 2072 . is.needed to r\n+0001b0d0: 6566 696e 6520 7468 6520 456e 6361 7073 efine the Encaps\n+0001b0e0: 756c 6174 6564 2050 6f73 7473 6372 6970 ulated Postscrip\n+0001b0f0: 7420 626f 756e 6469 6e67 2062 6f78 6573 t bounding boxes\n+0001b100: 206f 660a e280 9873 6b65 7463 68e2 8099 of....sketch...\n+0001b110: 2d67 656e 6572 6174 6564 2066 6967 7572 -generated figur\n+0001b120: 6573 2069 6e20 7468 6520 6d61 6e75 616c es in the manual\n+0001b130: 2e20 2054 6869 7320 746f 6f6c 2069 7320 . This tool is \n+0001b140: 6176 6169 6c61 626c 6520 696e 0a62 696e available in.bin\n+0001b150: 6172 7920 666f 726d 2066 6f72 2057 696e ary form for Win\n+0001b160: 646f 7773 2c20 616e 6420 6974 2062 7569 dows, and it bui\n+0001b170: 6c64 7320 6561 7369 6c79 2077 6974 6820 lds easily with \n+0001b180: 6120 7369 6d70 6c65 20e2 8098 6d61 6b65 a simple ...make\n+0001b190: e280 9920 756e 6465 720a 6c69 6e75 7820 ... under.linux \n+0001b1a0: 6f72 2043 7967 7769 6e20 696e 7374 616c or Cygwin instal\n+0001b1b0: 6c61 7469 6f6e 7320 7468 6174 2068 6176 lations that hav\n+0001b1c0: 6520 6465 7665 6c6f 706d 656e 7420 746f e development to\n+0001b1d0: 6f6c 7320 696e 7374 616c 6c65 6420 6f72 ols installed or\n+0001b1e0: 0a75 6e64 6572 20e2 8098 4d61 6320 4f53 .under ...Mac OS\n+0001b1f0: 2058 e280 9920 7769 7468 20e2 8098 5843 X... with ...XC\n+0001b200: 6f64 65e2 8099 2069 6e73 7461 6c6c 6564 ode... installed\n+0001b210: 2e0a 0a1f 0a46 696c 653a 2073 6b65 7463 .....File: sketc\n+0001b220: 682e 696e 666f 2c20 204e 6f64 653a 2049 h.info, Node: I\n+0001b230: 6e64 6578 206f 6620 7379 6e74 6178 2c20 ndex of syntax, \n+0001b240: 204e 6578 743a 2049 6e64 6578 2c20 2050 Next: Index, P\n+0001b250: 7265 763a 2049 6e73 7461 6c6c 696e 6720 rev: Installing \n+0001b260: 736b 6574 6368 2c20 2055 703a 2054 6f70 sketch, Up: Top\n+0001b270: 0a0a 496e 6465 7820 6f66 2073 796e 7461 ..Index of synta\n+0001b280: 780a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a x.**************\n+0001b290: 2a0a 0a00 085b 696e 6465 7800 085d 0a2a *....[index..].*\n+0001b2a0: 204d 656e 753a 0a0a 2a20 2d2c 206d 696e Menu:..* -, min\n+0001b2b0: 7573 206f 7065 7261 746f 723a 2020 2020 us operator: \n+0001b2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b2d0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi\n+0001b2e0: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) 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 286c 696e 6520 3135 290a (line 15).\n-0001b330: 2a20 2d2c 2075 6e61 7279 206d 696e 7573 * -, unary minus\n-0001b340: 206f 7065 7261 746f 723a 2020 2020 2020 operator: \n-0001b350: 2020 2020 2020 2020 2055 6e61 7279 2066 Unary f\n-0001b360: 6f72 6d73 2e20 2020 2020 2020 2020 2028 orms. (\n-0001b370: 6c69 6e65 2031 3029 0a2a 202e 2c20 646f line 10).* ., do\n-0001b380: 7420 6f70 6572 6174 6f72 3a20 2020 2020 t operator: \n-0001b390: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b3a0: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b\n-0001b3b0: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. \n-0001b3c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b320: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001b330: 6520 3135 290a 2a20 2d2c 2075 6e61 7279 e 15).* -, unary\n+0001b340: 206d 696e 7573 206f 7065 7261 746f 723a minus operator:\n+0001b350: 2020 2020 2020 2020 2020 2020 2020 2055 U\n+0001b360: 6e61 7279 2066 6f72 6d73 2e20 2020 2020 nary forms. \n+0001b370: 2020 2020 2028 6c69 6e65 2031 3029 0a2a (line 10).*\n+0001b380: 202e 2c20 646f 7420 6f70 6572 6174 6f72 ., dot operator\n+0001b390: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001b3a0: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper\n+0001b3b0: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for\n+0001b3c0: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. \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 2028 6c69 (li\n-0001b400: 6e65 2031 3929 0a2a 202e 2c20 646f 7420 ne 19).* ., dot \n-0001b410: 6f70 6572 6174 6f72 203c 313e 3a20 2020 operator <1>: \n-0001b420: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b430: 5477 6f2d 6f70 6572 616e 6420 2862 696e Two-operand (bin\n-0001b440: 6172 7929 2066 6f72 6d73 2e0a 2020 2020 ary) forms.. \n-0001b450: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b400: 2020 2028 6c69 6e65 2031 3929 0a2a 202e (line 19).* .\n+0001b410: 2c20 646f 7420 6f70 6572 6174 6f72 203c , dot operator <\n+0001b420: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+0001b430: 2020 2020 2020 5477 6f2d 6f70 6572 616e Two-operan\n+0001b440: 6420 2862 696e 6172 7929 2066 6f72 6d73 d (binary) forms\n+0001b450: 2e0a 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 2028 6c69 6e65 (line\n-0001b490: 2036 3129 0a2a 2027 782c 2027 792c 2061 61).* 'x, 'y, a\n-0001b4a0: 6e64 2027 7a3a 2020 2020 2020 2020 2020 nd 'z: \n-0001b4b0: 2020 2020 2020 2020 2020 2020 2020 4166 Af\n-0001b4c0: 6669 6e65 2061 7269 7468 6d65 7469 632e fine arithmetic.\n-0001b4d0: 2020 2020 286c 696e 6520 3337 290a 2a20 (line 37).* \n-0001b4e0: 2778 2c20 2779 2c20 616e 6420 277a 203c 'x, 'y, and 'z <\n-0001b4f0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0001b500: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera\n-0001b510: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n-0001b520: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+0001b480: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b490: 2028 6c69 6e65 2036 3129 0a2a 2027 782c (line 61).* 'x,\n+0001b4a0: 2027 792c 2061 6e64 2027 7a3a 2020 2020 'y, and 'z: \n+0001b4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b4c0: 2020 2020 4166 6669 6e65 2061 7269 7468 Affine arith\n+0001b4d0: 6d65 7469 632e 2020 2020 286c 696e 6520 metic. (line \n+0001b4e0: 3337 290a 2a20 2778 2c20 2779 2c20 616e 37).* 'x, 'y, an\n+0001b4f0: 6420 277a 203c 313e 3a20 2020 2020 2020 d 'z <1>: \n+0001b500: 2020 2020 2020 2020 2020 2020 2054 776f Two\n+0001b510: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary\n+0001b520: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. \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 286c 696e 6520 3431 290a 2a20 2820 (line 41).* ( \n-0001b570: 292c 2067 726f 7570 696e 673a 2020 2020 ), grouping: \n-0001b580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001b590: 2020 2020 2054 776f 2d6f 7065 7261 6e64 Two-operand\n-0001b5a0: 2028 6269 6e61 7279 2920 666f 726d 732e (binary) forms.\n-0001b5b0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0001b560: 2020 2020 2020 2020 286c 696e 6520 3431 (line 41\n+0001b570: 290a 2a20 2820 292c 2067 726f 7570 696e ).* ( ), groupin\n+0001b580: 673a 2020 2020 2020 2020 2020 2020 2020 g: \n+0001b590: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o\n+0001b5a0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n+0001b5b0: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. \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: 286c 696e 6520 3538 290a 2a20 2866 6f6f (line 58).* (foo\n-0001b600: 292c 2070 6f69 6e74 2072 6566 6572 656e ), point referen\n-0001b610: 6365 3a20 2020 2020 2020 2020 2020 2020 ce: \n-0001b620: 2020 2044 7261 7769 6e67 2061 2073 6f6c Drawing a sol\n-0001b630: 6964 2e20 2020 2020 2028 6c69 6e65 2032 id. (line 2\n-0001b640: 3429 0a2a 2028 666f 6f29 2c20 706f 696e 4).* (foo), poin\n-0001b650: 7420 7265 6665 7265 6e63 6520 3c31 3e3a t reference <1>:\n-0001b660: 2020 2020 2020 2020 2020 2020 466f 726d Form\n-0001b670: 7320 6f66 2072 6566 6572 656e 6365 732e s of references.\n-0001b680: 2020 286c 696e 6520 3134 290a 2a20 5b5b (line 14).* [[\n-0001b690: 205d 5b20 5d5b 205d 5b20 5d5d 2c20 7472 ][ ][ ][ ]], tr\n-0001b6a0: 616e 7366 6f72 6d20 6c69 7465 7261 6c3a ansform literal:\n-0001b6b0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n-0001b6c0: 6974 6572 616c 732e 2020 2028 6c69 6e65 iterals. (line\n-0001b6d0: 2034 3729 0a2a 205b 5b20 5d5b 205d 5b20 47).* [[ ][ ][ \n-0001b6e0: 5d5b 205d 5d2c 2074 7261 6e73 666f 726d ][ ]], transform\n-0001b6f0: 206c 6974 6572 616c 203c 313e 3a20 5472 literal <1>: Tr\n-0001b700: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n-0001b710: 2e20 2020 286c 696e 6520 3533 290a 2a20 . (line 53).* \n-0001b720: 5b5b 666f 6f5d 5d2c 2074 7261 6e73 666f [[foo]], transfo\n-0001b730: 726d 2072 6566 6572 656e 6365 3a20 2020 rm reference: \n-0001b740: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of \n-0001b750: 7265 6665 7265 6e63 6573 2e20 2028 6c69 references. (li\n-0001b760: 6e65 2031 3629 0a2a 205b 5b66 6f6f 5d5d ne 16).* [[foo]]\n-0001b770: 2c20 7472 616e 7366 6f72 6d20 7265 6665 , transform refe\n-0001b780: 7265 6e63 6520 3c31 3e3a 2020 2020 2020 rence <1>: \n-0001b790: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. \n-0001b7a0: 2020 2020 2020 286c 696e 6520 3335 290a (line 35).\n-0001b7b0: 2a20 5b5b 666f 6f5d 5d2c 2074 7261 6e73 * [[foo]], trans\n-0001b7c0: 666f 726d 2072 6566 6572 656e 6365 203c form reference <\n-0001b7d0: 323e 3a20 2020 2020 204f 7665 7276 6965 2>: Overvie\n-0001b7e0: 772e 2020 2020 2020 2020 2020 2020 2028 w. (\n-0001b7f0: 6c69 6e65 2033 3529 0a2a 205b 666f 6f2c line 35).* [foo,\n-0001b800: 2e2e 2e2c 6261 725d 2c20 6d75 6c74 6970 ...,bar], multip\n-0001b810: 6c65 206f 7074 696f 6e73 2072 6566 6572 le options refer\n-0001b820: 656e 6365 3a20 466f 726d 7320 6f66 2072 ence: Forms of r\n-0001b830: 6566 6572 656e 6365 732e 0a20 2020 2020 eferences.. \n-0001b840: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b5f0: 2020 2020 2020 286c 696e 6520 3538 290a (line 58).\n+0001b600: 2a20 2866 6f6f 292c 2070 6f69 6e74 2072 * (foo), point r\n+0001b610: 6566 6572 656e 6365 3a20 2020 2020 2020 eference: \n+0001b620: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing\n+0001b630: 2061 2073 6f6c 6964 2e20 2020 2020 2028 a solid. (\n+0001b640: 6c69 6e65 2032 3429 0a2a 2028 666f 6f29 line 24).* (foo)\n+0001b650: 2c20 706f 696e 7420 7265 6665 7265 6e63 , point referenc\n+0001b660: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: \n+0001b670: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer\n+0001b680: 656e 6365 732e 2020 286c 696e 6520 3134 ences. (line 14\n+0001b690: 290a 2a20 5b5b 205d 5b20 5d5b 205d 5b20 ).* [[ ][ ][ ][ \n+0001b6a0: 5d5d 2c20 7472 616e 7366 6f72 6d20 6c69 ]], transform li\n+0001b6b0: 7465 7261 6c3a 2020 2020 2054 7261 6e73 teral: Trans\n+0001b6c0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n+0001b6d0: 2028 6c69 6e65 2034 3729 0a2a 205b 5b20 (line 47).* [[ \n+0001b6e0: 5d5b 205d 5b20 5d5b 205d 5d2c 2074 7261 ][ ][ ][ ]], tra\n+0001b6f0: 6e73 666f 726d 206c 6974 6572 616c 203c nsform literal <\n+0001b700: 313e 3a20 5472 616e 7366 6f72 6d20 6c69 1>: Transform li\n+0001b710: 7465 7261 6c73 2e20 2020 286c 696e 6520 terals. (line \n+0001b720: 3533 290a 2a20 5b5b 666f 6f5d 5d2c 2074 53).* [[foo]], t\n+0001b730: 7261 6e73 666f 726d 2072 6566 6572 656e ransform referen\n+0001b740: 6365 3a20 2020 2020 2020 2020 2046 6f72 ce: For\n+0001b750: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n+0001b760: 2e20 2028 6c69 6e65 2031 3629 0a2a 205b . (line 16).* [\n+0001b770: 5b66 6f6f 5d5d 2c20 7472 616e 7366 6f72 [foo]], transfor\n+0001b780: 6d20 7265 6665 7265 6e63 6520 3c31 3e3a m reference <1>:\n+0001b790: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n+0001b7a0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001b7b0: 6520 3335 290a 2a20 5b5b 666f 6f5d 5d2c e 35).* [[foo]],\n+0001b7c0: 2074 7261 6e73 666f 726d 2072 6566 6572 transform refer\n+0001b7d0: 656e 6365 203c 323e 3a20 2020 2020 204f ence <2>: O\n+0001b7e0: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n+0001b7f0: 2020 2020 2028 6c69 6e65 2033 3529 0a2a (line 35).*\n+0001b800: 205b 666f 6f2c 2e2e 2e2c 6261 725d 2c20 [foo,...,bar], \n+0001b810: 6d75 6c74 6970 6c65 206f 7074 696f 6e73 multiple options\n+0001b820: 2072 6566 6572 656e 6365 3a20 466f 726d reference: Form\n+0001b830: 7320 6f66 2072 6566 6572 656e 6365 732e s of references.\n+0001b840: 0a20 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 286c 696e 6520 (line \n-0001b880: 3138 290a 2a20 5b66 6f6f 5d2c 206f 7074 18).* [foo], opt\n-0001b890: 696f 6e73 2072 6566 6572 656e 6365 3a20 ions reference: \n-0001b8a0: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol\n-0001b8b0: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit\n-0001b8c0: 6820 636c 6f73 7572 652e 0a20 2020 2020 h closure.. \n-0001b8d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b870: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b880: 286c 696e 6520 3138 290a 2a20 5b66 6f6f (line 18).* [foo\n+0001b890: 5d2c 206f 7074 696f 6e73 2072 6566 6572 ], options refer\n+0001b8a0: 656e 6365 3a20 2020 2020 2020 2020 2020 ence: \n+0001b8b0: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee\n+0001b8c0: 7073 2077 6974 6820 636c 6f73 7572 652e ps with closure.\n+0001b8d0: 0a20 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 286c 696e 6520 (line \n-0001b910: 3234 290a 2a20 5b66 6f6f 5d2c 206f 7074 24).* [foo], opt\n-0001b920: 696f 6e73 2072 6566 6572 656e 6365 203c ions reference <\n-0001b930: 313e 3a20 2020 2020 2020 2020 2046 6f72 1>: For\n-0001b940: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n-0001b950: 2e20 2028 6c69 6e65 2031 3829 0a2a 205b . (line 18).* [\n-0001b960: 666f 6f5d 2c20 7665 6374 6f72 2072 6566 foo], vector ref\n-0001b970: 6572 656e 6365 3a20 2020 2020 2020 2020 erence: \n-0001b980: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n-0001b990: 7765 6570 732e 2020 2020 2020 286c 696e weeps. (lin\n-0001b9a0: 6520 3230 290a 2a20 5b66 6f6f 5d2c 2076 e 20).* [foo], v\n-0001b9b0: 6563 746f 7220 7265 6665 7265 6e63 6520 ector reference \n-0001b9c0: 3c31 3e3a 2020 2020 2020 2020 2020 2046 <1>: F\n-0001b9d0: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc\n-0001b9e0: 6573 2e20 2028 6c69 6e65 2031 3529 0a2a es. (line 15).*\n-0001b9f0: 207b 207d 2c20 626c 6f63 6b20 6472 6177 { }, block draw\n-0001ba00: 6162 6c65 3a20 2020 2020 2020 2020 2020 able: \n-0001ba10: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t\n-0001ba20: 7261 6e73 666f 726d 732e 2020 2020 286c ransforms. (l\n-0001ba30: 696e 6520 3234 290a 2a20 7b20 7d2c 2062 ine 24).* { }, b\n-0001ba40: 6c6f 636b 2064 7261 7761 626c 6520 3c31 lock drawable <1\n-0001ba50: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001ba60: 204e 6573 7465 6420 7377 6565 7073 2e20 Nested sweeps. \n-0001ba70: 2020 2020 2020 2028 6c69 6e65 2032 3529 (line 25)\n-0001ba80: 0a2a 207b 207d 2c20 626c 6f63 6b20 6472 .* { }, block dr\n-0001ba90: 6177 6162 6c65 203c 323e 3a20 2020 2020 awable <2>: \n-0001baa0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-0001bab0: 626c 6f63 6b73 2e20 2020 2020 2020 2020 blocks. \n-0001bac0: 286c 696e 6520 2037 290a 2a20 7b20 7d2c (line 7).* { },\n-0001bad0: 2062 6c6f 636b 2064 7261 7761 626c 6520 block drawable \n-0001bae0: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: \n-0001baf0: 2020 2042 6c6f 636b 732e 2020 2020 2020 Blocks. \n-0001bb00: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0001bb10: 3629 0a2a 207b 207d 2c20 626c 6f63 6b20 6).* { }, block \n-0001bb20: 6472 6177 6162 6c65 203c 343e 3a20 2020 drawable <4>: \n-0001bb30: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n-0001bb40: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n-0001bb50: 2020 286c 696e 6520 3337 290a 2a20 7b66 (line 37).* {f\n-0001bb60: 6f6f 7d2c 2064 7261 7761 626c 6520 7265 oo}, drawable re\n-0001bb70: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: \n-0001bb80: 2020 2020 204f 626a 6563 7420 7472 616e Object tran\n-0001bb90: 7366 6f72 6d73 2e20 2020 2028 6c69 6e65 sforms. (line\n-0001bba0: 2033 3329 0a2a 207b 666f 6f7d 2c20 6472 33).* {foo}, dr\n-0001bbb0: 6177 6162 6c65 2072 6566 6572 656e 6365 awable reference\n-0001bbc0: 203c 313e 3a20 2020 2020 2020 2020 466f <1>: Fo\n-0001bbd0: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference\n-0001bbe0: 732e 2020 286c 696e 6520 3137 290a 2a20 s. (line 17).* \n-0001bbf0: 7b66 6f6f 7d2c 2064 7261 7761 626c 6520 {foo}, drawable \n-0001bc00: 7265 6665 7265 6e63 6520 3c32 3e3a 2020 reference <2>: \n-0001bc10: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n-0001bc20: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0001bc30: 6e65 2034 3729 0a2a 207b 666f 6f7d 2c20 ne 47).* {foo}, \n-0001bc40: 6472 6177 6162 6c65 2072 6566 6572 656e drawable referen\n-0001bc50: 6365 203c 333e 3a20 2020 2020 2020 2020 ce <3>: \n-0001bc60: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. \n-0001bc70: 2020 2020 2020 286c 696e 6520 3537 290a (line 57).\n-0001bc80: 2a20 2a2c 206d 756c 7469 706c 6963 6174 * *, multiplicat\n-0001bc90: 696f 6e20 6f70 6572 6174 6f72 3a20 2020 ion operator: \n-0001bca0: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope\n-0001bcb0: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo\n-0001bcc0: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. \n+0001b900: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001b910: 286c 696e 6520 3234 290a 2a20 5b66 6f6f (line 24).* [foo\n+0001b920: 5d2c 206f 7074 696f 6e73 2072 6566 6572 ], options refer\n+0001b930: 656e 6365 203c 313e 3a20 2020 2020 2020 ence <1>: \n+0001b940: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe\n+0001b950: 7265 6e63 6573 2e20 2028 6c69 6e65 2031 rences. (line 1\n+0001b960: 3829 0a2a 205b 666f 6f5d 2c20 7665 6374 8).* [foo], vect\n+0001b970: 6f72 2072 6566 6572 656e 6365 3a20 2020 or reference: \n+0001b980: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n+0001b990: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. \n+0001b9a0: 2020 286c 696e 6520 3230 290a 2a20 5b66 (line 20).* [f\n+0001b9b0: 6f6f 5d2c 2076 6563 746f 7220 7265 6665 oo], vector refe\n+0001b9c0: 7265 6e63 6520 3c31 3e3a 2020 2020 2020 rence <1>: \n+0001b9d0: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re\n+0001b9e0: 6665 7265 6e63 6573 2e20 2028 6c69 6e65 ferences. (line\n+0001b9f0: 2031 3529 0a2a 207b 207d 2c20 626c 6f63 15).* { }, bloc\n+0001ba00: 6b20 6472 6177 6162 6c65 3a20 2020 2020 k drawable: \n+0001ba10: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n+0001ba20: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n+0001ba30: 2020 2020 286c 696e 6520 3234 290a 2a20 (line 24).* \n+0001ba40: 7b20 7d2c 2062 6c6f 636b 2064 7261 7761 { }, block drawa\n+0001ba50: 626c 6520 3c31 3e3a 2020 2020 2020 2020 ble <1>: \n+0001ba60: 2020 2020 2020 204e 6573 7465 6420 7377 Nested sw\n+0001ba70: 6565 7073 2e20 2020 2020 2020 2028 6c69 eeps. (li\n+0001ba80: 6e65 2032 3529 0a2a 207b 207d 2c20 626c ne 25).* { }, bl\n+0001ba90: 6f63 6b20 6472 6177 6162 6c65 203c 323e ock drawable <2>\n+0001baa0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001bab0: 5377 6570 7420 626c 6f63 6b73 2e20 2020 Swept blocks. \n+0001bac0: 2020 2020 2020 286c 696e 6520 2037 290a (line 7).\n+0001bad0: 2a20 7b20 7d2c 2062 6c6f 636b 2064 7261 * { }, block dra\n+0001bae0: 7761 626c 6520 3c33 3e3a 2020 2020 2020 wable <3>: \n+0001baf0: 2020 2020 2020 2020 2042 6c6f 636b 732e Blocks.\n+0001bb00: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+0001bb10: 6c69 6e65 2020 3629 0a2a 207b 207d 2c20 line 6).* { }, \n+0001bb20: 626c 6f63 6b20 6472 6177 6162 6c65 203c block drawable <\n+0001bb30: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: \n+0001bb40: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n+0001bb50: 2020 2020 2020 2020 286c 696e 6520 3337 (line 37\n+0001bb60: 290a 2a20 7b66 6f6f 7d2c 2064 7261 7761 ).* {foo}, drawa\n+0001bb70: 626c 6520 7265 6665 7265 6e63 653a 2020 ble reference: \n+0001bb80: 2020 2020 2020 2020 2020 204f 626a 6563 Objec\n+0001bb90: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. \n+0001bba0: 2028 6c69 6e65 2033 3329 0a2a 207b 666f (line 33).* {fo\n+0001bbb0: 6f7d 2c20 6472 6177 6162 6c65 2072 6566 o}, drawable ref\n+0001bbc0: 6572 656e 6365 203c 313e 3a20 2020 2020 erence <1>: \n+0001bbd0: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref\n+0001bbe0: 6572 656e 6365 732e 2020 286c 696e 6520 erences. (line \n+0001bbf0: 3137 290a 2a20 7b66 6f6f 7d2c 2064 7261 17).* {foo}, dra\n+0001bc00: 7761 626c 6520 7265 6665 7265 6e63 6520 wable reference \n+0001bc10: 3c32 3e3a 2020 2020 2020 2020 204f 7665 <2>: Ove\n+0001bc20: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n+0001bc30: 2020 2028 6c69 6e65 2034 3729 0a2a 207b (line 47).* {\n+0001bc40: 666f 6f7d 2c20 6472 6177 6162 6c65 2072 foo}, drawable r\n+0001bc50: 6566 6572 656e 6365 203c 333e 3a20 2020 eference <3>: \n+0001bc60: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n+0001bc70: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001bc80: 6520 3537 290a 2a20 2a2c 206d 756c 7469 e 57).* *, multi\n+0001bc90: 706c 6963 6174 696f 6e20 6f70 6572 6174 plication operat\n+0001bca0: 6f72 3a20 2020 2020 2020 2020 2020 2054 or: T\n+0001bcb0: 776f 2d6f 7065 7261 6e64 2028 6269 6e61 wo-operand (bina\n+0001bcc0: 7279 2920 666f 726d 732e 0a20 2020 2020 ry) 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 286c 696e 6520 3139 290a 2a20 (line 19).* \n-0001bd10: 2a2c 206d 756c 7469 706c 6963 6174 696f *, multiplicatio\n-0001bd20: 6e20 6f70 6572 6174 6f72 203c 313e 3a20 n operator <1>: \n-0001bd30: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera\n-0001bd40: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n-0001bd50: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+0001bd00: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0001bd10: 3139 290a 2a20 2a2c 206d 756c 7469 706c 19).* *, multipl\n+0001bd20: 6963 6174 696f 6e20 6f70 6572 6174 6f72 ication operator\n+0001bd30: 203c 313e 3a20 2020 2020 2020 2054 776f <1>: Two\n+0001bd40: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary\n+0001bd50: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. \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 286c 696e 6520 3638 290a 2a20 2f2c (line 68).* /,\n-0001bda0: 2064 6976 6973 696f 6e20 6f70 6572 6174 division operat\n-0001bdb0: 6f72 3a20 2020 2020 2020 2020 2020 2020 or: \n-0001bdc0: 2020 2020 2054 776f 2d6f 7065 7261 6e64 Two-operand\n-0001bdd0: 2028 6269 6e61 7279 2920 666f 726d 732e (binary) forms.\n-0001bde0: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0001bd90: 2020 2020 2020 2020 286c 696e 6520 3638 (line 68\n+0001bda0: 290a 2a20 2f2c 2064 6976 6973 696f 6e20 ).* /, division \n+0001bdb0: 6f70 6572 6174 6f72 3a20 2020 2020 2020 operator: \n+0001bdc0: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o\n+0001bdd0: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n+0001bde0: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. \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: 286c 696e 6520 3338 290a 2a20 5e2c 2065 (line 38).* ^, e\n-0001be30: 7870 6f6e 656e 7469 6174 696f 6e20 6f70 xponentiation op\n-0001be40: 6572 6174 6f72 3a20 2020 2020 2020 2020 erator: \n-0001be50: 2020 2054 776f 2d6f 7065 7261 6e64 2028 Two-operand (\n-0001be60: 6269 6e61 7279 2920 666f 726d 732e 0a20 binary) forms.. \n-0001be70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001be20: 2020 2020 2020 286c 696e 6520 3338 290a (line 38).\n+0001be30: 2a20 5e2c 2065 7870 6f6e 656e 7469 6174 * ^, exponentiat\n+0001be40: 696f 6e20 6f70 6572 6174 6f72 3a20 2020 ion operator: \n+0001be50: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope\n+0001be60: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo\n+0001be70: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. \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 286c (l\n-0001beb0: 696e 6520 3237 290a 2a20 2b2c 2070 6c75 ine 27).* +, plu\n-0001bec0: 7320 6f70 6572 6174 6f72 3a20 2020 2020 s operator: \n-0001bed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001bee0: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi\n-0001bef0: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) forms.. \n-0001bf00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001bea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001beb0: 2020 2020 286c 696e 6520 3237 290a 2a20 (line 27).* \n+0001bec0: 2b2c 2070 6c75 7320 6f70 6572 6174 6f72 +, plus operator\n+0001bed0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001bee0: 2020 2020 2020 2054 776f 2d6f 7065 7261 Two-opera\n+0001bef0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n+0001bf00: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \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 286c 696e (lin\n-0001bf40: 6520 3131 290a 2a20 3c3e 2c20 636c 6f73 e 11).* <>, clos\n-0001bf50: 7572 6520 7461 673a 2020 2020 2020 2020 ure tag: \n-0001bf60: 2020 2020 2020 2020 2020 2020 2020 2050 P\n-0001bf70: 6f69 6e74 2073 7765 6570 732e 2020 2020 oint sweeps. \n-0001bf80: 2020 2020 2028 6c69 6e65 2031 3829 0a2a (line 18).*\n-0001bf90: 203c 3e2c 2063 6c6f 7375 7265 2074 6167 <>, closure tag\n-0001bfa0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-0001bfb0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n-0001bfc0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n-0001bfd0: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. \n+0001bf30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001bf40: 2020 286c 696e 6520 3131 290a 2a20 3c3e (line 11).* <>\n+0001bf50: 2c20 636c 6f73 7572 6520 7461 673a 2020 , closure tag: \n+0001bf60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001bf70: 2020 2020 2050 6f69 6e74 2073 7765 6570 Point sweep\n+0001bf80: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line\n+0001bf90: 2031 3829 0a2a 203c 3e2c 2063 6c6f 7375 18).* <>, closu\n+0001bfa0: 7265 2074 6167 203c 313e 3a20 2020 2020 re tag <1>: \n+0001bfb0: 2020 2020 2020 2020 2020 2020 2020 506f Po\n+0001bfc0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi\n+0001bfd0: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th 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 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0001c020: 203c 3e2c 2063 6c6f 7375 7265 2074 6167 <>, closure tag\n-0001c030: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-0001c040: 2020 2020 2020 2020 5377 6565 7073 2e20 Sweeps. \n-0001c050: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0001c060: 696e 6520 3139 290a 2a20 3c3e 2c20 636c ine 19).* <>, cl\n-0001c070: 6f73 7572 6520 7461 6720 3c33 3e3a 2020 osure tag <3>: \n-0001c080: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c090: 2053 7765 7074 2070 6f69 6e74 732e 2020 Swept points. \n-0001c0a0: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-0001c0b0: 0a2a 203c 3e2c 2063 6c6f 7375 7265 2074 .* <>, closure t\n-0001c0c0: 6167 203c 343e 3a20 2020 2020 2020 2020 ag <4>: \n-0001c0d0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-0001c0e0: 706f 696e 7473 2e20 2020 2020 2020 2020 points. \n-0001c0f0: 286c 696e 6520 3133 290a 2a20 3c3e 2c20 (line 13).* <>, \n-0001c100: 636c 6f73 7572 6520 7461 6720 3c35 3e3a closure tag <5>:\n-0001c110: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c120: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. \n-0001c130: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0001c140: 3629 0a2a 203c 3e2c 2063 6c6f 7375 7265 6).* <>, closure\n-0001c150: 2074 6167 203c 363e 3a20 2020 2020 2020 tag <6>: \n-0001c160: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-0001c170: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. \n-0001c180: 2020 286c 696e 6520 3238 290a 2a20 3c3e (line 28).* <>\n-0001c190: 2c20 636c 6f73 7572 6520 7461 6720 3c37 , closure tag <7\n-0001c1a0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001c1b0: 2020 2020 2053 7765 6570 2066 6163 6520 Sweep face \n-0001c1c0: 7370 6c69 7474 696e 672e 2028 6c69 6e65 splitting. (line\n-0001c1d0: 2031 3129 0a2a 203c 666f 6f3e 2c20 7461 11).* , ta\n-0001c1e0: 6720 7265 6665 7265 6e63 653a 2020 2020 g reference: \n-0001c1f0: 2020 2020 2020 2020 2020 2020 2020 466f Fo\n-0001c200: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio\n-0001c210: 6e73 2e20 286c 696e 6520 3230 290a 2a20 ns. (line 20).* \n-0001c220: 3c66 6f6f 3e2c 2074 6167 2072 6566 6572 , tag refer\n-0001c230: 656e 6365 203c 313e 3a20 2020 2020 2020 ence <1>: \n-0001c240: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of \n-0001c250: 7265 6665 7265 6e63 6573 2e20 2028 6c69 references. (li\n-0001c260: 6e65 2031 3929 0a2a 207c 587c 2c20 6d61 ne 19).* |X|, ma\n-0001c270: 676e 6974 7564 6520 6f70 6572 6174 6f72 gnitude operator\n-0001c280: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001c290: 556e 6172 7920 666f 726d 732e 2020 2020 Unary forms. \n-0001c2a0: 2020 2020 2020 286c 696e 6520 3132 290a (line 12).\n-0001c2b0: 2a20 6163 6f73 3a20 2020 2020 2020 2020 * acos: \n+0001c010: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001c020: 2020 3629 0a2a 203c 3e2c 2063 6c6f 7375 6).* <>, closu\n+0001c030: 7265 2074 6167 203c 323e 3a20 2020 2020 re tag <2>: \n+0001c040: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n+0001c050: 6565 7073 2e20 2020 2020 2020 2020 2020 eeps. \n+0001c060: 2020 2020 286c 696e 6520 3139 290a 2a20 (line 19).* \n+0001c070: 3c3e 2c20 636c 6f73 7572 6520 7461 6720 <>, closure tag \n+0001c080: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: \n+0001c090: 2020 2020 2020 2053 7765 7074 2070 6f69 Swept poi\n+0001c0a0: 6e74 732e 2020 2020 2020 2020 2028 6c69 nts. (li\n+0001c0b0: 6e65 2020 3629 0a2a 203c 3e2c 2063 6c6f ne 6).* <>, clo\n+0001c0c0: 7375 7265 2074 6167 203c 343e 3a20 2020 sure tag <4>: \n+0001c0d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c0e0: 5377 6570 7420 706f 696e 7473 2e20 2020 Swept points. \n+0001c0f0: 2020 2020 2020 286c 696e 6520 3133 290a (line 13).\n+0001c100: 2a20 3c3e 2c20 636c 6f73 7572 6520 7461 * <>, closure ta\n+0001c110: 6720 3c35 3e3a 2020 2020 2020 2020 2020 g <5>: \n+0001c120: 2020 2020 2020 2020 2053 7765 7074 206c Swept l\n+0001c130: 696e 6573 2e20 2020 2020 2020 2020 2028 ines. (\n+0001c140: 6c69 6e65 2020 3629 0a2a 203c 3e2c 2063 line 6).* <>, c\n+0001c150: 6c6f 7375 7265 2074 6167 203c 363e 3a20 losure tag <6>: \n+0001c160: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c170: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. \n+0001c180: 2020 2020 2020 2020 286c 696e 6520 3238 (line 28\n+0001c190: 290a 2a20 3c3e 2c20 636c 6f73 7572 6520 ).* <>, closure \n+0001c1a0: 7461 6720 3c37 3e3a 2020 2020 2020 2020 tag <7>: \n+0001c1b0: 2020 2020 2020 2020 2020 2053 7765 6570 Sweep\n+0001c1c0: 2066 6163 6520 7370 6c69 7474 696e 672e face splitting.\n+0001c1d0: 2028 6c69 6e65 2031 3129 0a2a 203c 666f (line 11).* , tag referenc\n+0001c1f0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+0001c200: 2020 2020 466f 726d 7320 6f66 2064 6566 Forms of def\n+0001c210: 696e 6974 696f 6e73 2e20 286c 696e 6520 initions. (line \n+0001c220: 3230 290a 2a20 3c66 6f6f 3e2c 2074 6167 20).* , tag\n+0001c230: 2072 6566 6572 656e 6365 203c 313e 3a20 reference <1>: \n+0001c240: 2020 2020 2020 2020 2020 2020 2046 6f72 For\n+0001c250: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n+0001c260: 2e20 2028 6c69 6e65 2031 3929 0a2a 207c . (line 19).* |\n+0001c270: 587c 2c20 6d61 676e 6974 7564 6520 6f70 X|, magnitude op\n+0001c280: 6572 6174 6f72 3a20 2020 2020 2020 2020 erator: \n+0001c290: 2020 2020 2020 556e 6172 7920 666f 726d Unary form\n+0001c2a0: 732e 2020 2020 2020 2020 2020 286c 696e s. (lin\n+0001c2b0: 6520 3132 290a 2a20 6163 6f73 3a20 2020 e 12).* acos: \n 0001c2c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c2d0: 2020 2020 2020 2020 2055 6e61 7279 2066 Unary f\n-0001c2e0: 6f72 6d73 2e20 2020 2020 2020 2020 2028 orms. (\n-0001c2f0: 6c69 6e65 2031 3829 0a2a 2061 7272 6f77 line 18).* arrow\n-0001c300: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n+0001c2d0: 2020 2020 2020 2020 2020 2020 2020 2055 U\n+0001c2e0: 6e61 7279 2066 6f72 6d73 2e20 2020 2020 nary forms. \n+0001c2f0: 2020 2020 2028 6c69 6e65 2031 3829 0a2a (line 18).*\n+0001c300: 2061 7272 6f77 733a 2020 2020 2020 2020 arrows: \n 0001c310: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c320: 2020 4166 6669 6e65 2061 7269 7468 6d65 Affine arithme\n-0001c330: 7469 632e 2020 2020 286c 696e 6520 3131 tic. (line 11\n-0001c340: 290a 2a20 6172 726f 7773 203c 313e 3a20 ).* arrows <1>: \n-0001c350: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c360: 2020 2020 2020 2020 2020 2041 6666 696e Affin\n-0001c370: 6520 6172 6974 686d 6574 6963 2e20 2020 e arithmetic. \n-0001c380: 2028 6c69 6e65 2032 3829 0a2a 2061 7272 (line 28).* arr\n-0001c390: 6f77 7320 3c32 3e3a 2020 2020 2020 2020 ows <2>: \n+0001c320: 2020 2020 2020 2020 4166 6669 6e65 2061 Affine a\n+0001c330: 7269 7468 6d65 7469 632e 2020 2020 286c rithmetic. (l\n+0001c340: 696e 6520 3131 290a 2a20 6172 726f 7773 ine 11).* arrows\n+0001c350: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+0001c360: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c370: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet\n+0001c380: 6963 2e20 2020 2028 6c69 6e65 2032 3829 ic. (line 28)\n+0001c390: 0a2a 2061 7272 6f77 7320 3c32 3e3a 2020 .* arrows <2>: \n 0001c3a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c3b0: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. \n-0001c3c0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001c3d0: 3639 290a 2a20 6172 726f 7773 203c 333e 69).* arrows <3>\n-0001c3e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001c3f0: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n-0001c400: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n-0001c410: 2e20 2028 6c69 6e65 2032 3629 0a2a 2061 . (line 26).* a\n-0001c420: 7272 6f77 7320 3c34 3e3a 2020 2020 2020 rrows <4>: \n+0001c3b0: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi\n+0001c3c0: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. \n+0001c3d0: 286c 696e 6520 3639 290a 2a20 6172 726f (line 69).* arro\n+0001c3e0: 7773 203c 333e 3a20 2020 2020 2020 2020 ws <3>: \n+0001c3f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c400: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n+0001c410: 7261 7769 6e67 2e20 2028 6c69 6e65 2032 rawing. (line 2\n+0001c420: 3629 0a2a 2061 7272 6f77 7320 3c34 3e3a 6).* arrows <4>:\n 0001c430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c440: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica\n-0001c450: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin\n-0001c460: 6520 3638 290a 2a20 6173 696e 3a20 2020 e 68).* asin: \n-0001c470: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c480: 2020 2020 2020 2020 2020 2020 2020 2055 U\n-0001c490: 6e61 7279 2066 6f72 6d73 2e20 2020 2020 nary forms. \n-0001c4a0: 2020 2020 2028 6c69 6e65 2031 3729 0a2a (line 17).*\n-0001c4b0: 2061 7461 6e32 3a20 2020 2020 2020 2020 atan2: \n+0001c440: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n+0001c450: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n+0001c460: 2020 286c 696e 6520 3638 290a 2a20 6173 (line 68).* as\n+0001c470: 696e 3a20 2020 2020 2020 2020 2020 2020 in: \n+0001c480: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c490: 2020 2020 2055 6e61 7279 2066 6f72 6d73 Unary forms\n+0001c4a0: 2e20 2020 2020 2020 2020 2028 6c69 6e65 . (line\n+0001c4b0: 2031 3729 0a2a 2061 7461 6e32 3a20 2020 17).* atan2: \n 0001c4c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c4d0: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo\n-0001c4e0: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l\n-0001c4f0: 696e 6520 3139 290a 2a20 6361 6d65 7261 ine 19).* camera\n-0001c500: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001c4d0: 2020 2020 2020 2020 2020 2020 2020 556e Un\n+0001c4e0: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. \n+0001c4f0: 2020 2020 286c 696e 6520 3139 290a 2a20 (line 19).* \n+0001c500: 6361 6d65 7261 3a20 2020 2020 2020 2020 camera: \n 0001c510: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c520: 2043 616d 6572 612e 2020 2020 2020 2020 Camera. \n-0001c530: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-0001c540: 0a2a 2063 6f6e 7465 7874 3a20 2020 2020 .* context: \n-0001c550: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c560: 2020 2020 2020 2020 2020 4c61 6e67 7561 Langua\n-0001c570: 6765 2e20 2020 2020 2020 2020 2020 2020 ge. \n-0001c580: 286c 696e 6520 3137 290a 2a20 636f 733a (line 17).* cos:\n-0001c590: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c520: 2020 2020 2020 2043 616d 6572 612e 2020 Camera. \n+0001c530: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001c540: 6e65 2020 3629 0a2a 2063 6f6e 7465 7874 ne 6).* context\n+0001c550: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001c560: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c570: 4c61 6e67 7561 6765 2e20 2020 2020 2020 Language. \n+0001c580: 2020 2020 2020 286c 696e 6520 3137 290a (line 17).\n+0001c590: 2a20 636f 733a 2020 2020 2020 2020 2020 * cos: \n 0001c5a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c5b0: 2020 2055 6e61 7279 2066 6f72 6d73 2e20 Unary forms. \n-0001c5c0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-0001c5d0: 3629 0a2a 2063 756c 6c3a 2020 2020 2020 6).* cull: \n+0001c5b0: 2020 2020 2020 2020 2055 6e61 7279 2066 Unary f\n+0001c5c0: 6f72 6d73 2e20 2020 2020 2020 2020 2028 orms. (\n+0001c5d0: 6c69 6e65 2031 3629 0a2a 2063 756c 6c3a line 16).* cull:\n 0001c5e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c5f0: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n-0001c600: 696e 6720 6120 736f 6c69 642e 2020 2020 ing a solid. \n-0001c610: 2020 286c 696e 6520 3435 290a 2a20 6375 (line 45).* cu\n-0001c620: 6c6c 203c 313e 3a20 2020 2020 2020 2020 ll <1>: \n+0001c5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c600: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli\n+0001c610: 642e 2020 2020 2020 286c 696e 6520 3435 d. (line 45\n+0001c620: 290a 2a20 6375 6c6c 203c 313e 3a20 2020 ).* cull <1>: \n 0001c630: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c640: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw\n-0001c650: 6565 7073 2e20 2020 2020 2028 6c69 6e65 eeps. (line\n-0001c660: 2020 3929 0a2a 2063 756c 6c20 3c32 3e3a 9).* cull <2>:\n-0001c670: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c680: 2020 2020 2020 2020 2020 2020 2020 5472 Tr\n-0001c690: 616e 7370 6172 656e 6379 2e20 2020 2020 ansparency. \n-0001c6a0: 2020 2020 286c 696e 6520 3135 290a 2a20 (line 15).* \n-0001c6b0: 6375 6c6c 203c 333e 3a20 2020 2020 2020 cull <3>: \n+0001c640: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl\n+0001c650: 696e 6520 7377 6565 7073 2e20 2020 2020 ine sweeps. \n+0001c660: 2028 6c69 6e65 2020 3929 0a2a 2063 756c (line 9).* cul\n+0001c670: 6c20 3c32 3e3a 2020 2020 2020 2020 2020 l <2>: \n+0001c680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c690: 2020 2020 5472 616e 7370 6172 656e 6379 Transparency\n+0001c6a0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n+0001c6b0: 3135 290a 2a20 6375 6c6c 203c 333e 3a20 15).* cull <3>: \n 0001c6c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c6d0: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n-0001c6e0: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li\n-0001c6f0: 6e65 2032 3029 0a2a 2063 756c 6c20 3c34 ne 20).* cull <4\n-0001c700: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001c6d0: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n+0001c6e0: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n+0001c6f0: 2e20 2028 6c69 6e65 2032 3029 0a2a 2063 . (line 20).* c\n+0001c700: 756c 6c20 3c34 3e3a 2020 2020 2020 2020 ull <4>: \n 0001c710: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c720: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options\n-0001c730: 2e20 2020 2020 286c 696e 6520 2037 290a . (line 7).\n-0001c740: 2a20 6375 6c6c 203c 353e 3a20 2020 2020 * cull <5>: \n-0001c750: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c760: 2020 2020 2020 2020 2047 6c6f 6261 6c20 Global \n-0001c770: 6f70 7469 6f6e 732e 2020 2020 2020 2028 options. (\n-0001c780: 6c69 6e65 2031 3329 0a2a 2063 7572 7665 line 13).* curve\n-0001c790: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001c720: 2020 2020 2020 496e 7465 726e 616c 206f Internal o\n+0001c730: 7074 696f 6e73 2e20 2020 2020 286c 696e ptions. (lin\n+0001c740: 6520 2037 290a 2a20 6375 6c6c 203c 353e e 7).* cull <5>\n+0001c750: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001c760: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0001c770: 6c6f 6261 6c20 6f70 7469 6f6e 732e 2020 lobal options. \n+0001c780: 2020 2020 2028 6c69 6e65 2031 3329 0a2a (line 13).*\n+0001c790: 2063 7572 7665 3a20 2020 2020 2020 2020 curve: \n 0001c7a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c7b0: 2020 4375 7276 6573 2e20 2020 2020 2020 Curves. \n-0001c7c0: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0001c7d0: 290a 2a20 6465 663a 2020 2020 2020 2020 ).* def: \n+0001c7b0: 2020 2020 2020 2020 4375 7276 6573 2e20 Curves. \n+0001c7c0: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0001c7d0: 696e 6520 2036 290a 2a20 6465 663a 2020 ine 6).* def: \n 0001c7e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c7f0: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi\n-0001c800: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. \n-0001c810: 2028 6c69 6e65 2020 3929 0a2a 2064 6566 (line 9).* def\n-0001c820: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+0001c7f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c800: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid\n+0001c810: 2e20 2020 2020 2028 6c69 6e65 2020 3929 . (line 9)\n+0001c820: 0a2a 2064 6566 203c 313e 3a20 2020 2020 .* def <1>: \n 0001c830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c840: 2020 2020 4472 6177 696e 6720 6120 736f Drawing a so\n-0001c850: 6c69 642e 2020 2020 2020 286c 696e 6520 lid. (line \n-0001c860: 3232 290a 2a20 6465 6620 3c32 3e3a 2020 22).* def <2>: \n-0001c870: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c880: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n-0001c890: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n-0001c8a0: 2020 2028 6c69 6e65 2031 3029 0a2a 2064 (line 10).* d\n-0001c8b0: 6566 203c 333e 3a20 2020 2020 2020 2020 ef <3>: \n+0001c840: 2020 2020 2020 2020 2020 4472 6177 696e Drawin\n+0001c850: 6720 6120 736f 6c69 642e 2020 2020 2020 g a solid. \n+0001c860: 286c 696e 6520 3232 290a 2a20 6465 6620 (line 22).* def \n+0001c870: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n+0001c880: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c890: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n+0001c8a0: 6f72 6d73 2e20 2020 2028 6c69 6e65 2031 orms. (line 1\n+0001c8b0: 3029 0a2a 2064 6566 203c 333e 3a20 2020 0).* def <3>: \n 0001c8c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c8d0: 2020 2020 2020 506f 696e 7420 7377 6565 Point swee\n-0001c8e0: 7073 2e20 2020 2020 2020 2020 286c 696e ps. (lin\n-0001c8f0: 6520 3139 290a 2a20 6465 6620 3c34 3e3a e 19).* def <4>:\n-0001c900: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c910: 2020 2020 2020 2020 2020 2020 2020 2050 P\n-0001c920: 6f6c 796c 696e 6520 7377 6565 7073 2e20 olyline sweeps. \n-0001c930: 2020 2020 2028 6c69 6e65 2020 3929 0a2a (line 9).*\n-0001c940: 2064 6566 203c 353e 3a20 2020 2020 2020 def <5>: \n+0001c8d0: 2020 2020 2020 2020 2020 2020 506f 696e Poin\n+0001c8e0: 7420 7377 6565 7073 2e20 2020 2020 2020 t sweeps. \n+0001c8f0: 2020 286c 696e 6520 3139 290a 2a20 6465 (line 19).* de\n+0001c900: 6620 3c34 3e3a 2020 2020 2020 2020 2020 f <4>: \n+0001c910: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c920: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw\n+0001c930: 6565 7073 2e20 2020 2020 2028 6c69 6e65 eeps. (line\n+0001c940: 2020 3929 0a2a 2064 6566 203c 353e 3a20 9).* def <5>: \n 0001c950: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c960: 2020 2020 2020 2020 4e65 7374 6564 2073 Nested s\n-0001c970: 7765 6570 732e 2020 2020 2020 2020 286c weeps. (l\n-0001c980: 696e 6520 2038 290a 2a20 6465 6620 3c36 ine 8).* def <6\n-0001c990: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001c960: 2020 2020 2020 2020 2020 2020 2020 4e65 Ne\n+0001c970: 7374 6564 2073 7765 6570 732e 2020 2020 sted sweeps. \n+0001c980: 2020 2020 286c 696e 6520 2038 290a 2a20 (line 8).* \n+0001c990: 6465 6620 3c36 3e3a 2020 2020 2020 2020 def <6>: \n 0001c9a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001c9b0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-0001c9c0: 2077 6974 6820 636c 6f73 7572 652e 0a20 with closure.. \n-0001c9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001c9b0: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n+0001c9c0: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n+0001c9d0: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. \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 286c (l\n-0001ca10: 696e 6520 3130 290a 2a20 6465 6620 3c37 ine 10).* def <7\n-0001ca20: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001ca00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ca10: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n+0001ca20: 6465 6620 3c37 3e3a 2020 2020 2020 2020 def <7>: \n 0001ca30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ca40: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet\n-0001ca50: 6963 2e20 2020 2028 6c69 6e65 2031 3129 ic. (line 11)\n-0001ca60: 0a2a 2064 6566 203c 383e 3a20 2020 2020 .* def <8>: \n-0001ca70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ca80: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi\n-0001ca90: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. \n-0001caa0: 286c 696e 6520 3132 290a 2a20 6465 6620 (line 12).* def \n-0001cab0: 3c39 3e3a 2020 2020 2020 2020 2020 2020 <9>: \n+0001ca40: 2020 2020 2020 2041 6666 696e 6520 6172 Affine ar\n+0001ca50: 6974 686d 6574 6963 2e20 2020 2028 6c69 ithmetic. (li\n+0001ca60: 6e65 2031 3129 0a2a 2064 6566 203c 383e ne 11).* def <8>\n+0001ca70: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001ca80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ca90: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. \n+0001caa0: 2020 2020 2020 286c 696e 6520 3132 290a (line 12).\n+0001cab0: 2a20 6465 6620 3c39 3e3a 2020 2020 2020 * def <9>: \n 0001cac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cad0: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n-0001cae0: 2020 2020 2020 2020 2028 6c69 6e65 2033 (line 3\n-0001caf0: 3729 0a2a 2064 6566 203c 3130 3e3a 2020 7).* def <10>: \n-0001cb00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cb10: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n-0001cb20: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n-0001cb30: 2020 286c 696e 6520 3639 290a 2a20 6465 (line 69).* de\n-0001cb40: 6620 3c31 313e 3a20 2020 2020 2020 2020 f <11>: \n+0001cad0: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n+0001cae0: 772e 2020 2020 2020 2020 2020 2020 2028 w. (\n+0001caf0: 6c69 6e65 2033 3729 0a2a 2064 6566 203c line 37).* def <\n+0001cb00: 3130 3e3a 2020 2020 2020 2020 2020 2020 10>: \n+0001cb10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cb20: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n+0001cb30: 2020 2020 2020 2020 286c 696e 6520 3639 (line 69\n+0001cb40: 290a 2a20 6465 6620 3c31 313e 3a20 2020 ).* def <11>: \n 0001cb50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cb60: 2020 2020 2041 2074 6563 686e 6963 616c A technical\n-0001cb70: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line\n-0001cb80: 2031 3429 0a2a 2064 6566 203c 3132 3e3a 14).* def <12>:\n-0001cb90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cba0: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-0001cbb0: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n-0001cbc0: 672e 2020 286c 696e 6520 3236 290a 2a20 g. (line 26).* \n-0001cbd0: 6465 6620 3c31 333e 3a20 2020 2020 2020 def <13>: \n+0001cb60: 2020 2020 2020 2020 2020 2041 2074 6563 A tec\n+0001cb70: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. \n+0001cb80: 2028 6c69 6e65 2031 3429 0a2a 2064 6566 (line 14).* def\n+0001cb90: 203c 3132 3e3a 2020 2020 2020 2020 2020 <12>: \n+0001cba0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cbb0: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n+0001cbc0: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n+0001cbd0: 3236 290a 2a20 6465 6620 3c31 333e 3a20 26).* def <13>: \n 0001cbe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cbf0: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n-0001cc00: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li\n-0001cc10: 6e65 2034 3129 0a2a 2064 6566 203c 3134 ne 41).* def <14\n-0001cc20: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001cbf0: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n+0001cc00: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n+0001cc10: 2e20 2028 6c69 6e65 2034 3129 0a2a 2064 . (line 41).* d\n+0001cc20: 6566 203c 3134 3e3a 2020 2020 2020 2020 ef <14>: \n 0001cc30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cc40: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n-0001cc50: 696e 672e 2020 286c 696e 6520 3638 290a ing. (line 68).\n-0001cc60: 2a20 6465 6620 3c31 353e 3a20 2020 2020 * def <15>: \n-0001cc70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cc80: 2020 2020 2020 2020 2041 2074 6563 686e A techn\n-0001cc90: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. (\n-0001cca0: 6c69 6e65 2039 3529 0a2a 2064 6566 203c line 95).* def <\n-0001ccb0: 3136 3e3a 2020 2020 2020 2020 2020 2020 16>: \n+0001cc40: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica\n+0001cc50: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin\n+0001cc60: 6520 3638 290a 2a20 6465 6620 3c31 353e e 68).* def <15>\n+0001cc70: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001cc80: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0001cc90: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi\n+0001cca0: 6e67 2e20 2028 6c69 6e65 2039 3529 0a2a ng. (line 95).*\n+0001ccb0: 2064 6566 203c 3136 3e3a 2020 2020 2020 def <16>: \n 0001ccc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ccd0: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical\n-0001cce0: 206d 6f64 656c 2e20 286c 696e 6520 3130 model. (line 10\n-0001ccf0: 290a 2a20 6465 6620 3c31 373e 3a20 2020 ).* def <17>: \n-0001cd00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cd10: 2020 2020 2020 2020 2020 2041 2068 6965 A hie\n-0001cd20: 7261 7263 6869 6361 6c20 6d6f 6465 6c2e rarchical model.\n-0001cd30: 2028 6c69 6e65 2032 3329 0a2a 2064 6566 (line 23).* def\n-0001cd40: 203c 3138 3e3a 2020 2020 2020 2020 2020 <18>: \n+0001ccd0: 2020 2020 2020 2020 4120 6869 6572 6172 A hierar\n+0001cce0: 6368 6963 616c 206d 6f64 656c 2e20 286c chical model. (l\n+0001ccf0: 696e 6520 3130 290a 2a20 6465 6620 3c31 ine 10).* def <1\n+0001cd00: 373e 3a20 2020 2020 2020 2020 2020 2020 7>: \n+0001cd10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cd20: 2041 2068 6965 7261 7263 6869 6361 6c20 A hierarchical \n+0001cd30: 6d6f 6465 6c2e 2028 6c69 6e65 2032 3329 model. (line 23)\n+0001cd40: 0a2a 2064 6566 203c 3138 3e3a 2020 2020 .* def <18>: \n 0001cd50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cd60: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic\n-0001cd70: 616c 206d 6f64 656c 2e20 286c 696e 6520 al model. (line \n-0001cd80: 3332 290a 2a20 646f 7473 3a20 2020 2020 32).* dots: \n-0001cd90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cda0: 2020 2020 2020 2020 2020 2020 2044 6f74 Dot\n-0001cdb0: 732e 2020 2020 2020 2020 2020 2020 2020 s. \n-0001cdc0: 2020 2028 6c69 6e65 2020 3629 0a2a 2066 (line 6).* f\n-0001cdd0: 696c 6c20 6f70 6163 6974 793a 2020 2020 ill opacity: \n-0001cde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cdf0: 2020 2020 2020 5472 616e 7370 6172 656e Transparen\n-0001ce00: 6379 2e20 2020 2020 2020 2020 286c 696e cy. (lin\n-0001ce10: 6520 3130 290a 2a20 6669 6c6c 2073 7479 e 10).* fill sty\n-0001ce20: 6c65 3a20 2020 2020 2020 2020 2020 2020 le: \n-0001ce30: 2020 2020 2020 2020 2020 2020 2020 2054 T\n-0001ce40: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def\n-0001ce50: 696e 6564 2073 7479 6c65 732e 0a20 2020 ined styles.. \n-0001ce60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cd60: 2020 2020 2020 2020 2020 4120 6869 6572 A hier\n+0001cd70: 6172 6368 6963 616c 206d 6f64 656c 2e20 archical model. \n+0001cd80: 286c 696e 6520 3332 290a 2a20 646f 7473 (line 32).* dots\n+0001cd90: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001cda0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cdb0: 2020 2044 6f74 732e 2020 2020 2020 2020 Dots. \n+0001cdc0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+0001cdd0: 3629 0a2a 2066 696c 6c20 6f70 6163 6974 6).* fill opacit\n+0001cde0: 793a 2020 2020 2020 2020 2020 2020 2020 y: \n+0001cdf0: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n+0001ce00: 7370 6172 656e 6379 2e20 2020 2020 2020 sparency. \n+0001ce10: 2020 286c 696e 6520 3130 290a 2a20 6669 (line 10).* fi\n+0001ce20: 6c6c 2073 7479 6c65 3a20 2020 2020 2020 ll style: \n+0001ce30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ce40: 2020 2020 2054 696b 5a2f 5047 4620 7573 TikZ/PGF us\n+0001ce50: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style\n+0001ce60: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \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 286c 696e (lin\n-0001cea0: 6520 3235 290a 2a20 6669 6c6c 636f 6c6f e 25).* fillcolo\n-0001ceb0: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n-0001cec0: 2020 2020 2020 2020 2020 2020 2020 204f O\n-0001ced0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n-0001cee0: 2e20 2020 2028 6c69 6e65 2031 3029 0a2a . (line 10).*\n-0001cef0: 2066 696c 6c63 6f6c 6f72 203c 313e 3a20 fillcolor <1>: \n-0001cf00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cf10: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n-0001cf20: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n-0001cf30: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. \n+0001ce90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cea0: 2020 286c 696e 6520 3235 290a 2a20 6669 (line 25).* fi\n+0001ceb0: 6c6c 636f 6c6f 723a 2020 2020 2020 2020 llcolor: \n+0001cec0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ced0: 2020 2020 204f 626a 6563 7420 7472 616e Object tran\n+0001cee0: 7366 6f72 6d73 2e20 2020 2028 6c69 6e65 sforms. (line\n+0001cef0: 2031 3029 0a2a 2066 696c 6c63 6f6c 6f72 10).* fillcolor\n+0001cf00: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+0001cf10: 2020 2020 2020 2020 2020 2020 2020 506f Po\n+0001cf20: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi\n+0001cf30: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th 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 2028 6c69 6e65 2031 3029 0a2a (line 10).*\n-0001cf80: 2066 696c 6c63 6f6c 6f72 203c 323e 3a20 fillcolor <2>: \n-0001cf90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cfa0: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview\n-0001cfb0: 2e20 2020 2020 2020 2020 2020 2020 286c . (l\n-0001cfc0: 696e 6520 3337 290a 2a20 6672 616d 653a ine 37).* frame:\n-0001cfd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001cf70: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001cf80: 2031 3029 0a2a 2066 696c 6c63 6f6c 6f72 10).* fillcolor\n+0001cf90: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+0001cfa0: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov\n+0001cfb0: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. \n+0001cfc0: 2020 2020 286c 696e 6520 3337 290a 2a20 (line 37).* \n+0001cfd0: 6672 616d 653a 2020 2020 2020 2020 2020 frame: \n 0001cfe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001cff0: 2046 7261 6d65 2e20 2020 2020 2020 2020 Frame. \n-0001d000: 2020 2020 2020 2028 6c69 6e65 2020 3629 (line 6)\n-0001d010: 0a2a 2066 7261 6d65 7365 703a 2020 2020 .* framesep: \n-0001d020: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d030: 2020 2020 2020 2020 2020 4672 616d 652e Frame.\n-0001d040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d050: 286c 696e 6520 3131 290a 2a20 676c 6f62 (line 11).* glob\n-0001d060: 616c 3a20 2020 2020 2020 2020 2020 2020 al: \n+0001cff0: 2020 2020 2020 2046 7261 6d65 2e20 2020 Frame. \n+0001d000: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001d010: 6e65 2020 3629 0a2a 2066 7261 6d65 7365 ne 6).* framese\n+0001d020: 703a 2020 2020 2020 2020 2020 2020 2020 p: \n+0001d030: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d040: 4672 616d 652e 2020 2020 2020 2020 2020 Frame. \n+0001d050: 2020 2020 2020 286c 696e 6520 3131 290a (line 11).\n+0001d060: 2a20 676c 6f62 616c 3a20 2020 2020 2020 * global: \n 0001d070: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d080: 2020 2047 6c6f 6261 6c20 656e 7669 726f Global enviro\n-0001d090: 6e6d 656e 742e 2020 2028 6c69 6e65 2031 nment. (line 1\n-0001d0a0: 3229 0a2a 2069 6e70 7574 3a20 2020 2020 2).* input: \n-0001d0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d0c0: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang\n-0001d0d0: 7561 6765 2062 6173 6963 732e 2020 2020 uage basics. \n-0001d0e0: 2020 286c 696e 6520 3139 290a 2a20 696e (line 19).* in\n-0001d0f0: 7665 7273 653a 2020 2020 2020 2020 2020 verse: \n+0001d080: 2020 2020 2020 2020 2047 6c6f 6261 6c20 Global \n+0001d090: 656e 7669 726f 6e6d 656e 742e 2020 2028 environment. (\n+0001d0a0: 6c69 6e65 2031 3229 0a2a 2069 6e70 7574 line 12).* input\n+0001d0b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001d0c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d0d0: 2020 4c61 6e67 7561 6765 2062 6173 6963 Language basic\n+0001d0e0: 732e 2020 2020 2020 286c 696e 6520 3139 s. (line 19\n+0001d0f0: 290a 2a20 696e 7665 7273 653a 2020 2020 ).* inverse: \n 0001d100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d110: 2020 2020 2055 6e61 7279 2066 6f72 6d73 Unary forms\n-0001d120: 2e20 2020 2020 2020 2020 2028 6c69 6e65 . (line\n-0001d130: 2032 3129 0a2a 206c 616e 6775 6167 653a 21).* language:\n-0001d140: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d150: 2020 2020 2020 2020 2020 2020 2020 4c61 La\n-0001d160: 6e67 7561 6765 2e20 2020 2020 2020 2020 nguage. \n-0001d170: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-0001d180: 6c61 7465 783a 2020 2020 2020 2020 2020 latex: \n+0001d110: 2020 2020 2020 2020 2020 2055 6e61 7279 Unary\n+0001d120: 2066 6f72 6d73 2e20 2020 2020 2020 2020 forms. \n+0001d130: 2028 6c69 6e65 2032 3129 0a2a 206c 616e (line 21).* lan\n+0001d140: 6775 6167 653a 2020 2020 2020 2020 2020 guage: \n+0001d150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d160: 2020 2020 4c61 6e67 7561 6765 2e20 2020 Language. \n+0001d170: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0001d180: 2036 290a 2a20 6c61 7465 783a 2020 2020 6).* latex: \n 0001d190: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d1a0: 2020 2020 2020 204c 616e 6775 6167 652e Language.\n-0001d1b0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0001d1c0: 6e65 2031 3729 0a2a 206c 6179 3a20 2020 ne 17).* lay: \n-0001d1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d1a0: 2020 2020 2020 2020 2020 2020 204c 616e Lan\n+0001d1b0: 6775 6167 652e 2020 2020 2020 2020 2020 guage. \n+0001d1c0: 2020 2028 6c69 6e65 2031 3729 0a2a 206c (line 17).* l\n+0001d1d0: 6179 3a20 2020 2020 2020 2020 2020 2020 ay: \n 0001d1e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d1f0: 5370 6563 6961 6c20 6f62 6a65 6374 732e Special objects.\n-0001d200: 2020 2020 2020 286c 696e 6520 3438 290a (line 48).\n-0001d210: 2a20 6c61 7920 3c31 3e3a 2020 2020 2020 * lay <1>: \n+0001d1f0: 2020 2020 2020 5370 6563 6961 6c20 6f62 Special ob\n+0001d200: 6a65 6374 732e 2020 2020 2020 286c 696e jects. (lin\n+0001d210: 6520 3438 290a 2a20 6c61 7920 3c31 3e3a e 48).* lay <1>:\n 0001d220: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d230: 2020 2020 2020 2020 2054 696b 5a2f 5047 TikZ/PG\n-0001d240: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s\n-0001d250: 7479 6c65 732e 0a20 2020 2020 2020 2020 tyles.. \n+0001d230: 2020 2020 2020 2020 2020 2020 2020 2054 T\n+0001d240: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def\n+0001d250: 696e 6564 2073 7479 6c65 732e 0a20 2020 ined 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 286c 696e 6520 3336 290a (line 36).\n-0001d2a0: 2a20 6c61 7920 3c32 3e3a 2020 2020 2020 * lay <2>: \n+0001d290: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001d2a0: 6520 3336 290a 2a20 6c61 7920 3c32 3e3a e 36).* lay <2>:\n 0001d2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d2c0: 2020 2020 2020 2020 2041 2074 6563 686e A techn\n-0001d2d0: 6963 616c 2064 7261 7769 6e67 2e20 2028 ical drawing. (\n-0001d2e0: 6c69 6e65 2032 3629 0a2a 206c 6179 203c line 26).* lay <\n-0001d2f0: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: \n+0001d2c0: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0001d2d0: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi\n+0001d2e0: 6e67 2e20 2028 6c69 6e65 2032 3629 0a2a ng. (line 26).*\n+0001d2f0: 206c 6179 203c 333e 3a20 2020 2020 2020 lay <3>: \n 0001d300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d310: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr\n-0001d320: 6177 696e 672e 2020 286c 696e 6520 3236 awing. (line 26\n-0001d330: 290a 2a20 6c61 7920 3c34 3e3a 2020 2020 ).* lay <4>: \n-0001d340: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d350: 2020 2020 2020 2020 2020 2041 2074 6563 A tec\n-0001d360: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. \n-0001d370: 2028 6c69 6e65 2039 3529 0a2a 206c 6179 (line 95).* lay\n-0001d380: 203c 353e 3a20 2020 2020 2020 2020 2020 <5>: \n+0001d310: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni\n+0001d320: 6361 6c20 6472 6177 696e 672e 2020 286c cal drawing. (l\n+0001d330: 696e 6520 3236 290a 2a20 6c61 7920 3c34 ine 26).* lay <4\n+0001d340: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001d350: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d360: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n+0001d370: 7769 6e67 2e20 2028 6c69 6e65 2039 3529 wing. (line 95)\n+0001d380: 0a2a 206c 6179 203c 353e 3a20 2020 2020 .* lay <5>: \n 0001d390: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d3a0: 2020 2020 496e 7465 726e 616c 206f 7074 Internal opt\n-0001d3b0: 696f 6e73 2e20 2020 2020 286c 696e 6520 ions. (line \n-0001d3c0: 2037 290a 2a20 6c61 7920 3c36 3e3a 2020 7).* lay <6>: \n-0001d3d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d3e0: 2020 2020 2020 2020 2020 2020 2053 7065 Spe\n-0001d3f0: 6369 616c 732e 2020 2020 2020 2020 2020 cials. \n-0001d400: 2020 2028 6c69 6e65 2034 3229 0a2a 206c (line 42).* l\n-0001d410: 6179 203c 373e 3a20 2020 2020 2020 2020 ay <7>: \n+0001d3a0: 2020 2020 2020 2020 2020 496e 7465 726e Intern\n+0001d3b0: 616c 206f 7074 696f 6e73 2e20 2020 2020 al options. \n+0001d3c0: 286c 696e 6520 2037 290a 2a20 6c61 7920 (line 7).* lay \n+0001d3d0: 3c36 3e3a 2020 2020 2020 2020 2020 2020 <6>: \n+0001d3e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d3f0: 2020 2053 7065 6369 616c 732e 2020 2020 Specials. \n+0001d400: 2020 2020 2020 2020 2028 6c69 6e65 2034 (line 4\n+0001d410: 3229 0a2a 206c 6179 203c 373e 3a20 2020 2).* lay <7>: \n 0001d420: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d430: 2020 2020 2020 476c 6f62 616c 206f 7074 Global opt\n-0001d440: 696f 6e73 2e20 2020 2020 2020 286c 696e ions. (lin\n-0001d450: 6520 3133 290a 2a20 6c69 6e65 3a20 2020 e 13).* line: \n-0001d460: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d470: 2020 2020 2020 2020 2020 2020 2020 2044 D\n-0001d480: 7261 7769 6e67 206f 7074 696f 6e73 2e20 rawing options. \n-0001d490: 2020 2020 2028 6c69 6e65 2020 3729 0a2a (line 7).*\n-0001d4a0: 206c 696e 6520 3c31 3e3a 2020 2020 2020 line <1>: \n+0001d430: 2020 2020 2020 2020 2020 2020 476c 6f62 Glob\n+0001d440: 616c 206f 7074 696f 6e73 2e20 2020 2020 al options. \n+0001d450: 2020 286c 696e 6520 3133 290a 2a20 6c69 (line 13).* li\n+0001d460: 6e65 3a20 2020 2020 2020 2020 2020 2020 ne: \n+0001d470: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d480: 2020 2020 2044 7261 7769 6e67 206f 7074 Drawing opt\n+0001d490: 696f 6e73 2e20 2020 2020 2028 6c69 6e65 ions. (line\n+0001d4a0: 2020 3729 0a2a 206c 696e 6520 3c31 3e3a 7).* line <1>:\n 0001d4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d4c0: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t\n-0001d4d0: 7261 6e73 666f 726d 732e 2020 2020 286c ransforms. (l\n-0001d4e0: 696e 6520 3130 290a 2a20 6c69 6e65 203c ine 10).* line <\n-0001d4f0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n+0001d4c0: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n+0001d4d0: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n+0001d4e0: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n+0001d4f0: 6c69 6e65 203c 323e 3a20 2020 2020 2020 line <2>: \n 0001d500: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d510: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-0001d520: 2077 6974 6820 636c 6f73 7572 652e 0a20 with closure.. \n-0001d530: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d510: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n+0001d520: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n+0001d530: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. \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 286c (l\n-0001d570: 696e 6520 3130 290a 2a20 6c69 6e65 203c ine 10).* line <\n-0001d580: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: \n+0001d560: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d570: 2020 2020 286c 696e 6520 3130 290a 2a20 (line 10).* \n+0001d580: 6c69 6e65 203c 333e 3a20 2020 2020 2020 line <3>: \n 0001d590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d5a0: 2041 6666 696e 6520 6172 6974 686d 6574 Affine arithmet\n-0001d5b0: 6963 2e20 2020 2028 6c69 6e65 2031 3129 ic. (line 11)\n-0001d5c0: 0a2a 206c 696e 6520 3c34 3e3a 2020 2020 .* line <4>: \n-0001d5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d5e0: 2020 2020 2020 2020 2020 4c69 6e65 732e Lines.\n-0001d5f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d600: 286c 696e 6520 2036 290a 2a20 6c69 6e65 (line 6).* line\n-0001d610: 203c 353e 3a20 2020 2020 2020 2020 2020 <5>: \n+0001d5a0: 2020 2020 2020 2041 6666 696e 6520 6172 Affine ar\n+0001d5b0: 6974 686d 6574 6963 2e20 2020 2028 6c69 ithmetic. (li\n+0001d5c0: 6e65 2031 3129 0a2a 206c 696e 6520 3c34 ne 11).* line <4\n+0001d5d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001d5e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d5f0: 4c69 6e65 732e 2020 2020 2020 2020 2020 Lines. \n+0001d600: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0001d610: 2a20 6c69 6e65 203c 353e 3a20 2020 2020 * line <5>: \n 0001d620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d630: 2020 2053 7765 7074 2062 6c6f 636b 732e Swept blocks.\n-0001d640: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-0001d650: 3729 0a2a 206c 696e 6520 3c36 3e3a 2020 7).* line <6>: \n-0001d660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d670: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n-0001d680: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n-0001d690: 2020 286c 696e 6520 3639 290a 2a20 6c69 (line 69).* li\n-0001d6a0: 6e65 203c 373e 3a20 2020 2020 2020 2020 ne <7>: \n+0001d630: 2020 2020 2020 2020 2053 7765 7074 2062 Swept b\n+0001d640: 6c6f 636b 732e 2020 2020 2020 2020 2028 locks. (\n+0001d650: 6c69 6e65 2020 3729 0a2a 206c 696e 6520 line 7).* line \n+0001d660: 3c36 3e3a 2020 2020 2020 2020 2020 2020 <6>: \n+0001d670: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d680: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n+0001d690: 2020 2020 2020 2020 286c 696e 6520 3639 (line 69\n+0001d6a0: 290a 2a20 6c69 6e65 203c 373e 3a20 2020 ).* line <7>: \n 0001d6b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d6c0: 2020 2020 2041 2074 6563 686e 6963 616c A technical\n-0001d6d0: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line\n-0001d6e0: 2032 3029 0a2a 206c 696e 6520 3c38 3e3a 20).* line <8>:\n-0001d6f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d700: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-0001d710: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n-0001d720: 672e 2020 286c 696e 6520 3236 290a 2a20 g. (line 26).* \n-0001d730: 6c69 6e65 203c 393e 3a20 2020 2020 2020 line <9>: \n+0001d6c0: 2020 2020 2020 2020 2020 2041 2074 6563 A tec\n+0001d6d0: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. \n+0001d6e0: 2028 6c69 6e65 2032 3029 0a2a 206c 696e (line 20).* lin\n+0001d6f0: 6520 3c38 3e3a 2020 2020 2020 2020 2020 e <8>: \n+0001d700: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d710: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n+0001d720: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n+0001d730: 3236 290a 2a20 6c69 6e65 203c 393e 3a20 26).* line <9>: \n 0001d740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d750: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n-0001d760: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li\n-0001d770: 6e65 2034 3129 0a2a 206c 696e 6520 3c31 ne 41).* line <1\n-0001d780: 303e 3a20 2020 2020 2020 2020 2020 2020 0>: \n+0001d750: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n+0001d760: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n+0001d770: 2e20 2028 6c69 6e65 2034 3129 0a2a 206c . (line 41).* l\n+0001d780: 696e 6520 3c31 303e 3a20 2020 2020 2020 ine <10>: \n 0001d790: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d7a0: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n-0001d7b0: 696e 672e 2020 286c 696e 6520 3638 290a ing. (line 68).\n-0001d7c0: 2a20 6c69 6e65 203c 3131 3e3a 2020 2020 * line <11>: \n-0001d7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d7e0: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n-0001d7f0: 7263 6869 6361 6c20 6d6f 6465 6c2e 2028 rchical model. (\n-0001d800: 6c69 6e65 2031 3029 0a2a 206c 696e 6520 line 10).* line \n-0001d810: 7374 796c 653a 2020 2020 2020 2020 2020 style: \n+0001d7a0: 2020 2020 2020 4120 7465 6368 6e69 6361 A technica\n+0001d7b0: 6c20 6472 6177 696e 672e 2020 286c 696e l drawing. (lin\n+0001d7c0: 6520 3638 290a 2a20 6c69 6e65 203c 3131 e 68).* line <11\n+0001d7d0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001d7e0: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0001d7f0: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n+0001d800: 6465 6c2e 2028 6c69 6e65 2031 3029 0a2a del. (line 10).*\n+0001d810: 206c 696e 6520 7374 796c 653a 2020 2020 line style: \n 0001d820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d830: 2020 5469 6b5a 2f50 4746 2075 7365 722d TikZ/PGF user-\n-0001d840: 6465 6669 6e65 6420 7374 796c 6573 2e0a defined styles..\n-0001d850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d830: 2020 2020 2020 2020 5469 6b5a 2f50 4746 TikZ/PGF\n+0001d840: 2075 7365 722d 6465 6669 6e65 6420 7374 user-defined st\n+0001d850: 796c 6573 2e0a 2020 2020 2020 2020 2020 yles.. \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 2028 (\n-0001d890: 6c69 6e65 2032 3529 0a2a 206c 696e 6563 line 25).* linec\n-0001d8a0: 6f6c 6f72 3a20 2020 2020 2020 2020 2020 olor: \n+0001d880: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d890: 2020 2020 2028 6c69 6e65 2032 3529 0a2a (line 25).*\n+0001d8a0: 206c 696e 6563 6f6c 6f72 3a20 2020 2020 linecolor: \n 0001d8b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d8c0: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n-0001d8d0: 726d 732e 2020 2020 286c 696e 6520 3130 rms. (line 10\n-0001d8e0: 290a 2a20 6c69 6e65 636f 6c6f 7220 3c31 ).* linecolor <1\n-0001d8f0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001d900: 2020 2020 2020 2020 2020 2046 7261 6d65 Frame\n-0001d910: 2e20 2020 2020 2020 2020 2020 2020 2020 . \n-0001d920: 2028 6c69 6e65 2031 3029 0a2a 206c 696e (line 10).* lin\n-0001d930: 6563 6f6c 6f72 203c 323e 3a20 2020 2020 ecolor <2>: \n-0001d940: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d950: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. \n-0001d960: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n-0001d970: 3639 290a 2a20 6c69 6e65 7374 796c 653a 69).* linestyle:\n-0001d980: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d990: 2020 2020 2020 2020 2020 2020 2046 7261 Fra\n-0001d9a0: 6d65 2e20 2020 2020 2020 2020 2020 2020 me. \n-0001d9b0: 2020 2028 6c69 6e65 2031 3029 0a2a 206c (line 10).* l\n-0001d9c0: 696e 6573 7479 6c65 203c 313e 3a20 2020 inestyle <1>: \n-0001d9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001d9e0: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n-0001d9f0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-0001da00: 6520 3639 290a 2a20 6c69 6e65 7374 796c e 69).* linestyl\n-0001da10: 6520 3c32 3e3a 2020 2020 2020 2020 2020 e <2>: \n-0001da20: 2020 2020 2020 2020 2020 2020 2020 2041 A\n-0001da30: 2074 6563 686e 6963 616c 2064 7261 7769 technical drawi\n-0001da40: 6e67 2e20 2028 6c69 6e65 2032 3629 0a2a ng. (line 26).*\n-0001da50: 206c 696e 6573 7479 6c65 203c 333e 3a20 linestyle <3>: \n-0001da60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001da70: 2020 2020 2020 2020 4275 6773 2061 6e64 Bugs and\n-0001da80: 2061 6e6f 6d61 6c69 6573 2e20 2020 286c anomalies. (l\n-0001da90: 696e 6520 2037 290a 2a20 6c69 6e65 7769 ine 7).* linewi\n-0001daa0: 6474 683a 2020 2020 2020 2020 2020 2020 dth: \n+0001d8c0: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t\n+0001d8d0: 7261 6e73 666f 726d 732e 2020 2020 286c ransforms. (l\n+0001d8e0: 696e 6520 3130 290a 2a20 6c69 6e65 636f ine 10).* lineco\n+0001d8f0: 6c6f 7220 3c31 3e3a 2020 2020 2020 2020 lor <1>: \n+0001d900: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d910: 2046 7261 6d65 2e20 2020 2020 2020 2020 Frame. \n+0001d920: 2020 2020 2020 2028 6c69 6e65 2031 3029 (line 10)\n+0001d930: 0a2a 206c 696e 6563 6f6c 6f72 203c 323e .* linecolor <2>\n+0001d940: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001d950: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi\n+0001d960: 6577 2e20 2020 2020 2020 2020 2020 2020 ew. \n+0001d970: 286c 696e 6520 3639 290a 2a20 6c69 6e65 (line 69).* line\n+0001d980: 7374 796c 653a 2020 2020 2020 2020 2020 style: \n+0001d990: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001d9a0: 2020 2046 7261 6d65 2e20 2020 2020 2020 Frame. \n+0001d9b0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n+0001d9c0: 3029 0a2a 206c 696e 6573 7479 6c65 203c 0).* linestyle <\n+0001d9d0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+0001d9e0: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n+0001d9f0: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n+0001da00: 2020 286c 696e 6520 3639 290a 2a20 6c69 (line 69).* li\n+0001da10: 6e65 7374 796c 6520 3c32 3e3a 2020 2020 nestyle <2>: \n+0001da20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001da30: 2020 2020 2041 2074 6563 686e 6963 616c A technical\n+0001da40: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line\n+0001da50: 2032 3629 0a2a 206c 696e 6573 7479 6c65 26).* linestyle\n+0001da60: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: \n+0001da70: 2020 2020 2020 2020 2020 2020 2020 4275 Bu\n+0001da80: 6773 2061 6e64 2061 6e6f 6d61 6c69 6573 gs and anomalies\n+0001da90: 2e20 2020 286c 696e 6520 2037 290a 2a20 . (line 7).* \n+0001daa0: 6c69 6e65 7769 6474 683a 2020 2020 2020 linewidth: \n 0001dab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dac0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-0001dad0: 2e20 2020 2020 2028 6c69 6e65 2020 3929 . (line 9)\n-0001dae0: 0a2a 206c 696e 6577 6964 7468 203c 313e .* linewidth <1>\n-0001daf0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001db00: 2020 2020 2020 2020 2020 4672 616d 652e Frame.\n-0001db10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001db20: 286c 696e 6520 3130 290a 2a20 6c69 6e65 (line 10).* line\n-0001db30: 7769 6474 6820 3c32 3e3a 2020 2020 2020 width <2>: \n+0001dac0: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n+0001dad0: 7377 6565 7073 2e20 2020 2020 2028 6c69 sweeps. (li\n+0001dae0: 6e65 2020 3929 0a2a 206c 696e 6577 6964 ne 9).* linewid\n+0001daf0: 7468 203c 313e 3a20 2020 2020 2020 2020 th <1>: \n+0001db00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001db10: 4672 616d 652e 2020 2020 2020 2020 2020 Frame. \n+0001db20: 2020 2020 2020 286c 696e 6520 3130 290a (line 10).\n+0001db30: 2a20 6c69 6e65 7769 6474 6820 3c32 3e3a * linewidth <2>:\n 0001db40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001db50: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n-0001db60: 2020 2020 2020 2020 2028 6c69 6e65 2036 (line 6\n-0001db70: 3929 0a2a 206c 696e 6577 6964 7468 203c 9).* linewidth <\n-0001db80: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: \n-0001db90: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n-0001dba0: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n-0001dbb0: 2020 286c 696e 6520 3236 290a 2a20 6f70 (line 26).* op\n-0001dbc0: 6163 6974 793a 2020 2020 2020 2020 2020 acity: \n+0001db50: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n+0001db60: 772e 2020 2020 2020 2020 2020 2020 2028 w. (\n+0001db70: 6c69 6e65 2036 3929 0a2a 206c 696e 6577 line 69).* linew\n+0001db80: 6964 7468 203c 333e 3a20 2020 2020 2020 idth <3>: \n+0001db90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001dba0: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr\n+0001dbb0: 6177 696e 672e 2020 286c 696e 6520 3236 awing. (line 26\n+0001dbc0: 290a 2a20 6f70 6163 6974 793a 2020 2020 ).* opacity: \n 0001dbd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dbe0: 2020 2020 2054 7261 6e73 7061 7265 6e63 Transparenc\n-0001dbf0: 792e 2020 2020 2020 2020 2028 6c69 6e65 y. (line\n-0001dc00: 2031 3029 0a2a 2070 6572 7370 6563 7469 10).* perspecti\n-0001dc10: 7665 3a20 2020 2020 2020 2020 2020 2020 ve: \n-0001dc20: 2020 2020 2020 2020 2020 2020 2020 5472 Tr\n-0001dc30: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n-0001dc40: 2e20 2020 286c 696e 6520 3231 290a 2a20 . (line 21).* \n-0001dc50: 7069 6374 7572 6562 6f78 3a20 2020 2020 picturebox: \n-0001dc60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dc70: 2020 2020 2020 2050 6963 7475 7265 2062 Picture b\n-0001dc80: 6f78 2e20 2020 2020 2020 2020 2028 6c69 ox. (li\n-0001dc90: 6e65 2020 3629 0a2a 2070 6f69 6e74 206c ne 6).* point l\n-0001dca0: 6973 743a 2020 2020 2020 2020 2020 2020 ist: \n+0001dbe0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n+0001dbf0: 7061 7265 6e63 792e 2020 2020 2020 2020 parency. \n+0001dc00: 2028 6c69 6e65 2031 3029 0a2a 2070 6572 (line 10).* per\n+0001dc10: 7370 6563 7469 7665 3a20 2020 2020 2020 spective: \n+0001dc20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001dc30: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n+0001dc40: 7465 7261 6c73 2e20 2020 286c 696e 6520 terals. (line \n+0001dc50: 3231 290a 2a20 7069 6374 7572 6562 6f78 21).* picturebox\n+0001dc60: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001dc70: 2020 2020 2020 2020 2020 2020 2050 6963 Pic\n+0001dc80: 7475 7265 2062 6f78 2e20 2020 2020 2020 ture box. \n+0001dc90: 2020 2028 6c69 6e65 2020 3629 0a2a 2070 (line 6).* p\n+0001dca0: 6f69 6e74 206c 6973 743a 2020 2020 2020 oint list: \n 0001dcb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dcc0: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options\n-0001dcd0: 2e20 2020 2020 286c 696e 6520 3234 290a . (line 24).\n-0001dce0: 2a20 706f 6c79 676f 6e3a 2020 2020 2020 * polygon: \n+0001dcc0: 2020 2020 2020 496e 7465 726e 616c 206f Internal o\n+0001dcd0: 7074 696f 6e73 2e20 2020 2020 286c 696e ptions. (lin\n+0001dce0: 6520 3234 290a 2a20 706f 6c79 676f 6e3a e 24).* polygon:\n 0001dcf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dd00: 2020 2020 2020 2020 2048 656c 6c6f 2077 Hello w\n-0001dd10: 6f72 6c64 2e20 2020 2020 2020 2020 2028 orld. (\n-0001dd20: 6c69 6e65 2033 3829 0a2a 2070 6f6c 7967 line 38).* polyg\n-0001dd30: 6f6e 203c 313e 3a20 2020 2020 2020 2020 on <1>: \n+0001dd00: 2020 2020 2020 2020 2020 2020 2020 2048 H\n+0001dd10: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. \n+0001dd20: 2020 2020 2028 6c69 6e65 2033 3829 0a2a (line 38).*\n+0001dd30: 2070 6f6c 7967 6f6e 203c 313e 3a20 2020 polygon <1>: \n 0001dd40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dd50: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli\n-0001dd60: 642e 2020 2020 2020 286c 696e 6520 2039 d. (line 9\n-0001dd70: 290a 2a20 706f 6c79 676f 6e20 3c32 3e3a ).* polygon <2>:\n-0001dd80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dd90: 2020 2020 2020 2020 2020 204f 626a 6563 Objec\n-0001dda0: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. \n-0001ddb0: 2028 6c69 6e65 2031 3029 0a2a 2070 6f6c (line 10).* pol\n-0001ddc0: 7967 6f6e 203c 333e 3a20 2020 2020 2020 ygon <3>: \n+0001dd50: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n+0001dd60: 6120 736f 6c69 642e 2020 2020 2020 286c a solid. (l\n+0001dd70: 696e 6520 2039 290a 2a20 706f 6c79 676f ine 9).* polygo\n+0001dd80: 6e20 3c32 3e3a 2020 2020 2020 2020 2020 n <2>: \n+0001dd90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001dda0: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n+0001ddb0: 6d73 2e20 2020 2028 6c69 6e65 2031 3029 ms. (line 10)\n+0001ddc0: 0a2a 2070 6f6c 7967 6f6e 203c 333e 3a20 .* polygon <3>: \n 0001ddd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dde0: 2020 2020 4166 6669 6e65 2061 7269 7468 Affine arith\n-0001ddf0: 6d65 7469 632e 2020 2020 286c 696e 6520 metic. (line \n-0001de00: 3131 290a 2a20 706f 6c79 676f 6e20 3c34 11).* polygon <4\n-0001de10: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001de20: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol\n-0001de30: 7967 6f6e 732e 2020 2020 2020 2020 2020 ygons. \n-0001de40: 2020 2028 6c69 6e65 2020 3629 0a2a 2070 (line 6).* p\n-0001de50: 6f6c 7967 6f6e 203c 353e 3a20 2020 2020 olygon <5>: \n-0001de60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001de70: 2020 2020 2020 5377 6570 7420 626c 6f63 Swept bloc\n-0001de80: 6b73 2e20 2020 2020 2020 2020 286c 696e ks. (lin\n-0001de90: 6520 2037 290a 2a20 706f 6c79 676f 6e20 e 7).* polygon \n-0001dea0: 3c36 3e3a 2020 2020 2020 2020 2020 2020 <6>: \n-0001deb0: 2020 2020 2020 2020 2020 2020 2020 204f O\n-0001dec0: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n-0001ded0: 2020 2020 2028 6c69 6e65 2033 3729 0a2a (line 37).*\n-0001dee0: 2070 726f 6a65 6374 3a20 2020 2020 2020 project: \n+0001dde0: 2020 2020 2020 2020 2020 4166 6669 6e65 Affine\n+0001ddf0: 2061 7269 7468 6d65 7469 632e 2020 2020 arithmetic. \n+0001de00: 286c 696e 6520 3131 290a 2a20 706f 6c79 (line 11).* poly\n+0001de10: 676f 6e20 3c34 3e3a 2020 2020 2020 2020 gon <4>: \n+0001de20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001de30: 2020 2050 6f6c 7967 6f6e 732e 2020 2020 Polygons. \n+0001de40: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+0001de50: 3629 0a2a 2070 6f6c 7967 6f6e 203c 353e 6).* polygon <5>\n+0001de60: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001de70: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n+0001de80: 7420 626c 6f63 6b73 2e20 2020 2020 2020 t blocks. \n+0001de90: 2020 286c 696e 6520 2037 290a 2a20 706f (line 7).* po\n+0001dea0: 6c79 676f 6e20 3c36 3e3a 2020 2020 2020 lygon <6>: \n+0001deb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001dec0: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n+0001ded0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001dee0: 2033 3729 0a2a 2070 726f 6a65 6374 3a20 37).* project: \n 0001def0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001df00: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor\n-0001df10: 6d20 6c69 7465 7261 6c73 2e20 2020 286c m literals. (l\n-0001df20: 696e 6520 3138 290a 2a20 7072 6f6a 6563 ine 18).* projec\n-0001df30: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: \n+0001df00: 2020 2020 2020 2020 2020 2020 2020 5472 Tr\n+0001df10: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n+0001df20: 2e20 2020 286c 696e 6520 3138 290a 2a20 . (line 18).* \n+0001df30: 7072 6f6a 6563 7420 3c31 3e3a 2020 2020 project <1>: \n 0001df40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001df50: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-0001df60: 616c 732e 2020 2028 6c69 6e65 2031 3929 als. (line 19)\n-0001df70: 0a2a 2070 726f 6a65 6374 203c 323e 3a20 .* project <2>: \n-0001df80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001df90: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n-0001dfa0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2020 orm literals. \n-0001dfb0: 286c 696e 6520 3437 290a 2a20 7073 7472 (line 47).* pstr\n-0001dfc0: 6963 6b73 3a20 2020 2020 2020 2020 2020 icks: \n+0001df50: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n+0001df60: 206c 6974 6572 616c 732e 2020 2028 6c69 literals. (li\n+0001df70: 6e65 2031 3929 0a2a 2070 726f 6a65 6374 ne 19).* project\n+0001df80: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+0001df90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001dfa0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n+0001dfb0: 6c73 2e20 2020 286c 696e 6520 3437 290a ls. (line 47).\n+0001dfc0: 2a20 7073 7472 6963 6b73 3a20 2020 2020 * pstricks: \n 0001dfd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001dfe0: 2020 204c 616e 6775 6167 652e 2020 2020 Language. \n-0001dff0: 2020 2020 2020 2020 2028 6c69 6e65 2031 (line 1\n-0001e000: 3029 0a2a 2070 7574 3a20 2020 2020 2020 0).* put: \n+0001dfe0: 2020 2020 2020 2020 204c 616e 6775 6167 Languag\n+0001dff0: 652e 2020 2020 2020 2020 2020 2020 2028 e. (\n+0001e000: 6c69 6e65 2031 3029 0a2a 2070 7574 3a20 line 10).* put: \n 0001e010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e020: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje\n-0001e030: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. \n-0001e040: 2020 286c 696e 6520 3130 290a 2a20 7075 (line 10).* pu\n-0001e050: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: \n+0001e020: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e030: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n+0001e040: 726d 732e 2020 2020 286c 696e 6520 3130 rms. (line 10\n+0001e050: 290a 2a20 7075 7420 3c31 3e3a 2020 2020 ).* put <1>: \n 0001e060: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e070: 2020 2020 204e 6573 7465 6420 7377 6565 Nested swee\n-0001e080: 7073 2e20 2020 2020 2020 2028 6c69 6e65 ps. (line\n-0001e090: 2032 3529 0a2a 2070 7574 203c 323e 3a20 25).* put <2>: \n-0001e0a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e0b0: 2020 2020 2020 2020 2020 2020 2020 5075 Pu\n-0001e0c0: 7473 2e20 2020 2020 2020 2020 2020 2020 ts. \n-0001e0d0: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n-0001e0e0: 7075 7420 3c33 3e3a 2020 2020 2020 2020 put <3>: \n+0001e070: 2020 2020 2020 2020 2020 204e 6573 7465 Neste\n+0001e080: 6420 7377 6565 7073 2e20 2020 2020 2020 d sweeps. \n+0001e090: 2028 6c69 6e65 2032 3529 0a2a 2070 7574 (line 25).* put\n+0001e0a0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+0001e0b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e0c0: 2020 2020 5075 7473 2e20 2020 2020 2020 Puts. \n+0001e0d0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+0001e0e0: 2036 290a 2a20 7075 7420 3c33 3e3a 2020 6).* put <3>: \n 0001e0f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e100: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc\n-0001e110: 6869 6361 6c20 6d6f 6465 6c2e 2028 6c69 hical model. (li\n-0001e120: 6e65 2033 3229 0a2a 2072 6570 6561 743a ne 32).* repeat:\n-0001e130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e100: 2020 2020 2020 2020 2020 2020 2041 2068 A h\n+0001e110: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n+0001e120: 6c2e 2028 6c69 6e65 2033 3229 0a2a 2072 l. (line 32).* r\n+0001e130: 6570 6561 743a 2020 2020 2020 2020 2020 epeat: \n 0001e140: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e150: 5265 7065 6174 6564 206f 626a 6563 7473 Repeated objects\n-0001e160: 2e20 2020 2020 286c 696e 6520 2038 290a . (line 8).\n-0001e170: 2a20 7265 7065 6174 203c 313e 3a20 2020 * repeat <1>: \n-0001e180: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e190: 2020 2020 2020 2020 204e 6573 7465 6420 Nested \n-0001e1a0: 7377 6565 7073 2e20 2020 2020 2020 2028 sweeps. (\n-0001e1b0: 6c69 6e65 2032 3529 0a2a 2072 6570 6561 line 25).* repea\n-0001e1c0: 7420 3c32 3e3a 2020 2020 2020 2020 2020 t <2>: \n+0001e150: 2020 2020 2020 5265 7065 6174 6564 206f Repeated o\n+0001e160: 626a 6563 7473 2e20 2020 2020 286c 696e bjects. (lin\n+0001e170: 6520 2038 290a 2a20 7265 7065 6174 203c e 8).* repeat <\n+0001e180: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+0001e190: 2020 2020 2020 2020 2020 2020 2020 204e N\n+0001e1a0: 6573 7465 6420 7377 6565 7073 2e20 2020 ested sweeps. \n+0001e1b0: 2020 2020 2028 6c69 6e65 2032 3529 0a2a (line 25).*\n+0001e1c0: 2072 6570 6561 7420 3c32 3e3a 2020 2020 repeat <2>: \n 0001e1d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e1e0: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n-0001e1f0: 7320 7769 7468 2063 6c6f 7375 7265 2e0a s with closure..\n-0001e200: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e1e0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n+0001e1f0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n+0001e200: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. \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 2028 (\n-0001e240: 6c69 6e65 2031 3029 0a2a 2072 6570 6561 line 10).* repea\n-0001e250: 7420 3c33 3e3a 2020 2020 2020 2020 2020 t <3>: \n+0001e230: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e240: 2020 2020 2028 6c69 6e65 2031 3029 0a2a (line 10).*\n+0001e250: 2072 6570 6561 7420 3c33 3e3a 2020 2020 repeat <3>: \n 0001e260: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e270: 2020 5265 7065 6174 732e 2020 2020 2020 Repeats. \n-0001e280: 2020 2020 2020 2020 286c 696e 6520 2036 (line 6\n-0001e290: 290a 2a20 7265 7065 6174 203c 343e 3a20 ).* repeat <4>: \n-0001e2a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e2b0: 2020 2020 2020 2020 2020 204f 7665 7276 Overv\n-0001e2c0: 6965 772e 2020 2020 2020 2020 2020 2020 iew. \n-0001e2d0: 2028 6c69 6e65 2035 3729 0a2a 2072 6f74 (line 57).* rot\n-0001e2e0: 6174 653a 2020 2020 2020 2020 2020 2020 ate: \n+0001e270: 2020 2020 2020 2020 5265 7065 6174 732e Repeats.\n+0001e280: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0001e290: 696e 6520 2036 290a 2a20 7265 7065 6174 ine 6).* repeat\n+0001e2a0: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n+0001e2b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e2c0: 204f 7665 7276 6965 772e 2020 2020 2020 Overview. \n+0001e2d0: 2020 2020 2020 2028 6c69 6e65 2035 3729 (line 57)\n+0001e2e0: 0a2a 2072 6f74 6174 653a 2020 2020 2020 .* rotate: \n 0001e2f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e300: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n-0001e310: 666f 726d 732e 2020 2020 286c 696e 6520 forms. (line \n-0001e320: 3130 290a 2a20 726f 7461 7465 203c 313e 10).* rotate <1>\n-0001e330: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001e340: 2020 2020 2020 2020 2020 2020 204f 626a Obj\n-0001e350: 6563 7420 7472 616e 7366 6f72 6d73 2e20 ect transforms. \n-0001e360: 2020 2028 6c69 6e65 2033 3929 0a2a 2072 (line 39).* r\n-0001e370: 6f74 6174 6520 3c32 3e3a 2020 2020 2020 otate <2>: \n+0001e300: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object\n+0001e310: 2074 7261 6e73 666f 726d 732e 2020 2020 transforms. \n+0001e320: 286c 696e 6520 3130 290a 2a20 726f 7461 (line 10).* rota\n+0001e330: 7465 203c 313e 3a20 2020 2020 2020 2020 te <1>: \n+0001e340: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e350: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n+0001e360: 6f72 6d73 2e20 2020 2028 6c69 6e65 2033 orms. (line 3\n+0001e370: 3929 0a2a 2072 6f74 6174 6520 3c32 3e3a 9).* rotate <2>:\n 0001e380: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e390: 2020 2020 2020 5265 7065 6174 6564 206f Repeated o\n-0001e3a0: 626a 6563 7473 2e20 2020 2020 286c 696e bjects. (lin\n-0001e3b0: 6520 2038 290a 2a20 726f 7461 7465 203c e 8).* rotate <\n-0001e3c0: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: \n-0001e3d0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-0001e3e0: 7765 7074 206f 626a 6563 7473 2e20 2020 wept objects. \n-0001e3f0: 2020 2020 2028 6c69 6e65 2020 3829 0a2a (line 8).*\n-0001e400: 2072 6f74 6174 6520 3c34 3e3a 2020 2020 rotate <4>: \n-0001e410: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e420: 2020 2020 2020 2020 506f 696e 7420 7377 Point sw\n-0001e430: 6565 7073 2e20 2020 2020 2020 2020 286c eeps. (l\n-0001e440: 696e 6520 3139 290a 2a20 726f 7461 7465 ine 19).* rotate\n-0001e450: 203c 353e 3a20 2020 2020 2020 2020 2020 <5>: \n+0001e390: 2020 2020 2020 2020 2020 2020 5265 7065 Repe\n+0001e3a0: 6174 6564 206f 626a 6563 7473 2e20 2020 ated objects. \n+0001e3b0: 2020 286c 696e 6520 2038 290a 2a20 726f (line 8).* ro\n+0001e3c0: 7461 7465 203c 333e 3a20 2020 2020 2020 tate <3>: \n+0001e3d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e3e0: 2020 2020 2053 7765 7074 206f 626a 6563 Swept objec\n+0001e3f0: 7473 2e20 2020 2020 2020 2028 6c69 6e65 ts. (line\n+0001e400: 2020 3829 0a2a 2072 6f74 6174 6520 3c34 8).* rotate <4\n+0001e410: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001e420: 2020 2020 2020 2020 2020 2020 2020 506f Po\n+0001e430: 696e 7420 7377 6565 7073 2e20 2020 2020 int sweeps. \n+0001e440: 2020 2020 286c 696e 6520 3139 290a 2a20 (line 19).* \n+0001e450: 726f 7461 7465 203c 353e 3a20 2020 2020 rotate <5>: \n 0001e460: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e470: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-0001e480: 2e20 2020 2020 2028 6c69 6e65 2020 3929 . (line 9)\n-0001e490: 0a2a 2072 6f74 6174 6520 3c36 3e3a 2020 .* rotate <6>: \n-0001e4a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e4b0: 2020 2020 2020 2020 2020 4e65 7374 6564 Nested\n-0001e4c0: 2073 7765 6570 732e 2020 2020 2020 2020 sweeps. \n-0001e4d0: 286c 696e 6520 2038 290a 2a20 726f 7461 (line 8).* rota\n-0001e4e0: 7465 203c 373e 3a20 2020 2020 2020 2020 te <7>: \n+0001e470: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n+0001e480: 7377 6565 7073 2e20 2020 2020 2028 6c69 sweeps. (li\n+0001e490: 6e65 2020 3929 0a2a 2072 6f74 6174 6520 ne 9).* rotate \n+0001e4a0: 3c36 3e3a 2020 2020 2020 2020 2020 2020 <6>: \n+0001e4b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e4c0: 4e65 7374 6564 2073 7765 6570 732e 2020 Nested sweeps. \n+0001e4d0: 2020 2020 2020 286c 696e 6520 2038 290a (line 8).\n+0001e4e0: 2a20 726f 7461 7465 203c 373e 3a20 2020 * rotate <7>: \n 0001e4f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e500: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee\n-0001e510: 7073 2077 6974 6820 636c 6f73 7572 652e ps with closure.\n-0001e520: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0001e500: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin\n+0001e510: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl\n+0001e520: 6f73 7572 652e 0a20 2020 2020 2020 2020 osure.. \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: 286c 696e 6520 3130 290a 2a20 726f 7461 (line 10).* rota\n-0001e570: 7465 203c 383e 3a20 2020 2020 2020 2020 te <8>: \n+0001e560: 2020 2020 2020 286c 696e 6520 3130 290a (line 10).\n+0001e570: 2a20 726f 7461 7465 203c 383e 3a20 2020 * rotate <8>: \n 0001e580: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e590: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n-0001e5a0: 6572 616c 732e 2020 2028 6c69 6e65 2031 erals. (line 1\n-0001e5b0: 3029 0a2a 2072 6f74 6174 6520 3c39 3e3a 0).* rotate <9>:\n-0001e5c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e5d0: 2020 2020 2020 2020 2020 2020 4f76 6572 Over\n-0001e5e0: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n-0001e5f0: 2020 286c 696e 6520 3537 290a 2a20 726f (line 57).* ro\n-0001e600: 7461 7465 203c 3130 3e3a 2020 2020 2020 tate <10>: \n+0001e590: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo\n+0001e5a0: 726d 206c 6974 6572 616c 732e 2020 2028 rm literals. (\n+0001e5b0: 6c69 6e65 2031 3029 0a2a 2072 6f74 6174 line 10).* rotat\n+0001e5c0: 6520 3c39 3e3a 2020 2020 2020 2020 2020 e <9>: \n+0001e5d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e5e0: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n+0001e5f0: 2020 2020 2020 2020 286c 696e 6520 3537 (line 57\n+0001e600: 290a 2a20 726f 7461 7465 203c 3130 3e3a ).* rotate <10>:\n 0001e610: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e620: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n-0001e630: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-0001e640: 2036 3929 0a2a 2072 6f74 6174 6520 3c31 69).* rotate <1\n-0001e650: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0001e660: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-0001e670: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n-0001e680: 672e 2020 286c 696e 6520 3134 290a 2a20 g. (line 14).* \n-0001e690: 726f 7461 7465 203c 3132 3e3a 2020 2020 rotate <12>: \n-0001e6a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e6b0: 2020 2020 2020 2041 2068 6965 7261 7263 A hierarc\n-0001e6c0: 6869 6361 6c20 6d6f 6465 6c2e 2028 6c69 hical model. (li\n-0001e6d0: 6e65 2031 3029 0a2a 2072 6f74 6174 6520 ne 10).* rotate \n-0001e6e0: 3c31 333e 3a20 2020 2020 2020 2020 2020 <13>: \n+0001e620: 2020 2020 2020 2020 2020 204f 7665 7276 Overv\n+0001e630: 6965 772e 2020 2020 2020 2020 2020 2020 iew. \n+0001e640: 2028 6c69 6e65 2036 3929 0a2a 2072 6f74 (line 69).* rot\n+0001e650: 6174 6520 3c31 313e 3a20 2020 2020 2020 ate <11>: \n+0001e660: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e670: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n+0001e680: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n+0001e690: 3134 290a 2a20 726f 7461 7465 203c 3132 14).* rotate <12\n+0001e6a0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001e6b0: 2020 2020 2020 2020 2020 2020 2041 2068 A h\n+0001e6c0: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n+0001e6d0: 6c2e 2028 6c69 6e65 2031 3029 0a2a 2072 l. (line 10).* r\n+0001e6e0: 6f74 6174 6520 3c31 333e 3a20 2020 2020 otate <13>: \n 0001e6f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e700: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m\n-0001e710: 6f64 656c 2e20 286c 696e 6520 3233 290a odel. (line 23).\n-0001e720: 2a20 726f 7461 7465 203c 3134 3e3a 2020 * rotate <14>: \n-0001e730: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e740: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n-0001e750: 7263 6869 6361 6c20 6d6f 6465 6c2e 2028 rchical model. (\n-0001e760: 6c69 6e65 2033 3229 0a2a 2073 6361 6c65 line 32).* scale\n-0001e770: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001e700: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch\n+0001e710: 6963 616c 206d 6f64 656c 2e20 286c 696e ical model. (lin\n+0001e720: 6520 3233 290a 2a20 726f 7461 7465 203c e 23).* rotate <\n+0001e730: 3134 3e3a 2020 2020 2020 2020 2020 2020 14>: \n+0001e740: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0001e750: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n+0001e760: 6465 6c2e 2028 6c69 6e65 2033 3229 0a2a del. (line 32).*\n+0001e770: 2073 6361 6c65 3a20 2020 2020 2020 2020 scale: \n 0001e780: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e790: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n-0001e7a0: 7261 6c73 2e20 2020 286c 696e 6520 3136 rals. (line 16\n-0001e7b0: 290a 2a20 7363 616c 6520 3c31 3e3a 2020 ).* scale <1>: \n-0001e7c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e7d0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n-0001e7e0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n-0001e7f0: 2028 6c69 6e65 2031 3729 0a2a 2073 6361 (line 17).* sca\n-0001e800: 6c65 203c 323e 3a20 2020 2020 2020 2020 le <2>: \n+0001e790: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor\n+0001e7a0: 6d20 6c69 7465 7261 6c73 2e20 2020 286c m literals. (l\n+0001e7b0: 696e 6520 3136 290a 2a20 7363 616c 6520 ine 16).* scale \n+0001e7c0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+0001e7d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e7e0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n+0001e7f0: 616c 732e 2020 2028 6c69 6e65 2031 3729 als. (line 17)\n+0001e800: 0a2a 2073 6361 6c65 203c 323e 3a20 2020 .* scale <2>: \n 0001e810: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e820: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n-0001e830: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n-0001e840: 3431 290a 2a20 7363 616c 6520 3c33 3e3a 41).* scale <3>:\n-0001e850: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e860: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n-0001e870: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n-0001e880: 2e20 2028 6c69 6e65 2036 3829 0a2a 2073 . (line 68).* s\n-0001e890: 6361 6c65 203c 343e 3a20 2020 2020 2020 cale <4>: \n+0001e820: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n+0001e830: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. \n+0001e840: 286c 696e 6520 3431 290a 2a20 7363 616c (line 41).* scal\n+0001e850: 6520 3c33 3e3a 2020 2020 2020 2020 2020 e <3>: \n+0001e860: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e870: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n+0001e880: 7261 7769 6e67 2e20 2028 6c69 6e65 2036 rawing. (line 6\n+0001e890: 3829 0a2a 2073 6361 6c65 203c 343e 3a20 8).* scale <4>: \n 0001e8a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e8b0: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch\n-0001e8c0: 6963 616c 206d 6f64 656c 2e20 286c 696e ical model. (lin\n-0001e8d0: 6520 3332 290a 2a20 7365 743a 2020 2020 e 32).* set: \n-0001e8e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e8f0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n-0001e900: 6c6f 6261 6c20 6f70 7469 6f6e 732e 2020 lobal options. \n-0001e910: 2020 2020 2028 6c69 6e65 2020 3629 0a2a (line 6).*\n-0001e920: 2073 696e 3a20 2020 2020 2020 2020 2020 sin: \n+0001e8b0: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n+0001e8c0: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n+0001e8d0: 2e20 286c 696e 6520 3332 290a 2a20 7365 . (line 32).* se\n+0001e8e0: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+0001e8f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e900: 2020 2020 2047 6c6f 6261 6c20 6f70 7469 Global opti\n+0001e910: 6f6e 732e 2020 2020 2020 2028 6c69 6e65 ons. (line\n+0001e920: 2020 3629 0a2a 2073 696e 3a20 2020 2020 6).* sin: \n 0001e930: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e940: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo\n-0001e950: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l\n-0001e960: 696e 6520 3135 290a 2a20 7370 6563 6961 ine 15).* specia\n-0001e970: 6c3a 2020 2020 2020 2020 2020 2020 2020 l: \n+0001e940: 2020 2020 2020 2020 2020 2020 2020 556e Un\n+0001e950: 6172 7920 666f 726d 732e 2020 2020 2020 ary forms. \n+0001e960: 2020 2020 286c 696e 6520 3135 290a 2a20 (line 15).* \n+0001e970: 7370 6563 6961 6c3a 2020 2020 2020 2020 special: \n 0001e980: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e990: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects\n-0001e9a0: 2e20 2020 2020 2028 6c69 6e65 2020 3629 . (line 6)\n-0001e9b0: 0a2a 2073 7065 6369 616c 203c 313e 3a20 .* special <1>: \n-0001e9c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001e9d0: 2020 2020 2020 2020 2020 5370 6563 6961 Specia\n-0001e9e0: 6c73 2e20 2020 2020 2020 2020 2020 2020 ls. \n-0001e9f0: 286c 696e 6520 2036 290a 2a20 7370 6563 (line 6).* spec\n-0001ea00: 6961 6c20 3c32 3e3a 2020 2020 2020 2020 ial <2>: \n+0001e990: 2020 2020 2020 2053 7065 6369 616c 206f Special o\n+0001e9a0: 626a 6563 7473 2e20 2020 2020 2028 6c69 bjects. (li\n+0001e9b0: 6e65 2020 3629 0a2a 2073 7065 6369 616c ne 6).* special\n+0001e9c0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+0001e9d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001e9e0: 5370 6563 6961 6c73 2e20 2020 2020 2020 Specials. \n+0001e9f0: 2020 2020 2020 286c 696e 6520 2036 290a (line 6).\n+0001ea00: 2a20 7370 6563 6961 6c20 3c32 3e3a 2020 * special <2>: \n 0001ea10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ea20: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n-0001ea30: 2020 2020 2020 2020 2028 6c69 6e65 2036 (line 6\n-0001ea40: 3929 0a2a 2073 7065 6369 616c 203c 333e 9).* special <3>\n-0001ea50: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001ea60: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n-0001ea70: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n-0001ea80: 2020 286c 696e 6520 3236 290a 2a20 7370 (line 26).* sp\n-0001ea90: 6563 6961 6c20 3c34 3e3a 2020 2020 2020 ecial <4>: \n+0001ea20: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n+0001ea30: 772e 2020 2020 2020 2020 2020 2020 2028 w. (\n+0001ea40: 6c69 6e65 2036 3929 0a2a 2073 7065 6369 line 69).* speci\n+0001ea50: 616c 203c 333e 3a20 2020 2020 2020 2020 al <3>: \n+0001ea60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ea70: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr\n+0001ea80: 6177 696e 672e 2020 286c 696e 6520 3236 awing. (line 26\n+0001ea90: 290a 2a20 7370 6563 6961 6c20 3c34 3e3a ).* special <4>:\n 0001eaa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eab0: 2020 2020 2041 2074 6563 686e 6963 616c A technical\n-0001eac0: 2064 7261 7769 6e67 2e20 2028 6c69 6e65 drawing. (line\n-0001ead0: 2034 3129 0a2a 2073 7065 6369 616c 203c 41).* special <\n-0001eae0: 353e 3a20 2020 2020 2020 2020 2020 2020 5>: \n-0001eaf0: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-0001eb00: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n-0001eb10: 672e 2020 286c 696e 6520 3638 290a 2a20 g. (line 68).* \n-0001eb20: 7370 6563 6961 6c20 3c36 3e3a 2020 2020 special <6>: \n-0001eb30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eb40: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n-0001eb50: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li\n-0001eb60: 6e65 2039 3529 0a2a 2073 706c 6974 3a20 ne 95).* split: \n-0001eb70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001eab0: 2020 2020 2020 2020 2020 2041 2074 6563 A tec\n+0001eac0: 686e 6963 616c 2064 7261 7769 6e67 2e20 hnical drawing. \n+0001ead0: 2028 6c69 6e65 2034 3129 0a2a 2073 7065 (line 41).* spe\n+0001eae0: 6369 616c 203c 353e 3a20 2020 2020 2020 cial <5>: \n+0001eaf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001eb00: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n+0001eb10: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n+0001eb20: 3638 290a 2a20 7370 6563 6961 6c20 3c36 68).* special <6\n+0001eb30: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001eb40: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n+0001eb50: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n+0001eb60: 2e20 2028 6c69 6e65 2039 3529 0a2a 2073 . (line 95).* s\n+0001eb70: 706c 6974 3a20 2020 2020 2020 2020 2020 plit: \n 0001eb80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eb90: 496e 7465 726e 616c 206f 7074 696f 6e73 Internal options\n-0001eba0: 2e20 2020 2020 286c 696e 6520 2037 290a . (line 7).\n-0001ebb0: 2a20 7370 6c69 7420 3c31 3e3a 2020 2020 * split <1>: \n-0001ebc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ebd0: 2020 2020 2020 2020 2047 6c6f 6261 6c20 Global \n-0001ebe0: 6f70 7469 6f6e 732e 2020 2020 2020 2028 options. (\n-0001ebf0: 6c69 6e65 2031 3329 0a2a 2073 7172 743a line 13).* sqrt:\n-0001ec00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001eb90: 2020 2020 2020 496e 7465 726e 616c 206f Internal o\n+0001eba0: 7074 696f 6e73 2e20 2020 2020 286c 696e ptions. (lin\n+0001ebb0: 6520 2037 290a 2a20 7370 6c69 7420 3c31 e 7).* split <1\n+0001ebc0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001ebd0: 2020 2020 2020 2020 2020 2020 2020 2047 G\n+0001ebe0: 6c6f 6261 6c20 6f70 7469 6f6e 732e 2020 lobal options. \n+0001ebf0: 2020 2020 2028 6c69 6e65 2031 3329 0a2a (line 13).*\n+0001ec00: 2073 7172 743a 2020 2020 2020 2020 2020 sqrt: \n 0001ec10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ec20: 2020 556e 6172 7920 666f 726d 732e 2020 Unary forms. \n-0001ec30: 2020 2020 2020 2020 286c 696e 6520 3134 (line 14\n-0001ec40: 290a 2a20 7377 6565 703a 2020 2020 2020 ).* sweep: \n+0001ec20: 2020 2020 2020 2020 556e 6172 7920 666f Unary fo\n+0001ec30: 726d 732e 2020 2020 2020 2020 2020 286c rms. (l\n+0001ec40: 696e 6520 3134 290a 2a20 7377 6565 703a ine 14).* sweep:\n 0001ec50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ec60: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-0001ec70: 206f 626a 6563 7473 2e20 2020 2020 2020 objects. \n-0001ec80: 2028 6c69 6e65 2020 3829 0a2a 2073 7765 (line 8).* swe\n-0001ec90: 6570 203c 313e 3a20 2020 2020 2020 2020 ep <1>: \n+0001ec60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ec70: 2053 7765 7074 206f 626a 6563 7473 2e20 Swept objects. \n+0001ec80: 2020 2020 2020 2028 6c69 6e65 2020 3829 (line 8)\n+0001ec90: 0a2a 2073 7765 6570 203c 313e 3a20 2020 .* sweep <1>: \n 0001eca0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ecb0: 2020 2020 506f 696e 7420 7377 6565 7073 Point sweeps\n-0001ecc0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n-0001ecd0: 3139 290a 2a20 7377 6565 7020 3c32 3e3a 19).* sweep <2>:\n-0001ece0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ecf0: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol\n-0001ed00: 796c 696e 6520 7377 6565 7073 2e20 2020 yline sweeps. \n-0001ed10: 2020 2028 6c69 6e65 2020 3929 0a2a 2073 (line 9).* s\n-0001ed20: 7765 6570 203c 333e 3a20 2020 2020 2020 weep <3>: \n+0001ecb0: 2020 2020 2020 2020 2020 506f 696e 7420 Point \n+0001ecc0: 7377 6565 7073 2e20 2020 2020 2020 2020 sweeps. \n+0001ecd0: 286c 696e 6520 3139 290a 2a20 7377 6565 (line 19).* swee\n+0001ece0: 7020 3c32 3e3a 2020 2020 2020 2020 2020 p <2>: \n+0001ecf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ed00: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee\n+0001ed10: 7073 2e20 2020 2020 2028 6c69 6e65 2020 ps. (line \n+0001ed20: 3929 0a2a 2073 7765 6570 203c 333e 3a20 9).* sweep <3>: \n 0001ed30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ed40: 2020 2020 2020 4e65 7374 6564 2073 7765 Nested swe\n-0001ed50: 6570 732e 2020 2020 2020 2020 286c 696e eps. (lin\n-0001ed60: 6520 2038 290a 2a20 7377 6565 7020 3c34 e 8).* sweep <4\n-0001ed70: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-0001ed80: 2020 2020 2020 2020 2020 2020 2020 204e N\n-0001ed90: 6573 7465 6420 7377 6565 7073 2e20 2020 ested sweeps. \n-0001eda0: 2020 2020 2028 6c69 6e65 2032 3229 0a2a (line 22).*\n-0001edb0: 2073 7765 6570 203c 353e 3a20 2020 2020 sweep <5>: \n-0001edc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001edd0: 2020 2020 2020 2020 506f 6c79 6c69 6e65 Polyline\n-0001ede0: 2073 7765 6570 7320 7769 7468 2063 6c6f sweeps with clo\n-0001edf0: 7375 7265 2e0a 2020 2020 2020 2020 2020 sure.. \n+0001ed40: 2020 2020 2020 2020 2020 2020 4e65 7374 Nest\n+0001ed50: 6564 2073 7765 6570 732e 2020 2020 2020 ed sweeps. \n+0001ed60: 2020 286c 696e 6520 2038 290a 2a20 7377 (line 8).* sw\n+0001ed70: 6565 7020 3c34 3e3a 2020 2020 2020 2020 eep <4>: \n+0001ed80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ed90: 2020 2020 204e 6573 7465 6420 7377 6565 Nested swee\n+0001eda0: 7073 2e20 2020 2020 2020 2028 6c69 6e65 ps. (line\n+0001edb0: 2032 3229 0a2a 2073 7765 6570 203c 353e 22).* sweep <5>\n+0001edc0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001edd0: 2020 2020 2020 2020 2020 2020 2020 506f Po\n+0001ede0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi\n+0001edf0: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th 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 2028 6c69 6e65 2031 3029 0a2a (line 10).*\n-0001ee40: 2073 7765 6570 203c 363e 3a20 2020 2020 sweep <6>: \n-0001ee50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ee60: 2020 2020 2020 2020 5377 6565 7073 2e20 Sweeps. \n-0001ee70: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0001ee80: 696e 6520 2036 290a 2a20 7377 6565 7020 ine 6).* sweep \n-0001ee90: 3c37 3e3a 2020 2020 2020 2020 2020 2020 <7>: \n+0001ee30: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001ee40: 2031 3029 0a2a 2073 7765 6570 203c 363e 10).* sweep <6>\n+0001ee50: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001ee60: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n+0001ee70: 6565 7073 2e20 2020 2020 2020 2020 2020 eeps. \n+0001ee80: 2020 2020 286c 696e 6520 2036 290a 2a20 (line 6).* \n+0001ee90: 7377 6565 7020 3c37 3e3a 2020 2020 2020 sweep <7>: \n 0001eea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eeb0: 2041 2074 6563 686e 6963 616c 2064 7261 A technical dra\n-0001eec0: 7769 6e67 2e20 2028 6c69 6e65 2032 3029 wing. (line 20)\n-0001eed0: 0a2a 2073 7765 6570 203c 383e 3a20 2020 .* sweep <8>: \n-0001eee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001eef0: 2020 2020 2020 2020 2020 4120 6869 6572 A hier\n-0001ef00: 6172 6368 6963 616c 206d 6f64 656c 2e20 archical model. \n-0001ef10: 286c 696e 6520 3130 290a 2a20 7377 6565 (line 10).* swee\n-0001ef20: 7020 3c39 3e3a 2020 2020 2020 2020 2020 p <9>: \n+0001eeb0: 2020 2020 2020 2041 2074 6563 686e 6963 A technic\n+0001eec0: 616c 2064 7261 7769 6e67 2e20 2028 6c69 al drawing. (li\n+0001eed0: 6e65 2032 3029 0a2a 2073 7765 6570 203c ne 20).* sweep <\n+0001eee0: 383e 3a20 2020 2020 2020 2020 2020 2020 8>: \n+0001eef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ef00: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m\n+0001ef10: 6f64 656c 2e20 286c 696e 6520 3130 290a odel. (line 10).\n+0001ef20: 2a20 7377 6565 7020 3c39 3e3a 2020 2020 * sweep <9>: \n 0001ef30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ef40: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica\n-0001ef50: 6c20 6d6f 6465 6c2e 2028 6c69 6e65 2032 l model. (line 2\n-0001ef60: 3329 0a2a 2074 6865 6e3a 2020 2020 2020 3).* then: \n+0001ef40: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n+0001ef50: 7263 6869 6361 6c20 6d6f 6465 6c2e 2028 rchical model. (\n+0001ef60: 6c69 6e65 2032 3329 0a2a 2074 6865 6e3a line 23).* then:\n 0001ef70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ef80: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje\n-0001ef90: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. \n-0001efa0: 2020 286c 696e 6520 3130 290a 2a20 7468 (line 10).* th\n-0001efb0: 656e 203c 313e 3a20 2020 2020 2020 2020 en <1>: \n+0001ef80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ef90: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n+0001efa0: 726d 732e 2020 2020 286c 696e 6520 3130 rms. (line 10\n+0001efb0: 290a 2a20 7468 656e 203c 313e 3a20 2020 ).* then <1>: \n 0001efc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001efd0: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw\n-0001efe0: 6565 7073 2077 6974 6820 636c 6f73 7572 eeps with closur\n-0001eff0: 652e 0a20 2020 2020 2020 2020 2020 2020 e.. \n+0001efd0: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl\n+0001efe0: 696e 6520 7377 6565 7073 2077 6974 6820 ine sweeps with \n+0001eff0: 636c 6f73 7572 652e 0a20 2020 2020 2020 closure.. \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 286c 696e 6520 3130 290a 2a20 7468 (line 10).* th\n-0001f040: 656e 203c 323e 3a20 2020 2020 2020 2020 en <2>: \n+0001f030: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10\n+0001f040: 290a 2a20 7468 656e 203c 323e 3a20 2020 ).* then <2>: \n 0001f050: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f060: 2020 2020 2054 776f 2d6f 7065 7261 6e64 Two-operand\n-0001f070: 2028 6269 6e61 7279 2920 666f 726d 732e (binary) forms.\n-0001f080: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+0001f060: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o\n+0001f070: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n+0001f080: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. \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: 286c 696e 6520 3336 290a 2a20 7468 656e (line 36).* then\n-0001f0d0: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: \n+0001f0c0: 2020 2020 2020 286c 696e 6520 3336 290a (line 36).\n+0001f0d0: 2a20 7468 656e 203c 333e 3a20 2020 2020 * then <3>: \n 0001f0e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f0f0: 2020 2054 776f 2d6f 7065 7261 6e64 2028 Two-operand (\n-0001f100: 6269 6e61 7279 2920 666f 726d 732e 0a20 binary) forms.. \n-0001f110: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f0f0: 2020 2020 2020 2020 2054 776f 2d6f 7065 Two-ope\n+0001f100: 7261 6e64 2028 6269 6e61 7279 2920 666f rand (binary) fo\n+0001f110: 726d 732e 0a20 2020 2020 2020 2020 2020 rms.. \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 286c (l\n-0001f150: 696e 6520 3633 290a 2a20 7469 6b7a 3a20 ine 63).* tikz: \n-0001f160: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f140: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f150: 2020 2020 286c 696e 6520 3633 290a 2a20 (line 63).* \n+0001f160: 7469 6b7a 3a20 2020 2020 2020 2020 2020 tikz: \n 0001f170: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f180: 204c 616e 6775 6167 652e 2020 2020 2020 Language. \n-0001f190: 2020 2020 2020 2028 6c69 6e65 2031 3029 (line 10)\n-0001f1a0: 0a2a 2074 7261 6e73 6c61 7465 3a20 2020 .* translate: \n-0001f1b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f1c0: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object\n-0001f1d0: 2074 7261 6e73 666f 726d 732e 2020 2020 transforms. \n-0001f1e0: 286c 696e 6520 3130 290a 2a20 7472 616e (line 10).* tran\n-0001f1f0: 736c 6174 6520 3c31 3e3a 2020 2020 2020 slate <1>: \n+0001f180: 2020 2020 2020 204c 616e 6775 6167 652e Language.\n+0001f190: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+0001f1a0: 6e65 2031 3029 0a2a 2074 7261 6e73 6c61 ne 10).* transla\n+0001f1b0: 7465 3a20 2020 2020 2020 2020 2020 2020 te: \n+0001f1c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f1d0: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform\n+0001f1e0: 732e 2020 2020 286c 696e 6520 3130 290a s. (line 10).\n+0001f1f0: 2a20 7472 616e 736c 6174 6520 3c31 3e3a * translate <1>:\n 0001f200: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f210: 2020 204f 626a 6563 7420 7472 616e 7366 Object transf\n-0001f220: 6f72 6d73 2e20 2020 2028 6c69 6e65 2034 orms. (line 4\n-0001f230: 3729 0a2a 2074 7261 6e73 6c61 7465 203c 7).* translate <\n-0001f240: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n-0001f250: 2020 2020 2020 2020 2020 2020 5265 7065 Repe\n-0001f260: 6174 6564 206f 626a 6563 7473 2e20 2020 ated objects. \n-0001f270: 2020 286c 696e 6520 2038 290a 2a20 7472 (line 8).* tr\n-0001f280: 616e 736c 6174 6520 3c33 3e3a 2020 2020 anslate <3>: \n-0001f290: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f2a0: 2020 2020 2050 6f6c 796c 696e 6520 7377 Polyline sw\n-0001f2b0: 6565 7073 2e20 2020 2020 2028 6c69 6e65 eeps. (line\n-0001f2c0: 2020 3929 0a2a 2074 7261 6e73 6c61 7465 9).* translate\n-0001f2d0: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n-0001f2e0: 2020 2020 2020 2020 2020 2020 2020 506f Po\n-0001f2f0: 6c79 6c69 6e65 2073 7765 6570 7320 7769 lyline sweeps wi\n-0001f300: 7468 2063 6c6f 7375 7265 2e0a 2020 2020 th closure.. \n-0001f310: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f210: 2020 2020 2020 2020 204f 626a 6563 7420 Object \n+0001f220: 7472 616e 7366 6f72 6d73 2e20 2020 2028 transforms. (\n+0001f230: 6c69 6e65 2034 3729 0a2a 2074 7261 6e73 line 47).* trans\n+0001f240: 6c61 7465 203c 323e 3a20 2020 2020 2020 late <2>: \n+0001f250: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f260: 2020 5265 7065 6174 6564 206f 626a 6563 Repeated objec\n+0001f270: 7473 2e20 2020 2020 286c 696e 6520 2038 ts. (line 8\n+0001f280: 290a 2a20 7472 616e 736c 6174 6520 3c33 ).* translate <3\n+0001f290: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+0001f2a0: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl\n+0001f2b0: 696e 6520 7377 6565 7073 2e20 2020 2020 ine sweeps. \n+0001f2c0: 2028 6c69 6e65 2020 3929 0a2a 2074 7261 (line 9).* tra\n+0001f2d0: 6e73 6c61 7465 203c 343e 3a20 2020 2020 nslate <4>: \n+0001f2e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f2f0: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n+0001f300: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure\n+0001f310: 2e0a 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 2028 6c69 6e65 (line\n-0001f350: 2031 3029 0a2a 2074 7261 6e73 6c61 7465 10).* translate\n-0001f360: 203c 353e 3a20 2020 2020 2020 2020 2020 <5>: \n-0001f370: 2020 2020 2020 2020 2020 2020 2020 5472 Tr\n-0001f380: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n-0001f390: 2e20 2020 286c 696e 6520 3135 290a 2a20 . (line 15).* \n-0001f3a0: 7472 616e 736c 6174 6520 3c36 3e3a 2020 translate <6>: \n-0001f3b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f3c0: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n-0001f3d0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n-0001f3e0: 6e65 2035 3729 0a2a 2074 7261 6e73 6c61 ne 57).* transla\n-0001f3f0: 7465 203c 373e 3a20 2020 2020 2020 2020 te <7>: \n+0001f340: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f350: 2028 6c69 6e65 2031 3029 0a2a 2074 7261 (line 10).* tra\n+0001f360: 6e73 6c61 7465 203c 353e 3a20 2020 2020 nslate <5>: \n+0001f370: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f380: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n+0001f390: 7465 7261 6c73 2e20 2020 286c 696e 6520 terals. (line \n+0001f3a0: 3135 290a 2a20 7472 616e 736c 6174 6520 15).* translate \n+0001f3b0: 3c36 3e3a 2020 2020 2020 2020 2020 2020 <6>: \n+0001f3c0: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n+0001f3d0: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n+0001f3e0: 2020 2028 6c69 6e65 2035 3729 0a2a 2074 (line 57).* t\n+0001f3f0: 7261 6e73 6c61 7465 203c 373e 3a20 2020 ranslate <7>: \n 0001f400: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f410: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. \n-0001f420: 2020 2020 2020 286c 696e 6520 3639 290a (line 69).\n-0001f430: 2a20 7472 616e 736c 6174 6520 3c38 3e3a * translate <8>:\n-0001f440: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f450: 2020 2020 2020 2020 2041 2068 6965 7261 A hiera\n-0001f460: 7263 6869 6361 6c20 6d6f 6465 6c2e 2028 rchical model. (\n-0001f470: 6c69 6e65 2033 3229 0a2a 2074 7261 6e73 line 32).* trans\n-0001f480: 7061 6c70 6861 3a20 2020 2020 2020 2020 palpha: \n+0001f410: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n+0001f420: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+0001f430: 6520 3639 290a 2a20 7472 616e 736c 6174 e 69).* translat\n+0001f440: 6520 3c38 3e3a 2020 2020 2020 2020 2020 e <8>: \n+0001f450: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+0001f460: 2068 6965 7261 7263 6869 6361 6c20 6d6f hierarchical mo\n+0001f470: 6465 6c2e 2028 6c69 6e65 2033 3229 0a2a del. (line 32).*\n+0001f480: 2074 7261 6e73 7061 6c70 6861 3a20 2020 transpalpha: \n 0001f490: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f4a0: 2020 5472 616e 7370 6172 656e 6379 2e20 Transparency. \n-0001f4b0: 2020 2020 2020 2020 286c 696e 6520 3130 (line 10\n-0001f4c0: 290a 2a20 756e 6974 3a20 2020 2020 2020 ).* unit: \n+0001f4a0: 2020 2020 2020 2020 5472 616e 7370 6172 Transpar\n+0001f4b0: 656e 6379 2e20 2020 2020 2020 2020 286c ency. (l\n+0001f4c0: 696e 6520 3130 290a 2a20 756e 6974 3a20 ine 10).* unit: \n 0001f4d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f4e0: 2020 2020 2020 2020 2020 2055 6e61 7279 Unary\n-0001f4f0: 2066 6f72 6d73 2e20 2020 2020 2020 2020 forms. \n-0001f500: 2028 6c69 6e65 2031 3329 0a2a 2075 6e69 (line 13).* uni\n-0001f510: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: \n+0001f4e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f4f0: 2055 6e61 7279 2066 6f72 6d73 2e20 2020 Unary forms. \n+0001f500: 2020 2020 2020 2028 6c69 6e65 2031 3329 (line 13)\n+0001f510: 0a2a 2075 6e69 7420 3c31 3e3a 2020 2020 .* unit <1>: \n 0001f520: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f530: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n-0001f540: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n-0001f550: 3431 290a 2a20 7669 6577 3a20 2020 2020 41).* view: \n-0001f560: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f570: 2020 2020 2020 2020 2020 2020 2054 7261 Tra\n-0001f580: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n-0001f590: 2020 2028 6c69 6e65 2032 3529 0a2a 2076 (line 25).* v\n-0001f5a0: 6965 7720 3c31 3e3a 2020 2020 2020 2020 iew <1>: \n+0001f530: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n+0001f540: 6e69 6361 6c20 6472 6177 696e 672e 2020 nical drawing. \n+0001f550: 286c 696e 6520 3431 290a 2a20 7669 6577 (line 41).* view\n+0001f560: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001f570: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f580: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n+0001f590: 6572 616c 732e 2020 2028 6c69 6e65 2032 erals. (line 2\n+0001f5a0: 3529 0a2a 2076 6965 7720 3c31 3e3a 2020 5).* view <1>: \n 0001f5b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f5c0: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n-0001f5d0: 6c69 7465 7261 6c73 2e20 2020 286c 696e literals. (lin\n-0001f5e0: 6520 3335 290a 0a1f 0a46 696c 653a 2073 e 35)....File: s\n-0001f5f0: 6b65 7463 682e 696e 666f 2c20 204e 6f64 ketch.info, Nod\n-0001f600: 653a 2049 6e64 6578 2c20 2050 7265 763a e: Index, Prev:\n-0001f610: 2049 6e64 6578 206f 6620 7379 6e74 6178 Index of syntax\n-0001f620: 2c20 2055 703a 2054 6f70 0a0a 496e 6465 , Up: Top..Inde\n-0001f630: 7820 6f66 2063 6f6e 6365 7074 730a 2a2a x of concepts.**\n-0001f640: 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a 2a0a ***************.\n-0001f650: 0a00 085b 696e 6465 7800 085d 0a2a 204d ...[index..].* M\n-0001f660: 656e 753a 0a0a 2a20 6166 6669 6e65 2061 enu:..* affine a\n-0001f670: 7269 7468 6d65 7469 633a 2020 2020 2020 rithmetic: \n-0001f680: 2020 2020 2020 2020 2020 2020 2020 2041 A\n-0001f690: 6666 696e 6520 6172 6974 686d 6574 6963 ffine arithmetic\n-0001f6a0: 2e20 2020 286c 696e 6520 2020 3829 0a2a . (line 8).*\n-0001f6b0: 2061 6666 696e 6520 6172 6974 686d 6574 affine arithmet\n-0001f6c0: 6963 203c 313e 3a20 2020 2020 2020 2020 ic <1>: \n-0001f6d0: 2020 2020 2020 2020 4120 7465 6368 6e69 A techni\n-0001f6e0: 6361 6c20 6472 6177 696e 672e 2028 6c69 cal drawing. (li\n-0001f6f0: 6e65 2020 3430 290a 2a20 616c 7465 726e ne 40).* altern\n-0001f700: 6174 6976 6573 2c20 6465 6669 6e69 7469 atives, definiti\n-0001f710: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n-0001f720: 2046 6f72 6d73 206f 6620 6465 6669 6e69 Forms of defini\n-0001f730: 7469 6f6e 732e 0a20 2020 2020 2020 2020 tions.. \n+0001f5c0: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n+0001f5d0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n+0001f5e0: 2020 286c 696e 6520 3335 290a 0a1f 0a46 (line 35)....F\n+0001f5f0: 696c 653a 2073 6b65 7463 682e 696e 666f ile: sketch.info\n+0001f600: 2c20 204e 6f64 653a 2049 6e64 6578 2c20 , Node: Index, \n+0001f610: 2050 7265 763a 2049 6e64 6578 206f 6620 Prev: Index of \n+0001f620: 7379 6e74 6178 2c20 2055 703a 2054 6f70 syntax, Up: Top\n+0001f630: 0a0a 496e 6465 7820 6f66 2063 6f6e 6365 ..Index of conce\n+0001f640: 7074 730a 2a2a 2a2a 2a2a 2a2a 2a2a 2a2a pts.************\n+0001f650: 2a2a 2a2a 2a0a 0a00 085b 696e 6465 7800 *****....[index.\n+0001f660: 085d 0a2a 204d 656e 753a 0a0a 2a20 6166 .].* Menu:..* af\n+0001f670: 6669 6e65 2061 7269 7468 6d65 7469 633a fine arithmetic:\n+0001f680: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f690: 2020 2020 2041 6666 696e 6520 6172 6974 Affine arit\n+0001f6a0: 686d 6574 6963 2e20 2020 286c 696e 6520 hmetic. (line \n+0001f6b0: 2020 3829 0a2a 2061 6666 696e 6520 6172 8).* affine ar\n+0001f6c0: 6974 686d 6574 6963 203c 313e 3a20 2020 ithmetic <1>: \n+0001f6d0: 2020 2020 2020 2020 2020 2020 2020 4120 A \n+0001f6e0: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n+0001f6f0: 672e 2028 6c69 6e65 2020 3430 290a 2a20 g. (line 40).* \n+0001f700: 616c 7465 726e 6174 6976 6573 2c20 6465 alternatives, de\n+0001f710: 6669 6e69 7469 6f6e 3a20 2020 2020 2020 finition: \n+0001f720: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of \n+0001f730: 6465 6669 6e69 7469 6f6e 732e 0a20 2020 definitions.. \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 2028 6c69 6e65 2020 2036 290a (line 6).\n-0001f780: 2a20 6172 6775 6d65 6e74 2c20 7370 6563 * argument, spec\n-0001f790: 6961 6c3a 2020 2020 2020 2020 2020 2020 ial: \n-0001f7a0: 2020 2020 2020 2020 2053 7065 6369 616c Special\n-0001f7b0: 206f 626a 6563 7473 2e20 2020 2020 286c objects. (l\n-0001f7c0: 696e 6520 2032 3529 0a2a 2061 7267 756d ine 25).* argum\n-0001f7d0: 656e 742c 2073 7065 6369 616c 203c 313e ent, special <1>\n-0001f7e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001f7f0: 2020 5370 6563 6961 6c73 2e20 2020 2020 Specials. \n-0001f800: 2020 2020 2020 2028 6c69 6e65 2020 3130 (line 10\n-0001f810: 290a 2a20 6173 736f 6369 6174 6976 6974 ).* associativit\n-0001f820: 792c 206f 7065 7261 746f 723a 2020 2020 y, operator: \n-0001f830: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o\n-0001f840: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n-0001f850: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. \n+0001f770: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001f780: 2020 2036 290a 2a20 6172 6775 6d65 6e74 6).* argument\n+0001f790: 2c20 7370 6563 6961 6c3a 2020 2020 2020 , special: \n+0001f7a0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0001f7b0: 7065 6369 616c 206f 626a 6563 7473 2e20 pecial objects. \n+0001f7c0: 2020 2020 286c 696e 6520 2032 3529 0a2a (line 25).*\n+0001f7d0: 2061 7267 756d 656e 742c 2073 7065 6369 argument, speci\n+0001f7e0: 616c 203c 313e 3a20 2020 2020 2020 2020 al <1>: \n+0001f7f0: 2020 2020 2020 2020 5370 6563 6961 6c73 Specials\n+0001f800: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li\n+0001f810: 6e65 2020 3130 290a 2a20 6173 736f 6369 ne 10).* associ\n+0001f820: 6174 6976 6974 792c 206f 7065 7261 746f ativity, operato\n+0001f830: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n+0001f840: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi\n+0001f850: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) 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 2028 6c69 6e65 2020 3538 290a (line 58).\n-0001f8a0: 2a20 6178 6973 2c20 726f 7461 7469 6f6e * axis, rotation\n-0001f8b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-0001f8c0: 2020 2020 2020 2020 204f 626a 6563 7420 Object \n-0001f8d0: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l\n-0001f8e0: 696e 6520 2034 3029 0a2a 2062 6163 6b20 ine 40).* back \n-0001f8f0: 6661 6365 3a20 2020 2020 2020 2020 2020 face: \n+0001f890: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001f8a0: 2020 3538 290a 2a20 6178 6973 2c20 726f 58).* axis, ro\n+0001f8b0: 7461 7469 6f6e 3a20 2020 2020 2020 2020 tation: \n+0001f8c0: 2020 2020 2020 2020 2020 2020 2020 204f O\n+0001f8d0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n+0001f8e0: 2e20 2020 286c 696e 6520 2034 3029 0a2a . (line 40).*\n+0001f8f0: 2062 6163 6b20 6661 6365 3a20 2020 2020 back face: \n 0001f900: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f910: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli\n-0001f920: 642e 2020 2020 2028 6c69 6e65 2020 3335 d. (line 35\n-0001f930: 290a 2a20 6261 7365 6c69 6e65 2066 7261 ).* baseline fra\n-0001f940: 6374 696f 6e3a 2020 2020 2020 2020 2020 ction: \n-0001f950: 2020 2020 2020 2020 2020 2050 6963 7475 Pictu\n-0001f960: 7265 2062 6f78 2e20 2020 2020 2020 2020 re box. \n-0001f970: 286c 696e 6520 2031 3029 0a2a 2062 696e (line 10).* bin\n-0001f980: 6172 7920 666f 726d 3a20 2020 2020 2020 ary form: \n+0001f910: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n+0001f920: 6120 736f 6c69 642e 2020 2020 2028 6c69 a solid. (li\n+0001f930: 6e65 2020 3335 290a 2a20 6261 7365 6c69 ne 35).* baseli\n+0001f940: 6e65 2066 7261 6374 696f 6e3a 2020 2020 ne fraction: \n+0001f950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f960: 2050 6963 7475 7265 2062 6f78 2e20 2020 Picture box. \n+0001f970: 2020 2020 2020 286c 696e 6520 2031 3029 (line 10)\n+0001f980: 0a2a 2062 696e 6172 7920 666f 726d 3a20 .* binary form: \n 0001f990: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001f9a0: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand \n-0001f9b0: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms..\n-0001f9c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001f9a0: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op\n+0001f9b0: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n+0001f9c0: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. \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 286c (l\n-0001fa00: 696e 6520 2020 3629 0a2a 2062 696e 6172 ine 6).* binar\n-0001fa10: 7920 7370 6163 6520 7061 7274 6974 696f y space partitio\n-0001fa20: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n-0001fa30: 2020 4869 6464 656e 2073 7572 6661 6365 Hidden surface\n-0001fa40: 2072 656d 6f76 616c 2e0a 2020 2020 2020 removal.. \n+0001f9f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001fa00: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+0001fa10: 2062 696e 6172 7920 7370 6163 6520 7061 binary space pa\n+0001fa20: 7274 6974 696f 6e3a 2020 2020 2020 2020 rtition: \n+0001fa30: 2020 2020 2020 2020 4869 6464 656e 2073 Hidden s\n+0001fa40: 7572 6661 6365 2072 656d 6f76 616c 2e0a urface 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 286c 696e 6520 2032 (line 2\n-0001fa90: 3329 0a2a 2062 696e 6172 7920 7370 6163 3).* binary spac\n-0001faa0: 6520 7061 7274 6974 696f 6e20 3c31 3e3a e partition <1>:\n-0001fab0: 2020 2020 2020 2020 2020 2020 5374 6174 Stat\n-0001fac0: 6973 7469 6373 2e20 2020 2020 2020 2020 istics. \n-0001fad0: 2028 6c69 6e65 2020 3133 290a 2a20 6269 (line 13).* bi\n-0001fae0: 6e61 7279 2073 7061 6365 2070 6172 7469 nary space parti\n-0001faf0: 7469 6f6e 203c 323e 3a20 2020 2020 2020 tion <2>: \n-0001fb00: 2020 2020 2043 6f6d 6d61 6e64 206c 696e Command lin\n-0001fb10: 652e 2020 2020 2020 2020 286c 696e 6520 e. (line \n-0001fb20: 2032 3629 0a2a 2062 6c6f 636b 3a20 2020 26).* block: \n-0001fb30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fb40: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n-0001fb50: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n-0001fb60: 2020 2028 6c69 6e65 2020 3234 290a 2a20 (line 24).* \n-0001fb70: 626c 6f63 6b20 3c31 3e3a 2020 2020 2020 block <1>: \n+0001fa80: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+0001fa90: 696e 6520 2032 3329 0a2a 2062 696e 6172 ine 23).* binar\n+0001faa0: 7920 7370 6163 6520 7061 7274 6974 696f y space partitio\n+0001fab0: 6e20 3c31 3e3a 2020 2020 2020 2020 2020 n <1>: \n+0001fac0: 2020 5374 6174 6973 7469 6373 2e20 2020 Statistics. \n+0001fad0: 2020 2020 2020 2028 6c69 6e65 2020 3133 (line 13\n+0001fae0: 290a 2a20 6269 6e61 7279 2073 7061 6365 ).* binary space\n+0001faf0: 2070 6172 7469 7469 6f6e 203c 323e 3a20 partition <2>: \n+0001fb00: 2020 2020 2020 2020 2020 2043 6f6d 6d61 Comma\n+0001fb10: 6e64 206c 696e 652e 2020 2020 2020 2020 nd line. \n+0001fb20: 286c 696e 6520 2032 3629 0a2a 2062 6c6f (line 26).* blo\n+0001fb30: 636b 3a20 2020 2020 2020 2020 2020 2020 ck: \n+0001fb40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001fb50: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n+0001fb60: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line \n+0001fb70: 3234 290a 2a20 626c 6f63 6b20 3c31 3e3a 24).* block <1>:\n 0001fb80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fb90: 2020 2020 2020 2053 7765 7074 2062 6c6f Swept blo\n-0001fba0: 636b 732e 2020 2020 2020 2020 286c 696e cks. (lin\n-0001fbb0: 6520 2020 3729 0a2a 2062 6c6f 636b 203c e 7).* block <\n-0001fbc0: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n+0001fb90: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+0001fba0: 7074 2062 6c6f 636b 732e 2020 2020 2020 pt blocks. \n+0001fbb0: 2020 286c 696e 6520 2020 3729 0a2a 2062 (line 7).* b\n+0001fbc0: 6c6f 636b 203c 323e 3a20 2020 2020 2020 lock <2>: \n 0001fbd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fbe0: 426c 6f63 6b73 2e20 2020 2020 2020 2020 Blocks. \n-0001fbf0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-0001fc00: 2a20 626c 6f63 6b20 7377 6565 703a 2020 * block sweep: \n-0001fc10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fc20: 2020 2020 2020 2020 2053 7765 7074 2062 Swept b\n-0001fc30: 6c6f 636b 732e 2020 2020 2020 2020 286c locks. (l\n-0001fc40: 696e 6520 2020 3629 0a2a 2062 6f64 7920 ine 6).* body \n-0001fc50: 706f 6c79 676f 6e3a 2020 2020 2020 2020 polygon: \n+0001fbe0: 2020 2020 2020 426c 6f63 6b73 2e20 2020 Blocks. \n+0001fbf0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+0001fc00: 2020 2036 290a 2a20 626c 6f63 6b20 7377 6).* block sw\n+0001fc10: 6565 703a 2020 2020 2020 2020 2020 2020 eep: \n+0001fc20: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+0001fc30: 7765 7074 2062 6c6f 636b 732e 2020 2020 wept blocks. \n+0001fc40: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+0001fc50: 2062 6f64 7920 706f 6c79 676f 6e3a 2020 body polygon: \n 0001fc60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fc70: 2020 496e 7465 726e 616c 206f 7074 696f Internal optio\n-0001fc80: 6e73 2e20 2020 2028 6c69 6e65 2020 3136 ns. (line 16\n-0001fc90: 290a 2a20 626f 6479 2070 6f6c 7967 6f6e ).* body polygon\n-0001fca0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-0001fcb0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n-0001fcc0: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. \n-0001fcd0: 286c 696e 6520 2031 3029 0a2a 2062 6f64 (line 10).* bod\n-0001fce0: 7920 706f 6c79 676f 6e20 3c32 3e3a 2020 y polygon <2>: \n-0001fcf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fd00: 2020 2020 5377 6570 7420 706f 6c79 676f Swept polygo\n-0001fd10: 6e73 2e20 2020 2020 2028 6c69 6e65 2020 ns. (line \n-0001fd20: 2039 290a 2a20 626f 756e 6469 6e67 2062 9).* bounding b\n-0001fd30: 6f78 3a20 2020 2020 2020 2020 2020 2020 ox: \n-0001fd40: 2020 2020 2020 2020 2020 2020 2050 6963 Pic\n-0001fd50: 7475 7265 2062 6f78 2e20 2020 2020 2020 ture box. \n-0001fd60: 2020 286c 696e 6520 2031 3529 0a2a 2042 (line 15).* B\n-0001fd70: 5350 2c20 6269 6e61 7279 2073 7061 6365 SP, binary space\n-0001fd80: 2070 6172 7469 7469 6f6e 3a20 2020 2020 partition: \n-0001fd90: 2020 2020 2020 4869 6464 656e 2073 7572 Hidden sur\n-0001fda0: 6661 6365 2072 656d 6f76 616c 2e0a 2020 face removal.. \n-0001fdb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001fc70: 2020 2020 2020 2020 496e 7465 726e 616c Internal\n+0001fc80: 206f 7074 696f 6e73 2e20 2020 2028 6c69 options. (li\n+0001fc90: 6e65 2020 3136 290a 2a20 626f 6479 2070 ne 16).* body p\n+0001fca0: 6f6c 7967 6f6e 203c 313e 3a20 2020 2020 olygon <1>: \n+0001fcb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001fcc0: 2053 7765 7074 206c 696e 6573 2e20 2020 Swept lines. \n+0001fcd0: 2020 2020 2020 286c 696e 6520 2031 3029 (line 10)\n+0001fce0: 0a2a 2062 6f64 7920 706f 6c79 676f 6e20 .* body polygon \n+0001fcf0: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n+0001fd00: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+0001fd10: 706f 6c79 676f 6e73 2e20 2020 2020 2028 polygons. (\n+0001fd20: 6c69 6e65 2020 2039 290a 2a20 626f 756e line 9).* boun\n+0001fd30: 6469 6e67 2062 6f78 3a20 2020 2020 2020 ding box: \n+0001fd40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001fd50: 2020 2050 6963 7475 7265 2062 6f78 2e20 Picture box. \n+0001fd60: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1\n+0001fd70: 3529 0a2a 2042 5350 2c20 6269 6e61 7279 5).* BSP, binary\n+0001fd80: 2073 7061 6365 2070 6172 7469 7469 6f6e space partition\n+0001fd90: 3a20 2020 2020 2020 2020 2020 4869 6464 : Hidd\n+0001fda0: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov\n+0001fdb0: 616c 2e0a 2020 2020 2020 2020 2020 2020 al.. \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 286c 696e (lin\n-0001fdf0: 6520 2032 3329 0a2a 2042 5350 2c20 6269 e 23).* BSP, bi\n-0001fe00: 6e61 7279 2073 7061 6365 2070 6172 7469 nary space parti\n-0001fe10: 7469 6f6e 203c 313e 3a20 2020 2020 2020 tion <1>: \n-0001fe20: 436f 6d6d 616e 6420 6c69 6e65 2e20 2020 Command line. \n-0001fe30: 2020 2020 2028 6c69 6e65 2020 3236 290a (line 26).\n-0001fe40: 2a20 6361 6d65 7261 3a20 2020 2020 2020 * camera: \n+0001fde0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001fdf0: 2020 286c 696e 6520 2032 3329 0a2a 2042 (line 23).* B\n+0001fe00: 5350 2c20 6269 6e61 7279 2073 7061 6365 SP, binary space\n+0001fe10: 2070 6172 7469 7469 6f6e 203c 313e 3a20 partition <1>: \n+0001fe20: 2020 2020 2020 436f 6d6d 616e 6420 6c69 Command li\n+0001fe30: 6e65 2e20 2020 2020 2020 2028 6c69 6e65 ne. (line\n+0001fe40: 2020 3236 290a 2a20 6361 6d65 7261 3a20 26).* camera: \n 0001fe50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001fe60: 2020 2020 2020 2020 2043 616d 6572 612e Camera.\n-0001fe70: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-0001fe80: 696e 6520 2020 3629 0a2a 2063 656e 7465 ine 6).* cente\n-0001fe90: 7220 6f66 2072 6f74 6174 696f 6e3a 2020 r of rotation: \n-0001fea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001feb0: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n-0001fec0: 726d 732e 2020 2028 6c69 6e65 2020 2038 rms. (line 8\n-0001fed0: 290a 2a20 6365 6e74 6572 206f 6620 726f ).* center of ro\n-0001fee0: 7461 7469 6f6e 203c 313e 3a20 2020 2020 tation <1>: \n-0001fef0: 2020 2020 2020 2020 2020 204e 6573 7465 Neste\n-0001ff00: 6420 7377 6565 7073 2e20 2020 2020 2020 d sweeps. \n-0001ff10: 286c 696e 6520 2020 3629 0a2a 2063 656e (line 6).* cen\n-0001ff20: 7472 6f69 643a 2020 2020 2020 2020 2020 troid: \n+0001fe60: 2020 2020 2020 2020 2020 2020 2020 2043 C\n+0001fe70: 616d 6572 612e 2020 2020 2020 2020 2020 amera. \n+0001fe80: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+0001fe90: 2063 656e 7465 7220 6f66 2072 6f74 6174 center of rotat\n+0001fea0: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: \n+0001feb0: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t\n+0001fec0: 7261 6e73 666f 726d 732e 2020 2028 6c69 ransforms. (li\n+0001fed0: 6e65 2020 2038 290a 2a20 6365 6e74 6572 ne 8).* center\n+0001fee0: 206f 6620 726f 7461 7469 6f6e 203c 313e of rotation <1>\n+0001fef0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+0001ff00: 204e 6573 7465 6420 7377 6565 7073 2e20 Nested sweeps. \n+0001ff10: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n+0001ff20: 0a2a 2063 656e 7472 6f69 643a 2020 2020 .* centroid: \n 0001ff30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ff40: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n-0001ff50: 6472 6177 696e 672e 2028 6c69 6e65 2020 drawing. (line \n-0001ff60: 3634 290a 2a20 6365 6e74 726f 6964 203c 64).* centroid <\n-0001ff70: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-0001ff80: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n-0001ff90: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n-0001ffa0: 2e20 286c 696e 6520 3130 3229 0a2a 2063 . (line 102).* c\n-0001ffb0: 6c69 7070 696e 673a 2020 2020 2020 2020 lipping: \n+0001ff40: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n+0001ff50: 6e69 6361 6c20 6472 6177 696e 672e 2028 nical drawing. (\n+0001ff60: 6c69 6e65 2020 3634 290a 2a20 6365 6e74 line 64).* cent\n+0001ff70: 726f 6964 203c 313e 3a20 2020 2020 2020 roid <1>: \n+0001ff80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ff90: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n+0001ffa0: 7261 7769 6e67 2e20 286c 696e 6520 3130 rawing. (line 10\n+0001ffb0: 3229 0a2a 2063 6c69 7070 696e 673a 2020 2).* clipping: \n 0001ffc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-0001ffd0: 2020 2020 2020 5069 6374 7572 6520 626f Picture bo\n-0001ffe0: 782e 2020 2020 2020 2020 2028 6c69 6e65 x. (line\n-0001fff0: 2020 3137 290a 2a20 636c 6970 7069 6e67 17).* clipping\n-00020000: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00020010: 2020 2020 2020 2020 2020 2020 2020 2043 C\n-00020020: 6c69 7070 696e 672e 2020 2020 2020 2020 lipping. \n-00020030: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n-00020040: 2063 6c6f 7375 7265 2074 6167 2c20 3c3e closure tag, <>\n-00020050: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00020060: 2020 2020 2020 2020 506f 696e 7420 7377 Point sw\n-00020070: 6565 7073 2e20 2020 2020 2020 2028 6c69 eeps. (li\n-00020080: 6e65 2020 3138 290a 2a20 636c 6f73 7572 ne 18).* closur\n-00020090: 6520 7461 672c 203c 3e20 3c31 3e3a 2020 e tag, <> <1>: \n-000200a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000200b0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-000200c0: 2077 6974 6820 636c 6f73 7572 652e 0a20 with closure.. \n-000200d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+0001ffd0: 2020 2020 2020 2020 2020 2020 5069 6374 Pict\n+0001ffe0: 7572 6520 626f 782e 2020 2020 2020 2020 ure box. \n+0001fff0: 2028 6c69 6e65 2020 3137 290a 2a20 636c (line 17).* cl\n+00020000: 6970 7069 6e67 203c 313e 3a20 2020 2020 ipping <1>: \n+00020010: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020020: 2020 2020 2043 6c69 7070 696e 672e 2020 Clipping. \n+00020030: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00020040: 2020 3629 0a2a 2063 6c6f 7375 7265 2074 6).* closure t\n+00020050: 6167 2c20 3c3e 3a20 2020 2020 2020 2020 ag, <>: \n+00020060: 2020 2020 2020 2020 2020 2020 2020 506f Po\n+00020070: 696e 7420 7377 6565 7073 2e20 2020 2020 int sweeps. \n+00020080: 2020 2028 6c69 6e65 2020 3138 290a 2a20 (line 18).* \n+00020090: 636c 6f73 7572 6520 7461 672c 203c 3e20 closure tag, <> \n+000200a0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+000200b0: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n+000200c0: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n+000200d0: 7572 652e 0a20 2020 2020 2020 2020 2020 ure.. \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 2028 6c69 (li\n-00020110: 6e65 2020 2036 290a 2a20 636c 6f73 7572 ne 6).* closur\n-00020120: 6520 7461 672c 203c 3e20 3c32 3e3a 2020 e tag, <> <2>: \n-00020130: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020140: 2053 7765 6570 732e 2020 2020 2020 2020 Sweeps. \n-00020150: 2020 2020 2020 286c 696e 6520 2031 3929 (line 19)\n-00020160: 0a2a 2063 6c6f 7375 7265 2074 6167 2c20 .* closure tag, \n-00020170: 3c3e 203c 333e 3a20 2020 2020 2020 2020 <> <3>: \n-00020180: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-00020190: 706f 696e 7473 2e20 2020 2020 2020 2028 points. (\n-000201a0: 6c69 6e65 2020 2036 290a 2a20 636c 6f73 line 6).* clos\n-000201b0: 7572 6520 7461 672c 203c 3e20 3c34 3e3a ure tag, <> <4>:\n-000201c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000201d0: 2020 2053 7765 7074 2070 6f69 6e74 732e Swept points.\n-000201e0: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1\n-000201f0: 3329 0a2a 2063 6c6f 7375 7265 2074 6167 3).* closure tag\n-00020200: 2c20 3c3e 203c 353e 3a20 2020 2020 2020 , <> <5>: \n-00020210: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-00020220: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. \n-00020230: 2028 6c69 6e65 2020 2036 290a 2a20 636c (line 6).* cl\n-00020240: 6f73 7572 6520 7461 672c 203c 3e20 3c36 osure tag, <> <6\n-00020250: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00020260: 2020 2020 2053 7765 7074 206c 696e 6573 Swept lines\n-00020270: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n-00020280: 2032 3829 0a2a 2063 6c6f 7375 7265 2074 28).* closure t\n-00020290: 6167 2c20 3c3e 203c 373e 3a20 2020 2020 ag, <> <7>: \n-000202a0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-000202b0: 6565 7020 6661 6365 2073 706c 6974 7469 eep face splitti\n-000202c0: 6e67 2e0a 2020 2020 2020 2020 2020 2020 ng.. \n+00020100: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020110: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00020120: 636c 6f73 7572 6520 7461 672c 203c 3e20 closure tag, <> \n+00020130: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n+00020140: 2020 2020 2020 2053 7765 6570 732e 2020 Sweeps. \n+00020150: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00020160: 6520 2031 3929 0a2a 2063 6c6f 7375 7265 e 19).* closure\n+00020170: 2074 6167 2c20 3c3e 203c 333e 3a20 2020 tag, <> <3>: \n+00020180: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020190: 5377 6570 7420 706f 696e 7473 2e20 2020 Swept points. \n+000201a0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n+000201b0: 2a20 636c 6f73 7572 6520 7461 672c 203c * closure tag, <\n+000201c0: 3e20 3c34 3e3a 2020 2020 2020 2020 2020 > <4>: \n+000201d0: 2020 2020 2020 2020 2053 7765 7074 2070 Swept p\n+000201e0: 6f69 6e74 732e 2020 2020 2020 2020 286c oints. (l\n+000201f0: 696e 6520 2031 3329 0a2a 2063 6c6f 7375 ine 13).* closu\n+00020200: 7265 2074 6167 2c20 3c3e 203c 353e 3a20 re tag, <> <5>: \n+00020210: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020220: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. \n+00020230: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n+00020240: 290a 2a20 636c 6f73 7572 6520 7461 672c ).* closure tag,\n+00020250: 203c 3e20 3c36 3e3a 2020 2020 2020 2020 <> <6>: \n+00020260: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n+00020270: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. \n+00020280: 286c 696e 6520 2032 3829 0a2a 2063 6c6f (line 28).* clo\n+00020290: 7375 7265 2074 6167 2c20 3c3e 203c 373e sure tag, <> <7>\n+000202a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000202b0: 2020 2020 5377 6565 7020 6661 6365 2073 Sweep face s\n+000202c0: 706c 6974 7469 6e67 2e0a 2020 2020 2020 plitting.. \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 286c 696e 6520 2031 3129 0a2a 2063 (line 11).* c\n-00020310: 6f6d 6d61 6e64 206c 696e 6520 6f70 7469 ommand line opti\n-00020320: 6f6e 3a20 2020 2020 2020 2020 2020 2020 on: \n-00020330: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl\n-00020340: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line\n-00020350: 2020 3330 290a 2a20 636f 6d6d 616e 6420 30).* command \n-00020360: 6c69 6e65 206f 7074 696f 6e73 3a20 2020 line options: \n-00020370: 2020 2020 2020 2020 2020 2020 2020 2043 C\n-00020380: 6f6d 6d61 6e64 206c 696e 652e 2020 2020 ommand line. \n-00020390: 2020 2020 286c 696e 6520 2031 3429 0a2a (line 14).*\n-000203a0: 2063 6f6d 6d61 6e64 206c 696e 652c 2073 command line, s\n-000203b0: 6b65 7463 683a 2020 2020 2020 2020 2020 ketch: \n-000203c0: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo\n-000203d0: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li\n-000203e0: 6e65 2020 2039 290a 2a20 636f 6d6d 616e ne 9).* comman\n-000203f0: 6420 6c69 6e65 2c20 736b 6574 6368 203c d line, sketch <\n-00020400: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-00020410: 2043 6f6d 6d61 6e64 206c 696e 652e 2020 Command line. \n-00020420: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n-00020430: 0a2a 2063 6f6d 6d65 6e74 733a 2020 2020 .* comments: \n-00020440: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020450: 2020 2020 2020 2020 2020 4472 6177 696e Drawin\n-00020460: 6720 6120 736f 6c69 642e 2020 2020 2028 g a solid. (\n-00020470: 6c69 6e65 2020 3238 290a 2a20 636f 6d6d line 28).* comm\n-00020480: 656e 7473 203c 313e 3a20 2020 2020 2020 ents <1>: \n+00020300: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1\n+00020310: 3129 0a2a 2063 6f6d 6d61 6e64 206c 696e 1).* command lin\n+00020320: 6520 6f70 7469 6f6e 3a20 2020 2020 2020 e option: \n+00020330: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell\n+00020340: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. \n+00020350: 2028 6c69 6e65 2020 3330 290a 2a20 636f (line 30).* co\n+00020360: 6d6d 616e 6420 6c69 6e65 206f 7074 696f mmand line optio\n+00020370: 6e73 3a20 2020 2020 2020 2020 2020 2020 ns: \n+00020380: 2020 2020 2043 6f6d 6d61 6e64 206c 696e Command lin\n+00020390: 652e 2020 2020 2020 2020 286c 696e 6520 e. (line \n+000203a0: 2031 3429 0a2a 2063 6f6d 6d61 6e64 206c 14).* command l\n+000203b0: 696e 652c 2073 6b65 7463 683a 2020 2020 ine, sketch: \n+000203c0: 2020 2020 2020 2020 2020 2020 2020 4865 He\n+000203d0: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. \n+000203e0: 2020 2028 6c69 6e65 2020 2039 290a 2a20 (line 9).* \n+000203f0: 636f 6d6d 616e 6420 6c69 6e65 2c20 736b command line, sk\n+00020400: 6574 6368 203c 313e 3a20 2020 2020 2020 etch <1>: \n+00020410: 2020 2020 2020 2043 6f6d 6d61 6e64 206c Command l\n+00020420: 696e 652e 2020 2020 2020 2020 286c 696e ine. (lin\n+00020430: 6520 2020 3629 0a2a 2063 6f6d 6d65 6e74 e 6).* comment\n+00020440: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n+00020450: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020460: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid.\n+00020470: 2020 2020 2028 6c69 6e65 2020 3238 290a (line 28).\n+00020480: 2a20 636f 6d6d 656e 7473 203c 313e 3a20 * comments <1>: \n 00020490: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000204a0: 2020 204c 616e 6775 6167 6520 6261 7369 Language basi\n-000204b0: 6373 2e20 2020 2020 286c 696e 6520 2031 cs. (line 1\n-000204c0: 3829 0a2a 2063 6f6e 7374 7275 6374 6f72 8).* constructor\n-000204d0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000204e0: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n-000204f0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n-00020500: 2028 6c69 6e65 2020 2036 290a 2a20 636f (line 6).* co\n-00020510: 6f72 6469 6e61 7465 2073 7973 7465 6d2c ordinate system,\n-00020520: 2072 6967 6874 2d68 616e 6465 643a 2020 right-handed: \n-00020530: 2020 2020 2049 6e74 726f 6475 6374 696f Introductio\n-00020540: 6e20 6279 2065 7861 6d70 6c65 2e0a 2020 n by example.. \n-00020550: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000204a0: 2020 2020 2020 2020 204c 616e 6775 6167 Languag\n+000204b0: 6520 6261 7369 6373 2e20 2020 2020 286c e basics. (l\n+000204c0: 696e 6520 2031 3829 0a2a 2063 6f6e 7374 ine 18).* const\n+000204d0: 7275 6374 6f72 3a20 2020 2020 2020 2020 ructor: \n+000204e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000204f0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n+00020500: 7261 6c73 2e20 2028 6c69 6e65 2020 2036 rals. (line 6\n+00020510: 290a 2a20 636f 6f72 6469 6e61 7465 2073 ).* coordinate s\n+00020520: 7973 7465 6d2c 2072 6967 6874 2d68 616e ystem, right-han\n+00020530: 6465 643a 2020 2020 2020 2049 6e74 726f ded: Intro\n+00020540: 6475 6374 696f 6e20 6279 2065 7861 6d70 duction by examp\n+00020550: 6c65 2e0a 2020 2020 2020 2020 2020 2020 le.. \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 286c 696e (lin\n-00020590: 6520 2031 3129 0a2a 2063 6f75 6e74 6572 e 11).* counter\n-000205a0: 2d63 6c6f 636b 7769 7365 2070 6f6c 7967 -clockwise polyg\n-000205b0: 6f6e 2076 6572 7465 7820 6f72 6465 723a on vertex order:\n-000205c0: 2048 656c 6c6f 2077 6f72 6c64 2e20 2020 Hello world. \n-000205d0: 2020 2020 2028 6c69 6e65 2020 3339 290a (line 39).\n-000205e0: 2a20 6375 6c6c 696e 673a 2020 2020 2020 * culling: \n+00020580: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020590: 2020 286c 696e 6520 2031 3129 0a2a 2063 (line 11).* c\n+000205a0: 6f75 6e74 6572 2d63 6c6f 636b 7769 7365 ounter-clockwise\n+000205b0: 2070 6f6c 7967 6f6e 2076 6572 7465 7820 polygon vertex \n+000205c0: 6f72 6465 723a 2048 656c 6c6f 2077 6f72 order: Hello wor\n+000205d0: 6c64 2e20 2020 2020 2020 2028 6c69 6e65 ld. (line\n+000205e0: 2020 3339 290a 2a20 6375 6c6c 696e 673a 39).* culling:\n 000205f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020600: 2020 2020 2020 2020 2048 656c 6c6f 2077 Hello w\n-00020610: 6f72 6c64 2e20 2020 2020 2020 2020 286c orld. (l\n-00020620: 696e 6520 2034 3329 0a2a 2063 756c 6c69 ine 43).* culli\n-00020630: 6e67 203c 313e 3a20 2020 2020 2020 2020 ng <1>: \n+00020600: 2020 2020 2020 2020 2020 2020 2020 2048 H\n+00020610: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. \n+00020620: 2020 2020 286c 696e 6520 2034 3329 0a2a (line 43).*\n+00020630: 2063 756c 6c69 6e67 203c 313e 3a20 2020 culling <1>: \n 00020640: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020650: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli\n-00020660: 642e 2020 2020 2028 6c69 6e65 2020 3335 d. (line 35\n-00020670: 290a 2a20 6375 6c6c 696e 6720 3c32 3e3a ).* culling <2>:\n-00020680: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020690: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi\n-000206a0: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. \n-000206b0: 286c 696e 6520 2034 3129 0a2a 2063 756c (line 41).* cul\n-000206c0: 6c69 6e67 203c 333e 3a20 2020 2020 2020 ling <3>: \n+00020650: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n+00020660: 6120 736f 6c69 642e 2020 2020 2028 6c69 a solid. (li\n+00020670: 6e65 2020 3335 290a 2a20 6375 6c6c 696e ne 35).* cullin\n+00020680: 6720 3c32 3e3a 2020 2020 2020 2020 2020 g <2>: \n+00020690: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000206a0: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid\n+000206b0: 2e20 2020 2020 286c 696e 6520 2034 3129 . (line 41)\n+000206c0: 0a2a 2063 756c 6c69 6e67 203c 333e 3a20 .* culling <3>: \n 000206d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000206e0: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines.\n-000206f0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00020700: 3136 290a 2a20 6465 636c 6172 6174 6976 16).* declarativ\n-00020710: 6520 6c61 6e67 7561 6765 3a20 2020 2020 e language: \n-00020720: 2020 2020 2020 2020 2020 2020 204c 616e Lan\n-00020730: 6775 6167 6520 6261 7369 6373 2e20 2020 guage basics. \n-00020740: 2020 286c 696e 6520 2020 3829 0a2a 2064 (line 8).* d\n-00020750: 6566 696e 6974 696f 6e3a 2020 2020 2020 efinition: \n+000206e0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+000206f0: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. (\n+00020700: 6c69 6e65 2020 3136 290a 2a20 6465 636c line 16).* decl\n+00020710: 6172 6174 6976 6520 6c61 6e67 7561 6765 arative language\n+00020720: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00020730: 2020 204c 616e 6775 6167 6520 6261 7369 Language basi\n+00020740: 6373 2e20 2020 2020 286c 696e 6520 2020 cs. (line \n+00020750: 3829 0a2a 2064 6566 696e 6974 696f 6e3a 8).* definition:\n 00020760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020770: 2020 2020 2020 4472 6177 696e 6720 6120 Drawing a \n-00020780: 736f 6c69 642e 2020 2020 2028 6c69 6e65 solid. (line\n-00020790: 2020 3232 290a 2a20 6465 6669 6e69 7469 22).* definiti\n-000207a0: 6f6e 203c 313e 3a20 2020 2020 2020 2020 on <1>: \n-000207b0: 2020 2020 2020 2020 2020 2020 2020 2044 D\n-000207c0: 6566 696e 6974 696f 6e73 2e20 2020 2020 efinitions. \n-000207d0: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n-000207e0: 2064 6566 696e 6974 696f 6e20 7769 7468 definition with\n-000207f0: 2061 6c74 6572 6e61 7469 7665 733a 2020 alternatives: \n-00020800: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of\n-00020810: 2064 6566 696e 6974 696f 6e73 2e0a 2020 definitions.. \n-00020820: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020770: 2020 2020 2020 2020 2020 2020 4472 6177 Draw\n+00020780: 696e 6720 6120 736f 6c69 642e 2020 2020 ing a solid. \n+00020790: 2028 6c69 6e65 2020 3232 290a 2a20 6465 (line 22).* de\n+000207a0: 6669 6e69 7469 6f6e 203c 313e 3a20 2020 finition <1>: \n+000207b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000207c0: 2020 2020 2044 6566 696e 6974 696f 6e73 Definitions\n+000207d0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n+000207e0: 2020 3629 0a2a 2064 6566 696e 6974 696f 6).* definitio\n+000207f0: 6e20 7769 7468 2061 6c74 6572 6e61 7469 n with alternati\n+00020800: 7665 733a 2020 2020 2020 2020 2020 466f ves: Fo\n+00020810: 726d 7320 6f66 2064 6566 696e 6974 696f rms of definitio\n+00020820: 6e73 2e0a 2020 2020 2020 2020 2020 2020 ns.. \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 286c 696e (lin\n-00020860: 6520 2020 3629 0a2a 2064 6566 696e 6974 e 6).* definit\n-00020870: 696f 6e2c 2064 7261 7761 626c 653a 2020 ion, drawable: \n-00020880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020890: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform\n-000208a0: 732e 2020 2028 6c69 6e65 2020 3237 290a s. (line 27).\n-000208b0: 2a20 6465 6669 6e69 7469 6f6e 2c20 6f70 * definition, op\n-000208c0: 7469 6f6e 733a 2020 2020 2020 2020 2020 tions: \n-000208d0: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin\n-000208e0: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl\n-000208f0: 6f73 7572 652e 0a20 2020 2020 2020 2020 osure.. \n+00020850: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020860: 2020 286c 696e 6520 2020 3629 0a2a 2064 (line 6).* d\n+00020870: 6566 696e 6974 696f 6e2c 2064 7261 7761 efinition, drawa\n+00020880: 626c 653a 2020 2020 2020 2020 2020 2020 ble: \n+00020890: 2020 2020 2020 4f62 6a65 6374 2074 7261 Object tra\n+000208a0: 6e73 666f 726d 732e 2020 2028 6c69 6e65 nsforms. (line\n+000208b0: 2020 3237 290a 2a20 6465 6669 6e69 7469 27).* definiti\n+000208c0: 6f6e 2c20 6f70 7469 6f6e 733a 2020 2020 on, options: \n+000208d0: 2020 2020 2020 2020 2020 2020 2020 2050 P\n+000208e0: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w\n+000208f0: 6974 6820 636c 6f73 7572 652e 0a20 2020 ith 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 2028 6c69 6e65 2020 3233 290a (line 23).\n-00020940: 2a20 6465 6669 6e69 7469 6f6e 2c20 706f * definition, po\n-00020950: 696e 743a 2020 2020 2020 2020 2020 2020 int: \n-00020960: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing\n-00020970: 2061 2073 6f6c 6964 2e20 2020 2020 286c a solid. (l\n-00020980: 696e 6520 2032 3329 0a2a 2064 6566 696e ine 23).* defin\n-00020990: 6974 696f 6e2c 2073 6361 6c61 723a 2020 ition, scalar: \n-000209a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000209b0: 2020 5377 6570 7420 6f62 6a65 6374 732e Swept objects.\n-000209c0: 2020 2020 2020 2028 6c69 6e65 2020 3133 (line 13\n-000209d0: 290a 2a20 6465 6669 6e69 7469 6f6e 2c20 ).* definition, \n-000209e0: 7369 6d70 6c65 3a20 2020 2020 2020 2020 simple: \n-000209f0: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms\n-00020a00: 206f 6620 6465 6669 6e69 7469 6f6e 732e of definitions.\n-00020a10: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00020930: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00020940: 2020 3233 290a 2a20 6465 6669 6e69 7469 23).* definiti\n+00020950: 6f6e 2c20 706f 696e 743a 2020 2020 2020 on, point: \n+00020960: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+00020970: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. \n+00020980: 2020 2020 286c 696e 6520 2032 3329 0a2a (line 23).*\n+00020990: 2064 6566 696e 6974 696f 6e2c 2073 6361 definition, sca\n+000209a0: 6c61 723a 2020 2020 2020 2020 2020 2020 lar: \n+000209b0: 2020 2020 2020 2020 5377 6570 7420 6f62 Swept ob\n+000209c0: 6a65 6374 732e 2020 2020 2020 2028 6c69 jects. (li\n+000209d0: 6e65 2020 3133 290a 2a20 6465 6669 6e69 ne 13).* defini\n+000209e0: 7469 6f6e 2c20 7369 6d70 6c65 3a20 2020 tion, simple: \n+000209f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020a00: 2046 6f72 6d73 206f 6620 6465 6669 6e69 Forms of defini\n+00020a10: 7469 6f6e 732e 0a20 2020 2020 2020 2020 tions.. \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 2028 (\n-00020a50: 6c69 6e65 2020 2036 290a 2a20 6465 6669 line 6).* defi\n-00020a60: 6e69 7469 6f6e 2c20 7461 673a 2020 2020 nition, tag: \n-00020a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020a80: 2020 2044 6566 696e 6974 696f 6e73 2e20 Definitions. \n-00020a90: 2020 2020 2020 2020 286c 696e 6520 2031 (line 1\n-00020aa0: 3829 0a2a 2064 6566 696e 6974 696f 6e2c 8).* definition,\n-00020ab0: 2074 6167 203c 313e 3a20 2020 2020 2020 tag <1>: \n-00020ac0: 2020 2020 2020 2020 2020 2020 466f 726d Form\n-00020ad0: 7320 6f66 2064 6566 696e 6974 696f 6e73 s of definitions\n-00020ae0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00020a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020a50: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n+00020a60: 2a20 6465 6669 6e69 7469 6f6e 2c20 7461 * definition, ta\n+00020a70: 673a 2020 2020 2020 2020 2020 2020 2020 g: \n+00020a80: 2020 2020 2020 2020 2044 6566 696e 6974 Definit\n+00020a90: 696f 6e73 2e20 2020 2020 2020 2020 286c ions. (l\n+00020aa0: 696e 6520 2031 3829 0a2a 2064 6566 696e ine 18).* defin\n+00020ab0: 6974 696f 6e2c 2074 6167 203c 313e 3a20 ition, tag <1>: \n+00020ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020ad0: 2020 466f 726d 7320 6f66 2064 6566 696e Forms of defin\n+00020ae0: 6974 696f 6e73 2e0a 2020 2020 2020 2020 itions.. \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: 286c 696e 6520 2020 3729 0a2a 2064 6566 (line 7).* def\n-00020b30: 696e 6974 696f 6e2c 2074 6167 203c 323e inition, tag <2>\n-00020b40: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00020b50: 2020 2020 436f 6d6d 616e 6420 6c69 6e65 Command line\n-00020b60: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line \n-00020b70: 3533 290a 2a20 6465 6669 6e69 7469 6f6e 53).* definition\n-00020b80: 2c20 7472 616e 7366 6f72 6d3a 2020 2020 , transform: \n-00020b90: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n-00020ba0: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n-00020bb0: 2020 286c 696e 6520 2033 3529 0a2a 2064 (line 35).* d\n-00020bc0: 6566 696e 6974 696f 6e2c 2076 6563 746f efinition, vecto\n-00020bd0: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n-00020be0: 2020 2020 2020 506f 6c79 6c69 6e65 2073 Polyline s\n-00020bf0: 7765 6570 732e 2020 2020 2028 6c69 6e65 weeps. (line\n-00020c00: 2020 3139 290a 2a20 6465 7074 6820 736f 19).* depth so\n-00020c10: 7274 3a20 2020 2020 2020 2020 2020 2020 rt: \n-00020c20: 2020 2020 2020 2020 2020 2020 2020 2049 I\n-00020c30: 6e74 6572 6e61 6c20 6f70 7469 6f6e 732e nternal options.\n-00020c40: 2020 2020 286c 696e 6520 2031 3329 0a2a (line 13).*\n-00020c50: 2064 6570 7468 2073 6f72 7420 3c31 3e3a depth sort <1>:\n-00020c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020c70: 2020 2020 2020 2020 4869 6464 656e 2073 Hidden s\n-00020c80: 7572 6661 6365 2072 656d 6f76 616c 2e0a urface removal..\n-00020c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020b20: 2020 2020 2020 286c 696e 6520 2020 3729 (line 7)\n+00020b30: 0a2a 2064 6566 696e 6974 696f 6e2c 2074 .* definition, t\n+00020b40: 6167 203c 323e 3a20 2020 2020 2020 2020 ag <2>: \n+00020b50: 2020 2020 2020 2020 2020 436f 6d6d 616e Comman\n+00020b60: 6420 6c69 6e65 2e20 2020 2020 2020 2028 d line. (\n+00020b70: 6c69 6e65 2020 3533 290a 2a20 6465 6669 line 53).* defi\n+00020b80: 6e69 7469 6f6e 2c20 7472 616e 7366 6f72 nition, transfor\n+00020b90: 6d3a 2020 2020 2020 2020 2020 2020 2020 m: \n+00020ba0: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n+00020bb0: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3\n+00020bc0: 3529 0a2a 2064 6566 696e 6974 696f 6e2c 5).* definition,\n+00020bd0: 2076 6563 746f 723a 2020 2020 2020 2020 vector: \n+00020be0: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n+00020bf0: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. \n+00020c00: 2028 6c69 6e65 2020 3139 290a 2a20 6465 (line 19).* de\n+00020c10: 7074 6820 736f 7274 3a20 2020 2020 2020 pth sort: \n+00020c20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020c30: 2020 2020 2049 6e74 6572 6e61 6c20 6f70 Internal op\n+00020c40: 7469 6f6e 732e 2020 2020 286c 696e 6520 tions. (line \n+00020c50: 2031 3329 0a2a 2064 6570 7468 2073 6f72 13).* depth sor\n+00020c60: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: \n+00020c70: 2020 2020 2020 2020 2020 2020 2020 4869 Hi\n+00020c80: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem\n+00020c90: 6f76 616c 2e0a 2020 2020 2020 2020 2020 oval.. \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 286c (l\n-00020cd0: 696e 6520 2020 3629 0a2a 2064 6570 7468 ine 6).* depth\n-00020ce0: 2073 6f72 7420 3c32 3e3a 2020 2020 2020 sort <2>: \n+00020cc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020cd0: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+00020ce0: 2064 6570 7468 2073 6f72 7420 3c32 3e3a depth sort <2>:\n 00020cf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020d00: 2020 4275 6773 2061 6e64 2061 6e6f 6d61 Bugs and anoma\n-00020d10: 6c69 6573 2e20 2028 6c69 6e65 2020 2038 lies. (line 8\n-00020d20: 290a 2a20 6469 7265 6374 2074 7261 6e73 ).* direct trans\n-00020d30: 666f 726d 3a20 2020 2020 2020 2020 2020 form: \n-00020d40: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n-00020d50: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n-00020d60: 286c 696e 6520 2034 3729 0a2a 2064 6972 (line 47).* dir\n-00020d70: 6563 7420 7472 616e 7366 6f72 6d20 3c31 ect transform <1\n-00020d80: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00020d90: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n-00020da0: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line \n-00020db0: 3533 290a 2a20 646f 6375 6d65 6e74 2074 53).* document t\n-00020dc0: 656d 706c 6174 653a 2020 2020 2020 2020 emplate: \n-00020dd0: 2020 2020 2020 2020 2020 2020 2048 656c Hel\n-00020de0: 6c6f 2077 6f72 6c64 2e20 2020 2020 2020 lo world. \n-00020df0: 2020 286c 696e 6520 2033 3229 0a2a 2064 (line 32).* d\n-00020e00: 6f63 756d 656e 7420 7465 6d70 6c61 7465 ocument template\n-00020e10: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00020e20: 2020 2020 2020 436f 6d6d 616e 6420 6c69 Command li\n-00020e30: 6e65 2e20 2020 2020 2020 2028 6c69 6e65 ne. (line\n-00020e40: 2020 3336 290a 2a20 6472 6177 6162 6c65 36).* drawable\n-00020e50: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00020e60: 2020 2020 2020 2020 2020 2020 2020 204f O\n-00020e70: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n-00020e80: 2e20 2020 286c 696e 6520 2032 3729 0a2a . (line 27).*\n-00020e90: 2064 7261 7761 626c 6520 3c31 3e3a 2020 drawable <1>: \n-00020ea0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020eb0: 2020 2020 2020 2020 4472 6177 6162 6c65 Drawable\n-00020ec0: 732e 2020 2020 2020 2020 2020 2028 6c69 s. (li\n-00020ed0: 6e65 2020 2036 290a 2a20 6472 6177 6162 ne 6).* drawab\n-00020ee0: 6c65 2064 6566 696e 6974 696f 6e3a 2020 le definition: \n-00020ef0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020f00: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n-00020f10: 6d73 2e20 2020 286c 696e 6520 2032 3729 ms. (line 27)\n-00020f20: 0a2a 2064 7261 7761 626c 6520 7265 6665 .* drawable refe\n-00020f30: 7265 6e63 653a 2020 2020 2020 2020 2020 rence: \n-00020f40: 2020 2020 2020 2020 2020 466f 726d 7320 Forms \n-00020f50: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. (\n-00020f60: 6c69 6e65 2020 3137 290a 2a20 656e 6420 line 17).* end \n-00020f70: 706f 6c79 676f 6e3a 2020 2020 2020 2020 polygon: \n+00020d00: 2020 2020 2020 2020 4275 6773 2061 6e64 Bugs and\n+00020d10: 2061 6e6f 6d61 6c69 6573 2e20 2028 6c69 anomalies. (li\n+00020d20: 6e65 2020 2038 290a 2a20 6469 7265 6374 ne 8).* direct\n+00020d30: 2074 7261 6e73 666f 726d 3a20 2020 2020 transform: \n+00020d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020d50: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n+00020d60: 616c 732e 2020 286c 696e 6520 2034 3729 als. (line 47)\n+00020d70: 0a2a 2064 6972 6563 7420 7472 616e 7366 .* direct transf\n+00020d80: 6f72 6d20 3c31 3e3a 2020 2020 2020 2020 orm <1>: \n+00020d90: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n+00020da0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n+00020db0: 6c69 6e65 2020 3533 290a 2a20 646f 6375 line 53).* docu\n+00020dc0: 6d65 6e74 2074 656d 706c 6174 653a 2020 ment template: \n+00020dd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020de0: 2020 2048 656c 6c6f 2077 6f72 6c64 2e20 Hello world. \n+00020df0: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3\n+00020e00: 3229 0a2a 2064 6f63 756d 656e 7420 7465 2).* document te\n+00020e10: 6d70 6c61 7465 203c 313e 3a20 2020 2020 mplate <1>: \n+00020e20: 2020 2020 2020 2020 2020 2020 436f 6d6d Comm\n+00020e30: 616e 6420 6c69 6e65 2e20 2020 2020 2020 and line. \n+00020e40: 2028 6c69 6e65 2020 3336 290a 2a20 6472 (line 36).* dr\n+00020e50: 6177 6162 6c65 3a20 2020 2020 2020 2020 awable: \n+00020e60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020e70: 2020 2020 204f 626a 6563 7420 7472 616e Object tran\n+00020e80: 7366 6f72 6d73 2e20 2020 286c 696e 6520 sforms. (line \n+00020e90: 2032 3729 0a2a 2064 7261 7761 626c 6520 27).* drawable \n+00020ea0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00020eb0: 2020 2020 2020 2020 2020 2020 2020 4472 Dr\n+00020ec0: 6177 6162 6c65 732e 2020 2020 2020 2020 awables. \n+00020ed0: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00020ee0: 6472 6177 6162 6c65 2064 6566 696e 6974 drawable definit\n+00020ef0: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: \n+00020f00: 2020 2020 2020 204f 626a 6563 7420 7472 Object tr\n+00020f10: 616e 7366 6f72 6d73 2e20 2020 286c 696e ansforms. (lin\n+00020f20: 6520 2032 3729 0a2a 2064 7261 7761 626c e 27).* drawabl\n+00020f30: 6520 7265 6665 7265 6e63 653a 2020 2020 e reference: \n+00020f40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020f50: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n+00020f60: 6365 732e 2028 6c69 6e65 2020 3137 290a ces. (line 17).\n+00020f70: 2a20 656e 6420 706f 6c79 676f 6e3a 2020 * end polygon: \n 00020f80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00020f90: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. \n-00020fa0: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3\n-00020fb0: 3829 0a2a 2065 6e64 2070 6f6c 7967 6f6e 8).* end polygon\n-00020fc0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00020fd0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n-00020fe0: 7420 706f 6c79 676f 6e73 2e20 2020 2020 t polygons. \n-00020ff0: 2028 6c69 6e65 2020 3135 290a 2a20 6661 (line 15).* fa\n-00021000: 6365 733a 2020 2020 2020 2020 2020 2020 ces: \n+00020f90: 2020 2020 2020 2020 2053 7765 7074 206c Swept l\n+00020fa0: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l\n+00020fb0: 696e 6520 2033 3829 0a2a 2065 6e64 2070 ine 38).* end p\n+00020fc0: 6f6c 7967 6f6e 203c 313e 3a20 2020 2020 olygon <1>: \n+00020fd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00020fe0: 2020 5377 6570 7420 706f 6c79 676f 6e73 Swept polygons\n+00020ff0: 2e20 2020 2020 2028 6c69 6e65 2020 3135 . (line 15\n+00021000: 290a 2a20 6661 6365 733a 2020 2020 2020 ).* faces: \n 00021010: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021020: 2020 2020 2044 7261 7769 6e67 2061 2073 Drawing a s\n-00021030: 6f6c 6964 2e20 2020 2020 286c 696e 6520 olid. (line \n-00021040: 2020 3729 0a2a 2066 6163 6573 203c 313e 7).* faces <1>\n-00021050: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00021060: 2020 2020 2020 2020 2020 2020 2020 506f Po\n-00021070: 6c79 6c69 6e65 2073 7765 6570 732e 2020 lyline sweeps. \n-00021080: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n-00021090: 6669 6c65 2c20 696e 636c 7564 653a 2020 file, include: \n-000210a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000210b0: 2020 2020 2020 204c 616e 6775 6167 6520 Language \n-000210c0: 6261 7369 6373 2e20 2020 2020 286c 696e basics. (lin\n-000210d0: 6520 2031 3929 0a2a 2066 696c 652c 2069 e 19).* file, i\n-000210e0: 6e70 7574 3a20 2020 2020 2020 2020 2020 nput: \n+00021020: 2020 2020 2020 2020 2020 2044 7261 7769 Drawi\n+00021030: 6e67 2061 2073 6f6c 6964 2e20 2020 2020 ng a solid. \n+00021040: 286c 696e 6520 2020 3729 0a2a 2066 6163 (line 7).* fac\n+00021050: 6573 203c 313e 3a20 2020 2020 2020 2020 es <1>: \n+00021060: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021070: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n+00021080: 6570 732e 2020 2020 2028 6c69 6e65 2020 eps. (line \n+00021090: 2036 290a 2a20 6669 6c65 2c20 696e 636c 6).* file, incl\n+000210a0: 7564 653a 2020 2020 2020 2020 2020 2020 ude: \n+000210b0: 2020 2020 2020 2020 2020 2020 204c 616e Lan\n+000210c0: 6775 6167 6520 6261 7369 6373 2e20 2020 guage basics. \n+000210d0: 2020 286c 696e 6520 2031 3929 0a2a 2066 (line 19).* f\n+000210e0: 696c 652c 2069 6e70 7574 3a20 2020 2020 ile, input: \n 000210f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021100: 4c61 6e67 7561 6765 2062 6173 6963 732e Language basics.\n-00021110: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-00021120: 2a20 6672 616d 6520 626f 783a 2020 2020 * frame box: \n-00021130: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021140: 2020 2020 2020 2020 2046 7261 6d65 2e20 Frame. \n-00021150: 2020 2020 2020 2020 2020 2020 2020 286c (l\n-00021160: 696e 6520 2020 3629 0a2a 2067 6c6f 6261 ine 6).* globa\n-00021170: 6c20 6f70 7469 6f6e 733a 2020 2020 2020 l options: \n+00021100: 2020 2020 2020 4c61 6e67 7561 6765 2062 Language b\n+00021110: 6173 6963 732e 2020 2020 2028 6c69 6e65 asics. (line\n+00021120: 2020 2036 290a 2a20 6672 616d 6520 626f 6).* frame bo\n+00021130: 783a 2020 2020 2020 2020 2020 2020 2020 x: \n+00021140: 2020 2020 2020 2020 2020 2020 2020 2046 F\n+00021150: 7261 6d65 2e20 2020 2020 2020 2020 2020 rame. \n+00021160: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+00021170: 2067 6c6f 6261 6c20 6f70 7469 6f6e 733a global options:\n 00021180: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021190: 2020 4472 6177 696e 6720 6f70 7469 6f6e Drawing option\n-000211a0: 732e 2020 2020 2028 6c69 6e65 2020 3138 s. (line 18\n-000211b0: 290a 2a20 676c 6f62 616c 206f 7074 696f ).* global optio\n-000211c0: 6e73 203c 313e 3a20 2020 2020 2020 2020 ns <1>: \n-000211d0: 2020 2020 2020 2020 2020 2047 6c6f 6261 Globa\n-000211e0: 6c20 6f70 7469 6f6e 732e 2020 2020 2020 l options. \n-000211f0: 286c 696e 6520 2020 3629 0a2a 2068 656c (line 6).* hel\n-00021200: 6978 3a20 2020 2020 2020 2020 2020 2020 ix: \n+00021190: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n+000211a0: 6f70 7469 6f6e 732e 2020 2020 2028 6c69 options. (li\n+000211b0: 6e65 2020 3138 290a 2a20 676c 6f62 616c ne 18).* global\n+000211c0: 206f 7074 696f 6e73 203c 313e 3a20 2020 options <1>: \n+000211d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000211e0: 2047 6c6f 6261 6c20 6f70 7469 6f6e 732e Global options.\n+000211f0: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n+00021200: 0a2a 2068 656c 6978 3a20 2020 2020 2020 .* helix: \n 00021210: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021220: 2020 2020 4472 6177 696e 6720 6120 736f Drawing a so\n-00021230: 6c69 642e 2020 2020 2028 6c69 6e65 2020 lid. (line \n-00021240: 3437 290a 2a20 6865 6c69 7820 3c31 3e3a 47).* helix <1>:\n-00021250: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021260: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol\n-00021270: 796c 696e 6520 7377 6565 7073 2e20 2020 yline sweeps. \n-00021280: 2020 286c 696e 6520 2031 3529 0a2a 2068 (line 15).* h\n-00021290: 656c 6c6f 2077 6f72 6c64 3a20 2020 2020 ello world: \n-000212a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000212b0: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl\n-000212c0: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line\n-000212d0: 2020 2037 290a 2a20 6869 6464 656e 2073 7).* hidden s\n-000212e0: 7572 6661 6365 2061 6c67 6f72 6974 686d urface algorithm\n-000212f0: 3a20 2020 2020 2020 2020 2020 2020 2048 : H\n-00021300: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. \n-00021310: 2020 2020 286c 696e 6520 2031 3929 0a2a (line 19).*\n-00021320: 2068 6964 6465 6e20 7375 7266 6163 6520 hidden surface \n-00021330: 616c 676f 7269 7468 6d20 3c31 3e3a 2020 algorithm <1>: \n-00021340: 2020 2020 2020 2020 5370 6563 6961 6c20 Special \n-00021350: 6f62 6a65 6374 732e 2020 2020 2028 6c69 objects. (li\n-00021360: 6e65 2020 3438 290a 2a20 6869 6464 656e ne 48).* hidden\n-00021370: 2073 7572 6661 6365 2061 6c67 6f72 6974 surface algorit\n-00021380: 686d 203c 323e 3a20 2020 2020 2020 2020 hm <2>: \n-00021390: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-000213a0: 616c 732e 2020 286c 696e 6520 2032 3429 als. (line 24)\n-000213b0: 0a2a 2068 6964 6465 6e20 7375 7266 6163 .* hidden surfac\n-000213c0: 6520 616c 676f 7269 7468 6d20 3c33 3e3a e algorithm <3>:\n-000213d0: 2020 2020 2020 2020 2020 4120 7465 6368 A tech\n-000213e0: 6e69 6361 6c20 6472 6177 696e 672e 2028 nical drawing. (\n-000213f0: 6c69 6e65 2020 3235 290a 2a20 6869 6464 line 25).* hidd\n-00021400: 656e 2073 7572 6661 6365 2061 6c67 6f72 en surface algor\n-00021410: 6974 686d 203c 343e 3a20 2020 2020 2020 ithm <4>: \n-00021420: 2020 2048 6964 6465 6e20 7375 7266 6163 Hidden surfac\n-00021430: 6520 7265 6d6f 7661 6c2e 0a20 2020 2020 e removal.. \n-00021440: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021220: 2020 2020 2020 2020 2020 4472 6177 696e Drawin\n+00021230: 6720 6120 736f 6c69 642e 2020 2020 2028 g a solid. (\n+00021240: 6c69 6e65 2020 3437 290a 2a20 6865 6c69 line 47).* heli\n+00021250: 7820 3c31 3e3a 2020 2020 2020 2020 2020 x <1>: \n+00021260: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021270: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee\n+00021280: 7073 2e20 2020 2020 286c 696e 6520 2031 ps. (line 1\n+00021290: 3529 0a2a 2068 656c 6c6f 2077 6f72 6c64 5).* hello world\n+000212a0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000212b0: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell\n+000212c0: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. \n+000212d0: 2028 6c69 6e65 2020 2037 290a 2a20 6869 (line 7).* hi\n+000212e0: 6464 656e 2073 7572 6661 6365 2061 6c67 dden surface alg\n+000212f0: 6f72 6974 686d 3a20 2020 2020 2020 2020 orithm: \n+00021300: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world\n+00021310: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n+00021320: 2031 3929 0a2a 2068 6964 6465 6e20 7375 19).* hidden su\n+00021330: 7266 6163 6520 616c 676f 7269 7468 6d20 rface algorithm \n+00021340: 3c31 3e3a 2020 2020 2020 2020 2020 5370 <1>: Sp\n+00021350: 6563 6961 6c20 6f62 6a65 6374 732e 2020 ecial objects. \n+00021360: 2020 2028 6c69 6e65 2020 3438 290a 2a20 (line 48).* \n+00021370: 6869 6464 656e 2073 7572 6661 6365 2061 hidden surface a\n+00021380: 6c67 6f72 6974 686d 203c 323e 3a20 2020 lgorithm <2>: \n+00021390: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n+000213a0: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin\n+000213b0: 6520 2032 3429 0a2a 2068 6964 6465 6e20 e 24).* hidden \n+000213c0: 7375 7266 6163 6520 616c 676f 7269 7468 surface algorith\n+000213d0: 6d20 3c33 3e3a 2020 2020 2020 2020 2020 m <3>: \n+000213e0: 4120 7465 6368 6e69 6361 6c20 6472 6177 A technical draw\n+000213f0: 696e 672e 2028 6c69 6e65 2020 3235 290a ing. (line 25).\n+00021400: 2a20 6869 6464 656e 2073 7572 6661 6365 * hidden surface\n+00021410: 2061 6c67 6f72 6974 686d 203c 343e 3a20 algorithm <4>: \n+00021420: 2020 2020 2020 2020 2048 6964 6465 6e20 Hidden \n+00021430: 7375 7266 6163 6520 7265 6d6f 7661 6c2e surface removal.\n+00021440: 0a20 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 2028 6c69 6e65 2020 (line \n-00021480: 2036 290a 2a20 6869 6572 6172 6368 6963 6).* hierarchic\n-00021490: 616c 206d 6f64 656c 3a20 2020 2020 2020 al model: \n-000214a0: 2020 2020 2020 2020 2020 2020 2041 2068 A h\n-000214b0: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n-000214c0: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. \n+00021470: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+00021480: 6c69 6e65 2020 2036 290a 2a20 6869 6572 line 6).* hier\n+00021490: 6172 6368 6963 616c 206d 6f64 656c 3a20 archical model: \n+000214a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000214b0: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica\n+000214c0: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. \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: 2028 6c69 6e65 2020 2036 290a 2a20 6964 (line 6).* id\n-00021510: 656e 7469 6669 6572 733a 2020 2020 2020 entifiers: \n+00021500: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n+00021510: 290a 2a20 6964 656e 7469 6669 6572 733a ).* identifiers:\n 00021520: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021530: 2020 2020 2049 6465 6e74 6966 6965 7273 Identifiers\n-00021540: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n-00021550: 2020 3729 0a2a 2069 6e63 6c75 6465 2066 7).* include f\n-00021560: 696c 653a 2020 2020 2020 2020 2020 2020 ile: \n-00021570: 2020 2020 2020 2020 2020 2020 2020 4c61 La\n-00021580: 6e67 7561 6765 2062 6173 6963 732e 2020 nguage basics. \n-00021590: 2020 2028 6c69 6e65 2020 3139 290a 2a20 (line 19).* \n-000215a0: 696e 7075 7420 6669 6c65 3a20 2020 2020 input file: \n-000215b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000215c0: 2020 2020 2020 204c 616e 6775 6167 6520 Language \n-000215d0: 6261 7369 6373 2e20 2020 2020 286c 696e basics. (lin\n-000215e0: 6520 2020 3629 0a2a 2069 6e74 6572 6e61 e 6).* interna\n-000215f0: 6c20 6f70 7469 6f6e 3a20 2020 2020 2020 l option: \n+00021530: 2020 2020 2020 2020 2020 2049 6465 6e74 Ident\n+00021540: 6966 6965 7273 2e20 2020 2020 2020 2020 ifiers. \n+00021550: 286c 696e 6520 2020 3729 0a2a 2069 6e63 (line 7).* inc\n+00021560: 6c75 6465 2066 696c 653a 2020 2020 2020 lude file: \n+00021570: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021580: 2020 2020 4c61 6e67 7561 6765 2062 6173 Language bas\n+00021590: 6963 732e 2020 2020 2028 6c69 6e65 2020 ics. (line \n+000215a0: 3139 290a 2a20 696e 7075 7420 6669 6c65 19).* input file\n+000215b0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000215c0: 2020 2020 2020 2020 2020 2020 204c 616e Lan\n+000215d0: 6775 6167 6520 6261 7369 6373 2e20 2020 guage basics. \n+000215e0: 2020 286c 696e 6520 2020 3629 0a2a 2069 (line 6).* i\n+000215f0: 6e74 6572 6e61 6c20 6f70 7469 6f6e 3a20 nternal option: \n 00021600: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021610: 5370 6563 6961 6c20 6f62 6a65 6374 732e Special objects.\n-00021620: 2020 2020 2028 6c69 6e65 2020 3437 290a (line 47).\n-00021630: 2a20 696e 7465 726e 616c 206f 7074 696f * internal optio\n-00021640: 6e73 3a20 2020 2020 2020 2020 2020 2020 ns: \n-00021650: 2020 2020 2020 2020 2049 6e74 6572 6e61 Interna\n-00021660: 6c20 6f70 7469 6f6e 732e 2020 2020 286c l options. (l\n-00021670: 696e 6520 2020 3629 0a2a 2069 6e74 6572 ine 6).* inter\n-00021680: 6e61 6c20 6f70 7469 6f6e 7320 3c31 3e3a nal options <1>:\n-00021690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000216a0: 2020 476c 6f62 616c 206f 7074 696f 6e73 Global options\n-000216b0: 2e20 2020 2020 2028 6c69 6e65 2020 3132 . (line 12\n-000216c0: 290a 2a20 6b65 7977 6f72 6473 3a20 2020 ).* keywords: \n-000216d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000216e0: 2020 2020 2020 2020 2020 204b 6579 2061 Key a\n-000216f0: 6e64 2072 6573 6572 7665 6420 776f 7264 nd reserved word\n-00021700: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \n+00021610: 2020 2020 2020 5370 6563 6961 6c20 6f62 Special ob\n+00021620: 6a65 6374 732e 2020 2020 2028 6c69 6e65 jects. (line\n+00021630: 2020 3437 290a 2a20 696e 7465 726e 616c 47).* internal\n+00021640: 206f 7074 696f 6e73 3a20 2020 2020 2020 options: \n+00021650: 2020 2020 2020 2020 2020 2020 2020 2049 I\n+00021660: 6e74 6572 6e61 6c20 6f70 7469 6f6e 732e nternal options.\n+00021670: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+00021680: 2069 6e74 6572 6e61 6c20 6f70 7469 6f6e internal option\n+00021690: 7320 3c31 3e3a 2020 2020 2020 2020 2020 s <1>: \n+000216a0: 2020 2020 2020 2020 476c 6f62 616c 206f Global o\n+000216b0: 7074 696f 6e73 2e20 2020 2020 2028 6c69 ptions. (li\n+000216c0: 6e65 2020 3132 290a 2a20 6b65 7977 6f72 ne 12).* keywor\n+000216d0: 6473 3a20 2020 2020 2020 2020 2020 2020 ds: \n+000216e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000216f0: 204b 6579 2061 6e64 2072 6573 6572 7665 Key and reserve\n+00021700: 6420 776f 7264 732e 0a20 2020 2020 2020 d words.. \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: 2028 6c69 6e65 2020 2036 290a 2a20 6c61 (line 6).* la\n-00021750: 6265 6c73 3a20 2020 2020 2020 2020 2020 bels: \n+00021740: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n+00021750: 290a 2a20 6c61 6265 6c73 3a20 2020 2020 ).* labels: \n 00021760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021770: 2020 2020 2053 7065 6369 616c 206f 626a Special obj\n-00021780: 6563 7473 2e20 2020 2020 286c 696e 6520 ects. (line \n-00021790: 2020 3629 0a2a 206c 616e 6775 6167 652c 6).* language,\n-000217a0: 2064 6563 6c61 7261 7469 7665 3a20 2020 declarative: \n-000217b0: 2020 2020 2020 2020 2020 2020 2020 4c61 La\n-000217c0: 6e67 7561 6765 2062 6173 6963 732e 2020 nguage basics. \n-000217d0: 2020 2028 6c69 6e65 2020 2038 290a 2a20 (line 8).* \n-000217e0: 6c61 6e67 7561 6765 2c20 6f75 7470 7574 language, output\n-000217f0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00021800: 2020 2020 2020 204c 616e 6775 6167 652e Language.\n-00021810: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00021820: 6520 2020 3629 0a2a 206c 616e 6775 6167 e 6).* languag\n-00021830: 652c 2073 6365 6e65 2064 6573 6372 6970 e, scene descrip\n-00021840: 7469 6f6e 3a20 2020 2020 2020 2020 2020 tion: \n-00021850: 4c61 6e67 7561 6765 2062 6173 6963 732e Language basics.\n-00021860: 2020 2020 2028 6c69 6e65 2020 2038 290a (line 8).\n-00021870: 2a20 6c65 7869 6361 6c20 7363 6f70 653a * lexical scope:\n-00021880: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021890: 2020 2020 2020 2020 204f 626a 6563 7420 Object \n-000218a0: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l\n-000218b0: 696e 6520 2032 3629 0a2a 206c 6578 6963 ine 26).* lexic\n-000218c0: 616c 2073 636f 7065 203c 313e 3a20 2020 al scope <1>: \n-000218d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000218e0: 2020 426c 6f63 6b73 2e20 2020 2020 2020 Blocks. \n-000218f0: 2020 2020 2020 2028 6c69 6e65 2020 3133 (line 13\n-00021900: 290a 2a20 6c69 6e65 2073 7765 6570 3a20 ).* line sweep: \n-00021910: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021920: 2020 2020 2020 2020 2020 2050 6f6c 796c Polyl\n-00021930: 696e 6520 7377 6565 7073 2e20 2020 2020 ine sweeps. \n-00021940: 286c 696e 6520 2020 3629 0a2a 206c 696e (line 6).* lin\n-00021950: 6520 7377 6565 7020 3c31 3e3a 2020 2020 e sweep <1>: \n-00021960: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021970: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines.\n-00021980: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00021990: 2036 290a 2a20 6c69 6e65 2073 7765 6570 6).* line sweep\n-000219a0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-000219b0: 2020 2020 2020 2020 2020 2020 2041 2074 A t\n-000219c0: 6563 686e 6963 616c 2064 7261 7769 6e67 echnical drawing\n-000219d0: 2e20 286c 696e 6520 2032 3029 0a2a 206c . (line 20).* l\n-000219e0: 6974 6572 616c 2c20 706f 696e 743a 2020 iteral, point: \n-000219f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021a00: 2020 2020 2020 506f 696e 7420 616e 6420 Point and \n-00021a10: 7665 6374 6f72 206c 6974 6572 616c 732e vector literals.\n-00021a20: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+00021770: 2020 2020 2020 2020 2020 2053 7065 6369 Speci\n+00021780: 616c 206f 626a 6563 7473 2e20 2020 2020 al objects. \n+00021790: 286c 696e 6520 2020 3629 0a2a 206c 616e (line 6).* lan\n+000217a0: 6775 6167 652c 2064 6563 6c61 7261 7469 guage, declarati\n+000217b0: 7665 3a20 2020 2020 2020 2020 2020 2020 ve: \n+000217c0: 2020 2020 4c61 6e67 7561 6765 2062 6173 Language bas\n+000217d0: 6963 732e 2020 2020 2028 6c69 6e65 2020 ics. (line \n+000217e0: 2038 290a 2a20 6c61 6e67 7561 6765 2c20 8).* language, \n+000217f0: 6f75 7470 7574 3a20 2020 2020 2020 2020 output: \n+00021800: 2020 2020 2020 2020 2020 2020 204c 616e Lan\n+00021810: 6775 6167 652e 2020 2020 2020 2020 2020 guage. \n+00021820: 2020 286c 696e 6520 2020 3629 0a2a 206c (line 6).* l\n+00021830: 616e 6775 6167 652c 2073 6365 6e65 2064 anguage, scene d\n+00021840: 6573 6372 6970 7469 6f6e 3a20 2020 2020 escription: \n+00021850: 2020 2020 2020 4c61 6e67 7561 6765 2062 Language b\n+00021860: 6173 6963 732e 2020 2020 2028 6c69 6e65 asics. (line\n+00021870: 2020 2038 290a 2a20 6c65 7869 6361 6c20 8).* lexical \n+00021880: 7363 6f70 653a 2020 2020 2020 2020 2020 scope: \n+00021890: 2020 2020 2020 2020 2020 2020 2020 204f O\n+000218a0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n+000218b0: 2e20 2020 286c 696e 6520 2032 3629 0a2a . (line 26).*\n+000218c0: 206c 6578 6963 616c 2073 636f 7065 203c lexical scope <\n+000218d0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+000218e0: 2020 2020 2020 2020 426c 6f63 6b73 2e20 Blocks. \n+000218f0: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00021900: 6e65 2020 3133 290a 2a20 6c69 6e65 2073 ne 13).* line s\n+00021910: 7765 6570 3a20 2020 2020 2020 2020 2020 weep: \n+00021920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021930: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n+00021940: 2e20 2020 2020 286c 696e 6520 2020 3629 . (line 6)\n+00021950: 0a2a 206c 696e 6520 7377 6565 7020 3c31 .* line sweep <1\n+00021960: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00021970: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+00021980: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. (\n+00021990: 6c69 6e65 2020 2036 290a 2a20 6c69 6e65 line 6).* line\n+000219a0: 2073 7765 6570 203c 323e 3a20 2020 2020 sweep <2>: \n+000219b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000219c0: 2020 2041 2074 6563 686e 6963 616c 2064 A technical d\n+000219d0: 7261 7769 6e67 2e20 286c 696e 6520 2032 rawing. (line 2\n+000219e0: 3029 0a2a 206c 6974 6572 616c 2c20 706f 0).* literal, po\n+000219f0: 696e 743a 2020 2020 2020 2020 2020 2020 int: \n+00021a00: 2020 2020 2020 2020 2020 2020 506f 696e Poin\n+00021a10: 7420 616e 6420 7665 6374 6f72 206c 6974 t and vector lit\n+00021a20: 6572 616c 732e 0a20 2020 2020 2020 2020 erals.. \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 2028 (\n-00021a60: 6c69 6e65 2020 2036 290a 2a20 6c69 7465 line 6).* lite\n-00021a70: 7261 6c2c 2073 6361 6c61 723a 2020 2020 ral, scalar: \n-00021a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021a90: 2020 2053 6361 6c61 7220 6c69 7465 7261 Scalar litera\n-00021aa0: 6c73 2e20 2020 2020 286c 696e 6520 2020 ls. (line \n-00021ab0: 3629 0a2a 206c 6974 6572 616c 2c20 7472 6).* literal, tr\n-00021ac0: 616e 7366 6f72 6d3a 2020 2020 2020 2020 ansform: \n-00021ad0: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n-00021ae0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n-00021af0: 2028 6c69 6e65 2020 2036 290a 2a20 6c69 (line 6).* li\n-00021b00: 7465 7261 6c2c 2076 6563 746f 723a 2020 teral, vector: \n-00021b10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021b20: 2020 2020 2050 6f69 6e74 2061 6e64 2076 Point and v\n-00021b30: 6563 746f 7220 6c69 7465 7261 6c73 2e0a ector literals..\n-00021b40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021a60: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n+00021a70: 2a20 6c69 7465 7261 6c2c 2073 6361 6c61 * literal, scala\n+00021a80: 723a 2020 2020 2020 2020 2020 2020 2020 r: \n+00021a90: 2020 2020 2020 2020 2053 6361 6c61 7220 Scalar \n+00021aa0: 6c69 7465 7261 6c73 2e20 2020 2020 286c literals. (l\n+00021ab0: 696e 6520 2020 3629 0a2a 206c 6974 6572 ine 6).* liter\n+00021ac0: 616c 2c20 7472 616e 7366 6f72 6d3a 2020 al, transform: \n+00021ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021ae0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n+00021af0: 7261 6c73 2e20 2028 6c69 6e65 2020 2036 rals. (line 6\n+00021b00: 290a 2a20 6c69 7465 7261 6c2c 2076 6563 ).* literal, vec\n+00021b10: 746f 723a 2020 2020 2020 2020 2020 2020 tor: \n+00021b20: 2020 2020 2020 2020 2020 2050 6f69 6e74 Point\n+00021b30: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite\n+00021b40: 7261 6c73 2e0a 2020 2020 2020 2020 2020 rals.. \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 286c (l\n-00021b80: 696e 6520 2020 3629 0a2a 206e 6573 7469 ine 6).* nesti\n-00021b90: 6e67 2c20 7377 6570 7420 6f62 6a65 6374 ng, swept object\n-00021ba0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00021bb0: 2020 4e65 7374 6564 2073 7765 6570 732e Nested sweeps.\n-00021bc0: 2020 2020 2020 2028 6c69 6e65 2020 3232 (line 22\n-00021bd0: 290a 2a20 6f6e 652d 6f70 6572 616e 6420 ).* one-operand \n-00021be0: 666f 726d 3a20 2020 2020 2020 2020 2020 form: \n-00021bf0: 2020 2020 2020 2020 2020 2055 6e61 7279 Unary\n-00021c00: 2066 6f72 6d73 2e20 2020 2020 2020 2020 forms. \n-00021c10: 286c 696e 6520 2020 3629 0a2a 206f 7065 (line 6).* ope\n-00021c20: 7261 746f 7220 6173 736f 6369 6174 6976 rator associativ\n-00021c30: 6974 793a 2020 2020 2020 2020 2020 2020 ity: \n-00021c40: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand \n-00021c50: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms..\n-00021c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021b70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021b80: 2020 2020 286c 696e 6520 2020 3629 0a2a (line 6).*\n+00021b90: 206e 6573 7469 6e67 2c20 7377 6570 7420 nesting, swept \n+00021ba0: 6f62 6a65 6374 3a20 2020 2020 2020 2020 object: \n+00021bb0: 2020 2020 2020 2020 4e65 7374 6564 2073 Nested s\n+00021bc0: 7765 6570 732e 2020 2020 2020 2028 6c69 weeps. (li\n+00021bd0: 6e65 2020 3232 290a 2a20 6f6e 652d 6f70 ne 22).* one-op\n+00021be0: 6572 616e 6420 666f 726d 3a20 2020 2020 erand form: \n+00021bf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021c00: 2055 6e61 7279 2066 6f72 6d73 2e20 2020 Unary forms. \n+00021c10: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n+00021c20: 0a2a 206f 7065 7261 746f 7220 6173 736f .* operator asso\n+00021c30: 6369 6174 6976 6974 793a 2020 2020 2020 ciativity: \n+00021c40: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op\n+00021c50: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n+00021c60: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. \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 286c (l\n-00021ca0: 696e 6520 2035 3829 0a2a 206f 7065 7261 ine 58).* opera\n-00021cb0: 746f 7220 7072 6563 6564 656e 6365 3a20 tor precedence: \n-00021cc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021cd0: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b\n-00021ce0: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. \n-00021cf0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021c90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021ca0: 2020 2020 286c 696e 6520 2035 3829 0a2a (line 58).*\n+00021cb0: 206f 7065 7261 746f 7220 7072 6563 6564 operator preced\n+00021cc0: 656e 6365 3a20 2020 2020 2020 2020 2020 ence: \n+00021cd0: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper\n+00021ce0: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for\n+00021cf0: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. \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 286c 696e (lin\n-00021d30: 6520 2034 3529 0a2a 206f 7074 696f 6e3a e 45).* option:\n-00021d40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021d30: 2020 286c 696e 6520 2034 3529 0a2a 206f (line 45).* o\n+00021d40: 7074 696f 6e3a 2020 2020 2020 2020 2020 ption: \n 00021d50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021d60: 4472 6177 696e 6720 6f70 7469 6f6e 732e Drawing options.\n-00021d70: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n-00021d80: 2a20 6f70 7469 6f6e 2c20 636f 6d6d 616e * option, comman\n-00021d90: 6420 6c69 6e65 3a20 2020 2020 2020 2020 d line: \n-00021da0: 2020 2020 2020 2020 2048 656c 6c6f 2077 Hello w\n-00021db0: 6f72 6c64 2e20 2020 2020 2020 2020 286c orld. (l\n-00021dc0: 696e 6520 2033 3029 0a2a 206f 7074 696f ine 30).* optio\n-00021dd0: 6e2c 2069 6e74 6572 6e61 6c3a 2020 2020 n, internal: \n-00021de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021df0: 2020 5370 6563 6961 6c20 6f62 6a65 6374 Special object\n-00021e00: 732e 2020 2020 2028 6c69 6e65 2020 3437 s. (line 47\n-00021e10: 290a 2a20 6f70 7469 6f6e 733a 2020 2020 ).* options: \n-00021e20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021e30: 2020 2020 2020 2020 2020 204f 7074 696f Optio\n-00021e40: 6e73 2e20 2020 2020 2020 2020 2020 2020 ns. \n-00021e50: 286c 696e 6520 2020 3629 0a2a 206f 7074 (line 6).* opt\n-00021e60: 696f 6e73 2064 6566 696e 6974 696f 6e3a ions definition:\n-00021e70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00021e80: 2020 2020 506f 6c79 6c69 6e65 2073 7765 Polyline swe\n-00021e90: 6570 7320 7769 7468 2063 6c6f 7375 7265 eps with closure\n-00021ea0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00021d60: 2020 2020 2020 4472 6177 696e 6720 6f70 Drawing op\n+00021d70: 7469 6f6e 732e 2020 2020 2028 6c69 6e65 tions. (line\n+00021d80: 2020 2036 290a 2a20 6f70 7469 6f6e 2c20 6).* option, \n+00021d90: 636f 6d6d 616e 6420 6c69 6e65 3a20 2020 command line: \n+00021da0: 2020 2020 2020 2020 2020 2020 2020 2048 H\n+00021db0: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. \n+00021dc0: 2020 2020 286c 696e 6520 2033 3029 0a2a (line 30).*\n+00021dd0: 206f 7074 696f 6e2c 2069 6e74 6572 6e61 option, interna\n+00021de0: 6c3a 2020 2020 2020 2020 2020 2020 2020 l: \n+00021df0: 2020 2020 2020 2020 5370 6563 6961 6c20 Special \n+00021e00: 6f62 6a65 6374 732e 2020 2020 2028 6c69 objects. (li\n+00021e10: 6e65 2020 3437 290a 2a20 6f70 7469 6f6e ne 47).* option\n+00021e20: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n+00021e30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021e40: 204f 7074 696f 6e73 2e20 2020 2020 2020 Options. \n+00021e50: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n+00021e60: 0a2a 206f 7074 696f 6e73 2064 6566 696e .* options defin\n+00021e70: 6974 696f 6e3a 2020 2020 2020 2020 2020 ition: \n+00021e80: 2020 2020 2020 2020 2020 506f 6c79 6c69 Polyli\n+00021e90: 6e65 2073 7765 6570 7320 7769 7468 2063 ne sweeps with c\n+00021ea0: 6c6f 7375 7265 2e0a 2020 2020 2020 2020 losure.. \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: 286c 696e 6520 2032 3329 0a2a 206f 7074 (line 23).* opt\n-00021ef0: 696f 6e73 206d 756c 7469 706c 6520 7265 ions multiple re\n-00021f00: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: \n-00021f10: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref\n-00021f20: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line \n-00021f30: 3138 290a 2a20 6f70 7469 6f6e 7320 7265 18).* options re\n-00021f40: 6665 7265 6e63 653a 2020 2020 2020 2020 ference: \n-00021f50: 2020 2020 2020 2020 2020 2020 2046 6f72 For\n-00021f60: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n-00021f70: 2e20 286c 696e 6520 2031 3829 0a2a 206f . (line 18).* o\n-00021f80: 7074 696f 6e73 2c20 636f 6d6d 616e 6420 ptions, command \n-00021f90: 6c69 6e65 3a20 2020 2020 2020 2020 2020 line: \n-00021fa0: 2020 2020 2020 436f 6d6d 616e 6420 6c69 Command li\n-00021fb0: 6e65 2e20 2020 2020 2020 2028 6c69 6e65 ne. (line\n-00021fc0: 2020 3134 290a 2a20 6f70 7469 6f6e 732c 14).* options,\n-00021fd0: 2067 6c6f 6261 6c3a 2020 2020 2020 2020 global: \n-00021fe0: 2020 2020 2020 2020 2020 2020 2020 2044 D\n-00021ff0: 7261 7769 6e67 206f 7074 696f 6e73 2e20 rawing options. \n-00022000: 2020 2020 286c 696e 6520 2031 3829 0a2a (line 18).*\n-00022010: 206f 7074 696f 6e73 2c20 676c 6f62 616c options, global\n-00022020: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n-00022030: 2020 2020 2020 2020 476c 6f62 616c 206f Global o\n-00022040: 7074 696f 6e73 2e20 2020 2020 2028 6c69 ptions. (li\n-00022050: 6e65 2020 2036 290a 2a20 6f70 7469 6f6e ne 6).* option\n-00022060: 732c 2069 6e74 6572 6e61 6c3a 2020 2020 s, internal: \n-00022070: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022080: 2049 6e74 6572 6e61 6c20 6f70 7469 6f6e Internal option\n-00022090: 732e 2020 2020 286c 696e 6520 2020 3629 s. (line 6)\n-000220a0: 0a2a 206f 7074 696f 6e73 2c20 696e 7465 .* options, inte\n-000220b0: 726e 616c 203c 313e 3a20 2020 2020 2020 rnal <1>: \n-000220c0: 2020 2020 2020 2020 2020 476c 6f62 616c Global\n-000220d0: 206f 7074 696f 6e73 2e20 2020 2020 2028 options. (\n-000220e0: 6c69 6e65 2020 3132 290a 2a20 6f70 7469 line 12).* opti\n-000220f0: 6f6e 732c 2073 7765 6570 3a20 2020 2020 ons, sweep: \n-00022100: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022110: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee\n-00022120: 7073 2e20 2020 2020 286c 696e 6520 2031 ps. (line 1\n-00022130: 3629 0a2a 206f 7074 696f 6e73 2c20 7377 6).* options, sw\n-00022140: 6565 7020 3c31 3e3a 2020 2020 2020 2020 eep <1>: \n-00022150: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n-00022160: 676f 6e20 7377 6565 7073 2e20 2020 2020 gon sweeps. \n-00022170: 2028 6c69 6e65 2020 2039 290a 2a20 6f70 (line 9).* op\n-00022180: 7469 6f6e 732c 2073 7765 6570 203c 323e tions, sweep <2>\n-00022190: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000221a0: 2020 2020 2053 7765 7074 2070 6f69 6e74 Swept point\n-000221b0: 732e 2020 2020 2020 2020 286c 696e 6520 s. (line \n-000221c0: 2032 3129 0a2a 206f 7074 696f 6e73 2c20 21).* options, \n-000221d0: 7377 6565 7020 3c33 3e3a 2020 2020 2020 sweep <3>: \n-000221e0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-000221f0: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. \n-00022200: 2020 2028 6c69 6e65 2020 3235 290a 2a20 (line 25).* \n-00022210: 6f70 7469 6f6e 732c 2073 7765 6570 203c options, sweep <\n-00022220: 343e 3a20 2020 2020 2020 2020 2020 2020 4>: \n-00022230: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin\n-00022240: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin\n-00022250: 6520 2034 3829 0a2a 206f 7074 696f 6e73 e 48).* options\n-00022260: 2c20 7377 6570 7420 6f62 6a65 6374 3a20 , swept object: \n-00022270: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022280: 506f 6c79 676f 6e20 7377 6565 7073 2e20 Polygon sweeps. \n-00022290: 2020 2020 2028 6c69 6e65 2020 2038 290a (line 8).\n-000222a0: 2a20 6f70 7469 6f6e 732c 2073 7765 7074 * options, swept\n-000222b0: 206f 626a 6563 7420 3c31 3e3a 2020 2020 object <1>: \n-000222c0: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin\n-000222d0: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl\n-000222e0: 6f73 7572 652e 0a20 2020 2020 2020 2020 osure.. \n+00021ee0: 2020 2020 2020 286c 696e 6520 2032 3329 (line 23)\n+00021ef0: 0a2a 206f 7074 696f 6e73 206d 756c 7469 .* options multi\n+00021f00: 706c 6520 7265 6665 7265 6e63 653a 2020 ple reference: \n+00021f10: 2020 2020 2020 2020 2020 466f 726d 7320 Forms \n+00021f20: 6f66 2072 6566 6572 656e 6365 732e 2028 of references. (\n+00021f30: 6c69 6e65 2020 3138 290a 2a20 6f70 7469 line 18).* opti\n+00021f40: 6f6e 7320 7265 6665 7265 6e63 653a 2020 ons reference: \n+00021f50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021f60: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe\n+00021f70: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1\n+00021f80: 3829 0a2a 206f 7074 696f 6e73 2c20 636f 8).* options, co\n+00021f90: 6d6d 616e 6420 6c69 6e65 3a20 2020 2020 mmand line: \n+00021fa0: 2020 2020 2020 2020 2020 2020 436f 6d6d Comm\n+00021fb0: 616e 6420 6c69 6e65 2e20 2020 2020 2020 and line. \n+00021fc0: 2028 6c69 6e65 2020 3134 290a 2a20 6f70 (line 14).* op\n+00021fd0: 7469 6f6e 732c 2067 6c6f 6261 6c3a 2020 tions, global: \n+00021fe0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00021ff0: 2020 2020 2044 7261 7769 6e67 206f 7074 Drawing opt\n+00022000: 696f 6e73 2e20 2020 2020 286c 696e 6520 ions. (line \n+00022010: 2031 3829 0a2a 206f 7074 696f 6e73 2c20 18).* options, \n+00022020: 676c 6f62 616c 203c 313e 3a20 2020 2020 global <1>: \n+00022030: 2020 2020 2020 2020 2020 2020 2020 476c Gl\n+00022040: 6f62 616c 206f 7074 696f 6e73 2e20 2020 obal options. \n+00022050: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00022060: 6f70 7469 6f6e 732c 2069 6e74 6572 6e61 options, interna\n+00022070: 6c3a 2020 2020 2020 2020 2020 2020 2020 l: \n+00022080: 2020 2020 2020 2049 6e74 6572 6e61 6c20 Internal \n+00022090: 6f70 7469 6f6e 732e 2020 2020 286c 696e options. (lin\n+000220a0: 6520 2020 3629 0a2a 206f 7074 696f 6e73 e 6).* options\n+000220b0: 2c20 696e 7465 726e 616c 203c 313e 3a20 , internal <1>: \n+000220c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000220d0: 476c 6f62 616c 206f 7074 696f 6e73 2e20 Global options. \n+000220e0: 2020 2020 2028 6c69 6e65 2020 3132 290a (line 12).\n+000220f0: 2a20 6f70 7469 6f6e 732c 2073 7765 6570 * options, sweep\n+00022100: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00022110: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin\n+00022120: 6520 7377 6565 7073 2e20 2020 2020 286c e sweeps. (l\n+00022130: 696e 6520 2031 3629 0a2a 206f 7074 696f ine 16).* optio\n+00022140: 6e73 2c20 7377 6565 7020 3c31 3e3a 2020 ns, sweep <1>: \n+00022150: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022160: 2020 506f 6c79 676f 6e20 7377 6565 7073 Polygon sweeps\n+00022170: 2e20 2020 2020 2028 6c69 6e65 2020 2039 . (line 9\n+00022180: 290a 2a20 6f70 7469 6f6e 732c 2073 7765 ).* options, swe\n+00022190: 6570 203c 323e 3a20 2020 2020 2020 2020 ep <2>: \n+000221a0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n+000221b0: 2070 6f69 6e74 732e 2020 2020 2020 2020 points. \n+000221c0: 286c 696e 6520 2032 3129 0a2a 206f 7074 (line 21).* opt\n+000221d0: 696f 6e73 2c20 7377 6565 7020 3c33 3e3a ions, sweep <3>:\n+000221e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000221f0: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines.\n+00022200: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00022210: 3235 290a 2a20 6f70 7469 6f6e 732c 2073 25).* options, s\n+00022220: 7765 6570 203c 343e 3a20 2020 2020 2020 weep <4>: \n+00022230: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+00022240: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. \n+00022250: 2020 286c 696e 6520 2034 3829 0a2a 206f (line 48).* o\n+00022260: 7074 696f 6e73 2c20 7377 6570 7420 6f62 ptions, swept ob\n+00022270: 6a65 6374 3a20 2020 2020 2020 2020 2020 ject: \n+00022280: 2020 2020 2020 506f 6c79 676f 6e20 7377 Polygon sw\n+00022290: 6565 7073 2e20 2020 2020 2028 6c69 6e65 eeps. (line\n+000222a0: 2020 2038 290a 2a20 6f70 7469 6f6e 732c 8).* options,\n+000222b0: 2073 7765 7074 206f 626a 6563 7420 3c31 swept object <1\n+000222c0: 3e3a 2020 2020 2020 2020 2020 2020 2050 >: P\n+000222d0: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w\n+000222e0: 6974 6820 636c 6f73 7572 652e 0a20 2020 ith 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 2028 6c69 6e65 2020 3232 290a (line 22).\n-00022330: 2a20 6f70 7469 6f6e 732c 2073 7765 7074 * options, swept\n-00022340: 206f 626a 6563 7420 3c32 3e3a 2020 2020 object <2>: \n-00022350: 2020 2020 2020 2020 2053 7765 7074 206c Swept l\n-00022360: 696e 6573 2e20 2020 2020 2020 2020 286c ines. (l\n-00022370: 696e 6520 2032 3629 0a2a 206f 7074 696f ine 26).* optio\n-00022380: 6e73 2c20 7377 6570 7420 6f62 6a65 6374 ns, swept object\n-00022390: 203c 333e 3a20 2020 2020 2020 2020 2020 <3>: \n-000223a0: 2020 5377 6570 7420 6c69 6e65 732e 2020 Swept lines. \n-000223b0: 2020 2020 2020 2028 6c69 6e65 2020 3438 (line 48\n-000223c0: 290a 2a20 6f72 6465 722c 2070 6f6c 7967 ).* order, polyg\n-000223d0: 6f6e 2076 6572 7465 783a 2020 2020 2020 on vertex: \n-000223e0: 2020 2020 2020 2020 2020 2048 656c 6c6f Hello\n-000223f0: 2077 6f72 6c64 2e20 2020 2020 2020 2020 world. \n-00022400: 286c 696e 6520 2033 3929 0a2a 206f 7264 (line 39).* ord\n-00022410: 6572 2c20 706f 6c79 676f 6e20 7665 7274 er, polygon vert\n-00022420: 6578 203c 313e 3a20 2020 2020 2020 2020 ex <1>: \n-00022430: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines.\n-00022440: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00022450: 3134 290a 2a20 6f72 6465 722c 2070 6f6c 14).* order, pol\n-00022460: 7967 6f6e 2076 6572 7465 7820 3c32 3e3a ygon vertex <2>:\n-00022470: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-00022480: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. \n-00022490: 2020 286c 696e 6520 2034 3029 0a2a 206f (line 40).* o\n-000224a0: 7264 6572 2c20 706f 6c79 676f 6e20 7665 rder, polygon ve\n-000224b0: 7274 6578 203c 333e 3a20 2020 2020 2020 rtex <3>: \n-000224c0: 2020 2020 2020 5377 6570 7420 706f 6c79 Swept poly\n-000224d0: 676f 6e73 2e20 2020 2020 2028 6c69 6e65 gons. (line\n-000224e0: 2020 3139 290a 2a20 6f72 6465 722c 2070 19).* order, p\n-000224f0: 6f6c 7967 6f6e 2076 6572 7465 7820 3c34 olygon vertex <4\n-00022500: 3e3a 2020 2020 2020 2020 2020 2020 204f >: O\n-00022510: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n-00022520: 2020 2020 286c 696e 6520 2033 3729 0a2a (line 37).*\n-00022530: 206f 7264 6572 2c20 706f 6c79 676f 6e20 order, polygon \n-00022540: 7665 7274 6578 203c 353e 3a20 2020 2020 vertex <5>: \n-00022550: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview\n-00022560: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li\n-00022570: 6e65 2020 3535 290a 2a20 6f75 7470 7574 ne 55).* output\n-00022580: 206c 616e 6775 6167 653a 2020 2020 2020 language: \n+00022320: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00022330: 2020 3232 290a 2a20 6f70 7469 6f6e 732c 22).* options,\n+00022340: 2073 7765 7074 206f 626a 6563 7420 3c32 swept object <2\n+00022350: 3e3a 2020 2020 2020 2020 2020 2020 2053 >: S\n+00022360: 7765 7074 206c 696e 6573 2e20 2020 2020 wept lines. \n+00022370: 2020 2020 286c 696e 6520 2032 3629 0a2a (line 26).*\n+00022380: 206f 7074 696f 6e73 2c20 7377 6570 7420 options, swept \n+00022390: 6f62 6a65 6374 203c 333e 3a20 2020 2020 object <3>: \n+000223a0: 2020 2020 2020 2020 5377 6570 7420 6c69 Swept li\n+000223b0: 6e65 732e 2020 2020 2020 2020 2028 6c69 nes. (li\n+000223c0: 6e65 2020 3438 290a 2a20 6f72 6465 722c ne 48).* order,\n+000223d0: 2070 6f6c 7967 6f6e 2076 6572 7465 783a polygon vertex:\n+000223e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000223f0: 2048 656c 6c6f 2077 6f72 6c64 2e20 2020 Hello world. \n+00022400: 2020 2020 2020 286c 696e 6520 2033 3929 (line 39)\n+00022410: 0a2a 206f 7264 6572 2c20 706f 6c79 676f .* order, polygo\n+00022420: 6e20 7665 7274 6578 203c 313e 3a20 2020 n vertex <1>: \n+00022430: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+00022440: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. (\n+00022450: 6c69 6e65 2020 3134 290a 2a20 6f72 6465 line 14).* orde\n+00022460: 722c 2070 6f6c 7967 6f6e 2076 6572 7465 r, polygon verte\n+00022470: 7820 3c32 3e3a 2020 2020 2020 2020 2020 x <2>: \n+00022480: 2020 2053 7765 7074 206c 696e 6573 2e20 Swept lines. \n+00022490: 2020 2020 2020 2020 286c 696e 6520 2034 (line 4\n+000224a0: 3029 0a2a 206f 7264 6572 2c20 706f 6c79 0).* order, poly\n+000224b0: 676f 6e20 7665 7274 6578 203c 333e 3a20 gon vertex <3>: \n+000224c0: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n+000224d0: 7420 706f 6c79 676f 6e73 2e20 2020 2020 t polygons. \n+000224e0: 2028 6c69 6e65 2020 3139 290a 2a20 6f72 (line 19).* or\n+000224f0: 6465 722c 2070 6f6c 7967 6f6e 2076 6572 der, polygon ver\n+00022500: 7465 7820 3c34 3e3a 2020 2020 2020 2020 tex <4>: \n+00022510: 2020 2020 204f 7665 7276 6965 772e 2020 Overview. \n+00022520: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00022530: 2033 3729 0a2a 206f 7264 6572 2c20 706f 37).* order, po\n+00022540: 6c79 676f 6e20 7665 7274 6578 203c 353e lygon vertex <5>\n+00022550: 3a20 2020 2020 2020 2020 2020 2020 4f76 : Ov\n+00022560: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. \n+00022570: 2020 2028 6c69 6e65 2020 3535 290a 2a20 (line 55).* \n+00022580: 6f75 7470 7574 206c 616e 6775 6167 653a output language:\n 00022590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000225a0: 204c 616e 6775 6167 652e 2020 2020 2020 Language. \n-000225b0: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n-000225c0: 0a2a 206f 7574 7369 6465 206f 6620 6120 .* outside of a \n-000225d0: 706f 6c79 676f 6e3a 2020 2020 2020 2020 polygon: \n-000225e0: 2020 2020 2020 2020 2020 4865 6c6c 6f20 Hello \n-000225f0: 776f 726c 642e 2020 2020 2020 2020 2028 world. (\n-00022600: 6c69 6e65 2020 3337 290a 2a20 7061 7261 line 37).* para\n-00022610: 6c6c 656c 2070 726f 6a65 6374 696f 6e3a llel projection:\n-00022620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022630: 2020 2048 656c 6c6f 2077 6f72 6c64 2e20 Hello world. \n-00022640: 2020 2020 2020 2020 286c 696e 6520 2032 (line 2\n-00022650: 3629 0a2a 2070 6172 616c 6c65 6c20 7072 6).* parallel pr\n-00022660: 6f6a 6563 7469 6f6e 203c 313e 3a20 2020 ojection <1>: \n-00022670: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n-00022680: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n-00022690: 2028 6c69 6e65 2020 3138 290a 2a20 7061 (line 18).* pa\n-000226a0: 7261 6c6c 656c 2070 726f 6a65 6374 696f rallel projectio\n-000226b0: 6e20 3c32 3e3a 2020 2020 2020 2020 2020 n <2>: \n-000226c0: 2020 2020 2050 6963 7475 7265 2062 6f78 Picture box\n-000226d0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n-000226e0: 2031 3529 0a2a 2070 6172 656e 7468 6573 15).* parenthes\n-000226f0: 6573 3a20 2020 2020 2020 2020 2020 2020 es: \n-00022700: 2020 2020 2020 2020 2020 2020 2020 5477 Tw\n-00022710: 6f2d 6f70 6572 616e 6420 2862 696e 6172 o-operand (binar\n-00022720: 7929 2066 6f72 6d73 2e0a 2020 2020 2020 y) forms.. \n+000225a0: 2020 2020 2020 204c 616e 6775 6167 652e Language.\n+000225b0: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+000225c0: 6520 2020 3629 0a2a 206f 7574 7369 6465 e 6).* outside\n+000225d0: 206f 6620 6120 706f 6c79 676f 6e3a 2020 of a polygon: \n+000225e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000225f0: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. \n+00022600: 2020 2020 2028 6c69 6e65 2020 3337 290a (line 37).\n+00022610: 2a20 7061 7261 6c6c 656c 2070 726f 6a65 * parallel proje\n+00022620: 6374 696f 6e3a 2020 2020 2020 2020 2020 ction: \n+00022630: 2020 2020 2020 2020 2048 656c 6c6f 2077 Hello w\n+00022640: 6f72 6c64 2e20 2020 2020 2020 2020 286c orld. (l\n+00022650: 696e 6520 2032 3629 0a2a 2070 6172 616c ine 26).* paral\n+00022660: 6c65 6c20 7072 6f6a 6563 7469 6f6e 203c lel projection <\n+00022670: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00022680: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n+00022690: 7261 6c73 2e20 2028 6c69 6e65 2020 3138 rals. (line 18\n+000226a0: 290a 2a20 7061 7261 6c6c 656c 2070 726f ).* parallel pro\n+000226b0: 6a65 6374 696f 6e20 3c32 3e3a 2020 2020 jection <2>: \n+000226c0: 2020 2020 2020 2020 2020 2050 6963 7475 Pictu\n+000226d0: 7265 2062 6f78 2e20 2020 2020 2020 2020 re box. \n+000226e0: 286c 696e 6520 2031 3529 0a2a 2070 6172 (line 15).* par\n+000226f0: 656e 7468 6573 6573 3a20 2020 2020 2020 entheses: \n+00022700: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022710: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand \n+00022720: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) 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 286c 696e 6520 2035 (line 5\n-00022770: 3829 0a2a 2070 6572 7370 6563 7469 7665 8).* perspective\n-00022780: 2070 726f 6a65 6374 696f 6e3a 2020 2020 projection: \n-00022790: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n-000227a0: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n-000227b0: 2028 6c69 6e65 2020 3139 290a 2a20 7065 (line 19).* pe\n-000227c0: 7273 7065 6374 6976 6520 7072 6f6a 6563 rspective projec\n-000227d0: 7469 6f6e 203c 313e 3a20 2020 2020 2020 tion <1>: \n-000227e0: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n-000227f0: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line \n-00022800: 2032 3129 0a2a 2070 6572 7370 6563 7469 21).* perspecti\n-00022810: 7665 2070 726f 6a65 6374 696f 6e20 3c32 ve projection <2\n-00022820: 3e3a 2020 2020 2020 2020 2020 2020 4f76 >: Ov\n-00022830: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. \n-00022840: 2020 2028 6c69 6e65 2020 2037 290a 2a20 (line 7).* \n-00022850: 7069 6374 7572 6520 626f 783a 2020 2020 picture box: \n-00022860: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022870: 2020 2020 2020 2050 6963 7475 7265 2062 Picture b\n-00022880: 6f78 2e20 2020 2020 2020 2020 286c 696e ox. (lin\n-00022890: 6520 2020 3629 0a2a 2070 6c61 6e61 7269 e 6).* planari\n-000228a0: 7479 206f 6620 706f 6c79 676f 6e73 3a20 ty of polygons: \n-000228b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000228c0: 506f 6c79 676f 6e73 2e20 2020 2020 2020 Polygons. \n-000228d0: 2020 2020 2028 6c69 6e65 2020 3130 290a (line 10).\n-000228e0: 2a20 706c 616e 6172 6974 7920 6f66 2070 * planarity of p\n-000228f0: 6f6c 7967 6f6e 7320 3c31 3e3a 2020 2020 olygons <1>: \n-00022900: 2020 2020 2020 2020 2053 7765 6570 2066 Sweep f\n-00022910: 6163 6520 7370 6c69 7474 696e 672e 0a20 ace splitting.. \n-00022920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022760: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00022770: 696e 6520 2035 3829 0a2a 2070 6572 7370 ine 58).* persp\n+00022780: 6563 7469 7665 2070 726f 6a65 6374 696f ective projectio\n+00022790: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n+000227a0: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n+000227b0: 7261 6c73 2e20 2028 6c69 6e65 2020 3139 rals. (line 19\n+000227c0: 290a 2a20 7065 7273 7065 6374 6976 6520 ).* perspective \n+000227d0: 7072 6f6a 6563 7469 6f6e 203c 313e 3a20 projection <1>: \n+000227e0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n+000227f0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n+00022800: 286c 696e 6520 2032 3129 0a2a 2070 6572 (line 21).* per\n+00022810: 7370 6563 7469 7665 2070 726f 6a65 6374 spective project\n+00022820: 696f 6e20 3c32 3e3a 2020 2020 2020 2020 ion <2>: \n+00022830: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. \n+00022840: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00022850: 2037 290a 2a20 7069 6374 7572 6520 626f 7).* picture bo\n+00022860: 783a 2020 2020 2020 2020 2020 2020 2020 x: \n+00022870: 2020 2020 2020 2020 2020 2020 2050 6963 Pic\n+00022880: 7475 7265 2062 6f78 2e20 2020 2020 2020 ture box. \n+00022890: 2020 286c 696e 6520 2020 3629 0a2a 2070 (line 6).* p\n+000228a0: 6c61 6e61 7269 7479 206f 6620 706f 6c79 lanarity of poly\n+000228b0: 676f 6e73 3a20 2020 2020 2020 2020 2020 gons: \n+000228c0: 2020 2020 2020 506f 6c79 676f 6e73 2e20 Polygons. \n+000228d0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+000228e0: 2020 3130 290a 2a20 706c 616e 6172 6974 10).* planarit\n+000228f0: 7920 6f66 2070 6f6c 7967 6f6e 7320 3c31 y of polygons <1\n+00022900: 3e3a 2020 2020 2020 2020 2020 2020 2053 >: S\n+00022910: 7765 6570 2066 6163 6520 7370 6c69 7474 weep face splitt\n+00022920: 696e 672e 0a20 2020 2020 2020 2020 2020 ing.. \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 2028 6c69 (li\n-00022960: 6e65 2020 2037 290a 2a20 706f 696e 7420 ne 7).* point \n-00022970: 6465 6669 6e69 7469 6f6e 3a20 2020 2020 definition: \n-00022980: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022990: 2044 7261 7769 6e67 2061 2073 6f6c 6964 Drawing a solid\n-000229a0: 2e20 2020 2020 286c 696e 6520 2032 3329 . (line 23)\n-000229b0: 0a2a 2070 6f69 6e74 206c 6973 743a 2020 .* point list: \n-000229c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000229d0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-000229e0: 706f 696e 7473 2e20 2020 2020 2020 2028 points. (\n-000229f0: 6c69 6e65 2020 2039 290a 2a20 706f 696e line 9).* poin\n-00022a00: 7420 6c69 7465 7261 6c3a 2020 2020 2020 t literal: \n+00022950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022960: 2020 2028 6c69 6e65 2020 2037 290a 2a20 (line 7).* \n+00022970: 706f 696e 7420 6465 6669 6e69 7469 6f6e point definition\n+00022980: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00022990: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a\n+000229a0: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin\n+000229b0: 6520 2032 3329 0a2a 2070 6f69 6e74 206c e 23).* point l\n+000229c0: 6973 743a 2020 2020 2020 2020 2020 2020 ist: \n+000229d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000229e0: 5377 6570 7420 706f 696e 7473 2e20 2020 Swept points. \n+000229f0: 2020 2020 2028 6c69 6e65 2020 2039 290a (line 9).\n+00022a00: 2a20 706f 696e 7420 6c69 7465 7261 6c3a * point literal:\n 00022a10: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022a20: 2020 2050 6f69 6e74 2061 6e64 2076 6563 Point and vec\n-00022a30: 746f 7220 6c69 7465 7261 6c73 2e0a 2020 tor literals.. \n-00022a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022a20: 2020 2020 2020 2020 2050 6f69 6e74 2061 Point a\n+00022a30: 6e64 2076 6563 746f 7220 6c69 7465 7261 nd vector litera\n+00022a40: 6c73 2e0a 2020 2020 2020 2020 2020 2020 ls.. \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 286c 696e (lin\n-00022a80: 6520 2020 3629 0a2a 2070 6f69 6e74 2072 e 6).* point r\n-00022a90: 6566 6572 656e 6365 3a20 2020 2020 2020 eference: \n+00022a70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022a80: 2020 286c 696e 6520 2020 3629 0a2a 2070 (line 6).* p\n+00022a90: 6f69 6e74 2072 6566 6572 656e 6365 3a20 oint reference: \n 00022aa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022ab0: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n-00022ac0: 6365 732e 2028 6c69 6e65 2020 3134 290a ces. (line 14).\n-00022ad0: 2a20 706f 696e 7420 7377 6565 703a 2020 * point sweep: \n-00022ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022af0: 2020 2020 2020 2020 2053 7765 7074 206f Swept o\n-00022b00: 626a 6563 7473 2e20 2020 2020 2020 286c bjects. (l\n-00022b10: 696e 6520 2031 3129 0a2a 2070 6f69 6e74 ine 11).* point\n-00022b20: 2073 7765 6570 203c 313e 3a20 2020 2020 sweep <1>: \n-00022b30: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022b40: 2020 5377 6570 7420 706f 696e 7473 2e20 Swept points. \n-00022b50: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n-00022b60: 290a 2a20 706f 6c79 676f 6e20 7377 6565 ).* polygon swee\n-00022b70: 703a 2020 2020 2020 2020 2020 2020 2020 p: \n-00022b80: 2020 2020 2020 2020 2020 2050 6f6c 7967 Polyg\n-00022b90: 6f6e 2073 7765 6570 732e 2020 2020 2020 on sweeps. \n-00022ba0: 286c 696e 6520 2020 3629 0a2a 2070 6f6c (line 6).* pol\n-00022bb0: 7967 6f6e 2073 7765 6570 203c 313e 3a20 ygon sweep <1>: \n-00022bc0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022bd0: 2020 2020 5377 6570 7420 706f 6c79 676f Swept polygo\n-00022be0: 6e73 2e20 2020 2020 2028 6c69 6e65 2020 ns. (line \n-00022bf0: 2036 290a 2a20 706f 6c79 676f 6e20 7377 6).* polygon sw\n-00022c00: 6565 7020 3c32 3e3a 2020 2020 2020 2020 eep <2>: \n-00022c10: 2020 2020 2020 2020 2020 2020 2041 2068 A h\n-00022c20: 6965 7261 7263 6869 6361 6c20 6d6f 6465 ierarchical mode\n-00022c30: 6c2e 0a20 2020 2020 2020 2020 2020 2020 l.. \n+00022ab0: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r\n+00022ac0: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line\n+00022ad0: 2020 3134 290a 2a20 706f 696e 7420 7377 14).* point sw\n+00022ae0: 6565 703a 2020 2020 2020 2020 2020 2020 eep: \n+00022af0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+00022b00: 7765 7074 206f 626a 6563 7473 2e20 2020 wept objects. \n+00022b10: 2020 2020 286c 696e 6520 2031 3129 0a2a (line 11).*\n+00022b20: 2070 6f69 6e74 2073 7765 6570 203c 313e point sweep <1>\n+00022b30: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00022b40: 2020 2020 2020 2020 5377 6570 7420 706f Swept po\n+00022b50: 696e 7473 2e20 2020 2020 2020 2028 6c69 ints. (li\n+00022b60: 6e65 2020 2036 290a 2a20 706f 6c79 676f ne 6).* polygo\n+00022b70: 6e20 7377 6565 703a 2020 2020 2020 2020 n sweep: \n+00022b80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022b90: 2050 6f6c 7967 6f6e 2073 7765 6570 732e Polygon sweeps.\n+00022ba0: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n+00022bb0: 0a2a 2070 6f6c 7967 6f6e 2073 7765 6570 .* polygon sweep\n+00022bc0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+00022bd0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+00022be0: 706f 6c79 676f 6e73 2e20 2020 2020 2028 polygons. (\n+00022bf0: 6c69 6e65 2020 2036 290a 2a20 706f 6c79 line 6).* poly\n+00022c00: 676f 6e20 7377 6565 7020 3c32 3e3a 2020 gon sweep <2>: \n+00022c10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022c20: 2020 2041 2068 6965 7261 7263 6869 6361 A hierarchica\n+00022c30: 6c20 6d6f 6465 6c2e 0a20 2020 2020 2020 l model.. \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: 2028 6c69 6e65 2031 3232 290a 2a20 706f (line 122).* po\n-00022c80: 6c79 676f 6e20 7665 7274 6578 206f 7264 lygon vertex ord\n-00022c90: 6572 3a20 2020 2020 2020 2020 2020 2020 er: \n-00022ca0: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world\n-00022cb0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n-00022cc0: 2033 3929 0a2a 2070 6f6c 7967 6f6e 2076 39).* polygon v\n-00022cd0: 6572 7465 7820 6f72 6465 7220 3c31 3e3a ertex order <1>:\n-00022ce0: 2020 2020 2020 2020 2020 2020 2020 5377 Sw\n-00022cf0: 6570 7420 6c69 6e65 732e 2020 2020 2020 ept lines. \n-00022d00: 2020 2028 6c69 6e65 2020 3134 290a 2a20 (line 14).* \n-00022d10: 706f 6c79 676f 6e20 7665 7274 6578 206f polygon vertex o\n-00022d20: 7264 6572 203c 323e 3a20 2020 2020 2020 rder <2>: \n-00022d30: 2020 2020 2020 2053 7765 7074 206c 696e Swept lin\n-00022d40: 6573 2e20 2020 2020 2020 2020 286c 696e es. (lin\n-00022d50: 6520 2034 3029 0a2a 2070 6f6c 7967 6f6e e 40).* polygon\n-00022d60: 2076 6572 7465 7820 6f72 6465 7220 3c33 vertex order <3\n-00022d70: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00022d80: 5377 6570 7420 706f 6c79 676f 6e73 2e20 Swept polygons. \n-00022d90: 2020 2020 2028 6c69 6e65 2020 3139 290a (line 19).\n-00022da0: 2a20 706f 6c79 676f 6e20 7665 7274 6578 * polygon vertex\n-00022db0: 206f 7264 6572 203c 343e 3a20 2020 2020 order <4>: \n-00022dc0: 2020 2020 2020 2020 204f 7665 7276 6965 Overvie\n-00022dd0: 772e 2020 2020 2020 2020 2020 2020 286c w. (l\n-00022de0: 696e 6520 2033 3729 0a2a 2070 6f6c 7967 ine 37).* polyg\n-00022df0: 6f6e 2076 6572 7465 7820 6f72 6465 7220 on vertex order \n-00022e00: 3c35 3e3a 2020 2020 2020 2020 2020 2020 <5>: \n-00022e10: 2020 4f76 6572 7669 6577 2e20 2020 2020 Overview. \n-00022e20: 2020 2020 2020 2028 6c69 6e65 2020 3535 (line 55\n-00022e30: 290a 2a20 706f 6c79 676f 6e2c 2062 6f64 ).* polygon, bod\n-00022e40: 793a 2020 2020 2020 2020 2020 2020 2020 y: \n-00022e50: 2020 2020 2020 2020 2020 2049 6e74 6572 Inter\n-00022e60: 6e61 6c20 6f70 7469 6f6e 732e 2020 2020 nal options. \n-00022e70: 286c 696e 6520 2031 3629 0a2a 2070 6f6c (line 16).* pol\n-00022e80: 7967 6f6e 2c20 626f 6479 203c 313e 3a20 ygon, body <1>: \n-00022e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022ea0: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines.\n-00022eb0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00022ec0: 3130 290a 2a20 706f 6c79 676f 6e2c 2062 10).* polygon, b\n-00022ed0: 6f64 7920 3c32 3e3a 2020 2020 2020 2020 ody <2>: \n-00022ee0: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n-00022ef0: 7074 2070 6f6c 7967 6f6e 732e 2020 2020 pt polygons. \n-00022f00: 2020 286c 696e 6520 2020 3929 0a2a 2070 (line 9).* p\n-00022f10: 6f6c 7967 6f6e 2c20 656e 643a 2020 2020 olygon, end: \n-00022f20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00022f30: 2020 2020 2020 5377 6570 7420 6c69 6e65 Swept line\n-00022f40: 732e 2020 2020 2020 2020 2028 6c69 6e65 s. (line\n-00022f50: 2020 3338 290a 2a20 706f 6c79 676f 6e2c 38).* polygon,\n-00022f60: 2065 6e64 203c 313e 3a20 2020 2020 2020 end <1>: \n-00022f70: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00022f80: 7765 7074 2070 6f6c 7967 6f6e 732e 2020 wept polygons. \n-00022f90: 2020 2020 286c 696e 6520 2031 3529 0a2a (line 15).*\n-00022fa0: 2070 6f6c 7967 6f6e 2c20 6f75 7473 6964 polygon, outsid\n-00022fb0: 6520 6f66 3a20 2020 2020 2020 2020 2020 e of: \n-00022fc0: 2020 2020 2020 2020 4865 6c6c 6f20 776f Hello wo\n-00022fd0: 726c 642e 2020 2020 2020 2020 2028 6c69 rld. (li\n-00022fe0: 6e65 2020 3337 290a 2a20 706f 6c79 676f ne 37).* polygo\n-00022ff0: 6e2c 2070 6c61 6e61 723a 2020 2020 2020 n, planar: \n+00022c70: 2020 2020 2020 2028 6c69 6e65 2031 3232 (line 122\n+00022c80: 290a 2a20 706f 6c79 676f 6e20 7665 7274 ).* polygon vert\n+00022c90: 6578 206f 7264 6572 3a20 2020 2020 2020 ex order: \n+00022ca0: 2020 2020 2020 2020 2020 2048 656c 6c6f Hello\n+00022cb0: 2077 6f72 6c64 2e20 2020 2020 2020 2020 world. \n+00022cc0: 286c 696e 6520 2033 3929 0a2a 2070 6f6c (line 39).* pol\n+00022cd0: 7967 6f6e 2076 6572 7465 7820 6f72 6465 ygon vertex orde\n+00022ce0: 7220 3c31 3e3a 2020 2020 2020 2020 2020 r <1>: \n+00022cf0: 2020 2020 5377 6570 7420 6c69 6e65 732e Swept lines.\n+00022d00: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00022d10: 3134 290a 2a20 706f 6c79 676f 6e20 7665 14).* polygon ve\n+00022d20: 7274 6578 206f 7264 6572 203c 323e 3a20 rtex order <2>: \n+00022d30: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+00022d40: 7074 206c 696e 6573 2e20 2020 2020 2020 pt lines. \n+00022d50: 2020 286c 696e 6520 2034 3029 0a2a 2070 (line 40).* p\n+00022d60: 6f6c 7967 6f6e 2076 6572 7465 7820 6f72 olygon vertex or\n+00022d70: 6465 7220 3c33 3e3a 2020 2020 2020 2020 der <3>: \n+00022d80: 2020 2020 2020 5377 6570 7420 706f 6c79 Swept poly\n+00022d90: 676f 6e73 2e20 2020 2020 2028 6c69 6e65 gons. (line\n+00022da0: 2020 3139 290a 2a20 706f 6c79 676f 6e20 19).* polygon \n+00022db0: 7665 7274 6578 206f 7264 6572 203c 343e vertex order <4>\n+00022dc0: 3a20 2020 2020 2020 2020 2020 2020 204f : O\n+00022dd0: 7665 7276 6965 772e 2020 2020 2020 2020 verview. \n+00022de0: 2020 2020 286c 696e 6520 2033 3729 0a2a (line 37).*\n+00022df0: 2070 6f6c 7967 6f6e 2076 6572 7465 7820 polygon vertex \n+00022e00: 6f72 6465 7220 3c35 3e3a 2020 2020 2020 order <5>: \n+00022e10: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview\n+00022e20: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li\n+00022e30: 6e65 2020 3535 290a 2a20 706f 6c79 676f ne 55).* polygo\n+00022e40: 6e2c 2062 6f64 793a 2020 2020 2020 2020 n, body: \n+00022e50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022e60: 2049 6e74 6572 6e61 6c20 6f70 7469 6f6e Internal option\n+00022e70: 732e 2020 2020 286c 696e 6520 2031 3629 s. (line 16)\n+00022e80: 0a2a 2070 6f6c 7967 6f6e 2c20 626f 6479 .* polygon, body\n+00022e90: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+00022ea0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+00022eb0: 6c69 6e65 732e 2020 2020 2020 2020 2028 lines. (\n+00022ec0: 6c69 6e65 2020 3130 290a 2a20 706f 6c79 line 10).* poly\n+00022ed0: 676f 6e2c 2062 6f64 7920 3c32 3e3a 2020 gon, body <2>: \n+00022ee0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022ef0: 2020 2053 7765 7074 2070 6f6c 7967 6f6e Swept polygon\n+00022f00: 732e 2020 2020 2020 286c 696e 6520 2020 s. (line \n+00022f10: 3929 0a2a 2070 6f6c 7967 6f6e 2c20 656e 9).* polygon, en\n+00022f20: 643a 2020 2020 2020 2020 2020 2020 2020 d: \n+00022f30: 2020 2020 2020 2020 2020 2020 5377 6570 Swep\n+00022f40: 7420 6c69 6e65 732e 2020 2020 2020 2020 t lines. \n+00022f50: 2028 6c69 6e65 2020 3338 290a 2a20 706f (line 38).* po\n+00022f60: 6c79 676f 6e2c 2065 6e64 203c 313e 3a20 lygon, end <1>: \n+00022f70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00022f80: 2020 2020 2053 7765 7074 2070 6f6c 7967 Swept polyg\n+00022f90: 6f6e 732e 2020 2020 2020 286c 696e 6520 ons. (line \n+00022fa0: 2031 3529 0a2a 2070 6f6c 7967 6f6e 2c20 15).* polygon, \n+00022fb0: 6f75 7473 6964 6520 6f66 3a20 2020 2020 outside of: \n+00022fc0: 2020 2020 2020 2020 2020 2020 2020 4865 He\n+00022fd0: 6c6c 6f20 776f 726c 642e 2020 2020 2020 llo world. \n+00022fe0: 2020 2028 6c69 6e65 2020 3337 290a 2a20 (line 37).* \n+00022ff0: 706f 6c79 676f 6e2c 2070 6c61 6e61 723a polygon, planar:\n 00023000: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023010: 2050 6f6c 7967 6f6e 732e 2020 2020 2020 Polygons. \n-00023020: 2020 2020 2020 286c 696e 6520 2031 3029 (line 10)\n-00023030: 0a2a 2070 6f6c 7967 6f6e 2c20 706c 616e .* polygon, plan\n-00023040: 6172 203c 313e 3a20 2020 2020 2020 2020 ar <1>: \n-00023050: 2020 2020 2020 2020 2020 5377 6565 7020 Sweep \n-00023060: 6661 6365 2073 706c 6974 7469 6e67 2e0a face splitting..\n-00023070: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023010: 2020 2020 2020 2050 6f6c 7967 6f6e 732e Polygons.\n+00023020: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n+00023030: 6520 2031 3029 0a2a 2070 6f6c 7967 6f6e e 10).* polygon\n+00023040: 2c20 706c 616e 6172 203c 313e 3a20 2020 , planar <1>: \n+00023050: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023060: 5377 6565 7020 6661 6365 2073 706c 6974 Sweep face split\n+00023070: 7469 6e67 2e0a 2020 2020 2020 2020 2020 ting.. \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 286c (l\n-000230b0: 696e 6520 2020 3729 0a2a 2070 7265 6365 ine 7).* prece\n-000230c0: 6465 6e63 652c 206f 7065 7261 746f 723a dence, operator:\n-000230d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000230e0: 2020 5477 6f2d 6f70 6572 616e 6420 2862 Two-operand (b\n-000230f0: 696e 6172 7929 2066 6f72 6d73 2e0a 2020 inary) forms.. \n-00023100: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000230a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000230b0: 2020 2020 286c 696e 6520 2020 3729 0a2a (line 7).*\n+000230c0: 2070 7265 6365 6465 6e63 652c 206f 7065 precedence, ope\n+000230d0: 7261 746f 723a 2020 2020 2020 2020 2020 rator: \n+000230e0: 2020 2020 2020 2020 5477 6f2d 6f70 6572 Two-oper\n+000230f0: 616e 6420 2862 696e 6172 7929 2066 6f72 and (binary) for\n+00023100: 6d73 2e0a 2020 2020 2020 2020 2020 2020 ms.. \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 286c 696e (lin\n-00023140: 6520 2034 3529 0a2a 2070 726f 6772 616d e 45).* program\n-00023150: 2c20 6865 6c6c 6f20 776f 726c 643a 2020 , hello world: \n-00023160: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023170: 4865 6c6c 6f20 776f 726c 642e 2020 2020 Hello world. \n-00023180: 2020 2020 2028 6c69 6e65 2020 2037 290a (line 7).\n-00023190: 2a20 7072 6f6a 6563 7469 6f6e 2c20 7061 * projection, pa\n-000231a0: 7261 6c6c 656c 3a20 2020 2020 2020 2020 rallel: \n-000231b0: 2020 2020 2020 2020 2048 656c 6c6f 2077 Hello w\n-000231c0: 6f72 6c64 2e20 2020 2020 2020 2020 286c orld. (l\n-000231d0: 696e 6520 2032 3629 0a2a 2070 726f 6a65 ine 26).* proje\n-000231e0: 6374 696f 6e2c 2070 6172 616c 6c65 6c20 ction, parallel \n-000231f0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-00023200: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n-00023210: 7261 6c73 2e20 2028 6c69 6e65 2020 3138 rals. (line 18\n-00023220: 290a 2a20 7072 6f6a 6563 7469 6f6e 2c20 ).* projection, \n-00023230: 7061 7261 6c6c 656c 203c 323e 3a20 2020 parallel <2>: \n-00023240: 2020 2020 2020 2020 2020 2050 6963 7475 Pictu\n-00023250: 7265 2062 6f78 2e20 2020 2020 2020 2020 re box. \n-00023260: 286c 696e 6520 2031 3529 0a2a 2070 726f (line 15).* pro\n-00023270: 6a65 6374 696f 6e2c 2070 6572 7370 6563 jection, perspec\n-00023280: 7469 7665 3a20 2020 2020 2020 2020 2020 tive: \n-00023290: 2020 2020 5472 616e 7366 6f72 6d20 6c69 Transform li\n-000232a0: 7465 7261 6c73 2e20 2028 6c69 6e65 2020 terals. (line \n-000232b0: 3139 290a 2a20 7072 6f6a 6563 7469 6f6e 19).* projection\n-000232c0: 2c20 7065 7273 7065 6374 6976 6520 3c31 , perspective <1\n-000232d0: 3e3a 2020 2020 2020 2020 2020 2054 7261 >: Tra\n-000232e0: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n-000232f0: 2020 286c 696e 6520 2032 3129 0a2a 2070 (line 21).* p\n-00023300: 726f 6a65 6374 696f 6e2c 2070 6572 7370 rojection, persp\n-00023310: 6563 7469 7665 203c 323e 3a20 2020 2020 ective <2>: \n-00023320: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n-00023330: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n-00023340: 2020 2037 290a 2a20 7073 6575 646f 2d6f 7).* pseudo-o\n-00023350: 7074 696f 6e73 3a20 2020 2020 2020 2020 ptions: \n-00023360: 2020 2020 2020 2020 2020 2020 2020 2054 T\n-00023370: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def\n-00023380: 696e 6564 2073 7479 6c65 732e 0a20 2020 ined styles.. \n-00023390: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023130: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023140: 2020 286c 696e 6520 2034 3529 0a2a 2070 (line 45).* p\n+00023150: 726f 6772 616d 2c20 6865 6c6c 6f20 776f rogram, hello wo\n+00023160: 726c 643a 2020 2020 2020 2020 2020 2020 rld: \n+00023170: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl\n+00023180: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line\n+00023190: 2020 2037 290a 2a20 7072 6f6a 6563 7469 7).* projecti\n+000231a0: 6f6e 2c20 7061 7261 6c6c 656c 3a20 2020 on, parallel: \n+000231b0: 2020 2020 2020 2020 2020 2020 2020 2048 H\n+000231c0: 656c 6c6f 2077 6f72 6c64 2e20 2020 2020 ello world. \n+000231d0: 2020 2020 286c 696e 6520 2032 3629 0a2a (line 26).*\n+000231e0: 2070 726f 6a65 6374 696f 6e2c 2070 6172 projection, par\n+000231f0: 616c 6c65 6c20 3c31 3e3a 2020 2020 2020 allel <1>: \n+00023200: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor\n+00023210: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li\n+00023220: 6e65 2020 3138 290a 2a20 7072 6f6a 6563 ne 18).* projec\n+00023230: 7469 6f6e 2c20 7061 7261 6c6c 656c 203c tion, parallel <\n+00023240: 323e 3a20 2020 2020 2020 2020 2020 2020 2>: \n+00023250: 2050 6963 7475 7265 2062 6f78 2e20 2020 Picture box. \n+00023260: 2020 2020 2020 286c 696e 6520 2031 3529 (line 15)\n+00023270: 0a2a 2070 726f 6a65 6374 696f 6e2c 2070 .* projection, p\n+00023280: 6572 7370 6563 7469 7665 3a20 2020 2020 erspective: \n+00023290: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n+000232a0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n+000232b0: 6c69 6e65 2020 3139 290a 2a20 7072 6f6a line 19).* proj\n+000232c0: 6563 7469 6f6e 2c20 7065 7273 7065 6374 ection, perspect\n+000232d0: 6976 6520 3c31 3e3a 2020 2020 2020 2020 ive <1>: \n+000232e0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n+000232f0: 6572 616c 732e 2020 286c 696e 6520 2032 erals. (line 2\n+00023300: 3129 0a2a 2070 726f 6a65 6374 696f 6e2c 1).* projection,\n+00023310: 2070 6572 7370 6563 7469 7665 203c 323e perspective <2>\n+00023320: 3a20 2020 2020 2020 2020 2020 4f76 6572 : Over\n+00023330: 7669 6577 2e20 2020 2020 2020 2020 2020 view. \n+00023340: 2028 6c69 6e65 2020 2037 290a 2a20 7073 (line 7).* ps\n+00023350: 6575 646f 2d6f 7074 696f 6e73 3a20 2020 eudo-options: \n+00023360: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023370: 2020 2020 2054 696b 5a2f 5047 4620 7573 TikZ/PGF us\n+00023380: 6572 2d64 6566 696e 6564 2073 7479 6c65 er-defined style\n+00023390: 732e 0a20 2020 2020 2020 2020 2020 2020 s.. \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 2028 6c69 6e65 (line\n-000233d0: 2020 3235 290a 2a20 7073 6672 616d 6562 25).* psframeb\n-000233e0: 6f78 3a20 2020 2020 2020 2020 2020 2020 ox: \n-000233f0: 2020 2020 2020 2020 2020 2020 2020 2046 F\n-00023400: 7261 6d65 2e20 2020 2020 2020 2020 2020 rame. \n-00023410: 2020 2020 286c 696e 6520 2020 3829 0a2a (line 8).*\n-00023420: 2070 7370 6963 7475 7265 3a20 2020 2020 pspicture: \n-00023430: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023440: 2020 2020 2020 2020 5069 6374 7572 6520 Picture \n-00023450: 626f 782e 2020 2020 2020 2020 2028 6c69 box. (li\n-00023460: 6e65 2020 3130 290a 2a20 5053 5472 6963 ne 10).* PSTric\n-00023470: 6b73 3a20 2020 2020 2020 2020 2020 2020 ks: \n+000233c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000233d0: 2028 6c69 6e65 2020 3235 290a 2a20 7073 (line 25).* ps\n+000233e0: 6672 616d 6562 6f78 3a20 2020 2020 2020 framebox: \n+000233f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023400: 2020 2020 2046 7261 6d65 2e20 2020 2020 Frame. \n+00023410: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00023420: 2020 3829 0a2a 2070 7370 6963 7475 7265 8).* pspicture\n+00023430: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00023440: 2020 2020 2020 2020 2020 2020 2020 5069 Pi\n+00023450: 6374 7572 6520 626f 782e 2020 2020 2020 cture box. \n+00023460: 2020 2028 6c69 6e65 2020 3130 290a 2a20 (line 10).* \n+00023470: 5053 5472 6963 6b73 3a20 2020 2020 2020 PSTricks: \n 00023480: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023490: 2041 626f 7574 2073 6b65 7463 682e 2020 About sketch. \n-000234a0: 2020 2020 2020 286c 696e 6520 2032 3129 (line 21)\n-000234b0: 0a2a 2071 756f 7469 6e67 2c20 7370 6563 .* quoting, spec\n-000234c0: 6961 6c3a 2020 2020 2020 2020 2020 2020 ial: \n-000234d0: 2020 2020 2020 2020 2020 5370 6563 6961 Specia\n-000234e0: 6c20 6f62 6a65 6374 732e 2020 2020 2028 l objects. (\n-000234f0: 6c69 6e65 2020 3230 290a 2a20 7175 6f74 line 20).* quot\n-00023500: 696e 672c 2073 7065 6369 616c 203c 313e ing, special <1>\n-00023510: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00023520: 2020 2053 7065 6369 616c 732e 2020 2020 Specials. \n-00023530: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n-00023540: 3829 0a2a 2072 6566 6572 656e 6365 2c20 8).* reference, \n-00023550: 6472 6177 6162 6c65 3a20 2020 2020 2020 drawable: \n-00023560: 2020 2020 2020 2020 2020 2020 4f62 6a65 Obje\n-00023570: 6374 2074 7261 6e73 666f 726d 732e 2020 ct transforms. \n-00023580: 2028 6c69 6e65 2020 3333 290a 2a20 7265 (line 33).* re\n-00023590: 6665 7265 6e63 652c 2064 7261 7761 626c ference, drawabl\n-000235a0: 6520 3c31 3e3a 2020 2020 2020 2020 2020 e <1>: \n-000235b0: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re\n-000235c0: 6665 7265 6e63 6573 2e20 286c 696e 6520 ferences. (line \n-000235d0: 2031 3729 0a2a 2072 6566 6572 656e 6365 17).* reference\n-000235e0: 2c20 6472 6177 6162 6c65 203c 323e 3a20 , drawable <2>: \n-000235f0: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov\n-00023600: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. \n-00023610: 2020 2028 6c69 6e65 2020 3437 290a 2a20 (line 47).* \n-00023620: 7265 6665 7265 6e63 652c 2064 7261 7761 reference, drawa\n-00023630: 626c 6520 3c33 3e3a 2020 2020 2020 2020 ble <3>: \n-00023640: 2020 2020 2020 204f 7665 7276 6965 772e Overview.\n-00023650: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00023660: 6520 2035 3729 0a2a 2072 6566 6572 656e e 57).* referen\n-00023670: 6365 2c20 6d75 6c74 6970 6c65 206f 7074 ce, multiple opt\n-00023680: 696f 6e73 3a20 2020 2020 2020 2020 2020 ions: \n-00023690: 466f 726d 7320 6f66 2072 6566 6572 656e Forms of referen\n-000236a0: 6365 732e 2028 6c69 6e65 2020 3138 290a ces. (line 18).\n-000236b0: 2a20 7265 6665 7265 6e63 652c 206f 7074 * reference, opt\n-000236c0: 696f 6e73 3a20 2020 2020 2020 2020 2020 ions: \n-000236d0: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin\n-000236e0: 6520 7377 6565 7073 2077 6974 6820 636c e sweeps with cl\n-000236f0: 6f73 7572 652e 0a20 2020 2020 2020 2020 osure.. \n+00023490: 2020 2020 2020 2041 626f 7574 2073 6b65 About ske\n+000234a0: 7463 682e 2020 2020 2020 2020 286c 696e tch. (lin\n+000234b0: 6520 2032 3129 0a2a 2071 756f 7469 6e67 e 21).* quoting\n+000234c0: 2c20 7370 6563 6961 6c3a 2020 2020 2020 , special: \n+000234d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000234e0: 5370 6563 6961 6c20 6f62 6a65 6374 732e Special objects.\n+000234f0: 2020 2020 2028 6c69 6e65 2020 3230 290a (line 20).\n+00023500: 2a20 7175 6f74 696e 672c 2073 7065 6369 * quoting, speci\n+00023510: 616c 203c 313e 3a20 2020 2020 2020 2020 al <1>: \n+00023520: 2020 2020 2020 2020 2053 7065 6369 616c Special\n+00023530: 732e 2020 2020 2020 2020 2020 2020 286c s. (l\n+00023540: 696e 6520 2020 3829 0a2a 2072 6566 6572 ine 8).* refer\n+00023550: 656e 6365 2c20 6472 6177 6162 6c65 3a20 ence, drawable: \n+00023560: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023570: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n+00023580: 726d 732e 2020 2028 6c69 6e65 2020 3333 rms. (line 33\n+00023590: 290a 2a20 7265 6665 7265 6e63 652c 2064 ).* reference, d\n+000235a0: 7261 7761 626c 6520 3c31 3e3a 2020 2020 rawable <1>: \n+000235b0: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms\n+000235c0: 206f 6620 7265 6665 7265 6e63 6573 2e20 of references. \n+000235d0: 286c 696e 6520 2031 3729 0a2a 2072 6566 (line 17).* ref\n+000235e0: 6572 656e 6365 2c20 6472 6177 6162 6c65 erence, drawable\n+000235f0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+00023600: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. \n+00023610: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+00023620: 3437 290a 2a20 7265 6665 7265 6e63 652c 47).* reference,\n+00023630: 2064 7261 7761 626c 6520 3c33 3e3a 2020 drawable <3>: \n+00023640: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n+00023650: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n+00023660: 2020 286c 696e 6520 2035 3729 0a2a 2072 (line 57).* r\n+00023670: 6566 6572 656e 6365 2c20 6d75 6c74 6970 eference, multip\n+00023680: 6c65 206f 7074 696f 6e73 3a20 2020 2020 le options: \n+00023690: 2020 2020 2020 466f 726d 7320 6f66 2072 Forms of r\n+000236a0: 6566 6572 656e 6365 732e 2028 6c69 6e65 eferences. (line\n+000236b0: 2020 3138 290a 2a20 7265 6665 7265 6e63 18).* referenc\n+000236c0: 652c 206f 7074 696f 6e73 3a20 2020 2020 e, options: \n+000236d0: 2020 2020 2020 2020 2020 2020 2020 2050 P\n+000236e0: 6f6c 796c 696e 6520 7377 6565 7073 2077 olyline sweeps w\n+000236f0: 6974 6820 636c 6f73 7572 652e 0a20 2020 ith 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 2028 6c69 6e65 2020 3234 290a (line 24).\n-00023740: 2a20 7265 6665 7265 6e63 652c 206f 7074 * reference, opt\n-00023750: 696f 6e73 203c 313e 3a20 2020 2020 2020 ions <1>: \n-00023760: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o\n-00023770: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l\n-00023780: 696e 6520 2031 3829 0a2a 2072 6566 6572 ine 18).* refer\n-00023790: 656e 6365 2c20 706f 696e 743a 2020 2020 ence, point: \n-000237a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000237b0: 2020 4472 6177 696e 6720 6120 736f 6c69 Drawing a soli\n-000237c0: 642e 2020 2020 2028 6c69 6e65 2020 3233 d. (line 23\n-000237d0: 290a 2a20 7265 6665 7265 6e63 652c 2070 ).* reference, p\n-000237e0: 6f69 6e74 203c 313e 3a20 2020 2020 2020 oint <1>: \n-000237f0: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms\n-00023800: 206f 6620 7265 6665 7265 6e63 6573 2e20 of references. \n-00023810: 286c 696e 6520 2031 3429 0a2a 2072 6566 (line 14).* ref\n-00023820: 6572 656e 6365 2c20 7363 616c 6172 3a20 erence, scalar: \n-00023830: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023840: 2020 2020 5377 6570 7420 6f62 6a65 6374 Swept object\n-00023850: 732e 2020 2020 2020 2028 6c69 6e65 2020 s. (line \n-00023860: 3133 290a 2a20 7265 6665 7265 6e63 652c 13).* reference,\n-00023870: 2073 6361 6c61 7220 3c31 3e3a 2020 2020 scalar <1>: \n-00023880: 2020 2020 2020 2020 2020 2020 2046 6f72 For\n-00023890: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n-000238a0: 2e20 286c 696e 6520 2031 3329 0a2a 2072 . (line 13).* r\n-000238b0: 6566 6572 656e 6365 2c20 7461 673a 2020 eference, tag: \n-000238c0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000238d0: 2020 2020 2020 466f 726d 7320 6f66 2064 Forms of d\n-000238e0: 6566 696e 6974 696f 6e73 2e0a 2020 2020 efinitions.. \n-000238f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023730: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00023740: 2020 3234 290a 2a20 7265 6665 7265 6e63 24).* referenc\n+00023750: 652c 206f 7074 696f 6e73 203c 313e 3a20 e, options <1>: \n+00023760: 2020 2020 2020 2020 2020 2020 2020 2046 F\n+00023770: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc\n+00023780: 6573 2e20 286c 696e 6520 2031 3829 0a2a es. (line 18).*\n+00023790: 2072 6566 6572 656e 6365 2c20 706f 696e reference, poin\n+000237a0: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+000237b0: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n+000237c0: 6120 736f 6c69 642e 2020 2020 2028 6c69 a solid. (li\n+000237d0: 6e65 2020 3233 290a 2a20 7265 6665 7265 ne 23).* refere\n+000237e0: 6e63 652c 2070 6f69 6e74 203c 313e 3a20 nce, point <1>: \n+000237f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023800: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere\n+00023810: 6e63 6573 2e20 286c 696e 6520 2031 3429 nces. (line 14)\n+00023820: 0a2a 2072 6566 6572 656e 6365 2c20 7363 .* reference, sc\n+00023830: 616c 6172 3a20 2020 2020 2020 2020 2020 alar: \n+00023840: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n+00023850: 6f62 6a65 6374 732e 2020 2020 2020 2028 objects. (\n+00023860: 6c69 6e65 2020 3133 290a 2a20 7265 6665 line 13).* refe\n+00023870: 7265 6e63 652c 2073 6361 6c61 7220 3c31 rence, scalar <1\n+00023880: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00023890: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe\n+000238a0: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1\n+000238b0: 3329 0a2a 2072 6566 6572 656e 6365 2c20 3).* reference, \n+000238c0: 7461 673a 2020 2020 2020 2020 2020 2020 tag: \n+000238d0: 2020 2020 2020 2020 2020 2020 466f 726d Form\n+000238e0: 7320 6f66 2064 6566 696e 6974 696f 6e73 s of definitions\n+000238f0: 2e0a 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 286c 696e 6520 (line \n-00023930: 2032 3029 0a2a 2072 6566 6572 656e 6365 20).* reference\n-00023940: 2c20 7461 6720 3c31 3e3a 2020 2020 2020 , tag <1>: \n-00023950: 2020 2020 2020 2020 2020 2020 2020 466f Fo\n-00023960: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference\n-00023970: 732e 2028 6c69 6e65 2020 3139 290a 2a20 s. (line 19).* \n-00023980: 7265 6665 7265 6e63 652c 2074 7261 6e73 reference, trans\n-00023990: 666f 726d 3a20 2020 2020 2020 2020 2020 form: \n-000239a0: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of \n-000239b0: 7265 6665 7265 6e63 6573 2e20 286c 696e references. (lin\n-000239c0: 6520 2031 3629 0a2a 2072 6566 6572 656e e 16).* referen\n-000239d0: 6365 2c20 7472 616e 7366 6f72 6d20 3c31 ce, transform <1\n-000239e0: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-000239f0: 4f76 6572 7669 6577 2e20 2020 2020 2020 Overview. \n-00023a00: 2020 2020 2028 6c69 6e65 2020 3335 290a (line 35).\n-00023a10: 2a20 7265 6665 7265 6e63 652c 2076 6563 * reference, vec\n-00023a20: 746f 723a 2020 2020 2020 2020 2020 2020 tor: \n-00023a30: 2020 2020 2020 2020 2050 6f6c 796c 696e Polylin\n-00023a40: 6520 7377 6565 7073 2e20 2020 2020 286c e sweeps. (l\n-00023a50: 696e 6520 2032 3029 0a2a 2072 6566 6572 ine 20).* refer\n-00023a60: 656e 6365 2c20 7665 6374 6f72 203c 313e ence, vector <1>\n-00023a70: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00023a80: 2020 466f 726d 7320 6f66 2072 6566 6572 Forms of refer\n-00023a90: 656e 6365 732e 2028 6c69 6e65 2020 3135 ences. (line 15\n-00023aa0: 290a 2a20 7265 7065 6174 6564 206f 626a ).* repeated obj\n-00023ab0: 6563 743a 2020 2020 2020 2020 2020 2020 ect: \n-00023ac0: 2020 2020 2020 2020 2020 2052 6570 6561 Repea\n-00023ad0: 7473 2e20 2020 2020 2020 2020 2020 2020 ts. \n-00023ae0: 286c 696e 6520 2020 3629 0a2a 2072 6573 (line 6).* res\n-00023af0: 6572 7665 6420 776f 7264 733a 2020 2020 erved words: \n-00023b00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023b10: 2020 2020 4b65 7920 616e 6420 7265 7365 Key and rese\n-00023b20: 7276 6564 2077 6f72 6473 2e0a 2020 2020 rved words.. \n-00023b30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023930: 286c 696e 6520 2032 3029 0a2a 2072 6566 (line 20).* ref\n+00023940: 6572 656e 6365 2c20 7461 6720 3c31 3e3a erence, tag <1>:\n+00023950: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023960: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref\n+00023970: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line \n+00023980: 3139 290a 2a20 7265 6665 7265 6e63 652c 19).* reference,\n+00023990: 2074 7261 6e73 666f 726d 3a20 2020 2020 transform: \n+000239a0: 2020 2020 2020 2020 2020 2020 2046 6f72 For\n+000239b0: 6d73 206f 6620 7265 6665 7265 6e63 6573 ms of references\n+000239c0: 2e20 286c 696e 6520 2031 3629 0a2a 2072 . (line 16).* r\n+000239d0: 6566 6572 656e 6365 2c20 7472 616e 7366 eference, transf\n+000239e0: 6f72 6d20 3c31 3e3a 2020 2020 2020 2020 orm <1>: \n+000239f0: 2020 2020 2020 4f76 6572 7669 6577 2e20 Overview. \n+00023a00: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00023a10: 2020 3335 290a 2a20 7265 6665 7265 6e63 35).* referenc\n+00023a20: 652c 2076 6563 746f 723a 2020 2020 2020 e, vector: \n+00023a30: 2020 2020 2020 2020 2020 2020 2020 2050 P\n+00023a40: 6f6c 796c 696e 6520 7377 6565 7073 2e20 olyline sweeps. \n+00023a50: 2020 2020 286c 696e 6520 2032 3029 0a2a (line 20).*\n+00023a60: 2072 6566 6572 656e 6365 2c20 7665 6374 reference, vect\n+00023a70: 6f72 203c 313e 3a20 2020 2020 2020 2020 or <1>: \n+00023a80: 2020 2020 2020 2020 466f 726d 7320 6f66 Forms of\n+00023a90: 2072 6566 6572 656e 6365 732e 2028 6c69 references. (li\n+00023aa0: 6e65 2020 3135 290a 2a20 7265 7065 6174 ne 15).* repeat\n+00023ab0: 6564 206f 626a 6563 743a 2020 2020 2020 ed object: \n+00023ac0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023ad0: 2052 6570 6561 7473 2e20 2020 2020 2020 Repeats. \n+00023ae0: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n+00023af0: 0a2a 2072 6573 6572 7665 6420 776f 7264 .* reserved word\n+00023b00: 733a 2020 2020 2020 2020 2020 2020 2020 s: \n+00023b10: 2020 2020 2020 2020 2020 4b65 7920 616e Key an\n+00023b20: 6420 7265 7365 7276 6564 2077 6f72 6473 d reserved words\n+00023b30: 2e0a 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 286c 696e 6520 (line \n-00023b70: 2031 3129 0a2a 2072 6967 6874 2068 616e 11).* right han\n-00023b80: 6420 7275 6c65 3a20 2020 2020 2020 2020 d rule: \n-00023b90: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n-00023ba0: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n-00023bb0: 2020 2028 6c69 6e65 2020 3431 290a 2a20 (line 41).* \n-00023bc0: 7269 6768 742d 6861 6e64 2063 6f6f 7264 right-hand coord\n-00023bd0: 696e 6174 6520 7379 7374 656d 3a20 2020 inate system: \n-00023be0: 2020 2020 2020 2049 6e74 726f 6475 6374 Introduct\n-00023bf0: 696f 6e20 6279 2065 7861 6d70 6c65 2e0a ion by example..\n-00023c00: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023b60: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023b70: 286c 696e 6520 2031 3129 0a2a 2072 6967 (line 11).* rig\n+00023b80: 6874 2068 616e 6420 7275 6c65 3a20 2020 ht hand rule: \n+00023b90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023ba0: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n+00023bb0: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line \n+00023bc0: 3431 290a 2a20 7269 6768 742d 6861 6e64 41).* right-hand\n+00023bd0: 2063 6f6f 7264 696e 6174 6520 7379 7374 coordinate syst\n+00023be0: 656d 3a20 2020 2020 2020 2020 2049 6e74 em: Int\n+00023bf0: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa\n+00023c00: 6d70 6c65 2e0a 2020 2020 2020 2020 2020 mple.. \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 286c (l\n-00023c40: 696e 6520 2031 3129 0a2a 2072 6f74 6174 ine 11).* rotat\n-00023c50: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: \n+00023c30: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023c40: 2020 2020 286c 696e 6520 2031 3129 0a2a (line 11).*\n+00023c50: 2072 6f74 6174 696f 6e3a 2020 2020 2020 rotation: \n 00023c60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023c70: 2020 4f62 6a65 6374 2074 7261 6e73 666f Object transfo\n-00023c80: 726d 732e 2020 2028 6c69 6e65 2020 3339 rms. (line 39\n-00023c90: 290a 2a20 726f 7461 7469 6f6e 2074 7261 ).* rotation tra\n-00023ca0: 6e73 666f 726d 3a20 2020 2020 2020 2020 nsform: \n-00023cb0: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n-00023cc0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n-00023cd0: 286c 696e 6520 2031 3029 0a2a 2072 6f74 (line 10).* rot\n-00023ce0: 6174 696f 6e20 7472 616e 7366 6f72 6d20 ation transform \n-00023cf0: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n-00023d00: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic\n-00023d10: 616c 206d 6f64 656c 2e0a 2020 2020 2020 al model.. \n+00023c70: 2020 2020 2020 2020 4f62 6a65 6374 2074 Object t\n+00023c80: 7261 6e73 666f 726d 732e 2020 2028 6c69 ransforms. (li\n+00023c90: 6e65 2020 3339 290a 2a20 726f 7461 7469 ne 39).* rotati\n+00023ca0: 6f6e 2074 7261 6e73 666f 726d 3a20 2020 on transform: \n+00023cb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00023cc0: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n+00023cd0: 616c 732e 2020 286c 696e 6520 2031 3029 als. (line 10)\n+00023ce0: 0a2a 2072 6f74 6174 696f 6e20 7472 616e .* rotation tran\n+00023cf0: 7366 6f72 6d20 3c31 3e3a 2020 2020 2020 sform <1>: \n+00023d00: 2020 2020 2020 2020 2020 4120 6869 6572 A hier\n+00023d10: 6172 6368 6963 616c 206d 6f64 656c 2e0a archical 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 286c 696e 6520 2034 (line 4\n-00023d60: 3829 0a2a 2072 6f74 6174 696f 6e20 7472 8).* rotation tr\n-00023d70: 616e 7366 6f72 6d20 3c32 3e3a 2020 2020 ansform <2>: \n-00023d80: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n-00023d90: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n-00023da0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00023d50: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00023d60: 696e 6520 2034 3829 0a2a 2072 6f74 6174 ine 48).* rotat\n+00023d70: 696f 6e20 7472 616e 7366 6f72 6d20 3c32 ion transform <2\n+00023d80: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00023d90: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical\n+00023da0: 206d 6f64 656c 2e0a 2020 2020 2020 2020 model.. \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: 286c 696e 6520 2035 3829 0a2a 2072 6f74 (line 58).* rot\n-00023df0: 6174 696f 6e20 7472 616e 7366 6f72 6d20 ation transform \n-00023e00: 3c33 3e3a 2020 2020 2020 2020 2020 2020 <3>: \n-00023e10: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic\n-00023e20: 616c 206d 6f64 656c 2e0a 2020 2020 2020 al model.. \n+00023de0: 2020 2020 2020 286c 696e 6520 2035 3829 (line 58)\n+00023df0: 0a2a 2072 6f74 6174 696f 6e20 7472 616e .* rotation tran\n+00023e00: 7366 6f72 6d20 3c33 3e3a 2020 2020 2020 sform <3>: \n+00023e10: 2020 2020 2020 2020 2020 4120 6869 6572 A hier\n+00023e20: 6172 6368 6963 616c 206d 6f64 656c 2e0a archical 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 286c 696e 6520 2037 (line 7\n-00023e70: 3829 0a2a 2072 6f74 6174 696f 6e20 7472 8).* rotation tr\n-00023e80: 616e 7366 6f72 6d20 3c34 3e3a 2020 2020 ansform <4>: \n-00023e90: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n-00023ea0: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n-00023eb0: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00023e60: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00023e70: 696e 6520 2037 3829 0a2a 2072 6f74 6174 ine 78).* rotat\n+00023e80: 696f 6e20 7472 616e 7366 6f72 6d20 3c34 ion transform <4\n+00023e90: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n+00023ea0: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical\n+00023eb0: 206d 6f64 656c 2e0a 2020 2020 2020 2020 model.. \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: 286c 696e 6520 2039 3329 0a2a 2072 6f74 (line 93).* rot\n-00023f00: 6174 696f 6e2c 2063 656e 7465 7220 6f66 ation, center of\n-00023f10: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00023f20: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n-00023f30: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line \n-00023f40: 2038 290a 2a20 726f 7461 7469 6f6e 2c20 8).* rotation, \n-00023f50: 6365 6e74 6572 206f 6620 3c31 3e3a 2020 center of <1>: \n-00023f60: 2020 2020 2020 2020 2020 2020 204e 6573 Nes\n-00023f70: 7465 6420 7377 6565 7073 2e20 2020 2020 ted sweeps. \n-00023f80: 2020 286c 696e 6520 2020 3629 0a2a 2072 (line 6).* r\n-00023f90: 756e 6e69 6e67 2073 6b65 7463 683a 2020 unning sketch: \n-00023fa0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00023fb0: 2020 2020 2020 4865 6c6c 6f20 776f 726c Hello worl\n-00023fc0: 642e 2020 2020 2020 2020 2028 6c69 6e65 d. (line\n-00023fd0: 2020 2039 290a 2a20 7363 616c 6172 2064 9).* scalar d\n-00023fe0: 6566 696e 6974 696f 6e3a 2020 2020 2020 efinition: \n-00023ff0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n-00024000: 7765 7074 206f 626a 6563 7473 2e20 2020 wept objects. \n-00024010: 2020 2020 286c 696e 6520 2031 3329 0a2a (line 13).*\n-00024020: 2073 6361 6c61 7220 6c69 7465 7261 6c3a scalar literal:\n-00024030: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024040: 2020 2020 2020 2020 5363 616c 6172 206c Scalar l\n-00024050: 6974 6572 616c 732e 2020 2020 2028 6c69 iterals. (li\n-00024060: 6e65 2020 2036 290a 2a20 7363 616c 6172 ne 6).* scalar\n-00024070: 2072 6566 6572 656e 6365 3a20 2020 2020 reference: \n-00024080: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024090: 2046 6f72 6d73 206f 6620 7265 6665 7265 Forms of refere\n-000240a0: 6e63 6573 2e20 286c 696e 6520 2031 3329 nces. (line 13)\n-000240b0: 0a2a 2073 6361 6c65 2074 7261 6e73 666f .* scale transfo\n-000240c0: 726d 3a20 2020 2020 2020 2020 2020 2020 rm: \n-000240d0: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n-000240e0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n-000240f0: 6c69 6e65 2020 3136 290a 2a20 7363 616c line 16).* scal\n-00024100: 6520 7472 616e 7366 6f72 6d20 3c31 3e3a e transform <1>:\n-00024110: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024120: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n-00024130: 6572 616c 732e 2020 286c 696e 6520 2031 erals. (line 1\n-00024140: 3729 0a2a 2073 6365 6e65 2064 6573 6372 7).* scene descr\n-00024150: 6970 7469 6f6e 206c 616e 6775 6167 653a iption language:\n-00024160: 2020 2020 2020 2020 2020 2020 4c61 6e67 Lang\n-00024170: 7561 6765 2062 6173 6963 732e 2020 2020 uage basics. \n-00024180: 2028 6c69 6e65 2020 2038 290a 2a20 7363 (line 8).* sc\n-00024190: 656e 6520 6465 7363 7269 7074 696f 6e20 ene description \n-000241a0: 6c61 6e67 7561 6765 203c 313e 3a20 2020 language <1>: \n-000241b0: 2020 2020 2042 7569 6c64 696e 6720 6120 Building a \n-000241c0: 6472 6177 696e 672e 2020 286c 696e 6520 drawing. (line \n-000241d0: 2020 3729 0a2a 2073 636f 7065 2c20 6964 7).* scope, id\n-000241e0: 656e 7469 6669 6572 3a20 2020 2020 2020 entifier: \n-000241f0: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n-00024200: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n-00024210: 2020 2028 6c69 6e65 2020 3236 290a 2a20 (line 26).* \n-00024220: 7363 6f70 652c 2069 6465 6e74 6966 6965 scope, identifie\n-00024230: 7220 3c31 3e3a 2020 2020 2020 2020 2020 r <1>: \n-00024240: 2020 2020 2020 2042 6c6f 636b 732e 2020 Blocks. \n-00024250: 2020 2020 2020 2020 2020 2020 286c 696e (lin\n-00024260: 6520 2031 3329 0a2a 2073 696d 706c 6520 e 13).* simple \n-00024270: 6465 6669 6e69 7469 6f6e 3a20 2020 2020 definition: \n-00024280: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024290: 466f 726d 7320 6f66 2064 6566 696e 6974 Forms of definit\n-000242a0: 696f 6e73 2e0a 2020 2020 2020 2020 2020 ions.. \n+00023ef0: 2020 2020 2020 286c 696e 6520 2039 3329 (line 93)\n+00023f00: 0a2a 2072 6f74 6174 696f 6e2c 2063 656e .* rotation, cen\n+00023f10: 7465 7220 6f66 3a20 2020 2020 2020 2020 ter of: \n+00023f20: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object\n+00023f30: 2074 7261 6e73 666f 726d 732e 2020 2028 transforms. (\n+00023f40: 6c69 6e65 2020 2038 290a 2a20 726f 7461 line 8).* rota\n+00023f50: 7469 6f6e 2c20 6365 6e74 6572 206f 6620 tion, center of \n+00023f60: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00023f70: 2020 204e 6573 7465 6420 7377 6565 7073 Nested sweeps\n+00023f80: 2e20 2020 2020 2020 286c 696e 6520 2020 . (line \n+00023f90: 3629 0a2a 2072 756e 6e69 6e67 2073 6b65 6).* running ske\n+00023fa0: 7463 683a 2020 2020 2020 2020 2020 2020 tch: \n+00023fb0: 2020 2020 2020 2020 2020 2020 4865 6c6c Hell\n+00023fc0: 6f20 776f 726c 642e 2020 2020 2020 2020 o world. \n+00023fd0: 2028 6c69 6e65 2020 2039 290a 2a20 7363 (line 9).* sc\n+00023fe0: 616c 6172 2064 6566 696e 6974 696f 6e3a alar definition:\n+00023ff0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024000: 2020 2020 2053 7765 7074 206f 626a 6563 Swept objec\n+00024010: 7473 2e20 2020 2020 2020 286c 696e 6520 ts. (line \n+00024020: 2031 3329 0a2a 2073 6361 6c61 7220 6c69 13).* scalar li\n+00024030: 7465 7261 6c3a 2020 2020 2020 2020 2020 teral: \n+00024040: 2020 2020 2020 2020 2020 2020 2020 5363 Sc\n+00024050: 616c 6172 206c 6974 6572 616c 732e 2020 alar literals. \n+00024060: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00024070: 7363 616c 6172 2072 6566 6572 656e 6365 scalar reference\n+00024080: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00024090: 2020 2020 2020 2046 6f72 6d73 206f 6620 Forms of \n+000240a0: 7265 6665 7265 6e63 6573 2e20 286c 696e references. (lin\n+000240b0: 6520 2031 3329 0a2a 2073 6361 6c65 2074 e 13).* scale t\n+000240c0: 7261 6e73 666f 726d 3a20 2020 2020 2020 ransform: \n+000240d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000240e0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n+000240f0: 6c73 2e20 2028 6c69 6e65 2020 3136 290a ls. (line 16).\n+00024100: 2a20 7363 616c 6520 7472 616e 7366 6f72 * scale transfor\n+00024110: 6d20 3c31 3e3a 2020 2020 2020 2020 2020 m <1>: \n+00024120: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo\n+00024130: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l\n+00024140: 696e 6520 2031 3729 0a2a 2073 6365 6e65 ine 17).* scene\n+00024150: 2064 6573 6372 6970 7469 6f6e 206c 616e description lan\n+00024160: 6775 6167 653a 2020 2020 2020 2020 2020 guage: \n+00024170: 2020 4c61 6e67 7561 6765 2062 6173 6963 Language basic\n+00024180: 732e 2020 2020 2028 6c69 6e65 2020 2038 s. (line 8\n+00024190: 290a 2a20 7363 656e 6520 6465 7363 7269 ).* scene descri\n+000241a0: 7074 696f 6e20 6c61 6e67 7561 6765 203c ption language <\n+000241b0: 313e 3a20 2020 2020 2020 2042 7569 6c64 1>: Build\n+000241c0: 696e 6720 6120 6472 6177 696e 672e 2020 ing a drawing. \n+000241d0: 286c 696e 6520 2020 3729 0a2a 2073 636f (line 7).* sco\n+000241e0: 7065 2c20 6964 656e 7469 6669 6572 3a20 pe, identifier: \n+000241f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024200: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n+00024210: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line \n+00024220: 3236 290a 2a20 7363 6f70 652c 2069 6465 26).* scope, ide\n+00024230: 6e74 6966 6965 7220 3c31 3e3a 2020 2020 ntifier <1>: \n+00024240: 2020 2020 2020 2020 2020 2020 2042 6c6f Blo\n+00024250: 636b 732e 2020 2020 2020 2020 2020 2020 cks. \n+00024260: 2020 286c 696e 6520 2031 3329 0a2a 2073 (line 13).* s\n+00024270: 696d 706c 6520 6465 6669 6e69 7469 6f6e imple definition\n+00024280: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00024290: 2020 2020 2020 466f 726d 7320 6f66 2064 Forms of d\n+000242a0: 6566 696e 6974 696f 6e73 2e0a 2020 2020 efinitions.. \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 286c 696e 6520 2020 3629 0a2a (line 6).*\n-000242f0: 2073 6f6c 6964 3a20 2020 2020 2020 2020 solid: \n+000242e0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+000242f0: 2020 3629 0a2a 2073 6f6c 6964 3a20 2020 6).* solid: \n 00024300: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024310: 2020 2020 2020 2020 4472 6177 696e 6720 Drawing \n-00024320: 6120 736f 6c69 642e 2020 2020 2028 6c69 a solid. (li\n-00024330: 6e65 2020 2036 290a 2a20 7370 6563 6961 ne 6).* specia\n-00024340: 6c20 6172 6775 6d65 6e74 2073 7562 7374 l argument subst\n-00024350: 6974 7574 696f 6e3a 2020 2020 2020 2020 itution: \n-00024360: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects\n-00024370: 2e20 2020 2020 286c 696e 6520 2032 3829 . (line 28)\n-00024380: 0a2a 2073 7065 6369 616c 2061 7267 756d .* special argum\n-00024390: 656e 7420 7375 6273 7469 7475 7469 6f6e ent substitution\n-000243a0: 203c 313e 3a20 2020 2020 5370 6563 6961 <1>: Specia\n-000243b0: 6c73 2e20 2020 2020 2020 2020 2020 2028 ls. (\n-000243c0: 6c69 6e65 2020 3130 290a 2a20 7370 6563 line 10).* spec\n-000243d0: 6961 6c20 6f62 6a65 6374 3a20 2020 2020 ial object: \n-000243e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000243f0: 2020 2053 7065 6369 616c 206f 626a 6563 Special objec\n-00024400: 7473 2e20 2020 2020 286c 696e 6520 2020 ts. (line \n-00024410: 3629 0a2a 2073 7065 6369 616c 206f 626a 6).* special obj\n-00024420: 6563 7473 3a20 2020 2020 2020 2020 2020 ects: \n-00024430: 2020 2020 2020 2020 2020 2020 4120 7465 A te\n-00024440: 6368 6e69 6361 6c20 6472 6177 696e 672e chnical drawing.\n-00024450: 2028 6c69 6e65 2020 3338 290a 2a20 7370 (line 38).* sp\n-00024460: 6c69 7474 696e 672c 206c 696e 6520 616e litting, line an\n-00024470: 6420 7375 7266 6163 653a 2020 2020 2020 d surface: \n-00024480: 2020 2020 2048 656c 6c6f 2077 6f72 6c64 Hello world\n-00024490: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n-000244a0: 2031 3929 0a2a 2073 706c 6974 7469 6e67 19).* splitting\n-000244b0: 2c20 6c69 6e65 2061 6e64 2073 7572 6661 , line and surfa\n-000244c0: 6365 203c 313e 3a20 2020 2020 2020 4869 ce <1>: Hi\n-000244d0: 6464 656e 2073 7572 6661 6365 2072 656d dden surface rem\n-000244e0: 6f76 616c 2e0a 2020 2020 2020 2020 2020 oval.. \n+00024310: 2020 2020 2020 2020 2020 2020 2020 4472 Dr\n+00024320: 6177 696e 6720 6120 736f 6c69 642e 2020 awing a solid. \n+00024330: 2020 2028 6c69 6e65 2020 2036 290a 2a20 (line 6).* \n+00024340: 7370 6563 6961 6c20 6172 6775 6d65 6e74 special argument\n+00024350: 2073 7562 7374 6974 7574 696f 6e3a 2020 substitution: \n+00024360: 2020 2020 2020 2053 7065 6369 616c 206f Special o\n+00024370: 626a 6563 7473 2e20 2020 2020 286c 696e bjects. (lin\n+00024380: 6520 2032 3829 0a2a 2073 7065 6369 616c e 28).* special\n+00024390: 2061 7267 756d 656e 7420 7375 6273 7469 argument substi\n+000243a0: 7475 7469 6f6e 203c 313e 3a20 2020 2020 tution <1>: \n+000243b0: 5370 6563 6961 6c73 2e20 2020 2020 2020 Specials. \n+000243c0: 2020 2020 2028 6c69 6e65 2020 3130 290a (line 10).\n+000243d0: 2a20 7370 6563 6961 6c20 6f62 6a65 6374 * special object\n+000243e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+000243f0: 2020 2020 2020 2020 2053 7065 6369 616c Special\n+00024400: 206f 626a 6563 7473 2e20 2020 2020 286c objects. (l\n+00024410: 696e 6520 2020 3629 0a2a 2073 7065 6369 ine 6).* speci\n+00024420: 616c 206f 626a 6563 7473 3a20 2020 2020 al objects: \n+00024430: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024440: 2020 4120 7465 6368 6e69 6361 6c20 6472 A technical dr\n+00024450: 6177 696e 672e 2028 6c69 6e65 2020 3338 awing. (line 38\n+00024460: 290a 2a20 7370 6c69 7474 696e 672c 206c ).* splitting, l\n+00024470: 696e 6520 616e 6420 7375 7266 6163 653a ine and surface:\n+00024480: 2020 2020 2020 2020 2020 2048 656c 6c6f Hello\n+00024490: 2077 6f72 6c64 2e20 2020 2020 2020 2020 world. \n+000244a0: 286c 696e 6520 2031 3929 0a2a 2073 706c (line 19).* spl\n+000244b0: 6974 7469 6e67 2c20 6c69 6e65 2061 6e64 itting, line and\n+000244c0: 2073 7572 6661 6365 203c 313e 3a20 2020 surface <1>: \n+000244d0: 2020 2020 4869 6464 656e 2073 7572 6661 Hidden surfa\n+000244e0: 6365 2072 656d 6f76 616c 2e0a 2020 2020 ce 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 286c 696e 6520 2032 3129 0a2a (line 21).*\n-00024530: 2073 7562 7374 6974 7574 696f 6e2c 2073 substitution, s\n-00024540: 7065 6369 616c 3a20 2020 2020 2020 2020 pecial: \n-00024550: 2020 2020 2020 2020 5370 6563 6961 6c20 Special \n-00024560: 6f62 6a65 6374 732e 2020 2020 2028 6c69 objects. (li\n-00024570: 6e65 2020 3238 290a 2a20 7375 7266 6163 ne 28).* surfac\n-00024580: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+00024520: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+00024530: 2032 3129 0a2a 2073 7562 7374 6974 7574 21).* substitut\n+00024540: 696f 6e2c 2073 7065 6369 616c 3a20 2020 ion, special: \n+00024550: 2020 2020 2020 2020 2020 2020 2020 5370 Sp\n+00024560: 6563 6961 6c20 6f62 6a65 6374 732e 2020 ecial objects. \n+00024570: 2020 2028 6c69 6e65 2020 3238 290a 2a20 (line 28).* \n+00024580: 7375 7266 6163 653a 2020 2020 2020 2020 surface: \n 00024590: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000245a0: 2050 6f6c 796c 696e 6520 7377 6565 7073 Polyline sweeps\n-000245b0: 2e20 2020 2020 286c 696e 6520 2020 3629 . (line 6)\n-000245c0: 0a2a 2073 7765 6570 3a20 2020 2020 2020 .* sweep: \n+000245a0: 2020 2020 2020 2050 6f6c 796c 696e 6520 Polyline \n+000245b0: 7377 6565 7073 2e20 2020 2020 286c 696e sweeps. (lin\n+000245c0: 6520 2020 3629 0a2a 2073 7765 6570 3a20 e 6).* sweep: \n 000245d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000245e0: 2020 2020 2020 2020 2020 5377 6570 7420 Swept \n-000245f0: 6f62 6a65 6374 732e 2020 2020 2020 2028 objects. (\n-00024600: 6c69 6e65 2020 2036 290a 2a20 7377 6570 line 6).* swep\n-00024610: 7420 626f 636b 3a20 2020 2020 2020 2020 t bock: \n+000245e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000245f0: 5377 6570 7420 6f62 6a65 6374 732e 2020 Swept objects. \n+00024600: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n+00024610: 2a20 7377 6570 7420 626f 636b 3a20 2020 * swept bock: \n 00024620: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024630: 2020 2053 7765 7074 2062 6c6f 636b 732e Swept blocks.\n-00024640: 2020 2020 2020 2020 286c 696e 6520 2020 (line \n-00024650: 3629 0a2a 2073 7765 7074 206c 696e 653a 6).* swept line:\n-00024660: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024670: 2020 2020 2020 2020 2020 2020 506f 6c79 Poly\n-00024680: 6c69 6e65 2073 7765 6570 732e 2020 2020 line sweeps. \n-00024690: 2028 6c69 6e65 2020 2036 290a 2a20 7377 (line 6).* sw\n-000246a0: 6570 7420 6c69 6e65 203c 313e 3a20 2020 ept line <1>: \n-000246b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000246c0: 2020 2020 2053 7765 7074 206c 696e 6573 Swept lines\n-000246d0: 2e20 2020 2020 2020 2020 286c 696e 6520 . (line \n-000246e0: 2020 3629 0a2a 2073 7765 7074 206c 696e 6).* swept lin\n-000246f0: 6520 3c32 3e3a 2020 2020 2020 2020 2020 e <2>: \n-00024700: 2020 2020 2020 2020 2020 2020 2020 4120 A \n-00024710: 7465 6368 6e69 6361 6c20 6472 6177 696e technical drawin\n-00024720: 672e 2028 6c69 6e65 2020 3230 290a 2a20 g. (line 20).* \n-00024730: 7377 6570 7420 6f62 6a65 6374 3a20 2020 swept object: \n-00024740: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024750: 2020 2020 2020 2053 7765 7074 206f 626a Swept obj\n-00024760: 6563 7473 2e20 2020 2020 2020 286c 696e ects. (lin\n-00024770: 6520 2020 3629 0a2a 2073 7765 7074 206f e 6).* swept o\n-00024780: 626a 6563 7420 3c31 3e3a 2020 2020 2020 bject <1>: \n+00024630: 2020 2020 2020 2020 2053 7765 7074 2062 Swept b\n+00024640: 6c6f 636b 732e 2020 2020 2020 2020 286c locks. (l\n+00024650: 696e 6520 2020 3629 0a2a 2073 7765 7074 ine 6).* swept\n+00024660: 206c 696e 653a 2020 2020 2020 2020 2020 line: \n+00024670: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024680: 2020 506f 6c79 6c69 6e65 2073 7765 6570 Polyline sweep\n+00024690: 732e 2020 2020 2028 6c69 6e65 2020 2036 s. (line 6\n+000246a0: 290a 2a20 7377 6570 7420 6c69 6e65 203c ).* swept line <\n+000246b0: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+000246c0: 2020 2020 2020 2020 2020 2053 7765 7074 Swept\n+000246d0: 206c 696e 6573 2e20 2020 2020 2020 2020 lines. \n+000246e0: 286c 696e 6520 2020 3629 0a2a 2073 7765 (line 6).* swe\n+000246f0: 7074 206c 696e 6520 3c32 3e3a 2020 2020 pt line <2>: \n+00024700: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024710: 2020 2020 4120 7465 6368 6e69 6361 6c20 A technical \n+00024720: 6472 6177 696e 672e 2028 6c69 6e65 2020 drawing. (line \n+00024730: 3230 290a 2a20 7377 6570 7420 6f62 6a65 20).* swept obje\n+00024740: 6374 3a20 2020 2020 2020 2020 2020 2020 ct: \n+00024750: 2020 2020 2020 2020 2020 2020 2053 7765 Swe\n+00024760: 7074 206f 626a 6563 7473 2e20 2020 2020 pt objects. \n+00024770: 2020 286c 696e 6520 2020 3629 0a2a 2073 (line 6).* s\n+00024780: 7765 7074 206f 626a 6563 7420 3c31 3e3a wept object <1>:\n 00024790: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000247a0: 5377 6565 7073 2e20 2020 2020 2020 2020 Sweeps. \n-000247b0: 2020 2020 2028 6c69 6e65 2020 2039 290a (line 9).\n-000247c0: 2a20 7377 6570 7420 706f 696e 743a 2020 * swept point: \n-000247d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000247e0: 2020 2020 2020 2020 2053 7765 7074 206f Swept o\n-000247f0: 626a 6563 7473 2e20 2020 2020 2020 286c bjects. (l\n-00024800: 696e 6520 2031 3129 0a2a 2073 7765 7074 ine 11).* swept\n-00024810: 2070 6f69 6e74 203c 313e 3a20 2020 2020 point <1>: \n-00024820: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024830: 2020 5377 6570 7420 706f 696e 7473 2e20 Swept points. \n-00024840: 2020 2020 2020 2028 6c69 6e65 2020 2036 (line 6\n-00024850: 290a 2a20 7377 6570 7420 706f 6c79 676f ).* swept polygo\n-00024860: 6e3a 2020 2020 2020 2020 2020 2020 2020 n: \n-00024870: 2020 2020 2020 2020 2020 2050 6f6c 7967 Polyg\n-00024880: 6f6e 2073 7765 6570 732e 2020 2020 2020 on sweeps. \n-00024890: 286c 696e 6520 2020 3629 0a2a 2073 7765 (line 6).* swe\n-000248a0: 7074 2070 6f6c 7967 6f6e 203c 313e 3a20 pt polygon <1>: \n-000248b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000248c0: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic\n-000248d0: 616c 206d 6f64 656c 2e0a 2020 2020 2020 al model.. \n+000247a0: 2020 2020 2020 5377 6565 7073 2e20 2020 Sweeps. \n+000247b0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+000247c0: 2020 2039 290a 2a20 7377 6570 7420 706f 9).* swept po\n+000247d0: 696e 743a 2020 2020 2020 2020 2020 2020 int: \n+000247e0: 2020 2020 2020 2020 2020 2020 2020 2053 S\n+000247f0: 7765 7074 206f 626a 6563 7473 2e20 2020 wept objects. \n+00024800: 2020 2020 286c 696e 6520 2031 3129 0a2a (line 11).*\n+00024810: 2073 7765 7074 2070 6f69 6e74 203c 313e swept point <1>\n+00024820: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00024830: 2020 2020 2020 2020 5377 6570 7420 706f Swept po\n+00024840: 696e 7473 2e20 2020 2020 2020 2028 6c69 ints. (li\n+00024850: 6e65 2020 2036 290a 2a20 7377 6570 7420 ne 6).* swept \n+00024860: 706f 6c79 676f 6e3a 2020 2020 2020 2020 polygon: \n+00024870: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024880: 2050 6f6c 7967 6f6e 2073 7765 6570 732e Polygon sweeps.\n+00024890: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n+000248a0: 0a2a 2073 7765 7074 2070 6f6c 7967 6f6e .* swept polygon\n+000248b0: 203c 313e 3a20 2020 2020 2020 2020 2020 <1>: \n+000248c0: 2020 2020 2020 2020 2020 4120 6869 6572 A hier\n+000248d0: 6172 6368 6963 616c 206d 6f64 656c 2e0a archical 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 286c 696e 6520 3132 (line 12\n-00024920: 3229 0a2a 2074 6167 2064 6566 696e 6974 2).* tag definit\n-00024930: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: \n-00024940: 2020 2020 2020 2020 2020 2020 4465 6669 Defi\n-00024950: 6e69 7469 6f6e 732e 2020 2020 2020 2020 nitions. \n-00024960: 2028 6c69 6e65 2020 3138 290a 2a20 7461 (line 18).* ta\n-00024970: 6720 6465 6669 6e69 7469 6f6e 203c 313e g definition <1>\n-00024980: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00024990: 2020 2020 2046 6f72 6d73 206f 6620 6465 Forms of de\n-000249a0: 6669 6e69 7469 6f6e 732e 0a20 2020 2020 finitions.. \n-000249b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024910: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00024920: 696e 6520 3132 3229 0a2a 2074 6167 2064 ine 122).* tag d\n+00024930: 6566 696e 6974 696f 6e3a 2020 2020 2020 efinition: \n+00024940: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024950: 2020 4465 6669 6e69 7469 6f6e 732e 2020 Definitions. \n+00024960: 2020 2020 2020 2028 6c69 6e65 2020 3138 (line 18\n+00024970: 290a 2a20 7461 6720 6465 6669 6e69 7469 ).* tag definiti\n+00024980: 6f6e 203c 313e 3a20 2020 2020 2020 2020 on <1>: \n+00024990: 2020 2020 2020 2020 2020 2046 6f72 6d73 Forms\n+000249a0: 206f 6620 6465 6669 6e69 7469 6f6e 732e of definitions.\n+000249b0: 0a20 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 2028 6c69 6e65 2020 (line \n-000249f0: 2037 290a 2a20 7461 6720 6465 6669 6e69 7).* tag defini\n-00024a00: 7469 6f6e 203c 323e 3a20 2020 2020 2020 tion <2>: \n-00024a10: 2020 2020 2020 2020 2020 2020 2043 6f6d Com\n-00024a20: 6d61 6e64 206c 696e 652e 2020 2020 2020 mand line. \n-00024a30: 2020 286c 696e 6520 2035 3329 0a2a 2074 (line 53).* t\n-00024a40: 6167 2072 6566 6572 656e 6365 3a20 2020 ag reference: \n-00024a50: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024a60: 2020 2020 2020 466f 726d 7320 6f66 2064 Forms of d\n-00024a70: 6566 696e 6974 696f 6e73 2e0a 2020 2020 efinitions.. \n-00024a80: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000249e0: 2020 2020 2020 2020 2020 2020 2020 2028 (\n+000249f0: 6c69 6e65 2020 2037 290a 2a20 7461 6720 line 7).* tag \n+00024a00: 6465 6669 6e69 7469 6f6e 203c 323e 3a20 definition <2>: \n+00024a10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024a20: 2020 2043 6f6d 6d61 6e64 206c 696e 652e Command line.\n+00024a30: 2020 2020 2020 2020 286c 696e 6520 2035 (line 5\n+00024a40: 3329 0a2a 2074 6167 2072 6566 6572 656e 3).* tag referen\n+00024a50: 6365 3a20 2020 2020 2020 2020 2020 2020 ce: \n+00024a60: 2020 2020 2020 2020 2020 2020 466f 726d Form\n+00024a70: 7320 6f66 2064 6566 696e 6974 696f 6e73 s of definitions\n+00024a80: 2e0a 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 286c 696e 6520 (line \n-00024ac0: 2032 3029 0a2a 2074 6167 2072 6566 6572 20).* tag refer\n-00024ad0: 656e 6365 203c 313e 3a20 2020 2020 2020 ence <1>: \n-00024ae0: 2020 2020 2020 2020 2020 2020 2020 466f Fo\n-00024af0: 726d 7320 6f66 2072 6566 6572 656e 6365 rms of reference\n-00024b00: 732e 2028 6c69 6e65 2020 3139 290a 2a20 s. (line 19).* \n-00024b10: 7465 6d70 6c61 7465 2c20 646f 6375 6d65 template, docume\n-00024b20: 6e74 3a20 2020 2020 2020 2020 2020 2020 nt: \n-00024b30: 2020 2020 2020 2048 656c 6c6f 2077 6f72 Hello wor\n-00024b40: 6c64 2e20 2020 2020 2020 2020 286c 696e ld. (lin\n-00024b50: 6520 2033 3229 0a2a 2074 656d 706c 6174 e 32).* templat\n-00024b60: 652c 2064 6f63 756d 656e 7420 3c31 3e3a e, document <1>:\n-00024b70: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024b80: 436f 6d6d 616e 6420 6c69 6e65 2e20 2020 Command line. \n-00024b90: 2020 2020 2028 6c69 6e65 2020 3336 290a (line 36).\n-00024ba0: 2a20 7465 7472 6168 6564 726f 6e3a 2020 * tetrahedron: \n-00024bb0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024bc0: 2020 2020 2020 2020 2044 7261 7769 6e67 Drawing\n-00024bd0: 2061 2073 6f6c 6964 2e20 2020 2020 286c a solid. (l\n-00024be0: 696e 6520 2020 3929 0a2a 2074 6963 6b20 ine 9).* tick \n-00024bf0: 6f70 6572 6174 6f72 2028 2729 3a20 2020 operator ('): \n-00024c00: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024c10: 2020 4166 6669 6e65 2061 7269 7468 6d65 Affine arithme\n-00024c20: 7469 632e 2020 2028 6c69 6e65 2020 3337 tic. (line 37\n-00024c30: 290a 2a20 7469 636b 206f 7065 7261 746f ).* tick operato\n-00024c40: 7220 2827 2920 3c31 3e3a 2020 2020 2020 r (') <1>: \n-00024c50: 2020 2020 2020 2020 2020 2054 776f 2d6f Two-o\n-00024c60: 7065 7261 6e64 2028 6269 6e61 7279 2920 perand (binary) \n-00024c70: 666f 726d 732e 0a20 2020 2020 2020 2020 forms.. \n+00024ab0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024ac0: 286c 696e 6520 2032 3029 0a2a 2074 6167 (line 20).* tag\n+00024ad0: 2072 6566 6572 656e 6365 203c 313e 3a20 reference <1>: \n+00024ae0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024af0: 2020 2020 466f 726d 7320 6f66 2072 6566 Forms of ref\n+00024b00: 6572 656e 6365 732e 2028 6c69 6e65 2020 erences. (line \n+00024b10: 3139 290a 2a20 7465 6d70 6c61 7465 2c20 19).* template, \n+00024b20: 646f 6375 6d65 6e74 3a20 2020 2020 2020 document: \n+00024b30: 2020 2020 2020 2020 2020 2020 2048 656c Hel\n+00024b40: 6c6f 2077 6f72 6c64 2e20 2020 2020 2020 lo world. \n+00024b50: 2020 286c 696e 6520 2033 3229 0a2a 2074 (line 32).* t\n+00024b60: 656d 706c 6174 652c 2064 6f63 756d 656e emplate, documen\n+00024b70: 7420 3c31 3e3a 2020 2020 2020 2020 2020 t <1>: \n+00024b80: 2020 2020 2020 436f 6d6d 616e 6420 6c69 Command li\n+00024b90: 6e65 2e20 2020 2020 2020 2028 6c69 6e65 ne. (line\n+00024ba0: 2020 3336 290a 2a20 7465 7472 6168 6564 36).* tetrahed\n+00024bb0: 726f 6e3a 2020 2020 2020 2020 2020 2020 ron: \n+00024bc0: 2020 2020 2020 2020 2020 2020 2020 2044 D\n+00024bd0: 7261 7769 6e67 2061 2073 6f6c 6964 2e20 rawing a solid. \n+00024be0: 2020 2020 286c 696e 6520 2020 3929 0a2a (line 9).*\n+00024bf0: 2074 6963 6b20 6f70 6572 6174 6f72 2028 tick operator (\n+00024c00: 2729 3a20 2020 2020 2020 2020 2020 2020 '): \n+00024c10: 2020 2020 2020 2020 4166 6669 6e65 2061 Affine a\n+00024c20: 7269 7468 6d65 7469 632e 2020 2028 6c69 rithmetic. (li\n+00024c30: 6e65 2020 3337 290a 2a20 7469 636b 206f ne 37).* tick o\n+00024c40: 7065 7261 746f 7220 2827 2920 3c31 3e3a perator (') <1>:\n+00024c50: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024c60: 2054 776f 2d6f 7065 7261 6e64 2028 6269 Two-operand (bi\n+00024c70: 6e61 7279 2920 666f 726d 732e 0a20 2020 nary) 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 2028 6c69 6e65 2020 3431 290a (line 41).\n-00024cc0: 2a20 5469 6b5a 2f50 4746 3a20 2020 2020 * TikZ/PGF: \n-00024cd0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024ce0: 2020 2020 2020 2020 2041 626f 7574 2073 About s\n-00024cf0: 6b65 7463 682e 2020 2020 2020 2020 286c ketch. (l\n-00024d00: 696e 6520 2032 3229 0a2a 2074 6f72 6f69 ine 22).* toroi\n-00024d10: 643a 2020 2020 2020 2020 2020 2020 2020 d: \n+00024cb0: 2020 2020 2020 2020 2020 2028 6c69 6e65 (line\n+00024cc0: 2020 3431 290a 2a20 5469 6b5a 2f50 4746 41).* TikZ/PGF\n+00024cd0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00024ce0: 2020 2020 2020 2020 2020 2020 2020 2041 A\n+00024cf0: 626f 7574 2073 6b65 7463 682e 2020 2020 bout sketch. \n+00024d00: 2020 2020 286c 696e 6520 2032 3229 0a2a (line 22).*\n+00024d10: 2074 6f72 6f69 643a 2020 2020 2020 2020 toroid: \n 00024d20: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024d30: 2020 4e65 7374 6564 2073 7765 6570 732e Nested sweeps.\n-00024d40: 2020 2020 2020 2028 6c69 6e65 2020 2038 (line 8\n-00024d50: 290a 2a20 7472 616e 7366 6f72 6d3a 2020 ).* transform: \n-00024d60: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024d70: 2020 2020 2020 2020 2020 204f 626a 6563 Objec\n-00024d80: 7420 7472 616e 7366 6f72 6d73 2e20 2020 t transforms. \n-00024d90: 286c 696e 6520 2020 3629 0a2a 2074 7261 (line 6).* tra\n-00024da0: 6e73 666f 726d 203c 313e 3a20 2020 2020 nsform <1>: \n-00024db0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024dc0: 2020 2020 5477 6f2d 6f70 6572 616e 6420 Two-operand \n-00024dd0: 2862 696e 6172 7929 2066 6f72 6d73 2e0a (binary) forms..\n-00024de0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024d30: 2020 2020 2020 2020 4e65 7374 6564 2073 Nested s\n+00024d40: 7765 6570 732e 2020 2020 2020 2028 6c69 weeps. (li\n+00024d50: 6e65 2020 2038 290a 2a20 7472 616e 7366 ne 8).* transf\n+00024d60: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: \n+00024d70: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024d80: 204f 626a 6563 7420 7472 616e 7366 6f72 Object transfor\n+00024d90: 6d73 2e20 2020 286c 696e 6520 2020 3629 ms. (line 6)\n+00024da0: 0a2a 2074 7261 6e73 666f 726d 203c 313e .* transform <1>\n+00024db0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00024dc0: 2020 2020 2020 2020 2020 5477 6f2d 6f70 Two-op\n+00024dd0: 6572 616e 6420 2862 696e 6172 7929 2066 erand (binary) f\n+00024de0: 6f72 6d73 2e0a 2020 2020 2020 2020 2020 orms.. \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 286c (l\n-00024e20: 696e 6520 2032 3829 0a2a 2074 7261 6e73 ine 28).* trans\n-00024e30: 666f 726d 203c 323e 3a20 2020 2020 2020 form <2>: \n+00024e10: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024e20: 2020 2020 286c 696e 6520 2032 3829 0a2a (line 28).*\n+00024e30: 2074 7261 6e73 666f 726d 203c 323e 3a20 transform <2>: \n 00024e40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024e50: 2020 5377 6565 7073 2e20 2020 2020 2020 Sweeps. \n-00024e60: 2020 2020 2020 2028 6c69 6e65 2020 3131 (line 11\n-00024e70: 290a 2a20 7472 616e 7366 6f72 6d20 3c33 ).* transform <3\n-00024e80: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00024e90: 2020 2020 2020 2020 2020 2052 6570 6561 Repea\n-00024ea0: 7473 2e20 2020 2020 2020 2020 2020 2020 ts. \n-00024eb0: 286c 696e 6520 2020 3929 0a2a 2074 7261 (line 9).* tra\n-00024ec0: 6e73 666f 726d 203c 343e 3a20 2020 2020 nsform <4>: \n-00024ed0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00024ee0: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. \n-00024ef0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n-00024f00: 2037 290a 2a20 7472 616e 7366 6f72 6d20 7).* transform \n-00024f10: 6465 6669 6e69 7469 6f6e 3a20 2020 2020 definition: \n-00024f20: 2020 2020 2020 2020 2020 2020 204f 7665 Ove\n-00024f30: 7276 6965 772e 2020 2020 2020 2020 2020 rview. \n-00024f40: 2020 286c 696e 6520 2033 3529 0a2a 2074 (line 35).* t\n-00024f50: 7261 6e73 666f 726d 206c 6974 6572 616c ransform literal\n-00024f60: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00024f70: 2020 2020 2020 5472 616e 7366 6f72 6d20 Transform \n-00024f80: 6c69 7465 7261 6c73 2e20 2028 6c69 6e65 literals. (line\n-00024f90: 2020 2036 290a 2a20 7472 616e 7366 6f72 6).* transfor\n-00024fa0: 6d20 7265 6665 7265 6e63 653a 2020 2020 m reference: \n-00024fb0: 2020 2020 2020 2020 2020 2020 2020 2046 F\n-00024fc0: 6f72 6d73 206f 6620 7265 6665 7265 6e63 orms of referenc\n-00024fd0: 6573 2e20 286c 696e 6520 2031 3629 0a2a es. (line 16).*\n-00024fe0: 2074 7261 6e73 666f 726d 2072 6566 6572 transform refer\n-00024ff0: 656e 6365 203c 313e 3a20 2020 2020 2020 ence <1>: \n-00025000: 2020 2020 2020 2020 4f76 6572 7669 6577 Overview\n-00025010: 2e20 2020 2020 2020 2020 2020 2028 6c69 . (li\n-00025020: 6e65 2020 3335 290a 2a20 7472 616e 7366 ne 35).* transf\n-00025030: 6f72 6d2c 2064 6972 6563 743a 2020 2020 orm, direct: \n-00025040: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025050: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-00025060: 616c 732e 2020 286c 696e 6520 2034 3729 als. (line 47)\n-00025070: 0a2a 2074 7261 6e73 666f 726d 2c20 6469 .* transform, di\n-00025080: 7265 6374 203c 313e 3a20 2020 2020 2020 rect <1>: \n-00025090: 2020 2020 2020 2020 2020 5472 616e 7366 Transf\n-000250a0: 6f72 6d20 6c69 7465 7261 6c73 2e20 2028 orm literals. (\n-000250b0: 6c69 6e65 2020 3533 290a 2a20 7472 616e line 53).* tran\n-000250c0: 7366 6f72 6d2c 2072 6f74 6174 696f 6e3a sform, rotation:\n-000250d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000250e0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n-000250f0: 6572 616c 732e 2020 286c 696e 6520 2031 erals. (line 1\n-00025100: 3029 0a2a 2074 7261 6e73 666f 726d 2c20 0).* transform, \n-00025110: 726f 7461 7469 6f6e 203c 313e 3a20 2020 rotation <1>: \n-00025120: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n-00025130: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n-00025140: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00024e50: 2020 2020 2020 2020 5377 6565 7073 2e20 Sweeps. \n+00024e60: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00024e70: 6e65 2020 3131 290a 2a20 7472 616e 7366 ne 11).* transf\n+00024e80: 6f72 6d20 3c33 3e3a 2020 2020 2020 2020 orm <3>: \n+00024e90: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00024ea0: 2052 6570 6561 7473 2e20 2020 2020 2020 Repeats. \n+00024eb0: 2020 2020 2020 286c 696e 6520 2020 3929 (line 9)\n+00024ec0: 0a2a 2074 7261 6e73 666f 726d 203c 343e .* transform <4>\n+00024ed0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00024ee0: 2020 2020 2020 2020 2020 4f76 6572 7669 Overvi\n+00024ef0: 6577 2e20 2020 2020 2020 2020 2020 2028 ew. (\n+00024f00: 6c69 6e65 2020 2037 290a 2a20 7472 616e line 7).* tran\n+00024f10: 7366 6f72 6d20 6465 6669 6e69 7469 6f6e sform definition\n+00024f20: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00024f30: 2020 204f 7665 7276 6965 772e 2020 2020 Overview. \n+00024f40: 2020 2020 2020 2020 286c 696e 6520 2033 (line 3\n+00024f50: 3529 0a2a 2074 7261 6e73 666f 726d 206c 5).* transform l\n+00024f60: 6974 6572 616c 3a20 2020 2020 2020 2020 iteral: \n+00024f70: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n+00024f80: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n+00024f90: 2028 6c69 6e65 2020 2036 290a 2a20 7472 (line 6).* tr\n+00024fa0: 616e 7366 6f72 6d20 7265 6665 7265 6e63 ansform referenc\n+00024fb0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+00024fc0: 2020 2020 2046 6f72 6d73 206f 6620 7265 Forms of re\n+00024fd0: 6665 7265 6e63 6573 2e20 286c 696e 6520 ferences. (line \n+00024fe0: 2031 3629 0a2a 2074 7261 6e73 666f 726d 16).* transform\n+00024ff0: 2072 6566 6572 656e 6365 203c 313e 3a20 reference <1>: \n+00025000: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov\n+00025010: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. \n+00025020: 2020 2028 6c69 6e65 2020 3335 290a 2a20 (line 35).* \n+00025030: 7472 616e 7366 6f72 6d2c 2064 6972 6563 transform, direc\n+00025040: 743a 2020 2020 2020 2020 2020 2020 2020 t: \n+00025050: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n+00025060: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin\n+00025070: 6520 2034 3729 0a2a 2074 7261 6e73 666f e 47).* transfo\n+00025080: 726d 2c20 6469 7265 6374 203c 313e 3a20 rm, direct <1>: \n+00025090: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000250a0: 5472 616e 7366 6f72 6d20 6c69 7465 7261 Transform litera\n+000250b0: 6c73 2e20 2028 6c69 6e65 2020 3533 290a ls. (line 53).\n+000250c0: 2a20 7472 616e 7366 6f72 6d2c 2072 6f74 * transform, rot\n+000250d0: 6174 696f 6e3a 2020 2020 2020 2020 2020 ation: \n+000250e0: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo\n+000250f0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l\n+00025100: 696e 6520 2031 3029 0a2a 2074 7261 6e73 ine 10).* trans\n+00025110: 666f 726d 2c20 726f 7461 7469 6f6e 203c form, rotation <\n+00025120: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n+00025130: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical\n+00025140: 206d 6f64 656c 2e0a 2020 2020 2020 2020 model.. \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: 286c 696e 6520 2034 3829 0a2a 2074 7261 (line 48).* tra\n-00025190: 6e73 666f 726d 2c20 726f 7461 7469 6f6e nsform, rotation\n-000251a0: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n-000251b0: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic\n-000251c0: 616c 206d 6f64 656c 2e0a 2020 2020 2020 al model.. \n+00025180: 2020 2020 2020 286c 696e 6520 2034 3829 (line 48)\n+00025190: 0a2a 2074 7261 6e73 666f 726d 2c20 726f .* transform, ro\n+000251a0: 7461 7469 6f6e 203c 323e 3a20 2020 2020 tation <2>: \n+000251b0: 2020 2020 2020 2020 2020 4120 6869 6572 A hier\n+000251c0: 6172 6368 6963 616c 206d 6f64 656c 2e0a archical 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 286c 696e 6520 2035 (line 5\n-00025210: 3829 0a2a 2074 7261 6e73 666f 726d 2c20 8).* transform, \n-00025220: 726f 7461 7469 6f6e 203c 333e 3a20 2020 rotation <3>: \n-00025230: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n-00025240: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n-00025250: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+00025200: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00025210: 696e 6520 2035 3829 0a2a 2074 7261 6e73 ine 58).* trans\n+00025220: 666f 726d 2c20 726f 7461 7469 6f6e 203c form, rotation <\n+00025230: 333e 3a20 2020 2020 2020 2020 2020 2020 3>: \n+00025240: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical\n+00025250: 206d 6f64 656c 2e0a 2020 2020 2020 2020 model.. \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: 286c 696e 6520 2037 3829 0a2a 2074 7261 (line 78).* tra\n-000252a0: 6e73 666f 726d 2c20 726f 7461 7469 6f6e nsform, rotation\n-000252b0: 203c 343e 3a20 2020 2020 2020 2020 2020 <4>: \n-000252c0: 2020 2020 4120 6869 6572 6172 6368 6963 A hierarchic\n-000252d0: 616c 206d 6f64 656c 2e0a 2020 2020 2020 al model.. \n+00025290: 2020 2020 2020 286c 696e 6520 2037 3829 (line 78)\n+000252a0: 0a2a 2074 7261 6e73 666f 726d 2c20 726f .* transform, ro\n+000252b0: 7461 7469 6f6e 203c 343e 3a20 2020 2020 tation <4>: \n+000252c0: 2020 2020 2020 2020 2020 4120 6869 6572 A hier\n+000252d0: 6172 6368 6963 616c 206d 6f64 656c 2e0a archical 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 286c 696e 6520 2039 (line 9\n-00025320: 3329 0a2a 2074 7261 6e73 666f 726d 2c20 3).* transform, \n-00025330: 7363 616c 653a 2020 2020 2020 2020 2020 scale: \n-00025340: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n-00025350: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n-00025360: 2028 6c69 6e65 2020 3136 290a 2a20 7472 (line 16).* tr\n-00025370: 616e 7366 6f72 6d2c 2073 6361 6c65 203c ansform, scale <\n-00025380: 313e 3a20 2020 2020 2020 2020 2020 2020 1>: \n-00025390: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n-000253a0: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line \n-000253b0: 2031 3729 0a2a 2074 7261 6e73 666f 726d 17).* transform\n-000253c0: 2c20 7472 616e 736c 6174 696f 6e3a 2020 , translation: \n-000253d0: 2020 2020 2020 2020 2020 2020 2020 4f62 Ob\n-000253e0: 6a65 6374 2074 7261 6e73 666f 726d 732e ject transforms.\n-000253f0: 2020 2028 6c69 6e65 2020 3437 290a 2a20 (line 47).* \n-00025400: 7472 616e 7366 6f72 6d2c 2074 7261 6e73 transform, trans\n-00025410: 6c61 7469 6f6e 203c 313e 3a20 2020 2020 lation <1>: \n-00025420: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n-00025430: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin\n-00025440: 6520 2031 3529 0a2a 2074 7261 6e73 666f e 15).* transfo\n-00025450: 726d 2c20 7472 616e 736c 6174 696f 6e20 rm, translation \n-00025460: 3c32 3e3a 2020 2020 2020 2020 2020 2020 <2>: \n-00025470: 4120 6869 6572 6172 6368 6963 616c 206d A hierarchical m\n-00025480: 6f64 656c 2e0a 2020 2020 2020 2020 2020 odel.. \n+00025310: 2020 2020 2020 2020 2020 2020 2020 286c (l\n+00025320: 696e 6520 2039 3329 0a2a 2074 7261 6e73 ine 93).* trans\n+00025330: 666f 726d 2c20 7363 616c 653a 2020 2020 form, scale: \n+00025340: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025350: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n+00025360: 7261 6c73 2e20 2028 6c69 6e65 2020 3136 rals. (line 16\n+00025370: 290a 2a20 7472 616e 7366 6f72 6d2c 2073 ).* transform, s\n+00025380: 6361 6c65 203c 313e 3a20 2020 2020 2020 cale <1>: \n+00025390: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n+000253a0: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n+000253b0: 286c 696e 6520 2031 3729 0a2a 2074 7261 (line 17).* tra\n+000253c0: 6e73 666f 726d 2c20 7472 616e 736c 6174 nsform, translat\n+000253d0: 696f 6e3a 2020 2020 2020 2020 2020 2020 ion: \n+000253e0: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n+000253f0: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line \n+00025400: 3437 290a 2a20 7472 616e 7366 6f72 6d2c 47).* transform,\n+00025410: 2074 7261 6e73 6c61 7469 6f6e 203c 313e translation <1>\n+00025420: 3a20 2020 2020 2020 2020 2020 2054 7261 : Tra\n+00025430: 6e73 666f 726d 206c 6974 6572 616c 732e nsform literals.\n+00025440: 2020 286c 696e 6520 2031 3529 0a2a 2074 (line 15).* t\n+00025450: 7261 6e73 666f 726d 2c20 7472 616e 736c ransform, transl\n+00025460: 6174 696f 6e20 3c32 3e3a 2020 2020 2020 ation <2>: \n+00025470: 2020 2020 2020 4120 6869 6572 6172 6368 A hierarch\n+00025480: 6963 616c 206d 6f64 656c 2e0a 2020 2020 ical 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 286c 696e 6520 2034 3729 0a2a (line 47).*\n-000254d0: 2074 7261 6e73 666f 726d 2c20 7669 6577 transform, view\n-000254e0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-000254f0: 2020 2020 2020 2020 5472 616e 7366 6f72 Transfor\n-00025500: 6d20 6c69 7465 7261 6c73 2e20 2028 6c69 m literals. (li\n-00025510: 6e65 2020 3235 290a 2a20 7472 616e 7366 ne 25).* transf\n-00025520: 6f72 6d2c 2076 6965 7720 3c31 3e3a 2020 orm, view <1>: \n-00025530: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025540: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-00025550: 616c 732e 2020 286c 696e 6520 2033 3529 als. (line 35)\n-00025560: 0a2a 2074 7261 6e73 6c61 7469 6f6e 2074 .* translation t\n-00025570: 7261 6e73 666f 726d 3a20 2020 2020 2020 ransform: \n-00025580: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object\n-00025590: 2074 7261 6e73 666f 726d 732e 2020 2028 transforms. (\n-000255a0: 6c69 6e65 2020 3437 290a 2a20 7472 616e line 47).* tran\n-000255b0: 736c 6174 696f 6e20 7472 616e 7366 6f72 slation transfor\n-000255c0: 6d20 3c31 3e3a 2020 2020 2020 2020 2020 m <1>: \n-000255d0: 2020 2054 7261 6e73 666f 726d 206c 6974 Transform lit\n-000255e0: 6572 616c 732e 2020 286c 696e 6520 2031 erals. (line 1\n-000255f0: 3529 0a2a 2074 7261 6e73 6c61 7469 6f6e 5).* translation\n-00025600: 2074 7261 6e73 666f 726d 203c 323e 3a20 transform <2>: \n-00025610: 2020 2020 2020 2020 2020 2020 4120 6869 A hi\n-00025620: 6572 6172 6368 6963 616c 206d 6f64 656c erarchical model\n-00025630: 2e0a 2020 2020 2020 2020 2020 2020 2020 .. \n+000254c0: 2020 2020 2020 2020 2020 286c 696e 6520 (line \n+000254d0: 2034 3729 0a2a 2074 7261 6e73 666f 726d 47).* transform\n+000254e0: 2c20 7669 6577 3a20 2020 2020 2020 2020 , view: \n+000254f0: 2020 2020 2020 2020 2020 2020 2020 5472 Tr\n+00025500: 616e 7366 6f72 6d20 6c69 7465 7261 6c73 ansform literals\n+00025510: 2e20 2028 6c69 6e65 2020 3235 290a 2a20 . (line 25).* \n+00025520: 7472 616e 7366 6f72 6d2c 2076 6965 7720 transform, view \n+00025530: 3c31 3e3a 2020 2020 2020 2020 2020 2020 <1>: \n+00025540: 2020 2020 2020 2054 7261 6e73 666f 726d Transform\n+00025550: 206c 6974 6572 616c 732e 2020 286c 696e literals. (lin\n+00025560: 6520 2033 3529 0a2a 2074 7261 6e73 6c61 e 35).* transla\n+00025570: 7469 6f6e 2074 7261 6e73 666f 726d 3a20 tion transform: \n+00025580: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025590: 4f62 6a65 6374 2074 7261 6e73 666f 726d Object transform\n+000255a0: 732e 2020 2028 6c69 6e65 2020 3437 290a s. (line 47).\n+000255b0: 2a20 7472 616e 736c 6174 696f 6e20 7472 * translation tr\n+000255c0: 616e 7366 6f72 6d20 3c31 3e3a 2020 2020 ansform <1>: \n+000255d0: 2020 2020 2020 2020 2054 7261 6e73 666f Transfo\n+000255e0: 726d 206c 6974 6572 616c 732e 2020 286c rm literals. (l\n+000255f0: 696e 6520 2031 3529 0a2a 2074 7261 6e73 ine 15).* trans\n+00025600: 6c61 7469 6f6e 2074 7261 6e73 666f 726d lation transform\n+00025610: 203c 323e 3a20 2020 2020 2020 2020 2020 <2>: \n+00025620: 2020 4120 6869 6572 6172 6368 6963 616c A hierarchical\n+00025630: 206d 6f64 656c 2e0a 2020 2020 2020 2020 model.. \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: 286c 696e 6520 2034 3729 0a2a 2074 7261 (line 47).* tra\n-00025680: 6e73 7061 7265 6e63 793a 2020 2020 2020 nsparency: \n+00025670: 2020 2020 2020 286c 696e 6520 2034 3729 (line 47)\n+00025680: 0a2a 2074 7261 6e73 7061 7265 6e63 793a .* transparency:\n 00025690: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000256a0: 2020 2020 5472 616e 7370 6172 656e 6379 Transparency\n-000256b0: 2e20 2020 2020 2020 2028 6c69 6e65 2020 . (line \n-000256c0: 2036 290a 2a20 7477 6f2d 6f70 6572 616e 6).* two-operan\n-000256d0: 6420 666f 726d 3a20 2020 2020 2020 2020 d form: \n-000256e0: 2020 2020 2020 2020 2020 2020 2054 776f Two\n-000256f0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary\n-00025700: 2920 666f 726d 732e 0a20 2020 2020 2020 ) forms.. \n+000256a0: 2020 2020 2020 2020 2020 5472 616e 7370 Transp\n+000256b0: 6172 656e 6379 2e20 2020 2020 2020 2028 arency. (\n+000256c0: 6c69 6e65 2020 2036 290a 2a20 7477 6f2d line 6).* two-\n+000256d0: 6f70 6572 616e 6420 666f 726d 3a20 2020 operand form: \n+000256e0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000256f0: 2020 2054 776f 2d6f 7065 7261 6e64 2028 Two-operand (\n+00025700: 6269 6e61 7279 2920 666f 726d 732e 0a20 binary) 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 2028 6c69 6e65 2020 2036 (line 6\n-00025750: 290a 2a20 756e 6172 7920 666f 726d 3a20 ).* unary form: \n-00025760: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025770: 2020 2020 2020 2020 2020 2055 6e61 7279 Unary\n-00025780: 2066 6f72 6d73 2e20 2020 2020 2020 2020 forms. \n-00025790: 286c 696e 6520 2020 3629 0a2a 2076 6563 (line 6).* vec\n-000257a0: 746f 723a 2020 2020 2020 2020 2020 2020 tor: \n+00025740: 2020 2020 2020 2020 2020 2020 2028 6c69 (li\n+00025750: 6e65 2020 2036 290a 2a20 756e 6172 7920 ne 6).* unary \n+00025760: 666f 726d 3a20 2020 2020 2020 2020 2020 form: \n+00025770: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025780: 2055 6e61 7279 2066 6f72 6d73 2e20 2020 Unary forms. \n+00025790: 2020 2020 2020 286c 696e 6520 2020 3629 (line 6)\n+000257a0: 0a2a 2076 6563 746f 723a 2020 2020 2020 .* vector: \n 000257b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000257c0: 2020 2020 4f62 6a65 6374 2074 7261 6e73 Object trans\n-000257d0: 666f 726d 732e 2020 2028 6c69 6e65 2020 forms. (line \n-000257e0: 3438 290a 2a20 7665 6374 6f72 2064 6566 48).* vector def\n-000257f0: 696e 6974 696f 6e3a 2020 2020 2020 2020 inition: \n-00025800: 2020 2020 2020 2020 2020 2020 2050 6f6c Pol\n-00025810: 796c 696e 6520 7377 6565 7073 2e20 2020 yline sweeps. \n-00025820: 2020 286c 696e 6520 2031 3929 0a2a 2076 (line 19).* v\n-00025830: 6563 746f 7220 6c69 7465 7261 6c3a 2020 ector literal: \n-00025840: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025850: 2020 2020 2020 506f 696e 7420 616e 6420 Point and \n-00025860: 7665 6374 6f72 206c 6974 6572 616c 732e vector literals.\n-00025870: 0a20 2020 2020 2020 2020 2020 2020 2020 . \n+000257c0: 2020 2020 2020 2020 2020 4f62 6a65 6374 Object\n+000257d0: 2074 7261 6e73 666f 726d 732e 2020 2028 transforms. (\n+000257e0: 6c69 6e65 2020 3438 290a 2a20 7665 6374 line 48).* vect\n+000257f0: 6f72 2064 6566 696e 6974 696f 6e3a 2020 or definition: \n+00025800: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025810: 2020 2050 6f6c 796c 696e 6520 7377 6565 Polyline swee\n+00025820: 7073 2e20 2020 2020 286c 696e 6520 2031 ps. (line 1\n+00025830: 3929 0a2a 2076 6563 746f 7220 6c69 7465 9).* vector lite\n+00025840: 7261 6c3a 2020 2020 2020 2020 2020 2020 ral: \n+00025850: 2020 2020 2020 2020 2020 2020 506f 696e Poin\n+00025860: 7420 616e 6420 7665 6374 6f72 206c 6974 t and vector lit\n+00025870: 6572 616c 732e 0a20 2020 2020 2020 2020 erals.. \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 2028 (\n-000258b0: 6c69 6e65 2020 2036 290a 2a20 7665 6374 line 6).* vect\n-000258c0: 6f72 2072 6566 6572 656e 6365 3a20 2020 or reference: \n-000258d0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-000258e0: 2020 2046 6f72 6d73 206f 6620 7265 6665 Forms of refe\n-000258f0: 7265 6e63 6573 2e20 286c 696e 6520 2031 rences. (line 1\n-00025900: 3529 0a2a 2076 6965 7720 7472 616e 7366 5).* view transf\n-00025910: 6f72 6d3a 2020 2020 2020 2020 2020 2020 orm: \n-00025920: 2020 2020 2020 2020 2020 2020 5472 616e Tran\n-00025930: 7366 6f72 6d20 6c69 7465 7261 6c73 2e20 sform literals. \n-00025940: 2028 6c69 6e65 2020 3235 290a 2a20 7669 (line 25).* vi\n-00025950: 6577 2074 7261 6e73 666f 726d 203c 313e ew transform <1>\n-00025960: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n-00025970: 2020 2020 2054 7261 6e73 666f 726d 206c Transform l\n-00025980: 6974 6572 616c 732e 2020 286c 696e 6520 iterals. (line \n-00025990: 2033 3529 0a2a 2076 6972 7475 616c 2063 35).* virtual c\n-000259a0: 616d 6572 613a 2020 2020 2020 2020 2020 amera: \n-000259b0: 2020 2020 2020 2020 2020 2020 2020 4f76 Ov\n-000259c0: 6572 7669 6577 2e20 2020 2020 2020 2020 erview. \n-000259d0: 2020 2028 6c69 6e65 2020 3831 290a 2a20 (line 81).* \n-000259e0: 7768 6974 6520 7370 6163 653a 2020 2020 white space: \n-000259f0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025a00: 2020 2020 2020 2044 7261 7769 6e67 2061 Drawing a\n-00025a10: 2073 6f6c 6964 2e20 2020 2020 286c 696e solid. (lin\n-00025a20: 6520 2032 3529 0a2a 2077 6869 7465 2073 e 25).* white s\n-00025a30: 7061 6365 203c 313e 3a20 2020 2020 2020 pace <1>: \n+000258a0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000258b0: 2020 2020 2028 6c69 6e65 2020 2036 290a (line 6).\n+000258c0: 2a20 7665 6374 6f72 2072 6566 6572 656e * vector referen\n+000258d0: 6365 3a20 2020 2020 2020 2020 2020 2020 ce: \n+000258e0: 2020 2020 2020 2020 2046 6f72 6d73 206f Forms o\n+000258f0: 6620 7265 6665 7265 6e63 6573 2e20 286c f references. (l\n+00025900: 696e 6520 2031 3529 0a2a 2076 6965 7720 ine 15).* view \n+00025910: 7472 616e 7366 6f72 6d3a 2020 2020 2020 transform: \n+00025920: 2020 2020 2020 2020 2020 2020 2020 2020 \n+00025930: 2020 5472 616e 7366 6f72 6d20 6c69 7465 Transform lite\n+00025940: 7261 6c73 2e20 2028 6c69 6e65 2020 3235 rals. (line 25\n+00025950: 290a 2a20 7669 6577 2074 7261 6e73 666f ).* view transfo\n+00025960: 726d 203c 313e 3a20 2020 2020 2020 2020 rm <1>: \n+00025970: 2020 2020 2020 2020 2020 2054 7261 6e73 Trans\n+00025980: 666f 726d 206c 6974 6572 616c 732e 2020 form literals. \n+00025990: 286c 696e 6520 2033 3529 0a2a 2076 6972 (line 35).* vir\n+000259a0: 7475 616c 2063 616d 6572 613a 2020 2020 tual camera: \n+000259b0: 2020 2020 2020 2020 2020 2020 2020 2020 \n+000259c0: 2020 2020 4f76 6572 7669 6577 2e20 2020 Overview. \n+000259d0: 2020 2020 2020 2020 2028 6c69 6e65 2020 (line \n+000259e0: 3831 290a 2a20 7768 6974 6520 7370 6163 81).* white spac\n+000259f0: 653a 2020 2020 2020 2020 2020 2020 2020 e: \n+00025a00: 2020 2020 2020 2020 2020 2020 2044 7261 Dra\n+00025a10: 7769 6e67 2061 2073 6f6c 6964 2e20 2020 wing a solid. \n+00025a20: 2020 286c 696e 6520 2032 3529 0a2a 2077 (line 25).* w\n+00025a30: 6869 7465 2073 7061 6365 203c 313e 3a20 hite space <1>: \n 00025a40: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025a50: 4472 6177 696e 6720 6120 736f 6c69 642e Drawing a solid.\n-00025a60: 2020 2020 2028 6c69 6e65 2020 3239 290a (line 29).\n-00025a70: 2a20 7768 6974 6520 7370 6163 6520 3c32 * white space <2\n-00025a80: 3e3a 2020 2020 2020 2020 2020 2020 2020 >: \n-00025a90: 2020 2020 2020 2020 204f 626a 6563 7420 Object \n-00025aa0: 7472 616e 7366 6f72 6d73 2e20 2020 286c transforms. (l\n-00025ab0: 696e 6520 2033 3229 0a2a 2077 6869 7465 ine 32).* white\n-00025ac0: 2073 7061 6365 203c 333e 3a20 2020 2020 space <3>: \n-00025ad0: 2020 2020 2020 2020 2020 2020 2020 2020 \n-00025ae0: 2020 4c61 6e67 7561 6765 2062 6173 6963 Language basic\n-00025af0: 732e 2020 2020 2028 6c69 6e65 2020 3136 s. (line 16\n-00025b00: 290a 0a1f 0a54 6167 2054 6162 6c65 3a0a )....Tag Table:.\n-00025b10: 4e6f 6465 3a20 546f 707f 3131 3633 0a4e Node: Top.1163.N\n-00025b20: 6f64 653a 2041 626f 7574 2073 6b65 7463 ode: About sketc\n-00025b30: 687f 3731 3833 0a4e 6f64 653a 2052 6570 h.7183.Node: Rep\n-00025b40: 6f72 7469 6e67 2062 7567 737f 3834 3435 orting bugs.8445\n-00025b50: 0a4e 6f64 653a 2043 6f6e 7472 6962 7574 .Node: Contribut\n-00025b60: 696f 6e73 7f39 3438 340a 5265 663a 2053 ions.9484.Ref: S\n-00025b70: 6f6c 6964 2063 6f69 6c20 6578 616d 706c olid coil exampl\n-00025b80: 657f 3939 3032 0a4e 6f64 653a 2049 6e74 e.9902.Node: Int\n-00025b90: 726f 6475 6374 696f 6e20 6279 2065 7861 roduction by exa\n-00025ba0: 6d70 6c65 7f39 3930 330a 4e6f 6465 3a20 mple.9903.Node: \n-00025bb0: 4865 6c6c 6f20 776f 726c 647f 3130 3933 Hello world.1093\n-00025bc0: 370a 5265 663a 2048 656c 6c6f 2077 6f72 7.Ref: Hello wor\n-00025bd0: 6c64 2d46 6f6f 746e 6f74 652d 317f 3133 ld-Footnote-1.13\n-00025be0: 3132 390a 4e6f 6465 3a20 4472 6177 696e 129.Node: Drawin\n-00025bf0: 6720 6f70 7469 6f6e 737f 3133 3138 380a g options.13188.\n-00025c00: 4e6f 6465 3a20 4472 6177 696e 6720 6120 Node: Drawing a \n-00025c10: 736f 6c69 647f 3134 3337 340a 5265 663a solid.14374.Ref:\n-00025c20: 2048 656c 6978 2077 6974 6820 6375 6c6c Helix with cull\n-00025c30: 2073 6574 2066 616c 7365 2074 6865 6e20 set false then \n-00025c40: 7472 7565 7f31 3637 3437 0a4e 6f64 653a true.16747.Node:\n-00025c50: 2053 7065 6369 616c 206f 626a 6563 7473 Special objects\n-00025c60: 7f31 3732 3830 0a4e 6f64 653a 204f 626a .17280.Node: Obj\n-00025c70: 6563 7420 7472 616e 7366 6f72 6d73 7f32 ect transforms.2\n-00025c80: 3033 3738 0a52 6566 3a20 5269 6768 7420 0378.Ref: Right \n-00025c90: 6861 6e64 2072 756c 657f 3232 3633 350a hand rule.22635.\n-00025ca0: 4e6f 6465 3a20 5265 7065 6174 6564 206f Node: Repeated o\n-00025cb0: 626a 6563 7473 7f32 3330 3833 0a4e 6f64 bjects.23083.Nod\n-00025cc0: 653a 2053 7765 7074 206f 626a 6563 7473 e: Swept objects\n-00025cd0: 7f32 3336 3432 0a4e 6f64 653a 2050 6f69 .23642.Node: Poi\n-00025ce0: 6e74 2073 7765 6570 737f 3234 3735 350a nt sweeps.24755.\n-00025cf0: 4e6f 6465 3a20 506f 6c79 6c69 6e65 2073 Node: Polyline s\n-00025d00: 7765 6570 737f 3235 3736 370a 4e6f 6465 weeps.25767.Node\n-00025d10: 3a20 4e65 7374 6564 2073 7765 6570 737f : Nested sweeps.\n-00025d20: 3236 3730 330a 4e6f 6465 3a20 506f 6c79 26703.Node: Poly\n-00025d30: 676f 6e20 7377 6565 7073 7f32 3830 3135 gon sweeps.28015\n-00025d40: 0a4e 6f64 653a 2050 6f6c 796c 696e 6520 .Node: Polyline \n-00025d50: 7377 6565 7073 2077 6974 6820 636c 6f73 sweeps with clos\n-00025d60: 7572 657f 3238 3436 380a 4e6f 6465 3a20 ure.28468.Node: \n-00025d70: 4166 6669 6e65 2061 7269 7468 6d65 7469 Affine arithmeti\n-00025d80: 637f 3330 3136 370a 4e6f 6465 3a20 4d6f c.30167.Node: Mo\n-00025d90: 7265 2074 6f20 6c65 6172 6e7f 3332 3130 re to learn.3210\n-00025da0: 350a 4e6f 6465 3a20 496e 7075 7420 6c61 5.Node: Input la\n-00025db0: 6e67 7561 6765 7f33 3234 3935 0a4e 6f64 nguage.32495.Nod\n-00025dc0: 653a 204c 616e 6775 6167 6520 6261 7369 e: Language basi\n-00025dd0: 6373 7f33 3239 3630 0a4e 6f64 653a 2049 cs.32960.Node: I\n-00025de0: 6465 6e74 6966 6965 7273 7f33 3433 3938 dentifiers.34398\n-00025df0: 0a4e 6f64 653a 204b 6579 2061 6e64 2072 .Node: Key and r\n-00025e00: 6573 6572 7665 6420 776f 7264 737f 3334 eserved words.34\n-00025e10: 3938 390a 4e6f 6465 3a20 4c69 7465 7261 989.Node: Litera\n-00025e20: 6c73 7f33 3538 3632 0a4e 6f64 653a 2053 ls.35862.Node: S\n-00025e30: 6361 6c61 7220 6c69 7465 7261 6c73 7f33 calar literals.3\n-00025e40: 3633 3336 0a4e 6f64 653a 2050 6f69 6e74 6336.Node: Point\n-00025e50: 2061 6e64 2076 6563 746f 7220 6c69 7465 and vector lite\n-00025e60: 7261 6c73 7f33 3637 3137 0a4e 6f64 653a rals.36717.Node:\n-00025e70: 2054 7261 6e73 666f 726d 206c 6974 6572 Transform liter\n-00025e80: 616c 737f 3337 3039 340a 4e6f 6465 3a20 als.37094.Node: \n-00025e90: 4172 6974 686d 6574 6963 7f34 3231 3734 Arithmetic.42174\n-00025ea0: 0a4e 6f64 653a 2054 776f 2d6f 7065 7261 .Node: Two-opera\n-00025eb0: 6e64 2028 6269 6e61 7279 2920 666f 726d nd (binary) form\n-00025ec0: 737f 3432 3534 320a 4e6f 6465 3a20 556e s.42542.Node: Un\n-00025ed0: 6172 7920 666f 726d 737f 3436 3232 330a ary forms.46223.\n-00025ee0: 4e6f 6465 3a20 4f70 7469 6f6e 737f 3437 Node: Options.47\n-00025ef0: 3537 310a 4e6f 6465 3a20 5053 5472 6963 571.Node: PSTric\n-00025f00: 6b73 206f 7074 696f 6e73 7f34 3832 3930 ks options.48290\n-00025f10: 0a4e 6f64 653a 2054 696b 5a2f 5047 4620 .Node: TikZ/PGF \n-00025f20: 6f70 7469 6f6e 737f 3439 3430 320a 4e6f options.49402.No\n-00025f30: 6465 3a20 446f 7473 2069 6e20 5469 6b5a de: Dots in TikZ\n-00025f40: 2f50 4746 7f35 3131 3433 0a4e 6f64 653a /PGF.51143.Node:\n-00025f50: 2054 696b 5a2f 5047 4620 7573 6572 2d64 TikZ/PGF user-d\n-00025f60: 6566 696e 6564 2073 7479 6c65 737f 3531 efined styles.51\n-00025f70: 3736 340a 5265 663a 2054 696b 5a2f 5047 764.Ref: TikZ/PG\n-00025f80: 4620 7573 6572 2d64 6566 696e 6564 2073 F user-defined s\n-00025f90: 7479 6c65 732d 466f 6f74 6e6f 7465 2d31 tyles-Footnote-1\n-00025fa0: 7f35 3338 3232 0a4e 6f64 653a 2054 7261 .53822.Node: Tra\n-00025fb0: 6e73 7061 7265 6e63 797f 3533 3837 380a nsparency.53878.\n-00025fc0: 4e6f 6465 3a20 496e 7465 726e 616c 206f Node: Internal o\n-00025fd0: 7074 696f 6e73 7f35 3437 3236 0a4e 6f64 ptions.54726.Nod\n-00025fe0: 653a 2044 7261 7761 626c 6573 7f35 3634 e: Drawables.564\n-00025ff0: 3937 0a4e 6f64 653a 2044 6f74 737f 3537 97.Node: Dots.57\n-00026000: 3439 360a 4e6f 6465 3a20 4c69 6e65 737f 496.Node: Lines.\n-00026010: 3537 3733 360a 4e6f 6465 3a20 4375 7276 57736.Node: Curv\n-00026020: 6573 7f35 3739 3735 0a4e 6f64 653a 2050 es.57975.Node: P\n-00026030: 6f6c 7967 6f6e 737f 3538 3238 350a 4e6f olygons.58285.No\n-00026040: 6465 3a20 5370 6563 6961 6c73 7f35 3837 de: Specials.587\n-00026050: 3232 0a4e 6f64 653a 2053 7765 6570 737f 22.Node: Sweeps.\n-00026060: 3631 3039 370a 4e6f 6465 3a20 5377 6570 61097.Node: Swep\n-00026070: 7420 706f 696e 7473 7f36 3233 3830 0a4e t points.62380.N\n-00026080: 6f64 653a 2053 7765 7074 206c 696e 6573 ode: Swept lines\n-00026090: 7f36 3334 3739 0a4e 6f64 653a 2053 7765 .63479.Node: Swe\n-000260a0: 7074 2070 6f6c 7967 6f6e 737f 3636 3130 pt polygons.6610\n-000260b0: 350a 4e6f 6465 3a20 5377 6570 7420 626c 5.Node: Swept bl\n-000260c0: 6f63 6b73 7f36 3736 3738 0a4e 6f64 653a ocks.67678.Node:\n-000260d0: 2053 7765 6570 2066 6163 6520 7370 6c69 Sweep face spli\n-000260e0: 7474 696e 677f 3638 3234 360a 4e6f 6465 tting.68246.Node\n-000260f0: 3a20 426c 6f63 6b73 7f36 3838 3532 0a4e : Blocks.68852.N\n-00026100: 6f64 653a 2052 6570 6561 7473 7f36 3934 ode: Repeats.694\n-00026110: 3537 0a4e 6f64 653a 2050 7574 737f 3730 57.Node: Puts.70\n-00026120: 3130 370a 4e6f 6465 3a20 4465 6669 6e69 107.Node: Defini\n-00026130: 7469 6f6e 737f 3730 3239 320a 4e6f 6465 tions.70292.Node\n-00026140: 3a20 466f 726d 7320 6f66 2064 6566 696e : Forms of defin\n-00026150: 6974 696f 6e73 7f37 3135 3338 0a4e 6f64 itions.71538.Nod\n-00026160: 653a 2046 6f72 6d73 206f 6620 7265 6665 e: Forms of refe\n-00026170: 7265 6e63 6573 7f37 3234 3635 0a4e 6f64 rences.72465.Nod\n-00026180: 653a 2047 6c6f 6261 6c20 656e 7669 726f e: Global enviro\n-00026190: 6e6d 656e 747f 3733 3531 360a 4e6f 6465 nment.73516.Node\n-000261a0: 3a20 476c 6f62 616c 206f 7074 696f 6e73 : Global options\n-000261b0: 7f37 3434 3138 0a4e 6f64 653a 2043 616d .74418.Node: Cam\n-000261c0: 6572 617f 3734 3938 310a 4e6f 6465 3a20 era.74981.Node: \n-000261d0: 5069 6374 7572 6520 626f 787f 3735 3339 Picture box.7539\n-000261e0: 320a 4e6f 6465 3a20 4672 616d 657f 3736 2.Node: Frame.76\n-000261f0: 3434 330a 4e6f 6465 3a20 4c61 6e67 7561 443.Node: Langua\n-00026200: 6765 7f37 3639 3131 0a4e 6f64 653a 2042 ge.76911.Node: B\n-00026210: 7569 6c64 696e 6720 6120 6472 6177 696e uilding a drawin\n-00026220: 677f 3737 3933 340a 4e6f 6465 3a20 4f76 g.77934.Node: Ov\n-00026230: 6572 7669 6577 7f37 3837 3433 0a4e 6f64 erview.78743.Nod\n-00026240: 653a 2041 2074 6563 686e 6963 616c 2064 e: A technical d\n-00026250: 7261 7769 6e67 7f38 3632 3737 0a4e 6f64 rawing.86277.Nod\n-00026260: 653a 2041 2068 6965 7261 7263 6869 6361 e: A hierarchica\n-00026270: 6c20 6d6f 6465 6c7f 3931 3039 320a 4e6f l model.91092.No\n-00026280: 6465 3a20 4361 7665 6174 737f 3937 3534 de: Caveats.9754\n-00026290: 370a 4e6f 6465 3a20 4c69 6d69 7473 206f 7.Node: Limits o\n-000262a0: 6e20 6572 726f 7220 6465 7465 6374 696f n error detectio\n-000262b0: 6e7f 3938 3132 390a 4e6f 6465 3a20 436c n.98129.Node: Cl\n-000262c0: 6970 7069 6e67 7f39 3936 3135 0a4e 6f64 ipping.99615.Nod\n-000262d0: 653a 2048 6964 6465 6e20 7375 7266 6163 e: Hidden surfac\n-000262e0: 6520 7265 6d6f 7661 6c7f 3130 3030 3332 e removal.100032\n-000262f0: 0a52 6566 3a20 4869 6464 656e 2073 7572 .Ref: Hidden sur\n-00026300: 6661 6365 2072 656d 6f76 616c 2d46 6f6f face removal-Foo\n-00026310: 746e 6f74 652d 317f 3130 3134 3534 0a52 tnote-1.101454.R\n-00026320: 6566 3a20 4869 6464 656e 2073 7572 6661 ef: Hidden surfa\n-00026330: 6365 2072 656d 6f76 616c 2d46 6f6f 746e ce removal-Footn\n-00026340: 6f74 652d 327f 3130 3136 3333 0a4e 6f64 ote-2.101633.Nod\n-00026350: 653a 2053 7461 7469 7374 6963 737f 3130 e: Statistics.10\n-00026360: 3230 3139 0a4e 6f64 653a 2042 7567 7320 2019.Node: Bugs \n-00026370: 616e 6420 616e 6f6d 616c 6965 737f 3130 and anomalies.10\n-00026380: 3333 3136 0a52 6566 3a20 4275 6773 2061 3316.Ref: Bugs a\n-00026390: 6e64 2061 6e6f 6d61 6c69 6573 2d46 6f6f nd anomalies-Foo\n-000263a0: 746e 6f74 652d 317f 3130 3531 3735 0a4e tnote-1.105175.N\n-000263b0: 6f64 653a 2043 6f6d 6d61 6e64 206c 696e ode: Command lin\n-000263c0: 657f 3130 3532 3734 0a4e 6f64 653a 2049 e.105274.Node: I\n-000263d0: 6e73 7461 6c6c 696e 6720 736b 6574 6368 nstalling sketch\n-000263e0: 7f31 3038 3033 340a 4e6f 6465 3a20 496e .108034.Node: In\n-000263f0: 6465 7820 6f66 2073 796e 7461 787f 3131 dex of syntax.11\n-00026400: 3131 3137 0a4e 6f64 653a 2049 6e64 6578 1117.Node: Index\n-00026410: 7f31 3238 3438 370a 1f0a 456e 6420 5461 .128487...End Ta\n-00026420: 6720 5461 626c 650a 0a1f 0a4c 6f63 616c g Table....Local\n-00026430: 2056 6172 6961 626c 6573 3a0a 636f 6469 Variables:.codi\n-00026440: 6e67 3a20 7574 662d 380a 456e 643a 0a ng: utf-8.End:.\n+00025a50: 2020 2020 2020 4472 6177 696e 6720 6120 Drawing a \n+00025a60: 736f 6c69 642e 2020 2020 2028 6c69 6e65 solid. (line\n+00025a70: 2020 3239 290a 2a20 7768 6974 6520 7370 29).* white sp\n+00025a80: 6163 6520 3c32 3e3a 2020 2020 2020 2020 ace <2>: \n+00025a90: 2020 2020 2020 2020 2020 2020 2020 204f O\n+00025aa0: 626a 6563 7420 7472 616e 7366 6f72 6d73 bject transforms\n+00025ab0: 2e20 2020 286c 696e 6520 2033 3229 0a2a . (line 32).*\n+00025ac0: 2077 6869 7465 2073 7061 6365 203c 333e white space <3>\n+00025ad0: 3a20 2020 2020 2020 2020 2020 2020 2020 : \n+00025ae0: 2020 2020 2020 2020 4c61 6e67 7561 6765 Language\n+00025af0: 2062 6173 6963 732e 2020 2020 2028 6c69 basics. (li\n+00025b00: 6e65 2020 3136 290a 0a1f 0a54 6167 2054 ne 16)....Tag T\n+00025b10: 6162 6c65 3a0a 4e6f 6465 3a20 546f 707f able:.Node: Top.\n+00025b20: 3131 3636 0a4e 6f64 653a 2041 626f 7574 1166.Node: About\n+00025b30: 2073 6b65 7463 687f 3731 3839 0a4e 6f64 sketch.7189.Nod\n+00025b40: 653a 2052 6570 6f72 7469 6e67 2062 7567 e: Reporting bug\n+00025b50: 737f 3834 3531 0a4e 6f64 653a 2043 6f6e s.8451.Node: Con\n+00025b60: 7472 6962 7574 696f 6e73 7f39 3439 300a tributions.9490.\n+00025b70: 5265 663a 2053 6f6c 6964 2063 6f69 6c20 Ref: Solid coil \n+00025b80: 6578 616d 706c 657f 3939 3038 0a4e 6f64 example.9908.Nod\n+00025b90: 653a 2049 6e74 726f 6475 6374 696f 6e20 e: Introduction \n+00025ba0: 6279 2065 7861 6d70 6c65 7f39 3930 390a by example.9909.\n+00025bb0: 4e6f 6465 3a20 4865 6c6c 6f20 776f 726c Node: Hello worl\n+00025bc0: 647f 3130 3934 330a 5265 663a 2048 656c d.10943.Ref: Hel\n+00025bd0: 6c6f 2077 6f72 6c64 2d46 6f6f 746e 6f74 lo world-Footnot\n+00025be0: 652d 317f 3133 3133 350a 4e6f 6465 3a20 e-1.13135.Node: \n+00025bf0: 4472 6177 696e 6720 6f70 7469 6f6e 737f Drawing options.\n+00025c00: 3133 3139 340a 4e6f 6465 3a20 4472 6177 13194.Node: Draw\n+00025c10: 696e 6720 6120 736f 6c69 647f 3134 3338 ing a solid.1438\n+00025c20: 300a 5265 663a 2048 656c 6978 2077 6974 0.Ref: Helix wit\n+00025c30: 6820 6375 6c6c 2073 6574 2066 616c 7365 h cull set false\n+00025c40: 2074 6865 6e20 7472 7565 7f31 3637 3533 then true.16753\n+00025c50: 0a4e 6f64 653a 2053 7065 6369 616c 206f .Node: Special o\n+00025c60: 626a 6563 7473 7f31 3732 3836 0a4e 6f64 bjects.17286.Nod\n+00025c70: 653a 204f 626a 6563 7420 7472 616e 7366 e: Object transf\n+00025c80: 6f72 6d73 7f32 3033 3834 0a52 6566 3a20 orms.20384.Ref: \n+00025c90: 5269 6768 7420 6861 6e64 2072 756c 657f Right hand rule.\n+00025ca0: 3232 3634 310a 4e6f 6465 3a20 5265 7065 22641.Node: Repe\n+00025cb0: 6174 6564 206f 626a 6563 7473 7f32 3330 ated objects.230\n+00025cc0: 3839 0a4e 6f64 653a 2053 7765 7074 206f 89.Node: Swept o\n+00025cd0: 626a 6563 7473 7f32 3336 3438 0a4e 6f64 bjects.23648.Nod\n+00025ce0: 653a 2050 6f69 6e74 2073 7765 6570 737f e: Point sweeps.\n+00025cf0: 3234 3736 310a 4e6f 6465 3a20 506f 6c79 24761.Node: Poly\n+00025d00: 6c69 6e65 2073 7765 6570 737f 3235 3737 line sweeps.2577\n+00025d10: 330a 4e6f 6465 3a20 4e65 7374 6564 2073 3.Node: Nested s\n+00025d20: 7765 6570 737f 3236 3730 390a 4e6f 6465 weeps.26709.Node\n+00025d30: 3a20 506f 6c79 676f 6e20 7377 6565 7073 : Polygon sweeps\n+00025d40: 7f32 3830 3231 0a4e 6f64 653a 2050 6f6c .28021.Node: Pol\n+00025d50: 796c 696e 6520 7377 6565 7073 2077 6974 yline sweeps wit\n+00025d60: 6820 636c 6f73 7572 657f 3238 3437 340a h closure.28474.\n+00025d70: 4e6f 6465 3a20 4166 6669 6e65 2061 7269 Node: Affine ari\n+00025d80: 7468 6d65 7469 637f 3330 3137 330a 4e6f thmetic.30173.No\n+00025d90: 6465 3a20 4d6f 7265 2074 6f20 6c65 6172 de: More to lear\n+00025da0: 6e7f 3332 3131 310a 4e6f 6465 3a20 496e n.32111.Node: In\n+00025db0: 7075 7420 6c61 6e67 7561 6765 7f33 3235 put language.325\n+00025dc0: 3031 0a4e 6f64 653a 204c 616e 6775 6167 01.Node: Languag\n+00025dd0: 6520 6261 7369 6373 7f33 3239 3636 0a4e e basics.32966.N\n+00025de0: 6f64 653a 2049 6465 6e74 6966 6965 7273 ode: Identifiers\n+00025df0: 7f33 3434 3034 0a4e 6f64 653a 204b 6579 .34404.Node: Key\n+00025e00: 2061 6e64 2072 6573 6572 7665 6420 776f and reserved wo\n+00025e10: 7264 737f 3334 3939 350a 4e6f 6465 3a20 rds.34995.Node: \n+00025e20: 4c69 7465 7261 6c73 7f33 3538 3638 0a4e Literals.35868.N\n+00025e30: 6f64 653a 2053 6361 6c61 7220 6c69 7465 ode: Scalar lite\n+00025e40: 7261 6c73 7f33 3633 3432 0a4e 6f64 653a rals.36342.Node:\n+00025e50: 2050 6f69 6e74 2061 6e64 2076 6563 746f Point and vecto\n+00025e60: 7220 6c69 7465 7261 6c73 7f33 3637 3233 r literals.36723\n+00025e70: 0a4e 6f64 653a 2054 7261 6e73 666f 726d .Node: Transform\n+00025e80: 206c 6974 6572 616c 737f 3337 3130 300a literals.37100.\n+00025e90: 4e6f 6465 3a20 4172 6974 686d 6574 6963 Node: Arithmetic\n+00025ea0: 7f34 3231 3830 0a4e 6f64 653a 2054 776f .42180.Node: Two\n+00025eb0: 2d6f 7065 7261 6e64 2028 6269 6e61 7279 -operand (binary\n+00025ec0: 2920 666f 726d 737f 3432 3534 380a 4e6f ) forms.42548.No\n+00025ed0: 6465 3a20 556e 6172 7920 666f 726d 737f de: Unary forms.\n+00025ee0: 3436 3232 390a 4e6f 6465 3a20 4f70 7469 46229.Node: Opti\n+00025ef0: 6f6e 737f 3437 3537 370a 4e6f 6465 3a20 ons.47577.Node: \n+00025f00: 5053 5472 6963 6b73 206f 7074 696f 6e73 PSTricks options\n+00025f10: 7f34 3832 3936 0a4e 6f64 653a 2054 696b .48296.Node: Tik\n+00025f20: 5a2f 5047 4620 6f70 7469 6f6e 737f 3439 Z/PGF options.49\n+00025f30: 3430 380a 4e6f 6465 3a20 446f 7473 2069 408.Node: Dots i\n+00025f40: 6e20 5469 6b5a 2f50 4746 7f35 3131 3439 n TikZ/PGF.51149\n+00025f50: 0a4e 6f64 653a 2054 696b 5a2f 5047 4620 .Node: TikZ/PGF \n+00025f60: 7573 6572 2d64 6566 696e 6564 2073 7479 user-defined sty\n+00025f70: 6c65 737f 3531 3737 300a 5265 663a 2054 les.51770.Ref: T\n+00025f80: 696b 5a2f 5047 4620 7573 6572 2d64 6566 ikZ/PGF user-def\n+00025f90: 696e 6564 2073 7479 6c65 732d 466f 6f74 ined styles-Foot\n+00025fa0: 6e6f 7465 2d31 7f35 3338 3238 0a4e 6f64 note-1.53828.Nod\n+00025fb0: 653a 2054 7261 6e73 7061 7265 6e63 797f e: Transparency.\n+00025fc0: 3533 3838 340a 4e6f 6465 3a20 496e 7465 53884.Node: Inte\n+00025fd0: 726e 616c 206f 7074 696f 6e73 7f35 3437 rnal options.547\n+00025fe0: 3332 0a4e 6f64 653a 2044 7261 7761 626c 32.Node: Drawabl\n+00025ff0: 6573 7f35 3635 3033 0a4e 6f64 653a 2044 es.56503.Node: D\n+00026000: 6f74 737f 3537 3530 320a 4e6f 6465 3a20 ots.57502.Node: \n+00026010: 4c69 6e65 737f 3537 3734 320a 4e6f 6465 Lines.57742.Node\n+00026020: 3a20 4375 7276 6573 7f35 3739 3831 0a4e : Curves.57981.N\n+00026030: 6f64 653a 2050 6f6c 7967 6f6e 737f 3538 ode: Polygons.58\n+00026040: 3239 310a 4e6f 6465 3a20 5370 6563 6961 291.Node: Specia\n+00026050: 6c73 7f35 3837 3238 0a4e 6f64 653a 2053 ls.58728.Node: S\n+00026060: 7765 6570 737f 3631 3130 330a 4e6f 6465 weeps.61103.Node\n+00026070: 3a20 5377 6570 7420 706f 696e 7473 7f36 : Swept points.6\n+00026080: 3233 3836 0a4e 6f64 653a 2053 7765 7074 2386.Node: Swept\n+00026090: 206c 696e 6573 7f36 3334 3835 0a4e 6f64 lines.63485.Nod\n+000260a0: 653a 2053 7765 7074 2070 6f6c 7967 6f6e e: Swept polygon\n+000260b0: 737f 3636 3131 310a 4e6f 6465 3a20 5377 s.66111.Node: Sw\n+000260c0: 6570 7420 626c 6f63 6b73 7f36 3736 3834 ept blocks.67684\n+000260d0: 0a4e 6f64 653a 2053 7765 6570 2066 6163 .Node: Sweep fac\n+000260e0: 6520 7370 6c69 7474 696e 677f 3638 3235 e splitting.6825\n+000260f0: 320a 4e6f 6465 3a20 426c 6f63 6b73 7f36 2.Node: Blocks.6\n+00026100: 3838 3538 0a4e 6f64 653a 2052 6570 6561 8858.Node: Repea\n+00026110: 7473 7f36 3934 3633 0a4e 6f64 653a 2050 ts.69463.Node: P\n+00026120: 7574 737f 3730 3131 330a 4e6f 6465 3a20 uts.70113.Node: \n+00026130: 4465 6669 6e69 7469 6f6e 737f 3730 3239 Definitions.7029\n+00026140: 380a 4e6f 6465 3a20 466f 726d 7320 6f66 8.Node: Forms of\n+00026150: 2064 6566 696e 6974 696f 6e73 7f37 3135 definitions.715\n+00026160: 3434 0a4e 6f64 653a 2046 6f72 6d73 206f 44.Node: Forms o\n+00026170: 6620 7265 6665 7265 6e63 6573 7f37 3234 f references.724\n+00026180: 3731 0a4e 6f64 653a 2047 6c6f 6261 6c20 71.Node: Global \n+00026190: 656e 7669 726f 6e6d 656e 747f 3733 3532 environment.7352\n+000261a0: 320a 4e6f 6465 3a20 476c 6f62 616c 206f 2.Node: Global o\n+000261b0: 7074 696f 6e73 7f37 3434 3234 0a4e 6f64 ptions.74424.Nod\n+000261c0: 653a 2043 616d 6572 617f 3734 3938 370a e: Camera.74987.\n+000261d0: 4e6f 6465 3a20 5069 6374 7572 6520 626f Node: Picture bo\n+000261e0: 787f 3735 3339 380a 4e6f 6465 3a20 4672 x.75398.Node: Fr\n+000261f0: 616d 657f 3736 3434 390a 4e6f 6465 3a20 ame.76449.Node: \n+00026200: 4c61 6e67 7561 6765 7f37 3639 3137 0a4e Language.76917.N\n+00026210: 6f64 653a 2042 7569 6c64 696e 6720 6120 ode: Building a \n+00026220: 6472 6177 696e 677f 3737 3934 300a 4e6f drawing.77940.No\n+00026230: 6465 3a20 4f76 6572 7669 6577 7f37 3837 de: Overview.787\n+00026240: 3439 0a4e 6f64 653a 2041 2074 6563 686e 49.Node: A techn\n+00026250: 6963 616c 2064 7261 7769 6e67 7f38 3632 ical drawing.862\n+00026260: 3833 0a4e 6f64 653a 2041 2068 6965 7261 83.Node: A hiera\n+00026270: 7263 6869 6361 6c20 6d6f 6465 6c7f 3931 rchical model.91\n+00026280: 3039 380a 4e6f 6465 3a20 4361 7665 6174 098.Node: Caveat\n+00026290: 737f 3937 3535 330a 4e6f 6465 3a20 4c69 s.97553.Node: Li\n+000262a0: 6d69 7473 206f 6e20 6572 726f 7220 6465 mits on error de\n+000262b0: 7465 6374 696f 6e7f 3938 3133 350a 4e6f tection.98135.No\n+000262c0: 6465 3a20 436c 6970 7069 6e67 7f39 3936 de: Clipping.996\n+000262d0: 3231 0a4e 6f64 653a 2048 6964 6465 6e20 21.Node: Hidden \n+000262e0: 7375 7266 6163 6520 7265 6d6f 7661 6c7f surface removal.\n+000262f0: 3130 3030 3338 0a52 6566 3a20 4869 6464 100038.Ref: Hidd\n+00026300: 656e 2073 7572 6661 6365 2072 656d 6f76 en surface remov\n+00026310: 616c 2d46 6f6f 746e 6f74 652d 317f 3130 al-Footnote-1.10\n+00026320: 3134 3630 0a52 6566 3a20 4869 6464 656e 1460.Ref: Hidden\n+00026330: 2073 7572 6661 6365 2072 656d 6f76 616c surface removal\n+00026340: 2d46 6f6f 746e 6f74 652d 327f 3130 3136 -Footnote-2.1016\n+00026350: 3339 0a4e 6f64 653a 2053 7461 7469 7374 39.Node: Statist\n+00026360: 6963 737f 3130 3230 3235 0a4e 6f64 653a ics.102025.Node:\n+00026370: 2042 7567 7320 616e 6420 616e 6f6d 616c Bugs and anomal\n+00026380: 6965 737f 3130 3333 3232 0a52 6566 3a20 ies.103322.Ref: \n+00026390: 4275 6773 2061 6e64 2061 6e6f 6d61 6c69 Bugs and anomali\n+000263a0: 6573 2d46 6f6f 746e 6f74 652d 317f 3130 es-Footnote-1.10\n+000263b0: 3531 3831 0a4e 6f64 653a 2043 6f6d 6d61 5181.Node: Comma\n+000263c0: 6e64 206c 696e 657f 3130 3532 3830 0a4e nd line.105280.N\n+000263d0: 6f64 653a 2049 6e73 7461 6c6c 696e 6720 ode: Installing \n+000263e0: 736b 6574 6368 7f31 3038 3034 300a 4e6f sketch.108040.No\n+000263f0: 6465 3a20 496e 6465 7820 6f66 2073 796e de: Index of syn\n+00026400: 7461 787f 3131 3131 3233 0a4e 6f64 653a tax.111123.Node:\n+00026410: 2049 6e64 6578 7f31 3238 3439 330a 1f0a Index.128493...\n+00026420: 456e 6420 5461 6720 5461 626c 650a 0a1f End Tag Table...\n+00026430: 0a4c 6f63 616c 2056 6172 6961 626c 6573 .Local Variables\n+00026440: 3a0a 636f 6469 6e67 3a20 7574 662d 380a :.coding: utf-8.\n+00026450: 456e 643a 0a End:.\n"}]}]}]}]}, {"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 1044 2020-11-07 02:36:18.000000 control.tar.xz\n--rw-r--r-- 0 0 0 62048 2020-11-07 02:36:18.000000 data.tar.xz\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 62036 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: cafd4e22f173ee9741f2d1c8800e3c7f7d906bc7\n+ GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\t Build ID: 702082d2e03b1abca9c6e2ca68502f1bab12f563\n \n Displaying notes found in: .note.ABI-tag\n Owner Data size \tDescription\n GNU 0x00000010\tNT_GNU_ABI_TAG (ABI version tag)\t OS: Linux, ABI: 3.2.0\n"}, {"source1": "strings --all --bytes=8 {}", "source2": "strings --all --bytes=8 {}", "unified_diff": "@@ -1,8 +1,8 @@\n-/lib64/ld-linux-x86-64.so.2\n+c/lib64/ld-linux-x86-64.so.2\n _ITM_deregisterTMCloneTable\n __gmon_start__\n _ITM_registerTMCloneTable\n __strcpy_chk\n __printf_chk\n __vfprintf_chk\n __sprintf_chk\n@@ -321,15 +321,15 @@\n -U tag Undefine given tag\n missing document template file name after -t\n -tP with two graphics package specs\n -tP with two macro package specs\n unrecognized language spec after -Tp, '%c'\n unrecognized modifier of option '-T%c'\n missing PSTricks or TikZ version after -V\n-0.3 (build 7d, Sun Oct 4 09:00:52 2026)\n+0.3 (build 7d, Tue Sep 2 04:43:53 2025)\n %% assumes PSTricks version %s\n %% use -V to select earlier versions\n advance_to_next_file_name: unexpected option %c\n TikZ angle rounding error is %.2 degrees\n %% If your PSTricks is earlier than Version 1.20, it will fail here.\n %% Use sketch -V option for backward compatibility.\n \\psset{linejoin=1}\n@@ -345,15 +345,15 @@\n reference to special arg %d cannot accept a point\n reference to special arg %d cannot accept a vector\n reference to special arg %d: out of range [1-%d]\n bad tick option character in #%d'%c (try #{%d}'%c)\n unknown special arg from flatten\n use of '#' not as special arg (try ##)\n can't open document template '%s%' for input\n-%% Sketch output, version 0.3 (build 7d, Sun Oct 4 09:00:52 2026)\n+%% Sketch output, version 0.3 (build 7d, Tue Sep 2 04:43:53 2025)\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 756e204f 63742034 ld 7d, Sun Oct 4\n- 0x0001b470 2030393a 30303a35 32203230 32362900 09:00:52 2026).\n+ 0x0001b460 6c642037 642c2054 75652053 65702032 ld 7d, Tue Sep 2\n+ 0x0001b470 2030343a 34333a35 33203230 32352900 04:43:53 2025).\n 0x0001b480 25252061 7373756d 65732050 53547269 %% assumes PSTri\n 0x0001b490 636b7320 76657273 696f6e20 25730a00 cks version %s..\n 0x0001b4a0 25252075 7365202d 5620746f 2073656c %% use -V to sel\n 0x0001b4b0 65637420 6561726c 69657220 76657273 ect earlier vers\n 0x0001b4c0 696f6e73 0a000000 61647661 6e63655f ions....advance_\n 0x0001b4d0 746f5f6e 6578745f 66696c65 5f6e616d to_next_file_nam\n 0x0001b4e0 653a2075 6e657870 65637465 64206f70 e: unexpected op\n@@ -395,16 +395,16 @@\n 0x0001b880 2327206e 6f742061 73207370 65636961 #' not as specia\n 0x0001b890 6c206172 67202874 72792023 23290000 l arg (try ##)..\n 0x0001b8a0 63616e27 74206f70 656e2064 6f63756d can't open docum\n 0x0001b8b0 656e7420 74656d70 6c617465 20272573 ent template '%s\n 0x0001b8c0 25272066 6f722069 6e707574 0a000000 %' for input....\n 0x0001b8d0 25252053 6b657463 68206f75 74707574 %% Sketch output\n 0x0001b8e0 2c207665 7273696f 6e20302e 33202862 , version 0.3 (b\n- 0x0001b8f0 75696c64 2037642c 2053756e 204f6374 uild 7d, Sun Oct\n- 0x0001b900 20342030 393a3030 3a353220 32303236 4 09:00:52 2026\n+ 0x0001b8f0 75696c64 2037642c 20547565 20536570 uild 7d, Tue Sep\n+ 0x0001b900 20322030 343a3433 3a353320 32303235 2 04:43:53 2025\n 0x0001b910 290a2525 204f7574 70757420 6c616e67 ).%% Output lang\n 0x0001b920 75616765 3a202573 0a000000 00000000 uage: %s........\n 0x0001b930 646f6375 6d656e74 2074656d 706c6174 document templat\n 0x0001b940 65207769 7468206e 6f206573 63617065 e with no escape\n 0x0001b950 20272573 27206861 73206265 656e2069 '%s' has been i\n 0x0001b960 676e6f72 65640000 6d6f7265 20746861 gnored..more tha\n 0x0001b970 6e206f6e 65206573 63617065 20696e20 n one escape in \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 66643465 32326631 37336565 39373431 fd4e22f173ee9741\n- 0x00000010 66326431 63383830 30653363 37663764 f2d1c8800e3c7f7d\n- 0x00000020 39303662 63372e64 65627567 00000000 906bc7.debug....\n- 0x00000030 85f31dfe ....\n+ 0x00000000 32303832 64326530 33623161 62636139 2082d2e03b1abca9\n+ 0x00000010 63366532 63613638 35303266 31626162 c6e2ca68502f1bab\n+ 0x00000020 31326635 36332e64 65627567 00000000 12f563.debug....\n+ 0x00000030 c5eba63d ...=\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 200272 2020-11-07 02:36:18.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 536 2020-11-07 02:36:18.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 200268 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: cafd4e22f173ee9741f2d1c8800e3c7f7d906bc7\n+Build-Ids: 702082d2e03b1abca9c6e2ca68502f1bab12f563\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/ca/fd4e22f173ee9741f2d1c8800e3c7f7d906bc7.debug\n+usr/lib/debug/.build-id/70/2082d2e03b1abca9c6e2ca68502f1bab12f563.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/ca/\n--rw-r--r-- 0 root (0) root (0) 276232 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/ca/fd4e22f173ee9741f2d1c8800e3c7f7d906bc7.debug\n+drwxr-xr-x 0 root (0) root (0) 0 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/70/\n+-rw-r--r-- 0 root (0) root (0) 276232 2020-11-07 02:36:18.000000 ./usr/lib/debug/.build-id/70/2082d2e03b1abca9c6e2ca68502f1bab12f563.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/ca/fd4e22f173ee9741f2d1c8800e3c7f7d906bc7.debug", "source2": "./usr/lib/debug/.build-id/70/2082d2e03b1abca9c6e2ca68502f1bab12f563.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: cafd4e22f173ee9741f2d1c8800e3c7f7d906bc7\n+ GNU 0x00000014\tNT_GNU_BUILD_ID (unique build ID bitstring)\t Build ID: 702082d2e03b1abca9c6e2ca68502f1bab12f563\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"}]}]}]}]}]}